From 33032d320cb75854def7391026b0401f1bfb8360 Mon Sep 17 00:00:00 2001 From: 黎星凯 <13949086503@163.com> Date: 星期六, 11 五月 2024 17:26:02 +0800 Subject: [PATCH] 20240511修改: 分发单优化, 分类,物品,分发单明细,采购单明细数据导入 --- consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java | 434 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 413 insertions(+), 21 deletions(-) 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 ba8e8dc..61409c5 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 @@ -1,6 +1,7 @@ package com.consum.base.controller; import java.lang.reflect.Field; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Comparator; import java.util.HashMap; @@ -10,10 +11,24 @@ import java.util.Set; import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; + +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.EasyExcelFactory; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.alibaba.excel.exception.ExcelAnalysisException; +import com.alibaba.excel.exception.ExcelDataConvertException; import com.alibaba.fastjson.JSONObject; +import com.consum.base.pojo.*; +import com.consum.base.pojo.excel.ImportProcureOrderTemplate; +import com.consum.base.pojo.excel.LWhFormTransferTemplate; +import com.consum.base.pojo.query.WarehouseQry; +import com.consum.base.service.*; +import com.consum.base.util.DateUtil; import com.consum.base.util.ExcelStyleUtil; +import com.consum.model.po.*; import org.apache.commons.compress.utils.Lists; import org.apache.commons.lang3.ObjectUtils; import org.apache.poi.ss.usermodel.Workbook; @@ -27,10 +42,6 @@ import com.consum.base.core.type.TransferStatesType; import com.consum.base.core.utils.CommonUtil; import com.consum.base.core.utils.IdUtil; -import com.consum.base.pojo.GoodsUseRecordVO; -import com.consum.base.pojo.LWhFormTransferGoodsInfoParam; -import com.consum.base.pojo.RecordUserInfoVO; -import com.consum.base.pojo.UseRecordSkuVO; import com.consum.base.pojo.dto.GoodsInfoDTO; import com.consum.base.pojo.dto.UseRecordDTO; import com.consum.base.pojo.excel.TransferExcelTemplate; @@ -42,20 +53,7 @@ import com.consum.base.pojo.response.GoodsTemplateCountVO; import com.consum.base.pojo.response.LWHFromTransferExtendVO; import com.consum.base.pojo.response.TransferInfoVO; -import com.consum.base.service.BaseWarehouseService; -import com.consum.base.service.LGoodsUserRecordCoreService; -import com.consum.base.service.LWhFormTransferService; -import com.consum.base.service.LWhGoodsService; -import com.consum.base.service.LWhProcureModelService; -import com.consum.base.service.LWhProcureModelUserRecordService; -import com.consum.base.service.LWhProcureModelUserService; import com.consum.base.service.core.LWhFormTransferCoreService; -import com.consum.model.po.BaseWarehouse; -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.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.CollectionUtils; @@ -68,6 +66,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.springframework.web.multipart.MultipartFile; /** * @Description 璋冩嫧绠$悊 @@ -95,6 +94,14 @@ private LWhGoodsService lWhGoodsService; @Autowired private BaseWarehouseService baseWarehouseService; + @Autowired + private FinSysTenantDepartmentService departmentService; + @Autowired + private BaseCategoryService baseCategoryService; + @Autowired + private BaseGoodsTemplateService baseGoodsTemplateService; + @Autowired + private BaseGoodsModelsService baseGoodsModelsService; /** * @Description 鏂板 @@ -118,10 +125,69 @@ return ResponseValue.error("璋冩嫧鍗曚笉鑳戒负绌�"); } long id = this.lWhFormTransferService.add(param, this.getSysInfo(), StrUtil.isEmpty(param.getProcureDoc())); - if(id == -1L){ + if (id == -1L) { return ResponseValue.error("鎮ㄤ笉鏄簱绠″憳"); } - if(id == -2L){ + if (id == -2L) { + return ResponseValue.error("浠撳簱涓嶅瓨鍦�"); + } + + Integer transferBusinessType = param.getTransferBusinessType(); + // 閮ㄩ棬鍒嗗彂涓氬姟闇�瑕佸鐞� + // 鎷嗗垎 鏂伴�昏緫 + if (transferBusinessType == 1 && !StrUtil.isEmpty(param.getProcureDoc())) { + // 鍏堝嚭搴擄紝鍐嶅叆搴� + // 鍑哄簱鍓� 璁剧疆鍑哄簱浠撳簱 + List<LWhProcureModel> modelByForm = lWhProcureModelService.getModelByForm(WhBusinessEnum.BUMENFENFA, id); + Set<Long> baseModelIds = + modelByForm.stream().map(LWhProcureModel::getBaseGoodsModelsId).collect(Collectors.toSet()); + + FinSysTenantUser sysTenantUser = this.getSysInfo(); + String agencyId = sysTenantUser.getTenantId(); + List<BaseWarehouse> baseWarehouseList = + baseWarehouseService.getBaseWareHouseList(Long.valueOf(agencyId), StatesType.NORMAL.getValue()); + Set<Long> wareHouseIds = baseWarehouseList.stream().map(BaseWarehouse::getId).collect(Collectors.toSet()); + // 閫氳繃璋冩嫧鍗曚腑鐨勫瀷鍙穒d鏌ヨ鍑鸿鍨嬪彿鐗╁搧鎵�鍦ㄧ殑浠撳簱浣嶇疆 + List<GoodsInfoDTO> goodsInfoDTOS = lWhGoodsService.queryGoodsInfo(baseModelIds, wareHouseIds, null); + GoodsInfoDTO goodsInfoDTO = goodsInfoDTOS.stream().findFirst().orElse(null); + if (ObjectUtils.isEmpty(goodsInfoDTO)) { + return ResponseValue.error("璇ュ瀷鍙锋病鏈夊簱瀛樺彲浣跨敤"); + } + + Long wareHouseId = goodsInfoDTO.getWarehouseId(); + String warehouseName = goodsInfoDTO.getWarehouseName(); + LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(id); + lWhFormTransfer.setOutWarehouseId(wareHouseId); + lWhFormTransfer.setOutWarehouseName(warehouseName); + lWhFormTransferService.update(lWhFormTransfer); + Long l = lWhFormTransferCoreService.doTransferOutPutNew(id, getCurrentUser(), WhBusinessEnum.BUMENFENFA); + if (l == -1L) { + return ResponseValue.error("浠撳簱鏁伴噺涓嶈冻"); + } + lWhFormTransferCoreService.doTransferInPut(id, getCurrentUser(), param.getOperatorName()); + } + + return ResponseValue.success(); + } + + + public ResponseValue add2(LWhFormTransferParam param) throws Exception { + S_user_core currentUser = this.getCurrentUser(); + if (currentUser == null) { + return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); + } + List<LWhFormTransferGoodsInfoParam> transferGoods = param.getTransferGoods(); + if (CollectionUtils.isEmpty(transferGoods)) { + return ResponseValue.error("璋冩嫧鍗曚笉鑳戒负绌�"); + } + + FinSysTenantUser sysInfo = this.getSysInfo(); + + long id = this.lWhFormTransferService.add(param, sysInfo, true); + if (id == -1L) { + return ResponseValue.error("鎮ㄤ笉鏄簱绠″憳"); + } + if (id == -2L) { return ResponseValue.error("浠撳簱涓嶅瓨鍦�"); } @@ -154,7 +220,7 @@ lWhFormTransfer.setOutWarehouseName(warehouseName); lWhFormTransferService.update(lWhFormTransfer); Long l = lWhFormTransferCoreService.doTransferOutPutNew(id, getCurrentUser(), WhBusinessEnum.BUMENFENFA); - if(l == -1L){ + if (l == -1L) { return ResponseValue.error("浠撳簱鏁伴噺涓嶈冻"); } lWhFormTransferCoreService.doTransferInPut(id, getCurrentUser(), param.getOperatorName()); @@ -409,7 +475,7 @@ if (type == 0) { params = new TemplateExportParams("import/璋冩嫧鍏ュ簱鍗�.xls"); fileName = "璋冩嫧鍏ュ簱鍗�"; - }else if (type == 1) { + } else if (type == 1) { params = new TemplateExportParams("import/璋冩嫧鍏ュ簱鍗�1.xls"); fileName = "璋冩嫧鍏ュ簱鍗�"; } else { @@ -614,4 +680,330 @@ lWhFormTransferService.queryDepartmentTransferOrder(); return ResponseValue.success(transferInfoVO); } + + /** + * 鍒嗗彂鍗曞鍏� + * + * @param file + * @return + */ + @ApiOperation(value = "鍒嗗彂鍗曞鍏�", notes = "鍒嗗彂鍗曞鍏�") + @PostMapping("/import2") + public ResponseValue import2(MultipartFile file) { + String originalFilename = file.getOriginalFilename(); + // 鏂囦欢鏍煎紡鏍¢獙 +// if (!".xls".endsWith(originalFilename)) { +// return ResponseValue.error("鏂囦欢鏍煎紡鏈夎!"); +// } + FinSysTenantUser sysInfo = this.getSysInfo(); + if (sysInfo == null) { + return ResponseValue.error("褰撳墠鐧诲綍鐢ㄦ埛涓虹┖"); + } + try { + EasyExcelFactory.read(file.getInputStream(), LWhFormTransferTemplate.class, + new AnalysisEventListener<LWhFormTransferTemplate>() { + /** + * 鍒嗗彂鍗曚富鏁版嵁 + */ + final List<LWhFormTransferGoodsInfoParam> list = Lists.newArrayList(); + + /** + * 鍒嗗彂鍗曠殑澶栧眰鐨勪富鏁版嵁 + */ + final LWhFormTransferParam lWhFormTransferParam = new LWhFormTransferParam(); + + /** + * 琛岀储寮� + */ + Integer index = 0; + + /** + * 琛ㄥご淇℃伅 + * @param headMap + * @param context + */ + @Override + public void invokeHeadMap(Map headMap, AnalysisContext context) { + // 楠岃瘉琛ㄥご鏁伴噺 + logger.info("瑙f瀽鍒嗗彂鍗曠殑琛ㄥご闀垮害: {}", headMap.size()); + if (headMap.size() != 15) { + throw new ExcelAnalysisException("涓婁紶鐨勬枃浠朵笉绗�!"); + } + } + + /** + * 瀵煎叆涓�(鏂囦欢鏁版嵁澶勭悊) + * @param data + * @param analysisContext + */ + @Override + public void invoke(LWhFormTransferTemplate data, AnalysisContext analysisContext) { + index++; + String categoryOne = data.getCategoryOne(); + String categoryTwo = data.getCategoryTwo(); + String categoryThree = data.getCategoryThree(); + if (StrUtil.isEmpty(categoryThree)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝鍝佺被鍚嶇О涓嶈兘涓虹┖锛�" + categoryThree); + } + String goodsName = data.getGoodsName(); + if (StrUtil.isEmpty(goodsName)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝鍝佸悕涓嶈兘涓虹┖锛�" + goodsName); + } + String goodModelName = data.getGoodModelName(); + if (StrUtil.isEmpty(goodModelName)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝瑙勬牸鍨嬪彿涓嶈兘涓虹┖锛�" + goodModelName); + } + String unit = data.getUnit(); + String type = data.getType(); + if (StrUtil.isEmpty(type)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝绠$悊鍒嗙被涓嶈兘涓虹┖锛�" + type); + } + String agencyName = data.getAgencyName(); + if (StrUtil.isEmpty(agencyName)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝鍒涘缓鏈烘瀯涓嶈兘涓虹┖锛�" + agencyName); + } + //String warehouseName = data.getWarehouseName(); + String supplierName = data.getSupplierName(); + //String price = data.getPrice(); + String num = data.getNum(); + if (StrUtil.isEmpty(num)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝棰嗙敤鏁伴噺涓嶈兘涓虹┖锛�" + num); + } + // 鐗╁搧绫诲瀷(鑷噰闆嗛噰) + //String goodsType = data.getGoodsType(); + // 浣跨敤浜洪儴闂� + String userDepartment = data.getUserDepartment(); + if (StrUtil.isEmpty(userDepartment)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝浣跨敤浜洪儴闂ㄤ笉鑳戒负绌猴細" + userDepartment); + } + // 濉姤浜� + String reportedBy = data.getReportedBy(); + if (StrUtil.isEmpty(reportedBy)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝濉姤浜轰笉鑳戒负绌猴細" + reportedBy); + } + // 浣跨敤浜� + String user = data.getUser(); + if (StrUtil.isEmpty(user)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝浣跨敤浜轰笉鑳戒负绌猴細" + user); + } + // 鑱旂郴鐢佃瘽 + String userContactPhone = data.getUserContactPhone(); + if (StrUtil.isEmpty(userContactPhone)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝鑱旂郴鐢佃瘽涓嶈兘涓虹┖锛�" + userContactPhone); + } + // 绗竴娆¤繘鏉ユ妸澶栧眰鐨勫�艰缃竴涓� + if (StrUtil.isEmpty(lWhFormTransferParam.getDepartmentName())) { + // 鏈烘瀯id (鏍规嵁 鏈烘瀯鍚嶇О鍜岄儴闂ㄥ悕绉� 鏌ユ壘瀵瑰簲鐨刬d) + FinSysTenantDepartment finSysTenantDepartment = departmentService.queryIdByTenDepName(agencyName, userDepartment); + if (finSysTenantDepartment == null) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹� " + "鏈烘瀯-閮ㄩ棬鏈壘鍒帮細[" + agencyName + "-" + userDepartment + "]"); + } + lWhFormTransferParam.setTransferBusinessType(1); + lWhFormTransferParam.setDepartmentId(finSysTenantDepartment.getId()); + lWhFormTransferParam.setDepartmentName(userDepartment); + lWhFormTransferParam.setOperatorName(reportedBy); + lWhFormTransferParam.setTel(0L); + lWhFormTransferParam.setCreateTime(DateUtil.getNowDate()); + lWhFormTransferParam.setProcureDoc(""); + lWhFormTransferParam.setOutAgencyId(finSysTenantDepartment.getTenantId()); + } + // 鏌ヨ鍒嗙被id + BaseCategory baseCategory = baseCategoryService.getByCategoryByName(categoryThree); + if (baseCategory == null) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹�" + "姝ゅ垎绫绘湭鎵惧埌锛�" + categoryThree); + } + Long categoryId = baseCategory.getId(); + // 涓嶅悓閲囬泦绫诲瀷锛屼笉鍚岀瓫閫� + Optional<LWhFormTransferGoodsInfoParam> optional = null; + // 绛涢�夌被鍨� + optional = list.stream().filter(item -> item.getBaseCategoryId().equals(categoryId)).findFirst(); + // 绛涢�夌墿鍝佸悕 + Optional<LWhFormTransferGoodsInfoParam> optional2 = + list.stream().filter(item -> item.getGoodsTemplateName().equals(goodsName)).findFirst(); + // 鏁版嵁绗簩灞�-鐗╁搧鐨刬d + BaseGoodsTemplate goodsTemplate = baseGoodsTemplateService.getByGoodsNameAndCategoryId(goodsName, categoryId); + if (goodsTemplate == null) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹�" + "姝ょ墿鍝佹湭鎵惧埌锛�" + goodsName); + } + if (optional.isPresent() && optional2.isPresent()) { + // 鍐呭眰list(棰嗙敤浜�) + List<LWhTransferModelParam> models3 = optional.get().getModels(); + // 鎵惧瀷鍙峰悕瀛椾竴鏍风殑 + Optional<LWhTransferModelParam> optional3 = + models3.stream().filter(item -> item.getBaseGoodsModelsName().equals(goodModelName)).findFirst(); + int counts = 0; + for (LWhTransferModelParam m : models3) { + int addNum = 0; + if (m.getNum() != null) { + addNum = m.getCounts(); + } + counts += addNum; + } + // 鍚屼竴涓瀷鍙风殑 + if (optional3.isPresent()) { + if ("A".equals(type)) { + LWhProcureModelUserParam lWhProcureModelUserParam = new LWhProcureModelUserParam(); + lWhProcureModelUserParam.setGoodsNum(Integer.valueOf(num)); + lWhProcureModelUserParam.setNowUserName(user); + lWhProcureModelUserParam.setNowUserPhone(new Long(userContactPhone)); + Integer counts1 = optional3.get().getCounts(); + Integer num1 = optional3.get().getNum(); + optional3.get().setCounts(Integer.valueOf(num) + counts1); + optional3.get().setNum(Integer.valueOf(num) + num1); + optional3.get().getProcureModelUserList().add(lWhProcureModelUserParam); + } else { + Integer counts1 = optional3.get().getCounts(); + Integer num1 = optional3.get().getNum(); + optional3.get().setCounts(Integer.valueOf(num) + counts1); + optional3.get().setNum(Integer.valueOf(num) + num1); + } + } else { + // 姝ょ墿鍝佸彟澶栫殑瑙勬牸鍨嬪彿 + LWhTransferModelParam lWhTransferModelParam = new LWhTransferModelParam(); + // 妯℃澘鐨刬d + BaseGoodsModels selBaseGoodsModels = new BaseGoodsModels(); + selBaseGoodsModels.setModelName(goodModelName); + selBaseGoodsModels.setGoodsTemplatesId(goodsTemplate.getId()); + BaseGoodsModels selByModelNameAndGoodsTemplatesId = baseGoodsModelsService.getByModelNameAndGoodsTemplatesId(selBaseGoodsModels); + if (selByModelNameAndGoodsTemplatesId == null) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹�" + "鍝佸悕锛�" + goodsName + "锛岃鏍煎瀷鍙凤細" + goodModelName + "鏈壘鍒�"); + } + lWhTransferModelParam.setBaseGoodsModelsId(selByModelNameAndGoodsTemplatesId.getId()); + // 鍐呭眰list鐨勬暟閲忎箣鍜� + lWhTransferModelParam.setCounts(Integer.valueOf(num)); + // 妯℃澘鍚嶇О + lWhTransferModelParam.setBaseGoodsModelsName(goodModelName); + List<LWhProcureModelUserParam> addLWhProcureModelUserParam = new ArrayList<>(); + LWhProcureModelUserParam lWhProcureModelUserParam = new LWhProcureModelUserParam(); + lWhProcureModelUserParam.setGoodsNum(Integer.valueOf(num)); + + // 鏌ヨ搴撳瓨鏁伴噺 + Integer nowNum = selectAllNumber(lWhFormTransferParam.getOutAgencyId(), selByModelNameAndGoodsTemplatesId.getId()); + if(nowNum<new Integer(num)){ + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹�" + "鍝佸悕锛歔" + goodsName + "] 瑙勬牸鍨嬪彿锛歔" + goodModelName + "] 搴撳瓨鏁伴噺涓嶈冻锛歔"+nowNum+"]"); + } + lWhProcureModelUserParam.setNowUserName(user); + lWhProcureModelUserParam.setNowUserPhone(new Long(userContactPhone)); + addLWhProcureModelUserParam.add(lWhProcureModelUserParam); + lWhTransferModelParam.setProcureModelUserList(addLWhProcureModelUserParam); + optional.get().getModels().add(lWhTransferModelParam); + } + } else { + LWhFormTransferGoodsInfoParam lWhFormTransferGoodsInfoParam = new LWhFormTransferGoodsInfoParam(); + // 鍒嗙被id + lWhFormTransferGoodsInfoParam.setBaseCategoryId(categoryId); + // 鏁版嵁绗簩灞�-鐗╁搧鐨刬d + //BaseGoodsTemplate goodsTemplate = baseGoodsTemplateService.getByGoodsNameAndCategoryId(goodsName, categoryId); + BaseGoodsModels selBaseGoodsModels = new BaseGoodsModels(); + selBaseGoodsModels.setModelName(goodModelName); + selBaseGoodsModels.setGoodsTemplatesId(goodsTemplate.getId()); + BaseGoodsModels selByModelNameAndGoodsTemplatesId = baseGoodsModelsService.getByModelNameAndGoodsTemplatesId(selBaseGoodsModels); + if (selByModelNameAndGoodsTemplatesId == null) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹� " + "鍝佸悕锛�" + goodsName + "锛岃鏍煎瀷鍙凤細" + goodModelName + "鏈壘鍒�"); + } + // 鐗╁搧鐨刬d 锛氱埍鐜涚數鍔ㄨ溅 + lWhFormTransferGoodsInfoParam.setBaseGoodsTemplateId(goodsTemplate.getId()); + lWhFormTransferGoodsInfoParam.setGoodsTemplateName(goodsName); + // 鍐呭眰 + LWhTransferModelParam lWhTransferModelParam = new LWhTransferModelParam(); + // 瑙勬牸id + lWhTransferModelParam.setBaseGoodsModelsId(selByModelNameAndGoodsTemplatesId.getId()); + // 鏂板鐨勬椂鍊欓粯璁や竴鏉� + lWhTransferModelParam.setCounts(new Integer(num)); + lWhTransferModelParam.setNum(new Integer(num)); + List<LWhProcureModelUserParam> lWhFormProcureGoodsInfoParam = new ArrayList<>(); + LWhProcureModelUserParam lWhProcureModelUserParam = new LWhProcureModelUserParam(); + lWhProcureModelUserParam.setGoodsNum(Integer.valueOf(num)); + + // 鏌ヨ搴撳瓨鏁伴噺 + Integer nowNum = selectAllNumber(lWhFormTransferParam.getOutAgencyId(), selByModelNameAndGoodsTemplatesId.getId()); + if(nowNum<new Integer(num)){ + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹� " + "鍝佸悕锛歔" + goodsName + "] 瑙勬牸鍨嬪彿锛歔" + goodModelName + "] 搴撳瓨鏁伴噺涓嶈冻锛歔"+nowNum+"]"); + } + + lWhProcureModelUserParam.setNowUserName(user); + lWhProcureModelUserParam.setNowUserPhone(new Long(userContactPhone)); + lWhFormProcureGoodsInfoParam.add(lWhProcureModelUserParam); + lWhTransferModelParam.setProcureModelUserList(lWhFormProcureGoodsInfoParam); + lWhTransferModelParam.setBaseGoodsModelsName(goodModelName); + List<LWhTransferModelParam> lWhTransferModelParams = new ArrayList<>(); + lWhTransferModelParams.add(lWhTransferModelParam); + lWhFormTransferGoodsInfoParam.setModels(lWhTransferModelParams); + lWhFormTransferGoodsInfoParam.setType(type); + list.add(lWhFormTransferGoodsInfoParam); + } + } + + /** + * 鍒嗗彂鍗曞鍏ヤ富鏂规硶 + * @param analysisContext + */ + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + lWhFormTransferParam.setTransferGoods(list); + long id = IdUtil.generateId(); + //lWhFormTransferParam.setProcureDoc("[{\"fileType\":\"png\",\"id\":\"883654049218335\",\"name\":\"寰俊鎴浘_20240426143552.png\",\"url\":\"http://172.16.60.172:8083/lowConsum/file/2024/5/883654049218335.png\",\"path\":\"2024/5/883654049218335.png\",\"attSize\":6772}]"); + lWhFormTransferParam.setProcureDoc("-"); + lWhFormTransferParam.setId(id); + String jsonString = JSONObject.toJSONString(lWhFormTransferParam); + logger.info("瀵煎叆鍒嗗彂鍗昷son鏁版嵁 --------------------"); + logger.info(jsonString); + // 鍒嗗彂鍗曟嵁 + try { + ResponseValue responseValue = add2(lWhFormTransferParam); + logger.info(responseValue.toString()); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException(e); + } + } + + @Override + public void onException(Exception exception, AnalysisContext analysisContext) throws Exception { + if (exception instanceof ExcelDataConvertException) { + ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException) exception; + Integer row = excelDataConvertException.getRowIndex() + 1; + Integer column = excelDataConvertException.getColumnIndex() + 1; + throw new ExcelAnalysisException("绗�" + row + "琛岋紝绗�" + column + "鍒楄В鏋愬紓甯革紝璇锋纭~鍐�"); + } else { + throw new ExcelAnalysisException(exception.getMessage()); + } + } + }).sheet(0).doRead(); + } catch (ExcelAnalysisException e) { + return ResponseValue.error(e.getMessage()); + } catch (RuntimeException e) { + e.printStackTrace(); + return ResponseValue.error("绯荤粺閿欒"); + } catch (Exception e) { + e.printStackTrace(); + return ResponseValue.error("绯荤粺閿欒"); + } + return ResponseValue.success("瀵煎叆鎴愬姛!"); + } + + + /** + * 鏌ヨ搴撳瓨Id + * @param agencyId + * @param baseGoodsModelsId + * @return + */ + public Integer selectAllNumber(Long agencyId,Long baseGoodsModelsId) { + WarehouseQry warehouseQry = new WarehouseQry(); + warehouseQry.setAgencyId(agencyId); + warehouseQry.setBaseGoodsModelsId(baseGoodsModelsId); + List<BaseWarehouse> baseWarehouseList = + baseWarehouseService.getBaseWareHouseList(agencyId, StatesType.NORMAL.getValue()); + List<Long> warehouseIdList = baseWarehouseList.stream().map(BaseWarehouse::getId).collect(Collectors.toList()); + Integer warehouseType = warehouseQry.getWarehouseType(); + Integer states = warehouseQry.getStates(); + Integer buyType = warehouseQry.getBuyType(); + // 璋冩嫧鏃跺彧鏌ユ満鏋勭被鍨嬬殑闆嗛噰浠撳簱搴撳瓨 + // 閮ㄩ棬鍒嗗彂鏃朵笉鍒嗘満鏋勫拰閮ㄩ棬锛屽洜涓鸿皟鎷ㄨ繘鏉ョ殑鐗╁搧涔熺畻鍦ㄥ簱瀛橀噷鍙槸绫诲瀷涓洪儴闂紝鍚屾牱妫�瑙嗘墍鏈変粨搴撹鍨嬪彿鐨勬暟閲� + int num = lWhGoodsService.queryGoodsModelInWareHouseNum(warehouseType, warehouseIdList, baseGoodsModelsId, + states, buyType); + return num; + } + } -- Gitblit v1.9.1