From fed01a2550b0d62855ec6f76dad32bc15a57da94 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期二, 08 四月 2025 14:20:30 +0800
Subject: [PATCH] 标准库添加委托要求功能

---
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java |   31 ++++++++++++++++++++++++++++---
 1 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java
index 33a54de..d7b1df1 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java
@@ -75,6 +75,9 @@
     @Autowired
     private StandardProductListSupplierAskBackupRelMapper  standardProductListSupplierAskBackupRelMapper;
 
+    @Autowired
+    private StandardMethodMapper standardMethodMapper;
+
 
     @Override
     public int upStandardProductList(StandardProductList list) {
@@ -86,6 +89,15 @@
         // 鍒ゆ柇褰撳墠鐘舵�� 濡傛灉鏄鏍镐腑
         if(StandardProductListChcekTypeEnums.CHECK_ING.getCode().equals(list.getCheckStatus())){
             throw new RuntimeException("瀹℃牳涓笉鏀寔淇敼");
+        }
+        // 鍒ゆ柇妫�楠岄」鏄惁涓烘槸鍚﹀鎵樿姹� 鏄殑璇濅笉闇�瑕佸仛澶囦唤鍜岀姸鎬佷慨鏀圭洿鎺ユ洿鏂�
+        StructureItemParameter structureItemParameter = structureItemParameterMapper.selectById(standardProductList.getStructureItemParameterId());
+        if(!ObjectUtils.isEmpty(structureItemParameter) && "1".equals(structureItemParameter.getDelegateRequestFlag())){
+            return standardProductListMapper.updateById(list);
+        }
+        // 鍒ゆ柇鏄惁涓虹敓鏁堢殑淇敼濡傛灉鏄笉鍋氬浠�
+        if(null != list.getState()){
+            return standardProductListMapper.updateById(list);
         }
         // 鏌ヨ鏈�鏂扮殑涓�娆″叧鑱斿浠� 濡傛灉瀛樺湪璇存槑鏈鏍稿畬缁х画淇敼浜嗐�備笉鍋氭暟鎹鐞嗐��
         StandardProductListBackupRel standardProductListBackupRel = standardProductListBackupRelMapper.selectById(list.getId());
@@ -383,14 +395,27 @@
         if(StringUtils.isEmpty(checkItemQueryTree.toString())){
             return map;
         }
+        // 鍒ゆ柇鏄惁涓哄鎵樿姹傛爣鍑�
+        StandardMethod standardMethod = standardMethodMapper.selectById(id);
+        if(ObjectUtils.isEmpty(standardMethod)){
+            return map;
+        }
+        StructureItemParameterDto structureItemParameterDto = new StructureItemParameterDto();
+        if(standardMethod.getName().equals("濮旀墭瑕佹眰")){
+            structureItemParameterDto.setDelegateRequestFlag("1");
+        }else {
+            structureItemParameterDto.setDelegateRequestFlag("0");
+        }
+        structureItemParameterDto.setTree(checkItemQueryTree.toString());
+
         // 鏍规嵁妫�楠屽璞�/浜у搧鏌ヨ妫�楠岄」
-        List<StructureItemParameter> structureItemParameterList = structureItemParameterMapper.selectItemParameterBySample(checkItemQueryTree.toString());
+        List<StructureItemParameter> structureItemParameterList = structureItemParameterMapper.selectItemParameterBySample(structureItemParameterDto);
         // 濡傛灉鏄骇鍝佺殑妫�鏌ラ」涓虹┖鍚戜笂鎺�
         if(CollectionUtils.isEmpty(structureItemParameterList)){
             String query = "[\"" + sampleType + "\"]";
-            structureItemParameterList = structureItemParameterMapper.selectItemParameterBySample(query);
+            structureItemParameterDto.setTree(query);
+            structureItemParameterList = structureItemParameterMapper.selectItemParameterBySample(structureItemParameterDto);
         }
-
         // 鏌ヨ鏍囧噯搴撳凡缁戝畾妫�鏌ラ」鐩�
         List<StandardProductList> standardProductList = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
                 .eq(StandardProductList::getStandardMethodListId, id)

--
Gitblit v1.9.3