Ver código fonte

fix: aqct300 推送将单号同步写入新增 qcbadocno 字段

Co-authored-by: Cursor <cursoragent@cursor.com>
admin 3 semanas atrás
pai
commit
7588cff1ae

+ 1 - 1
README.md

@@ -613,7 +613,7 @@ Content-Type: application/json
 
 调用 `POST /api/erp/yida/push` 时传入 `type: "aqct300"`。表头使用 ERP 原始字段;明细分别放入 `detailData1`(检验项目)、`detailData2`(缺点原因)、`detailData3`(计量检验)、`detailData4`(来源明细)。
 
-当前仅发起宜搭流程,不做 ERP 回写。以下字段宜搭无对应控件,推送时丢弃:`qcba005`(交易对象编号)、`qcba010`(料件编号)、`qcba027`(不良数)、`detailData3.qcbd002`(检验位置)。`qcba000` 需直接传宜搭选项值:`IQC` / `FQC` / `Inventory QC`。
+当前仅发起宜搭流程,不做 ERP 回写。以下字段宜搭无对应控件,推送时丢弃:`qcba005`(交易对象编号)、`qcba010`(料件编号)、`qcba027`(不良数)、`detailData3.qcbd002`(检验位置)。`qcba000` 需直接传宜搭选项值:`IQC` / `FQC` / `Inventory QC`。`qcbadocno` 同时写入宜搭「单号」`textField_mt87k1g0` 与新增字段 `textField_muz22qad`。
 
 ```json
 {

+ 3 - 0
src/main/java/com/malk/minglei/service/impl/yida/Aqct300FormPushHandler.java

@@ -47,6 +47,8 @@ public class Aqct300FormPushHandler implements YidaFormPushHandler {
 
     private static final String ENTERPRISE_FIELD_ID = "textField_mt82p09i";
     private static final String DOC_NO_FIELD_ID = "textField_mt87k1g0";
+    /** 表单新增的 qcbadocno 字段,与「单号」同源映射。 */
+    private static final String QCBADOCNO_FIELD_ID = "textField_muz22qad";
     private static final String INSPECTION_TYPE_FIELD_ID = "selectField_mt87k1g3";
     private static final String DOC_DATE_FIELD_ID = "dateField_mt82p09f";
     private static final String SOURCE_QTY_FIELD_ID = "numberField_mt87k1g1";
@@ -197,6 +199,7 @@ public class Aqct300FormPushHandler implements YidaFormPushHandler {
 
         putIfNotBlank(formData, ENTERPRISE_FIELD_ID, mainData.get("qcbaent"));
         putIfNotBlank(formData, DOC_NO_FIELD_ID, docNo);
+        putIfNotBlank(formData, QCBADOCNO_FIELD_ID, docNo);
         putIfNotBlank(formData, INSPECTION_TYPE_FIELD_ID, mainData.get("qcba000"));
         putIfNotBlank(formData, DOC_DATE_FIELD_ID, toDateMillis(mainData.get("qcbadocdt")));
         putIfNotBlank(formData, SOURCE_QTY_FIELD_ID, toDecimal(mainData.get("qcba008")));

+ 1 - 0
src/test/java/com/malk/minglei/service/impl/yida/Aqct300FormPushHandlerTest.java

@@ -143,6 +143,7 @@ class Aqct300FormPushHandlerTest {
         JSONObject formData = JSONObject.parseObject(String.valueOf(body.get("formDataJson")));
         assertEquals("87", formData.getString("textField_mt82p09i"));
         assertEquals("QC-20260921-001", formData.getString("textField_mt87k1g0"));
+        assertEquals("QC-20260921-001", formData.getString("textField_muz22qad"));
         assertEquals("IQC", formData.getString("selectField_mt87k1g3"));
         assertEquals("100", formData.getString("numberField_mt87k1g1"));
         assertEquals("PCS", formData.getString("textField_mt87k1g2"));