From c7dd4a195d8d893d92c49963447cdf6486844584 Mon Sep 17 00:00:00 2001 From: cjl <276999030@qq.com> Date: Fri, 20 Oct 2023 09:45:53 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/wb' into cjl --- screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java | 240 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 197 insertions(+), 43 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 977a479..fbfcd40 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 @@ -1,5 +1,6 @@ package com.moral.api.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.config.Interceptor.UserHelper; @@ -10,10 +11,9 @@ 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.query.PageCond; import com.moral.api.pojo.query.allocation.*; import com.moral.api.pojo.query.allocationextension.AllocationExtensionAddCond; -import com.moral.api.pojo.vo.approvetable.ApproveTableListVo; +import com.moral.api.pojo.vo.allocation.AllocationFindVo; import com.moral.api.pojo.vo.user.QxUser; import com.moral.api.service.AllocationExtensionService; import com.moral.api.service.ApproveTableService; @@ -62,6 +62,7 @@ import com.moral.constant.RedisConstants; import com.moral.util.DateUtils; import com.moral.util.TokenUtils; +import com.sun.javafx.scene.control.skin.VirtualFlow; @Service @@ -211,32 +212,46 @@ public Map<String, Object> selectUnitView(Map<String, Object> map) { QueryWrapper<Allocation> wrapper = new QueryWrapper<>(); //������������������ - Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); - Object unitId = userInfo.get("unitId"); - Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization"); - Integer orgId = (Integer) orgInfo.get("id"); + List<Integer> list = this.unitResult(); if (!ObjectUtils.isEmpty(map.get("unitId"))){ wrapper.in("unit_id",map.get("unitId").toString()); }else { - if (orgId!=24){ - if (ObjectUtils.isEmpty(unitId)){ + if (!ObjectUtils.isEmpty(list)){ + Integer integer = list.get(0); + if (integer==0){ return null; - } - ResponsibilityUnit responsibilityUnit1 = responsibilityUnitMapper.selectById(Integer.parseInt(unitId.toString())); - Integer areaCode = responsibilityUnit1.getAreaCode(); - List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitService.selectUnit(areaCode); - if (ObjectUtils.isEmpty(responsibilityUnits)){ - List<ResponsibilityUnit> responsibilityUnits1 = responsibilityUnitService.selectAreaUnit(areaCode); - Map<Integer, List<ResponsibilityUnit>> collect = responsibilityUnits1.stream().collect(Collectors.groupingBy(o -> o.getUnitId())); - List<Integer> collect1 = collect.keySet().stream().collect(Collectors.toList()); - wrapper.in("unit_id",collect1); }else { - Map<Integer, List<ResponsibilityUnit>> collect = responsibilityUnits.stream().collect(Collectors.groupingBy(o -> o.getUnitId())); - List<Integer> collect1 = collect.keySet().stream().collect(Collectors.toList()); - wrapper.in("unit_id",collect1); + wrapper.in("unit_id",list); } } } + +// Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); +// Object unitId = userInfo.get("unitId"); +// Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization"); +// Integer orgId = (Integer) orgInfo.get("id"); +// if (!ObjectUtils.isEmpty(map.get("unitId"))){ +// wrapper.in("unit_id",map.get("unitId").toString()); +// }else { +// if (orgId!=24){ +// if (ObjectUtils.isEmpty(unitId)){ +// return null; +// } +// ResponsibilityUnit responsibilityUnit1 = responsibilityUnitMapper.selectById(Integer.parseInt(unitId.toString())); +// Integer areaCode = responsibilityUnit1.getAreaCode(); +// List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitService.selectUnit(areaCode); +// if (ObjectUtils.isEmpty(responsibilityUnits)){ +// List<ResponsibilityUnit> responsibilityUnits1 = responsibilityUnitService.selectAreaUnit(areaCode); +// Map<Integer, List<ResponsibilityUnit>> collect = responsibilityUnits1.stream().collect(Collectors.groupingBy(o -> o.getUnitId())); +// List<Integer> collect1 = collect.keySet().stream().collect(Collectors.toList()); +// wrapper.in("unit_id",collect1); +// }else { +// Map<Integer, List<ResponsibilityUnit>> collect = responsibilityUnits.stream().collect(Collectors.groupingBy(o -> o.getUnitId())); +// List<Integer> collect1 = collect.keySet().stream().collect(Collectors.toList()); +// wrapper.in("unit_id",collect1); +// } +// } +// } HashMap<String, Object> rsMap = new HashMap<>(); ArrayList<Map<String, Object>> polluteArrayList = new ArrayList<>(); @@ -246,7 +261,7 @@ Object number1 = map.get("number"); String startTime=null; String endTime=null; - if (!ObjectUtils.isEmpty(map.get("startTime")) || !ObjectUtils.isEmpty(map.get("startTime"))){ + if (!ObjectUtils.isEmpty(map.get("startTime")) || !ObjectUtils.isEmpty(map.get("endTime"))){ startTime = map.get("startTime").toString(); endTime = map.get("endTime").toString(); @@ -380,35 +395,48 @@ public List<Map<String, Object>> unitExel(Map<String, Object> map) { QueryWrapper<Allocation> wrapper = new QueryWrapper<>(); //������������������ - Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); - Object unitId = userInfo.get("unitId"); - Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization"); - Integer orgId = (Integer) orgInfo.get("id"); - - if (ObjectUtils.isEmpty(unitId)){ - return null; - } - if (orgId!=24){ - ResponsibilityUnit responsibilityUnit1 = responsibilityUnitMapper.selectById(Integer.parseInt(unitId.toString())); - Integer areaCode = responsibilityUnit1.getAreaCode(); - List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitService.selectUnit(areaCode); - if (ObjectUtils.isEmpty(responsibilityUnits)){ - List<ResponsibilityUnit> responsibilityUnits1 = responsibilityUnitService.selectAreaUnit(areaCode); - Map<Integer, List<ResponsibilityUnit>> collect = responsibilityUnits1.stream().collect(Collectors.groupingBy(o -> o.getUnitId())); - List<Integer> collect1 = collect.keySet().stream().collect(Collectors.toList()); - wrapper.in("unit_id",collect1); - }else { - Map<Integer, List<ResponsibilityUnit>> collect = responsibilityUnits.stream().collect(Collectors.groupingBy(o -> o.getUnitId())); - List<Integer> collect1 = collect.keySet().stream().collect(Collectors.toList()); - wrapper.in("unit_id",collect1); + List<Integer> list = this.unitResult(); + if (!ObjectUtils.isEmpty(map.get("unitId"))){ + wrapper.in("unit_id",map.get("unitId").toString()); + }else { + if (!ObjectUtils.isEmpty(list)){ + Integer integer = list.get(0); + if (integer==0){ + return null; + }else { + wrapper.in("unit_id",list); + } } } +// Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo(); +// Object unitId = userInfo.get("unitId"); +// Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization"); +// Integer orgId = (Integer) orgInfo.get("id"); +// +// if (ObjectUtils.isEmpty(unitId)){ +// return null; +// } +// if (orgId!=24){ +// ResponsibilityUnit responsibilityUnit1 = responsibilityUnitMapper.selectById(Integer.parseInt(unitId.toString())); +// Integer areaCode = responsibilityUnit1.getAreaCode(); +// List<ResponsibilityUnit> responsibilityUnits = responsibilityUnitService.selectUnit(areaCode); +// if (ObjectUtils.isEmpty(responsibilityUnits)){ +// List<ResponsibilityUnit> responsibilityUnits1 = responsibilityUnitService.selectAreaUnit(areaCode); +// Map<Integer, List<ResponsibilityUnit>> collect = responsibilityUnits1.stream().collect(Collectors.groupingBy(o -> o.getUnitId())); +// List<Integer> collect1 = collect.keySet().stream().collect(Collectors.toList()); +// wrapper.in("unit_id",collect1); +// }else { +// Map<Integer, List<ResponsibilityUnit>> collect = responsibilityUnits.stream().collect(Collectors.groupingBy(o -> o.getUnitId())); +// List<Integer> collect1 = collect.keySet().stream().collect(Collectors.toList()); +// wrapper.in("unit_id",collect1); +// } +// } ArrayList<Map<String, Object>> rsMap = new ArrayList<>(); Object number1 = map.get("number"); String startTime=null; String endTime=null; - if (!ObjectUtils.isEmpty(map.get("startTime")) || !ObjectUtils.isEmpty(map.get("startTime"))){ + if (!ObjectUtils.isEmpty(map.get("startTime")) || !ObjectUtils.isEmpty(map.get("endTime"))){ startTime = map.get("startTime").toString(); endTime = map.get("endTime").toString(); @@ -609,6 +637,132 @@ } @Override + public List<AllocationFindVo> selectSmallRoutine(Integer state,String startTime,String endTime) { + ArrayList<AllocationFindVo> allocationFindVos = new ArrayList<>(); + LambdaQueryWrapper<Allocation> wrapper = new LambdaQueryWrapper<>(); + wrapper.orderByDesc(Allocation::getEscalationTime); + //������������������ + List<Integer> list = unitResult(); + if (!ObjectUtils.isEmpty(list)){ + Integer integer = list.get(0); + if (integer==0){ + return null; + }else { + wrapper.in(Allocation::getUnitId,list); + } + } + Integer integer = unitAreaCode(); + //��������������� ��������� + if (integer==0 || integer==1){ + if (state==3){ + wrapper.in(Allocation::getState,40,50); + }else if (state==2){ + wrapper.eq(Allocation::getState,30); + }else if (state==1){ + wrapper.eq(Allocation::getState,20); + } + //������������ + }else if (integer==2){ + if (state==3){ + wrapper.in(Allocation::getState,40,50); + }else if (state==2){ + wrapper.eq(Allocation::getState,20); + }else if (state==1){ + wrapper.eq(Allocation::getState,30); + } + } + if (!ObjectUtils.isEmpty(startTime) && !ObjectUtils.isEmpty(endTime)){ + wrapper.between(Allocation::getEscalationTime,startTime,endTime); + } + wrapper.eq(Allocation::getIsDel,0).eq(Allocation::getIsInvalid,0); + List<Allocation> allocations = allocationMapper.selectList(wrapper); + for (Allocation allocation : allocations) { + AllocationFindVo allocationFindVo = new AllocationFindVo(); + BeanUtils.copyProperties(allocation,allocationFindVo); + if (integer==0 || integer==1){ + + } + allocationFindVos.add(allocationFindVo); + } + List<AllocationFindVo> allocationFindVo = allocationMapper.selectSmallRoutine(state,startTime,endTime); + return allocationFindVos; + } + + /** + * ��������������� + * + * @param changeCond + */ + @Override + @Transactional + public void changeSmallRoutine(AllocationChangeCond changeCond) { + Integer integer = unitAreaCode(); + if (integer==2){ + throw new BusinessException("���������������������������������������"); + } + AllocationExt allocationExt = oneAllocation(changeCond.getAllocationId()); + if(!AllocationApproveEnum.UNDER_RECTIFICATION.value.equals(allocationExt.getState())) { + throw new BusinessException("������������������������������������"); + } + Allocation allocation = new Allocation(); + allocation.setAllocationId(changeCond.getAllocationId()); + allocation.setIsChange(changeCond.getIsChange()); + allocation.setChangeName(changeCond.getChangeName()); + allocation.setChangeDescribe(changeCond.getChangeDescribe()); + allocation.setState(changeCond.getState()); + allocation.setChangeTime(new Date()); + this.updateById(allocation); + //������������������ + ApproveTable approveTable = new ApproveTable(); + approveTable.setRelationId(allocation.getAllocationId()); + approveTable.setState(AllocationApproveEnum.UNDER_RECTIFICATION.value); + approveTable.setStateName(AllocationApproveEnum.UNDER_RECTIFICATION.name); + approveTable.setApproveModule(FileTableEnum.ALLOCATION_FOUNDATION.value); + approveTableService.saveResult(approveTable); + fileTableService.upDateResult(changeCond.getFileChangeList(),allocation.getAllocationId(), FileTableEnum.ALLOCATION_RECTIFICATION.value); + } + + /** + * ��������������� + * + * @param checkCond + */ + @Override + @Transactional + public void checkSmallRoutine(AllocationCheckCond checkCond) { + Integer integer = unitAreaCode(); + if (integer==0){ + throw new BusinessException("���������������������������������������"); + } + AllocationExt allocationExt = oneAllocation(checkCond.getAllocationId()); + if(!AllocationApproveEnum.IN_APPROVAL.value.equals(allocationExt.getState())) { + throw new BusinessException("������������������������������������������"); + } + QxUser qxUser = UserHelper.getCurrentUser(); + Allocation allocation = new Allocation(); + allocation.setCheckScore(checkCond.getCheckScore()); + allocation.setAllocationId(checkCond.getAllocationId()); + allocation.setCheckDescribe(checkCond.getCheckDescribe()); + allocation.setCheckName(qxUser.getUserName()); + allocation.setCheckTime(new Date()); + allocation.setState(checkCond.getState()); + this.updateById(allocation); + //������������������ + ApproveTable approveTable = new ApproveTable(); + approveTable.setRelationId(allocation.getAllocationId()); + if(AllocationApproveEnum.PASS.value.equals(checkCond.getState())){ + approveTable.setState(AllocationApproveEnum.PASS.value); + approveTable.setStateName(AllocationApproveEnum.PASS.name); + }else { + approveTable.setState(AllocationApproveEnum.REFUSE.value); + approveTable.setStateName(AllocationApproveEnum.REFUSE.name); + } + approveTable.setApproveModule(FileTableEnum.ALLOCATION_FOUNDATION.value); + approveTableService.saveResult(approveTable); + fileTableService.upDateResult(checkCond.getFileApproveList(),checkCond.getAllocationId(), FileTableEnum.ALLOCATION_APPROVE.value); + } + + @Override public List<Integer> unitResult() { QxUser user = UserHelper.getCurrentUser(); Integer unitId = Objects.nonNull(user.getUnitId())?user.getUnitId():0; -- Gitblit v1.8.0