From d8fb6d11aa24b77b8bbcc5740140d31f5692837d Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期四, 16 十一月 2023 16:11:05 +0800 Subject: [PATCH] feat: 调拨调整 --- consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordServiceImpl.java | 27 ---- consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java | 106 ++++++++++------- consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java | 20 +-- consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordCoreService.java | 10 + consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java | 1 consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java | 12 - consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java | 7 consum-base/src/main/java/com/consum/base/core/WhBusinessEnum.java | 12 + consum-base/src/main/java/com/consum/base/service/LGoodsWhRecordServiceImpl.java | 13 +- consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java | 50 ++++---- consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java | 21 ++- consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java | 27 +-- consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java | 44 +----- 13 files changed, 160 insertions(+), 190 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java b/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java index 27c9099..241bff7 100644 --- a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java +++ b/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java @@ -20,18 +20,14 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import org.apache.commons.compress.utils.Lists; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @Description 鐗╁搧妯℃澘 @@ -205,13 +201,12 @@ Map<String, Object> map = new HashMap<>(); map.put("categoryId", categoryId); - List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getByAgencyId(agencyId); - baseWarehouseList.forEach(baseWarehouse -> { - Integer isDefault = baseWarehouse.getIsDefault(); - if (isDefault == 1) { - map.put("warehouseId", baseWarehouse.getId()); - } - }); + List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getByAgencyId(agencyId,(short)1,(short)1); + if (CollectionUtils.isEmpty(baseWarehouseList)){ + return ResponseValue.error("鏈烘瀯鏃犻粯璁や粨搴擄紒"); + + } + map.put("warehouseId", baseWarehouseList.get(0).getId()); String sql = "SELECT DISTINCT bgt.id,bgt.GOODS_NAME FROM l_wh_goods g LEFT JOIN base_goods_template bgt ON g.BASE_GOODS_TEMPLATE_ID = bgt.id " + "WHERE WAREHOUSE_TYPE = 0 " diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java index f6bb989..e8835d4 100644 --- a/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java +++ b/consum-base/src/main/java/com/consum/base/controller/BaseWarehouseController.java @@ -7,14 +7,10 @@ import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.StringUtils; import com.walker.web.ResponseValue; -import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * @Description 浠撳簱绠$悊 @@ -139,7 +135,7 @@ // if (agencyId == null) { // return ResponseValue.error("鏈烘瀯id涓虹┖"); // } - List<BaseWarehouse> list = this.baseWarehouseService.getByAgencyId(agencyId); + List<BaseWarehouse> list = this.baseWarehouseService.getByAgencyId(agencyId,null,null); if (list == null) { return ResponseValue.error("鏌ヨ澶辫触锛�"); } diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java index 38adcd8..b3e027c 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java @@ -11,27 +11,9 @@ import com.consum.base.pojo.LWhFormProcureParam; import com.consum.base.pojo.LWhProcureModelParam; import com.consum.base.pojo.query.FormProcureQry; -import com.consum.base.pojo.response.FormProcureVO; -import com.consum.base.pojo.response.FromProcureTemplateInfoVO; -import com.consum.base.pojo.response.GoodsModelVO; -import com.consum.base.pojo.response.LWhFormProcureExtendVO; -import com.consum.base.pojo.response.LWhFormProcureGoodsVO; -import com.consum.base.service.BaseGoodsTemplateServiceImpl; -import com.consum.base.service.BaseWarehouseServiceImpl; -import com.consum.base.service.FinSysTenantServiceImpl; -import com.consum.base.service.LOrgSupplierServiceImpl; -import com.consum.base.service.LWhFormProcureCoreService; -import com.consum.base.service.LWhFormProcureGoodsService; -import com.consum.base.service.LWhFormProcureService; -import com.consum.base.service.LWhGoodsService; -import com.consum.base.service.LWhProcureModelService; -import com.consum.model.po.BaseGoodsTemplate; -import com.consum.model.po.BaseWarehouse; -import com.consum.model.po.FinSysTenantUser; -import com.consum.model.po.LOrgSupplier; -import com.consum.model.po.LWhFormProcure; -import com.consum.model.po.LWhFormProcureGoods; -import com.consum.model.po.LWhProcureModel; +import com.consum.base.pojo.response.*; +import com.consum.base.service.*; +import com.consum.model.po.*; import com.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.CollectionUtils; @@ -41,22 +23,13 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import javax.annotation.Resource; import org.apache.commons.compress.utils.Lists; import org.springframework.beans.BeanUtils; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.lang.reflect.Field; +import java.util.*; /** * @ClassName LWhFormProcureController @@ -178,6 +151,7 @@ model.setCounts(counts); model.setWorehouseCount(goodsModelNum); model.setSupplier(supplier); + model.setTotalAmount(price*counts); procureModelList.add(model); } procureGoodList.add(procureGood); diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java index 24c767c..9527206 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java @@ -4,28 +4,14 @@ import com.consum.base.core.utils.IdUtil; import com.consum.base.core.utils.MapUtils; import com.consum.base.core.utils.MapperUtil; -import com.consum.base.pojo.LWhFormTransferGoodsInfoParam; -import com.consum.base.pojo.LWhFormTransferParam; -import com.consum.base.pojo.ProcureModelInfoDto; -import com.consum.base.pojo.UseRecordDto; -import com.consum.base.pojo.UseRecordSkuDto; +import com.consum.base.pojo.*; import com.consum.base.pojo.query.TransferQry; import com.consum.base.pojo.response.FormTransferVO; import com.consum.base.pojo.response.FromTransferTemplateInfoVO; import com.consum.base.pojo.response.LWHFromTransferExtendVO; import com.consum.base.pojo.response.TransferInfoVO; -import com.consum.base.service.BaseGoodsModelsServiceImpl; -import com.consum.base.service.LWhFormTransferCoreService; -import com.consum.base.service.LWhFormTransferServiceImpl; -import com.consum.base.service.LWhProcureModelService; -import com.consum.base.service.LWhProcureModelUserRecordServiceImpl; -import com.consum.base.service.LWhProcureModelUserServiceImpl; -import com.consum.model.po.BaseGoodsModels; -import com.consum.model.po.FinSysTenantUser; -import com.consum.model.po.LWhFormTransfer; -import com.consum.model.po.LWhProcureModel; -import com.consum.model.po.LWhProcureModelUser; -import com.consum.model.po.LWhProcureModelUserRecord; +import com.consum.base.service.*; +import com.consum.model.po.*; import com.consum.model.vo.LWhFormOutputVo; import com.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; @@ -36,19 +22,16 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.commons.compress.utils.Lists; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; /** * @Description 璋冩嫧绠$悊 @@ -72,7 +55,8 @@ private LWhProcureModelUserRecordServiceImpl lWhProcureModelUserRecordService; @Autowired private BaseGoodsModelsServiceImpl baseGoodsModelsService; - + @Autowired + private BaseWarehouseServiceImpl baseWarehouseService; /** * @Description 鏂板 */ @@ -254,6 +238,20 @@ }) @PostMapping("/output") public ResponseValue output(Long id) { + // 鍑哄簱鍓� 璁剧疆鍑哄簱浠撳簱 + FinSysTenantUser sysTenantUser = this.getSysInfo(); + String agencyId = sysTenantUser.getTenantId(); + List<BaseWarehouse> baseWarehouseList = baseWarehouseService.getByAgencyId(Long.valueOf(agencyId), (short) 1, (short) 1); + if (CollectionUtils.isEmpty(baseWarehouseList)){ + return ResponseValue.error("鏈烘瀯鏃犻粯璁や粨搴擄紒"); + } + BaseWarehouse baseWarehouse = baseWarehouseList.get(0); + Long wareHouseId = baseWarehouse.getId(); + String warehouseName = baseWarehouse.getWarehouseName(); + LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(id); + lWhFormTransfer.setOutWarehouseId(wareHouseId); + lWhFormTransfer.setOutWarehouseName(warehouseName); + lWhFormTransferService.update(lWhFormTransfer); lWhFormTransferCoreService.doTransferOutPut(id, getCurrentUser()); return ResponseValue.success(); } diff --git a/consum-base/src/main/java/com/consum/base/core/WhBusinessEnum.java b/consum-base/src/main/java/com/consum/base/core/WhBusinessEnum.java index 9e6a578..2e6445f 100644 --- a/consum-base/src/main/java/com/consum/base/core/WhBusinessEnum.java +++ b/consum-base/src/main/java/com/consum/base/core/WhBusinessEnum.java @@ -2,7 +2,6 @@ /** * @ClassName WhBusinessEnum - * @Date 2023/10/24 * @Description 鍗曟嵁绫诲瀷 * @Version 1.0 @@ -27,7 +26,16 @@ /** * 鎶ュ簾 */ - BAOFEI((short) 5); + BAOFEI((short) 5), + /** + * 閮ㄩ棬鐗╁搧鍥為��浠撳簱 + */ + BUMENTUIHUI((short) 6), + /** + * 鐗╁搧鐩樼偣 + */ + PANDIAN((short) 7), + ; private short value; diff --git a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java index fbc426c..a52006d 100644 --- a/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/BaseWarehouseServiceImpl.java @@ -11,15 +11,12 @@ import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.StringUtils; import com.walker.jdbc.service.BaseServiceImpl; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.stream.Collectors; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; /** * @Description 浠撳簱绠$悊 @@ -174,7 +171,7 @@ * @Author 鍗㈠簡闃� * @Date 2023/10/27 */ - public List<BaseWarehouse> getByAgencyId(Long agencyId) { + public List<BaseWarehouse> getByAgencyId(Long agencyId, Short isDefault, Short states) { StringBuilder sql = new StringBuilder("SELECT * FROM base_warehouse WHERE 1 = 1 "); HashMap<String, Object> paramts = new HashMap<>(); @@ -183,6 +180,16 @@ sql.append(" and AGENCY_ID =:AGENCY_ID "); paramts.put("AGENCY_ID", agencyId); } + // 鏄惁涓洪粯璁や粨搴� + if (isDefault != null) { + sql.append(" and IS_DEFAULT =:isDefault "); + paramts.put("isDefault", isDefault); + } + // 鐘舵�� + if (states != null) { + sql.append(" and states =:states "); + paramts.put("states", states); + } return select(sql.toString(), paramts, new BaseWarehouse()); } diff --git a/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordCoreService.java b/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordCoreService.java index 094eb08..be46afc 100644 --- a/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordCoreService.java +++ b/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordCoreService.java @@ -6,13 +6,15 @@ import com.consum.model.po.LWhProcureModelUser; import com.consum.model.po.LWhProcureModelUserRecord; import com.walker.infrastructure.utils.NumberGenerator; -import java.util.ArrayList; -import java.util.List; -import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; /** * @ClassName LGoodsUserRecordCoreService @@ -55,6 +57,8 @@ // 灏嗘墍鏈夌墿鍝佽缃负鏈垎鍙� List<Long> srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(inWarehouseType, inWarehouseId, transBusinessId, null, null, null, null); lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, 3); + // 鍒犻櫎璇ヨ皟鎷ㄥ崟鏃ф湁浣跨敤璁板綍 + lGoodsUserRecordService.delete(new LGoodsUserRecord(), "where TRANS_BUSINESS_ID =" + transBusinessId, new HashMap<>()); // 璁剧疆鏃х殑LAST_RECORD= 0 lGoodsUserRecordService.updSetNotLast(srappedGoodsIds); //鎻掑叆鏂扮殑 diff --git a/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordServiceImpl.java index 5cd97eb..db01bda 100644 --- a/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordServiceImpl.java @@ -1,11 +1,11 @@ package com.consum.base.service; import com.walker.jdbc.service.BaseServiceImpl; -import java.util.ArrayList; -import java.util.List; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + +import java.util.List; /** * @ClassName LGoodsUserRecordServiceImpl @@ -26,28 +26,5 @@ public int updSetNotLast(List<Long> outGoodsIds) { return this.update(updSetNotLast + StringUtils.join(outGoodsIds, ",") + ")", new String[]{}); } - - /** - * 閫氳繃 璋冩嫧鍗旾D 鎴栬�� 鍒嗗彂璁板綍琛╥d 鍒犻櫎 - */ - private static String DEL_BY_TRANDS_AND_RECORDID = "delete from L_GOODS_USER_RECORD where 1=1"; - - public int delByTrandsAndRecordId(Long transBusinessId, Long procureModelUserRecordId) { - if (transBusinessId == null && procureModelUserRecordId == null) { - return 0; - } - ArrayList<Object> params = new ArrayList<>(); - StringBuilder sql = new StringBuilder(DEL_BY_TRANDS_AND_RECORDID); - if (transBusinessId != null) { - sql.append(" and TRANS_BUSINESS_ID =?"); - params.add(transBusinessId); - } - if (procureModelUserRecordId != null) { - sql.append(" and PROCURE_MODEL_USER_RECORD_ID =?"); - params.add(procureModelUserRecordId); - } - return update(sql.toString(), params.toArray()); - } - } diff --git a/consum-base/src/main/java/com/consum/base/service/LGoodsWhRecordServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LGoodsWhRecordServiceImpl.java index 3a20477..53975c5 100644 --- a/consum-base/src/main/java/com/consum/base/service/LGoodsWhRecordServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/LGoodsWhRecordServiceImpl.java @@ -1,6 +1,7 @@ package com.consum.base.service; import com.walker.jdbc.service.BaseServiceImpl; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -17,25 +18,23 @@ @Service @Transactional(rollbackFor = Exception.class) public class LGoodsWhRecordServiceImpl extends BaseServiceImpl { - private static String insert_new_record = "INSERT INTO L_GOODS_WH_RECORD (WAREHOUSE_FLOW_ID,DEAL_TIME,LAST_RECORD, WH_GOODS_ID,WAREHOUSE_TYPE, WAREHOUSE_ID)SELECT ?, ?,1,ID, WAREHOUSE_TYPE, WAREHOUSE_ID FROM L_WH_GOODS WHERE ID IN (?)"; + private static String insert_new_record = "INSERT INTO L_GOODS_WH_RECORD (WAREHOUSE_FLOW_ID,DEAL_TIME,LAST_RECORD, WH_GOODS_ID,WAREHOUSE_TYPE, WAREHOUSE_ID)SELECT ?, ?,1,ID, WAREHOUSE_TYPE, WAREHOUSE_ID FROM L_WH_GOODS WHERE ID IN ("; public int insertNewRecord(List<Long> outGoodsIds, long lWarehouseFlowId, long dealTime) { this.updSetNotLast(outGoodsIds); ArrayList<Object> params = new ArrayList<>(); params.add(lWarehouseFlowId); params.add(dealTime); - params.add(outGoodsIds); - return this.update(insert_new_record, params.toArray()); + return this.update(insert_new_record + StringUtils.join(outGoodsIds, ",") + ")", params.toArray()); + } /** * 璁剧疆涓洪潪鏈�鏂� */ - private static String updSetNotLast = "update L_GOODS_WH_RECORD set LAST_RECORD = 0 where WH_GOODS_ID in(?) and LAST_RECORD=1"; + private static String updSetNotLast = "update L_GOODS_WH_RECORD set LAST_RECORD = 0 where LAST_RECORD=1 and WH_GOODS_ID in("; public int updSetNotLast(List<Long> outGoodsIds) { - ArrayList<Object> params = new ArrayList<>(); - params.add(outGoodsIds); - return this.update(updSetNotLast, params.toArray()); + return this.update(updSetNotLast + StringUtils.join(outGoodsIds, ",") + ")", new String[]{}); } } diff --git a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java index d85b03e..a44e229 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java +++ b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java @@ -123,19 +123,22 @@ whGoodsRecord.setThisCount(modelCount); whGoodsRecord.setEndCount(goodsModelNum + modelCount); + long totalPrice = 0; //灏嗗悓鍨嬪彿鐨勭墿鍝佹彃鍏� 搴撳瓨鐗╁搧璇︽儏 List<LWhProcureModel> lWhProcureModels = sameModelList.get(baseGoodsModelsId); - lWhProcureModels.forEach(item -> { + for (LWhProcureModel item : lWhProcureModels) { //渚涘簲鍟� String supplier = item.getSupplier(); //浠锋牸 Long price = item.getPrice(); //鐗╁搧涓暟 Integer counts = item.getCounts(); + totalPrice = totalPrice + counts*price; sameGoodsInsertMore(warehouseFlowId, warehouseType, warehouseId, whGoodsRecordId, (short) 1, warehouseName, classification, tempGoodsId, goodsName, baseGoodsModelsId, modelName, supplier, buyType, goodsUnit, price, procureTime, 1, dealTime, counts); - }); + }; + whGoodsRecord.setTotalPrice(totalPrice); } lWhGoodsRecordService.insert(whGoodsRecord); }); diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java index b7b201d..c1bfa39 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java @@ -121,6 +121,7 @@ whFormOutput.setOutputName("璋冩嫧鍑哄簱"); whFormOutput.setWarehouseId(outWarehouseId); whFormOutput.setWarehouseName(outWarehouseName); + // 杩欐牱灏辨煡璇笉鍒拌鏉¤褰� whFormOutput.setAgencyId(null); whFormOutput.setAgencyName(null); whFormOutput.setOperatorId(currentUser.getId()); diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java index 853a005..69fcc5e 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferCoreService.java @@ -70,14 +70,25 @@ // 鍑哄簱鍗旾D Long outWarehouseFormId = null; try { - // 鏍规嵁璋冩嫧鍗� 鐢熸垚 鍑哄簱鍗� + // 鏍规嵁璋冩嫧鍗� 鐢熸垚 鍑哄簱鍗� 杩欐牱灏辫兘鍏敤鍑哄簱 outWarehouseFormId = lWhFormOutputCoreService.createOutFormByTransId(whFormTransferId, currentUser, dealTime); } catch (Exception e) { log.error(e.getMessage()); return; } + //鍗曟嵁绫诲瀷銆�0浠撳簱璋冩嫧锛�1閮ㄩ棬鍒嗗彂锛�2閮ㄩ棬鐗╁搧鍥為�� + Integer businessType = lWhFormTransfer.getBusinessType(); + businessType = businessType == null ? 0 : businessType; + WhBusinessEnum businessEnum = WhBusinessEnum.DIAOBO; + if (businessType == 0) { + businessEnum = WhBusinessEnum.DIAOBO; + } else if (businessType == 1) { + businessEnum = WhBusinessEnum.BUMENFENFA; + } else if (businessType == 2) { + businessEnum = WhBusinessEnum.BUMENTUIHUI; + } // 鍑哄簱鍗� 鍑哄簱锛岃繑鍥� 鍑哄簱鍗曟祦姘碔d - Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(outWarehouseFormId, WhBusinessEnum.DIAOBO, currentUser, dealTime); + Long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(outWarehouseFormId, businessEnum, currentUser, dealTime); // 鏇存柊璋冩嫧鍗� lWhFormTransfer = new LWhFormTransfer(whFormTransferId); @@ -165,52 +176,54 @@ List<Long> outGoodsIds = getGoodsidByFlowId(outWarehouseFlowId, oldRecordId); // 搴撳瓨鐗╁搧璇︽儏锛圠_WH_GOODS锛変腑 鐘舵�佽缃负1 lWhGoodsService.modGoodsTransfering(outGoodsIds, inWarehouseType, inWarehouseId, inWarehouseName, goodsStatus); - //姝ゆ椂瑕佸線 鐗╁搧浣跨敤璁板綍銆怢_GOODS_USER_RECORD銆戞坊鍔犳暟鎹� - //鏌ヨ閮ㄩ棬鍒嗗彂浣跨敤浜� - LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser(); - lWhProcureModelUser.setTransBusinessId(whFormTransferId); - lWhProcureModelUser.setBaseGoodsModelsId(baseGoodsModelsId); - List<LWhProcureModelUser> goodsUserInfo = goodsBaseService.select(lWhProcureModelUser); - int totalGoodsNum = goodsUserInfo.stream().mapToInt(LWhProcureModelUser::getGoodsNum).sum(); - if (totalGoodsNum != outGoodsIds.size()) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - throw new RuntimeException("鍏ュ簱鍗曞け璐ワ紝浣跨敤浜轰娇鐢ㄦ暟閲忎笌鐗╁搧鏁伴噺涓嶄竴鑷�"); + if (businessType == 1){ + // 1閮ㄩ棬鍒嗗彂 姝ゆ椂瑕佸線 鐗╁搧浣跨敤璁板綍銆怢_GOODS_USER_RECORD銆戞坊鍔犳暟鎹� + //鏌ヨ閮ㄩ棬鍒嗗彂浣跨敤浜� + LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser(); + lWhProcureModelUser.setTransBusinessId(whFormTransferId); + lWhProcureModelUser.setBaseGoodsModelsId(baseGoodsModelsId); + List<LWhProcureModelUser> goodsUserInfo = goodsBaseService.select(lWhProcureModelUser); + int totalGoodsNum = goodsUserInfo.stream().mapToInt(LWhProcureModelUser::getGoodsNum).sum(); + if (totalGoodsNum != outGoodsIds.size()) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + throw new RuntimeException("鍏ュ簱鍗曞け璐ワ紝浣跨敤浜轰娇鐢ㄦ暟閲忎笌鐗╁搧鏁伴噺涓嶄竴鑷�"); // log.error("鍒涘缓鍏ュ簱鍗曞け璐�"); - } - //灏嗙墿鍝佸瀷鍙蜂互鍓嶇殑浣跨敤璁板綍璁剧疆涓洪潪鏈�鏂� - lGoodsUserRecordService.updSetNotLast(outGoodsIds); - ArrayList<LGoodsUserRecord> goodsUserRecordList = new ArrayList<>(); - int startIndex = 0; - for (LWhProcureModelUser whProcureModelUser : goodsUserInfo) { - Integer goodsNum = whProcureModelUser.getGoodsNum(); - String nowUserName = whProcureModelUser.getNowUserName(); - Long nowUserPhone = whProcureModelUser.getNowUserPhone(); - Long procureModelUserRecordId = whProcureModelUser.getProcureModelUserRecordId(); - List<Long> goodsIds = outGoodsIds.subList(startIndex, startIndex + goodsNum); - for (Long goodsId : goodsIds) { - LGoodsUserRecord tmp = new LGoodsUserRecord(); - tmp.setWhGoodsId(goodsId); - tmp.setRecordType(recordType); - tmp.setTransBusinessId(whFormTransferId); - if (businessType == 1) { - tmp.setNowUserName(nowUserName); - tmp.setNowUserPhone(nowUserPhone); - } else if (businessType == 2) { - tmp.setNowUserName(null); - tmp.setNowUserPhone(null); - } - tmp.setProcureModelUserRecordId(procureModelUserRecordId); - tmp.setOperatorId(userId); - tmp.setOperatorName(nickName); - tmp.setDealTime(dealTime); - tmp.setLastRecord(1); - goodsUserRecordList.add(tmp); } - // 鏇存柊涓嬫爣浣嶇疆 - startIndex += goodsNum; + //灏嗙墿鍝佸瀷鍙蜂互鍓嶇殑浣跨敤璁板綍璁剧疆涓洪潪鏈�鏂� + lGoodsUserRecordService.updSetNotLast(outGoodsIds); + ArrayList<LGoodsUserRecord> goodsUserRecordList = new ArrayList<>(); + int startIndex = 0; + for (LWhProcureModelUser whProcureModelUser : goodsUserInfo) { + Integer goodsNum = whProcureModelUser.getGoodsNum(); + String nowUserName = whProcureModelUser.getNowUserName(); + Long nowUserPhone = whProcureModelUser.getNowUserPhone(); + Long procureModelUserRecordId = whProcureModelUser.getProcureModelUserRecordId(); + List<Long> goodsIds = outGoodsIds.subList(startIndex, startIndex + goodsNum); + for (Long goodsId : goodsIds) { + LGoodsUserRecord tmp = new LGoodsUserRecord(); + tmp.setWhGoodsId(goodsId); + tmp.setRecordType(recordType); + tmp.setTransBusinessId(whFormTransferId); + if (businessType == 1) { + tmp.setNowUserName(nowUserName); + tmp.setNowUserPhone(nowUserPhone); + } else if (businessType == 2) { + tmp.setNowUserName(null); + tmp.setNowUserPhone(null); + } + tmp.setProcureModelUserRecordId(procureModelUserRecordId); + tmp.setOperatorId(userId); + tmp.setOperatorName(nickName); + tmp.setDealTime(dealTime); + tmp.setLastRecord(1); + goodsUserRecordList.add(tmp); + } + // 鏇存柊涓嬫爣浣嶇疆 + startIndex += goodsNum; + } + //鎵归噺鎻掑叆浣跨敤浜鸿褰� + lGoodsUserRecordService.insertBatch(goodsUserRecordList); } - //鎵归噺鎻掑叆浣跨敤浜鸿褰� - lGoodsUserRecordService.insertBatch(goodsUserRecordList); //灏嗕繚绠′粨搴撲俊鎭洿鏂板埌 鐗╁搧浠撳簱淇濈璁板綍銆怢_GOODS_WH_RECORD銆� lGoodsWhRecordService.insertNewRecord(outGoodsIds, inWarehouseFlowId, dealTime); @@ -223,7 +236,8 @@ lWhGoodsRecordDetails.setWhGoodsRecordId(oldRecordId); List<LWhGoodsRecordDetails> goodsRecordDetailsList = lWhGoodsRecordDetailsService.select(lWhGoodsRecordDetails); for (LWhGoodsRecordDetails whGoodsRecordDetails : goodsRecordDetailsList) { - whGoodsRecordDetails.setId(NumberGenerator.getLongSequenceNumber()); + whGoodsRecordDetails.setId(null); + whGoodsRecordDetails.setWhGoodsRecordId(whGoodsRecord.getId()); whGoodsRecordDetails.setThisType(1); } lWhGoodsRecordDetailsService.insertBatch(goodsRecordDetailsList); diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java index c0ca71b..80a1143 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java @@ -14,15 +14,7 @@ import com.consum.base.pojo.response.FormTransferGoodsVO; import com.consum.base.pojo.response.GoodsModelVO; import com.consum.base.pojo.response.LWHFromTransferExtendVO; -import com.consum.model.po.BaseGoodsModels; -import com.consum.model.po.BaseWarehouse; -import com.consum.model.po.FinSysTenant; -import com.consum.model.po.FinSysTenantUser; -import com.consum.model.po.LWhFormOutput; -import com.consum.model.po.LWhFormTransfer; -import com.consum.model.po.LWhGoodsRecord; -import com.consum.model.po.LWhProcureModel; -import com.consum.model.po.LWhProcureModelUser; +import com.consum.model.po.*; import com.consum.model.vo.LWhFormOutputVo; import com.consum.model.vo.LWhGoodsRecordVo; import com.iplatform.model.po.S_user_core; @@ -30,16 +22,17 @@ import com.walker.infrastructure.utils.DateUtils; import com.walker.infrastructure.utils.StringUtils; import com.walker.jdbc.service.BaseServiceImpl; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import org.apache.commons.compress.utils.Lists; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @Description 璋冩嫧绠$悊 @@ -100,6 +93,7 @@ log.error("浠撳簱涓嶅瓨鍦�"); throw new Exception("浠撳簱涓嶅瓨鍦�"); } + lWhFormTransfer.setInWarehouseId(warehouse.getId()); lWhFormTransfer.setInWarehouseName(warehouse.getWarehouseName()); lWhFormTransfer.setInAgencyId(Long.valueOf(tenantId)); lWhFormTransfer.setInAgencyName(sysInfo.getTenantName()); -- Gitblit v1.9.1