From 0aea8bd18daaaf91e622fdcfdd81dbb2e1b4860c Mon Sep 17 00:00:00 2001
From: swb <jpy123456>
Date: Mon, 21 Oct 2024 09:01:18 +0800
Subject: [PATCH] fix:立行立改责任主体修改提交

---
 screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java |   90 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 76 insertions(+), 14 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
index 980ad02..cbfde2a 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
@@ -23,6 +23,7 @@
 import com.moral.api.pojo.ext.allocation.AllocationExt;
 import com.moral.api.pojo.ext.allocation.AllocationListExt;
 import com.moral.api.pojo.ext.allocation.AllocationPageExt;
+import com.moral.api.pojo.ext.responsibility.ResponsibilityUnitExt;
 import com.moral.api.pojo.query.allocation.*;
 import com.moral.api.pojo.query.allocationextension.AllocationExtensionAddCond;
 import com.moral.api.pojo.query.app.AppAllocationFileCond;
@@ -210,9 +211,13 @@
     public Map<String, Object> selectUnitView(Map<String, Object> map) {
         QueryWrapper<Allocation> wrapper = new QueryWrapper<>();
         //������������������
+
         List<Integer> list = this.unitResult();
         if (!ObjectUtils.isEmpty(map.get("unitId"))){
-            wrapper.in("unit_id",map.get("unitId").toString());
+            String unitId = map.get("unitId").toString();
+//            unitId.split(",");
+            List<String> list1 = Arrays.asList(unitId.split(","));
+            wrapper.in("unit_id",list1);
         }else {
             if (!ObjectUtils.isEmpty(list)){
                 Integer integer = list.get(0);
@@ -243,8 +248,11 @@
         if (!number1.equals("0")){
             String s = "-"+number1;
             //������������������
-            endTime = DateUtils.getCurDateTime();
-            startTime = DateUtils.getDateStringOfMon(Integer.parseInt(s), DateUtils.yyyy_MM_dd_HH_mm_ss_EN);
+//            endTime = DateUtils.getCurDateTime();
+//            endTime = DateUtils.getCurDate();
+            endTime = DateUtils.getDateOfDay(DateUtils.getCurDate(), 1, DateUtils.yyyy_MM_dd_EN);
+            startTime = DateUtils.getDateStringOfMon(Integer.parseInt(s), DateUtils.yyyy_MM_dd_EN);
+
         }
 
         wrapper.between("escalation_time",startTime,endTime);
@@ -310,15 +318,16 @@
             //������
             int deduction=0;
             int number=0;
+
             for (Allocation allocation : allocations1) {
                 String state = allocation.getState()+"";
                 Integer changeType = allocation.getChangeType();
                 String value = ChangeEnum.DEADLINE.value.toString();
                 if (value.equals(changeType+"")){
-                    Date dateOfDay = DateUtils.getDateOfDay(allocation.getEscalationTime(), allocation.getChangeDay());
+                    Date dateOfDay = DateUtils.getDateOfDay(allocation.getEscalationTime(), allocation.getChangeDay()+1);
                     Date date = new Date();
                     boolean timeBefor = DateUtils.isTimeBefor(date, dateOfDay);
-                    if (timeBefor && !state.equals("40") && !state.equals("50") && !state.equals("9")){
+                    if (timeBefor && !state.equals("40") && !state.equals("50") && !state.equals("9")&&!state.equals("30")){
                         //������������
                         overdue++;
                     }
@@ -372,7 +381,11 @@
         //������������������
         List<Integer> list = this.unitResult();
         if (!ObjectUtils.isEmpty(map.get("unitId"))){
-            wrapper.in("unit_id",map.get("unitId").toString());
+            String unitId = map.get("unitId").toString();
+//            unitId.split(",");
+            List<String> list1 = Arrays.asList(unitId.split(","));
+            wrapper.in("unit_id",list1);
+//            wrapper.in("unit_id",map.get("unitId").toString());
         }else {
             if (!ObjectUtils.isEmpty(list)){
                 Integer integer = list.get(0);
@@ -391,14 +404,14 @@
         String endTime=null;
         if (!ObjectUtils.isEmpty(map.get("startTime")) || !ObjectUtils.isEmpty(map.get("endTime"))){
             startTime = map.get("startTime").toString();
-            endTime = map.get("endTime").toString();
+            endTime = DateUtils.getDateOfDay(map.get("endTime").toString(), 1, DateUtils.yyyy_MM_dd_EN);
 
         }
         if (Integer.parseInt(number1.toString())>0){
             String s = "-"+number1;
             //������������������
-            endTime = DateUtils.getCurDateTime();
-            startTime = DateUtils.getDateStringOfMon(Integer.parseInt(s), DateUtils.yyyy_MM_dd_HH_mm_ss_EN);
+            endTime = DateUtils.getDateOfDay(DateUtils.getCurDate(), 1, DateUtils.yyyy_MM_dd_EN);
+            startTime = DateUtils.getDateStringOfMon(Integer.parseInt(s), DateUtils.yyyy_MM_dd_EN);
         }
 
         wrapper.between("escalation_time",startTime,endTime);
@@ -408,6 +421,15 @@
         if (ObjectUtils.isEmpty(allocations)){
             return null;
         }
+        int totals=0;
+        int sum1=0;
+        int sum2=0;
+        int sum3=0;
+        int sum4=0;
+        int deductions=0;
+        int score=0;
+        int sum5=0;
+
         //������������������������
         Map<Integer, List<Allocation>> unitMap = allocations.stream().collect(Collectors.groupingBy(o -> o.getUnitId()));
         Set<Integer> unitList = unitMap.keySet();
@@ -423,6 +445,15 @@
             //������
             int deduction=0;
             int number=0;
+            Map<Integer, List<Allocation>> collect = allocations1.stream().collect(Collectors.groupingBy(o -> o.getState()));
+            //������
+            List<Allocation> allocations2 = collect.get(20);
+            //������
+            List<Allocation> allocations3 = collect.get(30);
+            //������
+            List<Allocation> allocations4 = collect.get(40);
+            //������
+            List<Allocation> allocations5 = collect.get(50);
             for (Allocation allocation : allocations1) {
                 String state = allocation.getState()+"";
                 if (state.equals("40")||state.equals("50")){
@@ -437,16 +468,44 @@
             int total = allocations1.size();
             String rate = (number * 100 /total)+"%";
 
+            int i1 = ObjectUtils.isEmpty(allocations2) ? 0 : allocations2.size();
+            int i2 = ObjectUtils.isEmpty(allocations3) ? 0 : allocations3.size();
+            int i3 = ObjectUtils.isEmpty(allocations4) ? 0 : allocations4.size();
+            int i4 = ObjectUtils.isEmpty(allocations5) ? 0 : allocations5.size();
             map1.put("������������",areaByCode.getAreaName());
             map1.put("���������",total);
-            map1.put("���������",number);
-            map1.put("������������",total-number);
+            map1.put("������",i1);
+            map1.put("������",i2);
+            map1.put("������",i3);
+            map1.put("������",i4);
+//            map1.put("���������",number);
+//            map1.put("������������",total-number);
             map1.put("���������",rate);
             map1.put("������",deduction);
             map1.put("������",marks);
             map1.put("���������",marks+deduction);
             rsMap.add(map1);
+            //������
+            totals = totals + total;
+            sum1 = sum1 + i1;
+            sum2 = sum2 + i2;
+            sum3 = sum3 + i3;
+            sum4 = sum4 + i4;
+            deductions = deductions + deduction;
+            score = score + marks;
+            sum5 = sum5 + marks+deduction;
         }
+        HashMap<String, Object> map1 = new HashMap<>();
+        map1.put("������������","������");
+        map1.put("���������",totals);
+        map1.put("������",sum1);
+        map1.put("������",sum2);
+        map1.put("������",sum3);
+        map1.put("������",sum4);
+        map1.put("������",deductions);
+        map1.put("������",score);
+        map1.put("���������",sum5);
+        rsMap.add(map1);
         return rsMap;
     }
 
@@ -967,16 +1026,19 @@
 
     @Override
     public Integer unitAreaCode() {
+        // 1 ��������� 0������ 2 ������������
         QxUser user = UserHelper.getCurrentUser();
         List<Integer> userList = responsibilityUnitMapper.selectCodeList(SysDictTypeEnum.SYS_JBD.getValue(),user.getUserId());
         if(CollectionUtils.isNotEmpty(userList)){
             return 1;
         }
         if(Objects.nonNull(user.getUnitId())&&user.getUnitId()!=0) {
-            String code = responsibilityUnitMapper.selectAreaCode(user.getUnitId());
-            if (code.length() > 6) {
+            List<ResponsibilityUnitExt> codeList = responsibilityUnitMapper.selectResponsibilityUnitList(user.getUnitId());
+            if ( codeList.get(0).getAreaCode().length() > 6) {
                 return 0;
-            } else {
+            } else if(codeList.get(0).getAreaCode().length() == 6 && codeList.get(0).getParentCode().equals("320900")) {
+                return 0;
+            }else {
                 return 2;
             }
         }

--
Gitblit v1.8.0