| | |
| | | private BattInfMapper binfMapper; |
| | | |
| | | @Autowired(required = false) |
| | | private StationInfMapper stationInfMapper; |
| | | |
| | | @Autowired(required = false) |
| | | private WorkflowMainMapper mainMapper; |
| | | |
| | | @Autowired(required = false) |
| | | private WorkflowLinkMapper linkMapper; |
| | | |
| | | @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; |
| | | |
| | | public void addBatch(List<WorkflowLink> links) { |
| | | mapper.insertBatchSomeColumn(links); |
| | |
| | | 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); |
| | |
| | | } |
| | | break; |
| | | } |
| | | case "P2"://当前节点为过程2-管理审核 |
| | | case "P2"://当前节点为过程2-管理专责审核 |
| | | { |
| | | link.setDealUserId(userId); |
| | | if(link.getStatus() == WorkflowEnum.STATUS_REJECT.getValue().intValue()){ //驳回 |
| | |
| | | { |
| | | link.setDealUserId(userId); |
| | | updateLinkFieldAndFinish(link); |
| | | |
| | | Integer mainId = link.getMainId(); |
| | | WorkflowMain main = mainService.getOne(mainId); |
| | | if(main.getType()==1){ //将计划转移到正式表 |
| | | 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) { //将计划转移到正式表 |
| | | List<BattDischargePlanTemp> tempListByMain = battDischargePlanTempService.getListByMainId(mainId); |
| | | planService.insertConfirmDischargePlan(tempListByMain); |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | return new Response().setII(1,"更新完成"); |
| | | } |
| | | |
| | | public Response updateLink(WorkflowLinkDTO linkDTO) { |
| | | int userId = ActionUtil.getUser().getUId().intValue(); |
| | | if(linkDTO.getType().intValue() == WorkflowEnum.MAIN_TYPE_FAULT_UPLOAD.getValue()) { //故障隐患流程 |
| | | updateLinkOfFaultUpload(linkDTO, userId); |
| | | } |
| | | return new Response().setII(1,"更新完成"); |
| | | } |
| | | |
| | | private void updateLinkOfFaultUpload(WorkflowLinkDTO linkDTO, int userId) { |
| | | Date now = new Date(); |
| | | WorkflowLink link = linkDTO.getLink(); |
| | | String processLevel = link.getProcessLevel(); |
| | | FaultUpload faultUpload = linkDTO.getFaultUpload(); |
| | | switch (processLevel){ |
| | | case "P2"://当前节点为过程1-管理层审核 |
| | | { |
| | | link.setDealUserId(userId); |
| | | if(link.getStatus() == WorkflowEnum.STATUS_REJECT.getValue().intValue()){ //驳回 |
| | | updateLinkFieldAndFinish(link); |
| | | }else{ //通过 |
| | | //主表更新层级 |
| | | mainService.updateProcessLevel("P3",link.getMainId()); |
| | | updateLinkField(link); |
| | | //新建下一节点-领导层 |
| | | WorkflowLink linkNew = new WorkflowLink(); |
| | | linkNew.setMainId(link.getMainId()); |
| | | linkNew.setParentId(link.getId()); |
| | | linkNew.setProcessLevel(WorkflowDischargePlanEnum.PROCESS_MANAGER2SIGN.getProcessLevel()); |
| | | linkNew.setProcessLevelName(WorkflowDischargePlanEnum.PROCESS_MANAGER2SIGN.getProcessLevelName()); |
| | | linkNew.setCreateTime(now); |
| | | linkNew.setDealRoleId(RoleEnum.LEADER.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); |
| | | |
| | | //管理层提出申报,生成申报库内的记录 |
| | | FaultUploadApplication application = new FaultUploadApplication(); |
| | | application.setAlarmNum(faultUpload.getAlarmNum()); |
| | | application.setAlarmType(faultUpload.getAlarmType()); |
| | | application.setStationId(faultUpload.getStationId()); |
| | | application.setType(faultUpload.getType()); |
| | | application.setDescription(faultUpload.getDescription()); |
| | | application.setUploadUserId(userId); |
| | | application.setCreateTime(now); |
| | | application.setMainId(link.getMainId()); |
| | | faultUploadApplicationService.add(application); |
| | | |
| | | } |
| | | break; |
| | | } |
| | | case "P3"://当前节点为过程3-领导层审批 |
| | | { |
| | | link.setDealUserId(userId); |
| | | updateLinkFieldAndFinish(link); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | return statistics; |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * 二次核容和隐患故障的统计 |
| | | * |
| | | * 增加了全部 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); |
| | | } |
| | |
| | | //新建下一节点-领导层 |
| | | 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; |
| | | } |
| | |
| | | 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); |
| | | //从故障隐患查询 |
| | | 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, "查询节点(除放电计划之外的)"); |
| | | } |
| | | |
| | | //节点为二次放电时查询二次放电参数和本年上一次有效核容数据 |
| | | public Response searchLastHrById(int mid) { |
| | | Map<String, Object> map = searchByMId(mid); |
| | | Map<String, Object> map = searchHrByMId(mid); |
| | | return new Response().setII(1, true, map, "节点为二次放电时查询二次放电参数和本年上一次有效核容数据"); |
| | | } |
| | | |
| | | //节点为故障隐患 |
| | | public Response searcFaultById(int mid) { |
| | | Map<String, Object> map = searchFaultByMId(mid); |
| | | return new Response().setII(1, true, map, "节点为二次放电时查询二次放电参数和本年上一次有效核容数据"); |
| | | } |
| | | |
| | |
| | | if (list != null && list.size() > 0) { |
| | | for (WorkflowMain main : list) { |
| | | if (main.getType() == 2) { |
| | | Map<String, Object> map = searchByMId(main.getId()); |
| | | Map<String, Object> map = searchHrByMId(main.getId()); |
| | | main.setHrMap(map); |
| | | } |
| | | if (main.getType() == 3) { |
| | | Map<String, Object> map = searchFaultByMId(main.getId()); |
| | | main.setFaultMap(map); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | //节点为二次放电时查询二次放电参数和本年上一次有效核容数据 |
| | | public Map searchByMId(int mid) { |
| | | public Map searchHrByMId(int mid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | //查询二次放电参数 |
| | | QueryWrapper tmpWrapper = Wrappers.query(); |
| | |
| | | return map; |
| | | } |
| | | |
| | | //节点为故障隐患时 |
| | | public Map searchFaultByMId(int mid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | //查询故障隐患申请表 |
| | | QueryWrapper faultWrapper = Wrappers.query(); |
| | | faultWrapper.eq("main_id", mid); |
| | | faultWrapper.last("limit 1"); |
| | | FaultUpload faultUpload = faultUploadMapper.selectOne(faultWrapper); |
| | | map.put("faultUpload", faultUpload); |
| | | if (faultUpload != null) { |
| | | QueryWrapper infWrapper = new QueryWrapper(); |
| | | infWrapper.eq("stationid", faultUpload.getStationId()); |
| | | 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); |
| | | } |
| | | } |
| | | //查询是否解决 |
| | | //查询故障隐患申请表 |
| | | 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(); |
| | | mainWrapper.eq("id", mid); |
| | | mainWrapper.last("limit 1"); |
| | | WorkflowMain main = mainMapper.selectOne(mainWrapper); |
| | | map.put("main", main); |
| | | //link表单信息 |
| | | QueryWrapper linkWrapper = Wrappers.query(); |
| | | linkWrapper.eq("main_id", mid); |
| | | linkWrapper.orderByAsc("parent_id"); |
| | | List<WorkflowLink> linkList = linkMapper.selectList(linkWrapper); |
| | | map.put("linkList", linkList); |
| | | return map; |
| | | } |
| | | } |