扫码冲突处理

dev_2.5_csconfilt
yewj 3 months ago
parent 29bfb16806
commit 172385ad89

@ -334,7 +334,7 @@ public class IoCollectOrderController extends BaseController {
collectOrder.setUpdateTime(new Date()); collectOrder.setUpdateTime(new Date());
collectOrder.setUpdateUser(getUserId()); collectOrder.setUpdateUser(getUserId());
boolean update = collectOrderService.update(new LambdaUpdateWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, collectOrder.getBillNo()) boolean update = collectOrderService.update(new LambdaUpdateWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, collectOrder.getBillNo())
.set(IoCollectOrder::getTagStatus, 2).set(IoCollectOrder::getUpdateUser,getUserId())); .set(IoCollectOrder::getTagStatus, 2).set(IoCollectOrder::getUpdateUser, getUserId()));
if (collectOrder.getTagStatus() == 2) { if (collectOrder.getTagStatus() == 2) {
collectOrderOriginService.update(new LambdaUpdateWrapper<IoCollectOrderOrigin>().eq(IoCollectOrderOrigin::getBillNo, collectOrder.getBillNo()) collectOrderOriginService.update(new LambdaUpdateWrapper<IoCollectOrderOrigin>().eq(IoCollectOrderOrigin::getBillNo, collectOrder.getBillNo())
.set(IoCollectOrderOrigin::getTagStatus, 2)); .set(IoCollectOrderOrigin::getTagStatus, 2));
@ -622,13 +622,13 @@ public class IoCollectOrderController extends BaseController {
} }
@Resource @Resource
IoCollectOriginService collectOriginService; IoCollectOriginService collectOriginService;
@PostMapping("/udiwms/basic/collect/order/finishReturnOrder") @PostMapping("/udiwms/basic/collect/order/finishReturnOrder")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public BaseResponse finishReturnOrder(@RequestBody CollectOrderRequest collectOrderRequest) { public BaseResponse finishReturnOrder(@RequestBody CollectOrderRequest collectOrderRequest) {
return collectOriginService.submitreturnOrder(collectOrderRequest,1); return collectOriginService.submitreturnOrder(collectOrderRequest, 1);
} }

@ -212,7 +212,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
List<IoCollectOrderCodeMan> collectOrderCodeMEN = collectOrderCodeManService.listByBillNo(collectOrder.getBillNo()); List<IoCollectOrderCodeMan> collectOrderCodeMEN = collectOrderCodeManService.listByBillNo(collectOrder.getBillNo());
if (CollUtil.isNotEmpty(collectOrderCodeMEN)) { if (CollUtil.isNotEmpty(collectOrderCodeMEN)) {
//扫码冲突 //扫码冲突
// dealOrderReplace(collectOrderCodeMEN, collectOrder,putWorkPlaceCode); dealOrderReplace(collectOrderCodeMEN, collectOrder, putWorkPlaceCode);
for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodeMEN) { for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodeMEN) {
if (IntUtil.value(collectOrderCodeMan.getRemoveFlag())) { if (IntUtil.value(collectOrderCodeMan.getRemoveFlag())) {
continue; 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) { for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodeManList) {
// 1. 查找已完成成单据扫码是否已被分配 // 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)) { if (CollUtil.isNotEmpty(collectCodeBackups)) {
IoCollectCodeBackup collectCodeBackup = collectCodeBackups.get(0); IoCollectCodeBackup collectCodeBackup = collectCodeBackups.get(0);
// 1. 如果本身标记为手动整取,则应报错提示,重复扫码
if (IntUtil.value(collectCodeBackup.getFifoSplit()) == 3) { if (IntUtil.value(collectCodeBackup.getFifoSplit()) == 3) {
throw new JsonException(500, collectCodeBackup.getCode() + "重复扫码,请盘查后重试!"); 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())); IoCollectOrderBackup collectOrderBackup = collectOrderBackupMapper.selectOne(new LambdaQueryWrapper<IoCollectOrderBackup>().eq(IoCollectOrderBackup::getBillNo, collectCodeBackup.getBillNo()));
collectOrderCodeMan.setRemoveFlag(true); collectOrderCodeMan.setRemoveFlag(true);
@ -635,26 +640,11 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
} }
public void saveSplitCode(List<IoCollectOrderCodeAuto> codeAutoList, IoCollectOrderBackup collectOrder) { public void saveSplitCode(List<IoCollectOrderCodeAuto> codeAutoList, IoCollectOrderBackup collectOrder) {
if (CollUtil.isEmpty(codeAutoList)) if (CollUtil.isEmpty(codeAutoList)) return;
return;
List<IoCollectCodeBackup> ioCollectCodes = new ArrayList<>(); List<IoCollectCodeBackup> ioCollectCodes = new ArrayList<>();
for (IoCollectOrderCodeAuto collectOrderCodeAuto : codeAutoList) { for (IoCollectOrderCodeAuto collectOrderCodeAuto : codeAutoList) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(collectOrderCodeAuto.getRelId() + ""); UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(collectOrderCodeAuto.getRelId() + "");
ioCollectCodes.add(IoCollectCodeBackup.builder().code(collectOrderCodeAuto.getUdiCode()) 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());
.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); collectCodeBackService.saveBatch(ioCollectCodes);
} }

@ -30,7 +30,7 @@
AND iccb.code LIKE concat( #{code}, '%') AND iccb.code LIKE concat( #{code}, '%')
</if> </if>
<if test="billNo != null and billNo != ''"> <if test="billNo != null and billNo != ''">
AND iccb.billNo LIKE concat(#{billNo}, '%') AND iccb.billNo = #{billNo}
</if> </if>
<if test="relId != null and relId != ''"> <if test="relId != null and relId != ''">
AND iccb.relId = #{relId} AND iccb.relId = #{relId}

Loading…
Cancel
Save