2/27 上货增加槽位 优化 虚拟槽位上货 增加虚拟槽位号 用于扫码剔除互动扫码上货

dev_2.5_optimize
wangwei 4 months ago
parent 6ea9cd0d11
commit 95b8b7c04a

@ -1135,6 +1135,20 @@ public class IoCodeTempController extends BaseController {
} }
if (exitLocalEntity == null) { if (exitLocalEntity == null) {
UdiRelevanceResponse udiRelevanceResponse1 = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); UdiRelevanceResponse udiRelevanceResponse1 = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
// 只要是一单的话就用同一个 虚拟槽位 加载orderQueueCode !!!!
IoOrderEntity byBillNo = orderService.findByBillNo(orderId);
String queueCode;
if (StrUtil.isBlank(addOrderRequest.getWorkPlaceQueueCode())){
if (byBillNo != null && !StrUtil.isBlank(byBillNo.getWorkPlaceQueueCode())){
queueCode = byBillNo.getWorkPlaceQueueCode();
} else {
queueCode = ioSplitFifoInvService.setQueueCode(addOrderRequest.getWorkPlaceCode(),null);
addCodeResult.setQueueCode(queueCode);
}
}else {
queueCode = addOrderRequest.getWorkPlaceQueueCode();
}
IoCodeTempEntity codeEnttity = new IoCodeTempEntity(); IoCodeTempEntity codeEnttity = new IoCodeTempEntity();
codeEnttity.setCode(code); codeEnttity.setCode(code);
codeEnttity.setOrderId(orderId); codeEnttity.setOrderId(orderId);
@ -1158,6 +1172,7 @@ public class IoCodeTempController extends BaseController {
codeEnttity.setFifoSplit(addOrderRequest.getFifoSplit()); codeEnttity.setFifoSplit(addOrderRequest.getFifoSplit());
codeEnttity.setCount(1); codeEnttity.setCount(1);
codeEnttity.setPrice(udiRelevanceResponse1.getPrice()); codeEnttity.setPrice(udiRelevanceResponse1.getPrice());
codeEnttity.setQueueCode(queueCode);
String unitFk = null; String unitFk = null;
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
unitFk = addOrderRequest.getFromCorp(); unitFk = addOrderRequest.getFromCorp();
@ -1243,6 +1258,7 @@ public class IoCodeTempController extends BaseController {
orderEntity.setProductType(1); orderEntity.setProductType(1);
orderEntity.setFifoSplit(addOrderRequest.getFifoSplit()); orderEntity.setFifoSplit(addOrderRequest.getFifoSplit());
orderEntity.setSplitBusType(addOrderRequest.getSplitBusType()); orderEntity.setSplitBusType(addOrderRequest.getSplitBusType());
orderEntity.setWorkPlaceQueueCode(queueCode);
orderService.insertOrder(orderEntity); orderService.insertOrder(orderEntity);
} }

@ -63,4 +63,6 @@ public class AddOrderRequest {
*/ */
private String workPlaceQueueCode; private String workPlaceQueueCode;
} }

@ -9,4 +9,5 @@ public class AddCodeResult {
private String orderId; private String orderId;
private String errMsg; private String errMsg;
List<VailCodeResultResponse> vailCodeResultResponses; List<VailCodeResultResponse> vailCodeResultResponses;
private String queueCode;
} }

@ -344,6 +344,7 @@ public class IoCodeTempService {
); );
} }
// public IoCodeTempResponse convertToIoCodeTempResponse(IoCodeResponse response) { // public IoCodeTempResponse convertToIoCodeTempResponse(IoCodeResponse response) {
// IoCodeTempResponse tempResponse = new IoCodeTempResponse(); // IoCodeTempResponse tempResponse = new IoCodeTempResponse();
// BeanUtils.copyProperties(response,tempResponse); // BeanUtils.copyProperties(response,tempResponse);

@ -164,4 +164,5 @@ public interface IoOrderService {
IoOrderResponse findByWorkPlaceCode(String workPlaceCode,String getWorkPlaceQueueCode,Long UserId); IoOrderResponse findByWorkPlaceCode(String workPlaceCode,String getWorkPlaceQueueCode,Long UserId);
String selectAliYljgSearchbillByAliBillNo(String key); String selectAliYljgSearchbillByAliBillNo(String key);
} }

