From 4695b1501f8dd6850730aeb4131f88fef0e14c9f Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期二, 12 十二月 2023 10:28:56 +0800 Subject: [PATCH] 物品导入 --- consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java | 73 ++++++++++++++++++++---------------- 1 files changed, 40 insertions(+), 33 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java b/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java index da2fb8c..7a5e781 100644 --- a/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java +++ b/consum-base/src/main/java/com/consum/base/controller/BaseGoodsTemplateController.java @@ -1,9 +1,11 @@ package com.consum.base.controller; import java.io.IOException; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import org.apache.commons.compress.utils.Lists; import org.springframework.beans.factory.annotation.Autowired; @@ -26,10 +28,12 @@ import com.consum.base.pojo.BaseGoodsTemplateParam; import com.consum.base.pojo.excel.ImportGoodsInfoTemplate; import com.consum.base.pojo.response.GoodsTemplateVO; +import com.consum.base.service.BaseCategoryService; import com.consum.base.service.BaseGoodsTemplateService; import com.consum.base.service.BaseWarehouseService; import com.consum.base.service.FinSysTenantService; import com.consum.base.service.LWhGoodsService; +import com.consum.model.po.BaseCategory; import com.consum.model.po.BaseGoodsModels; import com.consum.model.po.BaseGoodsTemplate; import com.consum.model.po.BaseWarehouse; @@ -38,7 +42,6 @@ import com.consum.model.po.SDictData; import com.consum.model.vo.BaseGoodsTemplateVo; import com.walker.db.page.GenericPager; -import com.walker.infrastructure.utils.DateUtils; import com.walker.infrastructure.utils.StringUtils; import com.walker.web.ResponseValue; @@ -66,6 +69,9 @@ @Autowired private FinSysTenantService finSysTenantService; + + @Autowired + private BaseCategoryService baseCategoryService; /** * @Description 鏂板鐗╁搧妯℃澘 @@ -298,48 +304,47 @@ String categoryOne = data.getCategoryOne(); String categoryTwo = data.getCategoryTwo(); String categoryThree = data.getCategoryThree(); - String goodName = data.getGoodName(); - String goodModel = data.getGoodModel(); + String goodsName = data.getGoodsName(); + String goodModelName = data.getGoodModelName(); String unit = data.getUnit(); String type = data.getType(); String agencyName = data.getAgencyName(); - list.stream().forEach(item -> { - if (!item.getCategoryId().equals(categoryThree)) { - BaseGoodsTemplateParam baseGoodsTemplate = new BaseGoodsTemplateParam(); - baseGoodsTemplate.setCategoryId(Long.valueOf(categoryThree)); - baseGoodsTemplate.setGoodsName(goodName); - baseGoodsTemplate.setStates(1); - FinSysTenant finSysTenant = finSysTenantService.selectByName(agencyName); - baseGoodsTemplate.setAgencyId(finSysTenant.getId()); + BaseCategory baseCategory = baseCategoryService.getByCategoryByName(categoryThree); + Long categoryId = baseCategory.getId(); - List<BaseGoodsModels> models = Lists.newArrayList(); - BaseGoodsModels baseGoodsModels = new BaseGoodsModels(); - baseGoodsModels.setModelName(goodModel); - baseGoodsModels.setStates(1); - baseGoodsModels.setGoodsTemplatesId(item.getId()); - baseGoodsModels.setUnit(unit); - baseGoodsModels.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); - models.add(baseGoodsModels); - baseGoodsTemplate.setModels(models); - } else { - List<BaseGoodsModels> models = item.getModels(); - BaseGoodsModels baseGoodsModels = new BaseGoodsModels(); - baseGoodsModels.setModelName(goodModel); - baseGoodsModels.setStates(1); - baseGoodsModels.setGoodsTemplatesId(item.getId()); - baseGoodsModels.setUnit(unit); - baseGoodsModels.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); - models.add(baseGoodsModels); - } - }); + 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); + } } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { - for (BaseGoodsTemplateParam a : list) { - baseGoodsTemplateService.add(a, sysInfo); + for (BaseGoodsTemplateParam baseGoodsTemplate : list) { + baseGoodsTemplateService.add(baseGoodsTemplate, null); } } @@ -350,6 +355,8 @@ Integer row = excelDataConvertException.getRowIndex() + 1; Integer column = excelDataConvertException.getColumnIndex() + 1; throw new RuntimeException("绗�" + row + "琛岋紝绗�" + column + "鍒楄В鏋愬紓甯革紝璇锋纭~鍐�"); + } else { + throw new RuntimeException(exception.getMessage()); } } }).sheet(0).doRead(); -- Gitblit v1.9.1