9 Commits

Author SHA1 Message Date
zhouz
aed0bdc2d7 fix:包装关系修改不变更状态 2025-07-24 13:39:34 +08:00
zhouz
c7492a6cd7 fix:异常入库 2025-07-21 08:52:14 +08:00
yangyufu
e849b87eb2 删除多余连接查询 2025-07-10 15:04:40 +08:00
yangyufu
b3833d52ce fix(wms): 修复出库查询中箱子材质信息问题
- 在子查询中添加 box_type 字段
- 新增与 md_me_materialbase 表的左连接,获取材质名称
- 移除 bst_ivt_boxinfo 表的左连接,不再使用箱型信息
2025-07-10 15:04:31 +08:00
yangyufu
13ea603036 perf(query): 优化出库查询 SQL 语句
- 修改内联查询为左查询,确保出库记录不会丢失
2025-07-10 15:04:26 +08:00
yangyufu
d36b4811d9 feat(wms): 退货出库查询页面添加日期范围选择功能- 引入 DateRangePicker组件用于选择日期范围
- 添加 udOperation 组件以支持更新和删除操作
2025-07-10 15:04:23 +08:00
yangyufu
d43f56f741 feat(wms): 出库查询列表添加木箱编码和木箱描述字段
- 在出库查询列表中新增木箱编码和木箱描述两个字段
2025-07-10 15:04:15 +08:00
zhouz
1b49ffcb2e feat(wms): 出库查询新增木箱编码和木箱描述字段
- 在出库查询界面添加木箱编码和木箱描述两个新字段
- 更新后端服务和数据库查询以支持新增字段
2025-07-10 15:04:06 +08:00
zhouz
be2459d5b5 fix:出库任务被占用,提示优化 2025-07-10 15:03:54 +08:00
7 changed files with 160 additions and 119 deletions

View File

