rev:仓位自动预警根据百分比进行预警

This commit is contained in:
2024-05-07 13:56:45 +08:00
parent 1b9d943c1e
commit 963e729f73

View File

@@ -48,17 +48,12 @@ public class AutoQueryStructattrNum {
List<JSONObject> haveList = WQL.getWO("AUTO002").addParam("flag", "2") List<JSONObject> haveList = WQL.getWO("AUTO002").addParam("flag", "2")
.process().getResultJSONArray(0).toJavaList(JSONObject.class); .process().getResultJSONArray(0).toJavaList(JSONObject.class);
// 获取系统参数
String download_attr_num = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("download_attr_num").getValue();
// 需要插入的集合 // 需要插入的集合
List<SysNotice> daoList = new ArrayList<>(); List<SysNotice> daoList = new ArrayList<>();
for (int i = 0; i < empList.size(); i++) { for (int i = 0; i < empList.size(); i++) {
JSONObject json = empList.get(i); JSONObject json = empList.get(i);
if (json.getDoubleValue("num") <= Double.parseDouble(download_attr_num)) {
// 已用仓位 // 已用仓位
double aDouble = haveList.stream() double aDouble = haveList.stream()
.filter(row -> row.getString("layer_num").equals(json.getString("layer_num"))) .filter(row -> row.getString("layer_num").equals(json.getString("layer_num")))
@@ -74,8 +69,10 @@ public class AutoQueryStructattrNum {
// 有货占比 // 有货占比
double have_pro = NumberUtil.round(NumberUtil.div(aDouble, add) * 100, 2).doubleValue(); double have_pro = NumberUtil.round(NumberUtil.div(aDouble, add) * 100, 2).doubleValue();
// 有货占比大于70%则报警
if (have_pro >= 70) {
// 内容 // 内容
String notice_title = "立库"+json.getString("layer_num")+ "层主存区仓位不足"+download_attr_num+"!可用仓位:" String notice_title = "立库" + json.getString("layer_num") + "层主存区可用仓位不足30%!可用仓位:"
+ json.getString("num") + "个 占比:" + emp_pro + "% ,已用仓位:" + NumberUtil.round(aDouble, 0) + "个 占比:" + have_pro + "%"; + json.getString("num") + "个 占比:" + emp_pro + "% ,已用仓位:" + NumberUtil.round(aDouble, 0) + "个 占比:" + have_pro + "%";
SysNotice dao = SysNotice.builder() SysNotice dao = SysNotice.builder()