From e16302f9d475c7cc4dd18c5abf1a23cb5502e362 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期三, 28 五月 2025 14:57:56 +0800
Subject: [PATCH] 密码验证加-

---
 src/main/java/com/whyc/service/WorkflowLinkService.java |  153 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 145 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/whyc/service/WorkflowLinkService.java b/src/main/java/com/whyc/service/WorkflowLinkService.java
index 5e89502..f4a3231 100644
--- a/src/main/java/com/whyc/service/WorkflowLinkService.java
+++ b/src/main/java/com/whyc/service/WorkflowLinkService.java
@@ -55,6 +55,19 @@
     @Autowired(required = false)
     private FaultUploadMapper faultUploadMapper;
 
+    @Autowired(required = false)
+    private BattAlarmDataVerifyMapper alarmDataVerifyMapper;
+
+    @Autowired(required = false)
+    private DevAlarmDataVerifyMapper devAlarmDataVerifyMapper;
+
+    @Autowired(required = false)
+    private PwrDevAlarmVerifyMapper pwrDevAlarmVerifyMapper;
+
+
+    @Autowired(required = false)
+    private AlarmManualClearMapper alarmManualClearMapper;
+
     @Autowired
     private FaultUploadApplicationService faultUploadApplicationService;
 
@@ -79,6 +92,28 @@
         Date now = new Date();
         int userId = ActionUtil.getUser().getUId().intValue();
         switch (processLevel){
+            case "P0":{ //褰撳墠鑺傜偣杩囩▼0-涓撳憳瀹℃牳
+                link.setDealUserId(userId);
+                if(link.getStatus() == WorkflowEnum.STATUS_REJECT.getValue().intValue()){ //椹冲洖
+                    updateLinkFieldAndFinish(link);
+                }else{ //閫氳繃
+                    updateLinkField(link);
+                    //鏂板缓涓嬩竴鑺傜偣-绠$悊灞�
+                    WorkflowLink linkNew = new WorkflowLink();
+                    linkNew.setMainId(link.getMainId());
+                    linkNew.setParentId(link.getId());
+                    linkNew.setProcessLevel(WorkflowDischargePlanEnum.PROCESS_MANAGER1SIGN.getProcessLevel());
+                    linkNew.setProcessLevelName(WorkflowDischargePlanEnum.PROCESS_MANAGER1SIGN.getProcessLevelName());
+                    linkNew.setCreateTime(now);
+                    linkNew.setDealRoleId(RoleEnum.ADMIN.getId());
+                    linkNew.setDealType(WorkflowEnum.TYPE_TRANSFER_DISPATCH.getValue());
+                    String dealUserName = ActionUtil.getUser().getUName();
+                    linkNew.setDealDesc(dealUserName+"瀹℃牳瀹屾垚");
+                    linkNew.setStatus(WorkflowEnum.STATUS_TAKING.getValue());
+                    mapper.insert(linkNew);
+                }
+                break;
+            }
             case "P1"://褰撳墠鑺傜偣涓鸿繃绋�1-浼氱,鏈満鏅病鏈夋嫆缁濋�夐」
             {
                 battDischargePlanTempService.updateList(tempList);
@@ -100,7 +135,7 @@
                 }
                 break;
             }
