单据上传相关修改

dev_no_inv
yewj 10 months ago
parent ef17ecec51
commit 0c6a6341ef

@ -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();
}
}

@ -78,187 +78,187 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
}
/**
*
*/
public void prescribeAutoTagCode(BasicSkPrescribeEntity basicSkPrescribeEntity) {
List<BasicSkPrescribeDiEntity> basicSkPrescribeDiEntities = basicSkPrescribeDiService.findByPrescribe(basicSkPrescribeEntity.getAdNum());
//处方赋码状态 1未赋码2部分赋码3全部赋码
for (BasicSkPrescribeDiEntity basicSkPrescribeDiEntity : basicSkPrescribeDiEntities) {
//1.按照先进先出原则查询拆零表获取拆零表ID
List<IoSplitCodeEntity> 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<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo());
//处方赋码状态 1未赋码2部分赋码3全部赋码
for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) {
if (IntUtil.value(collectOrderBiz.getTagStatus()) == 3) {
continue;
}
//1.按照先进先出原则查询拆零表获取拆零表ID
List<IoSplitCodeEntity> 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<BasicSkPrescribeDiEntity> basicSkPrescribeDiEntities = basicSkPrescribeDiService.findByPrescribe(basicSkPrescribeEntity.getAdNum());
// //处方赋码状态 1未赋码2部分赋码3全部赋码
// for (BasicSkPrescribeDiEntity basicSkPrescribeDiEntity : basicSkPrescribeDiEntities) {
//
// //1.按照先进先出原则查询拆零表获取拆零表ID
// List<IoSplitCodeEntity> 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<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo());
// //处方赋码状态 1未赋码2部分赋码3全部赋码
// for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) {
// if (IntUtil.value(collectOrderBiz.getTagStatus()) == 3) {
// continue;
// }
// //1.按照先进先出原则查询拆零表获取拆零表ID
// List<IoSplitCodeEntity> 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<IoSplitCodeMapper, IoSplitCo
//预出库队列数量不足
collectOrderBiz.setTagStatus(2);
collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!");
throw new JsonException(500, "提交失败,工位库存数量不足!");
return;
// throw new JsonException(500, "提交失败,工位库存数量不足!");
} else {
//再次执行赋码
ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode());
@ -345,7 +346,8 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
if (unCount > 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<IoSplitCodeMapper, IoSplitCo
if (quotient > 0) {
List<IoSplitFifoCodeEntity> 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);

Loading…
Cancel
Save