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