|
|
|
@ -212,7 +212,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
List<IoCollectOrderCodeMan> collectOrderCodeMEN = collectOrderCodeManService.listByBillNo(collectOrder.getBillNo());
|
|
|
|
|
if (CollUtil.isNotEmpty(collectOrderCodeMEN)) {
|
|
|
|
|
//扫码冲突
|
|
|
|
|
// dealOrderReplace(collectOrderCodeMEN, collectOrder,putWorkPlaceCode);
|
|
|
|
|
dealOrderReplace(collectOrderCodeMEN, collectOrder, putWorkPlaceCode);
|
|
|
|
|
for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodeMEN) {
|
|
|
|
|
if (IntUtil.value(collectOrderCodeMan.getRemoveFlag())) {
|
|
|
|
|
continue;
|
|
|
|
@ -371,17 +371,22 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
/**
|
|
|
|
|
* 手动赋码与自动赋码冲突时解决方案
|
|
|
|
|
*/
|
|
|
|
|
public void dealOrderReplace(List<IoCollectOrderCodeMan> collectOrderCodeManList, IoCollectOrder collectOrder,Long putWorkPlaceCode) {
|
|
|
|
|
public void dealOrderReplace(List<IoCollectOrderCodeMan> collectOrderCodeManList, IoCollectOrder collectOrder, Long putWorkPlaceCode) {
|
|
|
|
|
for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodeManList) {
|
|
|
|
|
// 1. 查找已完成成单据扫码是否已被分配
|
|
|
|
|
|
|
|
|
|
List<IoCollectCodeBackup> collectCodeBackups = collectCodeBackMapper.selectList(new LambdaQueryWrapper<IoCollectCodeBackup>().eq(IoCollectCodeBackup::getBusType, collectOrder.getBusType()).eq(IoCollectCodeBackup::getCode, collectOrderCodeMan.getUdiCode()).eq(IoCollectCodeBackup::getIsSplitCode, 0));
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
|
// 1. 如果本身标记为手动整取,则应报错提示,重复扫码
|
|
|
|
|
if (IntUtil.value(collectCodeBackup.getFifoSplit()) == 3) {
|
|
|
|
|
throw new JsonException(500, collectCodeBackup.getCode() + "重复扫码,请盘查后重试!");
|
|
|
|
|
}
|
|
|
|
|
// 不管是自动拆零或者手动拆零直接忽略,不走冲突赋码逻辑
|
|
|
|
|
if (IntUtil.value(collectCodeBackup.getFifoSplit()) != 2) {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
IoCollectOrderBackup collectOrderBackup = collectOrderBackupMapper.selectOne(new LambdaQueryWrapper<IoCollectOrderBackup>().eq(IoCollectOrderBackup::getBillNo, collectCodeBackup.getBillNo()));
|
|
|
|
|
collectOrderCodeMan.setRemoveFlag(true);
|
|
|
|
@ -635,26 +640,11 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void saveSplitCode(List<IoCollectOrderCodeAuto> codeAutoList, IoCollectOrderBackup collectOrder) {
|
|
|
|
|
if (CollUtil.isEmpty(codeAutoList))
|
|
|
|
|
return;
|
|
|
|
|
if (CollUtil.isEmpty(codeAutoList)) return;
|
|
|
|
|
List<IoCollectCodeBackup> ioCollectCodes = new ArrayList<>();
|
|
|
|
|
for (IoCollectOrderCodeAuto collectOrderCodeAuto : codeAutoList) {
|
|
|
|
|
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(collectOrderCodeAuto.getRelId() + "");
|
|
|
|
|
ioCollectCodes.add(IoCollectCodeBackup.builder().code(collectOrderCodeAuto.getUdiCode())
|
|
|
|
|
.fromType(collectOrder.getFromType())
|
|
|
|
|
.busType(collectOrder.getBusType())
|
|
|
|
|
.billNo(collectOrder.getBillNo())
|
|
|
|
|
.fromCorp(collectOrder.getFromCorp())
|
|
|
|
|
.operTime(collectOrder.getUpdateTime())
|
|
|
|
|
.operUser(collectOrder.getCreateUser())
|
|
|
|
|
.fifoSplit(1)
|
|
|
|
|
.relId(collectOrderCodeAuto.getRelId())
|
|
|
|
|
.workPlaceCode(collectOrder.getWorkPlaceCode())
|
|
|
|
|
.remark(collectOrder.getRemark())
|
|
|
|
|
.purType(udiRelevanceResponse.getPurType())
|
|
|
|
|
.inBatchNo(System.currentTimeMillis())
|
|
|
|
|
.reCount(collectOrderCodeAuto.getReCount())
|
|
|
|
|
.build());
|
|
|
|
|
ioCollectCodes.add(IoCollectCodeBackup.builder().code(collectOrderCodeAuto.getUdiCode()).fromType(collectOrder.getFromType()).busType(collectOrder.getBusType()).billNo(collectOrder.getBillNo()).fromCorp(collectOrder.getFromCorp()).operTime(collectOrder.getUpdateTime()).operUser(collectOrder.getCreateUser()).fifoSplit(1).relId(collectOrderCodeAuto.getRelId()).workPlaceCode(collectOrder.getWorkPlaceCode()).remark(collectOrder.getRemark()).purType(udiRelevanceResponse.getPurType()).inBatchNo(System.currentTimeMillis()).reCount(collectOrderCodeAuto.getReCount()).build());
|
|
|
|
|
}
|
|
|
|
|
collectCodeBackService.saveBatch(ioCollectCodes);
|
|
|
|
|
}
|
|
|
|
|