rev: 成品日报、发货区监控

This commit is contained in:
2024-01-12 13:45:20 +08:00
parent 99fbb6494b
commit 8a864c7212
2 changed files with 47 additions and 15 deletions

View File

@@ -361,11 +361,17 @@ public class StructattrServiceImpl implements StructattrService {
// 获取信息 1蓝色空载具 2黄色木箱 3绿色空位 4灰色禁用
// 计算子卷净重
JSONObject json = pointMap.get(struct_id);
if (ObjectUtil.isNotEmpty(json.getString("net_weight"))) {
BigDecimal container_weight = array.stream().map(row -> ((JSONObject) row).getBigDecimal("net_weight")).reduce(BigDecimal.ZERO, BigDecimal::add);
for (int j = 0; j < array.size(); j++) {
JSONObject jsonObject = array.getJSONObject(j);
List<JSONObject> pointList = array.toJavaList(JSONObject.class).stream()
.filter(row -> row.getString("point_id").equals(struct_id))
.collect(Collectors.toList());
if (ObjectUtil.isNotEmpty(json.getString("net_weight"))) {
BigDecimal container_weight = pointList.stream().map(row -> row.getBigDecimal("net_weight")).reduce(BigDecimal.ZERO, BigDecimal::add);
for (int j = 0; j < pointList.size(); j++) {
JSONObject jsonObject = pointList.get(j);
jsonObject.put("container_weight", container_weight);
}
}
@@ -377,7 +383,7 @@ public class StructattrServiceImpl implements StructattrService {
}
// 剩余层数货位信息没统计统计可以用obj.put(key, value)返给前端前端在initStatus()就可以遍历去获取,给节点赋值
obj.put("data", array);
obj.put("data", pointList);
obj.put("struct_status", struct_status);
obj.put("struct_id", strInfo.getString("point_id"));
obj.put("struct_code", strInfo.getString("point_code"));
@@ -417,7 +423,7 @@ public class StructattrServiceImpl implements StructattrService {
JSONObject item = (JSONObject) o;
m.put(item.getString("point_id"), item);
}, HashMap::putAll);
int unMoney = 0;
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject obj = new JSONObject();
JSONObject js = jsonArray.getJSONObject(i);
@@ -430,11 +436,17 @@ public class StructattrServiceImpl implements StructattrService {
// 获取信息 1蓝色空载具 2黄色木箱 3绿色空位 4灰色禁用
// 计算子卷净重
JSONObject json = pointMap.get(struct_id);
if (ObjectUtil.isNotEmpty(json.getString("net_weight"))) {
BigDecimal container_weight = array.stream().map(row -> ((JSONObject) row).getBigDecimal("net_weight")).reduce(BigDecimal.ZERO, BigDecimal::add);
for (int j = 0; j < array.size(); j++) {
JSONObject jsonObject = array.getJSONObject(j);
List<JSONObject> pointList = array.toJavaList(JSONObject.class).stream()
.filter(row -> row.getString("point_id").equals(struct_id))
.collect(Collectors.toList());
if (ObjectUtil.isNotEmpty(json.getString("net_weight"))) {
BigDecimal container_weight = pointList.stream().map(row -> row.getBigDecimal("net_weight")).reduce(BigDecimal.ZERO, BigDecimal::add);
for (int j = 0; j < pointList.size(); j++) {
JSONObject jsonObject = pointList.get(j);
jsonObject.put("container_weight", container_weight);
}
}
@@ -442,19 +454,18 @@ public class StructattrServiceImpl implements StructattrService {
JSONObject strInfo = attrMap.get(struct_id);
if (strInfo !=null && ObjectUtil.isEmpty(strInfo.getString("vehicle_code"))) {
// 空位
unMoney++;
struct_status = 3;
}
// 剩余层数货位信息没统计统计可以用obj.put(key, value)返给前端前端在initStatus()就可以遍历去获取,给节点赋值
obj.put("data", array);
obj.put("data", pointList);
obj.put("struct_status", struct_status);
obj.put("struct_id", strInfo.getString("point_id"));
obj.put("struct_code", strInfo.getString("point_code"));
obj.put("id", js.getString("id")); // 设备不存在就只保留id方便前端查看
arr.add(obj);
}
return MapOf.of("data",arr,"haveMoney",arr.size()-unMoney,"unMoney",unMoney);
return null;
}
@Override

View File

@@ -47,6 +47,8 @@
FROM
st_ivt_structivt ivt
LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code
AND ivt.pcsn = sub.container_name
WHERE
ivt.canuse_qty > '0'
@@ -64,7 +66,8 @@
FROM
st_ivt_structivt ivt
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = ivt.struct_id
LEFT JOIN pdm_bi_subpackagerelation sub ON ivt.pcsn = sub.container_name
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code
AND ivt.pcsn = sub.container_name
WHERE
DATEDIFF( NOW(), sub.date_of_production ) > SUBSTRING_INDEX(sub.quality_guaran_period,'天',1)
AND ivt.canuse_qty > '0'
@@ -89,9 +92,27 @@
DATEDIFF( NOW(), sub.date_of_production ) > '60'
AND DATEDIFF( NOW(), sub.date_of_production ) <= '90'
AND ivt.canuse_qty > '0'
AND SUBSTRING_INDEX(sub.quality_guaran_period,'天',1) = '90'
GROUP BY attr.stor_id
UNION
SELECT
SUM( ivt.canuse_qty ) / 1000 AS num,
attr.stor_id
FROM
st_ivt_structivt ivt
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = ivt.struct_id
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code
AND ivt.pcsn = sub.container_name
WHERE
DATEDIFF( NOW(), sub.date_of_production ) > '90'
AND DATEDIFF( NOW(), sub.date_of_production ) <= '180'
AND ivt.canuse_qty > '0'
AND SUBSTRING_INDEX(sub.quality_guaran_period,'天',1) = '180'
GROUP BY attr.stor_id
ENDSELECT
ENDQUERY
ENDIF
@@ -107,7 +128,7 @@
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code
AND ivt.pcsn = sub.container_name
WHERE
DATEDIFF( NOW(), sub.date_of_production ) <= '90'
DATEDIFF( NOW(), sub.date_of_production ) <= SUBSTRING_INDEX(sub.quality_guaran_period,'天',1)
AND ivt.canuse_qty > '0'
GROUP BY attr.stor_id