diff --git a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsBrandRest.java b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsBrandRest.java index 0870247..7c476b3 100644 --- a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsBrandRest.java +++ b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsBrandRest.java @@ -57,4 +57,9 @@ public class BaseGoodsBrandRest { public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable) { return baseBrandInfoService.updateIsEnable(sid,isEnable); } + @ApiOperation("根据品牌名查询") + @GetMapping("/getBrandByName/{name}") + public ResultBean getBrandByName(@PathVariable("name") String name) { + return baseBrandInfoService.getBrandByName(name); + } } diff --git a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSkuExtendRest.java b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSkuExtendRest.java index f2f460c..3cccacd 100644 --- a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSkuExtendRest.java +++ b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSkuExtendRest.java @@ -1,5 +1,6 @@ package com.yxt.goods.apiadmin; +import com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuDto; import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendDto; import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendQuery; import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendService; @@ -7,11 +8,14 @@ import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendVo; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * @author wangpengfei * @date 2024/3/11 15:05 @@ -35,7 +39,11 @@ public class BaseGoodsSkuExtendRest { public ResultBean saveOrUpdate(@RequestBody BaseGoodsSkuExtendDto dto) { return baseGoodsSkuExtendService.saveOrUpdate(dto); } - + @ApiOperation("保存") + @PostMapping("/batchSave") + public ResultBean batchSave(@RequestBody List dtos) { + return baseGoodsSkuExtendService.skuEBatchSave(dtos); + } @ApiOperation("初始化") @GetMapping("/initialization/{sid}") public ResultBean initialization(@PathVariable("sid") String sid) { diff --git a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSkuRest.java b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSkuRest.java index 7367a9a..6d0c0f3 100644 --- a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSkuRest.java +++ b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSkuRest.java @@ -4,11 +4,14 @@ import com.yxt.goods.biz.base.basegoodssku.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * @author wangpengfei * @date 2024/3/11 14:27 @@ -31,7 +34,11 @@ public class BaseGoodsSkuRest { public ResultBean saveOrUpdate(@RequestBody BaseGoodsSkuDto dto) { return baseGoodsSkuService.saveOrUpdate(dto); } - + @ApiOperation("保存") + @PostMapping("/batchSave") + public ResultBean batchSave(@RequestBody List dtos) { + return baseGoodsSkuService.skuBatchSave(dtos); + } @ApiOperation("初始化") @GetMapping("/initialization/{sid}") public ResultBean initialization(@PathVariable("sid") String sid) { diff --git a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSpuDetailRest.java b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSpuDetailRest.java index 5b7275c..a6cab6a 100644 --- a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSpuDetailRest.java +++ b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSpuDetailRest.java @@ -1,5 +1,6 @@ package com.yxt.goods.apiadmin; +import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuDto; import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailDto; import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailQuery; import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailService; @@ -12,6 +13,8 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * @author wangpengfei * @date 2024/3/21 16:58 @@ -36,7 +39,11 @@ public class BaseGoodsSpuDetailRest { public ResultBean saveOrUpdate(@RequestBody BaseGoodsSpuDetailDto dto) { return baseGoodsSpuDetailService.saveOrUpdate(dto); } - + @ApiOperation("保存") + @PostMapping("/batchSave") + public ResultBean batchSave(@RequestBody List dtos) { + return baseGoodsSpuDetailService.batchSave(dtos); + } @ApiOperation("初始化") @GetMapping("/initialization/{sid}") public ResultBean initialization(@PathVariable("sid") String sid) { diff --git a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSpuRest.java b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSpuRest.java index 5bf4824..4c28483 100644 --- a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSpuRest.java +++ b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsSpuRest.java @@ -10,7 +10,12 @@ import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.List; /** * @author wangpengfei @@ -34,6 +39,11 @@ public class BaseGoodsSpuRest { public ResultBean saveOrUpdate(@RequestBody BaseGoodsSpuDto dto) { return baseGoodsSpuService.saveOrUpdate(dto); } + @ApiOperation("保存") + @PostMapping("/batchSave") + public ResultBean batchSave(@RequestBody List dtos) { + return baseGoodsSpuService.batchSave(dtos); + } // @ApiOperation("保存商品信息及sku") // @PostMapping("/save") // public ResultBean save(@RequestBody BaseGoodsSpuDto dto) { @@ -55,4 +65,9 @@ public class BaseGoodsSpuRest { public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable) { return baseGoodsSpuService.updateIsEnable(sid,isEnable); } + @ApiOperation("导入excel") + @PostMapping(value ="/importExcel" ,consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public ResultBean importExcel(@RequestParam("file") MultipartFile file) throws IOException { + return baseGoodsSpuService.importExcel(file); + } } diff --git a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsTypeRest.java b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsTypeRest.java index 462e8af..d0d10d2 100644 --- a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsTypeRest.java +++ b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsTypeRest.java @@ -58,4 +58,9 @@ public class BaseGoodsTypeRest { public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable) { return baseGoodsTypeService.updateIsEnable(sid,isEnable); } + @ApiOperation("根据类型名查询") + @GetMapping("/getTypeByName/{name}") + public ResultBean getTypeByName(@PathVariable("name") String name) { + return baseGoodsTypeService.getTypeByName(name); + } } diff --git a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsUnitRest.java b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsUnitRest.java index a2f3594..86e3e15 100644 --- a/src/main/java/com/yxt/goods/apiadmin/BaseGoodsUnitRest.java +++ b/src/main/java/com/yxt/goods/apiadmin/BaseGoodsUnitRest.java @@ -58,4 +58,9 @@ public class BaseGoodsUnitRest { public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable) { return baseGoodsUnitService.updateIsEnable(sid,isEnable); } + @ApiOperation("根据单位名查询") + @GetMapping("/getUnitByName/{name}") + public ResultBean getUnitByName(@PathVariable("name") String name) { + return baseGoodsUnitService.getUnitByName(name); + } } diff --git a/src/main/java/com/yxt/goods/apiadmin/BaseManufacturerRest.java b/src/main/java/com/yxt/goods/apiadmin/BaseManufacturerRest.java index bc71035..0653341 100644 --- a/src/main/java/com/yxt/goods/apiadmin/BaseManufacturerRest.java +++ b/src/main/java/com/yxt/goods/apiadmin/BaseManufacturerRest.java @@ -65,5 +65,9 @@ public class BaseManufacturerRest { public ResultBean> getAllTypeByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid) { return baseManufacturerService.getAllTypeByUseOrgSid(useOrgSid); } - + @ApiOperation("根据厂家名查询") + @GetMapping("/getManufacturerByName/{name}") + public ResultBean getManufacturerByName(@PathVariable("name") String name) { + return baseManufacturerService.getManufacturerByName(name); + } } diff --git a/src/main/java/com/yxt/goods/biz/base/basebrandinfo/BaseBrandInfoService.java b/src/main/java/com/yxt/goods/biz/base/basebrandinfo/BaseBrandInfoService.java index ee68ca3..68dfb05 100644 --- a/src/main/java/com/yxt/goods/biz/base/basebrandinfo/BaseBrandInfoService.java +++ b/src/main/java/com/yxt/goods/biz/base/basebrandinfo/BaseBrandInfoService.java @@ -11,6 +11,7 @@ import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.goods.biz.base.basegoodstype.BaseGoodsType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -33,8 +34,8 @@ public class BaseBrandInfoService extends MybatisBaseService qw = new QueryWrapper<>(); - if (StringUtils.isNotBlank(query.getName())) { - qw.like("brandName", query.getName()); + if(StringUtils.isNotBlank(query.getName())){ + qw.like("brandName",query.getName()); } IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.listPage(page, qw); @@ -50,13 +51,11 @@ public class BaseBrandInfoService extends MybatisBaseService> listAll() { - ResultBean rb = ResultBean.fireFail(); - List pagging = baseMapper.selectList(new QueryWrapper().eq("isEnable", 1)); - return rb.success().setData(pagging); - } - + ResultBean rb = ResultBean.fireFail(); + List pagging = baseMapper.selectList(new QueryWrapper().eq("isEnable",1)); + return rb.success().setData(pagging); +} public ResultBean saveOrUpdate(BaseBrandInfoDto dto) { ResultBean rb = ResultBean.fireFail(); String sid = ""; @@ -72,8 +71,8 @@ public class BaseBrandInfoService extends MybatisBaseService().eq("name", dto.getBrandName())); - if (null != goods) { + BaseBrandInfo goods=baseMapper.selectOne(new QueryWrapper().eq("brandName",dto.getBrandName())); + if(null!=goods){ return rb.setMsg("商品名不能重复"); } BaseBrandInfo wmsGoodsBrand = new BaseBrandInfo(); @@ -107,6 +106,7 @@ public class BaseBrandInfoService extends MybatisBaseService getBrandByName(String name) { + ResultBean rb = ResultBean.fireFail(); + BaseBrandInfo type=baseMapper.selectOne(new QueryWrapper().eq("brandName",name)); + return rb.success().setData(type); + } } diff --git a/src/main/java/com/yxt/goods/biz/base/basegoodssku/BaseGoodsSkuService.java b/src/main/java/com/yxt/goods/biz/base/basegoodssku/BaseGoodsSkuService.java index 7e54fc2..308f719 100644 --- a/src/main/java/com/yxt/goods/biz/base/basegoodssku/BaseGoodsSkuService.java +++ b/src/main/java/com/yxt/goods/biz/base/basegoodssku/BaseGoodsSkuService.java @@ -7,7 +7,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendService; import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendVo; import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpu; +import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuDto; import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuService; +import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetail; import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailService; import com.yxt.goods.biz.base.basegoodstype.BaseGoodsType; import com.yxt.goods.biz.base.basegoodstype.BaseGoodsTypeService; @@ -22,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -77,6 +80,24 @@ public class BaseGoodsSkuService extends MybatisBaseService skuBatchSave(List dtos) { + ResultBean rb = ResultBean.fireFail(); + List skus = new ArrayList<>(); + List dtos1=new ArrayList<>(); + for (BaseGoodsSpuDto dto : dtos) { + for (BaseGoodsSkuDto baseGoodsSkus : dto.getBaseGoodsSkus()) { + BaseGoodsSku sku = new BaseGoodsSku(); + BeanUtil.copyProperties(baseGoodsSkus, sku, "id"); + sku.setCreateTime(new DateTime()); + skus.add(sku); + dtos1.add(baseGoodsSkus); + } + } + this.saveBatch(skus); + baseGoodsSkuExtendService.skuEBatchSave(dtos1); + return rb.success().setMsg("成功"); + } + @Transactional public ResultBean saveOrUpdate(List dtos) { ResultBean rb = ResultBean.fireFail(); for (BaseGoodsSkuDto dto : dtos) { diff --git a/src/main/java/com/yxt/goods/biz/base/basegoodsskuextend/BaseGoodsSkuExtendDto.java b/src/main/java/com/yxt/goods/biz/base/basegoodsskuextend/BaseGoodsSkuExtendDto.java index 8cae2a1..89df34f 100644 --- a/src/main/java/com/yxt/goods/biz/base/basegoodsskuextend/BaseGoodsSkuExtendDto.java +++ b/src/main/java/com/yxt/goods/biz/base/basegoodsskuextend/BaseGoodsSkuExtendDto.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.yxt.common.core.dto.Dto; import lombok.Data; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -42,5 +43,7 @@ public class BaseGoodsSkuExtendDto implements Dto { private String sortNo;//排序 private String picUrl;//商品的图片,多个图片以‘,’分割 // private String [] Urls={};//图片数组 - private List urls;//图片数组 + private List urls=new ArrayList<>();//图片数组 + + } diff --git a/src/main/java/com/yxt/goods/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java b/src/main/java/com/yxt/goods/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java index 1a9c270..ad39e3b 100644 --- a/src/main/java/com/yxt/goods/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java +++ b/src/main/java/com/yxt/goods/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java @@ -5,6 +5,9 @@ import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.goods.biz.base.basebrandinfo.BaseBrandInfoService; +import com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuDto; +import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpu; +import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuDto; import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailService; import com.yxt.goods.biz.base.basegoodstype.BaseGoodsTypeService; import com.yxt.goods.biz.base.basemanufacturer.BaseManufacturerService; @@ -19,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; @@ -92,20 +96,37 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService skuEBatchSave(List dtos) { + ResultBean rb = ResultBean.fireFail(); + List spus = new ArrayList<>(); + for (BaseGoodsSkuDto dto : dtos) { + BaseGoodsSkuExtend extend = new BaseGoodsSkuExtend(); + BeanUtil.copyProperties(dto.getBaseGoodsSkuExtend(), extend, "id"); + extend.setCreateTime(new DateTime()); + spus.add(extend); + } + this.saveBatch(spus); + return rb.success().setMsg("成功"); + } + public ResultBean initialization(String sid) { ResultBean rb = ResultBean.fireFail(); BaseGoodsSkuExtendVo vo = baseMapper.getExtendBySid(sid); diff --git a/src/main/java/com/yxt/goods/biz/base/basegoodsspu/BaseGoodsSpuService.java b/src/main/java/com/yxt/goods/biz/base/basegoodsspu/BaseGoodsSpuService.java index 7a058c0..b1f8d26 100644 --- a/src/main/java/com/yxt/goods/biz/base/basegoodsspu/BaseGoodsSpuService.java +++ b/src/main/java/com/yxt/goods/biz/base/basegoodsspu/BaseGoodsSpuService.java @@ -4,15 +4,27 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.goods.apiadmin.base.BaseGoodsBrandRest; +import com.yxt.goods.biz.base.basebrandinfo.BaseBrandInfo; +import com.yxt.goods.biz.base.basebrandinfo.BaseBrandInfoService; +import com.yxt.goods.biz.base.basegoodssku.BaseGoodsSku; +import com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuDto; import com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuService; import com.yxt.goods.biz.base.basegoodssku.BaseGoodsSkuVo; +import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendDto; import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendService; import com.yxt.goods.biz.base.basegoodsskuextend.BaseGoodsSkuExtendVo; import com.yxt.goods.biz.base.basegoodsskuextend.UrlsVo; +import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailDto; import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailService; import com.yxt.goods.biz.base.basegoodsspudetail.BaseGoodsSpuDetailVo; +import com.yxt.goods.biz.base.basegoodstype.BaseGoodsType; +import com.yxt.goods.biz.base.basegoodstype.BaseGoodsTypeService; import com.yxt.goods.biz.base.basegoodsunit.BaseGoodsUnit; import com.yxt.goods.biz.base.basegoodsunit.BaseGoodsUnitService; +import com.yxt.goods.biz.base.basemanufacturer.BaseManufacturer; +import com.yxt.goods.biz.base.basemanufacturer.BaseManufacturerService; +import com.yxt.goods.utils.ExcelUtil; import com.yxt.goods.utils.PinYinUtils; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; @@ -24,11 +36,14 @@ import com.yxt.common.core.vo.PagerVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; +import java.io.IOException; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; /** * @author wangpengfei @@ -46,14 +61,20 @@ public class BaseGoodsSpuService extends MybatisBaseService> listPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); BaseGoodsSpuQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); - if(StringUtils.isNotBlank(query.getName())){ - qw.like("goodsName",query.getName()); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("goodsName", query.getName()); } IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.listPage(page, qw); @@ -69,37 +90,39 @@ public class BaseGoodsSpuService extends MybatisBaseService saveOrUpdate(BaseGoodsSpuDto dto) { ResultBean rb = ResultBean.fireFail(); String sid = ""; - BaseGoodsSpu spun= baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid())); - BaseGoodsUnit baseGoodsUnit=baseGoodsUnitService.getOne(new QueryWrapper().eq("sid",dto.getGoodsUnitSid())); - if(null!=baseGoodsUnit){ + BaseGoodsSpu spun = baseMapper.selectOne(new QueryWrapper().eq("sid", dto.getSid())); + BaseGoodsUnit baseGoodsUnit = baseGoodsUnitService.getOne(new QueryWrapper().eq("sid", dto.getGoodsUnitSid())); + if (null != baseGoodsUnit) { dto.setGoodsUnitName(baseGoodsUnit.getUnitName()); } - if (spun!=null) { - if(!spun.getSid().equals(dto.getSid())){ + if (spun != null) { + if (!spun.getSid().equals(dto.getSid())) { return rb.setMsg("商品编码重复"); } sid = dto.getSid(); BaseGoodsSpu wmsGoods = fetchBySid(dto.getSid()); BeanUtil.copyProperties(dto, wmsGoods); wmsGoods.setModifyTime(new Date()); - wmsGoods.setGoodsPY(PinYinUtils.getPinYinName(wmsGoods.getGoodsName()));; + wmsGoods.setGoodsPY(PinYinUtils.getPinYinName(wmsGoods.getGoodsName())); + ; baseMapper.updateById(wmsGoods); //spu详情 dto.getBaseGoodsSpuDetail().setGoodSpuSid(wmsGoods.getSid()); baseGoodsSpuDetailService.saveOrUpdate(dto.getBaseGoodsSpuDetail()); //商品sku - dto.getBaseGoodsSkus().forEach(s->{ + dto.getBaseGoodsSkus().forEach(s -> { s.setGoodsSpuSid(wmsGoods.getSid()); }); baseGoodsSkuService.saveOrUpdate(dto.getBaseGoodsSkus()); } else { - BaseGoodsSpu spu=baseMapper.selectOne(new QueryWrapper().eq("goodsCode",dto.getGoodsCode())); - if(spu!=null){ + BaseGoodsSpu spu = baseMapper.selectOne(new QueryWrapper().eq("goodsCode", dto.getGoodsCode())); + if (spu != null) { return rb.setMsg("商品编码重复"); } BaseGoodsSpu wmsGoods = new BaseGoodsSpu(); @@ -111,7 +134,7 @@ public class BaseGoodsSpuService extends MybatisBaseService{ + dto.getBaseGoodsSkus().forEach(s -> { s.setGoodsSpuSid(wmsGoods.getSid()); }); baseGoodsSkuService.saveOrUpdate(dto.getBaseGoodsSkus()); @@ -119,19 +142,38 @@ public class BaseGoodsSpuService extends MybatisBaseService batchSave(List dtos) { + ResultBean rb = ResultBean.fireFail(); + List spus = new ArrayList<>(); + List skus=new ArrayList<>(); + for (BaseGoodsSpuDto dto : dtos) { + BaseGoodsSpu wmsGoods = new BaseGoodsSpu(); + BeanUtil.copyProperties(dto, wmsGoods, "id"); + wmsGoods.setCreateTime(new DateTime()); +// skus.addAll(dto.getBaseGoodsSkus()); + spus.add(wmsGoods); + } + this.saveBatch(spus); + baseGoodsSpuDetailService.batchSave(dtos); + baseGoodsSkuService.skuBatchSave(dtos); + return rb.success().setMsg("成功"); + } + public ResultBean initialization(String sid) { ResultBean rb = ResultBean.fireFail(); BaseGoodsSpuVo vo = baseMapper.initialization(sid); - BaseGoodsSpuDetailVo vo1=baseGoodsSpuDetailService.getSpuDetailsBySpuSid(vo.getSid()).getData(); + BaseGoodsSpuDetailVo vo1 = baseGoodsSpuDetailService.getSpuDetailsBySpuSid(vo.getSid()).getData(); vo.setBaseGoodsSpuDetail(vo1); - List vos=baseGoodsSkuService.getSkusBySpuSid(vo.getSid()).getData(); + List vos = baseGoodsSkuService.getSkusBySpuSid(vo.getSid()).getData(); for (BaseGoodsSkuVo baseGoodsSkuVo : vos) { - List ur=new ArrayList<>(); - BaseGoodsSkuExtendVo vo2=baseGoodsSkuExtendService.getExtendBySkuSid(baseGoodsSkuVo.getSid()).getData(); - if(StringUtils.isNotBlank(vo2.getPicUrl())){ + List ur = new ArrayList<>(); + BaseGoodsSkuExtendVo vo2 = baseGoodsSkuExtendService.getExtendBySkuSid(baseGoodsSkuVo.getSid()).getData(); + if (StringUtils.isNotBlank(vo2.getPicUrl())) { for (String url : vo2.getPicUrl().split(",")) { - url=fileUploadComponent.getUrlPrefix()+url; - UrlsVo vo3=new UrlsVo();vo3.setUrl(url); + url = fileUploadComponent.getUrlPrefix() + url; + UrlsVo vo3 = new UrlsVo(); + vo3.setUrl(url); ur.add(vo3); } } @@ -143,7 +185,6 @@ public class BaseGoodsSpuService extends MybatisBaseService list = ExcelUtil.readExcel(file); + if (!list.isEmpty()) { + List tt = new ArrayList(); + List tt1 = new ArrayList(); + for (int i = 0; i < list.size(); i++) { + BaseGoodsSpuDto dto =new BaseGoodsSpuDto(); + System.out.println(list.get(i)); + dto = this.packaging(list.get(i),dto); + if (null == dto) { + return rb.setMsg("导入失败,第" + (i + 1) + "行数据错误!"); + } else { + tt.add(dto); + } + } + tt1=a(tt); + for (BaseGoodsSpuDto baseGoodsSpuDto : tt1) { + String goodsTypeSid = StringUtils.isEmpty(baseGoodsSpuDto.getGoodsTypeSid()) ? null : baseGoodsSpuDto.getGoodsTypeSid(); + if (StringUtils.isNotBlank(goodsTypeSid)) { + BaseGoodsType baseGoodsType = baseGoodsTypeService.getTypeByName(goodsTypeSid).getData(); + if (null != baseGoodsType) { + baseGoodsSpuDto.setGoodsTypeSid(baseGoodsType.getSid()); + } else { + return rb.setMsg("商品分类:" + goodsTypeSid + "不存在,请先添加"); + } + } + + String brandSid = StringUtils.isEmpty(baseGoodsSpuDto.getBrandSid()) ? null : baseGoodsSpuDto.getBrandSid(); + if (StringUtils.isNotBlank(brandSid)) { + BaseBrandInfo brand = baseBrandInfoService.getBrandByName(brandSid).getData(); + if (null != brand) { + baseGoodsSpuDto.setBrandSid(brand.getSid()); + } else { + return rb.setMsg("商品品牌:" + brandSid + "不存在,请先添加"); + } + } + + String manufacturerSid = StringUtils.isEmpty(baseGoodsSpuDto.getManufacturerSid()) ? null : baseGoodsSpuDto.getManufacturerSid(); + if (StringUtils.isNotBlank(manufacturerSid)) { + BaseManufacturer baseManufacturer = baseManufacturerService.getManufacturerByName(manufacturerSid).getData(); + if (null != baseManufacturer) { + baseGoodsSpuDto.setManufacturerSid(baseManufacturer.getSid()); + } else { + return rb.setMsg("商品厂家:" + manufacturerSid + "不存在,请先添加"); + } + } + + String goodsUnitSid = StringUtils.isEmpty(baseGoodsSpuDto.getGoodsUnitSid()) ? null : baseGoodsSpuDto.getGoodsUnitSid(); + if (StringUtils.isNotBlank(goodsUnitSid)) { + BaseGoodsUnit baseGoodsUnit = baseGoodsUnitService.getUnitByName(goodsUnitSid).getData(); + if (null != baseGoodsUnit) { + baseGoodsSpuDto.setGoodsUnitSid(baseGoodsUnit.getSid()); + } else { + return rb.setMsg("商品单位:" + manufacturerSid + "不存在,请先添加"); + } + } + } + this.batchSave(tt1); + return rb.success().setMsg("导入成功"); + + } else { + return rb.setMsg("导入文件没有有效数据"); + } + } + + public List a(List dtos) { + ResultBean rb=new ResultBean().fail(); + List spus = new ArrayList<>();//spu list + spus = dtos.stream().filter(distinctByKey(BaseGoodsSpuDto::getGoodsCode)).collect(Collectors.toList()); + for (BaseGoodsSpuDto baseGoodsSpuDto : spus) { + + BaseGoodsSpuDetailDto spuDetail = new BaseGoodsSpuDetailDto(); + List skus = new ArrayList<>(); + String sid = UUID.randomUUID().toString(); + baseGoodsSpuDto.setSid(sid); + List dtos1 = dtos.stream().filter(d -> d.getGoodsCode().equals(baseGoodsSpuDto.getGoodsCode())).collect(Collectors.toList()); + spuDetail.setGoodsExplain(dtos1.get(0).getBaseGoodsSpuDetail().getGoodsExplain()); + spuDetail.setGoodsDescription(dtos1.get(0).getBaseGoodsSpuDetail().getGoodsDescription()); + spuDetail.setSid(UUID.randomUUID().toString()); + spuDetail.setGoodSpuSid(baseGoodsSpuDto.getSid()); + for (BaseGoodsSpuDto dto : dtos1) { + BaseGoodsSkuDto sku = new BaseGoodsSkuDto(); + String skuSid = UUID.randomUUID().toString(); + sku.setGoodsSkuCode(dto.getBaseGoodsSkus().get(0).getGoodsSkuCode()); + sku.setTitle(dto.getBaseGoodsSkus().get(0).getTitle()); + sku.setExternalCode(dto.getBaseGoodsSkus().get(0).getExternalCode()); + sku.setGoodsSpuSid(sid); + sku.setSid(skuSid); + BaseGoodsSkuExtendDto skuExtend = new BaseGoodsSkuExtendDto(); + skuExtend.setSid(UUID.randomUUID().toString()); + skuExtend.setGoodsSkuSid(skuSid); + skuExtend.setSortNo("1"); + skuExtend.setFinalPurchasePrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getFinalPurchasePrice()); + skuExtend.setSafetyStockDays(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getSafetyStockDays()); + skuExtend.setIsOriginalFactory(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getIsOriginalFactory()); + skuExtend.setIsInventoryAlert(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getIsInventoryAlert()); + skuExtend.setInventoryAlertUpperLimit(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getInventoryAlertUpperLimit()); + skuExtend.setInventoryAlertLowerLimit(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getInventoryAlertLowerLimit()); + skuExtend.setCostPrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getCostPrice()); + skuExtend.setTagPrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getTagPrice()); + skuExtend.setSalesPrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getSalesPrice()); + skuExtend.setStandardPurchasePrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getStandardPurchasePrice()); + skuExtend.setAgencyPrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getAgencyPrice()); + skuExtend.setDiscount(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getDiscount()); + skuExtend.setMinimumSalesPrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getMinimumSalesPrice()); + skuExtend.setIsLockingSalesPrice(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getIsLockingSalesPrice()); + skuExtend.setIsIntegralExchange(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getIsIntegralExchange()); + skuExtend.setIntegralAmount(dto.getBaseGoodsSkus().get(0).getBaseGoodsSkuExtend().getIntegralAmount()); + sku.setBaseGoodsSkuExtend(skuExtend); + skus.add(sku); + } + baseGoodsSpuDto.setBaseGoodsSkus(skus); + baseGoodsSpuDto.setBaseGoodsSpuDetail(spuDetail); + } + return spus; + } + + private static Predicate distinctByKey(Function keyExtractor) { + Set seen = ConcurrentHashMap.newKeySet(); + return t -> seen.add(keyExtractor.apply(t)); + } + + private BaseGoodsSpuDto packaging(String[] arr, BaseGoodsSpuDto baseGoodsSpuDto) { + Map result = new HashMap<>(); + //0四电名称1四电类别2规格3数量4单价5总价6单位7备注 +// BaseGoodsSpuDto baseGoodsSpuDto =null; + try { + String goodsCode = StringUtils.isEmpty(arr[0]) ? null : arr[0];// + String barCode = StringUtils.isEmpty(arr[1]) ? null : arr[1];// + String goodsName = StringUtils.isEmpty(arr[2]) ? null : arr[2];// + String subTitle = StringUtils.isEmpty(arr[3]) ? null : arr[3]; + String goodsPY = StringUtils.isEmpty(arr[4]) ? null: arr[4]; + String goodsShortName = StringUtils.isEmpty(arr[5]) ? null :arr[5]; + String goodsTypeSid = StringUtils.isEmpty(arr[6]) ? null : arr[6]; + String brandSid = StringUtils.isEmpty(arr[7]) ? null : arr[7]; + String manufacturerSid = StringUtils.isEmpty(arr[8]) ? null : arr[8]; +// String goodsUnitSid = StringUtils.isEmpty(arr[9]) ? null : arr[9]; + String goodsUnitName = StringUtils.isEmpty(arr[9]) ? null : arr[9]; + String taxRate = StringUtils.isEmpty(arr[10]) ? null : arr[10]; + String shelfLife = StringUtils.isEmpty(arr[11]) ? null : arr[11]; + String nationalStandardCode = StringUtils.isEmpty(arr[12]) ? null : arr[12]; + String externalCode = StringUtils.isEmpty(arr[13]) ? null : arr[13]; + String factoryCode = StringUtils.isEmpty(arr[14]) ? null : arr[14]; + String isListed = (StringUtils.isEmpty(arr[15]) ? null : arr[15]).equals("是")? "1":"2"; + String useOrgSid = StringUtils.isEmpty(arr[16]) ? null : arr[16]; + String createOrgSid = StringUtils.isEmpty(arr[17]) ? null : arr[17]; + +// String goodSpuSid = StringUtils.isEmpty(arr[19]) ? null : arr[19]; + String goodsExplain = StringUtils.isEmpty(arr[18]) ? null : arr[18]; + String goodsDescription = StringUtils.isEmpty(arr[19]) ? null : arr[19]; + + String goodsSkuSid = ""; + String goodsSkuCode = StringUtils.isEmpty(arr[20]) ? null : arr[20]; + String title = StringUtils.isEmpty(arr[21]) ? null : arr[21]; + String skuExternalCode = StringUtils.isEmpty(arr[22]) ? null : arr[22]; + + String finalPurchasePrice = StringUtils.isEmpty(arr[23]) ? null : arr[23]; + String safetyStockDays = StringUtils.isEmpty(arr[24]) ? null : arr[24]; + String isOriginalFactory = (StringUtils.isEmpty(arr[25]) ? null : arr[25]).equals("是")? "1":"2"; + String isInventoryAlert = (StringUtils.isEmpty(arr[26]) ? null : arr[26]).equals("是")? "1":"2"; + String inventoryAlertUpperLimit = StringUtils.isEmpty(arr[27]) ? null : arr[27]; + String inventoryAlertLowerLimit = StringUtils.isEmpty(arr[28]) ? null : arr[28]; + String costPrice = StringUtils.isEmpty(arr[29]) ? null : arr[29]; + String tagPrice = StringUtils.isEmpty(arr[30]) ? null : arr[30]; + String salesPrice = StringUtils.isEmpty(arr[31]) ? null : arr[31]; + String standardPurchasePrice = StringUtils.isEmpty(arr[32]) ? null : arr[32]; + String agencyPrice = StringUtils.isEmpty(arr[33]) ? null : arr[33]; + String discount = StringUtils.isEmpty(arr[34]) ? null : arr[34]; + String minimumSalesPrice = StringUtils.isEmpty(arr[35]) ? null : arr[35]; + String isLockingSalesPrice = (StringUtils.isEmpty(arr[36]) ? null : arr[36]).equals("是")? "1":"2"; + String isIntegralExchange = (StringUtils.isEmpty(arr[37]) ? null : arr[37]).equals("是")? "1":"2"; + String integralAmount = StringUtils.isEmpty(arr[38]) ? null : arr[38]; + + //excel表中物资类别保存的是分类编号,插入数据库时 根据分类编号查询基础数据中 物资类别表的id + + baseGoodsSpuDto.setSortNo("1"); + baseGoodsSpuDto.setGoodsCode(goodsCode); + baseGoodsSpuDto.setBarCode(barCode);//物资类别 保存物资类别表id + baseGoodsSpuDto.setGoodsName(goodsName); + baseGoodsSpuDto.setSubTitle(subTitle); + baseGoodsSpuDto.setGoodsPY(goodsPY); + baseGoodsSpuDto.setGoodsShortName(goodsShortName); + + baseGoodsSpuDto.setGoodsTypeSid(goodsTypeSid); + baseGoodsSpuDto.setBrandSid(brandSid); + baseGoodsSpuDto.setManufacturerSid(manufacturerSid); +// baseGoodsSpuDto.setGoodsUnitSid(goodsUnitSid); + baseGoodsSpuDto.setGoodsUnitName(goodsUnitName); + baseGoodsSpuDto.setTaxRate(taxRate); + baseGoodsSpuDto.setShelfLife(shelfLife); + baseGoodsSpuDto.setNationalStandardCode(nationalStandardCode); + baseGoodsSpuDto.setExternalCode(externalCode); + baseGoodsSpuDto.setFactoryCode(factoryCode); + baseGoodsSpuDto.setIsListed(isListed); + baseGoodsSpuDto.setUseOrgSid(useOrgSid); + baseGoodsSpuDto.setCreateOrgSid(createOrgSid); + BaseGoodsSpuDetailDto dto=new BaseGoodsSpuDetailDto(); + dto.setGoodsExplain(goodsExplain); + dto.setGoodsDescription(goodsDescription); + baseGoodsSpuDto.setBaseGoodsSpuDetail(dto); + List dtos=new ArrayList<>(); + BaseGoodsSkuDto dto1=new BaseGoodsSkuDto(); + dto1.setGoodsSkuCode(goodsSkuCode); + dto1.setTitle(title); + dto1.setExternalCode(skuExternalCode); + BaseGoodsSkuExtendDto dto2=new BaseGoodsSkuExtendDto(); + dto2.setSortNo("1"); + dto2.setFinalPurchasePrice(finalPurchasePrice); + dto2.setSafetyStockDays(safetyStockDays); + dto2.setIsOriginalFactory(isOriginalFactory); + dto2.setIsInventoryAlert(isInventoryAlert); + dto2.setInventoryAlertUpperLimit(inventoryAlertUpperLimit); + dto2.setInventoryAlertLowerLimit(inventoryAlertLowerLimit); + dto2.setCostPrice(costPrice); + dto2.setTagPrice(tagPrice); + dto2.setSalesPrice(salesPrice); + dto2.setStandardPurchasePrice(standardPurchasePrice); + dto2.setAgencyPrice(agencyPrice); + dto2.setDiscount(discount); + dto2.setMinimumSalesPrice(minimumSalesPrice); + dto2.setIsLockingSalesPrice(isLockingSalesPrice); + dto2.setIsIntegralExchange(isIntegralExchange); + dto2.setIntegralAmount(integralAmount); + dto1.setBaseGoodsSkuExtend(dto2); + dtos.add(dto1); + baseGoodsSpuDto.setBaseGoodsSkus(dtos); + + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return baseGoodsSpuDto; + } } diff --git a/src/main/java/com/yxt/goods/biz/base/basegoodsspudetail/BaseGoodsSpuDetailService.java b/src/main/java/com/yxt/goods/biz/base/basegoodsspudetail/BaseGoodsSpuDetailService.java index 8689e15..fbd3035 100644 --- a/src/main/java/com/yxt/goods/biz/base/basegoodsspudetail/BaseGoodsSpuDetailService.java +++ b/src/main/java/com/yxt/goods/biz/base/basegoodsspudetail/BaseGoodsSpuDetailService.java @@ -5,6 +5,8 @@ import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.goods.biz.base.basebrandinfo.BaseBrandInfoService; +import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpu; +import com.yxt.goods.biz.base.basegoodsspu.BaseGoodsSpuDto; import com.yxt.goods.biz.base.basegoodstype.BaseGoodsTypeService; import com.yxt.goods.biz.base.basemanufacturer.BaseManufacturerService; import com.yxt.common.base.config.component.FileUploadComponent; @@ -16,9 +18,12 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; +import java.util.List; /** * @author wangpengfei @@ -68,7 +73,19 @@ public class BaseGoodsSpuDetailService extends MybatisBaseService batchSave(List dtos) { + ResultBean rb = ResultBean.fireFail(); + List spus = new ArrayList<>(); + for (BaseGoodsSpuDto dto : dtos) { + BaseGoodsSpuDetail detail = new BaseGoodsSpuDetail(); + BeanUtil.copyProperties(dto.getBaseGoodsSpuDetail(), detail, "id"); + detail.setCreateTime(new DateTime()); + spus.add(detail); + } + this.saveBatch(spus); + return rb.success().setMsg("成功"); + } public ResultBean initialization(String sid) { ResultBean rb = ResultBean.fireFail(); BaseGoodsSpuDetailVo vo = new BaseGoodsSpuDetailVo(); @@ -77,6 +94,18 @@ public class BaseGoodsSpuDetailService extends MybatisBaseService importSave(BaseGoodsSpuDetailDto dto) { + ResultBean rb = ResultBean.fireFail(); +// BaseGoodsSpuDetail detail=baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid())); + String sid = ""; + BaseGoodsSpuDetail baseGoodsSpuDetail = new BaseGoodsSpuDetail(); + sid = baseGoodsSpuDetail.getSid(); + BeanUtil.copyProperties(dto, baseGoodsSpuDetail,"id","sid"); + baseGoodsSpuDetail.setCreateTime(new DateTime()); + baseMapper.insert(baseGoodsSpuDetail); + return rb.success().setMsg("成功"); + } + public ResultBean getSpuDetailsBySpuSid(String sid) { ResultBean rb = ResultBean.fireFail(); BaseGoodsSpuDetailVo vo = baseMapper.getSpuDetailsBySpuSid(sid); diff --git a/src/main/java/com/yxt/goods/biz/base/basegoodstype/BaseGoodsTypeService.java b/src/main/java/com/yxt/goods/biz/base/basegoodstype/BaseGoodsTypeService.java index 2ca0bb3..712edae 100644 --- a/src/main/java/com/yxt/goods/biz/base/basegoodstype/BaseGoodsTypeService.java +++ b/src/main/java/com/yxt/goods/biz/base/basegoodstype/BaseGoodsTypeService.java @@ -117,4 +117,10 @@ public class BaseGoodsTypeService extends MybatisBaseService getTypeByName(String name) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsType type=baseMapper.selectOne(new QueryWrapper().eq("goodsTypeName",name)); + return rb.success().setData(type); + } + } diff --git a/src/main/java/com/yxt/goods/biz/base/basegoodsunit/BaseGoodsUnitService.java b/src/main/java/com/yxt/goods/biz/base/basegoodsunit/BaseGoodsUnitService.java index f298d68..554b354 100644 --- a/src/main/java/com/yxt/goods/biz/base/basegoodsunit/BaseGoodsUnitService.java +++ b/src/main/java/com/yxt/goods/biz/base/basegoodsunit/BaseGoodsUnitService.java @@ -10,6 +10,7 @@ import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.goods.biz.base.basebrandinfo.BaseBrandInfo; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; @@ -104,4 +105,9 @@ public class BaseGoodsUnitService extends MybatisBaseService getUnitByName(String name) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsUnit type=baseMapper.selectOne(new QueryWrapper().eq("unitName",name)); + return rb.success().setData(type); + } } diff --git a/src/main/java/com/yxt/goods/biz/base/basemanufacturer/BaseManufacturerService.java b/src/main/java/com/yxt/goods/biz/base/basemanufacturer/BaseManufacturerService.java index e05fa4c..4c97297 100644 --- a/src/main/java/com/yxt/goods/biz/base/basemanufacturer/BaseManufacturerService.java +++ b/src/main/java/com/yxt/goods/biz/base/basemanufacturer/BaseManufacturerService.java @@ -10,6 +10,7 @@ import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.goods.biz.base.basegoodsunit.BaseGoodsUnit; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; @@ -108,4 +109,9 @@ public class BaseManufacturerService extends MybatisBaseService list = baseMapper.getAllTypeByUseOrgSid(useOrgSid); return rb.success().setData(list); } + public ResultBean getManufacturerByName(String name) { + ResultBean rb = ResultBean.fireFail(); + BaseManufacturer type=baseMapper.selectOne(new QueryWrapper().eq("manufacturerName",name)); + return rb.success().setData(type); + } } diff --git a/src/main/java/com/yxt/goods/utils/ExcelUtil.java b/src/main/java/com/yxt/goods/utils/ExcelUtil.java new file mode 100644 index 0000000..0c8f713 --- /dev/null +++ b/src/main/java/com/yxt/goods/utils/ExcelUtil.java @@ -0,0 +1,170 @@ +package com.yxt.goods.utils; + + +//import org.apache.log4j.Logger; +import com.yxt.common.core.result.ResultBean; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.web.multipart.MultipartFile; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +import static org.apache.poi.ss.usermodel.CellType.NUMERIC; +import static org.apache.poi.ss.usermodel.CellType.STRING; + + +/** + * @author wangpengfei + * @date 2024/4/23 13:53 + */ +public class ExcelUtil { +// private static Logger logger = Logger.getLogger(ExcelUtil.class); + private final static String xls = "xls"; + private final static String xlsx = "xlsx"; + + /** + * 读入excel文件,解析后返回 + * + * @param file + * @throws IOException + */ + public static List readExcel(MultipartFile file) throws IOException { + //检查文件 + checkFile(file); + //获得Workbook工作薄对象 + Workbook workbook = getWorkBook(file); + //创建返回对象,把每行中的值作为一个数组,所有行作为一个集合返回 + List list = new ArrayList(); + if (workbook != null) { + for (int sheetNum = 0; sheetNum < workbook.getNumberOfSheets(); sheetNum++) { + //获得当前sheet工作表 + Sheet sheet = workbook.getSheetAt(sheetNum); + if (sheet == null) { + continue; + } + //获得当前sheet的开始行 + int firstRowNum = sheet.getFirstRowNum(); + //获得当前sheet的结束行 + int lastRowNum = sheet.getLastRowNum(); + int arrLength = sheet.getRow(firstRowNum).getPhysicalNumberOfCells(); + //循环除了第一行的所有行 + for (int rowNum = firstRowNum + 1; rowNum <= lastRowNum; rowNum++) { + //获得当前行 + Row row = sheet.getRow(rowNum); + if (row == null) { + continue; + } + //获得当前行的开始列 + int firstCellNum = row.getFirstCellNum(); + //获得当前行的列数 + int lastCellNum = row.getPhysicalNumberOfCells(); + String[] cells = new String[arrLength]; + //循环当前行 + for(int i =0 ;i