| | |
| | | List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().eq(ProductProcessRouteItem::getProductRouteId, productProcessRouteItem.getProductRouteId())); |
| | | /*更新工单和生产订单*/ |
| | | productWorkOrder.setCompleteQuantity(productWorkOrder.getCompleteQuantity().add(productQty)); |
| | | if (ObjectUtils.isNull(productWorkOrder.getActualStartTime())) { |
| | | productWorkOrder.setActualStartTime(LocalDateTime.now());//实际开始时间 |
| | | // 查询该工单对应的最早上机时间(按上机时间升序,取第一条) |
| | | List<ProductionMachineRecord> machineRecords = productionMachineRecordMapper.selectList( |
| | | Wrappers.<ProductionMachineRecord>lambdaQuery() |
| | | .eq(ProductionMachineRecord::getWorkOrderId, productWorkOrder.getId()) |
| | | .isNotNull(ProductionMachineRecord::getMachineStartTime) |
| | | .orderByAsc(ProductionMachineRecord::getMachineStartTime) |
| | | ); |
| | | if (!machineRecords.isEmpty()) { |
| | | productWorkOrder.setActualStartTime(machineRecords.get(0).getMachineStartTime()); |
| | | } |
| | | if (productWorkOrder.getCompleteQuantity().compareTo(productWorkOrder.getPlanQuantity()) >= 0) { |
| | | productWorkOrder.setActualEndTime(LocalDateTime.now());//实际结束时间 |
| | | } |
| | | // 实际结束时间 = 报工结束时间 |
| | | productWorkOrder.setActualEndTime(now);//实际结束时间为报工结束时间 |
| | | productWorkOrder.setEndProductTime(now); |
| | | productWorkOrderMapper.updateById(productWorkOrder); |
| | | //生产订单 |