From b3dc62c650c3760644a3f06f094db132bf2aeea6 Mon Sep 17 00:00:00 2001
From: 杨凯 <398860375@qq.com>
Date: 星期二, 17 十月 2023 18:21:42 +0800
Subject: [PATCH] 上传项目资料

---
 consum-base/src/main/java/com/consum/base/core/CheckWarehouseResult.java     |   12 ++
 consum-base/src/main/java/com/consum/base/core/tools/SuperMap.java           |   28 +++++++
 consum-base/src/main/java/com/consum/base/core/CheckWarehouseParam.java      |    6 +
 consum-base/src/main/java/com/consum/base/core/tools/SqlParameter.java       |    4 +
 consum-base/src/main/java/com/consum/base/core/WarehouseBusinessService.java |   40 ++++++++-
 consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java     |  109 +++++++++++++++++++++++++++
 6 files changed, 191 insertions(+), 8 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/core/CheckWarehouseParam.java b/consum-base/src/main/java/com/consum/base/core/CheckWarehouseParam.java
index 58fd810..b617a7d 100644
--- a/consum-base/src/main/java/com/consum/base/core/CheckWarehouseParam.java
+++ b/consum-base/src/main/java/com/consum/base/core/CheckWarehouseParam.java
@@ -36,6 +36,12 @@
 
     /**
      * 棣栨鍏ュ簱鎵规鍙凤紝鏁版嵁搴撳瓧娈�
+     * 閲囪喘鍏ュ簱鏃讹紝閲囪喘鍗曞瀷鍙枫�怶H_FORM_PROCURE_MODEL銆�.ID
      */
     private String firstInputCode;
+
+    /**
+     * 鏀跺叆鍏ュ簱绫诲瀷锛�1=閲囪喘鍏ュ簱锛�2=闆舵槦鍏ュ簱
+     */
+    private int first_input_type;
 }
diff --git a/consum-base/src/main/java/com/consum/base/core/CheckWarehouseResult.java b/consum-base/src/main/java/com/consum/base/core/CheckWarehouseResult.java
index 8ee8e72..43aa245 100644
--- a/consum-base/src/main/java/com/consum/base/core/CheckWarehouseResult.java
+++ b/consum-base/src/main/java/com/consum/base/core/CheckWarehouseResult.java
@@ -1,14 +1,24 @@
 package com.consum.base.core;
 
