diff --git a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceQueueController.java b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceQueueController.java index 60cf86776..bcc1f51f8 100644 --- a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceQueueController.java +++ b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceQueueController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.auth; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; @@ -69,9 +70,23 @@ public class SysWorkplaceQueueController extends BaseController { } + @GetMapping("/udiwms/sysWorkplaceQueue/getByCode") + public BaseResponse getByCode(SysWorkplaceQueueRequest request) { + SysWorkplaceQueue sysWorkplaceQueue = + sysWorkplaceQueueService.getOne(new LambdaQueryWrapper().eq(SysWorkplaceQueue::getCode, request.getCode())); + if (sysWorkplaceQueue != null) { + return ResultVOUtils.success(sysWorkplaceQueue); + } else { + return ResultVOUtils.error("货位不存在!"); + } + + + } + + @PostMapping("/udiwms/sysWorkplaceQueue/addQueue") public BaseResponse addQueue(@RequestBody SysWorkplaceQueue sysWorkplaceQueue) { - // 创建时间 更新时间 + // 创建时间 更新时间 sysWorkplaceQueue.setCreateTime(new Date()); sysWorkplaceQueue.setCreateUser(getUserId() + ""); sysWorkplaceQueue.setUpdateUser(getUserId() + ""); @@ -88,8 +103,8 @@ public class SysWorkplaceQueueController extends BaseController { sysWorkplaceQueue.setUpdateTime(new Date()); sysWorkplaceQueue.setUpdateUser(getUserId() + ""); boolean b = sysWorkplaceQueueService.updateById(sysWorkplaceQueue); - if (!b){ - return ResultVOUtils.error(500,"更新失败"); + if (!b) { + return ResultVOUtils.error(500, "更新失败"); } return ResultVOUtils.success("更新成功"); } diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeManController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeManController.java index 2e1d33bf7..8d9974ee3 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeManController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeManController.java @@ -8,6 +8,7 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.collect.IoCollectOrder; +import com.glxp.api.entity.collect.IoCollectOrderBiz; import com.glxp.api.entity.collect.IoCollectOrderCodeMan; import com.glxp.api.exception.JsonException; import com.glxp.api.req.collect.CollectOrderCodeManRequest; @@ -17,6 +18,7 @@ import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.collect.CollectOrderCodeManResponse; import com.glxp.api.res.inout.VailCodeResultResponse; import com.glxp.api.res.inout.VailTagResultResponse; +import com.glxp.api.service.collect.IoCollectOrderBizService; import com.glxp.api.service.collect.IoCollectOrderCodeManService; import com.glxp.api.service.collect.IoCollectOrderService; import com.glxp.api.util.IntUtil; @@ -114,7 +116,8 @@ public class IoCollectOrderCodeManController extends BaseController { if (IntUtil.value(count) > 1) { vailCodeResultResponse.setStatus(4); vailCodeResultResponse.setBizId(data[0]); - vailCodeResultResponse.setErrMsg(data[2]); + vailCodeResultResponse.setCpmctymc(data[2]); + vailCodeResultResponse.setErrMsg(data[3]); } vailCodesList.add(code); } else { @@ -141,7 +144,12 @@ public class IoCollectOrderCodeManController extends BaseController { return ResultVOUtils.success(vailTagResultResponse); } + @Resource + IoCollectOrderBizService collectOrderBizService; + /** + * 拆零确认 + * * @param * @return */ @@ -155,6 +163,10 @@ public class IoCollectOrderCodeManController extends BaseController { if (CollUtil.isNotEmpty(collectOrderCodeMEN)) { for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodeMEN) { collectOrderCodeManService.updateById(collectOrderCodeMan); + IoCollectOrderBiz collectiveOrderBiz = new IoCollectOrderBiz(); + collectiveOrderBiz.setId(collectOrderCodeMan.getBizIdFk()); + collectiveOrderBiz.setSplitUnCheck(false); + collectOrderBizService.updateById(collectiveOrderBiz); } return ResultVOUtils.success("更新成功!"); } else { diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java index f91165a2d..8d1decd25 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java @@ -487,7 +487,7 @@ public class IoCollectOrderController extends BaseController { // } @PostMapping("/udiwms/basic/collect/decideOrder") public BaseResponse decideOrder(@RequestBody CollectOrderRequest request) { - Boolean isExis = collectOrderService.decideOrder(request,getUserId()); + Boolean isExis = collectOrderService.decideOrder(request, getUserId()); if (!isExis) { return ResultVOUtils.error("当前工位存在正在处理单据!"); } diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 263d1957a..19e5069e5 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -1625,6 +1625,7 @@ public class IoCodeTempController extends BaseController { orderEntity.setSplitBusType(addOrderRequest.getSplitBusType()); orderEntity.setFifoSplit(addOrderRequest.getFifoSplit()); orderEntity.setSplitBusType(addOrderRequest.getSplitBusType()); + orderEntity.setWorkPlaceQueueCode(addOrderRequest.getWorkPlaceQueueCode()); orderEntity.setProductType(2); orderService.insertOrder(orderEntity); } diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index 7266c8bf0..7283e0e4a 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -307,6 +307,7 @@ public class IoOrderController extends BaseController { } IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); orderEntity.setRemark(addOrderRequest.getRemark()); + orderEntity.setWorkPlaceQueueCode(addOrderRequest.getWorkPlaceQueueCode()); BaseResponse tempResponse = checkSubmitEnable(orderEntity); if (tempResponse != null) return tempResponse; @@ -362,6 +363,7 @@ public class IoOrderController extends BaseController { orderEntity.setDeptCode(addOrderRequest.getDeptCode()); orderEntity.setBillNo(addOrderRequest.getBillNo()); orderEntity.setInvCode(addOrderRequest.getInvCode()); + orderEntity.setWorkPlaceQueueCode(addOrderRequest.getWorkPlaceQueueCode()); orderEntity.setUpdateTime(new Date()); orderEntity.setUpdateUser(getUserId() + ""); @@ -433,8 +435,8 @@ public class IoOrderController extends BaseController { return ResultVOUtils.error(500, "当前追溯码:" + fifoCodeEntity.getCode() + "未上货!"); } //校验工位库存 - if (fifoCodeEntity.getTotalCount() < codeTempEntity.getReCount()){ - return ResultVOUtils.error(500, "当前码:"+ fifoCodeEntity.getCode()+ "库存不足,请更改码明细!"); + if (fifoCodeEntity.getTotalCount() < codeTempEntity.getReCount()) { + return ResultVOUtils.error(500, "当前码:" + fifoCodeEntity.getCode() + "库存不足,请更改码明细!"); } } } diff --git a/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java index 47f1b7eed..33485afe4 100644 --- a/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java +++ b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java @@ -219,6 +219,15 @@ public class IoCollectOrderBiz implements Serializable { @TableField(value = "tempWorkPlaceCount") @ApiModelProperty(value = "tempWorkPlaceCount") private Integer tempWorkPlaceCount; + + /** + * 拆零未确认 + */ + @TableField(value = "splitUnCheck") + @ApiModelProperty(value = "splitUnCheck") + private boolean splitUnCheck; + + /** * 临时拆零存量 */ diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java index a8e28a472..1b0fb9bbf 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java @@ -339,6 +339,10 @@ public class IoOrderEntity { */ @TableField(value = "splitBusType") private String splitBusType; - + /** + * 上货货位编码 + */ + @TableField(value = "workPlaceQueueCode") + private String workPlaceQueueCode; } diff --git a/src/main/java/com/glxp/api/entity/inout/IoSplitFifoCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoSplitFifoCodeEntity.java index d0664bb2d..4ca7e4af5 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoSplitFifoCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoSplitFifoCodeEntity.java @@ -214,6 +214,12 @@ public class IoSplitFifoCodeEntity implements Serializable { @TableField(value = "invIdFk") @ApiModelProperty(value = "库存ID外键") private Long invIdFk; + /** + * 上货货位编码 + */ + @TableField(value = "workPlaceQueueCode") + private String workPlaceQueueCode; + private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java index b31603b8a..3e036ea27 100644 --- a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java @@ -57,4 +57,9 @@ public class AddOrderRequest { private String splitBusType; private String splitType; private Integer inoutType; + + /** + * 上货货位编码 + */ + private String workPlaceQueueCode; } diff --git a/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java b/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java index f533c6b7d..094b9946a 100644 --- a/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java +++ b/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java @@ -158,4 +158,7 @@ public class CollectOrderBizResponse { private String remark10; + private boolean splitUnCheck; + + } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java index 385fd4b2a..aa4525ac9 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java @@ -289,6 +289,12 @@ public class IoOrderResponse { */ private String busName; + + /** + * 上货货位编码 + */ + private String workPlaceQueueCode; + public String getFromName() { if (StrUtil.isNotEmpty(fromCorpName)) diff --git a/src/main/java/com/glxp/api/res/inout/VailCodeResultResponse.java b/src/main/java/com/glxp/api/res/inout/VailCodeResultResponse.java index 181b2b276..656907273 100644 --- a/src/main/java/com/glxp/api/res/inout/VailCodeResultResponse.java +++ b/src/main/java/com/glxp/api/res/inout/VailCodeResultResponse.java @@ -11,6 +11,7 @@ public class VailCodeResultResponse { */ private Integer status; private String errMsg; + private String cpmctymc; private String productInfo; private String bizId; } diff --git a/src/main/java/com/glxp/api/service/basic/SysWorkplaceQueueService.java b/src/main/java/com/glxp/api/service/basic/SysWorkplaceQueueService.java index 172e69555..b0254df61 100644 --- a/src/main/java/com/glxp/api/service/basic/SysWorkplaceQueueService.java +++ b/src/main/java/com/glxp/api/service/basic/SysWorkplaceQueueService.java @@ -52,11 +52,11 @@ public class SysWorkplaceQueueService extends ServiceImpl().eq(SysWorkplaceQueue::getName, sysWorkplaceQueue.getName())); - if (sysWorkplaceQueue1 != null){ - throw new JsonException(500,"当前分格已存在"); + if (sysWorkplaceQueue1 != null) { + throw new JsonException(500, "当前分格已存在"); } int insert = sysWorkplaceQueueMapper.insert(sysWorkplaceQueue); - if (insert == 0){ + if (insert == 0) { return false; } return true; diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java index a104a44fb..f49f5e09c 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java @@ -299,7 +299,8 @@ public class IoCollectOrderCodeManService extends ServiceImpl ioOrderDetailCodeEntities = orderDetailCodeDao.selectList(new QueryWrapper().select("id", "count", "reCount", "bindRlFk", "batchNo", "price").eq("orderIdFk", orderEntity.getBillNo())); UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectSupGroupById(codeTempEntity.getRelId(), codeTempEntity.getSupId()); + + if (StrUtil.isNotEmpty(orderEntity.getWorkPlaceQueueCode()) && CollUtil.isNotEmpty(ioOrderDetailCodeEntities)) { + boolean isSame = false; + for (IoOrderDetailCodeEntity ioOrderDetailCodeEntity : ioOrderDetailCodeEntities) { + if (ioOrderDetailCodeEntity.getBindRlFk().equals(udiRelevanceResponse.getId())) { + isSame = true; + } + } + if (!isSame) + throw new JsonException(500, "上货产品不符!"); + } + if (codeTempEntity.getPrice() == null && udiRelevanceResponse.getPrice() != null) { codeTempService.updateById(IoCodeTempEntity.builder().id(codeTempEntity.getId()).price(udiRelevanceResponse.getPrice()).build()); } diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java index 0ba6c43c0..1feba28b4 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -1236,7 +1236,7 @@ public class IoCheckInoutService { //若未拆零预出库单据则进入到拆零队列 if (orderEntity.getAction().equals(ConstantType.SPLIT_OUT)) { List codeList = codeService.findByOrderId(orderEntity.getBillNo()); - fifoInvService.insertInv(codeList, orderEntity.getWorkPlaceCode(), orderEntity.getSplitBusType()); + fifoInvService.insertInv(codeList, orderEntity); //更新待处理库存不足单据 splitFifoCodeService.updateAllInvAlert(orderEntity.getWorkPlaceCode()); } else if (orderEntity.getAction().equals(ConstantType.SPLIT_RETURN)) { diff --git a/src/main/java/com/glxp/api/service/inout/IoSplitFifoInvService.java b/src/main/java/com/glxp/api/service/inout/IoSplitFifoInvService.java index ddde52560..5973f91d8 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitFifoInvService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitFifoInvService.java @@ -11,6 +11,7 @@ import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity; import com.glxp.api.entity.basic.SysWorkplacePutRel; import com.glxp.api.entity.collect.IoSplitFifoInvRel; import com.glxp.api.entity.inout.IoCodeEntity; +import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.IoSplitFifoCodeEntity; import com.glxp.api.req.inout.IoSplitFifoInvRequest; import com.glxp.api.res.inout.IoSplitInvResponse; @@ -45,24 +46,23 @@ public class IoSplitFifoInvService extends ServiceImpl codeList, Long workPlaceCode, String busType) { + public void insertInv(List codeList, IoOrderEntity orderEntity) { List splitCodeEntities = new ArrayList<>(); if (CollUtil.isNotEmpty(codeList)) { for (IoCodeEntity codeEntity : codeList) { IoSplitFifoCodeEntity ioSplitFifoCodeEntity = null; if (StrUtil.isEmpty(codeEntity.getSerialNo())) { - ioSplitFifoCodeEntity = splitFifoCodeService.findByCode(codeEntity.getCode(), workPlaceCode); + ioSplitFifoCodeEntity = splitFifoCodeService.findByCode(codeEntity.getCode(), orderEntity.getWorkPlaceCode()); } if (ioSplitFifoCodeEntity != null) { ioSplitFifoCodeEntity.setScanCount(IntUtil.value(ioSplitFifoCodeEntity.getScanCount()) + IntUtil.value(codeEntity.getCount())); ioSplitFifoCodeEntity.setTotalCount(ioSplitFifoCodeEntity.getTotalCount() + codeEntity.getReCount()); ioSplitFifoCodeEntity.setUpdateTime(new Date()); - ioSplitFifoCodeEntity.setBusType(busType); + ioSplitFifoCodeEntity.setBusType(orderEntity.getSplitBusType()); + ioSplitFifoCodeEntity.setWorkPlaceQueueCode(orderEntity.getWorkPlaceQueueCode()); splitFifoCodeService.updateById(ioSplitFifoCodeEntity); IoSplitFifoInv splitFifoInv = findByFifoCode(ioSplitFifoCodeEntity); if (splitFifoInv != null) { @@ -70,7 +70,7 @@ public class IoSplitFifoInvService extends ServiceImpl sysWorkplacePutRels = sysWorkplacePutRelService.selectByWorkPutCode(workPlaceCode); + List sysWorkplacePutRels = sysWorkplacePutRelService.selectByWorkPutCode(orderEntity.getWorkPlaceCode()); if (CollUtil.isNotEmpty(sysWorkplacePutRels)) { for (SysWorkplacePutRel sysWorkplacePutRel : sysWorkplacePutRels) { IoSplitFifoInvRel splitFifoInvRel = new IoSplitFifoInvRel(); splitFifoInvRel.setInvIdFk(splitFifoInv.getId()); - splitFifoInvRel.setPutWorkCode(workPlaceCode); + splitFifoInvRel.setPutWorkCode(orderEntity.getWorkPlaceCode()); splitFifoInvRel.setCollectWorkCode(sysWorkplacePutRel.getCollectWorkCode()); splitFifoInvRel.setBusType(sysWorkplacePutRel.getCollectBusType()); splitFifoInvRel.setCreateTime(new Date()); diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index c35778230..bc463b534 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -4586,3 +4586,16 @@ CREATE TABLE IF NOT EXISTS `sys_workplace_queue` ROW_FORMAT = Dynamic; +CALL Pro_Temp_ColumnWork('io_collect_order_biz', 'splitUnCheck', + 'int NULL DEFAULT NULL COMMENT ''拆零未确认''', + 1); + + +CALL Pro_Temp_ColumnWork('io_order', 'workPlaceQueueCode', + 'varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''上货货位编码''', + 1); + +CALL Pro_Temp_ColumnWork('io_split_fifo_code', 'workPlaceQueueCode', + 'varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''上货货位编码''', + 1); +