|
@@ -33,23 +33,28 @@ public class LineCallServiceImpl implements ILineCallService {
|
|
public LineCallVO selectLineCall(Long flowConfigId, Long warehouseId) {
|
|
public LineCallVO selectLineCall(Long flowConfigId, Long warehouseId) {
|
|
LineCallVO lineCallVO = new LineCallVO();
|
|
LineCallVO lineCallVO = new LineCallVO();
|
|
FlowConfigHeaderVO flowConfigHeaderVO = flowConfigHeaderMapper.selectFlowConfigHeaderById(flowConfigId);
|
|
FlowConfigHeaderVO flowConfigHeaderVO = flowConfigHeaderMapper.selectFlowConfigHeaderById(flowConfigId);
|
|
|
|
+ if (flowConfigHeaderVO == null) {
|
|
|
|
+ throw new RuntimeException(String.format("ID:%d的流程不存在", flowConfigId));
|
|
|
|
+ }
|
|
BaseSku skuQuery = new BaseSku();
|
|
BaseSku skuQuery = new BaseSku();
|
|
skuQuery.setSkuType(flowConfigHeaderVO.getSkuType());
|
|
skuQuery.setSkuType(flowConfigHeaderVO.getSkuType());
|
|
List<BaseSku> skuList = baseSkuService.selectBaseSkuList(skuQuery);
|
|
List<BaseSku> skuList = baseSkuService.selectBaseSkuList(skuQuery);
|
|
-
|
|
|
|
|
|
+ //返回前端的字典
|
|
List<BaseLocationInfo> locationFromList = new ArrayList<>();
|
|
List<BaseLocationInfo> locationFromList = new ArrayList<>();
|
|
List<BaseLocationInfo> locationToList = new ArrayList<>();
|
|
List<BaseLocationInfo> locationToList = new ArrayList<>();
|
|
- //初始化起始库位
|
|
|
|
|
|
+ //把前端传递的参数转换成数组方便使用
|
|
String[] locationFromArr = flowConfigHeaderVO.getLocationFrom().split(",");
|
|
String[] locationFromArr = flowConfigHeaderVO.getLocationFrom().split(",");
|
|
String[] locationToArr = flowConfigHeaderVO.getLocationTo().split(",");
|
|
String[] locationToArr = flowConfigHeaderVO.getLocationTo().split(",");
|
|
- //初始化目标库位
|
|
|
|
|
|
+ //起始库位
|
|
for (int i = 0; i < locationFromArr.length; i++) {
|
|
for (int i = 0; i < locationFromArr.length; i++) {
|
|
String s = locationFromArr[i];
|
|
String s = locationFromArr[i];
|
|
|
|
+ //判断是否为库位
|
|
boolean isLocation = baseLocationInfoService.checkIsLocation(s, warehouseId);
|
|
boolean isLocation = baseLocationInfoService.checkIsLocation(s, warehouseId);
|
|
if (isLocation) {
|
|
if (isLocation) {
|
|
BaseLocationInfo b = baseLocationInfoService.selectBaseLocationInfoById(Long.parseLong(s));
|
|
BaseLocationInfo b = baseLocationInfoService.selectBaseLocationInfoById(Long.parseLong(s));
|
|
locationFromList.add(b);
|
|
locationFromList.add(b);
|
|
} else {
|
|
} else {
|
|
|
|
+ //如果是区域把区域内的库位查询出来
|
|
BaseLocationInfo query = new BaseLocationInfo();
|
|
BaseLocationInfo query = new BaseLocationInfo();
|
|
query.setWarehouseId(warehouseId);
|
|
query.setWarehouseId(warehouseId);
|
|
query.setZoneId(Long.parseLong(s));
|
|
query.setZoneId(Long.parseLong(s));
|
|
@@ -57,6 +62,7 @@ public class LineCallServiceImpl implements ILineCallService {
|
|
locationFromList.addAll(bList);
|
|
locationFromList.addAll(bList);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ //目标库位逻辑同上
|
|
for (int i = 0; i < locationToArr.length; i++) {
|
|
for (int i = 0; i < locationToArr.length; i++) {
|
|
String s = locationToArr[i];
|
|
String s = locationToArr[i];
|
|
boolean isLocation = baseLocationInfoService.checkIsLocation(s, warehouseId);
|
|
boolean isLocation = baseLocationInfoService.checkIsLocation(s, warehouseId);
|
|
@@ -71,9 +77,11 @@ public class LineCallServiceImpl implements ILineCallService {
|
|
locationToList.addAll(bList);
|
|
locationToList.addAll(bList);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ //数量默认值
|
|
if (flowConfigHeaderVO.getQty() != null) {
|
|
if (flowConfigHeaderVO.getQty() != null) {
|
|
lineCallVO.setQty(flowConfigHeaderVO.getQty().doubleValue());
|
|
lineCallVO.setQty(flowConfigHeaderVO.getQty().doubleValue());
|
|
}
|
|
}
|
|
|
|
+ //重量默认值
|
|
if (flowConfigHeaderVO.getWeight() != null) {
|
|
if (flowConfigHeaderVO.getWeight() != null) {
|
|
lineCallVO.setWeight(flowConfigHeaderVO.getWeight().doubleValue());
|
|
lineCallVO.setWeight(flowConfigHeaderVO.getWeight().doubleValue());
|
|
}
|
|
}
|