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/LWhFormProcureController.java | 374 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 285 insertions(+), 89 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java index e6538a8..ef8e0db 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java @@ -2,25 +2,34 @@ import java.io.IOException; import java.lang.reflect.Field; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; - import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.exception.ExcelAnalysisException; +import com.alibaba.fastjson.JSONObject; +import com.consum.base.core.utils.IdUtil; +import com.consum.base.pojo.*; +import com.consum.base.service.*; +import com.consum.base.util.DateUtil; +import com.consum.model.po.*; import org.apache.commons.compress.utils.Lists; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; - import com.alibaba.excel.EasyExcelFactory; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; @@ -28,8 +37,6 @@ import com.consum.base.BaseController; import com.consum.base.core.utils.CommonUtil; import com.consum.base.core.utils.PageUtil; -import com.consum.base.pojo.LWhFormProcureGoodsInfoParam; -import com.consum.base.pojo.LWhFormProcureParam; import com.consum.base.pojo.dto.GoodModelInfoDTO; import com.consum.base.pojo.excel.ImportProcureOrderTemplate; import com.consum.base.pojo.excel.ProcureExcelTemplate; @@ -39,21 +46,12 @@ import com.consum.base.pojo.response.GoodsTemplateCountVO; import com.consum.base.pojo.response.GoodsTemplateInfoVO; import com.consum.base.pojo.response.LWhFormProcureExtendVO; -import com.consum.base.service.BaseCategoryService; -import com.consum.base.service.LWhFormProcureGoodsService; -import com.consum.base.service.LWhFormProcureService; -import com.consum.base.service.LWhProcureModelService; import com.consum.base.service.core.LWhFormProcureCoreService; -import com.consum.model.po.BaseCategory; -import com.consum.model.po.FinSysTenantUser; -import com.consum.model.po.LWhFormProcure; -import com.consum.model.po.LWhFormProcureGoods; 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.web.ResponseValue; - import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import cn.hutool.core.util.ReflectUtil; @@ -83,6 +81,24 @@ private LWhProcureModelService lWhProcureModelService; @Resource private BaseCategoryService baseCategoryService; + + /** + * 浠撳簱鏈嶅姟 + */ + @Autowired + private BaseWarehouseService baseWarehouseService; + + /** + * 鍏ュ簱id + */ + @Autowired + private BaseGoodsTemplateService baseGoodsTemplateService; + + /** + * 鐗╁搧model鏈嶅姟 + */ + @Autowired + private BaseGoodsModelsService baseGoodsModelsService; /** * @Description 鏂板 @@ -116,7 +132,7 @@ */ @ApiOperation(value = "閲囪喘鍗曞垪琛ㄦ煡璇�", notes = "閲囪喘鍗曞垪琛ㄦ煡璇�") @ApiImplicitParams({@ApiImplicitParam(name = "param", value = "閲囪喘鏌ヨ鏉′欢", required = true, - dataType = "FormProcureQryDto", paramType = "query")}) + dataType = "FormProcureQryDto", paramType = "query")}) @GetMapping("/list") public ResponseValue queryFormProcureList() { FormProcureQry param = CommonUtil.getObjFromReq(FormProcureQry.class); @@ -143,7 +159,7 @@ // 鏌ヨ鍨嬪彿鏁伴噺 List<GoodsTemplateCountVO> procureCount = - lWhProcureModelService.getProcureCountByBusinessId(item.getId()); + lWhProcureModelService.getProcureCountByBusinessId(item.getId()); fromProcureVO.setFromProcureTemplateInfoList(procureCount); result.add(fromProcureVO); @@ -238,7 +254,7 @@ BeanUtils.copyProperties(formProcureGood, goodsTemplateInfoVO); List<GoodModelInfoDTO> goodsModelInfoList = - lWhProcureModelService.getGoodsModelListByBusinessId(null, formProcureGood.getId()); + lWhProcureModelService.getGoodsModelListByBusinessId(null, formProcureGood.getId()); if (CollectionUtils.isEmpty(goodsModelInfoList)) { continue; } @@ -268,7 +284,7 @@ goodsModelVO.setUnit(goodModelInfo.getUnit()); goodsModelVO.setCounts(goodModelInfo.getCounts()); goodsModelVO.setTotalAmount( - goodModelInfo.getTotalAmount() != null ? goodModelInfo.getTotalAmount().doubleValue() : null); + goodModelInfo.getTotalAmount() != null ? goodModelInfo.getTotalAmount().doubleValue() : null); goodsModelVO.setWorehouseCount(goodModelInfo.getWorehouseCount()); goodsModelVO.setPrice(goodModelInfo.getPrice()); goodsModelVO.setBaseGoodsModelsId(goodModelInfo.getBaseGoodsModelsId()); @@ -277,7 +293,7 @@ @ApiOperation(value = "閲囪喘鍗曟槑缁嗘煡璇�", notes = "閲囪喘鍗曟槑缁嗘煡璇�") @ApiImplicitParams({@ApiImplicitParam(name = "param", value = "閲囪喘鍗曟槑缁嗘煡璇�", required = true, - dataType = "FormProcureQryDto", paramType = "query")}) + dataType = "FormProcureQryDto", paramType = "query")}) @GetMapping("detail/list") public ResponseValue queryFormProcureDetailList() { FormProcureQry formProcureQry = CommonUtil.getObjFromReq(FormProcureQry.class); @@ -296,7 +312,7 @@ @ApiOperation(value = "閲囪喘鍗曞鍑�", notes = "閲囪喘鍗曞鍑�") @ApiImplicitParams({ - @ApiImplicitParam(name = "id", value = "閲囪喘鍗昳d", required = true, dataType = "Long", paramType = "query")}) + @ApiImplicitParam(name = "id", value = "閲囪喘鍗昳d", required = true, dataType = "Long", paramType = "query")}) @GetMapping("/list/export") public ResponseValue<String> export(Long id, HttpServletResponse response) throws Exception { TemplateExportParams params = new TemplateExportParams("import/閲囪喘鍏ュ簱鍗�.xls"); @@ -312,9 +328,9 @@ } int countNum = - exportList.stream().filter(item -> item.getNum() != null).mapToInt(ProcureExcelTemplate::getNum).sum(); + exportList.stream().filter(item -> item.getNum() != null).mapToInt(ProcureExcelTemplate::getNum).sum(); double totalAmount = exportList.stream().filter(export -> export.getTotalAmount() != null) - .mapToDouble(ProcureExcelTemplate::getAmount).sum(); + .mapToDouble(ProcureExcelTemplate::getAmount).sum(); Optional<ProcureExcelTemplate> first = exportList.stream().findFirst(); ProcureExcelTemplate templateExcelExport = first.get(); String businessFormCode = templateExcelExport.getBusinessFormCode(); @@ -334,87 +350,267 @@ } + /** + * 閲囪喘鍗曞鍏� + * + * @param file + * @return + */ @ApiOperation(value = "閲囪喘鍗曞鍏�", notes = "閲囪喘鍗曞鍏�") @PostMapping("/import") - public ResponseValue upload(MultipartFile file) throws IOException { + public ResponseValue upload(MultipartFile file) { String originalFilename = file.getOriginalFilename(); - if (!".xls".endsWith(originalFilename)) { - return ResponseValue.error("鏂囦欢鏍煎紡鏈夎!"); - } + // 鏂囦欢鏍煎紡鏍¢獙 +// if (!".xls".endsWith(originalFilename)) { +// return ResponseValue.error("鏂囦欢鏍煎紡鏈夎!"); +// } FinSysTenantUser sysInfo = this.getSysInfo(); if (sysInfo == null) { return ResponseValue.error("褰撳墠鐧诲綍鐢ㄦ埛涓虹┖"); } - EasyExcelFactory.read(file.getInputStream(), ImportProcureOrderTemplate.class, - new AnalysisEventListener<ImportProcureOrderTemplate>() { - List<LWhFormProcureParam> list = Lists.newArrayList(); + try { + EasyExcelFactory.read(file.getInputStream(), ImportProcureOrderTemplate.class, + new AnalysisEventListener<ImportProcureOrderTemplate>() { + /** + * 鑷噰閲囪喘鍗曠殑鍐呭眰鏁版嵁 + */ + final List<LWhFormProcureGoodsInfoParam> zcList = Lists.newArrayList(); - @Override - public void invoke(ImportProcureOrderTemplate data, AnalysisContext analysisContext) { - String categoryOne = data.getCategoryOne(); - String categoryTwo = data.getCategoryTwo(); - String categoryThree = data.getCategoryThree(); - String goodsName = data.getGoodsName(); - String goodModelName = data.getGoodModelName(); - String unit = data.getUnit(); - String type = data.getType(); - String agencyName = data.getAgencyName(); - String warehouseName = data.getWarehouseName(); - String supplierName = data.getSupplierName(); - String price = data.getPrice(); - String num = data.getNum(); + /** + * 闆嗛噰閲囪喘鍗曠殑鍐呭眰鏁版嵁 + */ + final List<LWhFormProcureGoodsInfoParam> jcList = Lists.newArrayList(); - BaseCategory baseCategory = baseCategoryService.getByCategoryByName(categoryThree); - Long categoryId = baseCategory.getId(); + /** + * 閲囪喘鍗曠殑涓绘暟鎹� + */ + final LWhFormProcureParam lWhFormProcureParam = new LWhFormProcureParam(); - // Optional<BaseGoodsTemplateParam> optional = - // list.stream().filter(item -> item.getCategoryId().equals(categoryId)).findFirst(); - // - // if (optional.isPresent()) { - // BaseGoodsModels baseGoodsModels = new BaseGoodsModels(); - // baseGoodsModels.setModelName(goodModelName); - // baseGoodsModels.setUnit(unit); - // optional.get().getModels().add(baseGoodsModels); - // } else { - // BaseGoodsTemplateParam baseGoodsTemplate = new BaseGoodsTemplateParam(); - // baseGoodsTemplate.setCategoryId(categoryId); - // baseGoodsTemplate.setGoodsName(goodsName); - // baseGoodsTemplate.setStates(1); - // FinSysTenant finSysTenant = finSysTenantService.selectByName(agencyName); - // baseGoodsTemplate.setAgencyId(finSysTenant.getId()); - // baseGoodsTemplate.setAgencyName(agencyName); - // - // List<BaseGoodsModels> models = new ArrayList<>(); - // BaseGoodsModels baseGoodsModels = new BaseGoodsModels(); - // baseGoodsModels.setModelName(goodModelName); - // baseGoodsModels.setUnit(unit); - // models.add(baseGoodsModels); - // baseGoodsTemplate.setModels(models); - // - // list.add(baseGoodsTemplate); - // } - } + /** + * 绗嚑鏉℃暟鎹� + */ + Integer index = 0; - @Override - public void doAfterAllAnalysed(AnalysisContext analysisContext) { - for (LWhFormProcureParam procureParam : list) { - // lWhFormProcureService.add(procureParam, null); - } - } + /** + * 琛ㄥご淇℃伅 + * @param headMap + * @param context + */ + @Override + public void invokeHeadMap(Map headMap, AnalysisContext context) { + // 楠岃瘉琛ㄥご鏁伴噺 + logger.info("瑙f瀽鍒嗗彂鍗曠殑琛ㄥご闀垮害: {}", headMap.size()); + if (headMap.size() != 12) { + throw new ExcelAnalysisException("涓婁紶鐨勬枃浠朵笉绗�!"); + } + } - @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 RuntimeException("绗�" + row + "琛岋紝绗�" + column + "鍒楄В鏋愬紓甯革紝璇锋纭~鍐�"); - } else { - throw new RuntimeException(exception.getMessage()); - } - } - }).sheet(0).doRead(); + /** + * 鏁版嵁澶勭悊 + * @param data + * @param analysisContext + */ + @Override + public void invoke(ImportProcureOrderTemplate 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(); + if (StrUtil.isEmpty(unit)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝鍗曚綅涓嶈兘涓虹┖锛�" + unit); + } + String type = data.getType(); + //String agencyName = data.getAgencyName(); + String warehouseName = data.getWarehouseName(); + if (StrUtil.isEmpty(warehouseName)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝鎵�鍦ㄤ粨搴撲笉鑳戒负绌猴細" + warehouseName); + } + String supplierName = data.getSupplierName(); + if (StrUtil.isEmpty(supplierName)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝渚涜揣鍟嗕笉鑳戒负绌猴細" + supplierName); + } + String price = data.getPrice(); + if (StrUtil.isEmpty(price)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝鍗曚环(鍏�)涓嶈兘涓虹┖锛�" + price); + } + String num = data.getNum(); + if (StrUtil.isEmpty(num)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝搴撳瓨鏁伴噺涓嶈兘涓虹┖锛�" + num); + } + // 鐗╁搧绫诲瀷(鑷噰闆嗛噰) + String goodsType = data.getGoodsType(); + if (StrUtil.isEmpty(goodsType)) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝鐗╁搧绫诲瀷涓嶈兘涓虹┖锛�" + goodsType); + } + + // 绗竴娆¤繘鏉ユ妸澶栧眰鐨勫�艰缃竴涓� + if (lWhFormProcureParam.getAgencyId() == null) { + // [閫氳繃浠撳簱鍚嶏紝鏌ユ壘瀵瑰簲鐨勪粨搴搃d] + FinSysTenantUser currentUser = getSysInfo(); + BaseWarehouseParam baseWarehouseParam = new BaseWarehouseParam(); + baseWarehouseParam.setStates(1); + baseWarehouseParam.setWarehouseName(warehouseName); + GenericPager<BaseWarehouse> pager = baseWarehouseService.queryList(baseWarehouseParam, currentUser); + List<BaseWarehouse> datas = pager.getDatas(); + Long ckId = null; + if (!CollectionUtil.isEmpty(datas)) { + BaseWarehouse baseWarehouse = datas.get(0); + ckId = baseWarehouse.getId(); + } else { + // 鎶ラ敊 浠撳簱涓嶅瓨鍦� + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝浠撳簱涓嶅瓨鍦細" + warehouseName); + } + lWhFormProcureParam.setProcureDoc(""); + lWhFormProcureParam.setWarehouseId(ckId); + lWhFormProcureParam.setProcureTime(DateUtil.getNowDate() + ""); + lWhFormProcureParam.setBuyType(2); + } + // 鏌ヨ鍒嗙被id + BaseCategory baseCategory = baseCategoryService.getByCategoryByName(categoryThree); + if (baseCategory == null) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝姝ゅ垎绫讳笉瀛樺湪锛�" + categoryThree); + } + Long categoryId = baseCategory.getId(); + // 涓嶅悓閲囬泦绫诲瀷锛屼笉鍚岀瓫閫� + Optional<LWhFormProcureGoodsInfoParam> optional = null; + if ("鑷噰".equals(goodsType)) { + optional = zcList.stream().filter(item -> item.getCategoryId().equals(categoryId)).findFirst(); + } else if ("闆嗛噰".equals(goodsType)) { + optional = jcList.stream().filter(item -> item.getCategoryId().equals(categoryId)).findFirst(); + } + + Optional<LWhFormProcureGoodsInfoParam> optional1 = null; + if ("鑷噰".equals(goodsType)) { + optional1 = zcList.stream().filter(item -> item.getGoodsTemplateName().equals(goodsName)).findFirst(); + } else if ("闆嗛噰".equals(goodsType)) { + optional1 = jcList.stream().filter(item -> item.getGoodsTemplateName().equals(goodsName)).findFirst(); + } + + // 鍝佺被 鍜� 鍟嗗搧鍚嶅畬鍏ㄤ竴鏍锋墠鍔犲叆 + if (optional.isPresent() && optional1.isPresent()) { + LWhProcureModelParam lWhProcureModelParam = new LWhProcureModelParam(); + lWhProcureModelParam.setCounts(StrUtil.isEmpty(num) ? 0 : Integer.valueOf(num)); + lWhProcureModelParam.setPrice(new BigDecimal(price).multiply(new BigDecimal("100")).longValue()); + lWhProcureModelParam.setBaseUnit(unit); + + + // 鏁版嵁绗簩灞�-鐗╁搧鐨刬d + BaseGoodsTemplate goodsTemplate = baseGoodsTemplateService.getByGoodsNameAndCategoryId(goodsName, categoryId); + if (goodsTemplate == null) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝姝ょ墿鍝佷笉瀛樺湪锛�" + goodsName); + } + BaseGoodsModels baseGoodsModels = new BaseGoodsModels(); + baseGoodsModels.setModelName(goodModelName); + baseGoodsModels.setGoodsTemplatesId(goodsTemplate.getId()); + BaseGoodsModels byModelNameAndGoodsTemplatesId = baseGoodsModelsService.getByModelNameAndGoodsTemplatesId(baseGoodsModels); + if (byModelNameAndGoodsTemplatesId == null) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹�" + "鍝佸悕锛�" + goodsName + "锛岃鏍煎瀷鍙凤細" + goodModelName + "鏈壘鍒�"); + } + lWhProcureModelParam.setBaseGoodsModelsId(byModelNameAndGoodsTemplatesId.getId()); + optional.get().getModels().add(lWhProcureModelParam); + } else { + LWhFormProcureGoodsInfoParam lWhFormProcureGoodsInfoParam = new LWhFormProcureGoodsInfoParam(); + // 鏁版嵁绗簩灞�-鐗╁搧涓夌骇鍒嗙被绗笁绾х殑id + lWhFormProcureGoodsInfoParam.setCategoryId(categoryId); + // 鏁版嵁绗簩灞�-鐗╁搧鐨刬d + BaseGoodsTemplate goodsTemplate = baseGoodsTemplateService.getByGoodsNameAndCategoryId(goodsName, categoryId); + if (goodsTemplate == null) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹紝姝ょ墿鍝佷笉瀛樺湪锛�" + goodsName); + } + lWhFormProcureGoodsInfoParam.setBaseGoodsTemplateId(goodsTemplate.getId()); + // 鏁版嵁绗簩灞�-渚涘簲鍟� + lWhFormProcureGoodsInfoParam.setSupplier(supplierName); + // 鏁版嵁绗簩灞�-鐗╁搧鍚� + lWhFormProcureGoodsInfoParam.setGoodsTemplateName(goodsName); + // 鏁版嵁绗笁灞傛暟鎹� + List<LWhProcureModelParam> lWhProcureModelParams = new ArrayList<>(); + LWhProcureModelParam lWhProcureModelParam = new LWhProcureModelParam(); + lWhProcureModelParam.setCounts(StrUtil.isEmpty(num) ? 0 : Integer.valueOf(num)); + BigDecimal multiply = new BigDecimal(price).multiply(new BigDecimal("100")); + lWhProcureModelParam.setPrice(multiply.longValue()); + lWhProcureModelParam.setBaseUnit(unit); + BaseGoodsModels baseGoodsModels = new BaseGoodsModels(); + baseGoodsModels.setModelName(goodModelName); + baseGoodsModels.setGoodsTemplatesId(goodsTemplate.getId()); + BaseGoodsModels byModelNameAndGoodsTemplatesId = baseGoodsModelsService.getByModelNameAndGoodsTemplatesId(baseGoodsModels); + if (byModelNameAndGoodsTemplatesId == null) { + throw new ExcelAnalysisException("绗�" + index + "鏉℃暟鎹�" + "鍝佸悕锛�" + goodsName + "锛岃鏍煎瀷鍙凤細" + goodModelName + "鏈壘鍒�"); + } + lWhProcureModelParam.setBaseGoodsModelsId(byModelNameAndGoodsTemplatesId.getId()); + lWhProcureModelParams.add(lWhProcureModelParam); + lWhFormProcureGoodsInfoParam.setModels(lWhProcureModelParams); + // 涓嶅悓閲囬泦绫诲瀷鍒颁笉鍚宭ist + if ("鑷噰".equals(goodsType)) { + zcList.add(lWhFormProcureGoodsInfoParam); + } else if ("闆嗛噰".equals(goodsType)) { + jcList.add(lWhFormProcureGoodsInfoParam); + } + } + } + + /** + * 澶勭悊鍚庣殑鏁版嵁瀵煎叆 + * @param analysisContext + */ + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + lWhFormProcureParam.setProcureGoods(zcList); + // 閲囪喘鍗�-鑷噰 + long zcId = IdUtil.generateId(); + lWhFormProcureParam.setId(zcId); + String zcJsonString = JSONObject.toJSONString(lWhFormProcureParam); + logger.info("瀵煎叆閲囪喘鍗�(鑷噰)json鏁版嵁 --------------------"); + logger.info(zcJsonString); + add(lWhFormProcureParam); + + // 閲囪喘鍗�-闆嗛噰 + long jcId = IdUtil.generateId(); + lWhFormProcureParam.setId(jcId); + lWhFormProcureParam.setBuyType(1); + lWhFormProcureParam.setProcureGoods(jcList); + String jcJsonString = JSONObject.toJSONString(lWhFormProcureParam); + logger.info("瀵煎叆閲囪喘鍗�(闆嗛噰)json鏁版嵁 --------------------"); + logger.info(jcJsonString); + add(lWhFormProcureParam); + // 鑷噰鍜岄泦閲囧叆搴� + income(zcId); + income(jcId); + } + + @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("瀵煎叆鎴愬姛!"); } -- Gitblit v1.9.1