opt:每周出入库的数量趋势默认每天为0
This commit is contained in:
@@ -24,13 +24,15 @@ public class TaskInfo {
|
||||
private String task_type;
|
||||
private String material_name;
|
||||
private String material_code;
|
||||
private String material_spec;
|
||||
private BigDecimal assign_qty;
|
||||
private BigDecimal single_weight;
|
||||
//理论数量
|
||||
private BigDecimal theory_qty=BigDecimal.ZERO;
|
||||
private BigDecimal theory_qty;
|
||||
//称重
|
||||
private BigDecimal actual_weight=BigDecimal.valueOf(200L);
|
||||
private BigDecimal remaining_qty=BigDecimal.ZERO;
|
||||
private BigDecimal actual_weight=BigDecimal.ZERO;
|
||||
//剩余数量
|
||||
private BigDecimal remaining_qty;
|
||||
private String form_data;
|
||||
private String product_area;
|
||||
}
|
||||
@@ -273,18 +273,11 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
List<TaskInfo> stockList3 = result.stream().filter(r -> "30".equals(r.getTask_type()) && "FStockPallet".equals(r.getStor_code())).collect(Collectors.toList());
|
||||
//托盘库出库
|
||||
List<TaskInfo> stockList4 = result.stream().filter(r -> "40".equals(r.getTask_type()) && "FStockPallet".equals(r.getStor_code())).collect(Collectors.toList());
|
||||
if (ObjectUtil.isNotEmpty(stockList1)) {
|
||||
getWeekWorkStatistics(stockList1, lx_in_default, "in", 7);
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(stockList2)) {
|
||||
getWeekWorkStatistics(stockList2, lx_out_default, "out", 7);
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(stockList3)) {
|
||||
getWeekWorkStatistics(stockList3, tp_in_default, "in", 7);
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(stockList4)) {
|
||||
getWeekWorkStatistics(stockList4, tp_out_default, "out", 7);
|
||||
}
|
||||
//计算每天的数量
|
||||
getWeekWorkStatistics(stockList1, lx_in_default, 7);
|
||||
getWeekWorkStatistics(stockList2, lx_out_default, 7);
|
||||
getWeekWorkStatistics(stockList3, tp_in_default, 7);
|
||||
getWeekWorkStatistics(stockList4, tp_out_default, 7);
|
||||
}
|
||||
jsonObject.put("lx_in_week", lx_in_default);
|
||||
jsonObject.put("lx_out_week", lx_out_default);
|
||||
@@ -321,18 +314,21 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
r.setProduct_area(pointInfo.getProduct_area());
|
||||
}
|
||||
}
|
||||
BigDecimal theoryQty = BigDecimal.ZERO;
|
||||
//根据称重信息计算理论数量
|
||||
if (r.getActual_weight().compareTo(BigDecimal.ZERO) > 0) {
|
||||
//计算理论重量与剩余数量
|
||||
BigDecimal theory_qty = r.getActual_weight().divide(r.getSingle_weight(), 0, RoundingMode.DOWN);
|
||||
BigDecimal remaining_qty = r.getQty().subtract(theory_qty).max(BigDecimal.ZERO).setScale(0, RoundingMode.DOWN);
|
||||
r.setTheory_qty(theory_qty);
|
||||
r.setRemaining_qty(remaining_qty);
|
||||
r.setQty(r.getQty().setScale(0, RoundingMode.DOWN));
|
||||
r.setAssign_qty(r.getAssign_qty().setScale(0, RoundingMode.DOWN));
|
||||
r.setSingle_weight(r.getSingle_weight().setScale(2, RoundingMode.DOWN));
|
||||
//计算理论重量
|
||||
theoryQty = r.getActual_weight().divide(r.getSingle_weight(), 0, RoundingMode.DOWN);
|
||||
r.setActual_weight(r.getActual_weight().setScale(2, RoundingMode.DOWN));
|
||||
}
|
||||
r.setTheory_qty(theoryQty);
|
||||
//计算剩余数量
|
||||
BigDecimal remaining_qty = r.getQty().subtract(theoryQty).max(BigDecimal.ZERO).setScale(0, RoundingMode.DOWN);
|
||||
r.setRemaining_qty(remaining_qty);
|
||||
//小数点
|
||||
r.setSingle_weight(r.getSingle_weight().setScale(2, RoundingMode.DOWN));
|
||||
r.setAssign_qty(r.getAssign_qty().setScale(0, RoundingMode.DOWN));
|
||||
r.setQty(r.getQty().setScale(0, RoundingMode.DOWN));
|
||||
});
|
||||
return taskList;
|
||||
}
|
||||
@@ -420,24 +416,26 @@ public class CockpitServiceImpl implements CockpitService {
|
||||
}
|
||||
|
||||
|
||||
private void getWeekWorkStatistics(List<TaskInfo> real_qty, List<Map<String, Object>> real_qty_default, String stor_code, Integer days) {
|
||||
private void getWeekWorkStatistics(List<TaskInfo> real_qty, List<Map<String, Object>> real_qty_default, Integer days) {
|
||||
for (int i = 0; i < days; i++) {
|
||||
Map<String, Object> item = new HashMap<>();
|
||||
item.put("total_qty", "0");
|
||||
item.put("date", today.minusDays(i).format(formatter));
|
||||
real_qty_default.add(item);
|
||||
}
|
||||
Map<String, BigDecimal> ghRealQtyMap = real_qty.stream()
|
||||
.collect(Collectors.toMap(
|
||||
TaskInfo::getCreate_time,
|
||||
TaskInfo::getQty
|
||||
));
|
||||
real_qty_default.forEach(tbItem -> {
|
||||
String date = (String) tbItem.get("date");
|
||||
if (ghRealQtyMap.containsKey(date)) {
|
||||
tbItem.put("total_qty", ghRealQtyMap.get(date));
|
||||
}
|
||||
});
|
||||
if (ObjectUtil.isNotEmpty(real_qty)) {
|
||||
Map<String, BigDecimal> ghRealQtyMap = real_qty.stream()
|
||||
.collect(Collectors.toMap(
|
||||
TaskInfo::getCreate_time,
|
||||
TaskInfo::getQty
|
||||
));
|
||||
real_qty_default.forEach(tbItem -> {
|
||||
String date = (String) tbItem.get("date");
|
||||
if (ghRealQtyMap.containsKey(date)) {
|
||||
tbItem.put("total_qty", ghRealQtyMap.get(date));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
p.`code` as task_type,
|
||||
d.vehicle_code,
|
||||
m.material_name,
|
||||
m.material_code,
|
||||
m.material_spec,
|
||||
d.qty,
|
||||
d.assign_qty,
|
||||
m.single_weight,
|
||||
|
||||
Reference in New Issue
Block a user