|
@@ -167,7 +167,7 @@ public class StockDetailServiceImpl extends ServiceImpl<StockDetailMapper, Stock
|
|
|
SchedulingActual schedulingActual = new SchedulingActual();
|
|
|
schedulingActual.setMaterialCode(materialCode);
|
|
|
schedulingActual.setMaterialRfid(rfidCode.toString());
|
|
|
- schedulingActual.setQuantity((BigDecimal) item.get("quantity"));
|
|
|
+ schedulingActual.setQuantity(BigDecimalUtil.objToBigDecimal(item.get("quantity")));
|
|
|
schedulingActual.setType(2);
|
|
|
schedulingActual.setJobNo(jobNo);
|
|
|
schedulingActual.setFlag(flag);
|
|
@@ -191,7 +191,7 @@ public class StockDetailServiceImpl extends ServiceImpl<StockDetailMapper, Stock
|
|
|
for (Map<String, Object> map : actualList) {
|
|
|
String materialCode = map.get("materialCode").toString();
|
|
|
String materialRfid = map.get("materialRfid").toString();
|
|
|
- BigDecimal quantity = (BigDecimal) map.get("quantity");
|
|
|
+ BigDecimal quantity = BigDecimalUtil.objToBigDecimal(map.get("quantity"));
|
|
|
|
|
|
if (!materialCodeList.contains(materialCode)) continue;
|
|
|
|
|
@@ -268,7 +268,7 @@ public class StockDetailServiceImpl extends ServiceImpl<StockDetailMapper, Stock
|
|
|
|
|
|
// 获取指定和推荐领料map
|
|
|
List<Long> flagList = list.stream().map(item -> (Long) item.get("flag")).distinct().collect(Collectors.toList());
|
|
|
- List<SchedulingActual> schedulingActualListByFlag = getSchedulingActualListByFlag(flagList);
|
|
|
+ List<SchedulingActual> schedulingActualListByFlag = getSchedulingActualListByFlag(flagList, null);
|
|
|
|
|
|
// 赋值实际领料
|
|
|
setActual(result, schedulingActualListByFlag, codeWidthMap);
|
|
@@ -282,8 +282,9 @@ public class StockDetailServiceImpl extends ServiceImpl<StockDetailMapper, Stock
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- private List<SchedulingActual> getSchedulingActualListByFlag(List<Long> flagList) {
|
|
|
+ private List<SchedulingActual> getSchedulingActualListByFlag(List<Long> flagList, String materialCode) {
|
|
|
return schedulingActualService.list(Wrappers.<SchedulingActual>lambdaQuery()
|
|
|
+ .eq(ObjectUtil.isNotEmpty(materialCode), SchedulingActual::getMaterialCode, materialCode)
|
|
|
.in(SchedulingActual::getFlag, flagList));
|
|
|
}
|
|
|
|
|
@@ -300,6 +301,7 @@ public class StockDetailServiceImpl extends ServiceImpl<StockDetailMapper, Stock
|
|
|
wrapper.eq(ObjectUtil.isNotEmpty(materialCode), "m.Code", materialCode);
|
|
|
wrapper.eq(ObjectUtil.isNotEmpty(jobNo), "u.JobNo", jobNo);
|
|
|
wrapper.eq("sca.type", pickingType);
|
|
|
+ wrapper.groupBy("sca.id");
|
|
|
|
|
|
return baseMapper.selectClaimed(wrapper);
|
|
|
}
|
|
@@ -327,14 +329,14 @@ public class StockDetailServiceImpl extends ServiceImpl<StockDetailMapper, Stock
|
|
|
Map<String, List<Map<String, Object>>> materialGroupName = materialList.stream().collect(Collectors.groupingBy(
|
|
|
item -> item.get("name").toString().split("-")[0]));
|
|
|
|
|
|
- List<Map<String, Object>> result = new ArrayList<>();
|
|
|
-
|
|
|
// 物料
|
|
|
Map<String, Float> codeWidthMap = materialList.stream().collect(Collectors.toMap(
|
|
|
item -> item.get("code").toString(),
|
|
|
item -> (Float) item.get("width")
|
|
|
));
|
|
|
|
|
|
+ List<Map<String, Object>> result = new ArrayList<>();
|
|
|
+
|
|
|
for (Map.Entry<String, List<Map<String, Object>>> entry : materialGroupName.entrySet()) {
|
|
|
String key = entry.getKey(); // 面料名称
|
|
|
List<Map<String, Object>> value = entry.getValue(); // 面料属性集合
|
|
@@ -352,7 +354,7 @@ public class StockDetailServiceImpl extends ServiceImpl<StockDetailMapper, Stock
|
|
|
|
|
|
// 获取指定和推荐领料map
|
|
|
List<Long> flagList = listByCode.stream().map(item -> (Long) item.get("flag")).distinct().collect(Collectors.toList());
|
|
|
- List<SchedulingActual> schedulingActualListByFlag = getSchedulingActualListByFlag(flagList);
|
|
|
+ List<SchedulingActual> schedulingActualListByFlag = getSchedulingActualListByFlag(flagList, code);
|
|
|
|
|
|
// 赋值实际领料
|
|
|
setActual(temp, schedulingActualListByFlag, codeWidthMap);
|
|
@@ -531,7 +533,10 @@ public class StockDetailServiceImpl extends ServiceImpl<StockDetailMapper, Stock
|
|
|
HashMap<String, Object> map = new HashMap<>();
|
|
|
String jobNo = item.get("jobNo").toString();
|
|
|
map.put("jobNo", jobNo);
|
|
|
- map.put("userName", JobNoMap.get(jobNo).get("userName"));
|
|
|
+
|
|
|
+ map.put("userName", JobNoMap.get(jobNo) == null ?
|
|
|
+ "未知(工号:" + jobNo + ")" :
|
|
|
+ JobNoMap.get(jobNo).get("userName"));
|
|
|
map.put("sum", 1);
|
|
|
return map;
|
|
|
},
|