rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsWcsController.java
@@ -37,7 +37,7 @@ if (Objects.isNull(params)) { return R.error("参数不能为空!!"); } return R.ok().add(wmsWcsService.wcsCreateInTask(params)); return wmsWcsService.wcsCreateInTask(params); } rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/WcsCreateInTaskParam.java
@@ -17,7 +17,7 @@ private String barcode; @ApiModelProperty("源站") private Integer sourceStaNo; private String sourceStaNo; @ApiModelProperty("可用排") private List<Integer> rowList; rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsWcsServiceImpl.java
@@ -67,7 +67,7 @@ try { CommonResponse result = objectMapper.readValue(exchange.getBody(), CommonResponse.class); if (result.getCode() == 200) { return R.ok(); return R.ok().add(result.getData()); } else { return R.error(result.getMsg()); // throw new CoolException("任务执行状态上报失败!!"); rsf-server/src/main/java/com/vincent/rsf/server/api/controller/WcsController.java
@@ -130,7 +130,7 @@ @OperationLog("WCS入库任务申请") @PostMapping("/createInTask") public R wcsCreateInTask(@RequestBody CreateInTaskParam params) { return R.ok();//lsh 待完善 return wcsService.wcsCreateInTask(params); } /** @@ -143,7 +143,7 @@ @OperationLog("WCS任务上报通知") @PostMapping("/task/report") public R wcsTaskReport(@RequestBody TaskReportParam params) { return R.ok();//lsh 待完善 return wcsService.wcsTaskReport(params); } /** @@ -156,7 +156,7 @@ @OperationLog("WCS申请任务重新分配入库") @PostMapping("/reassign/loc") public R wcsReassignLoc(@RequestBody ReassignLocParam params) { return R.ok();//lsh 待完善 return wcsService.wcsReassignLoc(params); } /** @@ -168,8 +168,8 @@ @ApiOperation("WCS申请在库库位更换库位") @OperationLog("WCS申请在库库位更换库位") @PostMapping("/change/loc") public R wcsChangeLoc(@RequestBody TaskReportParam params) { return R.ok();//lsh 待完善 public R wcsChangeLoc(@RequestBody ChangeLocParam params) { return wcsService.wcsChangeLoc(params); } rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/ChangeLocParam.java
New file @@ -0,0 +1,28 @@ package com.vincent.rsf.server.api.entity.params; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.List; @Data @Accessors(chain = true) @ApiModel(value = "ChangeLocParam", description = "WCS任务上报通知") public class ChangeLocParam implements Serializable { @ApiModelProperty("托盘码") private String barcode; @ApiModelProperty("源站") private Integer sourceStaNo; @ApiModelProperty("可用排") private List<Integer> rowList; @ApiModelProperty("库位类型") private Integer locType1; } rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/CreateInTaskParam.java
@@ -17,7 +17,7 @@ private String barcode; @ApiModelProperty("源站") private Integer sourceStaNo; private String sourceStaNo; @ApiModelProperty("可用排") private List<Integer> rowList; rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/InTaskWcsReportParam.java
New file @@ -0,0 +1,25 @@ package com.vincent.rsf.server.api.entity.params; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.List; @Data @Accessors(chain = true) @ApiModel(value = "InTaskWcsReportParam", description = "入库任务申请返回参数类") public class InTaskWcsReportParam implements Serializable { @ApiModelProperty("任务号") private String taskNo; @ApiModelProperty("目标库位") private String locNo; @ApiModelProperty("任务优先级") private Integer taskPri; } rsf-server/src/main/java/com/vincent/rsf/server/api/service/WcsService.java
@@ -3,8 +3,7 @@ import com.vincent.rsf.framework.common.R; import com.vincent.rsf.server.api.entity.dto.InTaskMsgDto; import com.vincent.rsf.server.api.controller.erp.params.TaskInParam; import com.vincent.rsf.server.api.entity.params.ExMsgParams; import com.vincent.rsf.server.api.entity.params.WcsTaskParams; import com.vincent.rsf.server.api.entity.params.*; public interface WcsService { InTaskMsgDto createInTask(TaskInParam param); @@ -18,4 +17,8 @@ R receiveExMsg(ExMsgParams params); R pubWcsTask(WcsTaskParams params); R wcsCreateInTask(CreateInTaskParam params); R wcsTaskReport(TaskReportParam params); R wcsReassignLoc(ReassignLocParam params); R wcsChangeLoc(ChangeLocParam params); } rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -19,9 +19,8 @@ import com.vincent.rsf.server.api.controller.erp.params.TaskInParam; import com.vincent.rsf.server.api.entity.dto.SyncLocsDto; import com.vincent.rsf.server.api.entity.enums.CallBackEvent; import com.vincent.rsf.server.api.entity.params.CommonRequest; import com.vincent.rsf.server.api.entity.params.ExMsgParams; import com.vincent.rsf.server.api.entity.params.WcsTaskParams; import com.vincent.rsf.server.api.entity.params.*; import com.vincent.rsf.server.manager.controller.params.GenerateTaskParams; import com.vincent.rsf.server.manager.enums.*; import com.vincent.rsf.server.api.service.WcsService; import com.vincent.rsf.server.api.utils.LocUtils; @@ -44,6 +43,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestTemplate; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.Random; @@ -923,4 +923,110 @@ inTaskMsgDto.setLocNo(locNo); return inTaskMsgDto; } /** * WCS入库任务申请 * * @return */ @Override public R wcsCreateInTask(CreateInTaskParam params) { if (Objects.isNull(params)) { return R.error("参数不能为空!!"); } List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, params.getBarcode())); if (waitPakins.isEmpty()) { throw new CoolException("单据不存在 !!"); } DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>().eq(DeviceSite::getSite,params.getSourceStaNo()).orderByDesc(DeviceSite::getId),false); if (Objects.isNull(deviceSite)) { throw new CoolException(params.getSourceStaNo()+"站点不存在!!"); } GenerateTaskParams taskParams = new GenerateTaskParams(); taskParams.setWaitPakins(waitPakins) .setSiteId(deviceSite.getId()); R r = taskService.generateTasks(taskParams, 111L); if (r.get("msg").equals("任务生成完毕!")) { Task one = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, params.getBarcode())); InTaskWcsReportParam inTaskWcsReportParam = new InTaskWcsReportParam(); inTaskWcsReportParam.setTaskNo(one.getTaskCode()); inTaskWcsReportParam.setLocNo(one.getTargLoc()); inTaskWcsReportParam.setTaskPri(one.getSort()); return R.ok("任务生成完毕!").add(inTaskWcsReportParam); } return R.error(); // return R.ok("任务生成完毕!"); // log.info(JSONObject.toJSONString(params)); // return R.ok(JSONObject.toJSONString(params)); } /** * WCS入库任务申请 * * @return */ @Override public R wcsTaskReport(TaskReportParam params) { if (Objects.isNull(params)) { return R.error("参数不能为空!!"); } List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, params.getBarcode())); if (waitPakins.isEmpty()) { throw new CoolException("单据不存在 !!"); } GenerateTaskParams taskParams = new GenerateTaskParams(); taskParams.setWaitPakins(waitPakins) .setSiteId(params.getSourceStaNo().longValue()); return R.ok(taskService.generateTasks(taskParams, 111L)); // return R.ok("任务生成完毕!"); // log.info(JSONObject.toJSONString(params)); // return R.ok(JSONObject.toJSONString(params)); } /** * WCS入库任务申请 * * @return */ @Override public R wcsReassignLoc(ReassignLocParam params) { if (Objects.isNull(params)) { return R.error("参数不能为空!!"); } List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, params.getBarcode())); if (waitPakins.isEmpty()) { throw new CoolException("单据不存在 !!"); } GenerateTaskParams taskParams = new GenerateTaskParams(); taskParams.setWaitPakins(waitPakins) .setSiteId(params.getSourceStaNo().longValue()); return R.ok(taskService.generateTasks(taskParams, 111L)); // return R.ok("任务生成完毕!"); // log.info(JSONObject.toJSONString(params)); // return R.ok(JSONObject.toJSONString(params)); } /** * WCS入库任务申请 * * @return */ @Override public R wcsChangeLoc(ChangeLocParam params) { if (Objects.isNull(params)) { return R.error("参数不能为空!!"); } List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, params.getBarcode())); if (waitPakins.isEmpty()) { throw new CoolException("单据不存在 !!"); } GenerateTaskParams taskParams = new GenerateTaskParams(); taskParams.setWaitPakins(waitPakins) .setSiteId(params.getSourceStaNo().longValue()); return R.ok(taskService.generateTasks(taskParams, 111L)); // return R.ok("任务生成完毕!"); // log.info(JSONObject.toJSONString(params)); // return R.ok(JSONObject.toJSONString(params)); } }