+import com.consum.model.po.WhGoods;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+
 /**
  * 鎵ц鍏ュ簱鍚庣殑杩斿洖绫�
  */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Slf4j
 public class CheckWarehouseResult {
 
     /**
      * 鎿嶄綔鏇存柊鎴栨柊澧炵殑WH_GOODS搴撳瓨鐗╁搧ID
      */
-    private long wh_goods_id;
+    private WhGoods goods;
 
     /**
      * 鎵ц鎿嶄綔鏃剁殑鏈熷垵鏁伴噺
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 ae212eb..f8091e5 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
@@ -3,13 +3,21 @@
 import com.consum.base.core.po.WhFormInventory;
 import com.consum.base.core.po.WhFormProcure;
 import com.consum.base.core.po.WhFormTransfer;
+import com.consum.base.core.tools.SqlParameter;
+import com.consum.base.core.tools.SuperMap;
+import com.consum.model.po.WhFormProcureModel;
+import com.walker.infrastructure.utils.NumberGenerator;
+import com.walker.jdbc.service.BaseServiceImpl;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * 杩涘嚭搴� 涓氬姟澶� 绫�
  */
 @Service
-public class WarehouseBusinessService {
+public class WarehouseBusinessService extends BaseServiceImpl {
 
 
     private WarehouseCoreService coreService;
@@ -23,12 +31,32 @@
      * @param procure
      */
     public void doProcure(WhFormProcure procure){
-        CheckWarehouseParam param = new CheckWarehouseParam();
-        param.setIsCheckIn(true);
-        param.setWarehouseId(procure.getId());
-        param.setIsCheckIn(true);
 
-        coreService.unifyCheck(param);
+        String sql = "SELECT\n" +
+                "	* \n" +
+                "FROM\n" +
+                "	WH_FORM_PROCURE_MODEL A \n" +
+                "WHERE\n" +
+                "	A.WH_FORM_PROCURE_ID = : PROCURE_ID";
+
+        List<WhFormProcureModel>  modelList = this.select(sql,new SqlParameter().put("PROCURE_ID",procure.getId()),new WhFormProcureModel());
+
+        for (WhFormProcureModel model : modelList){
+            CheckWarehouseParam param = new CheckWarehouseParam();
+            param.setIsCheckIn(true);
+            param.setWarehouseId(procure.getId());
+            param.setCount(model.getCounts());
+            param.setFirstInputCode(model.getId().toString());
+            param.setFirst_input_type(1);
+            param.setModelId(model.getBaseGoodsModelsId());
+            CheckWarehouseResult result =  coreService.unifyCheck(param);
+
+
+
+        }
+
+
+
     }
 
     /**
diff --git a/consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java b/consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java
index 7443e80..e21dd52 100644
--- a/consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java
@@ -1,9 +1,15 @@
 package com.consum.base.core;
 
+import com.consum.base.core.tools.SqlParameter;
+import com.consum.model.po.*;
+import com.walker.infrastructure.utils.NumberGenerator;
+import com.walker.jdbc.service.BaseServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
+
+import java.util.List;
 
 
 /**
@@ -11,7 +17,19 @@
  */
 @Service
 @Slf4j
-public class WarehouseCoreService {
+public class WarehouseCoreService extends BaseServiceImpl {
+
+
+    public static void main(String[] args) {
+        WhGoods goods = new WhGoods();
+        goods.setId(1l);
+        goods.setWarehouseId(111l);
+        goods.setSupplier("娌冲崡閲戞槑婧�");
+
+        WhGoods_mapper mapper = new WhGoods_mapper(goods);
+        System.out.println(mapper.getInsertSql_().getParameters());
+        System.out.println(mapper.getInsertSql_().getSql());
+    }
 
     /**
      * 缁熶竴鍑哄叆搴�
@@ -44,10 +62,99 @@
         return new CheckWarehouseResult();
     }
 
+    private BaseWarehouse getWarehouse(long id){
+        BaseWarehouse w =  get(new BaseWarehouse(),"ID=:ID",new Object[]{id});
+        return w;
+    }
+
     /**
      * 鍏ュ簱
      */
     private CheckWarehouseResult checkin(CheckWarehouseParam param) {
+
+        //濡傛灉鏄噰璐叆搴�
+        if (param.getFirst_input_type() ==1){
+            WhFormProcureModel procureModel = get(new WhFormProcureModel(),"ID=:ID",new Object[]{param.getFirstInputCode()});
+            WhFormProcure procure = get(new WhFormProcure(),"ID=:ID",new Object[]{procureModel.getWhFormProcureId()});
+
+
+            WhGoods goods = new WhGoods();
+            goods.setId(NumberGenerator.getLongSequenceNumber());
+            goods.setBaseGoodsTemplateId(procureModel.getBaseGoodsTemplateId());
+            goods.setGoodsTemplateName(procureModel.getGoodsTemplateName());
+            goods.setBaseGoodsModelsId(procureModel.getBaseGoodsModelsId());
+            goods.setBaseGoodsModelsName(procureModel.getBaseGoodsModelsName());
+            goods.setWhCount(procureModel.getCounts());
+            goods.setTransferCount(0);
+            goods.setAllCount(procureModel.getCounts());
+            goods.setFirstInputCode(param.getFirstInputCode());
+            goods.setFirstInputType(param.getFirst_input_type());
+            goods.setFirstInputHisId(NumberGenerator.getLongSequenceNumber());
+            goods.setWarehouseId(procure.getWarehouseId());
+            goods.setWarehouseName(procure.getWarehouseName());
+            goods.setSupplier(procureModel.getSupplier());
+            goods.setUnit(procureModel.getUnit());
+            goods.setPrice(procureModel.getPrice());
+            goods.setProcureDate(procure.getIncomeTime());
+            goods.setBackDate(procure.getIncomeTime());
+            goods.setStates(1);
+            insert(goods);
+
+            CheckWarehouseResult result = new CheckWarehouseResult();
+            result.setGoods(goods);
+            result.setInitial_count(0);
+            result.setEnd_count(goods.getAllCount());
+            return result;
+        }
+
+        String sql = "SELECT\n" +
+                "	* \n" +
+                "FROM\n" +
+                "	WH_GOODS \n" +
+                "WHERE\n" +
+                "	WAREHOUSE_ID =:WAREHOUSE_ID \n" +
+                "	AND FIRST_INPUT_CODE =:FIRST_INPUT_CODE \n" +
+                "	AND BASE_GOODS_MODELS_ID =:BASE_GOODS_MODELS_ID";
+        SqlParameter parameter = new SqlParameter();
+        parameter.add("WAREHOUSE_ID",param.getWarehouseId())
+                .add("FIRST_INPUT_CODE",param.getFirstInputCode())
+                .add("BASE_GOODS_MODELS_ID",param.getModelId());
+
+        List<WhGoods> goodsList = select(sql,parameter,new WhGoods());
+
+        //绗竴娆″叆搴擄細閲囪喘鍏ュ簱鎴栬�呴浂鏄熷叆搴�
+        if (goodsList == null || goodsList.size() == 0){
+            BaseGoodsModels m = new BaseGoodsModels();
+            m.setId(param.getModelId());
+            BaseGoodsModels models = get(m);
+
+            BaseGoodsTemplate t = new BaseGoodsTemplate();
+            t.setId(models.getGoodsTemplatesId());
+            BaseGoodsTemplate template = get(t);
+
+            BaseWarehouse w = new BaseWarehouse();
+            w.setId(param.getWarehouseId());
+            BaseWarehouse warehouse = get(w);
+
+            WhGoods goods = new WhGoods();
+            goods.setId(NumberGenerator.getLongSequenceNumber());
+            goods.setBaseGoodsTemplateId(template.getId());
+            goods.setGoodsTemplateName(template.getGoodsName());
+            goods.setBaseGoodsModelsId(models.getId());
+            goods.setBaseGoodsModelsName(models.getModelName());
+            goods.setWhCount(param.getCount());
+            goods.setTransferCount(0);
+            goods.setAllCount(param.getCount());
+            goods.setFirstInputCode(param.getFirstInputCode());
+//            goods.setFirstInputType(); 杩欎釜鍊煎湪涓氬姟浠g爜灞傞潰娣诲姞
+//            goods.setFirstInputHisId();杩欎釜鍊煎湪涓氬姟浠g爜灞傞潰娣诲姞
+            goods.setWarehouseId(param.getWarehouseId());
+            goods.setWarehouseName(warehouse.getWarehouseName());
+
+        }
+
+
+
         return new CheckWarehouseResult();
     }
 
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 d22aec5..39c58ef 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
@@ -14,4 +14,8 @@
         return this;
     }
 
+    public SqlParameter add(String key,Object value){
+        return this.put(key,value);
+    }
+
 }
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
new file mode 100644
index 0000000..02fe547
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/core/tools/SuperMap.java
@@ -0,0 +1,28 @@
+package com.consum.base.core.tools;
+
+import net.bytebuddy.implementation.bind.annotation.Super;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class SuperMap extends HashMap {
+
+    public SuperMap putMap(Map map){
+        super.putAll(map);
+        return this;
+    }
+
+    public String getString(String key){
+        Object obj = this.get(key);
+        if (obj == null) return null;
+        return obj.toString();
+    }
+
+    public Long getLong(String key){
+        String value = getString(key);
+        return value == null ? null : Long.valueOf(value);
+    }
+
+
+
+}

--
Gitblit v1.9.1