diff --git a/pda/pages/warehouse/inbound/bindTray.vue b/pda/pages/warehouse/inbound/bindTray.vue index 0d27ad6..db4dc8a 100644 --- a/pda/pages/warehouse/inbound/bindTray.vue +++ b/pda/pages/warehouse/inbound/bindTray.vue @@ -318,11 +318,13 @@ this.items.push({ stockinDetailId: this.currentMaterial.stockinDetailId, productId: this.currentMaterial.rollerNumber, - // productName: this.currentMaterial.productName, + productName: this.currentMaterial.productName, rollerNumber: this.currentMaterial.rollerNumber, + length: this.currentMaterial.length, + perimeter: this.currentMaterial.perimeter, // colorSequence: this.currentMaterial.colorSequence, - color: this.currentMaterial.color, - spec: this.currentMaterial.spec, + // color: this.currentMaterial.color, + // spec: this.currentMaterial.spec, quantity: Number(this.currentQty) }) // 清空当前扫码区,继续扫下一个 @@ -355,10 +357,13 @@ return { stockinDetailId: i.stockinDetailId, productId: i.rollerNumber, + productName: i.productName, rollerNumber: i.rollerNumber, - colorSequence: i.colorSequence, - color: i.color, - spec: i.spec, + length: i.length, + perimeter: i.perimeter, + // colorSequence: i.colorSequence, + // color: i.color, + // spec: i.spec, quantity: i.quantity } }) diff --git a/pda/pages/warehouse/outbound/index.vue b/pda/pages/warehouse/outbound/index.vue index 075e4c4..5ebb1d7 100644 --- a/pda/pages/warehouse/outbound/index.vue +++ b/pda/pages/warehouse/outbound/index.vue @@ -28,7 +28,7 @@ - + diff --git a/pda/pages/warehouse/outbound/trayConfirm.vue b/pda/pages/warehouse/outbound/trayConfirm.vue index 958f365..ee0fb2e 100644 --- a/pda/pages/warehouse/outbound/trayConfirm.vue +++ b/pda/pages/warehouse/outbound/trayConfirm.vue @@ -57,6 +57,7 @@ + @@ -437,6 +438,11 @@ margin-bottom: 20rpx; } + .btn-blue { + background: #1da6fa; + color: #fff; + } + .btn-orange { background: #fa8c16; color: #fff; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/WcsServiceController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/WcsServiceController.java index af2d947..d914a7f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/WcsServiceController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/WcsServiceController.java @@ -43,7 +43,7 @@ public class WcsServiceController extends BaseController { @PostMapping("/stockoutByManual") public AjaxResult stockoutByManual(@RequestBody Map params) { AjaxResult ajaxResult = apiWcsService.stockoutByManual(params); - RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(params), "创建入库任务请求", ajaxResult); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(params), "手动指定货位出库", ajaxResult); requestLogService.insertRequestLog(requestLog); return ajaxResult; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiErpService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiErpService.java index 1fbd52d..758c1ba 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiErpService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiErpService.java @@ -252,7 +252,7 @@ public class ApiErpService implements IApiErpService { // outStockoutService.autoAssignOutStockout(stockoutId); outStockoutService.autoAssignOutStockoutByErpBill(docNo); - log.info("【ERP推送出库】出库单据已经执行自动分配, 单据号:{}", docNo); + log.info("【ERP推送出库】出库单据执行自动分配, 单据号:{}", docNo); return AjaxResult.success("操作成功,erp下发出库单据号:" + docNo); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiWcsService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiWcsService.java index 7371eaf..59f81dc 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiWcsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ApiWcsService.java @@ -89,14 +89,14 @@ public class ApiWcsService implements IApiWcsService { //获取立库区域和托盘类型 List basCargoSpaceEmptyTray = basCargoSpaceService.selectBasCargoSpaceListForEmptyTray( - new BasCargoSpace().builder().cargoAreaId(cargoAreaId).theType(type).build() + new BasCargoSpace().builder().cargoAreaId(cargoAreaId).theType(type).status(CargoSpaceCode.CARGOSPACE_STATUS_OCCUPIED).build() ); // List basCargoSpaceContainer = basCargoSpaceService.selectBasCargoSpaceListForContainer( // new BasCargoSpace().builder().cargoAreaId(cargoAreaId).theType(type).build() // ); if (basCargoSpaceEmptyTray.isEmpty()) { - log.info("【呼叫容器】空容器呼叫失败,无可用的空容器库存"); + log.info("【呼叫容器】空容器呼叫失败,无可用的空容器库存,呼叫区域:{},呼叫托盘类型:{}", cargoAreaId, type); //todo 此处可查存放库存较少的托盘出库 }else{ @@ -190,9 +190,9 @@ public class ApiWcsService implements IApiWcsService { String jobId = basJobIdService.getId(JobIdType.MYDOJOB_STOCKOUT_EMPTY_PALLET); String taskNo = basTaskNoService.getTaskNo(TaskIdType.TASK_STOCKOUT_EMPTY_PALLET); int taskType = TaskType.TASKTYPE_STOCKOUT_EMPTY_TRAY; - if (stockInfo.getEmptyStatus() > 0){ - taskType = TaskType.TASKTYPE_STOCKOUT_CONTAINER; - } +// if (stockInfo.getEmptyStatus() > 0){ +// taskType = TaskType.TASKTYPE_STOCKOUT_CONTAINER; +// } MydoJob mydoJob = new MydoJob().builder() .jobId(jobId) @@ -206,9 +206,11 @@ public class ApiWcsService implements IApiWcsService { .warehouseId("01") .build(); mydoJobService.insertMydoJob(mydoJob); - } - return AjaxResult.success(); + log.info("【呼叫空托】生成空托盘出库作业,作业号:{},托盘号:{},出库货位:{}", jobId, cargoSpaceCurrent.getTrayCode(), cargoSpaceCurrent.getCargoSpaceId()); + + return AjaxResult.success(); + } } @@ -251,7 +253,7 @@ public class ApiWcsService implements IApiWcsService { List trayMsgs = inTrayMsgService.selectInTrayMsgList( new InTrayMsg().builder().trayCode(wcsStockinReiceive.getTrayCode()).build() ); - if (trayMsgs.size() == 0){ + if (trayMsgs.isEmpty()){ log.warn("【入库请求】未找到该托盘的绑定信息,请确认是否有绑定操作,托盘条码:{}", wcsStockinReiceive.getTrayCode()); return AjaxResult.error("未找到该托盘的绑定信息,请确认是否有绑定操作"); } @@ -442,8 +444,11 @@ public class ApiWcsService implements IApiWcsService { // return AjaxResult.error("该货位已被其它任务预占用,请等待任务执行完成后重试"); // } - MydoJob job = mydoJobService.selectMydoJobByTrayCode(cargoSpace.getTrayCode()); - if (ObjUtil.isNull(job)){ +// MydoJob job = mydoJobService.selectMydoJobBy(cargoSpace.getTrayCode()); + List jobs = mydoJobService.selectMydoJobList( + new MydoJob().builder().cargoSpaceId(cargoSpaceId).build() + ); + if (jobs.isEmpty()){ String jobId = basJobIdService.getId(JobIdType.MYDOJOB_STOCKOUT_MANUAL); String taskNo = basTaskNoService.getTaskNo(TaskIdType.TASK_STOCKOUT); @@ -500,6 +505,8 @@ public class ApiWcsService implements IApiWcsService { return AjaxResult.success(); } + }else{ + log.info("【wms指定出库】<指定货位出库>操作失败,已经存在当前货位的出库任务,出库货位:{}", cargoSpaceId); } return AjaxResult.error(); @@ -884,7 +891,7 @@ public class ApiWcsService implements IApiWcsService { */ @Override public AjaxResult cancelWcsMydoJob(Map param){ - RequestLog requestLog = requestLogService.getRequestLog(WcsUrl.PUSH_OUT_MYDO_JOB, JSONUtil.toJsonStr(param), "wcs手动作废作业"); + RequestLog requestLog = requestLogService.getRequestLog(WcsUrl.CANCEL_WCS_MYDOJOB, JSONUtil.toJsonStr(param), "wcs手动作废作业"); requestLog.setResponseBody(JSONUtil.toJsonStr(AjaxResult.success())); requestLog.setResponseStatus("0"); requestLog.setIsSuccessful("1"); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/stock/service/impl/BasStockInfoServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/stock/service/impl/BasStockInfoServiceImpl.java index fc0abbc..c469226 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/stock/service/impl/BasStockInfoServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/stock/service/impl/BasStockInfoServiceImpl.java @@ -95,20 +95,20 @@ public class BasStockInfoServiceImpl implements IBasStockInfoService { BasStockInfo oldBasStockInfo = basStockInfoMapper.selectBasStockInfoByStockId(basStockInfo.getStockId()); int i = basStockInfoMapper.updateBasStockInfo(basStockInfo); - if (i>0 && oldBasStockInfo != null){ - LoginUser loginUser = SecurityUtils.getLoginUser(); - SysDept sysDept = sysDeptMapper.selectDeptById(loginUser.getDeptId()); - BasStockOperRecord basStockOperRecord = new BasStockOperRecord(); - basStockOperRecord.setStockId(basStockInfo.getStockId()); - basStockOperRecord.setCargoSpaceId(basStockInfo.getCargoSpaceId()); - basStockOperRecord.setUserId(loginUser.getUserId()); - basStockOperRecord.setUserName(loginUser.getUsername()); - basStockOperRecord.setDeptId(loginUser.getDeptId()); - basStockOperRecord.setDeptName(sysDept.getDeptName()); - basStockOperRecord.setCreateTime(DateUtils.getNowDate()); - //basStockOperRecord.setCargoSpaceName(oldBasStock.getCargoSpaceName()); - basStockOperRecordMapper.insertBasStockOperRecord(basStockOperRecord); - } +// if (i>0 && oldBasStockInfo != null){ +// LoginUser loginUser = SecurityUtils.getLoginUser(); +// SysDept sysDept = sysDeptMapper.selectDeptById(loginUser.getDeptId()); +// BasStockOperRecord basStockOperRecord = new BasStockOperRecord(); +// basStockOperRecord.setStockId(basStockInfo.getStockId()); +// basStockOperRecord.setCargoSpaceId(basStockInfo.getCargoSpaceId()); +// basStockOperRecord.setUserId(loginUser.getUserId()); +// basStockOperRecord.setUserName(loginUser.getUsername()); +// basStockOperRecord.setDeptId(loginUser.getDeptId()); +// basStockOperRecord.setDeptName(sysDept.getDeptName()); +// basStockOperRecord.setCreateTime(DateUtils.getNowDate()); +// //basStockOperRecord.setCargoSpaceName(oldBasStock.getCargoSpaceName()); +// basStockOperRecordMapper.insertBasStockOperRecord(basStockOperRecord); +// } return i; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/job/service/impl/MydoJobServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/job/service/impl/MydoJobServiceImpl.java index c638f00..d1deef8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/job/service/impl/MydoJobServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/job/service/impl/MydoJobServiceImpl.java @@ -352,10 +352,10 @@ public class MydoJobServiceImpl implements IMydoJobService List inTrayMsgs = inTrayMsgService.selectInTrayMsgList( new InTrayMsg().builder().trayCode(mydoJob.getTrayCode()).build() ); - if (inTrayMsgs.isEmpty()){ - log.warn("【任务完成】查不到该作业对应的托盘绑定信息,请检查绑定状态,任务号:" + jobId); - return AjaxResult.error("查不到该作业对应的托盘绑定信息,请检查绑定状态"); - } +// if (inTrayMsgs.isEmpty()){ +// log.warn("【任务完成】查不到该作业对应的托盘绑定信息,请检查绑定状态,任务号:" + jobId); +// return AjaxResult.error("查不到该作业对应的托盘绑定信息,请检查绑定状态"); +// } //子任务 List details = mydoJobDetailService.selectMydoJobDetailByJobId(jobId); @@ -431,7 +431,7 @@ public class MydoJobServiceImpl implements IMydoJobService } inTrayMsgService.deleteInTrayMsgByRollerNumber(inTrayMsg.getRollerNumber()); - log.info("【账务处理】新增库存明细,移除库存辊号入库绑定信息,作业号:{},库存编号:{},辊号:{}", jobId, stockId, detail.getRollerNumber()); + log.info("【账务处理】新增库存明细,移除版辊入库绑定信息,作业号:{},库存编号:{},辊号:{}", jobId, stockId, detail.getRollerNumber()); //更新实际数量 = 当前入库数量 InStockinDetail inStockinDetail = instockinDetailService.selectInStockinDetailByRollerNumber(detail.getRollerNumber()); @@ -573,17 +573,20 @@ public class MydoJobServiceImpl implements IMydoJobService } //--------------------处理库存信息-------------------- + basStockService.deleteBasStockByTrayCode(mydoJob.getTrayCode()); + basStockInfoService.deleteBasStockInfoByTrayCode(mydoJob.getTrayCode()); + log.info("【账务处理-手动出库】移除托盘和版辊库存,作业号:{},货位编号:{},托盘号:{}", jobId, mydoJob.getCargoSpaceId(), mydoJob.getTrayCode()); //移除指定辊号的库存信息 - for (MydoJobDetail detail : details){ - - //移除指定辊号的库存明细 - basStockService.deleteBasStockByRollerNumber(detail.getRollerNumber()); - //如果条码没有库存明细,则移除主表信息 - if (basStockService.selectBasStockListByTrayCode(mydoJob.getTrayCode()).size() == 0){ - basStockInfoService.deleteBasStockInfoByTrayCode(mydoJob.getTrayCode()); - } - - } +// for (MydoJobDetail detail : details){ +// +// //移除指定辊号的库存明细 +// basStockService.deleteBasStockByRollerNumber(detail.getRollerNumber()); +// //如果条码没有库存明细,则移除主表信息 +// if (basStockService.selectBasStockListByTrayCode(mydoJob.getTrayCode()).size() == 0){ +// basStockInfoService.deleteBasStockInfoByTrayCode(mydoJob.getTrayCode()); +// } +// +// } //--------------------更新货位状态-------------------- BasCargoSpace cargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId()); @@ -710,7 +713,7 @@ public class MydoJobServiceImpl implements IMydoJobService //3.移除当前托盘的绑定信息 inTrayMsgService.deleteInTrayMsgByTrayCode(mydoJob.getTrayCode()); - log.info("【账务处理-空托盘出库】移除任务数据,生成历史记录,作业号:{},托盘号:{}", jobId, mydoJob.getTrayCode()); + log.info("【账务处理-空托盘】移除任务数据,生成历史记录,作业号:{},托盘号:{}", jobId, mydoJob.getTrayCode()); return AjaxResult.success(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/stockout/service/impl/OutStockoutServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/stockout/service/impl/OutStockoutServiceImpl.java index 25b70b5..7efaf82 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/stockout/service/impl/OutStockoutServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/stockout/service/impl/OutStockoutServiceImpl.java @@ -625,6 +625,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService .stockQuantity(stock.getQuantity()) .outQuantity(BigDecimal.ZERO) .trayType(cargoCurrent.getTheType()) + .trayCode(mydoJob.getTrayCode()) .status(0) .inDate(stock.getInDate()) .rollerNumber(stock.getRollerNumber()) @@ -644,7 +645,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService } - log.info("【出库单据分配】分配成功,单据号:{}", details.get(0).getStockoutId()); + log.info("【出库单据分配】已尝试执行分配操作,单据号:{}", details.get(0).getStockoutId()); return AjaxResult.success(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java index 5982ef0..ecb6f86 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java @@ -469,7 +469,8 @@ public class PdaController extends BaseController { @PostMapping("/stockoutTrayCodeCompleteManual") @PreAuthorize("@ss.hasPermi('out:bound:task:info')") public AjaxResult stockoutTrayCodeCompleteManual(String trayCode) { - return pdaService.stockoutTrayCodeCompleteManual(trayCode); +// return pdaService.stockoutTrayCodeCompleteManual(trayCode); + return AjaxResult.error("手动出库目前不支持确认操作"); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaStockoutController.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaStockoutController.java index d692fdb..71ea81e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaStockoutController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaStockoutController.java @@ -177,10 +177,12 @@ public class PdaStockoutController extends BaseController { @PostMapping("/stockoutTrayCodeCompleteManual") @PreAuthorize("@ss.hasPermi('out:bound:task:info')") public AjaxResult stockoutTrayCodeCompleteManual(String trayCode) { - return pdaService.stockoutTrayCodeCompleteManual(trayCode); +// return pdaService.stockoutTrayCodeCompleteManual(trayCode); + return AjaxResult.error("手动出库目前不支持确认操作"); } + /** * 【手动指定出库】出库确认 - 托盘号查询 - 仅查询托盘上出库单中包含的版辊信息 * @param trayCode 托盘号 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java index 2080e2d..e8610cc 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java @@ -130,7 +130,7 @@ public class PdaServiceImpl implements IPdaService { } /** - * 入库绑盘(一托多料) + * 入库绑盘(一托多料) - 已弃用 */ @Override public String bindTray(BindTrayRequest request) { @@ -151,7 +151,7 @@ public class PdaServiceImpl implements IPdaService { /** - * 绑定托盘信息(单托盘) + * 绑定托盘信息(单托盘) - 已弃用 * @param bindTrayMsg 绑盘请求体,包含托盘号和物料明细列表 * @return */ @@ -317,7 +317,7 @@ public class PdaServiceImpl implements IPdaService { new InTrayMsg().builder() .trayCode(trayCode) .productId(item.getProductId()) - .productName(item.getProductName()) + .productName(detail.getProductName()) .quantity(item.getQuantity()) .rollerNumber(item.getRollerNumber()) .stockinId(detail.getStockinId()) @@ -337,7 +337,7 @@ public class PdaServiceImpl implements IPdaService { detail.setScanNum(BigDecimal.valueOf(1)); inStockinDetailService.updateInStockinDetail(detail); - log.info("【绑定信息】<常规入库>操作成功,生成绑定信息,更新子单已扫码数量,辊号:{},托盘号:{}",item.getRollerNumber(), bindTrayMsg.getTrayCode()); + log.info("【绑定信息】<常规入库>操作成功,生成绑定信息,更新子单已扫码数量,辊号:{},托盘号:{},物料名称:{}",item.getRollerNumber(), bindTrayMsg.getTrayCode(), item.getProductName()); } @@ -532,6 +532,7 @@ public class PdaServiceImpl implements IPdaService { new InTrayMsg().builder() .trayCode(request.getTrayCode()) .productId(ProductType.EMPTY_TRAY) + .productName("空托盘") .rollerNumber(ProductType.EMPTY_TRAY) .quantity(BigDecimal.valueOf(1)) .warehouseId("01") @@ -840,63 +841,63 @@ public class PdaServiceImpl implements IPdaService { //>>>>>>>>>>>>>>>>>>>>>>> 生成回流 <<<<<<<<<<<<<<<<<<<<<<<< //>>>>>>>>>>>>>>>>>>>>>>> 生成回流 <<<<<<<<<<<<<<<<<<<<<<<< //获取托盘剩余库存 - List stocks = basStockService.selectBasStockListByTrayCode(trayCode); - int trayType = mydoJobService.getTrayTypeByTrayCode(trayCode); - //检查当前条码是否已经生成作业 - MydoJob mydoJob = mydoJobService.selectMydoJobByTrayCode(trayCode); - - if (ObjUtil.isEmpty(mydoJob)) { - - String jobId = basJobIdService.getId(JobIdType.MYDOJOB_PICK_RETURN); - String taskNo = basTaskNoService.getTaskNo(TaskIdType.TASK_STOCKIN_BACK); - int taskType = TaskType.TASKTYPE_PICK_BACK; - - //--------------------------- 入库货位分配 --------------------------- - //区分高矮货,只能在堆垛机上获取货物高度,高货位可放全部高度的托盘 - BasCargoSpace cargoParam; - String cargoAreaId = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(job.getCargoSpaceId()).getCargoAreaId(); - if (trayType == 1){ - //1500*1200 低货位380H - 不限制高度 - cargoParam = new BasCargoSpace().builder().theType(trayType).cargoAreaId(cargoAreaId).build(); - }else if (trayType == 2){ - //1500*1200 高货位510H - 只能放指定层高的货位 - cargoParam = new BasCargoSpace().builder().theType(trayType).cargoAreaId(cargoAreaId).theHeight(510).build(); - }else{ - //1500*1350 通用货位510H - 货区3任意层数 - cargoParam = new BasCargoSpace().builder().theType(trayType).cargoAreaId(cargoAreaId).build(); - } - - if (cargoParam == null) { - log.warn("【货位分配】该类型托盘立库中无可用货位"); - return AjaxResult.error("【货位分配失败】该类型托盘立库中无可用货位"); - } - - BasCargoSpace cargoStockin = basCargoSpaceService.selectBasCargoSpaceForStockin(cargoParam); - - //>>>生成wms的入库主作业 - MydoJob mydoJobBack = new MydoJob().builder() - .jobId(jobId) - .taskNo(taskNo) - .status(TaskStatusEnum.READY.getCode()) - .warehouseId(cargoStockin.getWarehouseId()) - .warehouseName("立体库") - .executionPhase("0") - .inOrOut(taskType) - .trayCode(trayCode) -// .entranceId(wcsStockinReiceive.getEntranceId()) - .roadwayId(cargoStockin.getRoadwayId()) - .cargoSpaceId(cargoStockin.getCargoSpaceId()) - .cargoSpaceName(cargoStockin.getCargoSpaceName()) - .trayType(trayType) - .build(); - - mydoJobService.insertMydoJob(mydoJobBack); - log.info("【wms手动出库回流】<回流入库>作业,作业号:{},任务号:{},托盘号:{},分配货位:{}",mydoJobBack.getJobId() ,mydoJobBack.getTaskNo() ,mydoJobBack.getTrayCode(), cargoStockin.getCargoSpaceId()); - - return AjaxResult.success("确认成功"); - }else{ - log.info("【提示】<回流入库>wms已存在该条码作业,请确认该条码的任务状态后重试,托盘号:{}",mydoJob.getTrayCode()); - } +// List stocks = basStockService.selectBasStockListByTrayCode(trayCode); +// int trayType = mydoJobService.getTrayTypeByTrayCode(trayCode); +// //检查当前条码是否已经生成作业 +// MydoJob mydoJob = mydoJobService.selectMydoJobByTrayCode(trayCode); +// +// if (ObjUtil.isEmpty(mydoJob)) { +// +// String jobId = basJobIdService.getId(JobIdType.MYDOJOB_PICK_RETURN); +// String taskNo = basTaskNoService.getTaskNo(TaskIdType.TASK_STOCKIN_BACK); +// int taskType = TaskType.TASKTYPE_PICK_BACK; +// +// //--------------------------- 入库货位分配 --------------------------- +// //区分高矮货,只能在堆垛机上获取货物高度,高货位可放全部高度的托盘 +// BasCargoSpace cargoParam; +// String cargoAreaId = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(job.getCargoSpaceId()).getCargoAreaId(); +// if (trayType == 1){ +// //1500*1200 低货位380H - 不限制高度 +// cargoParam = new BasCargoSpace().builder().theType(trayType).cargoAreaId(cargoAreaId).build(); +// }else if (trayType == 2){ +// //1500*1200 高货位510H - 只能放指定层高的货位 +// cargoParam = new BasCargoSpace().builder().theType(trayType).cargoAreaId(cargoAreaId).theHeight(510).build(); +// }else{ +// //1500*1350 通用货位510H - 货区3任意层数 +// cargoParam = new BasCargoSpace().builder().theType(trayType).cargoAreaId(cargoAreaId).build(); +// } +// +// if (cargoParam == null) { +// log.warn("【货位分配】该类型托盘立库中无可用货位"); +// return AjaxResult.error("【货位分配失败】该类型托盘立库中无可用货位"); +// } +// +// BasCargoSpace cargoStockin = basCargoSpaceService.selectBasCargoSpaceForStockin(cargoParam); +// +// //>>>生成wms的入库主作业 +// MydoJob mydoJobBack = new MydoJob().builder() +// .jobId(jobId) +// .taskNo(taskNo) +// .status(TaskStatusEnum.READY.getCode()) +// .warehouseId(cargoStockin.getWarehouseId()) +// .warehouseName("立体库") +// .executionPhase("0") +// .inOrOut(taskType) +// .trayCode(trayCode) +//// .entranceId(wcsStockinReiceive.getEntranceId()) +// .roadwayId(cargoStockin.getRoadwayId()) +// .cargoSpaceId(cargoStockin.getCargoSpaceId()) +// .cargoSpaceName(cargoStockin.getCargoSpaceName()) +// .trayType(trayType) +// .build(); +// +// mydoJobService.insertMydoJob(mydoJobBack); +// log.info("【wms手动出库回流】<回流入库>作业,作业号:{},任务号:{},托盘号:{},分配货位:{}",mydoJobBack.getJobId() ,mydoJobBack.getTaskNo() ,mydoJobBack.getTrayCode(), cargoStockin.getCargoSpaceId()); +// +// return AjaxResult.success("确认成功"); +// }else{ +// log.info("【提示】<回流入库>wms已存在该条码作业,请确认该条码的任务状态后重试,托盘号:{}",mydoJob.getTrayCode()); +// } return AjaxResult.success("确认失败"); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/scheduleTask/RequestWcsHandler.java b/ruoyi-admin/src/main/java/com/ruoyi/scheduleTask/RequestWcsHandler.java index 107a2e0..3607117 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/scheduleTask/RequestWcsHandler.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/scheduleTask/RequestWcsHandler.java @@ -93,7 +93,7 @@ public class RequestWcsHandler { /** * 推送wcs带货容器出库作业 */ - @Scheduled(fixedRate = TIMEINTERVAL_2000) +// @Scheduled(fixedRate = TIMEINTERVAL_2000) public void sendWcsContainerTask(){ List mydoJobs = mydoJobService.selectOutMydoJobList( new MydoJob().builder() @@ -154,6 +154,14 @@ public class RequestWcsHandler { if (mydoJobs.isEmpty()) return; + List moveJobs = mydoJobService.selectMydoJobList( + new MydoJob().builder() + .inOrOut(TaskType.TASKTYPE_PICK_STOCK_MOVE) + .build() + ); + + if (!moveJobs.isEmpty()) return; + for (MydoJob mydoJob : mydoJobs) { //初始化参数 @@ -204,6 +212,14 @@ public class RequestWcsHandler { if (mydoJobs.isEmpty()) return; + List moveJobs = mydoJobService.selectMydoJobList( + new MydoJob().builder() + .inOrOut(TaskType.TASKTYPE_PICK_STOCK_MOVE) + .build() + ); + + if (!moveJobs.isEmpty()) return; + for (MydoJob mydoJob : mydoJobs) { //初始化参数 @@ -254,6 +270,14 @@ public class RequestWcsHandler { if (mydoJobs.isEmpty()) return; + List moveJobs = mydoJobService.selectMydoJobList( + new MydoJob().builder() + .inOrOut(TaskType.TASKTYPE_PICK_STOCK_MOVE) + .build() + ); + + if (!moveJobs.isEmpty()) return; + for (MydoJob mydoJob : mydoJobs){ //初始化参数 HashMap paramMap = new HashMap<>(); @@ -347,12 +371,12 @@ public class RequestWcsHandler { /** * 推送wcs移库任务 */ - @Scheduled(fixedRate = TIMEINTERVAL_2000) +// @Scheduled(fixedRate = TIMEINTERVAL_2000) public void sendWcsMoveTask(){ List mydoJobs = mydoJobService.selectMydoJobList( new MydoJob().builder() .status(TaskStatusEnum.READY.getCode()) - .inOrOut(TaskType.TASKTYPE_PICK_BACK) + .inOrOut(TaskType.TASKTYPE_PICK_STOCK_MOVE) .build() ); @@ -372,7 +396,7 @@ public class RequestWcsHandler { AjaxResult ajaxResult = apiWcsService.sendBackMydoJob(paramMap); if (ajaxResult.isSuccess()){ - log.info("【推送回流入库】<托盘回流>入库,更新货位和库存预占用状态,wms作业号:{},货位:{},托盘号:{}", mydoJob.getJobId(), mydoJob.getCargoSpaceId(), mydoJob.getTrayCode()); + log.info("【推送移库】推送移库作业,更新货位和库存预占用状态,wms作业号:{},货位:{},托盘号:{}", mydoJob.getJobId(), mydoJob.getCargoSpaceId(), mydoJob.getTrayCode()); mydoJob.setStatus(TaskStatusEnum.RUNNING.getCode()); mydoJobService.updateMydoJob(mydoJob); diff --git a/ruoyi-admin/src/main/resources/mapper/in/InTrayMsgMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InTrayMsgMapper.xml index ef882be..809a815 100644 --- a/ruoyi-admin/src/main/resources/mapper/in/InTrayMsgMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/in/InTrayMsgMapper.xml @@ -10,6 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -25,7 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, tray_code, stockin_detail_id, product_id, quantity, warehouse_id, user_id, dept_id, create_time, tray_type, roller_number, color_sequence, color, length, perimeter, status from in_tray_msg + select id, tray_code, stockin_detail_id, product_id, product_name, quantity, warehouse_id, user_id, dept_id, create_time, tray_type, roller_number, color_sequence, color, length, perimeter, status from in_tray_msg