From 07ef5e332c8184c4fc6e6c02343eb1b49cbc07e3 Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期六, 02 十二月 2023 20:59:50 +0800 Subject: [PATCH] feat: 物品报废 --- consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java | 122 +++++++++++++++++++++++----------------- 1 files changed, 70 insertions(+), 52 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 85d1297..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 @@ -2,6 +2,7 @@ import com.consum.base.core.CodeGeneratorEnum; import com.consum.base.core.CodeGeneratorService; +import com.consum.base.core.DepUsingFormBackCoreServiceImpl; import com.consum.base.core.utils.IdUtil; import com.consum.base.core.utils.MapUtils; import com.consum.base.core.utils.MapperUtil; @@ -31,15 +32,18 @@ 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; @@ -67,76 +71,90 @@ private FinSysTenantDepartmentService finSysTenantDepartmentService; @Autowired private LWhFormTransferService lWhFormTransferService; + @Resource + private DepUsingFormBackCoreServiceImpl depUsingFormBackCoreService; @Override - public void add(UsingFormBackParam usingFormBackParam, FinSysTenantUser sysInfo) { + 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); } - - } + + // 鎵归噺鎻掑叆閫�鍥炲晢鍝佸拰閫�鍥炲晢鍝佹ā鍨� + 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