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 af5d81a..65fcf31 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 @@ -306,10 +306,18 @@ public class ApiWcsService implements IApiWcsService { //1500*1350 通用货位510H - 货区3任意层数 cargoParam = new BasCargoSpace().builder().theType(type).cargoAreaId(wcsStockinReiceive.getCargoAreaId()).build(); } + + //>>>限制:区域货位不能放满,留出移库位置,判断满货位数量 + boolean isCargoAvailable = basCargoSpaceService.selectBasCargoSpaceIsFull(cargoParam, 10); + if (!isCargoAvailable){ + log.warn("【入库货位分配】该货架区域无可分配空位,请检查货架空位状态,货区:{},托盘类型:{},预留移库空位:{}",wcsStockinReiceive.getCargoAreaId(), type, 10); + return AjaxResult.error("【货位分配失败】货架区域可分配货位已满,预留移库空位:10"); + } + BasCargoSpace cargoStockin = basCargoSpaceService.selectBasCargoSpaceForStockin(cargoParam); - basCargoSpace = cargoStockin; + basCargoSpace = cargoStockin;//更新状态用 if (cargoParam == null) { - log.warn("【货位分配】该类型托盘立库中无可用货位"); + log.warn("【入库货位分配】该类型托盘立库中无可用货位"); return AjaxResult.error("【货位分配失败】该类型托盘立库中无可用货位"); } @@ -331,7 +339,7 @@ public class ApiWcsService implements IApiWcsService { .build(); mydoJobService.insertMydoJob(mydoJobNew); - log.info("【wms生成入库】<空托入库>作业,作业号:{},任务号:{},托盘号:{},分配货位:{}",mydoJobNew.getJobId() ,mydoJobNew.getTaskNo() ,mydoJobNew.getTrayCode(), cargoStockin.getCargoSpaceId()); + log.info("【wms生成入库】<常规入库>作业,作业号:{},任务号:{},托盘号:{},分配货位:{}",mydoJobNew.getJobId() ,mydoJobNew.getTaskNo() ,mydoJobNew.getTrayCode(), cargoStockin.getCargoSpaceId()); }else{ log.info("【提示】<常规入库>wms已存在该条码作业,托盘号:{}",mydoJob.getTrayCode()); basCargoSpace = basCargoSpaceService.selectBasCargoSpaceByCargoSpaceId(mydoJob.getCargoSpaceId()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargospace/service/IBasCargoSpaceService.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargospace/service/IBasCargoSpaceService.java index 854e975..493a844 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargospace/service/IBasCargoSpaceService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargospace/service/IBasCargoSpaceService.java @@ -55,6 +55,17 @@ public interface IBasCargoSpaceService public List selectBasCargoSpaceListForContainer(BasCargoSpace basCargoSpace); + /** + * 查询货位信息列表 - 是否满足入库要求(@@@FT577 - 留出移库空位x10) + * true - 可用 false - 无可用货位 + * + * @param basCargoSpace 货位信息 + * @param restCargo 预留的移库位置数量 + * @return 货位信息集合 + */ + public boolean selectBasCargoSpaceIsFull(BasCargoSpace basCargoSpace, int restCargo); + + /** * 新增货位信息 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargospace/service/impl/BasCargoSpaceServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargospace/service/impl/BasCargoSpaceServiceImpl.java index 7c7dced..b06adb9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/cargospace/service/impl/BasCargoSpaceServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/cargospace/service/impl/BasCargoSpaceServiceImpl.java @@ -82,6 +82,39 @@ public class BasCargoSpaceServiceImpl implements IBasCargoSpaceService return basCargoSpaceMapper.selectBasCargoSpaceListForContainer(basCargoSpace); } + + /** + * 查询货位信息列表 - 是否满足入库要求(@@@FT577 - 留出移库空位x10) + * true - 可用 false - 无可用货位 + * + * @param basCargoSpace 货位信息 + * @return 货位信息集合 + */ + @Override + public boolean selectBasCargoSpaceIsFull(BasCargoSpace basCargoSpace, int restCargo){ + + String cargoAreaId = basCargoSpace.getCargoAreaId(); + int type = basCargoSpace.getTheType(); + + //可分配区域的所有货位数量 + int cargoFull = selectBasCargoSpaceList( + new BasCargoSpace().builder().cargoAreaId(cargoAreaId).theType(type).locked(CargoSpaceCode.CARGOSPACE_LOCKED_NORMAL).build() + ).size(); + + //可分配区域的所有货位数量 + int cargoAvailable = selectBasCargoSpaceList( + new BasCargoSpace().builder().cargoAreaId(cargoAreaId).theType(type).status("2").locked(CargoSpaceCode.CARGOSPACE_LOCKED_NORMAL).build() + ).size(); + + if (cargoAvailable + restCargo > cargoFull){ + return true; + } + + return false; + } + + + /** * 新增货位信息 * diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/jobdetail/controller/InMydoJobDetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/in/jobdetail/controller/InMydoJobDetailController.java index 84527f5..72469fb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/jobdetail/controller/InMydoJobDetailController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/jobdetail/controller/InMydoJobDetailController.java @@ -46,11 +46,11 @@ public class InMydoJobDetailController extends BaseController { startPage(); List list; - if (mydoJobDetail.getStatus() != null && Convert.toInt(mydoJobDetail.getStatus()) < 4){ +// if (mydoJobDetail.getStatus() != null && Convert.toInt(mydoJobDetail.getStatus()) < 4){ list = mydoJobDetailService.selectMydoJobDetailList(mydoJobDetail); - }else { - list = mydoJobDetailService.selectMydoJobDetailFinishList(mydoJobDetail); - } +// }else { +// list = mydoJobDetailService.selectMydoJobDetailFinishList(mydoJobDetail); +// } return getDataTable(list); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/scheduleTask/MydoJobHandler.java b/ruoyi-admin/src/main/java/com/ruoyi/scheduleTask/MydoJobHandler.java index f58c7ef..31d9f10 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/scheduleTask/MydoJobHandler.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/scheduleTask/MydoJobHandler.java @@ -723,7 +723,10 @@ public class MydoJobHandler { inStockinDetailService.updateInStockinDetail(inStockinDetail); } - intrayMsgService.deleteInTrayMsgByRollerNumber(detail.getRollerNumber()); + InTrayMsg msg = intrayMsgService.selectInTrayMsgByRollerNumber(detail.getRollerNumber()); + if (ObjUtil.isNotNull(msg)){ + intrayMsgService.deleteInTrayMsgByRollerNumber(detail.getRollerNumber()); + } }//子任务循环处理 diff --git a/ruoyi-ui/src/api/in/jobdetail.js b/ruoyi-ui/src/api/in/jobdetail.js index ae684d2..57f4266 100644 --- a/ruoyi-ui/src/api/in/jobdetail.js +++ b/ruoyi-ui/src/api/in/jobdetail.js @@ -1,7 +1,7 @@ import request from '@/utils/request' // 查询作业子信息列表 -export function listJobdetail(query) { +export function listJobDetail(query) { return request({ url: '/in/jobdetail/list', method: 'get', diff --git a/ruoyi-ui/src/views/in/job/index.vue b/ruoyi-ui/src/views/in/job/index.vue index c56cad3..3b4b120 100644 --- a/ruoyi-ui/src/views/in/job/index.vue +++ b/ruoyi-ui/src/views/in/job/index.vue @@ -176,6 +176,11 @@ + + + @@ -202,11 +207,11 @@