@@ -162,7 +162,7 @@ public class ProductInstorServiceImpl implements ProductInstorService {
//判断明细数组中箱号与扫码的箱子是否一致,不一致让客户重新扫码
if (ObjectUtil.isNotEmpty(package_box_sn)) {
if (!box_no.equals(package_box_sn)) {
throw new BadRequestException("扫码箱号:"+box_no+"与明细数据中箱号:"+package_box_sn+"不一致,请重新扫码操作!");
throw new BadRequestException("扫码箱号:" + box_no + "与明细数据中箱号:" + package_box_sn + "不一致,请重新扫码操作!");
}
}
for (int i = 0; i < box_rows.size(); i++) {
@@ -216,36 +216,39 @@ public class ProductInstorServiceImpl implements ProductInstorService {
double box_weight = sub_jo.getDoubleValue("box_weight");
// 木箱实称重重量
double real_weight = sub_jo.getDoubleValue("real_weight");
if (ObjectUtil.isEmpty(sub_jo.getString("real_weight"))) {
throw new BadRequestException("请先进行木箱称重校验!");
//一楼是否异常
String one_exc_param = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("one_exc_param").getValue();
if (!"1".equals(one_exc_param)) {
if (ObjectUtil.isEmpty(sub_jo.getString("real_weight"))) {
throw new BadRequestException("请先进行木箱称重校验!");
}
}
// 判断木箱毛重是否超标
if (NumberUtil.sub(box_weight, weight_sys) <= real_weight && NumberUtil.add(box_weight, weight_sys) >= real_weight) {
} else {
//调用ACS让对应蜂鸣器报警
JSONObject param = new JSONObject();
param.put("code", "to_command");
param.put("product_area", "LK");
param.put("value", "99");
param.put("device_code", point_code);
JSONArray rows = new JSONArray();
rows.add(param);
WmsToAcsService wmsToAcsService = SpringContextHolder.getBean(WmsToAcsService.class);
wmsToAcsService.action(rows);
if (!"1".equals(one_exc_param)) {
//调用ACS让对应蜂鸣器报警
JSONObject param = new JSONObject();
param.put("code", "to_command");
param.put("product_area", "LK");
param.put("value", "99");
param.put("device_code", point_code);
JSONArray rows = new JSONArray();
rows.add(param);
WmsToAcsService wmsToAcsService = SpringContextHolder.getBean(WmsToAcsService.class);
wmsToAcsService.action(rows);
//判断is_pass是否为空如果为空则通知飞书不为空判断为0则不允许通过为1则允许
if (ObjectUtil.isEmpty(sub_jo.getString("is_pass")) || sub_jo.getString("is_pass").equals(IOSEnum.IS_NOTANDYES.code("")) ) {
// 通知飞书
notifyMes(sub_jo);
throw new BadRequestException("重量不合格!系统重量浮动超过" + weight_sys + "KG,当前木箱称重重量:" + real_weight + ",已通知飞书处理!");
} else {
if (sub_jo.getString("is_pass").equals(IOSEnum.IS_NOTANDYES.code(""))) {
throw new BadRequestException("请等待放行!");
//判断is_pass是否为空如果为空则通知飞书不为空判断为0则不允许通过为1则允许
if (ObjectUtil.isEmpty(sub_jo.getString("is_pass")) || sub_jo.getString("is_pass").equals(IOSEnum.IS_NOTANDYES.code(""))) {
// 通知飞书
notifyMes(sub_jo);
throw new BadRequestException("重量不合格!系统重量浮动超过" + weight_sys + "KG,当前木箱称重重量:" + real_weight + ",已通知飞书处理!");
} else {
if (sub_jo.getString("is_pass").equals(IOSEnum.IS_NOTANDYES.code(""))) {
throw new BadRequestException("请等待放行!");
}
}
}
}
//判断是该包装计划是否存在长宽高
@@ -371,7 +374,9 @@ public class ProductInstorServiceImpl implements ProductInstorService {
form.put("vehicle_code", box_no);
form.put("task_type", "010507");
cutConveyorTask.createTask(form);
if (!"1".equals(one_exc_param)) {
cutConveyorTask.createTask(form);
}
} else {
/*
* 如果有实际重量则需要判断重量是否超标
@@ -413,13 +418,13 @@ public class ProductInstorServiceImpl implements ProductInstorService {
.uniqueResult(0);
if ("XN01".equals(jsonObject.getString("sect_code"))) {
whereJson.put("sect_id","1712667908095741952");
whereJson.put("sect_id", "1712667908095741952");
}
if ("XN02".equals(jsonObject.getString("sect_code"))) {
whereJson.put("sect_id","1760184056861036544");
whereJson.put("sect_id", "1760184056861036544");
}
if ("TH01".equals(jsonObject.getString("sect_code"))) {
whereJson.put("sect_id","1760183817781514240");
whereJson.put("sect_id", "1760183817781514240");
}
}
@@ -686,7 +691,7 @@ public class ProductInstorServiceImpl implements ProductInstorService {
JSONObject data = jsonObject.getJSONArray("data").getJSONObject(0);
double weight_now = NumberUtil.div(data.getDoubleValue("weight"), 10);
if (data.getDoubleValue("weight") <= 0) {
throw new BadRequestException("当前称重重量有误,请检查!当前称重重量为【"+weight_now+"");
throw new BadRequestException("当前称重重量有误,请检查!当前称重重量为【" + weight_now + "");
}
// 获取系统参数1

View File

@@ -3146,7 +3146,8 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
+ "' and row_num = '" + jsonRow.getString("row_num") + "' and is_used = '1' and is_delete = '0' and lock_type not in ('1','6','3')").getResultJSONArray(0);
if (ObjectUtil.isNotEmpty(structArr)) {
throw new BadRequestException("有其他任务正在执行中,请稍后在试!");
JSONObject jsonObject = structArr.getJSONObject(0);
throw new BadRequestException("当前排存在单据号为【"+jsonObject.getString("inv_code")+"】的仓位【"+jsonObject.getString("struct_code")+"】正在执行任务,请稍后在试!");
}
}

View File

@@ -407,7 +407,6 @@ public class OutBillQueryServiceImpl implements OutBillQueryService {
mp.put("物流公司", json.getString("cust_name"));
mp.put("运费", json.getString("estimated_freight"));
mp.put("木箱号", json.getString("box_no"));
mp.put("箱内子卷个数", json.getString("boxin_num"));
mp.put("木箱编码", json.getString("box_material_code"));
mp.put("木箱描述", json.getString("box_material_name"));
mp.put("物料编码", json.getString("material_code"));

View File

@@ -274,7 +274,6 @@
c.pcsn,
sub.sap_pcsn,
sub.net_weight,
sub.boxin_num,
sub.customer_name,
sub.customer_description,
sub.sale_order_name,
@@ -335,7 +334,6 @@
max(record.customer_name) as customer_name,
max(record.customer_description) as customer_description,
max(record.width) as width,
max(record.quanlity_in_box) boxin_num,
max(record.thickness) as thickness,
max(record.mass_per_unit_area) as mass_per_unit_area,
max(record.net_weight) as net_weight,
@@ -400,7 +398,6 @@
c.pcsn,
sub.sap_pcsn,
sub.net_weight,
sub.boxin_num,
sub.customer_name,
sub.customer_description,
sub.sale_order_name,
@@ -461,7 +458,6 @@
max(record.customer_name) as customer_name,
max(record.customer_description) as customer_description,
max(record.width) as width,
max(record.quanlity_in_box) boxin_num,
max(record.thickness) as thickness,
max(record.mass_per_unit_area) as mass_per_unit_area,
max(record.net_weight) as net_weight,

View File

@@ -160,7 +160,7 @@
@change="crud.toQuery"
/>
</el-form-item>
<rrOperation :crud="crud" />
<rrOperation :crud="crud"/>
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
@@ -189,144 +189,167 @@
<el-row>
<el-col :span="12">
<el-form-item label="木箱唯一码" prop="package_box_sn">
<el-input v-model="form.package_box_sn" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.package_box_sn" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="箱内子卷数量">
<el-input v-model="form.quanlity_in_box" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.quanlity_in_box" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="木箱自身重量">
<el-input v-model="form.box_weight" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.box_weight" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="木箱实际重量">
<el-input v-model="form.real_weight" style="width: 300px;" />
<el-input v-model="form.real_weight" style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="客户编码" prop="customer_name">
<el-input v-model="form.customer_name" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.customer_name" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户名称" prop="customer_description">
<el-input v-model="form.customer_description" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.customer_description" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="产品编码" prop="product_name">
<el-input v-model="form.product_name" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.product_name" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品描述" prop="product_description">
<el-input v-model="form.product_description" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.product_description" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="业务日期">
<el-input v-model="form.date_of_fg_inbound" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.date_of_fg_inbound" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="子卷号" prop="container_name">
<el-input v-model="form.container_name" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.container_name" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="产品规格(幅宽)" prop="width">
<el-input v-model="form.width" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.width" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品厚度" prop="thickness">
<el-input v-model="form.thickness" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.thickness" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="单位面积质量" prop="mass_per_unit_area">
<el-input v-model="form.mass_per_unit_area" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.mass_per_unit_area" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="净重" prop="net_weight">
<el-input v-model="form.net_weight" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.net_weight" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="长度" prop="length">
<el-input v-model="form.length" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.length" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="制造完成日期" prop="date_of_production">
<el-input v-model="form.date_of_production" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.date_of_production" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="计划外分切的子卷" prop="is_un_plan_production">
<el-input v-model="form.is_un_plan_production" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.is_un_plan_production" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="子卷的物性值1">
<el-input v-model="form.un_plan_product_property1" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.un_plan_product_property1"
:disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="子卷的物性值2">
<el-input v-model="form.un_plan_product_property2" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.un_plan_product_property2"
:disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="子卷的物性值3">
<el-input v-model="form.un_plan_product_property3" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.un_plan_product_property3"
:disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="木箱料号">
<el-input v-model="form.box_type" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.box_type" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="SAP批次" prop="sap_pcsn">
<el-input v-model="form.sap_pcsn" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.sap_pcsn" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否重打外包装标签">
<el-input v-model="form.isreprintpackageboxlabel" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.isreprintpackageboxlabel"
:disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否拆包重打子卷标签">
<el-input v-model="form.isunpackbox" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.isunpackbox" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
@@ -371,33 +394,38 @@
</el-col>
<el-col :span="12">
<el-form-item label="销售订单及行号" prop="sale_order_name">
<el-input v-model="form.sale_order_name" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.sale_order_name" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="物料主数据厚度" prop="thickness_request">
<el-input v-model="form.thickness_request" :disabled="crud.status.edit > 0 && form.status !== '0'" :controls="false" style="width: 300px;" />
<el-input v-model="form.thickness_request" :disabled="crud.status.edit > 0 && form.status !== '0'"
:controls="false" style="width: 300px;"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="要求幅宽" prop="width_standard">
<el-input v-model="form.width_standard" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.width_standard" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="保质期">
<el-input v-model="form.quality_guaran_period" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 300px;" />
<el-input v-model="form.quality_guaran_period" :disabled="crud.status.edit > 0 && form.status !== '0'"
style="width: 300px;"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" :rows="2" :disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 750px;" />
<el-input v-model="form.remark" type="textarea" :rows="2"
:disabled="crud.status.edit > 0 && form.status !== '0'" style="width: 750px;"/>
</el-form-item>
</el-col>
</el-row>
@@ -417,7 +445,7 @@
size="mini"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" />
<el-table-column type="selection"/>
<el-table-column
sortable
prop="package_box_sn"
@@ -429,7 +457,8 @@
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="客户名称"
@@ -446,16 +475,20 @@
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 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_standard" :formatter="crud.formatNum0" label="客户要求幅宽" :min-width="flexWidth('width_standard',crud.data,'客户要求幅宽')" />
<el-table-column prop="thickness" label="产品厚度" :min-width="flexWidth('thickness',crud.data,'产品厚度')" />
<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_standard" :formatter="crud.formatNum0" label="客户要求幅宽"
:min-width="flexWidth('width_standard',crud.data,'客户要求幅宽')"/>
<el-table-column prop="thickness" label="产品厚度" :min-width="flexWidth('thickness',crud.data,'产品厚度')"/>
<el-table-column
prop="mass_per_unit_area"
label="单位面积质量"
@@ -529,16 +562,19 @@
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_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_high" label="" :min-width="flexWidth('box_high',crud.data,'高')" />
<el-table-column prop="demand_limit" label="客户需求抗拉下限" :min-width="flexWidth('demand_limit',crud.data,'客户需求抗拉下限')" />
<el-table-column prop="standard_limit" label="内控标准抗拉下限" :min-width="flexWidth('standard_limit',crud.data,'内控标准抗拉下限')" />
<el-table-column prop="actual_value" label="生产实际抗拉值" :min-width="flexWidth('actual_value',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="posnr" label="来源交货单行" :min-width="flexWidth('posnr',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_width" label="" :min-width="flexWidth('box_width',crud.data,'宽')"/>
<el-table-column prop="box_high" label="" :min-width="flexWidth('box_high',crud.data,'高')"/>
<el-table-column prop="demand_limit" label="客户需求抗拉下限"
:min-width="flexWidth('demand_limit',crud.data,'客户需求抗拉下限')"/>
<el-table-column prop="standard_limit" label="内控标准抗拉下限"
:min-width="flexWidth('standard_limit',crud.data,'内控标准抗拉下限')"/>
<el-table-column prop="actual_value" label="生产实际抗拉值"
:min-width="flexWidth('actual_value',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="posnr" label="来源交货单行" :min-width="flexWidth('posnr',crud.data,'来源交货单行')"/>
<el-table-column
prop="sale_order_description"
label="销售订单描述"
@@ -562,8 +598,9 @@
{{ dict.label.IS_OR_NOT[scope.row.isunpackbox] }}
</template>
</el-table-column>
<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_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
v-permission="['admin','sub:edit','sub:del']"
label="操作"
@@ -581,20 +618,20 @@
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
<pagination/>
</div>
</div>
</template>
<script>
import crudSubpackagerelation from './subpackagerelation'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import CRUD, {crud, form, header, presenter} from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import { download } from '@/api/data'
import { downloadFile } from '@/utils'
import {download} from '@/api/data'
import {downloadFile} from '@/utils'
import crudUserStor from "@/views/wms/basedata/st/userStor/userStor";
const defaultForm = {
@@ -636,16 +673,16 @@ const defaultForm = {
export default {
name: 'Subpackagerelation',
dicts: ['sub_package_relation', 'IS_OR_NOT'],
components: { pagination, crudOperation, rrOperation, udOperation },
components: {pagination, crudOperation, rrOperation, udOperation},
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '子卷包装关系',
optShow: { add: true, edit: false, del: false },
optShow: {add: true, edit: false, del: false},
url: 'api/subpackagerelation',
idField: 'workorder_id',
sort: 'workorder_id,desc',
crudMethod: { ...crudSubpackagerelation }
crudMethod: {...crudSubpackagerelation}
})
},
data() {
@@ -657,76 +694,76 @@ export default {
},
showDtlLoading: false,
isPlanProducList: [
{ 'label': '是', 'value': '1' },
{ 'label': '否', 'value': '0' }
{'label': '是', 'value': '1'},
{'label': '否', 'value': '0'}
],
typeList: [
{ 'label': '是', 'value': '1' },
{ 'label': '否', 'value': '0' }
{'label': '是', 'value': '1'},
{'label': '否', 'value': '0'}
],
rules: {
customer_description: [
{ required: true, message: '客户名称不能为空', trigger: 'blur' }
{required: true, message: '客户名称不能为空', trigger: 'blur'}
],
customer_name: [
{ required: true, message: '客户编码不能为空', trigger: 'blur' }
{required: true, message: '客户编码不能为空', trigger: 'blur'}
],
package_box_sn: [
{ required: true, message: '木箱唯一码不能为空', trigger: 'blur' }
{required: true, message: '木箱唯一码不能为空', trigger: 'blur'}
],
product_name: [
{ required: true, message: '产品编码不能为空', trigger: 'blur' }
{required: true, message: '产品编码不能为空', trigger: 'blur'}
],
product_description: [
{ required: true, message: '产品描述不能为空', trigger: 'blur' }
{required: true, message: '产品描述不能为空', trigger: 'blur'}
],
container_name: [
{ required: true, message: '子卷号不能为空', trigger: 'blur' }
{required: true, message: '子卷号不能为空', trigger: 'blur'}
],
width: [
{ required: true, message: '产品规格(幅宽)不能为空', trigger: 'blur' }
{required: true, message: '产品规格(幅宽)不能为空', trigger: 'blur'}
],
thickness: [
{ required: true, message: '产品厚度不能为空', trigger: 'blur' }
{required: true, message: '产品厚度不能为空', trigger: 'blur'}
],
mass_per_unit_area: [
{ required: true, message: '单位面积质量不能为空', trigger: 'blur' }
{required: true, message: '单位面积质量不能为空', trigger: 'blur'}
],
net_weight: [
{ required: true, message: '净重不能为空', trigger: 'blur' }
{required: true, message: '净重不能为空', trigger: 'blur'}
],
length: [
{ required: true, message: '长度不能为空', trigger: 'blur' }
{required: true, message: '长度不能为空', trigger: 'blur'}
],
date_of_production: [
{ required: true, message: '制造完成日期不能为空', trigger: 'blur' }
{required: true, message: '制造完成日期不能为空', trigger: 'blur'}
],
sale_order_name: [
{ required: true, message: '销售订单及行号不能为空', trigger: 'blur' }
{required: true, message: '销售订单及行号不能为空', trigger: 'blur'}
],
width_standard: [
{ required: true, message: '要求幅宽不能为空', trigger: 'blur' }
{required: true, message: '要求幅宽不能为空', trigger: 'blur'}
],
thickness_request: [
{ required: true, message: '物流主数据厚度不能为空', trigger: 'blur' }
{required: true, message: '物流主数据厚度不能为空', trigger: 'blur'}
],
box_length: [
{ required: true, message: '长不能为空', trigger: 'blur' }
{required: true, message: '长不能为空', trigger: 'blur'}
],
box_width: [
{ required: true, message: '宽不能为空', trigger: 'blur' }
{required: true, message: '宽不能为空', trigger: 'blur'}
],
box_high: [
{ required: true, message: '高不能为空', trigger: 'blur' }
{required: true, message: '高不能为空', trigger: 'blur'}
],
sap_pcsn: [
{ required: true, message: 'SAP批次不能为空', trigger: 'blur' }
{required: true, message: 'SAP批次不能为空', trigger: 'blur'}
],
is_un_plan_production: [
{ required: true, message: '计划外分切的子卷不能为空', trigger: 'blur' }
{required: true, message: '计划外分切的子卷不能为空', trigger: 'blur'}
],
status: [
{ required: true, message: '状态不能为空', trigger: 'blur' }
{required: true, message: '状态不能为空', trigger: 'blur'}
]
}
}
@@ -739,6 +776,10 @@ export default {
[CRUD.HOOK.beforeRefresh]() {
return true
},
[CRUD.HOOK.beforeSubmit](row) {
this.$delete(row.form, 'status')
return true
},
initQuery() {
const end = new Date()
const start = new Date()

View File

@@ -183,8 +183,8 @@
<el-checkbox v-if="mstrow.stor_id !== '1582991156504039455'" v-model="checked">是否异常出库</el-checkbox>
</el-form-item>
<el-form-item label="超期发货:" prop="is_overdue">
<el-radio v-model="rowmst.is_overdue" label="1" :disabled="rowmst.bill_status === '40'" @change="updataIsOverdue">不发超期</el-radio>
<el-radio v-model="rowmst.is_overdue" label="0" :disabled="rowmst.bill_status === '40'" @change="updataIsOverdue">发超期</el-radio>
<el-radio v-model="rowmst.is_overdue" label="0" :disabled="rowmst.bill_status === '40'" @change="updataIsOverdue">不发超期</el-radio>
<el-radio v-model="rowmst.is_overdue" label="1" :disabled="rowmst.bill_status === '40'" @change="updataIsOverdue">发超期</el-radio>
</el-form-item>
<!--<el-form-item label="超期数量:" prop="assign_qty" v-if="rowmst.is_overdue === '1'">
<el-input-number

View File

@@ -118,7 +118,6 @@
<el-table-column show-overflow-tooltip prop="cust_name" label="物流公司" :min-width="flexWidth('cust_name',crud.data,'物流公司')" />
<el-table-column show-overflow-tooltip prop="estimatedd_freight" label="运费" :formatter="crud.formatNum2" :min-width="flexWidth('estimated_freight',crud.data,'运费')" />
<el-table-column show-overflow-tooltip prop="box_no" label="木箱号" :min-width="flexWidth('box_no',crud.data,'木箱号')" />
<el-table-column show-overflow-tooltip prop="boxin_num" label="箱内子卷个数" :min-width="flexWidth('boxin_num',crud.data,'箱内子卷个数')" />
<el-table-column show-overflow-tooltip prop="box_material_code" label="木箱编码" :min-width="flexWidth('box_material_code',crud.data,'木箱编码')" />
<el-table-column show-overflow-tooltip prop="box_material_name" label="木箱描述" :min-width="flexWidth('box_material_name',crud.data,'木箱描述')" />
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" :min-width="flexWidth('material_code',crud.data,'物料编码')" />