diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/ProduceMonitorOrderDataVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/ProduceMonitorOrderDataVO.java index ce1346f83..b351dec8a 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/ProduceMonitorOrderDataVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/ProduceMonitorOrderDataVO.java @@ -85,6 +85,9 @@ public class ProduceMonitorOrderDataVO { @Schema(description = "返工单号(仅状态为19的车间订单在生产监控展示)") private String qcReworkCode; + @Schema(description = "返工路线") + private String qcReworkRoute; + @Schema(description = "主加工单位") private String mainProcessingUnit; diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/AiWebApiController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/AiWebApiController.java index e9ed87d53..afa869091 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/AiWebApiController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/AiWebApiController.java @@ -1,14 +1,18 @@ package org.springblade.desk.produce.controller; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.extern.slf4j.Slf4j; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.log.exception.ServiceException; +import org.springblade.desk.oem.pojo.request.OemTakeBack; import org.springblade.desk.oldv1.pojo.ResultInfo; +import org.springblade.desk.produce.pojo.entity.WorkOrderRun; import org.springblade.desk.produce.pojo.vo.*; +import org.springblade.desk.produce.service.IWorkOrderRunService; import org.springblade.desk.quality.service.IReviewSheetService; import org.springframework.web.bind.annotation.*; @@ -26,6 +30,8 @@ public class AiWebApiController extends BladeController { private final IReviewSheetService qcReviewSheetService; + private final IWorkOrderRunService workOrderRunService; + @PostMapping("/reviewResult") @Operation(summary = "审理结束回调接口") public ResultInfo reviewResult(@RequestBody JSONObject params) { @@ -44,7 +50,7 @@ public class AiWebApiController extends BladeController { String memo = params.getString("memo"); qcReviewSheetService.reviewResult(trialId, resultStatus, reviewMan, liabilityPart, scrapQty, reworkQty, concedeQty, memo); } catch (Exception e) { - log.error("审理结束回调接口{}", params.toJSONString(), e); + log.error("审理结束回调接口异常:{}", params.toJSONString(), e); } return ResultInfo.ok(); } @@ -60,7 +66,36 @@ public class AiWebApiController extends BladeController { String trialId = params.getString("trialId"); qcReviewSheetService.deleteReviewOrder(trialId); } catch (Exception e) { - log.error("审理单删除调用接口{}", params.toJSONString(), e); + log.error("审理单删除调用接口异常:{}", params.toJSONString(), e); + } + return ResultInfo.ok(); + } + + @PostMapping(value = "/orderTakeBack") + @Operation(summary = "外协订单收回接口") + public ResultInfo orderTakeBack(@RequestBody JSONObject params) { + log.info("外协订单收回接口 params = {}", params); + if (params == null || params.isEmpty()) { + throw new ServiceException("参数传递异常!"); + } + try { + String woCode = params.getString("woCode"); +// params.put("startTime", params.getString("startTime").replace("/", "-")); +// params.put("endTime", params.getString("endTime").replace("/", "-")); + WorkOrderRun workOrderRun = workOrderRunService.getOne(Wrappers.lambdaQuery(WorkOrderRun.class) + .eq(WorkOrderRun::getWoCode, woCode).eq(WorkOrderRun::getRunStatus, WorkOrderRun.RUN_STATUS_ISSUED), false); + if (workOrderRun == null) { + log.error("外协订单不存在或已交件{}", woCode); + return ResultInfo.error("外协订单[" + woCode + "]不存在或已交件"); + } + OemTakeBack oemTakeBack = new OemTakeBack(); + oemTakeBack.setWorkOrderRunId(workOrderRun.getId()); + oemTakeBack.setDeliverKey(params.getString("deliverKey")); + oemTakeBack.setScrapQty(params.getInteger("scrapQty")); + oemTakeBack.setTestQty(params.getInteger("testQty")); + workOrderRunService.oemTakeBack(oemTakeBack); + } catch (Exception e) { + log.error("外协订单收回接口异常:{}", params.toJSONString(), e); } return ResultInfo.ok(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/ProduceMonitorController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/ProduceMonitorController.java index 8a60c8a81..e872c79a7 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/ProduceMonitorController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/ProduceMonitorController.java @@ -7,7 +7,6 @@ import lombok.RequiredArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; -import org.springblade.desk.produce.pojo.vo.PrintParentWoLabelVO; import org.springblade.desk.produce.pojo.vo.ProduceMonitorOrderDataVO; import org.springblade.desk.produce.pojo.vo.ProduceMonitorPlanDataVO; import org.springblade.desk.produce.service.IWorkOrderService; diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java index c4774b7bf..1c36121db 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java @@ -935,7 +935,7 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl= WorkOrder.RUN_STATUS_COMPLETED) { + log.error("车间订单[{}]状态为:{},不处理审理单!", wo.getCardNo(), WorkOrderEnum.getName(wo.getRunStatus())); return; } List users = userClient.userListByName(reviewMan);