| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | import com.moral.constant.RedisConstants; |
| | | import com.moral.util.DateUtils; |
| | | import com.moral.util.TokenUtils; |
| | | import com.sun.javafx.scene.control.skin.VirtualFlow; |
| | | |
| | | |
| | | @Service |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<AllocationFindVo> selectSmallRoutine(Integer state,String startTime,String endTime) { |
| | | ArrayList<AllocationFindVo> allocationFindVos = new ArrayList<>(); |
| | | LambdaQueryWrapper<Allocation> wrapper = new LambdaQueryWrapper<>(); |
| | | |
| | | //获取用户信息 |
| | | 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); |
| | | allocationFindVos.add(allocationFindVo); |
| | | } |
| | | // List<AllocationFindVo> allocationFindVos = allocationMapper.selectSmallRoutine(state); |
| | | return allocationFindVos; |
| | | } |
| | | |
| | | /** |
| | | * 小程序整改 |
| | | * |
| | | * @param changeCond |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public void changeSmallRoutine(AllocationChangeCond changeCond) { |
| | | Integer integer = unitAreaCode(); |
| | | if (integer==1){ |
| | | 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; |