|
|
|
@ -97,6 +97,16 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
return ioSplitCodeEntities;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public List<IoSplitCodeEntity> findSplitCodes(String ybbm, String batchNo, Long workPlaceCode) {
|
|
|
|
|
List<IoSplitCodeEntity> ioSplitCodeEntities = splitCodeMapper.selectList(new LambdaQueryWrapper<IoSplitCodeEntity>()
|
|
|
|
|
.eq(StrUtil.isNotEmpty(batchNo), IoSplitCodeEntity::getBatchNo, batchNo)
|
|
|
|
|
.eq(workPlaceCode != null, IoSplitCodeEntity::getWorkPlaceCode, workPlaceCode)
|
|
|
|
|
.gt(IoSplitCodeEntity::getRemainCount, 0)
|
|
|
|
|
.in(IoSplitCodeEntity::getStatus, 1, 2).orderByAsc(IoSplitCodeEntity::getInBactchNo));
|
|
|
|
|
return ioSplitCodeEntities;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public IoSplitCodeEntity findByCode(String code, Long workPlaceCode) {
|
|
|
|
|
if (workPlaceCode == null) {
|
|
|
|
|
return null;
|
|
|
|
@ -657,6 +667,44 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
|
|
|
|
|
collectOrderBizService.updateBatchById(collectOrderBizs);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 单据预赋码
|
|
|
|
|
*
|
|
|
|
|
* @param collectOrder
|
|
|
|
|
*/
|
|
|
|
|
public void preQxAutoTagCode(IoCollectOrder collectOrder, String queueCode) {
|
|
|
|
|
Long putWorkPlaceCode = null;
|
|
|
|
|
//获取上货工位
|
|
|
|
|
SysWorkplacePutRel sysWorkplacePutRel = workplacePutRelService.findPutWorkPlace(collectOrder.getWorkPlaceCode(), collectOrder.getBusType());
|
|
|
|
|
if (sysWorkplacePutRel != null)
|
|
|
|
|
putWorkPlaceCode = sysWorkplacePutRel.getWorkPlaceCode();
|
|
|
|
|
|
|
|
|
|
List<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo());
|
|
|
|
|
for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) {
|
|
|
|
|
List<IoSplitFifoCodeEntity> splitFifoCodeEntities =
|
|
|
|
|
splitFifoCodeService.findByCheckCode(putWorkPlaceCode,
|
|
|
|
|
collectOrderBiz.getYbbm(), collectOrderBiz.getBatchNo(), queueCode);
|
|
|
|
|
int total = splitFifoCodeEntities.stream()
|
|
|
|
|
.mapToInt(IoSplitFifoCodeEntity::getTotalCount)
|
|
|
|
|
.sum();
|
|
|
|
|
collectOrderBiz.setTempWorkPlaceCount(total);
|
|
|
|
|
List<IoSplitCodeEntity> splitCodeEntities = splitCodeService.findSplitCodes(collectOrderBiz.getRelId()
|
|
|
|
|
, collectOrderBiz.getBatchNo(), putWorkPlaceCode);
|
|
|
|
|
int splitTotal = splitCodeEntities.stream()
|
|
|
|
|
.mapToInt(IoSplitCodeEntity::getRemainCount)
|
|
|
|
|
.sum();
|
|
|
|
|
collectOrderBiz.setTempSplitCount(splitTotal);
|
|
|
|
|
total = total + splitTotal;
|
|
|
|
|
if (total >= IntUtil.value(collectOrderBiz.getCount())) {
|
|
|
|
|
collectOrderBiz.setAutoTagStatus(2);
|
|
|
|
|
} else if (total > 0) {
|
|
|
|
|
collectOrderBiz.setAutoTagStatus(3);
|
|
|
|
|
} else
|
|
|
|
|
collectOrderBiz.setAutoTagStatus(1);
|
|
|
|
|
}
|
|
|
|
|
collectOrderBizService.updateBatchById(collectOrderBizs);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 拆零单据撤回,则将拆零表剩余数量加回预出库队列
|
|
|
|
|