@ -136,7 +136,11 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS
.supId(ioSplitFifoCodeEntity.getSupId()) .supId(ioSplitFifoCodeEntity.getSupId())
.inCount(ioSplitFifoCodeEntity.getTotalCount()).outCount(0) .inCount(ioSplitFifoCodeEntity.getTotalCount()).outCount(0)
.reCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount())) .reCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount()))
.availableCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount())).lockCount(0).createTime(new Date()).updateTime(new Date()).remark(null).enableRemind(false).invRemindCount(0).workPlaceQueueCode(orderEntity.getWorkPlaceQueueCode() == null ? setQueueCode(ioSplitFifoCodeEntity.getWorkPlaceCode(), orderEntity.getCreateUser()) : orderEntity.getWorkPlaceQueueCode()).build(); .availableCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount())).lockCount(0)
.createTime(new Date()).updateTime(new Date()).remark(null)
.enableRemind(false).invRemindCount(0)
.workPlaceQueueCode(orderEntity.getWorkPlaceQueueCode() == null ? setQueueCode(ioSplitFifoCodeEntity.getWorkPlaceCode(), orderEntity.getCreateUser()) : orderEntity.getWorkPlaceQueueCode())
.build();
// if (isOnlyInv) { // if (isOnlyInv) {
// splitFifoInv.setBusType(ioSplitFifoCodeEntity.getBusType()); // splitFifoInv.setBusType(ioSplitFifoCodeEntity.getBusType());
// } // }
@ -175,19 +179,23 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS
if (queues.size() == 0) { if (queues.size() == 0) {
throw new JsonException(500, "请增加取货槽"); throw new JsonException(500, "请增加取货槽");
} }
// 直接根据 workPlaceCode 增加一个槽位
SysWorkplaceQueue workplaceQueue = queues.get(0); SysWorkplaceQueue workplaceQueue = queues.get(0);
// // 使用流来过滤掉匹配的元素 // 使用流来过滤掉匹配的元素
// List<SysWorkplaceQueue> filteredQueues = queues.stream() List<SysWorkplaceQueue> filteredQueues = queues.stream()
// .filter(queue -> { .filter(queue -> {
// IoSplitFifoInv one = getOne( IoSplitFifoInv one = getOne(
// new LambdaQueryWrapper<IoSplitFifoInv>() new LambdaQueryWrapper<IoSplitFifoInv>()
// .eq(IoSplitFifoInv::getWorkPlaceQueueCode, queue.getCode()) .eq(IoSplitFifoInv::getWorkPlaceQueueCode, queue.getCode())
// ); );
// return one == null; // 只保留那些没有匹配的槽位 return one == null; // 只保留那些没有匹配的槽位
// }) })
// .sorted((queue1, queue2) -> queue1.getCode().compareTo(queue2.getCode())) .sorted((queue1, queue2) -> queue1.getCode().compareTo(queue2.getCode()))
// .collect(Collectors.toList()); .collect(Collectors.toList());
if (filteredQueues.size() > 0) {
//还有剩余的槽位 可分配
SysWorkplaceQueue sysWorkplaceQueue = filteredQueues.get(0);
return sysWorkplaceQueue.getCode();
} else {
//增加一个槽位 //增加一个槽位
SysWorkplaceLayer layer = sysWorkplaceLayerService.getOne(new LambdaQueryWrapper<SysWorkplaceLayer>().eq(SysWorkplaceLayer::getCode, workplaceQueue.getLayerCode())); SysWorkplaceLayer layer = sysWorkplaceLayerService.getOne(new LambdaQueryWrapper<SysWorkplaceLayer>().eq(SysWorkplaceLayer::getCode, workplaceQueue.getLayerCode()));
SysWorkplaceLayerRequest sysWorkplaceLayerRequest = new SysWorkplaceLayerRequest(); SysWorkplaceLayerRequest sysWorkplaceLayerRequest = new SysWorkplaceLayerRequest();
@ -195,10 +203,14 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS
sysWorkplaceLayerRequest.setCode(workplaceQueue.getLayerCode()); sysWorkplaceLayerRequest.setCode(workplaceQueue.getLayerCode());
sysWorkplaceLayerRequest.setWorkPlaceIdFk(workPlaceCode); sysWorkplaceLayerRequest.setWorkPlaceIdFk(workPlaceCode);
sysWorkplaceLayerRequest.setQueueNum(layer.getQueueNum() + 1); sysWorkplaceLayerRequest.setQueueNum(layer.getQueueNum() + 1);
sysWorkplaceLayerService.addSysWorkplaceLayer(sysWorkplaceLayerRequest, Long.valueOf(userId)); Boolean aBoolean = sysWorkplaceLayerService.addSysWorkplaceLayer(sysWorkplaceLayerRequest, Long.valueOf(userId));
String queueCode = sysWorkplaceQueueService.selectMaxCodeByLayerCode(workplaceQueue.getLayerCode()); if (!aBoolean){
return queueCode; throw new JsonException(500, "虚拟槽位增加失败");
}
} }
return setQueueCode(workPlaceCode, userId);
}
@Resource @Resource
SysWorkplacePutRelService sysWorkplacePutRelService; SysWorkplacePutRelService sysWorkplacePutRelService;

Loading…
Cancel
Save