consum-base/src/main/java/com/consum/base/core/CheckWarehouseParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
consum-base/src/main/java/com/consum/base/core/CheckWarehouseResult.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
consum-base/src/main/java/com/consum/base/core/WarehouseBusinessService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
consum-base/src/main/java/com/consum/base/core/WarehouseCoreService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
consum-base/src/main/java/com/consum/base/core/tools/SqlParameter.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
consum-base/src/main/java/com/consum/base/core/tools/SuperMap.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
consum-base/src/main/java/com/consum/base/core/CheckWarehouseParam.java
@@ -36,6 +36,12 @@ /** * 首次入库批次号,数据库字段 * 采购入库时,采购单型号【WH_FORM_PROCURE_MODEL】.ID */ private String firstInputCode; /** * 收入入库类型,1=采购入库;2=零星入库 */ private int first_input_type; } 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; /** * 执行操作时的期初数量 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); } } /** 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(); 这个值在业务代码层面添加 // goods.setFirstInputHisId();这个值在业务代码层面添加 goods.setWarehouseId(param.getWarehouseId()); goods.setWarehouseName(warehouse.getWarehouseName()); } return new CheckWarehouseResult(); } 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); } } consum-base/src/main/java/com/consum/base/core/tools/SuperMap.java
New file @@ -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); } }