From 79841a6a5ecd713a9f02d23552619cbba1c991ad Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 06 三月 2026 17:42:40 +0800
Subject: [PATCH] fix:班次页面问题修复

---
 inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java |   76 +++++++++++++++++++++----------------
 1 files changed, 43 insertions(+), 33 deletions(-)

diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java
index 3573090..9565c99 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/PushIfsPartPropsRecordAspect.java
@@ -1,6 +1,8 @@
 package com.ruoyi.inspect.aspect;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.ruoyi.basic.dto.IfsInventoryQuantityDto;
@@ -47,42 +49,50 @@
         Object[] args = joinPoint.getArgs();
         if(Objects.nonNull(args) && args.length>0) {
             Long ifsInventoryId = (Long)args[0];
-            log.info("id:{}",ifsInventoryId);
             IfsInventoryQuantity ifsInventoryQuantity = ifsInventoryQuantityMapper.selectById(ifsInventoryId);
-            //濡傛灉璁㈠崟鏄疜JNS鍩熺殑澶栬喘璁㈠崟锛屽厤妫�鏃跺悓姝TNS鍩熺殑IFS鎵规灞炴��
-            if(StringUtils.equals(ContractType.KJNS.getValue(),ifsInventoryQuantity.getContract()) && StringUtils.equals(OrderType.WG.getValue(),ifsInventoryQuantity.getOrderType())){
-                //鏌ヨZTNS鍩熺殑鐩稿悓鎵规璁㈠崟娑堟伅
-                IfsInventoryQuantityDto ifsInventoryQuantityDto = new IfsInventoryQuantityDto();
-                BeanUtil.copyProperties(ifsInventoryQuantity,ifsInventoryQuantityDto);
-                ifsInventoryQuantityDto.setContract(ContractType.ZTNS.getValue());
-                IfsPartPropsRecordDTO oneByContract = ifsPartPropsRecordService.getOneByContract(ifsInventoryQuantityDto);
-                if(Objects.nonNull(oneByContract)){
-                    //鏇存柊IFS鎵规灞炴��
-                    Map<String, Object> inAttrMap = new HashMap<>();
-                    String actionType = "New";
-                    inAttrMap.put("RECORD_ID", UUID.randomUUID().toString());
-                    inAttrMap.put("SYSCODE", "LIMS");
-                    inAttrMap.put("SYSMODEL", "搴撳瓨鐗╂枡鎵规灞炴�т慨鏀�");
-                    HashMap<String, Object> batchInfoMap = new HashMap<>();
-                    batchInfoMap.put("CONTRACT",ContractType.KJNS.getValue());//鍩�
-                    batchInfoMap.put("PART_NO",oneByContract.getPartNo());//闆朵欢鍙�
-                    batchInfoMap.put("LOT_BATCH_NO",oneByContract.getLotBatchNo());//鎵规鍙�
-                    batchInfoMap.put("ATTR1",oneByContract.getDrumNo());//杞藉叿缂栧彿
-                    batchInfoMap.put("ATTR2",oneByContract.getStartMeterMark().toString());//璧峰绫虫爣
-                    batchInfoMap.put("ATTR3",oneByContract.getEndMeterMark().toString());//鎴绫虫爣
-                    batchInfoMap.put("ATTR4", oneByContract.getOuterColor());//澶栨姢棰滆壊
-                    batchInfoMap.put("ATTR5",oneByContract.getInsulationColor());//缁濈紭棰滆壊
-                    batchInfoMap.put("ATTR8",oneByContract.getLetteringInfo());//鍗板瓧淇℃伅
-                    batchInfoMap.put("ATTR23","杞﹂棿璁㈠崟");//鍏ュ簱鏉ユ簮
-                    batchInfoMap.put("ATTR24","0");//鍒嗗壊棰勭暀鏁伴噺
-                    batchInfoMap.put("ACTION_TYPE",actionType);//鎿嶄綔绫诲瀷
-                    inAttrMap.put("BATCH_INFO", Collections.singletonList(batchInfoMap));
-                    Result result = ifsApiUtils.importPartLotAttr(ContractType.KJNS.getValue(), JSONUtil.toJsonStr(inAttrMap));
-                    if(result.getCode()!=200){
-                        throw new RuntimeException("搴撳瓨鐗╂枡鎵规灞炴�ф洿鏂板け璐ワ細"+result.getMessage());
+            //鏌ヨifs鎵规灞炴�ц褰曪紝鏈夊垯涓嶆墽琛屾搷浣�
+            Map<String, Object> queryMap = new HashMap<>();
+            queryMap.put("LOT_BATCH_NO",ifsInventoryQuantity.getUpdateBatchNo());
+            queryMap.put("PART_NO",ifsInventoryQuantity.getPartNo());
+            Result queryPartLotResult = ifsApiUtils.queryPartLotAttr(ContractType.KJNS.getValue(), JSONUtil.toJsonStr(queryMap));
+            if(queryPartLotResult.getCode()==200){
+                JSONObject entries = JSONUtil.parseObj(queryPartLotResult.getData());
+                JSONArray listInfo = entries.getJSONArray("LIST_INFO");
+                //濡傛灉璁㈠崟鏄疜JNS鍩熺殑澶栬喘璁㈠崟锛屽厤妫�鏃跺悓姝TNS鍩熺殑IFS鎵规灞炴��
+                if(StringUtils.equals(ContractType.KJNS.getValue(),ifsInventoryQuantity.getContract()) && StringUtils.equals(OrderType.WG.getValue(),ifsInventoryQuantity.getOrderType()) && listInfo.isEmpty()){
+                    //鏌ヨZTNS鍩熺殑鐩稿悓鎵规璁㈠崟娑堟伅
+                    IfsInventoryQuantityDto ifsInventoryQuantityDto = new IfsInventoryQuantityDto();
+                    BeanUtil.copyProperties(ifsInventoryQuantity,ifsInventoryQuantityDto);
+                    ifsInventoryQuantityDto.setContract(ContractType.ZTNS.getValue());
+                    IfsPartPropsRecordDTO oneByContract = ifsPartPropsRecordService.getOneByContract(ifsInventoryQuantityDto);
+                    if(Objects.nonNull(oneByContract)){
+                        //鏇存柊IFS鎵规灞炴��
+                        Map<String, Object> inAttrMap = new HashMap<>();
+                        String actionType = "New";
+                        inAttrMap.put("RECORD_ID", UUID.randomUUID().toString());
+                        inAttrMap.put("SYSCODE", "LIMS");
+                        inAttrMap.put("SYSMODEL", "搴撳瓨鐗╂枡鎵规灞炴�т慨鏀�");
+                        HashMap<String, Object> batchInfoMap = new HashMap<>();
+                        batchInfoMap.put("CONTRACT",ContractType.KJNS.getValue());//鍩�
+                        batchInfoMap.put("PART_NO",oneByContract.getPartNo());//闆朵欢鍙�
+                        batchInfoMap.put("LOT_BATCH_NO",oneByContract.getLotBatchNo());//鎵规鍙�
+                        batchInfoMap.put("ATTR1",oneByContract.getDrumNo());//杞藉叿缂栧彿
+                        batchInfoMap.put("ATTR2",oneByContract.getStartMeterMark().toString());//璧峰绫虫爣
+                        batchInfoMap.put("ATTR3",oneByContract.getEndMeterMark().toString());//鎴绫虫爣
+                        batchInfoMap.put("ATTR4", oneByContract.getOuterColor());//澶栨姢棰滆壊
+                        batchInfoMap.put("ATTR5",oneByContract.getInsulationColor());//缁濈紭棰滆壊
+                        batchInfoMap.put("ATTR8",oneByContract.getLetteringInfo());//鍗板瓧淇℃伅
+                        batchInfoMap.put("ATTR23","杞﹂棿璁㈠崟");//鍏ュ簱鏉ユ簮
+                        batchInfoMap.put("ATTR24","0");//鍒嗗壊棰勭暀鏁伴噺
+                        batchInfoMap.put("ACTION_TYPE",actionType);//鎿嶄綔绫诲瀷
+                        inAttrMap.put("BATCH_INFO", Collections.singletonList(batchInfoMap));
+                        Result result = ifsApiUtils.importPartLotAttr(ContractType.KJNS.getValue(), JSONUtil.toJsonStr(inAttrMap));
+                        if(result.getCode()!=200){
+                            throw new RuntimeException("搴撳瓨鐗╂枡鎵规灞炴�ф洿鏂板け璐ワ細"+result.getMessage());
+                        }
                     }
+                    ifsPartPropsRecordService.save(oneByContract);
                 }
-                ifsPartPropsRecordService.save(oneByContract);
             }
         }
     }

--
Gitblit v1.9.3