From f2f8241dd52ef12ec109f6f4f0f13042055338ac Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期五, 14 二月 2025 14:55:56 +0800
Subject: [PATCH] 修改指派设备 修改设备结构树权限 优化查询 优化排序

---
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java |  102 ++++++++++++++++++++++++++++++--------------------
 1 files changed, 61 insertions(+), 41 deletions(-)

diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java
index a61862f..c7867fa 100644
--- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/ProductInfoServiceImpl.java
@@ -76,6 +76,8 @@
     private IProcessionDepartmentService processionDepartmentService;
     @Autowired
     private IMdcProductionService mdcProductionService;
+    @Autowired
+    private IDocRelativeService iDocRelativeService;
 
     @Override
     @Transactional(rollbackFor = {Exception.class})
@@ -236,6 +238,11 @@
         if(processStreams != null && !processStreams.isEmpty())
             ExceptionCast.cast(ProductInfoCode.PRODUCT_PROCESS_EXIST);
         boolean b = productPermissionService.deleteByProductId(id);
+        //楠岃瘉鏄惁瀛樺湪鏂囨。
+        List<DocRelative> docRelativeList=iDocRelativeService.list(new QueryWrapper<DocRelative>().eq("attribution_type","1").eq("attribution_id",id));
+        if (!docRelativeList.isEmpty()){
+            ExceptionCast.cast(ProductInfoCode.PRODUCT_DOC_EXIST);
+        }
         if(!b)
             ExceptionCast.cast(CommonCode.FAIL);
         b = productDepartmentService.deleteByProductId(id);
@@ -247,18 +254,6 @@
         b = permissionStreamService.deleteDepartPermsByProductId(id);
         if(!b)
             ExceptionCast.cast(CommonCode.FAIL);
-        b = docInfoService.deleteByProductId(id);
-        if(!b)
-            ExceptionCast.cast(CommonCode.FAIL);
-        //娣诲姞鏃ュ織
-        NcLogInfo ncLogInfo = new NcLogInfo();
-        //妯″潡
-        ncLogInfo.setModuleInfo("浜у搧缁撴瀯鏍�");
-        //绫诲瀷
-        ncLogInfo.setOperateType(4);
-        //鏃ュ織鍐呭
-        ncLogInfo.setLogContent("浜у搧鍚嶇О锛�"+productInfo.getProductName());
-        iNcLogInfoService.saveLogNcInfos(ncLogInfo);
         return super.removeById(id);
     }
 
@@ -292,14 +287,14 @@
             ProcessStream processStream=processStreamService.getById(paramId);
             if(processStream == null)
                 ExceptionCast.cast(ProcessInfoCode.PROCESS_NOT_EXIST);
