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