opt:每周出入库的数量趋势默认每天为0

This commit is contained in:
2024-11-08 14:16:40 +08:00
parent f1e3c97e98
commit 55ac6175f6
3 changed files with 36 additions and 36 deletions

View File

@@ -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;
}

View File

@@ -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));
}
});
}
}

View File

@@ -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,