diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java index e7bd880af..3fe0b3eef 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java @@ -28,10 +28,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.function.BiConsumer; import java.util.stream.Collectors; @@ -541,8 +538,9 @@ public class StructattrServiceImpl implements StructattrService { int createNum = whereJson.getIntValue("num"); // 开始生成数 int createNum_start = 1; + // 前缀 - String prefix = whereJson.getString("prefix"); + String prefix = ""; if (ObjectUtil.isNotEmpty(jsonAttr)) { String struct_code = jsonAttr.getString("struct_code"); @@ -559,6 +557,21 @@ public class StructattrServiceImpl implements StructattrService { createNum_start += Integer.parseInt(result); prefix = struct_code.substring(0, firstIndex); + } else { + // 截取第一个 - 之前的数据集合 + + List attrList = WQL.getWO("QST_STRUCT_ATTR").addParam("flag", "2").process() + .getResultJSONArray(0).toJavaList(JSONObject.class); + + List subStringList = attrList.stream() + .filter(row -> row.getString("struct_code").contains("-")) + .map(row -> row.getString("struct_code").substring(0, row.getString("struct_code").indexOf("-"))) + .distinct() + .sorted() + .filter(row -> row.matches("-?\\d+(\\.\\d+)?")) + .collect(Collectors.toList()); + + prefix = String.valueOf(Integer.parseInt(subStringList.get(subStringList.size() - 1)) + 1); } /* @@ -651,13 +664,16 @@ public class StructattrServiceImpl implements StructattrService { /* * 判断前缀是否存在 */ - List attrList = attrTab.query("1 = 1").getResultJSONArray(0).toJavaList(JSONObject.class); + List attrList = WQL.getWO("QST_STRUCT_ATTR").addParam("flag", "2").process() + .getResultJSONArray(0).toJavaList(JSONObject.class); // 截取第一个 - 之前的数据集合 List subStringList = attrList.stream() .filter(row -> row.getString("struct_code").contains("-")) .map(row -> row.getString("struct_code").substring(0, row.getString("struct_code").indexOf("-"))) .distinct() + .sorted() + .filter(row -> row.matches("-?\\d+(\\.\\d+)?")) .collect(Collectors.toList()); // 判断是否有相同的前缀 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCT_ATTR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCT_ATTR.wql index a90e95868..29a15aa70 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCT_ATTR.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCT_ATTR.wql @@ -86,5 +86,19 @@ ENDPAGEQUERY ENDIF + IF 输入.flag = "2" + QUERY + SELECT + struct.* + FROM + st_ivt_structattr struct + LEFT JOIN st_ivt_sectattr sect ON sect.sect_id = struct.sect_id + WHERE + sect.sect_type_attr = '09' + + ENDSELECT + ENDQUERY + ENDIF + diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls index 2a54c742c..706870f48 100644 Binary files a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls and b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/stivt.xls differ diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/CheckOutBillService.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/CheckOutBillService.java index 20f1c8e0e..f1cf33c5a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/CheckOutBillService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/CheckOutBillService.java @@ -295,4 +295,12 @@ public interface CheckOutBillService { * @throws IOException / */ void download(Map map, HttpServletResponse response, String[] stor_id, String[] bill_status, String[] bill_type) throws IOException; + + /** + * 更新是否超期 + * @param whereJson { + * 主表数据 + * } + */ + JSONObject updataIsOverdue(JSONObject whereJson); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java index 800368551..67455fed7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java @@ -312,4 +312,11 @@ public class CheckOutBillController { public void download(@RequestParam Map map, HttpServletResponse response, String[] stor_id, String[] bill_status, String[] bill_type) throws IOException { checkOutBillService.download(map, response, stor_id, bill_status, bill_type); } + + + @PostMapping("/updataIsOverdue") + @Log("更新是否超期") + public ResponseEntity updataIsOverdue(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(checkOutBillService.updataIsOverdue(whereJson),HttpStatus.OK); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java index 35440c6c6..185fbcb52 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java @@ -1022,6 +1022,32 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { FileUtil.downloadExcel(list, response); } + @Override + public JSONObject updataIsOverdue(JSONObject whereJson) { + // 出入库主表 + WQLObject mstTab = WQLObject.getWQLObject("st_ivt_iostorinv"); + // 出入库分配明细表 + WQLObject disTab = WQLObject.getWQLObject("st_ivt_iostorinvdis"); + + // 更新主表 + JSONObject jsonMst = mstTab.query("iostorinv_id = '" + whereJson.getString("iostorinv_id") + "'").uniqueResult(0); + jsonMst.put("is_overdue", whereJson.getString("is_overdue")); + mstTab.update(jsonMst); + + // 计算超期数量 + List disList = disTab.query("iostorinvdtl_id = '" + whereJson.getString("iostorinvdtl_id") + "' AND is_overdue = '1'") + .getResultJSONArray(0).toJavaList(JSONObject.class); + + double overdue_qyt = disList.stream() + .map(row -> row.getDoubleValue("plan_qty")) + .reduce(Double::sum).orElse(0.00); + + JSONObject result = new JSONObject(); + result.put("overdue_qyt",overdue_qyt); + result.put("mst", jsonMst); + return result; + } + @Override @Transactional(rollbackFor = Exception.class) public void update(JSONObject whereJson) { @@ -1290,11 +1316,12 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { dtl.put("work_status", "00"); } - // 判断是否超期 - if (ivt2.getString("is_overdue").equals("1")) { - dtl.put("work_status", "01"); + if (jo_mst.getString("is_overdue").equals("1")) { + // 判断是否超期 + if (ivt2.getString("is_overdue").equals("1")) { + dtl.put("work_status", "01"); + } } - wo_dis.insert(dtl); } //记录需锁定的仓位 @@ -1358,9 +1385,12 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { } // 判断是否超期 - if (jsonIvt.getString("is_overdue").equals("1")) { - dtl.put("work_status", "01"); + if (jo_mst.getString("is_overdue").equals("1")) { + if (jsonIvt.getString("is_overdue").equals("1")) { + dtl.put("work_status", "01"); + } } + wo_dis.insert(dtl); //记录需锁定的仓位 (如果此明细有相同物料的且子卷号不能为空的则在最后一个明细分配完成后锁定仓位) @@ -1534,6 +1564,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { dtl.put("is_issued", "0"); dtl.put("plan_qty", ivt2.getDoubleValue("change_qty")); dtl.put("real_qty", ivt2.getDoubleValue("change_qty")); + dtl.put("is_overdue", ivt2.getString("is_overdue")); dtl.put("instorage_time", ivt2.getString("instorage_time")); // 如果所属仓位是虚拟区 则将分配明细状态变为生成 JSONObject jsonSect = wo_sect.query("sect_id = '" + ivt2.getString("sect_id") + "'").uniqueResult(0); @@ -1542,6 +1573,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { } else { dtl.put("work_status", "00"); } + + if (jo_mst.getString("is_overdue").equals("1")) { + // 判断是否超期 + if (ivt2.getString("is_overdue").equals("1")) { + dtl.put("work_status", "01"); + } + } + wo_dis.insert(dtl); } //记录需锁定的仓位 @@ -1594,6 +1633,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { dtl.put("is_issued", "0"); dtl.put("plan_qty", jsonIvt.getDoubleValue("change_qty")); dtl.put("real_qty", jsonIvt.getDoubleValue("change_qty")); + dtl.put("is_overdue", jsonIvt.getString("is_overdue")); dtl.put("instorage_time", jsonIvt.getString("instorage_time")); // 如果所属仓位是虚拟区 则将分配明细状态变为生成 JSONObject jsonSect = wo_sect.query("sect_id = '" + jsonIvt.getString("sect_id") + "'").uniqueResult(0); @@ -1602,6 +1642,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { } else { dtl.put("work_status", "00"); } + + if (jo_mst.getString("is_overdue").equals("1")) { + // 判断是否超期 + if (jsonIvt.getString("is_overdue").equals("1")) { + dtl.put("work_status", "01"); + } + } + wo_dis.insert(dtl); //记录需锁定的仓位 Struct_map.put(jsonIvt.getString("struct_id"), jsonIvt); @@ -1658,6 +1706,8 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { json.put("is_issued", "0"); json.put("plan_qty", ivt.getDoubleValue("change_qty")); json.put("real_qty", ivt.getDoubleValue("change_qty")); + json.put("is_overdue", ivt.getString("is_overdue")); + json.put("instorage_time", ivt.getString("instorage_time")); // 如果所属仓位是虚拟区 则将分配明细状态变为生成 JSONObject jsonSect = wo_sect.query("sect_id = '" + ivt.getString("sect_id") + "'").uniqueResult(0); if (StrUtil.equals(jsonSect.getString("sect_type_attr"), "09")) { @@ -1665,6 +1715,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { } else { json.put("work_status", "00"); } + + // 判断是否超期 + if (jo_mst.getString("is_overdue").equals("1")) { + if (ivt.getString("is_overdue").equals("1")) { + json.put("work_status", "01"); + } + } + wo_dis.insert(json); // 更新明细 @@ -4384,6 +4442,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { dtl.put("is_issued", "0"); dtl.put("plan_qty", ivt.getDoubleValue("change_qty")); dtl.put("real_qty", ivt.getDoubleValue("change_qty")); + dtl.put("is_overdue", ivt.getString("is_overdue")); dtl.put("instorage_time", ivt.getString("instorage_time")); // 如果所属仓位是虚拟区 则将分配明细状态变为生成 JSONObject jsonSect = wo_sect.query("sect_id = '" + ivt.getString("sect_id") + "'").uniqueResult(0); @@ -4392,6 +4451,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { } else { dtl.put("work_status", "00"); } + + // 判断是否超期 + if (jo_mst.getString("is_overdue").equals("1")) { + if (ivt.getString("is_overdue").equals("1")) { + dtl.put("work_status", "01"); + } + } + wo_dis.insert(dtl); //记录需锁定的仓位 Struct_map.put(ivt.getString("struct_id"), ivt); @@ -4453,6 +4520,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { json.put("is_issued", "0"); json.put("plan_qty", ivt.getDoubleValue("change_qty")); json.put("real_qty", ivt.getDoubleValue("change_qty")); + json.put("is_overdue", ivt.getString("is_overdue")); json.put("instorage_time", ivt.getString("instorage_time")); // 如果所属仓位是虚拟区 则将分配明细状态变为生成 JSONObject jsonSect = wo_sect.query("sect_id = '" + ivt.getString("sect_id") + "'").uniqueResult(0); @@ -4461,6 +4529,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { } else { json.put("work_status", "00"); } + + // 判断是否超期 + if (jo_mst.getString("is_overdue").equals("1")) { + if (ivt.getString("is_overdue").equals("1")) { + json.put("work_status", "01"); + } + } + wo_dis.insert(json); // 更新明细 @@ -4585,8 +4661,12 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { dis.put("bill_code", jo_mst.getString("bill_code")); dis.put("bill_table", "ST_IVT_IOStorInv"); - if (dis.getString("is_overdue").equals("1")) { - storPublicService.IOStor(dis, "12"); + if (jo_mst.getString("is_overdue").equals("1")) { + if (dis.getString("is_overdue").equals("1")) { + storPublicService.IOStor(dis, "12"); + } else { + storPublicService.IOStor(dis, "21"); + } } else { storPublicService.IOStor(dis, "21"); } @@ -4596,15 +4676,23 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { from_start.put("struct_id", dis.getString("struct_id")); from_start.put("lock_type", "1"); from_start.put("is_overdue", dis.getString("is_overdue")); - if (dis.getString("is_overdue").equals("1")) { - from_start.put("storagevehicle_code", dis.getString("box_no")); + + if (jo_mst.getString("is_overdue").equals("1")) { + if (dis.getString("is_overdue").equals("1")) { + from_start.put("storagevehicle_code", dis.getString("box_no")); + } else { + from_start.put("storagevehicle_code", ""); + } } else { from_start.put("storagevehicle_code", ""); } + storPublicService.updateStructAndPoint(from_start); - if (dis.getString("is_overdue").equals("1")) { - continue; + if (jo_mst.getString("is_overdue").equals("1")) { + if (dis.getString("is_overdue").equals("1")) { + continue; + } } //查询对应明细 @@ -4664,7 +4752,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { } JSONObject mst_row = mst_wql.query("iostorinv_id = '" + iostorinv_id + "'").uniqueResult(0); - JSONArray dis_rows = dis_wql.query("iostorinv_id = '" + iostorinv_id + "' and is_overdue = '0'").getResultJSONArray(0); + + JSONArray dis_rows = new JSONArray(); + + if (jo_mst.getString("is_overdue").equals("1")) { + dis_rows = dis_wql.query("iostorinv_id = '" + iostorinv_id + "' and is_overdue = '0'").getResultJSONArray(0); + } else { + dis_rows = dis_wql.query("iostorinv_id = '" + iostorinv_id + "'").getResultJSONArray(0); + } //生成手工入库单 String new_iostorinv_id = IdUtil.getSnowflake(1, 1).nextId() + ""; @@ -4767,7 +4862,13 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { if ("1003".equals(out_jo.getString("bill_type")) || "1006".equals(out_jo.getString("bill_type"))) { //如果为返检出库或者改切出库删除对应的包装关系 - JSONArray dis_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + iostorinv_id + "' and is_overdue = '0'").getResultJSONArray(0); + JSONArray dis_rows = new JSONArray(); + if (jo_mst.getString("is_overdue").equals("1")) { + dis_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + iostorinv_id + "' and is_overdue = '0'").getResultJSONArray(0); + } else { + dis_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + iostorinv_id + "'").getResultJSONArray(0); + } + for (int i = 0; i < dis_rows.size(); i++) { JSONObject dis_row = dis_rows.getJSONObject(i); String sect_code = dis_row.getString("sect_code"); @@ -5329,12 +5430,15 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { // 回传sap JSONObject jsonMst = mstTab.query("iostorinv_id = '" + whereJson.getString("iostorinv_id") + "'").uniqueResult(0); - JSONArray jsonArr = new JSONArray(); - jsonArr.add(jsonMst); + // 判断单据是否是完成状态:只回传完成状态的单据 + if (jsonMst.getString("bill_status").equals("99")) { + JSONArray jsonArr = new JSONArray(); + jsonArr.add(jsonMst); - JSONObject param = new JSONObject(); - param.put("rows", jsonArr); - inAndOutReturnService.uploadSAP(param); + JSONObject param = new JSONObject(); + param.put("rows", jsonArr); + inAndOutReturnService.uploadSAP(param); + } } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql index 9f3c310f5..7a3c9cb0f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql @@ -97,6 +97,7 @@ cu.cust_simple_name, a.plan_qty, attr.stor_name AS out_stor_name + FROM ST_IVT_IOStorInv ios LEFT JOIN md_cs_customerbase cu ON ios.cust_code = cu.cust_code @@ -106,15 +107,32 @@ LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn AND sub.bill_code = ios.bill_code LEFT JOIN ( SELECT - SUM(a.assign_qty) AS plan_qty, + SUM(a.plan_qty) AS plan_qty, a.iostorinv_id FROM - st_ivt_iostorinvdtl a + st_ivt_iostorinvdis a LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id WHERE b.io_type = '1' and b.is_delete='0' + and a.is_overdue = '0' + and b.is_overdue = '1' GROUP BY a.iostorinv_id + + UNION + + SELECT + SUM(a.plan_qty) AS plan_qty, + a.iostorinv_id + FROM + st_ivt_iostorinvdis a + LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id + WHERE + b.io_type = '1' + and b.is_delete='0' + and b.is_overdue = '0' + GROUP BY a.iostorinv_id + ) a ON a.iostorinv_id = ios.iostorinv_id WHERE ios.io_type = '1' @@ -369,7 +387,14 @@ struct.storagevehicle_id, struct.storagevehicle_code, point.point_id, - sub.sap_pcsn + sub.sap_pcsn, + CASE + WHEN SUBSTRING(sub.container_name,1,1) = 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '180' + THEN '1' + WHEN SUBSTRING(sub.container_name,1,1) != 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '90' + THEN '1' + ELSE '0' + END AS is_overdue FROM ST_IVT_StructIvt ivt LEFT JOIN st_ivt_structattr struct ON struct.struct_id = ivt.struct_id @@ -437,7 +462,14 @@ struct.storagevehicle_id, struct.storagevehicle_code, point.point_id, - sub.sap_pcsn + sub.sap_pcsn, + CASE + WHEN SUBSTRING(sub.container_name,1,1) = 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '180' + THEN '1' + WHEN SUBSTRING(sub.container_name,1,1) != 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '90' + THEN '1' + ELSE '0' + END AS is_overdue FROM ST_IVT_StructIvt ivt2 LEFT JOIN st_ivt_structattr struct ON struct.struct_id = ivt2.struct_id diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/ST_OUTIVT01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/ST_OUTIVT01.wql index ebd2006ad..189f4aaed 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/ST_OUTIVT01.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/ST_OUTIVT01.wql @@ -62,7 +62,11 @@ attr.struct_name, attr.struct_code, CASE - WHEN DATEDIFF( NOW(), sub.date_of_production ) > '90' THEN '1' ELSE '0' + WHEN SUBSTRING(sub.container_name,1,1) = 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '180' + THEN '1' + WHEN SUBSTRING(sub.container_name,1,1) != 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '90' + THEN '1' + ELSE '0' END AS is_overdue FROM ST_IVT_StructIvt ivt @@ -164,7 +168,11 @@ attr.struct_name, attr.struct_code, CASE - WHEN DATEDIFF( NOW(), sub.date_of_production ) > '90' THEN '1' ELSE '0' + WHEN SUBSTRING(sub.container_name,1,1) = 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '180' + THEN '1' + WHEN SUBSTRING(sub.container_name,1,1) != 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '90' + THEN '1' + ELSE '0' END AS is_overdue FROM ST_IVT_StructIvt ivt diff --git a/lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue b/lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue index 5c7ff08f1..329ee1879 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue @@ -241,7 +241,7 @@ - + diff --git a/lms/nladmin-ui/src/views/wms/basedata/st/struct/OneCreateDialog.vue b/lms/nladmin-ui/src/views/wms/basedata/st/struct/OneCreateDialog.vue index 5d77938be..f4b5ff0a7 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/st/struct/OneCreateDialog.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/st/struct/OneCreateDialog.vue @@ -25,11 +25,11 @@ - + @@ -126,10 +126,6 @@ export default { return this.crud.notify('库区不能为空', CRUD.NOTIFICATION_TYPE.INFO) } - if (this.formMst.prefix === '') { - return this.crud.notify('前缀不能为空', CRUD.NOTIFICATION_TYPE.INFO) - } - if (this.formMst.num === '') { return this.crud.notify('数量不能为空', CRUD.NOTIFICATION_TYPE.INFO) } diff --git a/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue b/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue index 2f9a18098..0b07484ed 100644 --- a/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/outbill/DivDialog.vue @@ -143,6 +143,7 @@ 是否异常出库 + + + + + @@ -227,6 +243,7 @@ style="width: 100%;" max-height="400" size="mini" + :row-style="rowStyle" border :highlight-current-row="true" :header-cell-style="{background:'#f5f7fa',color:'#606266'}" @@ -256,7 +273,7 @@ - + @@ -268,7 +285,7 @@ - + @@ -338,7 +355,8 @@ export default { invtypelist: [], pointList: [], rules: { - } + }, + overdue_qyt: 0 } }, watch: { @@ -459,6 +477,7 @@ export default { deleteRow(row) { checkoutbill.oneCancel(row).then(res => { this.queryTableDtl() + this.updataIsOverdue() }) }, handleDtlCurrentChange(current) { @@ -517,6 +536,7 @@ export default { checkoutbill.allDiv(this.mstrow).then(res => { this.crud.notify('分配成功!', CRUD.NOTIFICATION_TYPE.INFO) this.queryTableDtl() + this.updataIsOverdue() this.loadingAlldiv = false }).catch(() => { this.loadingAlldiv = false @@ -532,6 +552,7 @@ export default { this.mstrow.iostorinvdtl_id = this.currentRow.iostorinvdtl_id checkoutbill.allDivOne(this.mstrow).then(res => { this.queryTableDtl() + this.updataIsOverdue() this.loadingAutodiv = false }).catch(() => { this.loadingAutodiv = false @@ -542,6 +563,7 @@ export default { this.loadingAlldiv = true checkoutbill.allCancel(this.mstrow).then(res => { this.queryTableDtl() + this.updataIsOverdue() this.loadingAlldiv = false }).catch(() => { this.loadingAlldiv = false @@ -553,6 +575,7 @@ export default { checkoutbill.allCancel(this.currentRow).then(res => { this.queryTableDtl() this.loadingAlldiv = false + this.updataIsOverdue() }).catch(() => { this.loadingAlldiv = false }) @@ -673,6 +696,10 @@ export default { this.tableDtl = res }) }, + queryTableDtl2() { + this.queryTableDtl() + this.updataIsOverdue() + }, queryTableDdis(iostorinvdtl_id) { checkoutbill.getOutBillDis2({ 'iostorinvdtl_id': iostorinvdtl_id, 'bill_status': '01' }).then(res => { this.tabledis = res @@ -689,6 +716,23 @@ export default { return 'background: yellow' } } + }, + rowStyle({ row, rowIndex }) { + const stylejson = {} + + if (this.rowmst.is_overdue === '1') { + if (row.is_overdue === '1') { + stylejson.background = '#f3f071' + return stylejson + } + } + }, + updataIsOverdue() { + this.rowmst.iostorinvdtl_id = this.currentRow.iostorinvdtl_id + checkoutbill.updataIsOverdue(this.rowmst).then(res => { + this.overdue_qyt = res.overdue_qyt + this.rowmst = res.mst + }) } } } diff --git a/lms/nladmin-ui/src/views/wms/st/outbill/checkoutbill.js b/lms/nladmin-ui/src/views/wms/st/outbill/checkoutbill.js index f63c48161..289a2d586 100644 --- a/lms/nladmin-ui/src/views/wms/st/outbill/checkoutbill.js +++ b/lms/nladmin-ui/src/views/wms/st/outbill/checkoutbill.js @@ -241,4 +241,11 @@ export function outReturn(data) { data }) } -export default { add, edit, del, allDiv, allCancel, getOutBillDtl, getOutBillDis, getOutBillDis2, setPoint, oneSetPoint, getOutBillTask, getStructIvt, manualDiv, confirm, issueTask, finishTask, cancleTaskfinish, getInvTypes, paramByCodeType, schAreaType, backConfirm, getOutBillDisDtl, getType, allDivOne, moneySubmit, getDisNum, queryBox, getOutBillTask2, oneCancel, cancelTask, allSetPoint, oneSetPoint2, outReturn } +export function updataIsOverdue(data) { + return request({ + url: '/api/checkoutbill/updataIsOverdue', + method: 'post', + data + }) +} +export default { add, edit, del, allDiv, allCancel, getOutBillDtl, getOutBillDis, getOutBillDis2, setPoint, oneSetPoint, getOutBillTask, getStructIvt, manualDiv, confirm, issueTask, finishTask, cancleTaskfinish, getInvTypes, paramByCodeType, schAreaType, backConfirm, getOutBillDisDtl, getType, allDivOne, moneySubmit, getDisNum, queryBox, getOutBillTask2, oneCancel, cancelTask, allSetPoint, oneSetPoint2, outReturn, updataIsOverdue } diff --git a/lms/nladmin-ui/src/views/wms/st/outbill/index.vue b/lms/nladmin-ui/src/views/wms/st/outbill/index.vue index 8362bc70a..36df88fc5 100644 --- a/lms/nladmin-ui/src/views/wms/st/outbill/index.vue +++ b/lms/nladmin-ui/src/views/wms/st/outbill/index.vue @@ -319,6 +319,7 @@ + @@ -375,7 +376,7 @@ export default { }, mixins: [presenter(), header(), crud()], // 数据字典 - dicts: ['io_bill_status', 'ST_CREATE_MODE', 'ST_INV_OUT_TYPE', 'is_upload'], + dicts: ['io_bill_status', 'ST_CREATE_MODE', 'ST_INV_OUT_TYPE', 'is_upload', 'IS_OR_NOT'], data() { return { height: document.documentElement.clientHeight - 180 + 'px;', @@ -510,6 +511,9 @@ export default { create_modeFormat(row) { return this.dict.label.ST_CREATE_MODE[row.create_mode] }, + isOverdue(row) { + return this.dict.label.IS_OR_NOT[row.is_overdue] + }, handleCurrentChange(current) { if (current === null) { this.dis_flag = true