单据上传相关修改

dev_no_inv
yewj 10 months ago
parent ef17ecec51
commit 0c6a6341ef

@ -371,11 +371,12 @@ public class IoCollectOrderController extends BaseController {
if (!isAllTag) { if (!isAllTag) {
SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(collectOrderRequest.getBusType()); SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = sysWorkplaceDocumentService.findByBusType(collectOrderRequest.getBusType());
if (IntUtil.value(sysWorkplaceDocumentEntity.getOrderFinishVerify()) == 1) { // if (IntUtil.value(sysWorkplaceDocumentEntity.getOrderFinishVerify()) == 1) {
return ResultVOUtils.error(502, "该业务单据未全部赋码,是否强制完成单据?"); //
} else { // } else {
return ResultVOUtils.error(503, "该业务单据未全部赋码,无法完成单据?"); // return ResultVOUtils.error(503, "该业务单据未全部赋码,无法完成单据?");
} // }
return ResultVOUtils.error(502, "该业务单据未全部赋码,是否强制完成单据?");
} }
} }
@ -440,17 +441,14 @@ public class IoCollectOrderController extends BaseController {
// collectOrderService.orderUpload(collectOrderRequest.getBillNo()); // collectOrderService.orderUpload(collectOrderRequest.getBillNo());
// return ResultVOUtils.success(); // return ResultVOUtils.success();
// } // }
@PostMapping("/udiwms/basic/collect/decideOrder") @PostMapping("/udiwms/basic/collect/decideOrder")
public BaseResponse decideOrder(@RequestBody CollectOrderRequest request){ public BaseResponse decideOrder(@RequestBody CollectOrderRequest request) {
Boolean isExis = collectOrderService.decideOrder(request); Boolean isExis = collectOrderService.decideOrder(request);
if (!isExis){ if (!isExis) {
return ResultVOUtils.error("当前工位正在处理单据,无法打开当前单据"); return ResultVOUtils.error("当前工位存在正在处理单据!");
} }
return ResultVOUtils.success(); return ResultVOUtils.success();
} }
} }

