| | |
| | | import org.flowable.task.api.Task; |
| | | import org.jeecg.common.api.vo.FileUploadResult; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.modules.eam.constant.InspectionStatus; |
| | | import org.jeecg.modules.eam.constant.ReportRepairEnum; |
| | | import org.jeecg.modules.eam.entity.*; |
| | | import org.jeecg.modules.eam.entity.EamEquipment; |
| | | import org.jeecg.modules.eam.entity.EamInspectionOrder; |
| | | import org.jeecg.modules.eam.entity.EamInspectionOrderDetail; |
| | | import org.jeecg.modules.eam.mapper.EamInspectionOrderMapper; |
| | | import org.jeecg.modules.eam.request.EamInspectionOrderRequest; |
| | | import org.jeecg.modules.eam.service.*; |
| | | import org.jeecg.modules.eam.service.IEamEquipmentService; |
| | | import org.jeecg.modules.eam.service.IEamInspectionOrderDetailService; |
| | | import org.jeecg.modules.eam.service.IEamInspectionOrderService; |
| | | import org.jeecg.modules.eam.service.IEamReportRepairService; |
| | | import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; |
| | | import org.jeecg.modules.flowable.apithird.business.service.impl.FlowMyBusinessServiceImpl; |
| | | import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; |
| | |
| | | private IMdcUserProductionService mdcUserProductionService; |
| | | @Autowired |
| | | private IEamReportRepairService eamReportRepairService; |
| | | @Autowired |
| | | private IEamEquipmentFaultReasonService eamEquipmentFaultReasonService; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | BeanUtils.copyProperties(eamInspectionOrderRequest,eamInspectionOrder); |
| | | //修改状态 |
| | | if (StrUtil.isNotBlank(eamInspectionOrderRequest.getOperator())){ |
| | | eamInspectionOrder.setInspectionStatus(InspectionStatus.IN_PROGRESS.getCode()); |
| | | eamInspectionOrder.setInspectionStatus(InspectionStatus.UNDER_INSPECTION.name()); |
| | | }else { |
| | | eamInspectionOrder.setInspectionStatus(InspectionStatus.INIT.getCode()); |
| | | eamInspectionOrder.setInspectionStatus(InspectionStatus.WAIT_INSPECTION.name()); |
| | | } |
| | | save(eamInspectionOrder); |
| | | //处理明细数据 |
| | |
| | | EamInspectionOrder eamInspectionOrder = new EamInspectionOrder(); |
| | | BeanUtils.copyProperties(eamInspectionOrderRequest, eamInspectionOrder); |
| | | if (StrUtil.isNotEmpty(eamInspectionOrder.getOperator())){ |
| | | eamInspectionOrder.setInspectionStatus(InspectionStatus.IN_PROGRESS.getCode()); |
| | | eamInspectionOrder.setInspectionStatus(InspectionStatus.UNDER_INSPECTION.name()); |
| | | } |
| | | updateById(eamInspectionOrder); |
| | | super.updateById(eamInspectionOrder); |
| | | //处理明细数据 |
| | | if (CollectionUtil.isNotEmpty(eamInspectionOrderRequest.getTableDetailList())) { |
| | | eamInspectionOrderRequest.getTableDetailList().forEach(tableDetail -> { |
| | |
| | | }else { |
| | | eamInspectionOrder.setOperator(user.getUsername()); |
| | | //修改状态 |
| | | eamInspectionOrder.setInspectionStatus(InspectionStatus.IN_PROGRESS.getCode()); |
| | | eamInspectionOrder.setInspectionStatus(InspectionStatus.UNDER_INSPECTION.name()); |
| | | this.triggerProcess(eamInspectionOrder); |
| | | this.updateById(eamInspectionOrder); |
| | | return true; |
| | |
| | | if (eamInspectionOrder == null) { |
| | | return false; |
| | | }else { |
| | | eamInspectionOrder.setInspectionStatus("5"); |
| | | eamInspectionOrder.setInspectionStatus(InspectionStatus.ABOLISH.name()); |
| | | return updateById(eamInspectionOrder); |
| | | } |
| | | } |
| | |
| | | updateEamInspectionOrder(eamInspectionOrder); |
| | | |
| | | //查询数据,进行设备维修处理 |
| | | if (eamInspectionOrder.getInspectionStatus().equals(InspectionStatus.CONFIRMED.getCode())){ |
| | | if (eamInspectionOrder.getInspectionStatus().equals(InspectionStatus.WAIT_CONFIRM.name())){ |
| | | updateEamInspectionOrderDetail(eamInspectionOrder); |
| | | } |
| | | |
| | |
| | | |
| | | private void setupProcessVariables(EamInspectionOrderRequest request, EamInspectionOrder order, LoginUser user) { |
| | | Map<String, Object> values = new HashMap<>(); |
| | | if (InspectionStatus.IN_PROGRESS.getCode().equals(order.getInspectionStatus()) && user.getUsername().equals(order.getOperator())) { |
| | | if (InspectionStatus.UNDER_INSPECTION.name().equals(order.getInspectionStatus()) && user.getUsername().equals(order.getOperator())) { |
| | | // 点检人点检结束 |
| | | String orgId = Optional.ofNullable(iEamEquipmentService.getById(order.getEquipmentId())) |
| | | .map(equipment -> equipment.getOrgId()) |
| | |
| | | // 班组长驳回 |
| | | List<String> usernames = new ArrayList<>(); |
| | | usernames.add(order.getOperator()); |
| | | order.setInspectionStatus("2"); |
| | | order.setInspectionStatus(InspectionStatus.UNDER_INSPECTION.name()); |
| | | values.put("NextAssignee", usernames); |
| | | } |
| | | } |
| | |
| | | |
| | | private void updateOrderStatus(Result result, EamInspectionOrderRequest request, EamInspectionOrder order, LoginUser user) { |
| | | if (result.isSuccess()) { |
| | | if (InspectionStatus.IN_PROGRESS.getCode().equals(order.getInspectionStatus()) && StrUtil.isEmpty(request.getDealType())) { |
| | | if (InspectionStatus.UNDER_INSPECTION.name().equals(order.getInspectionStatus()) && StrUtil.isEmpty(request.getDealType())) { |
| | | // 点检完成 |
| | | order.setInspectionStatus("3"); |
| | | order.setInspectionStatus(InspectionStatus.WAIT_CONFIRM.name()); |
| | | order.setOperateTime(new Date()); |
| | | eamInspectionOrderDetailService.remove(new QueryWrapper<EamInspectionOrderDetail>().eq("order_id", order.getId())); |
| | | eamInspectionOrderDetailService.saveBatch(request.getTableDetailList()); |
| | | } else if (InspectionStatus.COMPLETED.getCode().equals(order.getInspectionStatus()) && StrUtil.isNotEmpty(request.getDealType())) { |
| | | } else if (InspectionStatus.WAIT_CONFIRM.name().equals(order.getInspectionStatus()) && StrUtil.isNotEmpty(request.getDealType())) { |
| | | // 班组长确认任务 |
| | | order.setInspectionStatus("4"); |
| | | order.setInspectionStatus(InspectionStatus.COMPLETE.name()); |
| | | order.setConfirmUser(user.getUsername()); |
| | | order.setConfirmTime(new Date()); |
| | | } |
| | |
| | | * @param eamInspectionOrder |
| | | */ |
| | | private void updateEamInspectionOrderDetail(EamInspectionOrder eamInspectionOrder) { |
| | | EamEquipmentFaultReason eamEquipmentFaultReason=eamEquipmentFaultReasonService. |
| | | getOne(new QueryWrapper<EamEquipmentFaultReason>().eq("fault_code","EFR20250003")); |
| | | List<EamInspectionOrderDetail> eamInspectionOrderDetails = eamInspectionOrderDetailService |
| | | .list(new QueryWrapper<EamInspectionOrderDetail>() |
| | | .eq("order_id", eamInspectionOrder.getId()).eq("report_flag","1")); |
| | | List<EamReportRepair> eamReportRepairs = new ArrayList<>(); |
| | | if (!eamInspectionOrderDetails.isEmpty()) { |
| | | eamInspectionOrderDetails.forEach(item->{ |
| | | EamReportRepair eamReportRepair=new EamReportRepair(); |
| | | eamReportRepair.setEquipmentId(eamInspectionOrder.getEquipmentId()); |
| | | eamReportRepair.setFaultName(eamEquipmentFaultReason.getFaultName()); |
| | | eamReportRepair.setFaultType(eamEquipmentFaultReason.getFaultCategory()); |
| | | eamReportRepair.setFaultDescription(eamEquipmentFaultReason.getFaultDescription()); |
| | | eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_REPAIR.name()); |
| | | eamReportRepair.setBreakdownFlag("1"); |
| | | eamReportRepair.setDelFlag(CommonConstant.DEL_FLAG_0); |
| | | eamReportRepair.setFaultStartTime(new Date()); |
| | | eamReportRepair.setRemark(item.getExceptionDescription()); |
| | | eamReportRepairs.add(eamReportRepair); |
| | | }); |
| | | } |
| | | if (!eamReportRepairs.isEmpty()) { |
| | | eamReportRepairService.saveBatch(eamReportRepairs); |
| | | } |
| | | .eq("order_id", eamInspectionOrder.getId()).eq("report_flag","1").eq("inspection_result", "2")); |
| | | eamReportRepairService.reportRepairFromInspection(eamInspectionOrder.getEquipmentId(), eamInspectionOrder.getOperator(), eamInspectionOrderDetails); |
| | | } |
| | | |
| | | /** |
| | |
| | | List<String> list = Arrays.asList(ids.split(",")); |
| | | QueryWrapper<EamInspectionOrder> queryWrapper =new QueryWrapper<>(); |
| | | queryWrapper.in("id", list); |
| | | queryWrapper.eq("inspection_status", "1"); |
| | | queryWrapper.eq("inspection_status", InspectionStatus.WAIT_INSPECTION.name()); |
| | | List<EamInspectionOrder> eamInspectionOrderList =this.list(queryWrapper); |
| | | if (!eamInspectionOrderList.isEmpty()){ |
| | | eamInspectionOrderList.forEach(eamInspectionOrder -> { |
| | | eamInspectionOrder.setInspectionStatus(type); |
| | | if (type.equals("2")){ |
| | | if (InspectionStatus.UNDER_INSPECTION.name().equals(type)){ |
| | | eamInspectionOrder.setOperator(loginUser.getUsername()); |
| | | this.triggerProcess(eamInspectionOrder); |
| | | }else { |