Lius
4 天以前 57945f688fd21076e36ab5332028c8b4a6dcf59c
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java
@@ -171,32 +171,28 @@
        }
        //判断是否存在保养人 如果存在则启动流程
        if (StringUtils.isNotBlank(order.getOperator())) {
            //启动流程 TODO
//            flowCommonService.initActBusiness("工单号:" + order.getOrderNum() + ";设备编号: " + equipment.getEquipmentCode() + ";进行设备二保",
//                    order.getId(), "IEamWeekMaintenanceOrderService", "week_maintenance_process", null);
//            Map<String, Object> variables = new HashMap<>();
//            variables.put("dataId", order.getId());
//            if (StrUtil.isEmpty(order.getRemark())) {
//                variables.put("organization", "新增周保工单默认启动流程");
//                variables.put("comment", "新增周保工单默认启动流程");
//            } else {
//                variables.put("organization", order.getRemark());
//                variables.put("comment", order.getRemark());
//            }
//            variables.put("proofreading", true);
//            List<String> usernames = new ArrayList<>();
//            usernames.add(order.getOperator());
//            variables.put("NextAssignee", usernames);
//            Result result = flowDefinitionService.startProcessInstanceByKey("week_maintenance_process", variables);
//            if (result != null) {
//                //更新周保状态
//                order.setMaintenanceStatus(WeekMaintenanceStatusEnum.UNDER_MAINTENANCE.name());
//                order.setActualStartTime(new Date());
//                eamWeekMaintenanceOrderMapper.updateById(order);
//                //更新设备保养状态
//                eamEquipmentExtendService.updateEquipmentMaintenanceStatus(order.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name());
//                return result.isSuccess();
//            }
            //启动流程
            flowCommonService.initActBusiness("工单号:" + order.getOrderNum() + ";设备编号: " + equipment.getEquipmentCode() + ";安装位置" + equipment.getInstallationPosition(),
                    order.getId(), "IEamThirdMaintenanceOrderService", "third_maintenance_process", null);
            Map<String, Object> variables = new HashMap<>();
            variables.put("dataId", order.getId());
            if (StrUtil.isEmpty(order.getRemark())) {
                variables.put("organization", "新增三保工单默认启动流程");
                variables.put("comment", "新增三保工单默认启动流程");
            } else {
                variables.put("organization", order.getRemark());
                variables.put("comment", order.getRemark());
            }
            variables.put("proofreading", true);
            //并行任务会签
            variables.put("maintenance_execution", Collections.singletonList(request.getOperator()));
            variables.put("precision_check", Collections.singletonList(equipment.getEquipmentManager()));
            Result result = flowDefinitionService.startProcessInstanceByKey("third_maintenance_process", variables);
            if (result != null) {
                //更新设备保养状态
                eamEquipmentExtendService.updateEquipmentMaintenanceStatus(order.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_THIRD_MAINTENANCE.name());
                return result.isSuccess();
            }
        }
        return true;
