This commit is contained in:
USER-20220102CG\noblelift
2023-01-16 11:06:06 +08:00
11 changed files with 198 additions and 110 deletions

View File

@@ -9,25 +9,19 @@ import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.system.util.CodeUtil; import org.nl.modules.system.util.CodeUtil;
import org.nl.modules.wql.WQL; import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.SpringContextHolder; import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.system.service.param.ISysParamService;
import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.system.service.param.impl.SysParamServiceImpl;
import org.nl.wms.ext.acs.service.AcsToWmsService; import org.nl.wms.ext.acs.service.AcsToWmsService;
import org.nl.wms.log.LokiLog;
import org.nl.wms.log.LokiLogType;
import org.nl.wms.pda.mps.service.impl.BakingServiceImpl; import org.nl.wms.pda.mps.service.impl.BakingServiceImpl;
import org.nl.wms.pda.st.service.PrintService; import org.nl.wms.pda.st.service.PrintService;
import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.manage.TaskStatusEnum;
import org.nl.wms.sch.service.TaskService;
import org.nl.wms.sch.tasks.EmptyVehicleTask; import org.nl.wms.sch.tasks.EmptyVehicleTask;
import org.nl.wms.sch.tasks.SendOutTask; import org.nl.wms.sch.tasks.SendOutTask;
import org.nl.wms.st.inbill.service.RawAssistIStorService; import org.nl.wms.st.inbill.service.RawAssistIStorService;
import org.nl.wms.st.inbill.service.StorPublicService; import org.nl.wms.st.inbill.service.StorPublicService;
import org.nl.wms.st.inbill.service.impl.RawAssistIStorServiceImpl;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@@ -36,7 +30,6 @@ import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
@Service @Service
@@ -431,7 +424,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
throw new BadRequestException("未查询到该木箱对应的包装关系!"); throw new BadRequestException("未查询到该木箱对应的包装关系!");
} }
//贴标申请 //贴标申请
String print_type = sub_jo.getString("print_type"); String print_type = "1";
if (StrUtil.isEmpty(print_type)) { if (StrUtil.isEmpty(print_type)) {
throw new BadRequestException("请指定一台打印机进行打印!"); throw new BadRequestException("请指定一台打印机进行打印!");
} }

View File