-            case "P2"://褰撳墠鑺傜偣涓鸿繃绋�2-绠$悊瀹℃牳
+            case "P2"://褰撳墠鑺傜偣涓鸿繃绋�2-绠$悊涓撹矗瀹℃牳
             {
                 link.setDealUserId(userId);
                 if(link.getStatus() == WorkflowEnum.STATUS_REJECT.getValue().intValue()){ //椹冲洖
@@ -127,12 +162,13 @@
             {
                 link.setDealUserId(userId);
                 updateLinkFieldAndFinish(link);
-
-                Integer mainId = link.getMainId();
-                WorkflowMain main = mainService.getOne(mainId);
-                if(main.getType()==1){ //灏嗚鍒掕浆绉诲埌姝e紡琛�
-                    List<BattDischargePlanTemp> tempListByMain = battDischargePlanTempService.getListByMainId(mainId);
-                    planService.insertConfirmDischargePlan(tempListByMain);
+                if(link.getStatus().intValue() == WorkflowEnum.STATUS_FINISH.getValue()) {
+                    Integer mainId = link.getMainId();
+                    WorkflowMain main = mainService.getOne(mainId);
+                    if (main.getType() == 1) { //灏嗚鍒掕浆绉诲埌姝e紡琛�
+                        List<BattDischargePlanTemp> tempListByMain = battDischargePlanTempService.getListByMainId(mainId);
+                        planService.insertConfirmDischargePlan(tempListByMain);
+                    }
                 }
                 break;
             }
@@ -160,6 +196,8 @@
                 if(link.getStatus() == WorkflowEnum.STATUS_REJECT.getValue().intValue()){ //椹冲洖
                     updateLinkFieldAndFinish(link);
                 }else{ //閫氳繃
+                    //涓昏〃鏇存柊灞傜骇
+                    mainService.updateProcessLevel("P3",link.getMainId());
                     updateLinkField(link);
                     //鏂板缓涓嬩竴鑺傜偣-棰嗗灞�
                     WorkflowLink linkNew = new WorkflowLink();
@@ -253,6 +291,47 @@
         return statistics;
     }
 
+    /**
+     *
+     * 浜屾鏍稿鍜岄殣鎮f晠闅滅殑缁熻
+     *
+     * 澧炲姞浜嗗叏閮� 0
+     * 0:鍏ㄩ儴
+     * 1:瀹℃壒涓�
+     * 2:閫氳繃
+     * 3:椹冲洖
+     *
+     * status鍚箟:1-寰呮帴鍗�,6-寰呭鏍�,58-宸插鏍�
+     * @param type
+     * @param user
+     * @return
+     */
+    public Response getReceivedStatistics2(int type, UserInf user) {
+        Map<Integer,Integer> statistics = new HashMap<>();
+        statistics.put(0,0);
+        statistics.put(1,0);
+        statistics.put(2,0);
+        statistics.put(3,0);
+        List<WorkflowLink> links = mapper.getReceivedList2(type,user);
+        Map<Integer, List<WorkflowLink>> receivedListMap = links.stream().collect(Collectors.groupingBy(WorkflowLink::getStatus));
+        Set<Integer> statusSet = receivedListMap.keySet();
+        int sum = 0;
+        for (Integer status : statusSet) {
+            int size = receivedListMap.get(status).size();
+            if (status == 1 || status == 6) { //瀹℃壒涓�
+                statistics.put(1, statistics.get(1) + size);
+            } else if(status == 5){ //閫氳繃
+                statistics.put(2, size);
+            }else if(status == 8){ //椹冲洖
+                statistics.put(3,size);
+            }
+            sum+=size;
+        }
+        statistics.put(0,sum);
+        return new Response().set(1,statistics);
+    }
+
+
     public void add(WorkflowLink link) {
         mapper.insert(link);
     }
@@ -275,13 +354,17 @@
                     //鏂板缓涓嬩竴鑺傜偣-棰嗗灞�
                     WorkflowLink linkNew = new WorkflowLink();
                     linkNew.setMainId(link.getMainId());
+                    linkNew.setProcessLevel("P3");
+                    linkNew.setProcessLevelName("棰嗗瀹℃壒");
                     linkNew.setParentId(link.getId());
                     linkNew.setCreateTime(now);
                     linkNew.setDealRoleId(RoleEnum.LEADER.getId());
                     linkNew.setDealType(WorkflowEnum.TYPE_TRANSFER_DISPATCH.getValue());
                     linkNew.setDealDesc("棰嗗灞傚鐞嗕腑");
-                    linkNew.setStatus(WorkflowEnum.STATUS_WAIT_FOR_APPROVE.getValue());
+                    linkNew.setStatus(WorkflowEnum.STATUS_TAKING.getValue());
                     mapper.insert(linkNew);
+                    //淇敼涓昏〃鐨勬祦绋�
+                    mainService.updateProcessLevel("P3", link.getMainId());
                 }
                 break;
             }
@@ -305,6 +388,36 @@
         PageHelper.startPage(pageNum, pageSize);
         List<WorkflowLink> list = mapper.searchTmp(uId, uRole, type, status);
         PageInfo pageInfo = new PageInfo(list);
+        //杩藉姞鏈烘埧淇℃伅
+        if(type !=1) { //1涓烘煡璇㈡斁鐢佃鍒�,涓嶈拷鍔犳満鎴夸俊鎭�
+            List<Integer> mainIdList = list.stream().map(WorkflowLink::getMainId).collect(Collectors.toList());
+            //浠庝簩娆℃牳瀹规煡璇�
+            List<StationInf> stationInfList = tmpMapper.getStationInfWithSpecificMainId(mainIdList);
+            //浠庢晠闅滈殣鎮f煡璇�
+            List<StationInf> stationInfList2 = faultUploadApplicationService.getStationInfWithSpecificMainId(mainIdList);
+
+            list.forEach(link -> {
+                if(link.getWorkflowMain().getType().intValue() == WorkflowEnum.MAIN_TYPE_DISCHARGE_DIST.getValue()){
+                    for (StationInf stationInf : stationInfList) {
+                        if(stationInf.getTogetherFlag() == link.getMainId()){
+                            link.setStationInf(stationInf);
+                            break;
+                        }
+                    }
+                }
+                else if(link.getWorkflowMain().getType().intValue() == WorkflowEnum.MAIN_TYPE_FAULT_UPLOAD.getValue()){
+                    for (StationInf stationInf : stationInfList2) {
+                        if(stationInf.getTogetherFlag() == link.getMainId()){
+                            link.setStationInf(stationInf);
+                            break;
+                        }
+                    }
+                }
+            });
+        }
+
+
+
         return new Response().setII(1, list == null ? false : true, pageInfo, "鏌ヨ鑺傜偣(闄ゆ斁鐢佃鍒掍箣澶栫殑)");
     }
 