@@ -246,32 +242,28 @@
        }
        //判断是否存在保养人 如果存在则启动流程
        if (StringUtils.isNotBlank(entity.getOperator())) {
            //启动流程 TODO
//            flowCommonService.initActBusiness("工单号:" + entity.getOrderNum() + ";设备编号: " + equipment.getEquipmentCode() + ";进行设备周保",
//                    entity.getId(), "IEamWeekMaintenanceOrderService", "week_maintenance_process", null);
//            Map<String, Object> variables = new HashMap<>();
//            variables.put("dataId", entity.getId());
//            if (StrUtil.isEmpty(entity.getRemark())) {
//                variables.put("organization", "新增周保工单默认启动流程");
//                variables.put("comment", "新增周保工单默认启动流程");
//            } else {
//                variables.put("organization", entity.getRemark());
//                variables.put("comment", entity.getRemark());
//            }
//            variables.put("proofreading", true);
//            List<String> usernames = new ArrayList<>();
//            usernames.add(entity.getOperator());
//            variables.put("NextAssignee", usernames);
//            Result result = flowDefinitionService.startProcessInstanceByKey("week_maintenance_process", variables);
//            if (result != null) {
//                //更新周保状态
//                entity.setMaintenanceStatus(WeekMaintenanceStatusEnum.UNDER_MAINTENANCE.name());
//                entity.setActualStartTime(new Date());
//                eamWeekMaintenanceOrderMapper.updateById(entity);
//                //更新设备保养状态
//                eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name());
//                return result.isSuccess();
//            }
            //启动流程
            flowCommonService.initActBusiness("工单号:" + entity.getOrderNum() + ";设备编号: " + equipment.getEquipmentCode() + ";安装位置" + equipment.getInstallationPosition(),
                    entity.getId(), "IEamThirdMaintenanceOrderService", "third_maintenance_process", null);
            Map<String, Object> variables = new HashMap<>();
            variables.put("dataId", entity.getId());
            if (StrUtil.isEmpty(entity.getRemark())) {
                variables.put("organization", "新增三保工单默认启动流程");
                variables.put("comment", "新增三保工单默认启动流程");
            } else {
                variables.put("organization", entity.getRemark());
                variables.put("comment", entity.getRemark());
            }
            variables.put("proofreading", true);
            //并行任务会签
            variables.put("maintenance_execution", Collections.singletonList(request.getOperator()));
            variables.put("precision_check", Collections.singletonList(equipment.getEquipmentManager()));
            Result result = flowDefinitionService.startProcessInstanceByKey("third_maintenance_process", variables);
            if (result != null) {
                //更新设备保养状态
                eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_THIRD_MAINTENANCE.name());
                return result.isSuccess();
            }
        }
        return true;
@@ -291,9 +283,11 @@
        if (equipment == null) {
            throw new JeecgBootException("设备不存在,添加失败!");
        }
        if (StringUtils.isBlank(equipment.getEquipmentManager())) {
            throw new JeecgBootException("设备未分配设备管理员,无法进入下级审批!");
        List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0002);
        if (CollectionUtil.isEmpty(userSelectors)) {
            throw new JeecgBootException("设备未分配给维修工,无法进入下级审批!");
        }
        List<String> userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (sysUser == null || !BusinessCodeConst.PCR0001.equals(sysUser.getPost())) {
            throw new JeecgBootException("不是操作工,无法领取此工单!");
@@ -304,7 +298,7 @@
        eamThirdMaintenanceOrderMapper.updateById(entity);
        //启动流程
        flowCommonService.initActBusiness("工单号:" + entity.getOrderNum() + ";设备编号: " + equipment.getEquipmentCode() + ";进行设备三保",
        flowCommonService.initActBusiness("工单号:" + entity.getOrderNum() + ";设备编号: " + equipment.getEquipmentCode() + ";安装位置" + equipment.getInstallationPosition(),
                entity.getId(), "IEamThirdMaintenanceOrderService", "third_maintenance_process", null);
        Map<String, Object> variables = new HashMap<>();
        boolean equipmentPrecisionFlag = precisionCheckDetailService.hasPrecisionCheckDetail(entity.getId());
@@ -319,8 +313,10 @@
        }
        variables.put("proofreading", true);
        //并行任务会签
        //操作工执行保养
        variables.put("maintenance_execution", Collections.singletonList(sysUser.getUsername()));
        variables.put("precision_check", Collections.singletonList(equipment.getEquipmentManager()));
        //维修工精度检验
        variables.put("precision_check", userApprovalList);
        Result result = flowDefinitionService.startProcessInstanceByKey("third_maintenance_process", variables);
        if (result != null) {
            //更新设备保养状态
@@ -378,7 +374,7 @@
                //执行完成
                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0006);
                if (CollectionUtil.isEmpty(userSelectors)) {
                    throw new JeecgBootException("设备未分配给车间班组长,无法进入下级审批!");
                    throw new JeecgBootException("设备未分配给机动办,无法进入下级审批!");
                }
                userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
                values.put("dataId", entity.getId());
@@ -426,7 +422,7 @@
            case WAIT_CONFIRM:
                userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0003);
                if (CollectionUtil.isEmpty(userSelectors)) {
                    throw new JeecgBootException("设备未分配给车间班组长,无法进入下级审批!");
                    throw new JeecgBootException("设备未分配给维修主任,无法进入下级审批!");
                }
                //班组长确认
                userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());