From 21f14947f2a3d3e5a034f383cd1c87e7d42dbc8d Mon Sep 17 00:00:00 2001
From: 杨凯 <398860375@qq.com>
Date: 星期三, 18 十月 2023 13:57:16 +0800
Subject: [PATCH] 库存预警,定时任务调用服务
---
consum-base/doc/项目资料/河南邮政低值易耗品V20231011.pdm | 48 ++++++-----
consum-base/src/main/java/com/consum/base/core/tools/SuperMap.java | 9 ++
consum-base/src/main/java/com/consum/base/core/tools/SqlParameter.java | 4 +
consum-base/doc/项目资料/河南邮政低值易耗品V20231011.pdb | 14 ++-
consum-base/src/main/java/com/consum/base/core/WarehouseBusinessService.java | 110 +++++++++++++++++++++++++++
5 files changed, 158 insertions(+), 27 deletions(-)
diff --git "a/consum-base/doc/\351\241\271\347\233\256\350\265\204\346\226\231/\346\262\263\345\215\227\351\202\256\346\224\277\344\275\216\345\200\274\346\230\223\350\200\227\345\223\201V20231011.pdb" "b/consum-base/doc/\351\241\271\347\233\256\350\265\204\346\226\231/\346\262\263\345\215\227\351\202\256\346\224\277\344\275\216\345\200\274\346\230\223\350\200\227\345\223\201V20231011.pdb"
index 2e63bc4..c510ce2 100644
--- "a/consum-base/doc/\351\241\271\347\233\256\350\265\204\346\226\231/\346\262\263\345\215\227\351\202\256\346\224\277\344\275\216\345\200\274\346\230\223\350\200\227\345\223\201V20231011.pdb"
+++ "b/consum-base/doc/\351\241\271\347\233\256\350\265\204\346\226\231/\346\262\263\345\215\227\351\202\256\346\224\277\344\275\216\345\200\274\346\230\223\350\200\227\345\223\201V20231011.pdb"
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<?PowerDesigner AppLocale="UTF16" ID="{88086B01-C9E1-11D4-9552-0090277716A9}" Label="" LastModificationDate="1697596745" Name="Physical Data Model 1" Objects="923" Symbols="95" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.7.4.6866"?>
+<?PowerDesigner AppLocale="UTF16" ID="{88086B01-C9E1-11D4-9552-0090277716A9}" Label="" LastModificationDate="1697596745" Name="Physical Data Model 1" Objects="934" Symbols="95" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.7.4.6866"?>
<!-- do not edit this file -->
<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@@ -12342,9 +12342,11 @@
<a:Code>RECEIVER_NAME</a:Code>
<a:CreationDate>1697268752</a:CreationDate>
<a:Creator>39886</a:Creator>
-<a:ModificationDate>1697268860</a:ModificationDate>
-<a:Modifier>39886</a:Modifier>
+<a:ModificationDate>1697604044</a:ModificationDate>
+<a:Modifier>Administrator</a:Modifier>
<a:Comment>棰嗙敤浜哄鍚�</a:Comment>
+<a:DataType>varchar(100)</a:DataType>
+<a:Length>100</a:Length>
<a:GlobalObjectID/>
</o:Column>
<o:Column Id="o606">
@@ -12353,9 +12355,11 @@
<a:Code>RECEIVER_PHONE</a:Code>
<a:CreationDate>1697268752</a:CreationDate>
<a:Creator>39886</a:Creator>
-<a:ModificationDate>1697268860</a:ModificationDate>
-<a:Modifier>39886</a:Modifier>
+<a:ModificationDate>1697604044</a:ModificationDate>
+<a:Modifier>Administrator</a:Modifier>
<a:Comment>棰嗙敤浜虹數璇�</a:Comment>
+<a:DataType>varchar(30)</a:DataType>
+<a:Length>30</a:Length>
<a:GlobalObjectID/>
</o:Column>
<o:Column Id="o607">
diff --git "a/consum-base/doc/\351\241\271\347\233\256\350\265\204\346\226\231/\346\262\263\345\215\227\351\202\256\346\224\277\344\275\216\345\200\274\346\230\223\350\200\227\345\223\201V20231011.pdm" "b/consum-base/doc/\351\241\271\347\233\256\350\265\204\346\226\231/\346\262\263\345\215\227\351\202\256\346\224\277\344\275\216\345\200\274\346\230\223\350\200\227\345\223\201V20231011.pdm"
index ed19f1d..238ad9f 100644
--- "a/consum-base/doc/\351\241\271\347\233\256\350\265\204\346\226\231/\346\262\263\345\215\227\351\202\256\346\224\277\344\275\216\345\200\274\346\230\223\350\200\227\345\223\201V20231011.pdm"
+++ "b/consum-base/doc/\351\241\271\347\233\256\350\265\204\346\226\231/\346\262\263\345\215\227\351\202\256\346\224\277\344\275\216\345\200\274\346\230\223\350\200\227\345\223\201V20231011.pdm"
@@ -10918,9 +10918,9 @@
</o:ReferenceSymbol>
<o:ReferenceSymbol Id="o497">
<a:CreationDate>1697006177</a:CreationDate>
-<a:ModificationDate>1697270366</a:ModificationDate>
-<a:Rect>((19559,-48259), (37401,-34585))</a:Rect>
-<a:ListOfPoints>((37001,-34985),(37001,-47634),(19959,-47634))</a:ListOfPoints>
+<a:ModificationDate>1697604165</a:ModificationDate>
+<a:Rect>((5181,-34034), (13693,-32784))</a:Rect>
+<a:ListOfPoints>((13293,-33409),(5581,-33409))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
<a:LineColor>12615680</a:LineColor>
@@ -10962,9 +10962,9 @@
</o:ReferenceSymbol>
<o:ReferenceSymbol Id="o505">
<a:CreationDate>1696642937</a:CreationDate>
-<a:ModificationDate>1697270063</a:ModificationDate>
-<a:Rect>((9968,-38135), (11218,-32096))</a:Rect>
-<a:ListOfPoints>((10593,-32496),(10593,-37735))</a:ListOfPoints>
+<a:ModificationDate>1697604164</a:ModificationDate>
+<a:Rect>((5181,-43333), (14927,-42083))</a:Rect>
+<a:ListOfPoints>((14527,-42708),(5581,-42708))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
<a:LineColor>12615680</a:LineColor>
@@ -11028,9 +11028,9 @@
</o:ReferenceSymbol>
<o:ReferenceSymbol Id="o515">
<a:CreationDate>1696856666</a:CreationDate>
-<a:ModificationDate>1697270366</a:ModificationDate>
-<a:Rect>((18001,-25045), (24765,-23795))</a:Rect>
-<a:ListOfPoints>((24365,-24420),(18401,-24420))</a:ListOfPoints>
+<a:ModificationDate>1697604165</a:ModificationDate>
+<a:Rect>((25488,-40073), (26738,-34507))</a:Rect>
+<a:ListOfPoints>((26113,-34907),(26113,-39673))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
<a:LineColor>12615680</a:LineColor>
@@ -11182,9 +11182,9 @@
</o:ReferenceSymbol>
<o:ReferenceSymbol Id="o535">
<a:CreationDate>1697090252</a:CreationDate>
-<a:ModificationDate>1697596448</a:ModificationDate>
-<a:Rect>((49237,-41976), (65630,-26861))</a:Rect>
-<a:ListOfPoints>((65230,-41576),(65230,-27486),(49637,-27486))</a:ListOfPoints>
+<a:ModificationDate>1697604165</a:ModificationDate>
+<a:Rect>((38165,-41976), (65630,-26783))</a:Rect>
+<a:ListOfPoints>((65230,-41576),(65230,-27408),(38565,-27408))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
<a:LineColor>12615680</a:LineColor>
@@ -11279,9 +11279,9 @@
</o:TableSymbol>
<o:TableSymbol Id="o499">
<a:CreationDate>1696642937</a:CreationDate>
-<a:ModificationDate>1697269960</a:ModificationDate>
+<a:ModificationDate>1697604163</a:ModificationDate>
<a:IconMode>-1</a:IconMode>
-<a:Rect>((987,-57533), (19959,-37735))</a:Rect>
+<a:Rect>((-13391,-43308), (5581,-23510))</a:Rect>
<a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor>
@@ -11304,9 +11304,9 @@
</o:TableSymbol>
<o:TableSymbol Id="o506">
<a:CreationDate>1696642937</a:CreationDate>
-<a:ModificationDate>1697270063</a:ModificationDate>
+<a:ModificationDate>1697604164</a:ModificationDate>
<a:IconMode>-1</a:IconMode>
-<a:Rect>((-4771,-32496), (18401,-16298))</a:Rect>
+<a:Rect>((14527,-55871), (37699,-39673))</a:Rect>
<a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor>
@@ -11429,9 +11429,9 @@
</o:TableSymbol>
<o:TableSymbol Id="o498">
<a:CreationDate>1696856513</a:CreationDate>
-<a:ModificationDate>1697270366</a:ModificationDate>
+<a:ModificationDate>1697604165</a:ModificationDate>
<a:IconMode>-1</a:IconMode>
-<a:Rect>((24365,-34985), (49637,-19987))</a:Rect>
+<a:Rect>((13293,-34907), (38565,-19909))</a:Rect>
<a:LineColor>12615680</a:LineColor>
<a:FillColor>12615935</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor>
@@ -12342,9 +12342,11 @@
<a:Code>RECEIVER_NAME</a:Code>
<a:CreationDate>1697268752</a:CreationDate>
<a:Creator>39886</a:Creator>
-<a:ModificationDate>1697268860</a:ModificationDate>
-<a:Modifier>39886</a:Modifier>
+<a:ModificationDate>1697604044</a:ModificationDate>
+<a:Modifier>Administrator</a:Modifier>
<a:Comment>棰嗙敤浜哄鍚�</a:Comment>
+<a:DataType>varchar(100)</a:DataType>
+<a:Length>100</a:Length>
<a:GlobalObjectID/>
</o:Column>
<o:Column Id="o606">
@@ -12353,9 +12355,11 @@
<a:Code>RECEIVER_PHONE</a:Code>
<a:CreationDate>1697268752</a:CreationDate>
<a:Creator>39886</a:Creator>
-<a:ModificationDate>1697268860</a:ModificationDate>
-<a:Modifier>39886</a:Modifier>
+<a:ModificationDate>1697604044</a:ModificationDate>
+<a:Modifier>Administrator</a:Modifier>
<a:Comment>棰嗙敤浜虹數璇�</a:Comment>
+<a:DataType>varchar(30)</a:DataType>
+<a:Length>30</a:Length>
<a:GlobalObjectID/>
</o:Column>
<o:Column Id="o607">
diff --git a/consum-base/src/main/java/com/consum/base/core/WarehouseBusinessService.java b/consum-base/src/main/java/com/consum/base/core/WarehouseBusinessService.java
index e75b036..6d07897 100644
--- a/consum-base/src/main/java/com/consum/base/core/WarehouseBusinessService.java
+++ b/consum-base/src/main/java/com/consum/base/core/WarehouseBusinessService.java
@@ -1,7 +1,10 @@
package com.consum.base.core;
import com.consum.base.core.tools.SqlParameter;
+import com.consum.base.core.tools.SuperMap;
+import com.consum.base.core.util.DateUtil;
import com.consum.model.po.*;
+import com.fasterxml.jackson.databind.ser.std.ObjectArraySerializer;
import com.walker.infrastructure.utils.NumberGenerator;
import com.walker.jdbc.service.BaseServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
@@ -9,6 +12,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
/**
* 杩涘嚭搴� 涓氬姟澶� 绫�
@@ -455,4 +459,110 @@
insert(model);
}
}
+
+ /**
+ * 缁熶竴澶勭悊搴撳瓨棰勮锛堝畾鏃朵换鍔¤皟鐢ㄦ湇鍔★級
+ * 璁″垝锛氭瘡澶╀腑鍗�13锛�00銆佹櫄涓�1:00鎵ц涓ゆ
+ */
+ public void insertWarning(){
+
+ String sql = "SELECT\n" +
+ " SUM(b.WH_COUNT) AS WH_COUNT,\n" +
+ " b.BASE_GOODS_TEMPLATE_ID,\n" +
+ " b.GOODS_TEMPLATE_NAME,\n" +
+ " b.WAREHOUSE_ID,\n" +
+ " a.UPPER_LIMIT,\n" +
+ " a.LOWER_LIMIT \n" +
+ "FROM\n" +
+ " WH_WARNING_CONFIG a\n" +
+ " LEFT JOIN wh_goods b ON a.BASE_GOODS_TEMPLATE_ID = b.BASE_GOODS_TEMPLATE_ID \n" +
+ "WHERE\n" +
+ " a.BASE_WAREHOUSE_ID = b.WAREHOUSE_ID \n" +
+ " AND b.STATES = 1 \n" +
+ " AND a.GOODS_TYPE=1\n" +
+ " AND ( a.UPPER_LIMIT <= WH_COUNT OR a.LOWER_LIMIT >= WH_COUNT ) \n" +
+ "GROUP BY\n" +
+ " b.BASE_GOODS_TEMPLATE_ID,\n" +
+ " b.GOODS_TEMPLATE_NAME,\n" +
+ " b.WAREHOUSE_ID,\n" +
+ " a.UPPER_LIMIT,\n" +
+ " a.LOWER_LIMIT";
+
+ List<Map> goodslist = select(sql,new SqlParameter());
+
+ sql = "SELECT\n" +
+ " SUM(b.WH_COUNT) AS WH_COUNT,\n" +
+ " b.BASE_GOODS_TEMPLATE_ID,\n" +
+ " b.GOODS_TEMPLATE_NAME,\n" +
+ " b.BASE_GOODS_MODELS_ID,\n" +
+ " b.BASE_GOODS_MODELS_NAME,\n" +
+ " b.WAREHOUSE_ID,\n" +
+ " a.UPPER_LIMIT,\n" +
+ " a.LOWER_LIMIT \n" +
+ "FROM\n" +
+ " WH_WARNING_CONFIG a\n" +
+ " LEFT JOIN wh_goods b ON a.BASE_GOODS_MODELS_ID = b.BASE_GOODS_MODELS_ID \n" +
+ "WHERE\n" +
+ " a.BASE_WAREHOUSE_ID = b.WAREHOUSE_ID \n" +
+ " AND b.STATES = 1 \n" +
+ " AND a.GOODS_TYPE=2\n" +
+ " AND ( a.UPPER_LIMIT <= WH_COUNT OR a.LOWER_LIMIT >= WH_COUNT ) \n" +
+ "GROUP BY\n" +
+ " b.BASE_GOODS_TEMPLATE_ID,\n" +
+ " b.GOODS_TEMPLATE_NAME,\n" +
+ " b.BASE_GOODS_MODELS_ID,\n" +
+ " b.BASE_GOODS_MODELS_NAME,\n" +
+ " b.WAREHOUSE_ID,\n" +
+ " a.UPPER_LIMIT,\n" +
+ " a.LOWER_LIMIT";
+
+ List<Map> modeslist = select(sql,new SqlParameter());
+
+ List<Map> list = new ArrayList<>();
+ list.addAll(goodslist);
+ list.addAll(modeslist);
+
+ List<WhWarning> warningList = new ArrayList<>();
+ for (Map map : list) {
+ SuperMap superMap = new SuperMap(map);
+ BaseWarehouse warehouse = get(new BaseWarehouse(),"ID=?",new Object[]{superMap.get("WAREHOUSE_ID")});
+
+ WhWarning warning = new WhWarning();
+ warning.setId(NumberGenerator.getLongSequenceNumber());
+ warning.setBaseWarehouseId(warehouse.getId());
+ warning.setBaseWarehouseName(warehouse.getWarehouseName());
+ warning.setBaseGoodsTemplateId(superMap.getLong("BASE_GOODS_TEMPLATE_ID"));
+ warning.setBaseGoodsTemplateName(superMap.getString("GOODS_TEMPLATE_NAME"));
+ if (superMap.getString("BASE_GOODS_MODELS_ID") == null){
+ warning.setGoodsType(1);
+ } else {
+ warning.setBaseGoodsModelsId(superMap.getLong("BASE_GOODS_MODELS_ID"));
+ warning.setBaseGoodsModelsName(superMap.getString("BASE_GOODS_MODELS_NAME"));
+ warning.setGoodsType(2);
+ }
+
+ int whCount = superMap.getInteger("WH_COUNT");
+ int upCount = superMap.getInteger("UPPER_LIMIT");
+ int lowCount = superMap.getInteger("LOWER_LIMIT");
+
+ if (whCount >= upCount){
+ warning.setWarningType(1);
+ }
+ if (whCount<=lowCount){
+ warning.setWarningType(2);
+ }
+
+ warning.setUpperLimit(upCount);
+ warning.setLowerLimit(lowCount);
+ warning.setWarehouseCount(whCount);
+ warning.setStates(1);
+ warning.setWarningTime(DateUtil.getCurrentDateFor14());
+ warning.setAgencyId(warehouse.getAgencyId());
+ warning.setAgencyName(warehouse.getAgencyName());
+
+ warningList.add(warning);
+ }
+
+ insertBatch(warningList);
+ }
}
diff --git a/consum-base/src/main/java/com/consum/base/core/tools/SqlParameter.java b/consum-base/src/main/java/com/consum/base/core/tools/SqlParameter.java
index 39c58ef..20dbe89 100644
--- a/consum-base/src/main/java/com/consum/base/core/tools/SqlParameter.java
+++ b/consum-base/src/main/java/com/consum/base/core/tools/SqlParameter.java
@@ -9,6 +9,10 @@
super();
}
+ public SqlParameter(String key,Object value){
+ super.put(key,value);
+ }
+
public SqlParameter put(String key,Object value){
super.put(key,value);
return this;
diff --git a/consum-base/src/main/java/com/consum/base/core/tools/SuperMap.java b/consum-base/src/main/java/com/consum/base/core/tools/SuperMap.java
index 02fe547..edef8f2 100644
--- a/consum-base/src/main/java/com/consum/base/core/tools/SuperMap.java
+++ b/consum-base/src/main/java/com/consum/base/core/tools/SuperMap.java
@@ -7,6 +7,10 @@
public class SuperMap extends HashMap {
+ public SuperMap(Map map){
+ super(map);
+ }
+
public SuperMap putMap(Map map){
super.putAll(map);
return this;
@@ -23,6 +27,11 @@
return value == null ? null : Long.valueOf(value);
}
+ public Integer getInteger(String key){
+ String value = getString(key);
+ return value == null ? null : Integer.valueOf(value);
+ }
+
}
--
Gitblit v1.9.1