diff --git a/lms/nladmin-system/pom.xml b/lms/nladmin-system/pom.xml
index e6afda030..fea41a2d3 100644
--- a/lms/nladmin-system/pom.xml
+++ b/lms/nladmin-system/pom.xml
@@ -341,7 +341,13 @@
com.alicp.jetcache
jetcache-starter-redis
- 2.5.14
+ 2.7.3
+
+
+
+ redis.clients
+ jedis
+ 4.3.1
diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/param/ISysParamService.java b/lms/nladmin-system/src/main/java/org/nl/system/service/param/ISysParamService.java
index 8a2a61a02..22046f20e 100644
--- a/lms/nladmin-system/src/main/java/org/nl/system/service/param/ISysParamService.java
+++ b/lms/nladmin-system/src/main/java/org/nl/system/service/param/ISysParamService.java
@@ -1,5 +1,8 @@
package org.nl.system.service.param;
+import com.alicp.jetcache.anno.CacheType;
+import com.alicp.jetcache.anno.CacheUpdate;
+import com.alicp.jetcache.anno.Cached;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery;
@@ -39,6 +42,7 @@ public interface ISysParamService extends IService {
*
* @param param
*/
+ @CacheUpdate(name = "paramDataCode.", key = "#param.code", value = "#param")
void update(Param param);
/**
@@ -54,5 +58,6 @@ public interface ISysParamService extends IService {
* @param code code
* @return Param
*/
+ @Cached(name = "paramDataCode.", key = "#code", expire = 3600, cacheType = CacheType.REMOTE)
Param findByCode(String code);
}
diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java
index 1ad643569..0e4ba675d 100644
--- a/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java
+++ b/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java
@@ -1,6 +1,7 @@
package org.nl.system.service.param.impl;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -40,6 +41,10 @@ public class SysParamServiceImpl extends ServiceImpl impl
@Override
public Page queryPage(Map whereJson, PageQuery page) {
QueryWrapper queryWrapper = new QueryWrapper<>();
+ String code = MapUtil.getStr(whereJson, "code");
+ if (ObjectUtil.isNotEmpty(code)) {
+ queryWrapper.likeRight("code", code).or().likeRight("name", code);
+ }
queryWrapper.orderBy(true, true, "create_time");
Page paramPage = paramMapper.selectPage(page.build(), queryWrapper);
return paramPage;
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AUTOQUERYBILLINFO.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AUTOQUERYBILLINFO.wql
index 8bbb29943..00ca3fcaa 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AUTOQUERYBILLINFO.wql
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AUTOQUERYBILLINFO.wql
@@ -15,6 +15,7 @@
#################################################
输入.flag TYPEAS s_string
输入.customer_name TYPEAS f_string
+ 输入.storIds TYPEAS f_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
@@ -966,29 +967,10 @@
ENDQUERY
ENDIF
- IF 输入.flag = "19"
- QUERY
- SELECT
- SUM( ivt.canuse_qty ) / 1000 AS num,
- sub.customer_name
- FROM
- st_ivt_structivt ivt
- LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
- INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = ivt.pcsn AND sub.package_box_sn = attr.storagevehicle_code
- WHERE
- ivt.canuse_qty > '0'
-
- GROUP BY sub.customer_name
-
- ENDSELECT
- ENDQUERY
- ENDIF
-
IF 输入.flag = "20"
QUERY
SELECT
- SUM( dis.plan_qty ) / 1000 AS num,
- sub.customer_name
+ SUM( dis.plan_qty ) / 1000 AS num
FROM
( SELECT
MIN( a.iostorinvdis_id ) AS iostorinvdis_id
@@ -1008,7 +990,6 @@
) AS a
LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = a.iostorinvdis_id
LEFT JOIN st_ivt_iostorinv mst ON dis.iostorinv_id = mst.iostorinv_id
- INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = dis.iostorinv_id
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = dis.struct_id
WHERE
@@ -1020,8 +1001,28 @@
AND CONCAT(DATE_FORMAT(NOW(), '%Y-%m-01'), ' 08:00:00') <= mst.confirm_time
AND NOW() >= mst.confirm_time
- GROUP BY sub.customer_name
+ OPTION 输入.storIds <> ""
+ mst.stor_id in 输入.storIds
+ ENDOPTION
ENDSELECT
ENDQUERY
ENDIF
+
+ IF 输入.flag = "19"
+ QUERY
+ SELECT
+ SUM( ivt.canuse_qty ) / 1000 AS num
+ FROM
+ st_ivt_structivt ivt
+ LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
+ WHERE
+ ivt.canuse_qty > '0'
+
+ OPTION 输入.storIds <> ""
+ attr.stor_id in 输入.storIds
+ ENDOPTION
+
+ ENDSELECT
+ ENDQUERY
+ ENDIF
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoQueryProudDayData.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoQueryProudDayData.java
index 0e777fbb3..d013d21f6 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoQueryProudDayData.java
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoQueryProudDayData.java
@@ -459,30 +459,69 @@ public class AutoQueryProudDayData {
String end_date = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("END_DATE").getValue();
String nowDay = DateUtil.today().substring(8, 10);
- if (end_date.equals(nowDay)) {
+ if (Double.parseDouble(end_date) <= Double.parseDouble(nowDay)) {
JSONArray Arrayobject6 = new JSONArray();
- // 当日实时库存,根据客户分组
- List todayCustIvtList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "19")
- .process().getResultJSONArray(0).toJavaList(JSONObject.class);
+ // 所有仓库
+ List storAllArr = storTab.query("is_used = '1'").getResultJSONArray(0).toJavaList(JSONObject.class);
- // 当月入库量(调拨入库:默认1-21号),根据客户分组
- List monthCustIvtList = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "20")
- .process().getResultJSONArray(0).toJavaList(JSONObject.class);
+ // B公司
+ String in_B = storAllArr.stream()
+ .filter(row -> row.getString("remark").equals("B"))
+ .map(row -> row.getString("stor_id"))
+ .collect(Collectors.joining("','"));
+
+ // C公司
+ String in_C = storAllArr.stream()
+ .filter(row -> row.getString("remark").equals("C"))
+ .map(row -> row.getString("stor_id"))
+ .collect(Collectors.joining("','"));
+
+ // B公司当前库存
+ JSONObject jsonIvtB = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "19").addParam("storIds", "('" + in_B + "')")
+ .process().uniqueResult(0);
+
+ // C公司当前库存
+ JSONObject jsonIvtC = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "19").addParam("storIds", "('" + in_C + "')")
+ .process().uniqueResult(0);
+
+ // B公司当月调拨入库
+ JSONObject monthInB = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "20").addParam("storIds", "('" + in_B + "')")
+ .process().uniqueResult(0);
+
+ // C公司当月调拨入库
+ JSONObject monthInC = WQL.getWO("AUTOQUERYBILLINFO").addParam("flag", "20").addParam("storIds", "('" + in_C + "')")
+ .process().uniqueResult(0);
// ---- B公司 ----
- JSONObject CorpB = upMonthIvt(custB, todayCustIvtList, monthCustIvtList);
+ JSONObject CorpB = upMonthIvt(jsonIvtB, monthInB);
CorpB.put("Customer1", "B库存");
Arrayobject6.add(CorpB);
// ---- C公司 ----
- JSONObject CorpC = upMonthIvt(custC, todayCustIvtList, monthCustIvtList);
+ JSONObject CorpC = upMonthIvt(jsonIvtC,monthInC);
CorpC.put("Customer1", "C库存");
Arrayobject6.add(CorpC);
result.put("Arrayobject6",Arrayobject6);
- result.put("EndDate", getEndDate());
+ } else {
+ JSONArray Arrayobject6 = new JSONArray();
+
+ // B公司
+ JSONObject CorpB = new JSONObject();
+ CorpB.put("Customer1", "B库存");
+ CorpB.put("Customerqty1", "X");
+ Arrayobject6.add(CorpB);
+
+ // C公司
+ JSONObject CorpC = new JSONObject();
+ CorpC.put("Customer1", "C库存");
+ CorpC.put("Customerqty1", "X");
+ Arrayobject6.add(CorpC);
+
+ result.put("Arrayobject6",Arrayobject6);
}
+ result.put("EndDate", getEndDate());
return result;
}
@@ -666,27 +705,16 @@ public class AutoQueryProudDayData {
/**
- * 上月库存公共方法
- * @param cust 客户
- * @param todayCustIvtList 实时库存客户分组
- * @param monthCustIvtList 当月入库量客户分组
+ *
+ * @param jsonIvtB 实施库存
+ * @param monthInB 当月调拨入库量
* @return /
*/
- public JSONObject upMonthIvt(String cust, List todayCustIvtList, List monthCustIvtList) {
+ public JSONObject upMonthIvt(JSONObject jsonIvtB,JSONObject monthInB) {
JSONObject result = new JSONObject();
- double ivtCust = todayCustIvtList.stream()
- .filter(row -> cust.contains(row.getString("customer_name")))
- .map(row -> row.getDoubleValue("num"))
- .reduce(Double::sum).orElse(0.00);
-
- double inIvtCust = monthCustIvtList.stream()
- .filter(row -> cust.contains(row.getString("customer_name")))
- .map(row -> row.getDoubleValue("num"))
- .reduce(Double::sum).orElse(0.00);
-
- double subIvt = NumberUtil.sub(ivtCust, inIvtCust);
+ double subIvt = NumberUtil.sub(jsonIvtB.getDoubleValue("num"), monthInB.getDoubleValue("num"));
result.put("Customerqty1", subIvt > 0 ? NumberUtil.round(subIvt, 2).toString() : "0");
diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_PASTIVTQUERY.wql b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_PASTIVTQUERY.wql
index 855870214..6717e81e5 100644
--- a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_PASTIVTQUERY.wql
+++ b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_PASTIVTQUERY.wql
@@ -93,6 +93,7 @@
LEFT JOIN md_cs_customerbase cust ON cust.cust_code = sub.customer_name
WHERE
1 = 1
+ and ivt.canuse_qty > 0
OPTION 输入.stor_id <> ""
attr.stor_id = 输入.stor_id
diff --git a/lms/nladmin-system/src/main/resources/config/application.yml b/lms/nladmin-system/src/main/resources/config/application.yml
index 6e0f1ccff..7050b3042 100644
--- a/lms/nladmin-system/src/main/resources/config/application.yml
+++ b/lms/nladmin-system/src/main/resources/config/application.yml
@@ -123,3 +123,23 @@ management:
health:
elasticsearch:
enabled: false #取消对elasticsearch的检查 https://www.codeleading.com/article/60643988608/
+jetcache:
+ statIntervalMinutes: 15
+ areaInCacheName: false
+ local:
+ default:
+ type: linkedhashmap
+ keyConvertor: fastjson
+ remote:
+ default:
+ type: redis
+ keyConvertor: fastjson2
+ broadcastChannel: projectA
+ valueEncoder: java
+ valueDecoder: java
+ poolConfig:
+ minIdle: 5
+ maxIdle: 20
+ maxTotal: 50
+ host: 127.0.0.1
+ port: 6379
diff --git a/lms/nladmin-ui/src/views/system/param/index.vue b/lms/nladmin-ui/src/views/system/param/index.vue
index 77bfcc751..e55a3d698 100644
--- a/lms/nladmin-ui/src/views/system/param/index.vue
+++ b/lms/nladmin-ui/src/views/system/param/index.vue
@@ -2,6 +2,27 @@