From 8e41786892a4bd7cff2d63bde8cb0636cdb0650c Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期六, 02 十二月 2023 20:54:51 +0800 Subject: [PATCH] 分转元 --- consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java | 151 ++++++++++++++++++++++++++++++-------------------- 1 files changed, 90 insertions(+), 61 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java index e00cb1f..273cd1c 100644 --- a/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java @@ -12,26 +12,43 @@ import com.consum.base.pojo.request.UsingFormBackGoodsInfo; import com.consum.base.pojo.request.UsingFormBackParam; import com.consum.base.pojo.request.baseGoodModel; -import com.consum.base.pojo.response.*; -import com.consum.base.service.*; -import com.consum.model.po.*; +import com.consum.base.pojo.response.BaseGoodsTemplateInfo; +import com.consum.base.pojo.response.UseInfo; +import com.consum.base.pojo.response.UsingFormBackDetailListVO; +import com.consum.base.pojo.response.UsingFormBackDetailVO; +import com.consum.base.pojo.response.UsingFormBackGoodsTemplateInfo; +import com.consum.base.pojo.response.UsingFormBackModelInfo; +import com.consum.base.pojo.response.UsingFormBackVO; +import com.consum.base.service.BaseCategoryService; +import com.consum.base.service.FinSysTenantDepartmentService; +import com.consum.base.service.LWhFormTransferService; +import com.consum.base.service.UsingFormBackGoodsService; +import com.consum.base.service.UsingFormBackModelService; +import com.consum.base.service.UsingFormBackService; +import com.consum.model.po.BaseCategory; +import com.consum.model.po.FinSysTenantDepartment; +import com.consum.model.po.FinSysTenantUser; +import com.consum.model.po.LWhFormTransfer; +import com.consum.model.po.UsingFormBack; +import com.consum.model.po.UsingFormBackGoods; +import com.consum.model.po.UsingFormBackModel; import com.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.CollectionUtils; 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 java.util.stream.Collectors; +import javax.annotation.Resource; 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.annotation.Transactional; - -import javax.annotation.Resource; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; /** * @author asus @@ -56,76 +73,88 @@ private LWhFormTransferService lWhFormTransferService; @Resource private DepUsingFormBackCoreServiceImpl depUsingFormBackCoreService; + @Override public void add(UsingFormBackParam usingFormBackParam, FinSysTenantUser sysInfo, S_user_core currentUser) { Long departmentId = usingFormBackParam.getDepartmentId(); + Long operatorId = usingFormBackParam.getOperatorId(); + String operatorName = usingFormBackParam.getOperatorName(); + Long backTime = usingFormBackParam.getDealTime(); + String procureDoc = usingFormBackParam.getProcureDoc(); + List<UsingFormBackGoodsInfo> goodsList = usingFormBackParam.getGoods(); + + // 妫�鏌ラ儴闂ㄦ槸鍚﹀瓨鍦� FinSysTenantDepartment department = finSysTenantDepartmentService.getById(departmentId); if (department == null) { throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�"); } String departmentName = department.getName(); - Long operatorId = usingFormBackParam.getOperatorId(); - String operatorName = usingFormBackParam.getOperatorName(); - Long backTime = usingFormBackParam.getDealTime(); - String procureDoc = usingFormBackParam.getProcureDoc(); - List<UsingFormBackGoodsInfo> usingFormBackGoodsInfo = usingFormBackParam.getGoods(); + // 娣诲姞閫�鍥炶〃鍗� Long usingFormBackId = addUsingFormBack(sysInfo, departmentId, departmentName, operatorId, operatorName, backTime, procureDoc); - for (UsingFormBackGoodsInfo backingGoodsInfo : usingFormBackGoodsInfo) { - Long baseCategoryId = backingGoodsInfo.getBaseCategoryId(); - Long baseGoodsTemplateId = backingGoodsInfo.getBaseGoodsTemplateId(); - String goodsTemplateName = backingGoodsInfo.getGoodsTemplateName(); - Long transBusinessId = backingGoodsInfo.getTransBusinessId(); - String businessFormCode = backingGoodsInfo.getBusinessFormCode(); - UsingFormBackGoods usingFormBackGoods = new UsingFormBackGoods(); - usingFormBackGoods.setId(IdUtil.generateId()); - usingFormBackGoods.setUsingFormBackId(usingFormBackId); - usingFormBackGoods.setBaseGoodsTemplateId(baseGoodsTemplateId); - usingFormBackGoods.setBaseGoodsTemplateName(goodsTemplateName); + // 鎵归噺鎻掑叆閫�鍥炲晢鍝佸拰閫�鍥炲晢鍝佹ā鍨� + List<UsingFormBackGoods> goodsBatch = new ArrayList<>(); + List<UsingFormBackModel> modelBatch = new ArrayList<>(); - BaseCategory baseCategory = baseCategoryService.getById(baseCategoryId); - String categoryName = baseCategory.getCategoryName(); - String classification = baseCategory.getClassification(); - usingFormBackGoods.setCategoryName(categoryName); - usingFormBackGoods.setClassification(classification); - usingFormBackGoods.setTransBusinessId(transBusinessId); - usingFormBackGoods.setBusinessFormCode(businessFormCode); + for (UsingFormBackGoodsInfo goodsInfo : goodsList) { + UsingFormBackGoods goods = createUsingFormBackGoods(usingFormBackId, goodsInfo); + goodsBatch.add(goods); - LWhFormTransfer lWhFormTransfer = lWhFormTransferService.selectById(transBusinessId); - Integer outWarehouseType = lWhFormTransfer.getOutWarehouseType(); - Long outWarehouseId = lWhFormTransfer.getOutWarehouseId(); - usingFormBackGoods.setTransOutWarehouseType(outWarehouseType); - usingFormBackGoods.setTransOutWarehouseId(outWarehouseId); - - usingFormBackModelService.insert(usingFormBackGoods); - for (baseGoodModel model : backingGoodsInfo.getModels()) { - - UsingFormBackModel usingFormBackModel = new UsingFormBackModel(); - usingFormBackModel.setId(IdUtil.generateId()); - usingFormBackModel.setUsingFormBackId(usingFormBackId); - usingFormBackModel.setUsingFormBackGoodsId(usingFormBackGoods.getId()); - usingFormBackModel.setBaseGoodsTemplateId(model.getGoodsTemplatesId()); - usingFormBackModel.setBaseGoodsTemplateName(goodsTemplateName); - usingFormBackModel.setClassification(model.getClassification()); - usingFormBackModel.setUnit(model.getUnit()); - usingFormBackModel.setBaseGoodsModelsId(model.getBaseGoodsModelsId()); - usingFormBackModel.setBaseGoodsModelsName(model.getModelName()); - usingFormBackModel.setProcureModelUserId(model.getModelUserId()); - usingFormBackModel.setInitialCount(model.getGoodsNum()); - usingFormBackModel.setUseCount(model.getUserUseCount()); - usingFormBackModel.setCounts(model.getCounts()); - usingFormBackModel.setGoodsUserName(model.getNowUserName()); - - usingFormBackGoodsService.insert(usingFormBackModel); + for (baseGoodModel model : goodsInfo.getModels()) { + UsingFormBackModel formModel = createUsingFormBackModel(usingFormBackId, goods.getId(), goodsInfo, model); + modelBatch.add(formModel); } - - } - depUsingFormBackCoreService.updateBack(usingFormBackId ,currentUser,DateUtils.getDateTimeNumber(System.currentTimeMillis())); + + // 鎵归噺鎻掑叆閫�鍥炲晢鍝佸拰閫�鍥炲晢鍝佹ā鍨� + usingFormBackModelService.insertBatch(goodsBatch); + usingFormBackGoodsService.insertBatch(modelBatch); + + depUsingFormBackCoreService.updateBack(usingFormBackId, currentUser, DateUtils.getDateTimeNumber(System.currentTimeMillis())); } + private UsingFormBackGoods createUsingFormBackGoods(Long usingFormBackId, UsingFormBackGoodsInfo goodsInfo) { + UsingFormBackGoods goods = new UsingFormBackGoods(); + goods.setId(IdUtil.generateId()); + goods.setUsingFormBackId(usingFormBackId); + goods.setBaseGoodsTemplateId(goodsInfo.getBaseGoodsTemplateId()); + goods.setBaseGoodsTemplateName(goodsInfo.getGoodsTemplateName()); + + BaseCategory baseCategory = baseCategoryService.getById(goodsInfo.getBaseCategoryId()); + goods.setCategoryName(baseCategory.getCategoryName()); + goods.setClassification(baseCategory.getClassification()); + + LWhFormTransfer lWhFormTransfer = lWhFormTransferService.selectById(goodsInfo.getTransBusinessId()); + goods.setTransOutWarehouseType(lWhFormTransfer.getOutWarehouseType()); + goods.setTransOutWarehouseId(lWhFormTransfer.getOutWarehouseId()); + + return goods; + } + + private UsingFormBackModel createUsingFormBackModel(Long usingFormBackId, Long usingFormBackGoodsId, UsingFormBackGoodsInfo goodsInfo, + baseGoodModel model) { + UsingFormBackModel formModel = new UsingFormBackModel(); + formModel.setId(IdUtil.generateId()); + formModel.setUsingFormBackId(usingFormBackId); + formModel.setUsingFormBackGoodsId(usingFormBackGoodsId); + formModel.setBaseGoodsTemplateId(model.getGoodsTemplatesId()); + formModel.setBaseGoodsTemplateName(goodsInfo.getGoodsTemplateName()); + formModel.setClassification(model.getClassification()); + formModel.setUnit(model.getUnit()); + formModel.setBaseGoodsModelsId(model.getBaseGoodsModelsId()); + formModel.setBaseGoodsModelsName(model.getModelName()); + formModel.setProcureModelUserId(model.getModelUserId()); + formModel.setInitialCount(model.getGoodsNum()); + formModel.setUseCount(model.getUserUseCount()); + formModel.setCounts(model.getCounts()); + formModel.setGoodsUserName(model.getNowUserName()); + + return formModel; + } + + @Override public PageUtil selectPageByList(UsingFormBackQry usingFormBackParam) { -- Gitblit v1.9.1