|
|
|
@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
|
import com.glxp.api.constant.Constant;
|
|
|
|
|
import com.glxp.api.dao.collect.IoCollectCodeBackMapper;
|
|
|
|
|
import com.glxp.api.dao.collect.IoCollectErrorLogMapper;
|
|
|
|
|
import com.glxp.api.dao.collect.IoCollectOrderBackupMapper;
|
|
|
|
|
import com.glxp.api.dao.inout.IoCodeLostMapper;
|
|
|
|
|
import com.glxp.api.dao.inout.IoSplitCodeMapper;
|
|
|
|
@ -130,23 +131,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
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(1)
|
|
|
|
|
.createTime(new Date())
|
|
|
|
|
.updateTime(new Date())
|
|
|
|
|
.count(count > 0 ? count : 0)
|
|
|
|
|
.reCount(unCount)
|
|
|
|
|
.build());
|
|
|
|
|
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(1).createTime(new Date()).updateTime(new Date()).count(count > 0 ? count : 0).reCount(unCount).build());
|
|
|
|
|
if (count > 0) {
|
|
|
|
|
ioSplitCodeEntity.setRemainCount(count);
|
|
|
|
|
unCount = 0;
|
|
|
|
@ -169,7 +154,8 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
//预出库队列数量不足
|
|
|
|
|
collectOrderBiz.setTagStatus(2);
|
|
|
|
|
collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!");
|
|
|
|
|
if (isAuto) throw new JsonException(500, "提交失败,工位库存数量不足!");
|
|
|
|
|
if (isAuto)
|
|
|
|
|
throw new JsonException(500, "提交失败," + collectOrderBiz.getCpmctymc() + "工位库存数量不足!");
|
|
|
|
|
else return;
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
@ -178,21 +164,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) {
|
|
|
|
|
if (IntUtil.value(ioSplitCodeEntity.getRemainCount()) > 0) {
|
|
|
|
|
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(count > 0 ? count : 0)
|
|
|
|
|
.reCount(count)
|
|
|
|
|
.createTime(new Date())
|
|
|
|
|
.updateTime(new Date())
|
|
|
|
|
.build());
|
|
|
|
|
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(count > 0 ? count : 0).reCount(count).createTime(new Date()).updateTime(new Date()).build());
|
|
|
|
|
if (count > 0) {
|
|
|
|
|
ioSplitCodeEntity.setRemainCount(count);
|
|
|
|
|
splitCodeMapper.updateById(ioSplitCodeEntity);
|
|
|
|
@ -239,7 +211,12 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
//如果手动扫码判断该码是否在队列里,如果已在队列,则队列里剔除
|
|
|
|
|
List<IoCollectOrderCodeMan> collectOrderCodeMEN = collectOrderCodeManService.listByBillNo(collectOrder.getBillNo());
|
|
|
|
|
if (CollUtil.isNotEmpty(collectOrderCodeMEN)) {
|
|
|
|
|
// replaceCode(collectOrderCodeMEN, collectOrder);
|
|
|
|
|
for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodeMEN) {
|
|
|
|
|
if (IntUtil.value(collectOrderCodeMan.getRemoveFlag())) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
IoSplitFifoCodeEntity splitFifoCodeEntity = splitFifoCodeService.findByCode(collectOrderCodeMan.getUdiCode(), putWorkPlaceCode);
|
|
|
|
|
if (splitFifoCodeEntity != null) {
|
|
|
|
|
collectOrderCodeMan.setRemoveFlag(true);
|
|
|
|
@ -321,13 +298,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
splitCodeEntity.setRemainCount(-unTagCount);
|
|
|
|
|
splitCodeService.updateById(splitCodeEntity);
|
|
|
|
|
} else {
|
|
|
|
|
IoSplitCodeEntity ioSplitCodeEntity = IoSplitCodeEntity.builder()
|
|
|
|
|
.code(item.getUdiCode()).errUdiCode(item.getUdiCode())
|
|
|
|
|
.orderId(item.getOrderIdFk())
|
|
|
|
|
.action(collectOrder.getBusType()).relId(item.getRelId()).nameCode(item.getNameCode())
|
|
|
|
|
.batchNo(item.getBatchNo()).produceDate(item.getProductDate()).expireDate(item.getExpireDate()).serialNo(item.getSerialNo())
|
|
|
|
|
.scanCount(item.getScanCount()).totalCount(item.getScanCount()).workPlaceCode(putWorkPlaceCode)
|
|
|
|
|
.status(2).fifoSplit(1).createTime(new Date()).updateTime(new Date()).remainCount(item.getRemainCount()).build();
|
|
|
|
|
IoSplitCodeEntity ioSplitCodeEntity = IoSplitCodeEntity.builder().code(item.getUdiCode()).errUdiCode(item.getUdiCode()).orderId(item.getOrderIdFk()).action(collectOrder.getBusType()).relId(item.getRelId()).nameCode(item.getNameCode()).batchNo(item.getBatchNo()).produceDate(item.getProductDate()).expireDate(item.getExpireDate()).serialNo(item.getSerialNo()).scanCount(item.getScanCount()).totalCount(item.getScanCount()).workPlaceCode(putWorkPlaceCode).status(2).fifoSplit(1).createTime(new Date()).updateTime(new Date()).remainCount(item.getRemainCount()).build();
|
|
|
|
|
this.decorateUnpackExpireTime(ioSplitCodeEntity);
|
|
|
|
|
splitCodeService.save(ioSplitCodeEntity);
|
|
|
|
|
}
|
|
|
|
@ -354,20 +325,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
for (int i = 0; i < indexFlag; i++) {
|
|
|
|
|
IoSplitFifoCodeEntity splitFifoCodeEntity = ioSplitFifoCodeEntities.get(i);
|
|
|
|
|
collectOrderBiz.setUnTagCount(IntUtil.value(collectOrderBiz.getUnTagCount()) - IntUtil.value(udiRelevanceResponse.getBhxjsl()));
|
|
|
|
|
collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder()
|
|
|
|
|
.codeIdFk(splitFifoCodeEntity.getId())
|
|
|
|
|
.udiCode(splitFifoCodeEntity.getCode())
|
|
|
|
|
.orderIdFk(collectOrder.getBillNo())
|
|
|
|
|
.batchNo(splitFifoCodeEntity.getBatchNo())
|
|
|
|
|
.productDate(splitFifoCodeEntity.getProduceDate())
|
|
|
|
|
.expireDate(splitFifoCodeEntity.getExpireDate())
|
|
|
|
|
.serialNo(splitFifoCodeEntity.getSerialNo())
|
|
|
|
|
.relId(collectOrderBiz.getRelId())
|
|
|
|
|
.bizIdFk(collectOrderBiz.getId())
|
|
|
|
|
.fifoSplit(2)
|
|
|
|
|
.createTime(new Date())
|
|
|
|
|
.updateTime(new Date())
|
|
|
|
|
.build());
|
|
|
|
|
collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder().codeIdFk(splitFifoCodeEntity.getId()).udiCode(splitFifoCodeEntity.getCode()).orderIdFk(collectOrder.getBillNo()).batchNo(splitFifoCodeEntity.getBatchNo()).productDate(splitFifoCodeEntity.getProduceDate()).expireDate(splitFifoCodeEntity.getExpireDate()).serialNo(splitFifoCodeEntity.getSerialNo()).relId(collectOrderBiz.getRelId()).bizIdFk(collectOrderBiz.getId()).fifoSplit(2).createTime(new Date()).updateTime(new Date()).build());
|
|
|
|
|
splitFifoCodeService.removeById(splitFifoCodeEntity.getId());
|
|
|
|
|
IoSplitFifoInv splitFifoInv = splitFifoInvService.findByFifoCode(splitFifoCodeEntity);
|
|
|
|
|
if (splitFifoInv != null) {
|
|
|
|
@ -416,85 +374,74 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodeManList) {
|
|
|
|
|
// 1. 查找已完成成单据扫码是否已被分配
|
|
|
|
|
|
|
|
|
|
List<IoCollectCodeBackup> collectCodeBackups = collectCodeBackMapper.selectList(new LambdaQueryWrapper<IoCollectCodeBackup>()
|
|
|
|
|
.eq(IoCollectCodeBackup::getBusType, collectOrder.getBusType())
|
|
|
|
|
.eq(IoCollectCodeBackup::getCode, collectOrderCodeMan.getUdiCode())
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
List<IoCollectCodeBackup> collectCodeBackups = collectCodeBackMapper.selectList(new LambdaQueryWrapper<IoCollectCodeBackup>().eq(IoCollectCodeBackup::getBusType, collectOrder.getBusType()).eq(IoCollectCodeBackup::getCode, collectOrderCodeMan.getUdiCode()));
|
|
|
|
|
if (CollUtil.isNotEmpty(collectCodeBackups)) {
|
|
|
|
|
IoCollectCodeBackup collectCodeBackup = collectCodeBackups.get(0);
|
|
|
|
|
|
|
|
|
|
if (IntUtil.value(collectCodeBackup.getFifoSplit()) == 3) {
|
|
|
|
|
throw new JsonException(500, collectCodeBackup.getCode() + "重复扫码,请盘查后重试!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IoCollectOrderBackup collectOrderBackup = collectOrderBackupMapper.selectOne(new LambdaQueryWrapper<IoCollectOrderBackup>().eq(IoCollectOrderBackup::getBillNo, collectCodeBackup.getBillNo()));
|
|
|
|
|
collectOrderCodeMan.setRemoveFlag(true);
|
|
|
|
|
// 单据已被上传至医保
|
|
|
|
|
if (IntUtil.value(collectOrderBackup.getUploadStatus()) == 2) {
|
|
|
|
|
|
|
|
|
|
IoSplitFifoCodeEntity splitFifoCodeEntity = removeInvByCode(collectOrderCodeMan, collectOrder.getWorkPlaceCode());
|
|
|
|
|
if (splitFifoCodeEntity == null) {
|
|
|
|
|
throw new JsonException(500, "工位存量不足!");
|
|
|
|
|
}
|
|
|
|
|
IoCollectErrorLog ioCollectErrorLog = IoCollectErrorLog.builder().orderId(collectOrder.getId()).autoCode(splitFifoCodeEntity.getCode()).manuCode(collectOrderCodeMan.getUdiCode()).type(2) //未上传医保替换码
|
|
|
|
|
.updateTime(new Date()).build();
|
|
|
|
|
collectErrorLogMapper.insert(ioCollectErrorLog);
|
|
|
|
|
collectCodeBackup.setCode(splitFifoCodeEntity.getCode());
|
|
|
|
|
collectCodeBackMapper.updateById(collectCodeBackup);
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
//单据未上传医保,上传医保失败
|
|
|
|
|
|
|
|
|
|
IoSplitFifoCodeEntity splitFifoCodeEntity = removeInvByCode(collectOrderCodeMan, collectOrder.getWorkPlaceCode());
|
|
|
|
|
if (splitFifoCodeEntity == null) {
|
|
|
|
|
throw new JsonException(500, "工位存量不足!");
|
|
|
|
|
}
|
|
|
|
|
IoCollectErrorLog ioCollectErrorLog = IoCollectErrorLog.builder().orderId(collectOrder.getId()).autoCode(splitFifoCodeEntity.getCode()).manuCode(collectOrderCodeMan.getUdiCode()).type(1) //未上传医保替换码
|
|
|
|
|
.updateTime(new Date()).build();
|
|
|
|
|
collectErrorLogMapper.insert(ioCollectErrorLog);
|
|
|
|
|
//替换已完成单据的码
|
|
|
|
|
collectCodeBackup.setCode(splitFifoCodeEntity.getCode());
|
|
|
|
|
collectCodeBackMapper.updateById(collectCodeBackup);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 2. 查找已完成单据码是否已被上传
|
|
|
|
|
|
|
|
|
|
// 3. 查找已完成码,标记该码已被手动赋码
|
|
|
|
|
|
|
|
|
|
// 4. 查找码库未被使用的码,赋码至已完成的码,插入码表记录
|
|
|
|
|
|
|
|
|
|
// 5. 如果已被上传,则标记该码已被上传,从码库查出未被使用的码,插入码表记录,标记该码已被上传,替换成已码库的码
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 5. 查找
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
IoCollectErrorLogMapper collectErrorLogMapper;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 工位查找未使用码进行抠库
|
|
|
|
|
*/
|
|
|
|
|
public void removeInvByCode(IoCollectOrderCodeMan collectOrderCodeMan, Long putWorkPlaceCode) {
|
|
|
|
|
public IoSplitFifoCodeEntity removeInvByCode(IoCollectOrderCodeMan collectOrderCodeMan, Long putWorkPlaceCode) {
|
|
|
|
|
|
|
|
|
|
List<IoSplitFifoCodeEntity> splitFifoCodeEntitys = splitFifoCodeService.findByRelId(putWorkPlaceCode, collectOrderCodeMan.getRelId(), collectOrderCodeMan.getBatchNo(), null);
|
|
|
|
|
if (CollUtil.isNotEmpty(splitFifoCodeEntitys)) {
|
|
|
|
|
IoSplitFifoCodeEntity splitFifoCodeEntity = splitFifoCodeEntitys.get(0);
|
|
|
|
|
collectOrderCodeMan.setRemoveFlag(true);
|
|
|
|
|
if (IntUtil.value(splitFifoCodeEntity.getScanCount()) - IntUtil.value(collectOrderCodeMan.getScanCount()) <= 0) {
|
|
|
|
|
splitFifoCodeService.removeById(splitFifoCodeEntity.getId());
|
|
|
|
|
IoSplitFifoInv splitFifoInv = splitFifoInvService.findByFifoCode(splitFifoCodeEntity);
|
|
|
|
|
if (splitFifoInv != null) {
|
|
|
|
|
splitFifoInv.setOutCount(IntUtil.value(splitFifoInv.getOutCount()) + IntUtil.value(splitFifoCodeEntity.getTotalCount()));
|
|
|
|
|
splitFifoInv.setOutCodeCount(IntUtil.value(splitFifoInv.getOutCodeCount()) + IntUtil.value(splitFifoCodeEntity.getScanCount()));
|
|
|
|
|
int lockCount = IntUtil.value(splitFifoInv.getLockCount()) - IntUtil.value(splitFifoCodeEntity.getTotalCount());
|
|
|
|
|
splitFifoInv.setLockCount(lockCount > 0 ? lockCount : 0);
|
|
|
|
|
splitFifoInv.setReCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getOutCount()));
|
|
|
|
|
splitFifoInv.setReCodeCount(IntUtil.value(splitFifoInv.getInCodeCount()) - IntUtil.value(splitFifoInv.getOutCodeCount()));
|
|
|
|
|
splitFifoInv.setAvailableCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getLockCount()) - IntUtil.value(splitFifoInv.getOutCount()));
|
|
|
|
|
splitFifoInvService.updateById(splitFifoInv);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
//队列码数量大于扫码数量更新数量(一般指无序列号)
|
|
|
|
|
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
|
|
|
|
|
filterUdiRelRequest.setId(collectOrderCodeMan.getRelId());
|
|
|
|
|
filterUdiRelRequest.setPackLevel("1");
|
|
|
|
|
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectOneUdi(filterUdiRelRequest);
|
|
|
|
|
int removeCount = IntUtil.value(collectOrderCodeMan.getScanCount()) * udiRelevanceResponse.getBhxjsl();
|
|
|
|
|
splitFifoCodeService.updateById(IoSplitFifoCodeEntity.builder().id(splitFifoCodeEntity.getId()).scanCount(IntUtil.value(splitFifoCodeEntity.getScanCount()) - IntUtil.value(collectOrderCodeMan.getScanCount())).totalCount(IntUtil.value(splitFifoCodeEntity.getTotalCount()) - removeCount).build());
|
|
|
|
|
|
|
|
|
|
IoSplitFifoInv splitFifoInv = splitFifoInvService.findByFifoCode(splitFifoCodeEntity);
|
|
|
|
|
if (splitFifoInv != null) {
|
|
|
|
|
splitFifoInv.setOutCount(IntUtil.value(splitFifoInv.getOutCount()) + removeCount);
|
|
|
|
|
splitFifoInv.setOutCodeCount(IntUtil.value(splitFifoInv.getOutCodeCount()) + IntUtil.value(collectOrderCodeMan.getScanCount()));
|
|
|
|
|
int lockCount = IntUtil.value(splitFifoInv.getLockCount()) - removeCount;
|
|
|
|
|
splitFifoInv.setLockCount(lockCount > 0 ? lockCount : 0);
|
|
|
|
|
splitFifoInv.setReCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getOutCount()));
|
|
|
|
|
splitFifoInv.setReCodeCount(IntUtil.value(splitFifoInv.getInCodeCount()) - IntUtil.value(splitFifoInv.getOutCodeCount()));
|
|
|
|
|
splitFifoInv.setAvailableCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getLockCount()) - IntUtil.value(splitFifoInv.getOutCount()));
|
|
|
|
|
splitFifoInvService.updateById(splitFifoInv);
|
|
|
|
|
}
|
|
|
|
|
splitFifoCodeService.removeById(splitFifoCodeEntity.getId());
|
|
|
|
|
IoSplitFifoInv splitFifoInv = splitFifoInvService.findByFifoCode(splitFifoCodeEntity);
|
|
|
|
|
if (splitFifoInv != null) {
|
|
|
|
|
splitFifoInv.setOutCount(IntUtil.value(splitFifoInv.getOutCount()) + IntUtil.value(splitFifoCodeEntity.getTotalCount()));
|
|
|
|
|
splitFifoInv.setOutCodeCount(IntUtil.value(splitFifoInv.getOutCodeCount()) + IntUtil.value(splitFifoCodeEntity.getScanCount()));
|
|
|
|
|
int lockCount = IntUtil.value(splitFifoInv.getLockCount()) - IntUtil.value(splitFifoCodeEntity.getTotalCount());
|
|
|
|
|
splitFifoInv.setLockCount(lockCount > 0 ? lockCount : 0);
|
|
|
|
|
splitFifoInv.setReCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getOutCount()));
|
|
|
|
|
splitFifoInv.setReCodeCount(IntUtil.value(splitFifoInv.getInCodeCount()) - IntUtil.value(splitFifoInv.getOutCodeCount()));
|
|
|
|
|
splitFifoInv.setAvailableCount(IntUtil.value(splitFifoInv.getInCount()) - IntUtil.value(splitFifoInv.getLockCount()) - IntUtil.value(splitFifoInv.getOutCount()));
|
|
|
|
|
splitFifoInvService.updateById(splitFifoInv);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return splitFifoCodeEntity;
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -542,8 +489,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
IoCollectOrderService collectOrderService;
|
|
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public ConfirmResponse confirmBizAutiTagCode(IoCollectOrderBiz collectOrderBiz, String queueCode, String
|
|
|
|
|
confirmSplitCode, Boolean skipSplitConfirm) {
|
|
|
|
|
public ConfirmResponse confirmBizAutiTagCode(IoCollectOrderBiz collectOrderBiz, String queueCode, String confirmSplitCode, Boolean skipSplitConfirm) {
|
|
|
|
|
ConfirmResponse confirmResponse = new ConfirmResponse();
|
|
|
|
|
IoCollectOrder collectOrder = collectOrderService.getByBillNo(collectOrderBiz.getOrderIdFk());
|
|
|
|
|
if (collectOrder == null) {
|
|
|
|
@ -631,21 +577,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
for (int i = 0; i < quotient; i++) {
|
|
|
|
|
IoSplitFifoCodeEntity splitFifoCodeEntity = availableCodes.get(i);
|
|
|
|
|
collectOrderBiz.setUnTagCount(IntUtil.value(collectOrderBiz.getUnTagCount()) - IntUtil.value(udiRelevanceResponse.getBhxjsl()));
|
|
|
|
|
collectOrderCodeAutoService.save(
|
|
|
|
|
IoCollectOrderCodeAuto.builder()
|
|
|
|
|
.codeIdFk(splitFifoCodeEntity.getId())
|
|
|
|
|
.udiCode(splitFifoCodeEntity.getCode())
|
|
|
|
|
.orderIdFk(collectOrder.getBillNo())
|
|
|
|
|
.batchNo(splitFifoCodeEntity.getBatchNo())
|
|
|
|
|
.productDate(splitFifoCodeEntity.getProduceDate())
|
|
|
|
|
.expireDate(splitFifoCodeEntity.getExpireDate())
|
|
|
|
|
.serialNo(splitFifoCodeEntity.getSerialNo())
|
|
|
|
|
.relId(collectOrderBiz.getRelId())
|
|
|
|
|
.bizIdFk(collectOrderBiz.getId())
|
|
|
|
|
.fifoSplit(2)
|
|
|
|
|
.createTime(new Date())
|
|
|
|
|
.updateTime(new Date())
|
|
|
|
|
.build());
|
|
|
|
|
collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder().codeIdFk(splitFifoCodeEntity.getId()).udiCode(splitFifoCodeEntity.getCode()).orderIdFk(collectOrder.getBillNo()).batchNo(splitFifoCodeEntity.getBatchNo()).productDate(splitFifoCodeEntity.getProduceDate()).expireDate(splitFifoCodeEntity.getExpireDate()).serialNo(splitFifoCodeEntity.getSerialNo()).relId(collectOrderBiz.getRelId()).bizIdFk(collectOrderBiz.getId()).fifoSplit(2).createTime(new Date()).updateTime(new Date()).build());
|
|
|
|
|
splitFifoCodeService.removeById(splitFifoCodeEntity.getId());
|
|
|
|
|
IoSplitFifoInv splitFifoInv = splitFifoInvService.findByFifoCode(splitFifoCodeEntity);
|
|
|
|
|
if (splitFifoInv != null) {
|
|
|
|
@ -698,9 +630,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
} else return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<IoCollectOrderCodeMan> filterCode
|
|
|
|
|
(List<IoCollectOrderCodeMan> collectOrderCodes, IoCollectOrderBiz collectOrderBiz, UdiRelevanceResponse
|
|
|
|
|
udiRelevanceResponse) {
|
|
|
|
|
public List<IoCollectOrderCodeMan> filterCode(List<IoCollectOrderCodeMan> collectOrderCodes, IoCollectOrderBiz collectOrderBiz, UdiRelevanceResponse udiRelevanceResponse) {
|
|
|
|
|
int unTagCount = IntUtil.value(collectOrderBiz.getScanActCount()) - collectOrderBiz.getCount();
|
|
|
|
|
List<IoCollectOrderCodeMan> newList = new ArrayList<IoCollectOrderCodeMan>();
|
|
|
|
|
int count = 0;
|
|
|
|
@ -770,11 +700,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
|
|
|
|
|
if (CollUtil.isNotEmpty(splitFifoCodeEntities)) {
|
|
|
|
|
IoSplitFifoCodeEntity ioSplitFifoCodeEntity = splitFifoCodeEntities.get(0);
|
|
|
|
|
IoCodeLostEntity ioCodeLostEntity = ioCodeLostMapper.selectOne(
|
|
|
|
|
new QueryWrapper<IoCodeLostEntity>()
|
|
|
|
|
.eq("code", ioSplitFifoCodeEntity.getCode())
|
|
|
|
|
.last("limit 1")
|
|
|
|
|
);
|
|
|
|
|
IoCodeLostEntity ioCodeLostEntity = ioCodeLostMapper.selectOne(new QueryWrapper<IoCodeLostEntity>().eq("code", ioSplitFifoCodeEntity.getCode()).last("limit 1"));
|
|
|
|
|
if (ioCodeLostEntity != null && StringUtils.isNotEmpty(ioCodeLostEntity.getBatchNo())) {
|
|
|
|
|
collectOrderBiz.setBatchNo(ioCodeLostEntity.getBatchNo());
|
|
|
|
|
collectOrderBiz.setProductDate(ioCodeLostEntity.getProduceDate());
|
|
|
|
@ -840,8 +766,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
/**
|
|
|
|
|
* 从预出库队列里面取出数据,添加至拆零表
|
|
|
|
|
*/
|
|
|
|
|
public Integer addFifoCode(Long relId, String batchNo, Integer needCount, Long putWorkPlaceCode, String
|
|
|
|
|
confirmSplitCode) {
|
|
|
|
|
public Integer addFifoCode(Long relId, String batchNo, Integer needCount, Long putWorkPlaceCode, String confirmSplitCode) {
|
|
|
|
|
|
|
|
|
|
List<IoSplitFifoCodeEntity> splitFifoCodeEntities;
|
|
|
|
|
|
|
|
|
|