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