From 24d64769178c9b31891164c91e5bc446b3b9dd6b Mon Sep 17 00:00:00 2001 From: luqingyang <lqy5492@163.com> Date: 星期四, 02 十一月 2023 09:56:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 105 insertions(+), 0 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java new file mode 100644 index 0000000..7601f0a --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedServiceImpl.java @@ -0,0 +1,105 @@ +package com.consum.base.service; + +import com.consum.base.core.CodeGeneratorEnum; +import com.consum.base.core.CodeGeneratorService; +import com.consum.base.pojo.LWhFormScrappedGoodsParams; +import com.consum.base.pojo.LWhFormScrappedParam; +import com.consum.base.pojo.LWhProcureModelParams; +import com.consum.base.util.IdUtil; +import com.consum.model.po.*; +import com.iplatform.model.po.S_user_core; +import com.walker.jdbc.service.BaseServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.interceptor.TransactionAspectSupport; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Description 鎶ュ簾鍗� + * @Author 鍗㈠簡闃� + * @Date 2023/11/1 + */ +@Service +public class LWhFormScrappedServiceImpl extends BaseServiceImpl { + @Autowired + private CodeGeneratorService codeGeneratorService; + @Autowired + private BaseWarehouseServiceImpl baseWarehouseService; + @Autowired + private FinSysTenantDepartmentServiceImpl departmentService; + @Autowired + private LWhGoodsService lWhGoodsService; + @Autowired + private LWhFormScrappedGoodsService scrappedGoodsService; + + /** + * 鏂板 + * @param param + * @param sysInfo + * @param operatorUser + * @return + */ + //1.鏂板鎶ュ簾鍗� + //2.鏂板鎶ュ簾鍗曠墿鍝� + public int add(LWhFormScrappedParam param, FinSysTenantUser sysInfo, S_user_core operatorUser) { + //1.鏂板鎶ュ簾鍗曡褰� + LWhFormScrapped lWhFormScrapped = new LWhFormScrapped(); + //璋冩嫧鍗昳d + long lWhFormTransferId = IdUtil.generateId(); + lWhFormScrapped.setId(lWhFormTransferId); + lWhFormScrapped.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Scrapped)); + lWhFormScrapped.setWarehouseType(0); + Long warehouseId = param.getWarehouseId(); + lWhFormScrapped.setWarehouseId(warehouseId); + //鏍规嵁浠撳簱id鏌ヨ浠撳簱 + BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId); + if (warehouse == null) { + log.error("浠撳簱涓嶅瓨鍦�"); + return 0; + } + lWhFormScrapped.setWarehouseName(warehouse.getWarehouseName()); + lWhFormScrapped.setAgencyId(Long.valueOf(sysInfo.getTenantId())); + lWhFormScrapped.setAgencyName(sysInfo.getTenantName()); + lWhFormScrapped.setOperatorId(sysInfo.getSysUserId()); + lWhFormScrapped.setOperatorName(sysInfo.getUserName()); + lWhFormScrapped.setDealTime(param.getDealTime()); + lWhFormScrapped.setStates(0); + //鏍规嵁閮ㄩ棬id鏌ヨ閮ㄩ棬 + FinSysTenantDepartment department = this.departmentService.getById(sysInfo.getSysDeptId()); + if (department != null) { + lWhFormScrapped.setDepartmentId(sysInfo.getSysDeptId()); + lWhFormScrapped.setDepartmentName(department.getName()); + } + int flag1 = this.insert(lWhFormScrapped); + if (flag1 == 0) { + log.error("鏂板鎶ュ簾鍗曞け璐�"); + return 0; + } + //2.鏂板鎶ュ簾鍗曠墿鍝佽褰� + List<LWhFormScrappedGoodsParams> scrappedGoodsParamList = param.getScrappedGoodsList(); + List<LWhFormScrappedGoods> scrappedGoodsList = new ArrayList<>(); + for (LWhFormScrappedGoodsParams params : scrappedGoodsParamList) { + LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods(); + scrappedGoods.setId(IdUtil.generateId()); + //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨 + int goodsNum = this.lWhGoodsService.queryGoodsModelNum(0,warehouseId, scrappedGoods.getBaseGoodsModelsId(), (short) 1, null); + if (params.getCounts() > goodsNum) { + log.error("鎶ュ簾鏁伴噺澶т簬搴撳瓨鏁伴噺"); + return 0; + } + scrappedGoods.setCounts(params.getCounts()); + scrappedGoods.setScrappedCode(params.getScrappedCode()); + //TODO 鎶ュ簾鍘熷洜 + scrappedGoodsList.add(scrappedGoods); + } + int flag2 = this.scrappedGoodsService.insert(scrappedGoodsList); + if (flag2 != scrappedGoodsList.size()) { + log.error("鏂板鎶ュ簾鍗曠墿鍝佽褰�"); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return 0; + } + return 1; + } +} -- Gitblit v1.9.1