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 task_type;
private String material_name; private String material_name;
private String material_code; private String material_code;
private String material_spec;
private BigDecimal assign_qty; private BigDecimal assign_qty;
private BigDecimal single_weight; private BigDecimal single_weight;
//理论数量 //理论数量
private BigDecimal theory_qty=BigDecimal.ZERO; private BigDecimal theory_qty;
//称重 //称重
private BigDecimal actual_weight=BigDecimal.valueOf(200L); private BigDecimal actual_weight=BigDecimal.ZERO;
private BigDecimal remaining_qty=BigDecimal.ZERO; //剩余数量
private BigDecimal remaining_qty;
private String form_data; private String form_data;
private String product_area; 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> 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()); 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); getWeekWorkStatistics(stockList1, lx_in_default, 7);
} getWeekWorkStatistics(stockList2, lx_out_default, 7);
if (ObjectUtil.isNotEmpty(stockList2)) { getWeekWorkStatistics(stockList3, tp_in_default, 7);
getWeekWorkStatistics(stockList2, lx_out_default, "out", 7); getWeekWorkStatistics(stockList4, tp_out_default, 7);
}
if (ObjectUtil.isNotEmpty(stockList3)) {
getWeekWorkStatistics(stockList3, tp_in_default, "in", 7);
}
if (ObjectUtil.isNotEmpty(stockList4)) {
getWeekWorkStatistics(stockList4, tp_out_default, "out", 7);
}
} }
jsonObject.put("lx_in_week", lx_in_default); jsonObject.put("lx_in_week", lx_in_default);
jsonObject.put("lx_out_week", lx_out_default); jsonObject.put("lx_out_week", lx_out_default);
@@ -321,18 +314,21 @@ public class CockpitServiceImpl implements CockpitService {
r.setProduct_area(pointInfo.getProduct_area()); r.setProduct_area(pointInfo.getProduct_area());
} }
} }
BigDecimal theoryQty = BigDecimal.ZERO;
//根据称重信息计算理论数量 //根据称重信息计算理论数量
if (r.getActual_weight().compareTo(BigDecimal.ZERO) > 0) { if (r.getActual_weight().compareTo(BigDecimal.ZERO) > 0) {
//计算理论重量与剩余数量 //计算理论重量
BigDecimal theory_qty = r.getActual_weight().divide(r.getSingle_weight(), 0, RoundingMode.DOWN); theoryQty = 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));
r.setActual_weight(r.getActual_weight().setScale(2, 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; 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++) { for (int i = 0; i < days; i++) {
Map<String, Object> item = new HashMap<>(); Map<String, Object> item = new HashMap<>();
item.put("total_qty", "0"); item.put("total_qty", "0");
item.put("date", today.minusDays(i).format(formatter)); item.put("date", today.minusDays(i).format(formatter));
real_qty_default.add(item); real_qty_default.add(item);
} }
Map<String, BigDecimal> ghRealQtyMap = real_qty.stream() if (ObjectUtil.isNotEmpty(real_qty)) {
.collect(Collectors.toMap( Map<String, BigDecimal> ghRealQtyMap = real_qty.stream()
TaskInfo::getCreate_time, .collect(Collectors.toMap(
TaskInfo::getQty TaskInfo::getCreate_time,
)); TaskInfo::getQty
real_qty_default.forEach(tbItem -> { ));
String date = (String) tbItem.get("date"); real_qty_default.forEach(tbItem -> {
if (ghRealQtyMap.containsKey(date)) { String date = (String) tbItem.get("date");
tbItem.put("total_qty", ghRealQtyMap.get(date)); if (ghRealQtyMap.containsKey(date)) {
} tbItem.put("total_qty", ghRealQtyMap.get(date));
}); }
});
}
} }

View File

@@ -53,7 +53,7 @@
p.`code` as task_type, p.`code` as task_type,
d.vehicle_code, d.vehicle_code,
m.material_name, m.material_name,
m.material_code, m.material_spec,
d.qty, d.qty,
d.assign_qty, d.assign_qty,
m.single_weight, m.single_weight,