From 1b41d774274c784adce2df6ed19fdffe0c22a113 Mon Sep 17 00:00:00 2001 From: luqingyang <lqy5492@163.com> Date: 星期一, 30 十月 2023 17:35:52 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java | 192 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 192 insertions(+), 0 deletions(-) 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 new file mode 100644 index 0000000..98db533 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java @@ -0,0 +1,192 @@ +package com.consum.base.service; + +import com.consum.base.Constants; +import com.consum.base.core.CodeGeneratorEnum; +import com.consum.base.core.CodeGeneratorService; +import com.consum.base.core.param.BaseWarehouseParam1; +import com.consum.base.pojo.*; +import com.consum.base.util.IdUtil; +import com.consum.model.po.*; +import com.consum.model.vo.LWhFormTransferVo; +import com.iplatform.model.po.S_user_core; +import com.walker.db.page.GenericPager; +import com.walker.infrastructure.utils.DateUtils; +import com.walker.infrastructure.utils.StringUtils; +import com.walker.jdbc.service.BaseServiceImpl; +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; + +/** + * @Description 璋冩嫧绠$悊 + * @Author 鍗㈠簡闃� + * @Date 2023/10/30 + */ +@Service +public class LWhFormTransferServiceImpl extends BaseServiceImpl { + + @Autowired + private BaseWarehouseServiceImpl baseWarehouseService; + @Autowired + private CodeGeneratorService codeGeneratorService; + @Autowired + private FinSysTenantServiceImpl finSysTenantService; + @Autowired + private LWhGoodsService lWhGoodsService; + @Autowired + private LWhProcureModelService lWhProcureModelService; + + private static String QUERY_FORM_TRANSFER_LIST = "SELECT * FROM l_wh_form_transfer WHERE 1 = 1"; + + /** + * @Description + * @Author 鍗㈠簡闃� + * @Date 2023/10/30 + */ + public int add(LWhFormTransferParam param, S_user_core currentUser, FinSysTenantUser sysInfo) { + //1.鏂板璋冩嫧鍗曡褰� + LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(); + //璋冩嫧鍗昳d + long lWhFormTransferId = IdUtil.generateId(); + lWhFormTransfer.setId(lWhFormTransferId); + lWhFormTransfer.setBusinessType(0); + lWhFormTransfer.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.Transfer)); + Long warehouseId = param.getInWarehouseId(); + lWhFormTransfer.setInWarehouseId(warehouseId); + //鏍规嵁浠撳簱id鏌ヨ浠撳簱 + BaseWarehouse warehouse = this.baseWarehouseService.getById(warehouseId); + if (warehouse == null) { + log.error("浠撳簱涓嶅瓨鍦�"); + return 0; + } + lWhFormTransfer.setInWarehouseName(warehouse.getWarehouseName()); + lWhFormTransfer.setInAgencyId(Long.valueOf(sysInfo.getTenantId())); + lWhFormTransfer.setInAgencyName(sysInfo.getTenantName()); + //鏍规嵁鏈烘瀯id鏌ヨ璋冩嫧鏈烘瀯 + FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(param.getOutAgencyId())); + if (finSysTenant == null) { + log.error("璋冩嫧鏈烘瀯涓嶅瓨鍦�"); + return 0; + } + lWhFormTransfer.setOutAgencyId(finSysTenant.getId()); + lWhFormTransfer.setOutAgencyName(finSysTenant.getName()); + lWhFormTransfer.setOperatorId(sysInfo.getId()); + lWhFormTransfer.setOperatorName(sysInfo.getUserName()); + lWhFormTransfer.setCreateTime(param.getCreateTime()); + lWhFormTransfer.setStates(0); + lWhFormTransfer.setProcureDoc(param.getProcureDoc()); + int flag1 = this.insert(lWhFormTransfer); + if (flag1 == 0) { + log.error("鏂板璋冩嫧鍗曞け璐�"); + return 0; + } + //2.鏂板鐗╁搧鍨嬪彿璁板綍 + List<LWhProcureModelParams> models = param.getModels(); + List<LWhProcureModel> modelList = new ArrayList<>(); + for (LWhProcureModelParams model : models) { + LWhProcureModel lWhProcureModel = new LWhProcureModel(); + lWhProcureModel.setId(IdUtil.generateId()); + lWhProcureModel.setBusinessType(2); + lWhProcureModel.setBusinessId(lWhFormTransferId); + lWhProcureModel.setBaseGoodsModelsId(model.getBaseGoodsModelsId()); + lWhProcureModel.setCounts(model.getCounts()); + //鏍规嵁鐗╁搧鍨嬪彿鏌ヨ鐗╁搧搴撳瓨 + int goodsNum = this.lWhGoodsService.queryGoodsModelNum(warehouseId, model.getBaseGoodsModelsId(), (short) 1, null); + lWhProcureModel.setWorehouseCount(goodsNum); + modelList.add(lWhProcureModel); + } + int flag2 = this.lWhProcureModelService.insert(modelList); + if (flag2 != modelList.size()) { + log.error("鏂板鐗╁搧鍨嬪彿澶辫触"); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return 0; + } + return 1; + } + + /** + * @Description 鍒楄〃鏌ヨ + * @Author 鍗㈠簡闃� + * @Date 2023/10/30 + */ + public GenericPager<LWhFormTransfer> queryFormTransferList(LWhFormTransferParam param) { + HashMap<String, Object> paramts = new HashMap<>(); + StringBuilder sql = new StringBuilder(QUERY_FORM_TRANSFER_LIST); + //璋冩嫧鍗曞彿 + if (!StringUtils.isEmpty(param.getBusinessFormCode())) { + sql.append(" and BUSINESS_FORM_CODE like :businessFormCode "); + paramts.put("businessFormCode", StringUtils.CHAR_PERCENT + param.getBusinessFormCode() + StringUtils.CHAR_PERCENT); + } + //鐗╁搧鍚嶇О + if (!StringUtils.isEmpty(param.getGoodsTemplateName())) { + sql.append(" AND id IN (SELECT BUSINESS_ID FROM L_WH_PROCURE_MODEL procureModel LEFT JOIN BASE_GOODS_MODELS baseModel ON procureModel.BASE_GOODS_MODELS_ID=baseModel.ID LEFT JOIN BASE_GOODS_TEMPLATE baseTemp ON baseModel.GOODS_TEMPLATES_ID=baseTemp.id WHERE procureModel.BUSINESS_TYPE=1 AND baseTemp.GOODS_NAME LIKE :goodsTemplateName)"); + paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); + } + //璋冩嫧鏈烘瀯 + if (param.getOutAgencyId() != null){ + sql.append(" and OUT_AGENCY_ID = :OUT_AGENCY_ID "); + paramts.put("OUT_AGENCY_ID", param.getOutAgencyId()); + } + //鎺ユ敹鏈烘瀯 + if (param.getInAgencyId() != null){ + sql.append(" and OUT_AGENCY_ID = :OUT_AGENCY_ID "); + paramts.put("OUT_AGENCY_ID", param.getOutAgencyId() ); + } + //鐘舵�� + if (param.getStates() != null) { + sql.append(" and states =:states "); + paramts.put("states", param.getStates()); + } + //鍒涘缓浜� + if (!StringUtils.isEmpty(param.getOperatorName())) { + sql.append(" and OPERATOR_NAME =:OPERATOR_NAME "); + paramts.put("OPERATOR_NAME", param.getOperatorName()); + } + //鐢宠鏃堕棿 + if (param.getCreateTimeStart() != null) { + sql.append(" and CREATE_TIME >=:createTimeStart "); + paramts.put("createTimeStart", param.getCreateTimeStart() * 1000000); + } + if (param.getCreateTimeEnd() != null) { + sql.append(" and CREATE_TIME <:createTimeEnd "); + paramts.put("createTimeEnd", param.getCreateTimeEnd() * 1000000 + 240000); + } + //鎺ユ敹鏃堕棿 + if (param.getInTimeStart() != null) { + sql.append(" and IN_TIME >=:inTimeStart "); + paramts.put("inTimeStart", param.getInTimeStart() * 1000000); + } + if (param.getInTimeEnd() != null) { + sql.append(" and IN_TIME <:inTimeEnd "); + paramts.put("inTimeEnd", param.getInTimeEnd() * 1000000 + 240000); + } + + sql.append(" ORDER BY CREATE_TIME DESC"); + GenericPager genericPager = selectSplit(sql.toString(), paramts, new LWhFormTransfer()); + return genericPager; + + } + + /** + * @Description 鏍规嵁id鏌ヨ璇︽儏 + * @Author 鍗㈠簡闃� + * @Date 2023/10/30 + */ + public LWhFormTransferVo getById(Long id) { + LWhFormTransferVo vo = new LWhFormTransferVo(); + //1.鏌ヨ璋冩嫧鍗� + LWhFormTransfer lWhFormTransfer = this.get(new LWhFormTransfer(id)); + if (lWhFormTransfer != null) { + BeanUtils.copyProperties(lWhFormTransfer,vo); + } + //2.鏌ヨ鐗╁搧鍨嬪彿 +// this.lWhProcureModelService.getModelByForm(id) + return null; + } +} -- Gitblit v1.9.1