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 106122083..2ffcb1508 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java @@ -371,11 +371,12 @@ public class IoCollectOrderController extends BaseController { if (!isAllTag) { SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(collectOrderRequest.getBusType()); - if (IntUtil.value(sysWorkplaceDocumentEntity.getOrderFinishVerify()) == 1) { - return ResultVOUtils.error(502, "该业务单据未全部赋码,是否强制完成单据?"); - } else { - return ResultVOUtils.error(503, "该业务单据未全部赋码,无法完成单据?"); - } +// if (IntUtil.value(sysWorkplaceDocumentEntity.getOrderFinishVerify()) == 1) { +// +// } else { +// return ResultVOUtils.error(503, "该业务单据未全部赋码,无法完成单据?"); +// } + return ResultVOUtils.error(502, "该业务单据未全部赋码,是否强制完成单据?"); } } @@ -440,17 +441,14 @@ public class IoCollectOrderController extends BaseController { // collectOrderService.orderUpload(collectOrderRequest.getBillNo()); // return ResultVOUtils.success(); // } - - @PostMapping("/udiwms/basic/collect/decideOrder") - public BaseResponse decideOrder(@RequestBody CollectOrderRequest request){ + public BaseResponse decideOrder(@RequestBody CollectOrderRequest request) { Boolean isExis = collectOrderService.decideOrder(request); - if (!isExis){ - return ResultVOUtils.error("当前工位正在处理单据,无法打开当前单据"); + if (!isExis) { + return ResultVOUtils.error("当前工位存在正在处理单据!"); } return ResultVOUtils.success(); } - } diff --git a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java index fb038b3dd..f81c39713 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java @@ -78,187 +78,187 @@ public class IoSplitCodeService extends ServiceImpl basicSkPrescribeDiEntities = basicSkPrescribeDiService.findByPrescribe(basicSkPrescribeEntity.getAdNum()); - //处方赋码状态 1:未赋码,2:部分赋码,3:全部赋码 - for (BasicSkPrescribeDiEntity basicSkPrescribeDiEntity : basicSkPrescribeDiEntities) { - - //1.按照先进先出原则,查询拆零表,获取拆零表ID - List ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode()); - - //2.如果拆零表为空,则自动从预出库队列中获拉取数据 - if (CollUtil.isEmpty(ioSplitCodeEntities)) { - addFifoCode(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), IntUtil.value(basicSkPrescribeDiEntity.getMeasureCount())); - } - ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode()); - - //3.如果拆零表不为空,则开始扣除数量 - int count = 0; - int unCount = 0; //剩余未扣减数量 - unCount = IntUtil.value(basicSkPrescribeDiEntity.getMeasureCount()); - for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { - count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; - if (count > 0) { - ioSplitCodeEntity.setRemainCount(count); - break; - } else if (count == 0) { - ioSplitCodeEntity.setRemainCount(0); - } else { - ioSplitCodeEntity.setRemainCount(0); - unCount = -count; - } - } - - if (unCount > 0) { - //4.拆零表数量不足,则从预出库队列中获取数据 - Integer fifoCount = addFifoCode(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), unCount); - if (fifoCount == 0) { - //预出库队列数量不足 - basicSkPrescribeDiEntity.setTagStatus(2); - basicSkPrescribeDiEntity.setTagMsg("预出库队列码数量不足,赋码失败!"); - } else { - //再次执行赋码 - ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode()); - for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { - count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; - if (count > 0) { - ioSplitCodeEntity.setRemainCount(count); - break; - } else if (count == 0) { - ioSplitCodeEntity.setRemainCount(0); - } else { - ioSplitCodeEntity.setRemainCount(0); - unCount = -count; - } - } - if (unCount > 0) { - basicSkPrescribeDiEntity.setTagStatus(2); - basicSkPrescribeDiEntity.setTagMsg("预出库队列码数量不足,赋码失败!"); - } else { - basicSkPrescribeDiEntity.setTagStatus(3); - basicSkPrescribeDiEntity.setTagMsg("赋码完成!"); - } - } - } - basicSkPrescribeDiService.updateById(basicSkPrescribeDiEntity); - } - basicSkPrescribeEntity.setTagStatus(checkStatus1(basicSkPrescribeDiEntities)); - basicSkPrescribeService.updateById(basicSkPrescribeEntity); - } - - - /** - * 单据自动赋码 - */ - public void orderAutoTagCode(IoCollectOrder collectOrder) { - - List collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo()); - //处方赋码状态 1:未赋码,2:部分赋码,3:全部赋码 - for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { - if (IntUtil.value(collectOrderBiz.getTagStatus()) == 3) { - continue; - } - //1.按照先进先出原则,查询拆零表,获取拆零表ID - List ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); - - //2.如果拆零表为空,则自动从预出库队列中获拉取数据 - if (CollUtil.isEmpty(ioSplitCodeEntities)) { - addFifoCode(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), IntUtil.value(collectOrderBiz.getCount())); - ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); - } - //3.如果拆零表不为空,则开始扣除数量 - int count = 0; - int unCount = 0; //剩余未扣减数量 - unCount = IntUtil.value(collectOrderBiz.getUnTagCount()); - for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { - count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; - collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder() - .codeIdFk(ioSplitCodeEntity.getId()) - .udiCode(ioSplitCodeEntity.getCode()) - .orderIdFk(collectOrder.getBillNo()) - .batchNo(ioSplitCodeEntity.getBatchNo()) - .productDate(ioSplitCodeEntity.getProduceDate()) - .expireDate(ioSplitCodeEntity.getExpireDate()) - .serialNo(ioSplitCodeEntity.getSerialNo()) - .relId(collectOrderBiz.getRelId()) - .bizIdFk(collectOrderBiz.getId()) - .fifoSplit(ioSplitCodeEntity.getFifoSplit()) - .createTime(new Date()) - .updateTime(new Date()) - .build()); - if (count > 0) { - ioSplitCodeEntity.setRemainCount(count); - unCount = 0; - splitCodeMapper.updateById(ioSplitCodeEntity); - break; - } else if (count == 0) { - ioSplitCodeEntity.setRemainCount(0); - unCount = 0; - } else { - ioSplitCodeEntity.setRemainCount(0); - unCount = -count; - } - splitCodeMapper.updateById(ioSplitCodeEntity); - } - - if (unCount > 0) { - //4.拆零表数量不足,则从预出库队列中获取数据 - Integer fifoCount = addFifoCode(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), unCount); - if (fifoCount == 0) { - //预出库队列数量不足 - collectOrderBiz.setTagStatus(2); - collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!"); - } else { - //再次执行赋码 - ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); - for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { - count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; - collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder() - .codeIdFk(ioSplitCodeEntity.getId()) - .udiCode(ioSplitCodeEntity.getCode()) - .orderIdFk(collectOrder.getBillNo()) - .batchNo(ioSplitCodeEntity.getBatchNo()) - .productDate(ioSplitCodeEntity.getProduceDate()) - .expireDate(ioSplitCodeEntity.getExpireDate()) - .serialNo(ioSplitCodeEntity.getSerialNo()) - .relId(collectOrderBiz.getRelId()) - .bizIdFk(collectOrderBiz.getId()) - .fifoSplit(ioSplitCodeEntity.getFifoSplit()) - .createTime(new Date()) - .updateTime(new Date()) - .build()); - if (count > 0) { - ioSplitCodeEntity.setRemainCount(count); - break; - } else if (count == 0) { - ioSplitCodeEntity.setRemainCount(0); - } else { - ioSplitCodeEntity.setRemainCount(0); - unCount = -count; - } - } - if (unCount > 0) { - collectOrderBiz.setTagStatus(2); - collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!"); - } else { - collectOrderBiz.setTagStatus(3); - collectOrderBiz.setTagMsg("赋码完成!"); - } - } - } else { - collectOrderBiz.setTagStatus(3); - collectOrderBiz.setTagMsg("赋码完成!"); - } - collectOrderBiz.setUnTagCount(unCount); - collectOrderBizService.updateById(collectOrderBiz); - } - collectOrder.setSplitStatus(checkStatus(collectOrderBizs)); - collectOrderService.updateById(collectOrder); - } +// /** +// * 处方自动赋码 +// */ +// public void prescribeAutoTagCode(BasicSkPrescribeEntity basicSkPrescribeEntity) { +// +// List basicSkPrescribeDiEntities = basicSkPrescribeDiService.findByPrescribe(basicSkPrescribeEntity.getAdNum()); +// //处方赋码状态 1:未赋码,2:部分赋码,3:全部赋码 +// for (BasicSkPrescribeDiEntity basicSkPrescribeDiEntity : basicSkPrescribeDiEntities) { +// +// //1.按照先进先出原则,查询拆零表,获取拆零表ID +// List ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode()); +// +// //2.如果拆零表为空,则自动从预出库队列中获拉取数据 +// if (CollUtil.isEmpty(ioSplitCodeEntities)) { +// addFifoCode(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), IntUtil.value(basicSkPrescribeDiEntity.getMeasureCount())); +// } +// ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode()); +// +// //3.如果拆零表不为空,则开始扣除数量 +// int count = 0; +// int unCount = 0; //剩余未扣减数量 +// unCount = IntUtil.value(basicSkPrescribeDiEntity.getMeasureCount()); +// for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { +// count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; +// if (count > 0) { +// ioSplitCodeEntity.setRemainCount(count); +// break; +// } else if (count == 0) { +// ioSplitCodeEntity.setRemainCount(0); +// } else { +// ioSplitCodeEntity.setRemainCount(0); +// unCount = -count; +// } +// } +// +// if (unCount > 0) { +// //4.拆零表数量不足,则从预出库队列中获取数据 +// Integer fifoCount = addFifoCode(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), unCount); +// if (fifoCount == 0) { +// //预出库队列数量不足 +// basicSkPrescribeDiEntity.setTagStatus(2); +// basicSkPrescribeDiEntity.setTagMsg("预出库队列码数量不足,赋码失败!"); +// } else { +// //再次执行赋码 +// ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode()); +// for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { +// count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; +// if (count > 0) { +// ioSplitCodeEntity.setRemainCount(count); +// break; +// } else if (count == 0) { +// ioSplitCodeEntity.setRemainCount(0); +// } else { +// ioSplitCodeEntity.setRemainCount(0); +// unCount = -count; +// } +// } +// if (unCount > 0) { +// basicSkPrescribeDiEntity.setTagStatus(2); +// basicSkPrescribeDiEntity.setTagMsg("预出库队列码数量不足,赋码失败!"); +// } else { +// basicSkPrescribeDiEntity.setTagStatus(3); +// basicSkPrescribeDiEntity.setTagMsg("赋码完成!"); +// } +// } +// } +// basicSkPrescribeDiService.updateById(basicSkPrescribeDiEntity); +// } +// basicSkPrescribeEntity.setTagStatus(checkStatus1(basicSkPrescribeDiEntities)); +// basicSkPrescribeService.updateById(basicSkPrescribeEntity); +// } + + +// /** +// * 单据自动赋码 +// */ +// public void orderAutoTagCode(IoCollectOrder collectOrder) { +// +// List collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo()); +// //处方赋码状态 1:未赋码,2:部分赋码,3:全部赋码 +// for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { +// if (IntUtil.value(collectOrderBiz.getTagStatus()) == 3) { +// continue; +// } +// //1.按照先进先出原则,查询拆零表,获取拆零表ID +// List ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); +// +// //2.如果拆零表为空,则自动从预出库队列中获拉取数据 +// if (CollUtil.isEmpty(ioSplitCodeEntities)) { +// addFifoCode(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), IntUtil.value(collectOrderBiz.getCount())); +// ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); +// } +// //3.如果拆零表不为空,则开始扣除数量 +// int count = 0; +// int unCount = 0; //剩余未扣减数量 +// unCount = IntUtil.value(collectOrderBiz.getUnTagCount()); +// for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { +// count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; +// collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder() +// .codeIdFk(ioSplitCodeEntity.getId()) +// .udiCode(ioSplitCodeEntity.getCode()) +// .orderIdFk(collectOrder.getBillNo()) +// .batchNo(ioSplitCodeEntity.getBatchNo()) +// .productDate(ioSplitCodeEntity.getProduceDate()) +// .expireDate(ioSplitCodeEntity.getExpireDate()) +// .serialNo(ioSplitCodeEntity.getSerialNo()) +// .relId(collectOrderBiz.getRelId()) +// .bizIdFk(collectOrderBiz.getId()) +// .fifoSplit(ioSplitCodeEntity.getFifoSplit()) +// .createTime(new Date()) +// .updateTime(new Date()) +// .build()); +// if (count > 0) { +// ioSplitCodeEntity.setRemainCount(count); +// unCount = 0; +// splitCodeMapper.updateById(ioSplitCodeEntity); +// break; +// } else if (count == 0) { +// ioSplitCodeEntity.setRemainCount(0); +// unCount = 0; +// } else { +// ioSplitCodeEntity.setRemainCount(0); +// unCount = -count; +// } +// splitCodeMapper.updateById(ioSplitCodeEntity); +// } +// +// if (unCount > 0) { +// //4.拆零表数量不足,则从预出库队列中获取数据 +// Integer fifoCount = addFifoCode(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), unCount); +// if (fifoCount == 0) { +// //预出库队列数量不足 +// collectOrderBiz.setTagStatus(2); +// collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!"); +// } else { +// //再次执行赋码 +// ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); +// for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { +// count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; +// collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder() +// .codeIdFk(ioSplitCodeEntity.getId()) +// .udiCode(ioSplitCodeEntity.getCode()) +// .orderIdFk(collectOrder.getBillNo()) +// .batchNo(ioSplitCodeEntity.getBatchNo()) +// .productDate(ioSplitCodeEntity.getProduceDate()) +// .expireDate(ioSplitCodeEntity.getExpireDate()) +// .serialNo(ioSplitCodeEntity.getSerialNo()) +// .relId(collectOrderBiz.getRelId()) +// .bizIdFk(collectOrderBiz.getId()) +// .fifoSplit(ioSplitCodeEntity.getFifoSplit()) +// .createTime(new Date()) +// .updateTime(new Date()) +// .build()); +// if (count > 0) { +// ioSplitCodeEntity.setRemainCount(count); +// break; +// } else if (count == 0) { +// ioSplitCodeEntity.setRemainCount(0); +// } else { +// ioSplitCodeEntity.setRemainCount(0); +// unCount = -count; +// } +// } +// if (unCount > 0) { +// collectOrderBiz.setTagStatus(2); +// collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!"); +// } else { +// collectOrderBiz.setTagStatus(3); +// collectOrderBiz.setTagMsg("赋码完成!"); +// } +// } +// } else { +// collectOrderBiz.setTagStatus(3); +// collectOrderBiz.setTagMsg("赋码完成!"); +// } +// collectOrderBiz.setUnTagCount(unCount); +// collectOrderBizService.updateById(collectOrderBiz); +// } +// collectOrder.setSplitStatus(checkStatus(collectOrderBizs)); +// collectOrderService.updateById(collectOrder); +// } public void splitRemove(IoCollectOrderBiz collectOrderBiz, IoCollectOrder collectOrder) { @@ -312,7 +312,8 @@ public class IoSplitCodeService extends ServiceImpl 0) { collectOrderBiz.setTagStatus(2); collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!"); - throw new JsonException(500, "提交失败,工位库存数量不足!"); + return; +// throw new JsonException(500, "提交失败,工位库存数量不足!"); } else { collectOrderBiz.setTagStatus(3); collectOrderBiz.setTagMsg("赋码完成!"); @@ -464,7 +466,8 @@ public class IoSplitCodeService extends ServiceImpl 0) { List ioSplitFifoCodeEntities = splitFifoCodeService.findByRelId(collectOrder.getWorkPlaceCode(), collectOrder.getBusType(), collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo()); if (ioSplitFifoCodeEntities.size() < quotient) { - throw new JsonException(500, "提交失败,工位库存数量不足!"); + return; +// throw new JsonException(500, "提交失败,工位库存数量不足!"); } for (int i = 0; i < quotient; i++) { IoSplitFifoCodeEntity splitFifoCodeEntity = ioSplitFifoCodeEntities.get(i);