|
|
|
@ -199,10 +199,12 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
collectOrderBizService.updateById(collectOrderBiz);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
IoCollectSetService collectSetService;
|
|
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public void finishAutoTagCode(IoCollectOrder collectOrder, Boolean isAuto, String queueCode) {
|
|
|
|
|
|
|
|
|
|
IoCollectSet collectSet = collectSetService.getSet();
|
|
|
|
|
SysWorkplacePutRel sysWorkplacePutRel = workplacePutRelService.findPutWorkPlace(collectOrder.getWorkPlaceCode(), collectOrder.getBusType());
|
|
|
|
|
Long putWorkPlaceCode = null;
|
|
|
|
|
if (sysWorkplacePutRel != null) putWorkPlaceCode = sysWorkplacePutRel.getWorkPlaceCode();
|
|
|
|
@ -212,7 +214,9 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
List<IoCollectOrderCodeMan> collectOrderCodeMEN = collectOrderCodeManService.listByBillNo(collectOrder.getBillNo());
|
|
|
|
|
if (CollUtil.isNotEmpty(collectOrderCodeMEN)) {
|
|
|
|
|
//扫码冲突
|
|
|
|
|
if (IntUtil.value(collectSet.getConflictScan())) {
|
|
|
|
|
dealOrderReplace(collectOrderCodeMEN, collectOrder, putWorkPlaceCode);
|
|
|
|
|
}
|
|
|
|
|
for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodeMEN) {
|
|
|
|
|
if (IntUtil.value(collectOrderCodeMan.getRemoveFlag())) {
|
|
|
|
|
continue;
|
|
|
|
@ -408,7 +412,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
if (splitFifoCodeEntity == null) {
|
|
|
|
|
throw new JsonException(500, "工位存量不足!");
|
|
|
|
|
}
|
|
|
|
|
IoCollectErrorLog ioCollectErrorLog = IoCollectErrorLog.builder().orderId(collectOrder.getId() + "").autoCode(splitFifoCodeEntity.getCode()).manuCode(collectOrderCodeMan.getUdiCode()).type(1) //未上传医保替换码
|
|
|
|
|
IoCollectErrorLog ioCollectErrorLog = IoCollectErrorLog.builder().orderId(collectOrder.getBillNo()).autoCode(splitFifoCodeEntity.getCode()).manuCode(collectOrderCodeMan.getUdiCode()).type(1) //未上传医保替换码
|
|
|
|
|
.updateTime(new Date()).build();
|
|
|
|
|
collectErrorLogMapper.insert(ioCollectErrorLog);
|
|
|
|
|
//替换已完成单据的码
|
|
|
|
@ -426,8 +430,6 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
*/
|
|
|
|
|
public void workReturnReplace(IoCodeEntity codeEntity, Long workPlaceCode) {
|
|
|
|
|
|
|
|
|
|
IoSplitFifoCodeEntity ioSplitFifoCodeEntity = splitFifoCodeService.findByCode(codeEntity.getCode(), workPlaceCode);
|
|
|
|
|
if (ioSplitFifoCodeEntity == null) {
|
|
|
|
|
// 1.判断工位库存是否足够
|
|
|
|
|
// 2.工位库存足够的话,判断已完成单是否存在,
|
|
|
|
|
// 3.存在的话,判断已完成单是否已上传医保
|
|
|
|
@ -437,18 +439,15 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
if (CollUtil.isEmpty(splitFifoCodeEntitys)) {
|
|
|
|
|
throw new JsonException(500, "工位库存不足!");
|
|
|
|
|
}
|
|
|
|
|
// ioSplitFifoCodeEntity = splitFifoCodeEntitys.get(0);
|
|
|
|
|
IoSplitFifoCodeEntity ioSplitFifoCodeEntity = splitFifoCodeEntitys.get(0);
|
|
|
|
|
|
|
|
|
|
List<IoCollectCodeBackup> collectCodeBackups = collectCodeBackMapper.selectList(new LambdaQueryWrapper<IoCollectCodeBackup>().eq(IoCollectCodeBackup::getCode, ioSplitFifoCodeEntity.getCode()));
|
|
|
|
|
List<IoCollectCodeBackup> collectCodeBackups = collectCodeBackMapper.selectList(new LambdaQueryWrapper<IoCollectCodeBackup>().eq(IoCollectCodeBackup::getCode, codeEntity.getCode()));
|
|
|
|
|
if (CollUtil.isNotEmpty(collectCodeBackups)) {
|
|
|
|
|
IoCollectCodeBackup collectCodeBackup = collectCodeBackups.get(0);
|
|
|
|
|
|
|
|
|
|
if (IntUtil.value(collectCodeBackup.getFifoSplit()) == 3) {
|
|
|
|
|
throw new JsonException(500, collectCodeBackup.getCode() + "重复扫码,请盘查后重试!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// if (IntUtil.value(collectCodeBackup.getFifoSplit()) == 3) {
|
|
|
|
|
// throw new JsonException(500, collectCodeBackup.getCode() + "重复扫码,请盘查后重试!");
|
|
|
|
|
// }
|
|
|
|
|
IoCollectOrderBackup collectOrderBackup = collectOrderBackupMapper.selectOne(new LambdaQueryWrapper<IoCollectOrderBackup>().eq(IoCollectOrderBackup::getBillNo, collectCodeBackup.getBillNo()));
|
|
|
|
|
|
|
|
|
|
if (IntUtil.value(collectOrderBackup.getUploadStatus()) == 2) {
|
|
|
|
|
// 单据已被上传至医保 ---- 取当前库存的码替换至已完成单的码,并退库,以当前的码为退库单的码,并生成替换日志
|
|
|
|
|
IoSplitFifoCodeEntity splitFifoCodeEntity = removeInvByCode(ioSplitFifoCodeEntity);
|
|
|
|
@ -456,8 +455,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
throw new JsonException(500, "工位存量不足!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IoCollectErrorLog ioCollectErrorLog = IoCollectErrorLog.builder().orderId(codeEntity.getOrderId()).autoCode(splitFifoCodeEntity.getCode()).manuCode(ioSplitFifoCodeEntity.getCode()).type(4) //退货已上传医保替换码
|
|
|
|
|
IoCollectErrorLog ioCollectErrorLog = IoCollectErrorLog.builder().orderId(codeEntity.getOrderId()).autoCode(splitFifoCodeEntity.getCode()).manuCode(codeEntity.getCode()).type(4) //退货已上传医保替换码
|
|
|
|
|
.updateTime(new Date()).build();
|
|
|
|
|
collectErrorLogMapper.insert(ioCollectErrorLog);
|
|
|
|
|
collectCodeBackup.setCode(splitFifoCodeEntity.getCode());
|
|
|
|
@ -484,7 +482,6 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|