From 3721176292747e250787e3b4b209bb89202990b0 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期日, 04 五月 2025 21:15:37 +0800 Subject: [PATCH] 质检结果回写问题修复 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java | 17 +++++ rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx | 4 + rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml | 99 ++++++++++++++++++--------------- rsf-admin/src/i18n/zh.js | 2 rsf-admin/src/i18n/en.js | 2 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java | 2 6 files changed, 78 insertions(+), 48 deletions(-) diff --git a/rsf-admin/src/i18n/en.js b/rsf-admin/src/i18n/en.js index 04b334c..ac65feb 100644 --- a/rsf-admin/src/i18n/en.js +++ b/rsf-admin/src/i18n/en.js @@ -585,6 +585,8 @@ purUnit: "purUnit", unit: 'Unit', qty: "qty", + safeQty: 'Safe Qty', + disQty: 'Def Qty', splrCode: "splrCode", splrName: "splrName", qrcode: "qrcode", diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js index a2adb4f..256c6a2 100644 --- a/rsf-admin/src/i18n/zh.js +++ b/rsf-admin/src/i18n/zh.js @@ -575,6 +575,8 @@ purUnit: "閲囪喘鍗曚綅", unit: '鍗曚綅', qty: "瀹屾垚鏁伴噺", + safeQty: '鍚堟牸鏁�', + disQty: '涓嶅悎鏍兼暟', splrBatch: "渚涘簲鍟嗘壒娆�", splrCode: "渚涘簲鍟嗙紪鐮�", splrName: "渚涘簲鍟嗗悕绉�", diff --git a/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx b/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx index 5ac578b..93e1f8c 100644 --- a/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx +++ b/rsf-admin/src/page/orders/asnOrder/AsnOrderItemList.jsx @@ -137,7 +137,7 @@ setSelect(record) setEditDialog(true) }} - omit={['id', 'createTime', 'purQty', 'purUnit', 'poDetlCode', 'createBy', 'memo','model', 'packName','splrCode', 'qrcode', 'poDetlId', 'matnrId', 'asnId']} + omit={['id', 'createTime', 'purQty', 'purUnit', 'poDetlCode', 'createBy', 'memo', 'model', 'packName', 'splrCode', 'qrcode', 'poDetlId', 'matnrId', 'asnId']} > <NumberField source="id" /> <NumberField source="asnId" label="table.field.asnOrderItem.asnId" /> @@ -155,6 +155,8 @@ <NumberField source="purQty" label="table.field.asnOrderItem.purQty" /> <TextField source="purUnit" label="table.field.asnOrderItem.purUnit" /> <NumberField source="qty" label="table.field.asnOrderItem.qty" /> + <NumberField source="safeQty" label="table.field.asnOrderItem.safeQty" /> + <NumberField source="disQty" label="table.field.asnOrderItem.disQty" /> <TextField source="isptResult$" label="table.field.asnOrderItem.isptResult" /> <TextField source="splrCode" label="table.field.asnOrderItem.splrCode" /> <TextField source="splrName" label="table.field.asnOrderItem.splrName" /> diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java index a2a2377..18b0a4a 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/AsnOrderItem.java @@ -198,7 +198,7 @@ * 璐ㄦ鐘舵�� */ @ApiModelProperty("璐ㄦ鐘舵��") - private Double isptStatus; + private Short isptStatus; /** * 鐘舵�� 1: 姝e父 0: 鍐荤粨 diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java index ea34d24..04257e1 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java @@ -30,6 +30,7 @@ @Autowired private QlyInspectService qlyInspectService; + @Autowired private AsnOrderItemService asnOrderItemService; /** @@ -82,9 +83,23 @@ items.forEach(qlyIsptItem -> { AsnOrderItem orderItem = asnOrderItemService.getById(qlyIsptItem.getAsnItemId()); if (qlyIsptItem.getSafeQty().compareTo(orderItem.getAnfme()) >= 0.00) { - orderItem.setIsptResult() + orderItem.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_EXCELLENT.val) + .setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_DONE.val); + } else if (qlyIsptItem.getSafeQty().compareTo(0.00) > 0.00 && qlyIsptItem.getSafeQty().compareTo(orderItem.getAnfme()) < 0.00) { + orderItem.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_SECTION.val); + if (Double.compare(qlyIsptItem.getSafeQty() + qlyIsptItem.getDisQty(), orderItem.getAnfme()) >= 0.00 ) { + orderItem.setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_DONE.val); + } else { + orderItem.setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_ING.val); + } + } else { + orderItem.setIsptResult(QlyIsptResult.QLY_ISPT_RESULT_DEFECT.val) + .setIsptStatus(QlyIsptStatus.QLY_ISPT_STAS_DONE.val); } + if (!asnOrderItemService.updateById(orderItem)) { + throw new CoolException("鏀惰揣鍗曟槑缁嗕慨鏀瑰け璐ワ紒锛�"); + } }); Double safeQty = items.stream().mapToDouble(QlyIsptItem::getSafeQty).sum(); Double disQty = items.stream().mapToDouble(QlyIsptItem::getDisQty).sum(); diff --git a/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml b/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml index f28f4d0..6d3ab9c 100644 --- a/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml +++ b/rsf-server/src/main/resources/mapper/manager/AsnOrderItemMapper.xml @@ -4,52 +4,61 @@ <select id="resultForMap" resultType="java.util.Map"> SELECT - id, - asn_id, - asn_code, - plat_item_id, - po_detl_id, - po_code, - fields_index, - matnr_id, - matnr_code, - maktx, - anfme, - stock_unit, - pur_qty, - pur_unit, - prod_time, - qty, - splr_code, - splr_batch, - splr_name, - qrcode, - track_code, - barcode, - pack_name, - nty_status, - `status`, - case ispt_result - when 0 then - '鏈' - when 1 then - '鍚堟牸' - when 2 then - '涓嶅悎鏍�' - when 3 then - '寰呭畾' - when 4 then - '閮ㄥ垎鍚堟牸' - end as isptResult$, - deleted, - tenant_id, - create_by, - create_time, - update_by, - update_time, - memo + * FROM - man_asn_order_item + ( + SELECT + aoi.id, + aoi.asn_id, + aoi.asn_code, + aoi.plat_item_id, + aoi.po_detl_id, + aoi.po_code, + aoi.fields_index, + aoi.matnr_id, + aoi.matnr_code, + aoi.maktx, + aoi.anfme, + aoi.stock_unit, + aoi.pur_qty, + aoi.pur_unit, + aoi.prod_time, + aoi.qty, + qii.safe_qty, + qii.dis_qty, + aoi.splr_code, + aoi.splr_batch, + aoi.splr_name, + aoi.qrcode, + aoi.track_code, + aoi.barcode, + aoi.pack_name, + aoi.nty_status, + aoi.`status`, + CASE + aoi.ispt_result + WHEN 0 THEN + '鏈' + WHEN 1 THEN + '鍚堟牸' + WHEN 2 THEN + '涓嶅悎鏍�' + WHEN 3 THEN + '寰呭畾' + WHEN 4 THEN + '閮ㄥ垎鍚堟牸' + END AS isptResult$, + aoi.deleted, + aoi.tenant_id, + aoi.create_by, + aoi.create_time, + aoi.update_by, + aoi.update_time, + aoi.memo + FROM + man_asn_order_item aoi + INNER JOIN man_qly_ispt_item qii ON aoi.id = qii.asn_item_id + ) t ${ew.customSqlSegment} </select> </mapper> -- Gitblit v1.9.1