rev: 成品日报、发货区监控
This commit is contained in:
@@ -361,11 +361,17 @@ public class StructattrServiceImpl implements StructattrService {
|
|||||||
// 获取信息 1蓝色空载具 2黄色木箱 3绿色空位 4灰色禁用
|
// 获取信息 1蓝色空载具 2黄色木箱 3绿色空位 4灰色禁用
|
||||||
// 计算子卷净重
|
// 计算子卷净重
|
||||||
JSONObject json = pointMap.get(struct_id);
|
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++) {
|
List<JSONObject> pointList = array.toJavaList(JSONObject.class).stream()
|
||||||
JSONObject jsonObject = array.getJSONObject(j);
|
.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);
|
jsonObject.put("container_weight", container_weight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -377,7 +383,7 @@ public class StructattrServiceImpl implements StructattrService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 剩余层数货位信息没统计,统计可以用obj.put(key, value)返给前端,前端在initStatus()就可以遍历去获取,给节点赋值
|
// 剩余层数货位信息没统计,统计可以用obj.put(key, value)返给前端,前端在initStatus()就可以遍历去获取,给节点赋值
|
||||||
obj.put("data", array);
|
obj.put("data", pointList);
|
||||||
obj.put("struct_status", struct_status);
|
obj.put("struct_status", struct_status);
|
||||||
obj.put("struct_id", strInfo.getString("point_id"));
|
obj.put("struct_id", strInfo.getString("point_id"));
|
||||||
obj.put("struct_code", strInfo.getString("point_code"));
|
obj.put("struct_code", strInfo.getString("point_code"));
|
||||||
@@ -417,7 +423,7 @@ public class StructattrServiceImpl implements StructattrService {
|
|||||||
JSONObject item = (JSONObject) o;
|
JSONObject item = (JSONObject) o;
|
||||||
m.put(item.getString("point_id"), item);
|
m.put(item.getString("point_id"), item);
|
||||||
}, HashMap::putAll);
|
}, HashMap::putAll);
|
||||||
int unMoney = 0;
|
|
||||||
for (int i = 0; i < jsonArray.size(); i++) {
|
for (int i = 0; i < jsonArray.size(); i++) {
|
||||||
JSONObject obj = new JSONObject();
|
JSONObject obj = new JSONObject();
|
||||||
JSONObject js = jsonArray.getJSONObject(i);
|
JSONObject js = jsonArray.getJSONObject(i);
|
||||||
@@ -430,11 +436,17 @@ public class StructattrServiceImpl implements StructattrService {
|
|||||||
// 获取信息 1蓝色空载具 2黄色木箱 3绿色空位 4灰色禁用
|
// 获取信息 1蓝色空载具 2黄色木箱 3绿色空位 4灰色禁用
|
||||||
// 计算子卷净重
|
// 计算子卷净重
|
||||||
JSONObject json = pointMap.get(struct_id);
|
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++) {
|
List<JSONObject> pointList = array.toJavaList(JSONObject.class).stream()
|
||||||
JSONObject jsonObject = array.getJSONObject(j);
|
.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);
|
jsonObject.put("container_weight", container_weight);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -442,19 +454,18 @@ public class StructattrServiceImpl implements StructattrService {
|
|||||||
JSONObject strInfo = attrMap.get(struct_id);
|
JSONObject strInfo = attrMap.get(struct_id);
|
||||||
if (strInfo !=null && ObjectUtil.isEmpty(strInfo.getString("vehicle_code"))) {
|
if (strInfo !=null && ObjectUtil.isEmpty(strInfo.getString("vehicle_code"))) {
|
||||||
// 空位
|
// 空位
|
||||||
unMoney++;
|
|
||||||
struct_status = 3;
|
struct_status = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 剩余层数货位信息没统计,统计可以用obj.put(key, value)返给前端,前端在initStatus()就可以遍历去获取,给节点赋值
|
// 剩余层数货位信息没统计,统计可以用obj.put(key, value)返给前端,前端在initStatus()就可以遍历去获取,给节点赋值
|
||||||
obj.put("data", array);
|
obj.put("data", pointList);
|
||||||
obj.put("struct_status", struct_status);
|
obj.put("struct_status", struct_status);
|
||||||
obj.put("struct_id", strInfo.getString("point_id"));
|
obj.put("struct_id", strInfo.getString("point_id"));
|
||||||
obj.put("struct_code", strInfo.getString("point_code"));
|
obj.put("struct_code", strInfo.getString("point_code"));
|
||||||
obj.put("id", js.getString("id")); // 设备不存在就只保留id,方便前端查看
|
obj.put("id", js.getString("id")); // 设备不存在就只保留id,方便前端查看
|
||||||
arr.add(obj);
|
arr.add(obj);
|
||||||
}
|
}
|
||||||
return MapOf.of("data",arr,"haveMoney",arr.size()-unMoney,"unMoney",unMoney);
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -47,6 +47,8 @@
|
|||||||
FROM
|
FROM
|
||||||
st_ivt_structivt ivt
|
st_ivt_structivt ivt
|
||||||
LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
|
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
|
WHERE
|
||||||
ivt.canuse_qty > '0'
|
ivt.canuse_qty > '0'
|
||||||
|
|
||||||
@@ -64,7 +66,8 @@
|
|||||||
FROM
|
FROM
|
||||||
st_ivt_structivt ivt
|
st_ivt_structivt ivt
|
||||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = ivt.struct_id
|
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
|
WHERE
|
||||||
DATEDIFF( NOW(), sub.date_of_production ) > SUBSTRING_INDEX(sub.quality_guaran_period,'天',1)
|
DATEDIFF( NOW(), sub.date_of_production ) > SUBSTRING_INDEX(sub.quality_guaran_period,'天',1)
|
||||||
AND ivt.canuse_qty > '0'
|
AND ivt.canuse_qty > '0'
|
||||||
@@ -89,9 +92,27 @@
|
|||||||
DATEDIFF( NOW(), sub.date_of_production ) > '60'
|
DATEDIFF( NOW(), sub.date_of_production ) > '60'
|
||||||
AND DATEDIFF( NOW(), sub.date_of_production ) <= '90'
|
AND DATEDIFF( NOW(), sub.date_of_production ) <= '90'
|
||||||
AND ivt.canuse_qty > '0'
|
AND ivt.canuse_qty > '0'
|
||||||
|
AND SUBSTRING_INDEX(sub.quality_guaran_period,'天',1) = '90'
|
||||||
|
|
||||||
GROUP BY attr.stor_id
|
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
|
ENDSELECT
|
||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -107,7 +128,7 @@
|
|||||||
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code
|
LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = attr.storagevehicle_code
|
||||||
AND ivt.pcsn = sub.container_name
|
AND ivt.pcsn = sub.container_name
|
||||||
WHERE
|
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'
|
AND ivt.canuse_qty > '0'
|
||||||
|
|
||||||
GROUP BY attr.stor_id
|
GROUP BY attr.stor_id
|
||||||
|
|||||||
Reference in New Issue
Block a user