From 19df4ea6a5bfbfb7522c18fc6d0cde09ca216065 Mon Sep 17 00:00:00 2001 From: 杨凯 <398860375@qq.com> Date: 星期二, 17 十月 2023 22:06:09 +0800 Subject: [PATCH] 上传核心业务服务 --- consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java | 139 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 131 insertions(+), 8 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 7443e80..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,9 +1,15 @@ 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; /** @@ -11,20 +17,31 @@ */ @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()); + } /** * 缁熶竴鍑哄叆搴� */ - 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); } @@ -40,14 +57,120 @@ /** * 鍑哄簱 */ - 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=?",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=?",new Object[]{param.getFirstInputCode()}); + WhFormProcure procure = get(new WhFormProcure(),"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.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" + + " * \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" + + " order by PROCURE_DATE desc PRICE asc"; + 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){ + new RuntimeException("鏌ヤ笉鍒板巻鍙插簱瀛�"); + return null; + } + + for (WhGoods goods : goodsList){ + CheckWarehouseResult result = new CheckWarehouseResult(); + result.setWhGoods(goods); + result.setInitial_count(goods.getWhCount()); + result.setEnd_count(goods.getWhCount() + param.getCount()); + + 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); + + return result; + } + + + return new CheckWarehouseResult(); } -- Gitblit v1.9.1