-            PermissionStream permission = permissionStreamService.getByProcessIdAndUserId(processStream.getProcessId(),processStream.getComponentId()
+            PermissionStream permission = permissionStreamService.getByProcessIdAndUserId(processStream.getProductId(),processStream.getComponentId()
                         ,processStream.getPartsId(),processStream.getProcessId(),userId);
             return permission != null;
         }else if (nodeType == 6){
             WorkStep workStep=workStepService.getById(paramId);
             if(workStep == null)
                 ExceptionCast.cast(ProcessInfoCode.WORKSTEP_NOT_EXIST);
-            PermissionStream permission = permissionStreamService.getByStepIdAndUserId(workStep.getProcessId(),workStep.getComponentId()
+            PermissionStream permission = permissionStreamService.getByStepIdAndUserId(workStep.getProductId(),workStep.getComponentId()
                     ,workStep.getPartsId(),workStep.getProcessId(),workStep.getId(),userId);
             return permission != null;
         }
@@ -1092,35 +1087,37 @@
                 String key;
                 ComponentDepartment cp;
                 ComponentInfo cpInfo;
-                for(ComponentInfo c : childrenList){
-                    componentIdList.add(c.getComponentId());
-                    componentInfoMap.put(c.getComponentId(), c);
-                    for(MdcProduction mdcProduction : mdcProductionList){
-                        key = c.getComponentId() + "," + mdcProduction.getId();
-                        cp = new ComponentDepartment(c.getComponentId(), mdcProduction.getId());
-                        componentPermissionMap.put(key, cp);
-                    }
-                }
-                //鏌ヨ宸插瓨鍦ㄧ殑鏉冮檺鏁版嵁
-                List<ComponentDepartment> existList = componentDepartmentService.getByComponentIdsAndDepartIds(componentIdList, ids);
-                if(existList != null && !existList.isEmpty()){
-                    //韪㈠嚭鏉冮檺鏁版嵁
-                    for(ComponentDepartment permission : existList){
-                        key = permission.getComponentId() + "," + permission.getDepartId();
-                        if(componentPermissionMap.containsKey(key)){
-                            componentPermissionMap.remove(key);
+                if(childrenList != null && !childrenList.isEmpty()) {
+                    for (ComponentInfo c : childrenList) {
+                        componentIdList.add(c.getComponentId());
+                        componentInfoMap.put(c.getComponentId(), c);
+                        for (MdcProduction mdcProduction : mdcProductionList) {
+                            key = c.getComponentId() + "," + mdcProduction.getId();
+                            cp = new ComponentDepartment(c.getComponentId(), mdcProduction.getId());
+                            componentPermissionMap.put(key, cp);
                         }
                     }
-                }
-                for(Map.Entry<String, ComponentDepartment> entry : componentPermissionMap.entrySet()){
-                    cp = entry.getValue();
-                    componentPermissionList.add(cp);
-                    cpInfo = componentInfoMap.get(cp.getComponentId());
-                    s = new PermissionStream();
-                    s.setProductId(cpInfo.getProductId());
-                    s.setComponentId(cpInfo.getComponentId());
-                    s.setDepartId(cp.getDepartId());
-                    permissionStreamList.add(s);
+                    //鏌ヨ宸插瓨鍦ㄧ殑鏉冮檺鏁版嵁
+                    List<ComponentDepartment> existList = componentDepartmentService.getByComponentIdsAndDepartIds(componentIdList, ids);
+                    if (existList != null && !existList.isEmpty()) {
+                        //韪㈠嚭鏉冮檺鏁版嵁
+                        for (ComponentDepartment permission : existList) {
+                            key = permission.getComponentId() + "," + permission.getDepartId();
+                            if (componentPermissionMap.containsKey(key)) {
+                                componentPermissionMap.remove(key);
+                            }
+                        }
+                    }
+                    for (Map.Entry<String, ComponentDepartment> entry : componentPermissionMap.entrySet()) {
+                        cp = entry.getValue();
+                        componentPermissionList.add(cp);
+                        cpInfo = componentInfoMap.get(cp.getComponentId());
+                        s = new PermissionStream();
+                        s.setProductId(cpInfo.getProductId());
+                        s.setComponentId(cpInfo.getComponentId());
+                        s.setDepartId(cp.getDepartId());
+                        permissionStreamList.add(s);
+                    }
                 }
 
                 //澶勭悊瀛愰浂浠�
@@ -1924,4 +1921,27 @@
 
         return ProductTreeWrapper.loadTree(productInfoList, componentExtList, partsInfos,processStreams,workSteps);
     }
+
+    @Override
+    public boolean deleteProductTree(String id, Integer type){
+        switch (type) {
+            //浜у搧
+            case 1:
+                return deleteProductInfo(id);
+            //閮ㄩ棬
+            case 2:
+                return componentInfoService.deleteComponentInfo(id);
+            //闆朵欢
+            case 3:
+                return partsInfoService.deletePartsInfo(id);
+            //宸ュ簭
+            case 5:
+                return processStreamService.deleteProcessStream(id);
+            //宸ユ
+            case 6:
+                return workStepService.deleteWorkStep(id);
+            default:
+        }
+        return false;
+    }
 }

--
Gitblit v1.9.3