@ -78,187 +78,187 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
} }
/** // /**
* // * 处方自动赋码
*/ // */
public void prescribeAutoTagCode(BasicSkPrescribeEntity basicSkPrescribeEntity) { // public void prescribeAutoTagCode(BasicSkPrescribeEntity basicSkPrescribeEntity) {
//
List<BasicSkPrescribeDiEntity> basicSkPrescribeDiEntities = basicSkPrescribeDiService.findByPrescribe(basicSkPrescribeEntity.getAdNum()); // List<BasicSkPrescribeDiEntity> basicSkPrescribeDiEntities = basicSkPrescribeDiService.findByPrescribe(basicSkPrescribeEntity.getAdNum());
//处方赋码状态 1未赋码2部分赋码3全部赋码 // //处方赋码状态 1未赋码2部分赋码3全部赋码
for (BasicSkPrescribeDiEntity basicSkPrescribeDiEntity : basicSkPrescribeDiEntities) { // for (BasicSkPrescribeDiEntity basicSkPrescribeDiEntity : basicSkPrescribeDiEntities) {
//
//1.按照先进先出原则查询拆零表获取拆零表ID // //1.按照先进先出原则查询拆零表获取拆零表ID
List<IoSplitCodeEntity> ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode()); // List<IoSplitCodeEntity> ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode());
//
//2.如果拆零表为空,则自动从预出库队列中获拉取数据 // //2.如果拆零表为空,则自动从预出库队列中获拉取数据
if (CollUtil.isEmpty(ioSplitCodeEntities)) { // if (CollUtil.isEmpty(ioSplitCodeEntities)) {
addFifoCode(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), IntUtil.value(basicSkPrescribeDiEntity.getMeasureCount())); // addFifoCode(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), IntUtil.value(basicSkPrescribeDiEntity.getMeasureCount()));
} // }
ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode()); // ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode());
//
//3.如果拆零表不为空,则开始扣除数量 // //3.如果拆零表不为空,则开始扣除数量
int count = 0; // int count = 0;
int unCount = 0; //剩余未扣减数量 // int unCount = 0; //剩余未扣减数量
unCount = IntUtil.value(basicSkPrescribeDiEntity.getMeasureCount()); // unCount = IntUtil.value(basicSkPrescribeDiEntity.getMeasureCount());
for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { // for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) {
count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; // count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount;
if (count > 0) { // if (count > 0) {
ioSplitCodeEntity.setRemainCount(count); // ioSplitCodeEntity.setRemainCount(count);
break; // break;
} else if (count == 0) { // } else if (count == 0) {
ioSplitCodeEntity.setRemainCount(0); // ioSplitCodeEntity.setRemainCount(0);
} else { // } else {
ioSplitCodeEntity.setRemainCount(0); // ioSplitCodeEntity.setRemainCount(0);
unCount = -count; // unCount = -count;
} // }
} // }
//
if (unCount > 0) { // if (unCount > 0) {
//4.拆零表数量不足,则从预出库队列中获取数据 // //4.拆零表数量不足,则从预出库队列中获取数据
Integer fifoCount = addFifoCode(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), unCount); // Integer fifoCount = addFifoCode(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), unCount);
if (fifoCount == 0) { // if (fifoCount == 0) {
//预出库队列数量不足 // //预出库队列数量不足
basicSkPrescribeDiEntity.setTagStatus(2); // basicSkPrescribeDiEntity.setTagStatus(2);
basicSkPrescribeDiEntity.setTagMsg("预出库队列码数量不足,赋码失败!"); // basicSkPrescribeDiEntity.setTagMsg("预出库队列码数量不足,赋码失败!");
} else { // } else {
//再次执行赋码 // //再次执行赋码
ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode()); // ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode());
for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { // for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) {
count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; // count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount;
if (count > 0) { // if (count > 0) {
ioSplitCodeEntity.setRemainCount(count); // ioSplitCodeEntity.setRemainCount(count);
break; // break;
} else if (count == 0) { // } else if (count == 0) {
ioSplitCodeEntity.setRemainCount(0); // ioSplitCodeEntity.setRemainCount(0);
} else { // } else {
ioSplitCodeEntity.setRemainCount(0); // ioSplitCodeEntity.setRemainCount(0);
unCount = -count; // unCount = -count;
} // }
} // }
if (unCount > 0) { // if (unCount > 0) {
basicSkPrescribeDiEntity.setTagStatus(2); // basicSkPrescribeDiEntity.setTagStatus(2);
basicSkPrescribeDiEntity.setTagMsg("预出库队列码数量不足,赋码失败!"); // basicSkPrescribeDiEntity.setTagMsg("预出库队列码数量不足,赋码失败!");
} else { // } else {
basicSkPrescribeDiEntity.setTagStatus(3); // basicSkPrescribeDiEntity.setTagStatus(3);
basicSkPrescribeDiEntity.setTagMsg("赋码完成!"); // basicSkPrescribeDiEntity.setTagMsg("赋码完成!");
} // }
} // }
} // }
basicSkPrescribeDiService.updateById(basicSkPrescribeDiEntity); // basicSkPrescribeDiService.updateById(basicSkPrescribeDiEntity);
} // }
basicSkPrescribeEntity.setTagStatus(checkStatus1(basicSkPrescribeDiEntities)); // basicSkPrescribeEntity.setTagStatus(checkStatus1(basicSkPrescribeDiEntities));
basicSkPrescribeService.updateById(basicSkPrescribeEntity); // basicSkPrescribeService.updateById(basicSkPrescribeEntity);
} // }
/** // /**
* // * 单据自动赋码
*/ // */
public void orderAutoTagCode(IoCollectOrder collectOrder) { // public void orderAutoTagCode(IoCollectOrder collectOrder) {
//
List<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo()); // List<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo());
//处方赋码状态 1未赋码2部分赋码3全部赋码 // //处方赋码状态 1未赋码2部分赋码3全部赋码
for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { // for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) {
if (IntUtil.value(collectOrderBiz.getTagStatus()) == 3) { // if (IntUtil.value(collectOrderBiz.getTagStatus()) == 3) {
continue; // continue;
} // }
//1.按照先进先出原则查询拆零表获取拆零表ID // //1.按照先进先出原则查询拆零表获取拆零表ID
List<IoSplitCodeEntity> ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); // List<IoSplitCodeEntity> ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode());
//
//2.如果拆零表为空,则自动从预出库队列中获拉取数据 // //2.如果拆零表为空,则自动从预出库队列中获拉取数据
if (CollUtil.isEmpty(ioSplitCodeEntities)) { // if (CollUtil.isEmpty(ioSplitCodeEntities)) {
addFifoCode(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), IntUtil.value(collectOrderBiz.getCount())); // addFifoCode(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), IntUtil.value(collectOrderBiz.getCount()));
ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); // ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode());
} // }
//3.如果拆零表不为空,则开始扣除数量 // //3.如果拆零表不为空,则开始扣除数量
int count = 0; // int count = 0;
int unCount = 0; //剩余未扣减数量 // int unCount = 0; //剩余未扣减数量
unCount = IntUtil.value(collectOrderBiz.getUnTagCount()); // unCount = IntUtil.value(collectOrderBiz.getUnTagCount());
for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { // for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) {
count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; // count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount;
collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder() // collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder()
.codeIdFk(ioSplitCodeEntity.getId()) // .codeIdFk(ioSplitCodeEntity.getId())
.udiCode(ioSplitCodeEntity.getCode()) // .udiCode(ioSplitCodeEntity.getCode())
.orderIdFk(collectOrder.getBillNo()) // .orderIdFk(collectOrder.getBillNo())
.batchNo(ioSplitCodeEntity.getBatchNo()) // .batchNo(ioSplitCodeEntity.getBatchNo())
.productDate(ioSplitCodeEntity.getProduceDate()) // .productDate(ioSplitCodeEntity.getProduceDate())
.expireDate(ioSplitCodeEntity.getExpireDate()) // .expireDate(ioSplitCodeEntity.getExpireDate())
.serialNo(ioSplitCodeEntity.getSerialNo()) // .serialNo(ioSplitCodeEntity.getSerialNo())
.relId(collectOrderBiz.getRelId()) // .relId(collectOrderBiz.getRelId())
.bizIdFk(collectOrderBiz.getId()) // .bizIdFk(collectOrderBiz.getId())
.fifoSplit(ioSplitCodeEntity.getFifoSplit()) // .fifoSplit(ioSplitCodeEntity.getFifoSplit())
.createTime(new Date()) // .createTime(new Date())
.updateTime(new Date()) // .updateTime(new Date())
.build()); // .build());
if (count > 0) { // if (count > 0) {
ioSplitCodeEntity.setRemainCount(count); // ioSplitCodeEntity.setRemainCount(count);
unCount = 0; // unCount = 0;
splitCodeMapper.updateById(ioSplitCodeEntity); // splitCodeMapper.updateById(ioSplitCodeEntity);
break; // break;
} else if (count == 0) { // } else if (count == 0) {
ioSplitCodeEntity.setRemainCount(0); // ioSplitCodeEntity.setRemainCount(0);
unCount = 0; // unCount = 0;
} else { // } else {
ioSplitCodeEntity.setRemainCount(0); // ioSplitCodeEntity.setRemainCount(0);
unCount = -count; // unCount = -count;
} // }
splitCodeMapper.updateById(ioSplitCodeEntity); // splitCodeMapper.updateById(ioSplitCodeEntity);
} // }
//
if (unCount > 0) { // if (unCount > 0) {
//4.拆零表数量不足,则从预出库队列中获取数据 // //4.拆零表数量不足,则从预出库队列中获取数据
Integer fifoCount = addFifoCode(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), unCount); // Integer fifoCount = addFifoCode(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), unCount);
if (fifoCount == 0) { // if (fifoCount == 0) {
//预出库队列数量不足 // //预出库队列数量不足
collectOrderBiz.setTagStatus(2); // collectOrderBiz.setTagStatus(2);
collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!"); // collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!");
} else { // } else {
//再次执行赋码 // //再次执行赋码
ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); // ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode());
for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { // for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) {
count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; // count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount;
collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder() // collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder()
.codeIdFk(ioSplitCodeEntity.getId()) // .codeIdFk(ioSplitCodeEntity.getId())
.udiCode(ioSplitCodeEntity.getCode()) // .udiCode(ioSplitCodeEntity.getCode())
.orderIdFk(collectOrder.getBillNo()) // .orderIdFk(collectOrder.getBillNo())
.batchNo(ioSplitCodeEntity.getBatchNo()) // .batchNo(ioSplitCodeEntity.getBatchNo())
.productDate(ioSplitCodeEntity.getProduceDate()) // .productDate(ioSplitCodeEntity.getProduceDate())
.expireDate(ioSplitCodeEntity.getExpireDate()) // .expireDate(ioSplitCodeEntity.getExpireDate())
.serialNo(ioSplitCodeEntity.getSerialNo()) // .serialNo(ioSplitCodeEntity.getSerialNo())
.relId(collectOrderBiz.getRelId()) // .relId(collectOrderBiz.getRelId())
.bizIdFk(collectOrderBiz.getId()) // .bizIdFk(collectOrderBiz.getId())
.fifoSplit(ioSplitCodeEntity.getFifoSplit()) // .fifoSplit(ioSplitCodeEntity.getFifoSplit())
.createTime(new Date()) // .createTime(new Date())
.updateTime(new Date()) // .updateTime(new Date())
.build()); // .build());
if (count > 0) { // if (count > 0) {
ioSplitCodeEntity.setRemainCount(count); // ioSplitCodeEntity.setRemainCount(count);
break; // break;
} else if (count == 0) { // } else if (count == 0) {
ioSplitCodeEntity.setRemainCount(0); // ioSplitCodeEntity.setRemainCount(0);
} else { // } else {
ioSplitCodeEntity.setRemainCount(0); // ioSplitCodeEntity.setRemainCount(0);
unCount = -count; // unCount = -count;
} // }
} // }
if (unCount > 0) { // if (unCount > 0) {
collectOrderBiz.setTagStatus(2); // collectOrderBiz.setTagStatus(2);
collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!"); // collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!");
} else { // } else {
collectOrderBiz.setTagStatus(3); // collectOrderBiz.setTagStatus(3);
collectOrderBiz.setTagMsg("赋码完成!"); // collectOrderBiz.setTagMsg("赋码完成!");
} // }
} // }
} else { // } else {
collectOrderBiz.setTagStatus(3); // collectOrderBiz.setTagStatus(3);
collectOrderBiz.setTagMsg("赋码完成!"); // collectOrderBiz.setTagMsg("赋码完成!");
} // }
collectOrderBiz.setUnTagCount(unCount); // collectOrderBiz.setUnTagCount(unCount);
collectOrderBizService.updateById(collectOrderBiz); // collectOrderBizService.updateById(collectOrderBiz);
} // }
collectOrder.setSplitStatus(checkStatus(collectOrderBizs)); // collectOrder.setSplitStatus(checkStatus(collectOrderBizs));
collectOrderService.updateById(collectOrder); // collectOrderService.updateById(collectOrder);
} // }
public void splitRemove(IoCollectOrderBiz collectOrderBiz, IoCollectOrder collectOrder) { public void splitRemove(IoCollectOrderBiz collectOrderBiz, IoCollectOrder collectOrder) {
@ -312,7 +312,8 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
//预出库队列数量不足 //预出库队列数量不足
collectOrderBiz.setTagStatus(2); collectOrderBiz.setTagStatus(2);
collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!"); collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!");
throw new JsonException(500, "提交失败,工位库存数量不足!"); return;
// throw new JsonException(500, "提交失败,工位库存数量不足!");
} else { } else {
//再次执行赋码 //再次执行赋码
ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode());
@ -345,7 +346,8 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
if (unCount > 0) { if (unCount > 0) {
collectOrderBiz.setTagStatus(2); collectOrderBiz.setTagStatus(2);
collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!"); collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!");
throw new JsonException(500, "提交失败,工位库存数量不足!"); return;
// throw new JsonException(500, "提交失败,工位库存数量不足!");
} else { } else {
collectOrderBiz.setTagStatus(3); collectOrderBiz.setTagStatus(3);
collectOrderBiz.setTagMsg("赋码完成!"); collectOrderBiz.setTagMsg("赋码完成!");
@ -464,7 +466,8 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
if (quotient > 0) { if (quotient > 0) {
List<IoSplitFifoCodeEntity> ioSplitFifoCodeEntities = splitFifoCodeService.findByRelId(collectOrder.getWorkPlaceCode(), collectOrder.getBusType(), collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo()); List<IoSplitFifoCodeEntity> ioSplitFifoCodeEntities = splitFifoCodeService.findByRelId(collectOrder.getWorkPlaceCode(), collectOrder.getBusType(), collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo());
if (ioSplitFifoCodeEntities.size() < quotient) { if (ioSplitFifoCodeEntities.size() < quotient) {
throw new JsonException(500, "提交失败,工位库存数量不足!"); return;
// throw new JsonException(500, "提交失败,工位库存数量不足!");
} }
for (int i = 0; i < quotient; i++) { for (int i = 0; i < quotient; i++) {
IoSplitFifoCodeEntity splitFifoCodeEntity = ioSplitFifoCodeEntities.get(i); IoSplitFifoCodeEntity splitFifoCodeEntity = ioSplitFifoCodeEntities.get(i);

Loading…
Cancel
Save