@@ -157,6 +157,20 @@ public class ProductInstorServiceImpl implements ProductInstorService {
if (StrUtil.isEmpty(box_length) || StrUtil.isEmpty(box_width) || StrUtil.isEmpty(box_high)){ if (StrUtil.isEmpty(box_length) || StrUtil.isEmpty(box_width) || StrUtil.isEmpty(box_high)){
throw new BadRequestException("该木箱没有长宽高信息,无法入库,请到子卷包装关系中维护!"); throw new BadRequestException("该木箱没有长宽高信息,无法入库,请到子卷包装关系中维护!");
} }
JSONObject point_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '"+point_code+"'").uniqueResult(0);
if (ObjectUtil.isEmpty(point_jo)){
throw new BadRequestException("未查询到对应的点位!");
}else {
if (point_jo.getString("is_used").equals("0")){
throw new BadRequestException("该点位已经被禁用!");
}
if (point_jo.getString("is_delete").equals("1")){
throw new BadRequestException("该点位已经被删除!");
}
if (!point_jo.getString("region_code").equals("NBJ01")){
throw new BadRequestException("请扫描内包间入库点位!");
}
}
//创建二楼去一楼的任务 //创建二楼去一楼的任务
JSONObject form = new JSONObject(); JSONObject form = new JSONObject();
form.put("point_code1", point_code); form.put("point_code1", point_code);
@@ -165,6 +179,11 @@ public class ProductInstorServiceImpl implements ProductInstorService {
form.put("task_type", "010507"); form.put("task_type", "010507");
cutConveyorTask.createTask(form); cutConveyorTask.createTask(form);
} else { } else {
JSONArray now_dis_rows = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParam("flag", "18").addParam("box_no", map.get("box_no")).process().getResultJSONArray(0);
if (now_dis_rows.size() > 0) {
throw new BadRequestException("该木箱已经分配过货位,无法继续分配!");
}
String task_id = IdUtil.getSnowflake(1, 1).nextId() + ""; String task_id = IdUtil.getSnowflake(1, 1).nextId() + "";
//直接分配虚拟区货位,并确认 //直接分配虚拟区货位,并确认
JSONObject struct = WQL.getWO("PDA_ST_01").addParam("flag", "3").addParam("stor_id",stor.getString("stor_id")).process().uniqueResult(0); JSONObject struct = WQL.getWO("PDA_ST_01").addParam("flag", "3").addParam("stor_id",stor.getString("stor_id")).process().uniqueResult(0);

View File

@@ -90,7 +90,7 @@
LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_SN = dis.box_no LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_SN = dis.box_no
AND sub.container_name = dis.pcsn AND sub.container_name = dis.pcsn
LEFT JOIN sch_base_task task ON task.vehicle_code = dis.storagevehicle_code LEFT JOIN sch_base_task task ON task.vehicle_code = dis.storagevehicle_code AND task.task_status < '07' AND task.is_delete = '0'
WHERE WHERE
mst.bill_type = '0009' mst.bill_type = '0009'
AND sub.STATUS = '1' AND sub.STATUS = '1'
@@ -152,24 +152,17 @@
IF 输入.flag = "8" IF 输入.flag = "8"
QUERY QUERY
SELECT SELECT
sub.package_box_SN, package_box_SN,
sub.container_name, container_name,
sub.product_name, product_name,
sub.product_description, product_description,
sub.net_weight net_weight
FROM FROM
st_ivt_iostorinvdis dis pdm_bi_subpackagerelation sub
LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = dis.pcsn
LEFT JOIN sch_base_task task ON task.vehicle_code = dis.storagevehicle_code
WHERE WHERE
mst.bill_type = '1005' sub.status = '0'
AND sub.STATUS = '0' AND
AND mst.is_delete = '0' sub.package_box_SN = 输入.box_no
AND mst.bill_status = '99'
AND dis.work_status = '99'
AND task.task_id IS NULL
AND sub.package_box_SN = 输入.box_no
ENDSELECT ENDSELECT
ENDQUERY ENDQUERY
ENDIF ENDIF

View File

@@ -231,6 +231,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService {
dis.put("material_id", row.get("material_id")); dis.put("material_id", row.get("material_id"));
dis.put("pcsn", row.get("pcsn")); dis.put("pcsn", row.get("pcsn"));
dis.put("box_no", row.get("box_no")); dis.put("box_no", row.get("box_no"));
dis.put("storagevehicle_code", row.get("box_no"));
dis.put("quality_scode", row.get("quality_scode")); dis.put("quality_scode", row.get("quality_scode"));
dis.put("work_status", "00"); dis.put("work_status", "00");
dis.put("qty_unit_id", material.getString("base_unit_id")); dis.put("qty_unit_id", material.getString("base_unit_id"));

View File

@@ -176,6 +176,8 @@
OPTION 输入.open_flag = "2" OPTION 输入.open_flag = "2"
dtl.bill_status IN ('30','40') dtl.bill_status IN ('30','40')
ENDOPTION ENDOPTION
ORDER BY
dtl.box_no
ENDSELECT ENDSELECT
ENDQUERY ENDQUERY
ENDIF ENDIF

View File

@@ -254,7 +254,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
task.put("task_id", task_id); task.put("task_id", task_id);
task.put("task_code", task_code); task.put("task_code", task_code);
task.put("task_type", "010505"); task.put("task_type", "010505");
task.put("task_status", "01"); task.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
task.put("point_code1", jo.getString("start_point_code")); task.put("point_code1", jo.getString("start_point_code"));
task.put("point_code2", point.getString("point_code")); task.put("point_code2", point.getString("point_code"));
task.put("vehicle_code", jo.getString("storagevehicle_code")); task.put("vehicle_code", jo.getString("storagevehicle_code"));

View File

@@ -86,7 +86,7 @@ public class HandMoveStorAcsTask extends AbstractAcsTask {
if(task==null){ if(task==null){
throw new BadRequestException("查询不到操作的任务记录!"); throw new BadRequestException("查询不到操作的任务记录!");
} }
if("1".equals(status)){ if(TaskStatusEnum.EXECUTING.equals(status)){
map.put("work_status","02"); map.put("work_status","02");
wo_dtl.update(map,"task_id='"+task_id+"'"); wo_dtl.update(map,"task_id='"+task_id+"'");
map.put("task_status","03"); map.put("task_status","03");
@@ -94,7 +94,7 @@ public class HandMoveStorAcsTask extends AbstractAcsTask {
map.put("update_optname",nickName); map.put("update_optname",nickName);
map.put("update_time",now); map.put("update_time",now);
wo_Task.update(map,"task_id='"+task_id+"'"); wo_Task.update(map,"task_id='"+task_id+"'");
}else if("2".equals(status)){ }else if(TaskStatusEnum.FINISHED.equals(status)){
HandMoveStorServiceImpl handMoveStorServiceImpl = SpringContextHolder.getBean(HandMoveStorServiceImpl.class); HandMoveStorServiceImpl handMoveStorServiceImpl = SpringContextHolder.getBean(HandMoveStorServiceImpl.class);
handMoveStorServiceImpl.finishTask(task); handMoveStorServiceImpl.finishTask(task);
}else if("0".equals(status)){ }else if("0".equals(status)){

View File

@@ -258,10 +258,13 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
// rows.clear(); // rows.clear();
// 遍历 // 遍历
for (String box_no : boxSet) { for (String box_no : boxSet) {
JSONObject jsonObject = WQL.getWO("QST_IVT_CHECKOUTBILL").addParam("flag", "7").addParam("box_no", box_no).process().uniqueResult(0); JSONArray jsonArr = WQL.getWO("QST_IVT_CHECKOUTBILL").addParam("flag", "7").addParam("box_no", box_no).process().getResultJSONArray(0);
for (int i = 0; i < jsonArr.size(); i++) {
JSONObject jsonObject = jsonArr.getJSONObject(i);
rows.add(jsonObject); rows.add(jsonObject);
} }
} }
}
map.remove("tableData"); map.remove("tableData");
String currentUserId = SecurityUtils.getCurrentUserId(); String currentUserId = SecurityUtils.getCurrentUserId();
@@ -340,8 +343,12 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
// 判断此明细子卷是否存在,存在则将此木箱下的子卷全部生成明细 // 判断此明细子卷是否存在,存在则将此木箱下的子卷全部生成明细
String pcsn = row.getString("pcsn"); String pcsn = row.getString("pcsn");
String box_no = row.getString("box_no");
//查询该箱子所在货位
JSONObject struct_jo = WQLObject.getWQLObject("st_ivt_structattr").query("storagevehicle_code = '"+box_no+"'").uniqueResult(0);
String struct_code = struct_jo.getString("struct_code");
if (ObjectUtil.isNotEmpty(pcsn)) { if (ObjectUtil.isNotEmpty(pcsn)) {
JSONObject json = ivtTab.query("pcsn = '" + pcsn + "'").uniqueResult(0); JSONObject json = ivtTab.query("pcsn = '" + pcsn + "' AND struct_code = '"+struct_code+"'").uniqueResult(0);
if (ObjectUtil.isEmpty(json)) continue; if (ObjectUtil.isEmpty(json)) continue;
JSONObject jsonMap = new JSONObject(); JSONObject jsonMap = new JSONObject();
@@ -3903,7 +3910,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
//查询对应明细 //查询对应明细
JSONObject dtl_jo = WQLObject.getWQLObject("st_ivt_iostorinvdtl").query("iostorinvdtl_id = '" + dis.getString("iostorinvdtl_id") + "'").uniqueResult(0); JSONObject dtl_jo = WQLObject.getWQLObject("st_ivt_iostorinvdtl").query("iostorinvdtl_id = '" + dis.getString("iostorinvdtl_id") + "'").uniqueResult(0);
// 更新子卷包装关系表 状态 - 3 // 更新子卷包装关系表 状态 - 3
JSONObject jsonSub = subTab.query("container_name = '" + dis.getString("pcsn") + "' and status = '2'").uniqueResult(0); JSONObject jsonSub = subTab.query("container_name = '" + dis.getString("pcsn") + "' and package_box_sn = '"+dis.getString("box_no")+"' and status = '2'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonSub)) throw new BadRequestException("此子卷不存在或不为入库状态:" + dis.getString("pcsn")); if (ObjectUtil.isEmpty(jsonSub)) throw new BadRequestException("此子卷不存在或不为入库状态:" + dis.getString("pcsn"));
// 如果是拆分入库则将包装关系改为生成状态 // 如果是拆分入库则将包装关系改为生成状态
if (jo_mst.getString("bill_type").equals("1005") || (jo_mst.getString("bill_type").equals("1009") && StrUtil.isEmpty(dtl_jo.getString("source_bill_code")))) { if (jo_mst.getString("bill_type").equals("1005") || (jo_mst.getString("bill_type").equals("1009") && StrUtil.isEmpty(dtl_jo.getString("source_bill_code")))) {

View File

@@ -137,6 +137,10 @@
attr.block_num = 输入.block_num attr.block_num = 输入.block_num
ENDOPTION ENDOPTION
OPTION 输入.stor_id <> ""
attr.stor_id = 输入.stor_id
ENDOPTION
group by attr.storagevehicle_code) a group by attr.storagevehicle_code) a
order by a.instorage_time ASC order by a.instorage_time ASC

View File

@@ -179,7 +179,8 @@
</el-button> </el-button>
</crudOperation> </crudOperation>
<!--表单组件--> <!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="1000px"> <el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
:title="crud.status.title" width="1000px">
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="160px"> <el-form ref="form" :model="form" :rules="rules" size="mini" label-width="160px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
@@ -328,19 +329,22 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="" prop="box_length"> <el-form-item label="" prop="box_length">
<el-input-number v-model="form.box_length" :max="10000" :min="0" :precision="2" :controls="false" style="width: 300px;" /> <el-input-number v-model="form.box_length" :max="10000" :min="0" :precision="2" :controls="false"
style="width: 300px;"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="" prop="box_width"> <el-form-item label="" prop="box_width">
<el-input-number v-model="form.box_width" :max="10000" :min="0" :precision="2" :controls="false" style="width: 300px;" /> <el-input-number v-model="form.box_width" :max="10000" :min="0" :precision="2" :controls="false"
style="width: 300px;"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="" prop="box_high"> <el-form-item label="" prop="box_high">
<el-input-number v-model="form.box_high" :max="10000" :min="0" :precision="2" :controls="false" style="width: 300px;" /> <el-input-number v-model="form.box_high" :max="10000" :min="0" :precision="2" :controls="false"
style="width: 300px;"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@@ -375,39 +379,57 @@
</div> </div>
</el-dialog> </el-dialog>
<!--表格渲染--> <!--表格渲染-->
<el-table ref="table" height v-loading="crud.loading" style="width: 100%" :data="crud.data" size="mini" @selection-change="crud.selectionChangeHandler"> <el-table ref="table" height v-loading="crud.loading" style="width: 100%" :data="crud.data" size="mini"
@selection-change="crud.selectionChangeHandler">
<el-table-column type="selection"/> <el-table-column type="selection"/>
<el-table-column sortable prop="package_box_sn" label="木箱码" :min-width="flexWidth('package_box_sn',crud.data,'木箱码')" /> <el-table-column sortable prop="package_box_sn" label="木箱码"
<el-table-column prop="quanlity_in_box" label="箱内子卷数量" :min-width="flexWidth('quanlity_in_box',crud.data,'箱内子卷数量')" /> :min-width="flexWidth('package_box_sn',crud.data,'木箱码')"/>
<el-table-column prop="quanlity_in_box" label="箱内子卷数量"
:min-width="flexWidth('quanlity_in_box',crud.data,'箱内子卷数量')"/>
<el-table-column prop="customer_name" label="客户编码" :min-width="flexWidth('customer_name',crud.data,'客户编码')"/> <el-table-column prop="customer_name" label="客户编码" :min-width="flexWidth('customer_name',crud.data,'客户编码')"/>
<el-table-column prop="customer_description" label="客户名称" :min-width="flexWidth('customer_description',crud.data,'客户名称')" /> <el-table-column prop="customer_description" label="客户名称"
<el-table-column prop="sale_order_name" label="销售订单及行号" :min-width="flexWidth('sale_order_name',crud.data,'销售订单及行号')" /> :min-width="flexWidth('customer_description',crud.data,'客户名称')"/>
<el-table-column sortable prop="container_name" label="子卷号" :min-width="flexWidth('container_name',crud.data,'子卷号')" /> <el-table-column prop="sale_order_name" label="销售订单及行号"
:min-width="flexWidth('sale_order_name',crud.data,'销售订单及行号')"/>
<el-table-column sortable prop="container_name" label="子卷号"
:min-width="flexWidth('container_name',crud.data,'子卷号')"/>
<el-table-column prop="product_name" label="产品编码" :min-width="flexWidth('product_name',crud.data,'产品描述')"/> <el-table-column prop="product_name" label="产品编码" :min-width="flexWidth('product_name',crud.data,'产品描述')"/>
<el-table-column prop="product_description" label="产品描述" :min-width="flexWidth('product_description',crud.data,'产品描述')" /> <el-table-column prop="product_description" label="产品描述"
:min-width="flexWidth('product_description',crud.data,'产品描述')"/>
<el-table-column sortable prop="sap_pcsn" label="sap批次" :min-width="flexWidth('sap_pcsn',crud.data,'SAP批次')"/> <el-table-column sortable prop="sap_pcsn" label="sap批次" :min-width="flexWidth('sap_pcsn',crud.data,'SAP批次')"/>
<el-table-column prop="width" label="产品规格(幅宽)" :min-width="flexWidth('width',crud.data,'产品规格(幅宽)')"/> <el-table-column prop="width" label="产品规格(幅宽)" :min-width="flexWidth('width',crud.data,'产品规格(幅宽)')"/>
<el-table-column prop="thickness" label="产品厚度" :min-width="flexWidth('thickness',crud.data,'产品厚度')"/> <el-table-column prop="thickness" label="产品厚度" :min-width="flexWidth('thickness',crud.data,'产品厚度')"/>
<el-table-column prop="mass_per_unit_area" label="单位面积质量" :formatter="crud.formatNum3" :min-width="flexWidth('mass_per_unit_area',crud.data,'单位面积质量')" /> <el-table-column prop="mass_per_unit_area" label="单位面积质量" :formatter="crud.formatNum3"
<el-table-column prop="net_weight" label="净重" :formatter="crud.formatNum3" :min-width="flexWidth('net_weight',crud.data,'净重')" /> :min-width="flexWidth('mass_per_unit_area',crud.data,'单位面积质量')"/>
<el-table-column prop="length" label="长度" :formatter="crud.formatNum3" :min-width="flexWidth('length',crud.data,'长度')" /> <el-table-column prop="net_weight" label="净重" :formatter="crud.formatNum3"
<el-table-column prop="date_of_production" label="制造完成日期" :min-width="flexWidth('date_of_production',crud.data,'制造完成日期')" /> :min-width="flexWidth('net_weight',crud.data,'净重')"/>
<el-table-column prop="date_of_fg_inbound" label="入库日期" :min-width="flexWidth('date_of_fg_inbound',crud.data,'入库日期')" /> <el-table-column prop="length" label="长度" :formatter="crud.formatNum3"
:min-width="flexWidth('length',crud.data,'长度')"/>
<el-table-column prop="date_of_production" label="制造完成日期"
:min-width="flexWidth('date_of_production',crud.data,'制造完成日期')"/>
<el-table-column prop="date_of_fg_inbound" label="入库日期"
:min-width="flexWidth('date_of_fg_inbound',crud.data,'入库日期')"/>
<el-table-column prop="status" label="状态" :min-width="flexWidth('status',crud.data,'状态')"> <el-table-column prop="status" label="状态" :min-width="flexWidth('status',crud.data,'状态')">
<template slot-scope="scope"> <template slot-scope="scope">
{{ dict.label.sub_package_relation[scope.row.status] }} {{ dict.label.sub_package_relation[scope.row.status] }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="box_weight" label="木箱自身重量" :min-width="flexWidth('box_weight',crud.data,'木箱自身重量')" :formatter="crud.formatNum3" /> <el-table-column prop="box_weight" label="木箱自身重量" :min-width="flexWidth('box_weight',crud.data,'木箱自身重量')"
<el-table-column prop="quality_guaran_period" label="保质期" :min-width="flexWidth('quality_guaran_period',crud.data,'保质期')" /> :formatter="crud.formatNum3"/>
<el-table-column prop="is_un_plan_production" label="计划外分切的子卷" :min-width="flexWidth('is_un_plan_production',crud.data,'计划外分切的子卷')"> <el-table-column prop="quality_guaran_period" label="保质期"
:min-width="flexWidth('quality_guaran_period',crud.data,'保质期')"/>
<el-table-column prop="is_un_plan_production" label="计划外分切的子卷"
:min-width="flexWidth('is_un_plan_production',crud.data,'计划外分切的子卷')">
<template slot-scope="scope"> <template slot-scope="scope">
{{ dict.label.IS_OR_NOT[scope.row.is_un_plan_production] }} {{ dict.label.IS_OR_NOT[scope.row.is_un_plan_production] }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="un_plan_product_property1" label="子卷的物性值1" :min-width="flexWidth('un_plan_product_property1',crud.data,'子卷的物性值1')" /> <el-table-column prop="un_plan_product_property1" label="子卷的物性值1"
<el-table-column prop="un_plan_product_property2" label="子卷的物性值2" :min-width="flexWidth('un_plan_product_property2',crud.data,'子卷的物性值2')" /> :min-width="flexWidth('un_plan_product_property1',crud.data,'子卷的物性值1')"/>
<el-table-column prop="un_plan_product_property3" label="子卷的物性值3" :min-width="flexWidth('un_plan_product_property3',crud.data,'子卷的物性值3')" /> <el-table-column prop="un_plan_product_property2" label="子卷的物性值2"
:min-width="flexWidth('un_plan_product_property2',crud.data,'子卷的物性值2')"/>
<el-table-column prop="un_plan_product_property3" label="子卷的物性值3"
:min-width="flexWidth('un_plan_product_property3',crud.data,'子卷的物性值3')"/>
<el-table-column prop="box_type" label="木箱料号" :min-width="flexWidth('box_type',crud.data,'木箱料号')"/> <el-table-column prop="box_type" label="木箱料号" :min-width="flexWidth('box_type',crud.data,'木箱料号')"/>
<el-table-column prop="box_length" label="" :min-width="flexWidth('box_length',crud.data,'长')"/> <el-table-column prop="box_length" label="" :min-width="flexWidth('box_length',crud.data,'长')"/>
<el-table-column prop="box_width" label="" :min-width="flexWidth('box_width',crud.data,'宽')"/> <el-table-column prop="box_width" label="" :min-width="flexWidth('box_width',crud.data,'宽')"/>
@@ -415,26 +437,30 @@
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')"/> <el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')"/>
<el-table-column prop="vbeln" label="来源交货单" :min-width="flexWidth('vbeln',crud.data,'来源交货单')"/> <el-table-column prop="vbeln" label="来源交货单" :min-width="flexWidth('vbeln',crud.data,'来源交货单')"/>
<el-table-column prop="posnr" label="来源交货单行" :min-width="flexWidth('posnr',crud.data,'来源交货单行')"/> <el-table-column prop="posnr" label="来源交货单行" :min-width="flexWidth('posnr',crud.data,'来源交货单行')"/>
<el-table-column prop="sale_order_description" label="销售订单描述" :min-width="flexWidth('sale_order_description',crud.data,'销售订单描述')" /> <el-table-column prop="sale_order_description" label="销售订单描述"
<el-table-column prop="isreprintpackageboxlabel" label="是否需要重打外包装标签" :min-width="flexWidth('isreprintpackageboxlabel',crud.data,'是否需要重打外包装标签')"> :min-width="flexWidth('sale_order_description',crud.data,'销售订单描述')"/>
<el-table-column prop="isreprintpackageboxlabel" label="是否需要重打外包装标签"
:min-width="flexWidth('isreprintpackageboxlabel',crud.data,'是否需要重打外包装标签')">
<template slot-scope="scope"> <template slot-scope="scope">
{{ dict.label.IS_OR_NOT[scope.row.isreprintpackageboxlabel] }} {{ dict.label.IS_OR_NOT[scope.row.isreprintpackageboxlabel] }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="isunpackbox" label="是否需要拆包重打子卷标签" :min-width="flexWidth('isunpackbox',crud.data,'是否需要拆包重打子卷标签')"> <el-table-column prop="isunpackbox" label="是否需要拆包重打子卷标签"
:min-width="flexWidth('isunpackbox',crud.data,'是否需要拆包重打子卷标签')">
<template slot-scope="scope"> <template slot-scope="scope">
{{ dict.label.IS_OR_NOT[scope.row.isunpackbox] }} {{ dict.label.IS_OR_NOT[scope.row.isunpackbox] }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="create_name" label="创建人" :min-width="flexWidth('create_name',crud.data,'创建人')"/> <el-table-column prop="create_name" label="创建人" :min-width="flexWidth('create_name',crud.data,'创建人')"/>
<el-table-column prop="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')"/> <el-table-column prop="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')"/>
<el-table-column v-permission="['admin','sub:edit','sub:del']" label="操作" align="center" fixed="right" min-width="120"> <el-table-column v-permission="['admin','sub:edit','sub:del']" label="操作" align="center" fixed="right"
min-width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<udOperation <udOperation
:data="scope.row" :data="scope.row"
:permission="permission" :permission="permission"
:disabledEdit="scope.row.status !== '0'" :disabledEdit="scope.row.status !== '0'"
:isVisiableDel = false :isVisiableDel="false"
/> />
</template> </template>
</el-table-column> </el-table-column>
@@ -455,14 +481,55 @@ import pagination from '@crud/Pagination'
import { download } from '@/api/data' import { download } from '@/api/data'
import { downloadFile } from '@/utils' import { downloadFile } from '@/utils'
const defaultForm = { workorder_id: null, package_box_sn: null, quanlity_in_box: null, box_weight: null, quality_guaran_period: null, sale_order_name: null, customer_name: null, customer_description: null, product_name: null, product_description: null, date_of_fg_inbound: null, container_name: null, width: null, thickness: null, mass_per_unit_area: null, net_weight: null, length: null, date_of_production: null, is_un_plan_production: null, un_plan_product_property1: null, un_plan_product_property2: null, un_plan_product_property3: null, box_type: null, sap_pcsn: null, remark: null, create_id: null, create_name: null, create_time: null, status: null, isreprintpackageboxlabel: null, isunpackbox: null, thickness_request: null, width_standard: null } const defaultForm = {
workorder_id: null,
package_box_sn: null,
quanlity_in_box: null,
box_weight: null,
quality_guaran_period: null,
sale_order_name: null,
customer_name: null,
customer_description: null,
product_name: null,
product_description: null,
date_of_fg_inbound: null,
container_name: null,
width: null,
thickness: null,
mass_per_unit_area: null,
net_weight: null,
length: null,
date_of_production: null,
is_un_plan_production: null,
un_plan_product_property1: null,
un_plan_product_property2: null,
un_plan_product_property3: null,
box_type: null,
sap_pcsn: null,
remark: null,
create_id: null,
create_name: null,
create_time: null,
status: null,
isreprintpackageboxlabel: null,
isunpackbox: null,
thickness_request: null,
width_standard: null
}
export default { export default {
name: 'Subpackagerelation', name: 'Subpackagerelation',
dicts: ['sub_package_relation', 'IS_OR_NOT'], dicts: ['sub_package_relation', 'IS_OR_NOT'],
components: { pagination, crudOperation, rrOperation, udOperation }, components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()], mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() { cruds() {
return CRUD({ title: '子卷包装关系', url: 'api/subpackagerelation', idField: 'workorder_id', sort: 'workorder_id,desc', crudMethod: { ...crudSubpackagerelation }}) return CRUD({
title: '子卷包装关系',
optShow: { add: true, edit: false, del: false },
url: 'api/subpackagerelation',
idField: 'workorder_id',
sort: 'workorder_id,desc',
crudMethod: { ...crudSubpackagerelation }
})
}, },
data() { data() {
return { return {
@@ -475,6 +542,7 @@ export default {
{ 'label': '是', 'value': '1' }, { 'label': '是', 'value': '1' },
{ 'label': '否', 'value': '0' } { 'label': '否', 'value': '0' }
], ],
rules: { rules: {
customer_description: [ customer_description: [
{ required: true, message: '客户名称不能为空', trigger: 'blur' } { required: true, message: '客户名称不能为空', trigger: 'blur' }
@@ -539,7 +607,8 @@ export default {
status: [ status: [
{ required: true, message: '状态不能为空', trigger: 'blur' } { required: true, message: '状态不能为空', trigger: 'blur' }
] ]
}} }
}
}, },
methods: { methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据 // 钩子在获取表格数据之前执行false 则代表不获取数据

View File

@@ -138,10 +138,10 @@
<el-table-column prop="pcsn" label="批次号" align="center" /> <el-table-column prop="pcsn" label="批次号" align="center" />
<el-table-column prop="box_no" label="载具号" align="center" /> <el-table-column prop="box_no" label="载具号" align="center" />
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" /> <el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
<el-table-column prop="start_point_code" label="起始位置" align="center" /> <el-table-column prop="next_point_code" label="起始位置" align="center" />
<el-table-column prop="next_point_code" label="目的位置" align="center" /> <el-table-column prop="struct_code" label="目的位置" align="center" />
<el-table-column prop="task_code" label="任务号" align="center" /> <el-table-column prop="task_code" label="任务号" align="center" />
<el-table-column prop="taskdtl_type" label="任务类型" align="center" width="150px" :formatter="taskdtl_typeFormat" /> <el-table-column prop="task_type_name" label="任务类型" align="center" width="150px" />
</el-table> </el-table>
</el-card> </el-card>
</el-dialog> </el-dialog>