@@ -390,6 +503,30 @@
             infWrapper.last("limit 1");
             StationInf sinf = stationInfMapper.selectOne(infWrapper);
             map.put("sinf", sinf);
+            QueryWrapper almWrapper = new QueryWrapper();
+            almWrapper.eq("alm_solekey", faultUpload.getAlarmNum());
+            almWrapper.last("limit 1");
+            if (faultUpload.getAlarmType() == 1) {//鐢垫睜鍛婅
+                BattAlarmDataVerify battAlm = alarmDataVerifyMapper.selectOne(almWrapper);
+                map.put("alarm", battAlm);
+            } else if (faultUpload.getAlarmType() == 2) {//璁惧鍛婅
+                DevAlarmDataVerify devAlm = devAlarmDataVerifyMapper.selectOne(almWrapper);
+                map.put("alarm", devAlm);
+            } else if (faultUpload.getAlarmType() == 3) {//鐢垫簮鍛婅
+                PwrDevAlarmVerify pwrAlm = pwrDevAlarmVerifyMapper.selectOne(almWrapper);
+                map.put("alarm", pwrAlm);
+            }
+        }
+        //鏌ヨ鏄惁瑙e喅
+        //鏌ヨ鏁呴殰闅愭偅鐢宠琛�
+        QueryWrapper clearWrapper = Wrappers.query();
+        clearWrapper.eq("main_id", mid);
+        clearWrapper.last("limit 1");
+        AlarmManualClear alarmManualClear = alarmManualClearMapper.selectOne(clearWrapper);
+        if (alarmManualClear != null) {
+            map.put("clearFlag", true);
+        } else {
+            map.put("clearFlag", false);
         }
         //main琛ㄥ崟淇℃伅
         QueryWrapper mainWrapper = Wrappers.query();

--
Gitblit v1.9.1