From e7c9fc40786f387f2c0d65e10294317480b0f621 Mon Sep 17 00:00:00 2001
From: 杨凯 <398860375@qq.com>
Date: 星期二, 17 十月 2023 22:05:06 +0800
Subject: [PATCH] 上传核心业务服务

---
 consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java |   94 +++++++++++++++++++++++++++-------------------
 1 files changed, 55 insertions(+), 39 deletions(-)

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 e21dd52..e321550 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,12 +1,12 @@
 package com.consum.base.core;
 
 import com.consum.base.core.tools.SqlParameter;
+import com.consum.base.core.util.DateUtil;
 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;
@@ -18,7 +18,6 @@
 @Service
 @Slf4j
 public class WarehouseCoreService extends BaseServiceImpl {
-
 
     public static void main(String[] args) {
         WhGoods goods = new WhGoods();
@@ -34,15 +33,15 @@
     /**
      * 缁熶竴鍑哄叆搴�
      */
-    public CheckWarehouseResult unifyCheck(CheckWarehouseParam param) {
+    public CheckWarehouseResult[] unifyCheck(CheckWarehouseParam param) {
         // TODO: 10/10/2023 姝ゅ鍔犱簡鍞竴閿侊紝浼氬奖鍝嶆�ц兘锛屾�濊�冩槸鍚︽湁鏇村悎閫傜殑鍔炴硶
         try {
             Assert.notNull(param, "wareHouse param can not null !");
             Assert.notNull(param.getWarehouseId(), "wareHouse id can not null");
-            CheckWarehouseResult result;
+            CheckWarehouseResult[] result;
             synchronized (param.getWarehouseId()) {
                 if (param.getIsCheckIn()) {
-                    result = checkin(param);
+                    result = new CheckWarehouseResult[]{checkin(param)};
                 } else {
                     result = checkout(param);
                 }
@@ -58,25 +57,45 @@
     /**
      * 鍑哄簱
      */
-    private CheckWarehouseResult checkout(CheckWarehouseParam param) {
-        return new CheckWarehouseResult();
+    private CheckWarehouseResult[] checkout(CheckWarehouseParam param) {
+       String sql = "SELECT\n" +
+                "	* \n" +
+                "FROM\n" +
+                "	WH_GOODS \n" +
+                "WHERE\n" +
+                "	WAREHOUSE_ID =:WAREHOUSE_ID \n" +
+                "	AND BASE_GOODS_MODELS_ID =:BASE_GOODS_MODELS_ID \n" +
+                "   AND STATES =1 \n" +
+                "   AND WH_COUNT > 0 \n" +
+                "  order by PROCURE_DATE asc PRICE DESC";
+        SqlParameter parameter = new SqlParameter();
+        parameter.add("WAREHOUSE_ID",param.getWarehouseId())
+                .add("BASE_GOODS_MODELS_ID",param.getModelId());
+        List<WhGoods> goodsList = select(sql,parameter,new WhGoods());
+
+        for (WhGoods goods : goodsList){
+
+        }
+
+
+
+        return null;
     }
 
     private BaseWarehouse getWarehouse(long id){
-        BaseWarehouse w =  get(new BaseWarehouse(),"ID=:ID",new Object[]{id});
+        BaseWarehouse w =  get(new BaseWarehouse(),"ID=?",new Object[]{id});
         return w;
     }
 
     /**
      * 鍏ュ簱
      */
-    private CheckWarehouseResult checkin(CheckWarehouseParam param) {
+    private CheckWarehouseResult checkin(CheckWarehouseParam param) throws RuntimeException {
 
         //濡傛灉鏄噰璐叆搴�
         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()});
-
+            WhFormProcureModel procureModel = get(new WhFormProcureModel(),"ID=?",new Object[]{param.getFirstInputCode()});
+            WhFormProcure procure = get(new WhFormProcure(),"ID=?",new Object[]{procureModel.getWhFormProcureId()});
 
             WhGoods goods = new WhGoods();
             goods.setId(NumberGenerator.getLongSequenceNumber());
@@ -101,10 +120,15 @@
             insert(goods);
 
             CheckWarehouseResult result = new CheckWarehouseResult();
-            result.setGoods(goods);
+            result.setWhGoods(goods);
             result.setInitial_count(0);
             result.setEnd_count(goods.getAllCount());
             return result;
+        //闆舵槦鍏ュ簱
+        } else if (param.getFirst_input_type() ==2){
+
+            return null;
+
         }
 
         String sql = "SELECT\n" +
@@ -114,7 +138,8 @@
                 "WHERE\n" +
                 "	WAREHOUSE_ID =:WAREHOUSE_ID \n" +
                 "	AND FIRST_INPUT_CODE =:FIRST_INPUT_CODE \n" +
-                "	AND BASE_GOODS_MODELS_ID =:BASE_GOODS_MODELS_ID";
+                "	AND BASE_GOODS_MODELS_ID =:BASE_GOODS_MODELS_ID" +
+                "  order by PROCURE_DATE desc PRICE asc";
         SqlParameter parameter = new SqlParameter();
         parameter.add("WAREHOUSE_ID",param.getWarehouseId())
                 .add("FIRST_INPUT_CODE",param.getFirstInputCode())
@@ -122,35 +147,26 @@
 
         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);
+           new RuntimeException("鏌ヤ笉鍒板巻鍙插簱瀛�");
+           return null;
+        }
 
-            BaseGoodsTemplate t = new BaseGoodsTemplate();
-            t.setId(models.getGoodsTemplatesId());
-            BaseGoodsTemplate template = get(t);
+        for (WhGoods goods : goodsList){
+            CheckWarehouseResult result = new CheckWarehouseResult();
+            result.setWhGoods(goods);
+            result.setInitial_count(goods.getWhCount());
+            result.setEnd_count(goods.getWhCount() + param.getCount());
 
-            BaseWarehouse w = new BaseWarehouse();
-            w.setId(param.getWarehouseId());
-            BaseWarehouse warehouse = get(w);
+            WhGoods newGoods = new WhGoods();
+            newGoods.setId(goods.getId());
+            newGoods.setWhCount(result.getEnd_count());
+            newGoods.setAllCount(goods.getAllCount() + param.getCount());
+            newGoods.setStates(1);
+            newGoods.setBackDate(DateUtil.getCurrentDateFor14());
+            this.update(newGoods);
 
-            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 result;
         }
 
 

--
Gitblit v1.9.1