Browse Source

售后商品导入

master
fanzongzhe0036 2 months ago
parent
commit
3090617022
  1. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeign.java
  2. 6
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeignFallback.java
  3. 2
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonMapper.java
  4. 10
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonMapper.xml
  5. 5
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonRest.java
  6. 9
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonService.java
  7. 34
      yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java
  8. 10
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basebrandinfo/BaseBrandInfoService.java
  9. 14
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java
  10. 42
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml
  11. 213
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java
  12. 2
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/ImportDataVo.java
  13. 8
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodstype/BaseGoodsTypeService.java
  14. 7
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsunit/BaseGoodsUnitService.java
  15. 8
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerService.java
  16. 25
      yxt-base-biz/src/main/java/com/yxt/base/feign/portal/dictcommonfeign/DictCommonFeign.java
  17. 32
      yxt-base-biz/src/main/java/com/yxt/base/feign/portal/dictcommonfeign/DictCommonVo.java
  18. BIN
      yxt-base-biz/src/main/resources/static/商品信息导入模板.xls

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeign.java

@ -77,4 +77,9 @@ public interface DictCommonFeign {
@ResponseBody
@ApiOperation("查询数据字典")
ResultBean<List<DictCommonH5Vo>> getTypeValuesH5(@PathVariable("key") String key);
@GetMapping("/selectByDictTypeAndDictValue")
@ResponseBody
@ApiOperation("根据数据字典类型和值查询")
ResultBean<DictCommonVo> selectByDictTypeAndDictValue(@RequestParam("dictType") String dictType,@RequestParam("dictValue") String dictValue);
}

6
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeignFallback.java

@ -69,4 +69,10 @@ public class DictCommonFeignFallback implements DictCommonFeign {
public ResultBean<List<DictCommonH5Vo>> getTypeValuesH5(String key) {
return null;
}
@Override
public ResultBean<DictCommonVo> selectByDictTypeAndDictValue(String dictType, String dictValue) {
return null;
}
}

2
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonMapper.java

@ -67,4 +67,6 @@ public interface DictCommonMapper extends BaseMapper<DictCommon> {
String selectByValue(String dictValue);
List<DictCommonH5Vo> getTypeValuesH5(String key);
DictCommonVo selectByDictTypeAndDictValue(@Param("dictType")String dictType, @Param("dictValue")String dictValue);
}

10
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonMapper.xml

@ -44,4 +44,14 @@
<select id="getTypeValuesH5" resultType="com.yxt.anrui.portal.api.dictcommon.DictCommonH5Vo">
select dictKey,dictValue from dict_common where dictType = #{key}
</select>
<select id="selectByDictTypeAndDictValue" resultType="com.yxt.anrui.portal.api.dictcommon.DictCommonVo">
SELECT sid,
dictKey,
dictType,
dictValue,
groupName
FROM dict_common
WHERE dictType = #{dictType}
AND dictValue = #{dictValue}
</select>
</mapper>

5
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonRest.java

@ -162,4 +162,9 @@ public class DictCommonRest implements DictCommonFeign {
public ResultBean<List<DictCommonH5Vo>> getTypeValuesH5(String key) {
return dictCommonService.getTypeValuesH5(key);
}
@Override
public ResultBean<DictCommonVo> selectByDictTypeAndDictValue(String dictType, String dictValue) {
return dictCommonService.selectByDictTypeAndDictValue(dictType,dictValue);
}
}

9
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonService.java

@ -87,4 +87,13 @@ public class DictCommonService extends MybatisBaseService<DictCommonMapper, Dict
list.removeAll(Collections.singleton(null));
return rb.success().setData(list);
}
public ResultBean<DictCommonVo> selectByDictTypeAndDictValue(String dictType, String dictValue) {
ResultBean<DictCommonVo> rb = ResultBean.fireFail();
DictCommonVo dictCommon = baseMapper.selectByDictTypeAndDictValue(dictType,dictValue);
if (null != dictCommon) {
return rb.success().setData(dictCommon);
}
return rb;
}
}

34
yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java

@ -11,7 +11,11 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.List;
/**
@ -24,7 +28,8 @@ import java.util.List;
public class BaseGoodsSpuRest {
@Autowired
BaseGoodsSpuService baseGoodsSpuService;
@Autowired
private HttpServletResponse response;
@ApiOperation("根据sid查询商品")
@GetMapping("/fetchEntityBySid")
@ -125,6 +130,33 @@ public class BaseGoodsSpuRest {
return baseGoodsSpuService.importGoodsSpuData(file,orgPath,userSid,request);
}
@ApiOperation(value = "下载模板")
@PostMapping("/downloadExcel")
public void downloadExcel() {
try {
InputStream resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("static/商品信息导入模板.xls");
//获取要下载的模板名称
String fileName = "商品信息导入模板.xls";
response.setHeader("content-type", "application/octet-stream");
response.setContentType("application/octet-stream");
// 下载文件能正常显示中文
fileName = URLEncoder.encode(fileName, "UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
response.setHeader("fileName", fileName);
response.setHeader("Access-Control-Expose-Headers", "filename");
OutputStream out = response.getOutputStream();
byte[] b = new byte[2048];
int len;
while ((len = resourceAsStream.read(b)) != -1) {
out.write(b, 0, len);
}
out.close();
resourceAsStream.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
//------------------------------- 行政类商品管理 --------------------------------

10
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basebrandinfo/BaseBrandInfoService.java

@ -4,13 +4,11 @@ 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.base.biz.base.basegoodsspu.BaseGoodsSpuListVo;
import com.yxt.base.feign.portal.privilege.PrivilegeQuery;
import com.yxt.base.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.base.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.base.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.base.feign.portal.sysuser.SysUserFeign;
import com.yxt.base.utils.OrgPathQuery;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -20,10 +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.web.bind.annotation.RequestBody;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
@ -168,7 +168,7 @@ public class BaseBrandInfoService extends MybatisBaseService<BaseBrandInfoMapper
// }
baseMapper.insert(wmsGoodsBrand);
}
return rb.success().setMsg("成功");
return rb.success().setData(sid).setMsg("成功");
}
public ResultBean<BaseBrandInfoVo> initialization(String sid) {

14
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java

@ -23,13 +23,23 @@ public interface BaseGoodsSpuMapper extends BaseMapper<BaseGoodsSpu> {
void delBySpuSid(@Param("sid") String sid);
BaseGoodsSpu checkForInsert(@Param("goodsCode")String goodsCode, @Param("deptSid")String deptSid);
BaseGoodsSpu checkForInsert(@Param("goodsCode")String goodsCode,@Param("manufacturerSid") String manufacturerSid, @Param("deptSid")String deptSid);
BaseGoodsSpu checkForUpdate(@Param("goodsCode")String goodsCode,@Param("useOrgSid") String useOrgSid, @Param("sid")String sid);
BaseGoodsSpu checkForUpdate(@Param("goodsCode")String goodsCode,@Param("manufacturerSid") String manufacturerSid,@Param("useOrgSid") String useOrgSid, @Param("sid")String sid);
int selByCodeAndDept(@Param("code") String code,@Param("deptSid") String deptSid);
List<BaseGoodsSpu> selPurchaseAssetInfo(@Param("useOrgSid") String useOrgSid,@Param("name") String name);
String selGoodsTypeBySid(@Param("sid") String sid);
String selBrandSid(@Param("useOrgSid")String useOrgSid, @Param("brandName")String brandName);
String selGoodsTypeSid(@Param("useOrgSid")String useOrgSid, @Param("goodsType")String goodsType);
int selGoodsSidForImport(@Param("goodsCode") String goodsCode, @Param("manufacturerName") String manufacturerName, @Param("useOrgSid") String useOrgSid);
String selManufacturerSid(@Param("useOrgSid")String useOrgSid, @Param("manufacturerName") String manufacturerName);
String selUnitSid(@Param("useOrgSid")String useOrgSid, @Param("unit")String unit);
}

42
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml

@ -81,6 +81,7 @@ WHERE
select *
from base_goods_spu
where goodsCode = #{goodsCode}
and manufacturerSid = #{manufacturerSid}
and useOrgSid = #{deptSid}
and isDelete = 0
</select>
@ -88,6 +89,7 @@ WHERE
select *
from base_goods_spu
where goodsCode = #{goodsCode}
and manufacturerSid = #{manufacturerSid}
and useOrgSid = #{useOrgSid}
and isDelete = 0
and sid != #{sid}
@ -110,6 +112,44 @@ WHERE
</if>
</select>
<select id="selGoodsTypeBySid" resultType="java.lang.String">
select goodsTypeName from base_goods_type where sid = #{sid}
select goodsTypeName
from base_goods_type
where sid = #{sid}
</select>
<select id="selBrandSid" resultType="java.lang.String">
select sid
from base_brand_info
where brandName = #{brandName}
and useOrgSid = #{useOrgSid}
and isDelete = 0
</select>
<select id="selGoodsTypeSid" resultType="java.lang.String">
select sid
from base_goods_type
where goodsTypeName = #{goodsType}
and useOrgSid = #{useOrgSid}
and isDelete = 0
</select>
<select id="selGoodsSidForImport" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM base_goods_spu
WHERE goodsCode = #{goodsCode}
AND manufacturerName = #{manufacturerName}
AND useOrgSid = #{useOrgSid}
and isDelete = 0
</select>
<select id="selManufacturerSid" resultType="java.lang.String">
select sid
from base_manufacturer
where manufacturerName = #{manufacturerName}
and useOrgSid = #{useOrgSid}
and isDelete = 0
</select>
<select id="selUnitSid" resultType="java.lang.String">
select sid
from base_goods_unit
where unitName = #{unit}
and useOrgSid = #{useOrgSid}
and isDelete = 0
</select>
</mapper>

213
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java

@ -5,6 +5,7 @@ import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.base.biz.base.basebrandinfo.BaseBrandInfo;
import com.yxt.base.biz.base.basebrandinfo.BaseBrandInfoDto;
import com.yxt.base.biz.base.basebrandinfo.BaseBrandInfoService;
import com.yxt.base.biz.base.basegoodssku.BaseGoodsSku;
import com.yxt.base.biz.base.basegoodssku.BaseGoodsSkuService;
@ -16,11 +17,16 @@ import com.yxt.base.biz.base.basegoodsskuextend.UrlsVo;
import com.yxt.base.biz.base.basegoodsspudetail.BaseGoodsSpuDetailService;
import com.yxt.base.biz.base.basegoodsspudetail.BaseGoodsSpuDetailVo;
import com.yxt.base.biz.base.basegoodstype.BaseGoodsType;
import com.yxt.base.biz.base.basegoodstype.BaseGoodsTypeDto;
import com.yxt.base.biz.base.basegoodstype.BaseGoodsTypeService;
import com.yxt.base.biz.base.basegoodsunit.BaseGoodsUnit;
import com.yxt.base.biz.base.basegoodsunit.BaseGoodsUnitDto;
import com.yxt.base.biz.base.basegoodsunit.BaseGoodsUnitService;
import com.yxt.base.biz.base.basemanufacturer.BaseManufacturer;
import com.yxt.base.biz.base.basemanufacturer.BaseManufacturerDto;
import com.yxt.base.biz.base.basemanufacturer.BaseManufacturerService;
import com.yxt.base.feign.portal.dictcommonfeign.DictCommonFeign;
import com.yxt.base.feign.portal.dictcommonfeign.DictCommonVo;
import com.yxt.base.feign.portal.privilege.PrivilegeQuery;
import com.yxt.base.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.base.feign.portal.sysorganization.SysOrganizationVo;
@ -80,6 +86,8 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
private BaseManufacturerService baseManufacturerService;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private DictCommonFeign dictCommonFeign;
public ResultBean<PagerVo<BaseGoodsSpuVo>> listPage(PagerQuery<BaseGoodsSpuQuery> pq) {
ResultBean rb = ResultBean.fireFail();
@ -317,7 +325,7 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
BeanUtil.copyProperties(dto, wmsGoods, "id", "sid");
wmsGoods.setModifyTime(new Date());
wmsGoods.setGoodsPY(PinYinUtils.sx(wmsGoods.getGoodsName()));
BaseGoodsSpu spu = baseMapper.checkForUpdate(dto.getGoodsCode(), wmsGoods.getUseOrgSid(), sid);
BaseGoodsSpu spu = baseMapper.checkForUpdate(dto.getGoodsCode(),dto.getManufacturerSid(), wmsGoods.getUseOrgSid(), sid);
if (spu != null) {
return rb.setMsg("商品编码重复");
}
@ -444,7 +452,7 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
wmsGoods.setUseOrgSid(dto.getUseOrgSid());
wmsGoods.setCreateOrgSid(dto.getCreateOrgSid());
wmsGoods.setGoodsPY(PinYinUtils.sx(wmsGoods.getGoodsName()));
BaseGoodsSpu spu = baseMapper.checkForInsert(dto.getGoodsCode(), dto.getUseOrgSid());
BaseGoodsSpu spu = baseMapper.checkForInsert(dto.getGoodsCode(),dto.getManufacturerSid(), dto.getUseOrgSid());
if (spu != null) {
return rb.setMsg("商品编码重复");
}
@ -654,16 +662,21 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
public ResultBean importGoodsSpuData(MultipartFile file, String orgPath, String userSid, HttpServletRequest request) {
ResultBean rb = ResultBean.fireFail();
String useOrgSid = "";//部门sid
String useOrgSid = "";
String createOrgSid = "";
if (StringUtils.isNotBlank(orgPath)) {
List<String> split = Arrays.asList(orgPath.split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
useOrgSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
useOrgSid = sysOrganization.getSid();
}
createOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
}
int size = 0;
try {
@ -688,15 +701,10 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
ReturnImportMsg returnMsg = getSleepSheetVal(sheet);
ReturnImportMsg returnMsg = getSleepSheetVal(sheet, useOrgSid);
Set<String> setMsg = returnMsg.getSetMsg();
StringBuffer sbMsg = new StringBuffer();
List<ImportDataVo> list = returnMsg.getList();
if (!list.isEmpty() && list.size() > 0) {
for (ImportDataVo vo : list) {
}
}
if (null != setMsg && setMsg.size() > 0) {
for (String s : setMsg) {
sbMsg.append(s).append(",");
@ -706,6 +714,153 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
return rb.setMsg(sbMsg.toString());
}
}
if (!list.isEmpty() && list.size() > 0) {
for (ImportDataVo vo : list) {
String sortNo = "";//排序号
if (StringUtils.isNotBlank(vo.getSortNo())) {
sortNo = vo.getSortNo();
}
String goodsName = "";//商品名称
if (StringUtils.isNotBlank(vo.getGoodsName())) {
goodsName = vo.getGoodsName();
}
String goodsCode = "";//图号
if (StringUtils.isNotBlank(vo.getGoodsCode())) {
goodsCode = vo.getGoodsCode();
}
String barCode = "";//条码
if (StringUtils.isNotBlank(vo.getBarCode())) {
barCode = vo.getBarCode();
}
String goodsType = "";//商品类别
String goodsTypeSid = "";//商品类别
if (StringUtils.isNotBlank(vo.getGoodsTypeName())) {
goodsType = vo.getGoodsTypeName();
}
String brandName = "";//品牌
String brandSid = "";//品牌
if (StringUtils.isNotBlank(vo.getBrandName())) {
brandName = vo.getBrandName();
}
String manufacturerName = "";//厂家
String manufacturerSid = "";//厂家
if (StringUtils.isNotBlank(vo.getManufacturerName())) {
manufacturerName = vo.getManufacturerName();
}
String guige = "";//规格
if (StringUtils.isNotBlank(vo.getIndexes())) {
guige = vo.getIndexes();
}
String unit = "";//计量单位
String unitSid = "";//计量单位
if (StringUtils.isNotBlank(vo.getGoodsUnitName())) {
unit = vo.getGoodsUnitName();
}
String upNum = "";//库存上限
if (StringUtils.isNotBlank(vo.getInventoryAlertUpperLimit())) {
upNum = vo.getInventoryAlertUpperLimit();
}
String lowNum = "";//库存下限
if (StringUtils.isNotBlank(vo.getInventoryAlertLowerLimit())) {
lowNum = vo.getInventoryAlertLowerLimit();
}
String level = "";//商品等级
String levelKey = "";//商品等级
if (StringUtils.isNotBlank(vo.getGoodsLevelValue())) {
level = vo.getGoodsLevelValue();
levelKey = vo.getGoodsLevelKey();
}
String classType = "";//商品类型
String classTypeKey = "";//商品类型
if (StringUtils.isNotBlank(vo.getGoodsClassValue())) {
classType = vo.getGoodsClassValue();
classTypeKey = vo.getGoodsClassKey();
}
//判断品牌是否存在
if (StringUtils.isNotBlank(brandName)) {
String brandSelSid = baseMapper.selBrandSid(useOrgSid, brandName);
if (StringUtils.isNotBlank(brandSelSid)) {
brandSid = brandSelSid;
} else {
String brandCode = PinYinUtils.sx(brandName);
BaseBrandInfoDto brandInfoDto = new BaseBrandInfoDto();
brandInfoDto.setBrandName(brandName);
brandInfoDto.setBrandCode(brandCode);
brandInfoDto.setOrgPath(orgPath);
brandSid = baseBrandInfoService.saveOrUpdate(brandInfoDto).getData();
}
}
//判断商品类别是否存在
if (StringUtils.isNotBlank(goodsType)) {
String goodsTypeSelSid = baseMapper.selGoodsTypeSid(useOrgSid, goodsType);
if (StringUtils.isNotBlank(goodsTypeSelSid)) {
goodsTypeSid = goodsTypeSelSid;
} else {
String goodsTypeCode = PinYinUtils.sx(goodsType);
BaseGoodsTypeDto goodsTypeDto = new BaseGoodsTypeDto();
goodsTypeDto.setGoodsTypeName(goodsType);
goodsTypeDto.setGoodsTypeCode(goodsTypeCode);
goodsTypeDto.setOrgPath(orgPath);
goodsTypeDto.setSortNo("1");
goodsTypeDto.setOutStockRule("0");
goodsTypeDto.setOutStockRuleValue("先进先出");
goodsTypeSid = baseGoodsTypeService.saveOrUpdate(goodsTypeDto).getData();
}
}
//判断厂家是否存在
if (StringUtils.isNotBlank(manufacturerName)) {
String manufacturerSelSid = baseMapper.selManufacturerSid(useOrgSid, manufacturerName);
if (StringUtils.isNotBlank(manufacturerSelSid)) {
manufacturerSid = manufacturerSelSid;
} else {
String manufactNo = PinYinUtils.sx(manufacturerName);
BaseManufacturerDto manufacturerDto = new BaseManufacturerDto();
manufacturerDto.setManufacturerName(manufacturerName);
manufacturerDto.setManufacturerCode(manufactNo);
manufacturerDto.setSortNo("1");
manufacturerDto.setOrgPath(orgPath);
manufacturerSid = baseManufacturerService.saveOrUpdate(manufacturerDto).getData();
}
}
//判断计量单位是否存在
if (StringUtils.isNotBlank(unit)) {
String unitSelSid = baseMapper.selUnitSid(useOrgSid, unit);
if (StringUtils.isNotBlank(unitSelSid)) {
unitSid = unitSelSid;
} else {
BaseGoodsUnitDto unitDto = new BaseGoodsUnitDto();
unitDto.setUnitName(unit);
unitDto.setOrgPath(orgPath);
unitSid = baseGoodsUnitService.saveOrUpdate(unitDto).getData();
}
}
BaseGoodsDetailsDto dto = new BaseGoodsDetailsDto();
dto.setUserSid(userSid);
dto.setUseOrgSid(useOrgSid);
dto.setCreateOrgSid(createOrgSid);
dto.setOrgPath(orgPath);
dto.setSortNo(sortNo);
dto.setGoodsName(goodsName);
dto.setGoodsCode(goodsCode);
dto.setBarCode(barCode);
dto.setGoodsTypeSid(goodsTypeSid);
dto.setGoodsTypeName(goodsType);
dto.setBrandSid(brandSid);
dto.setBrandName(brandName);
dto.setManufacturerSid(manufacturerSid);
dto.setManufacturerName(manufacturerName);
dto.setIndexes(guige);
dto.setGoodsUnitSid(unitSid);
dto.setGoodsUnitName(unit);
dto.setInventoryAlertUpperLimit(upNum);
dto.setInventoryAlertLowerLimit(lowNum);
dto.setGoodsClassKey(classTypeKey);
dto.setGoodsClassValue(classType);
dto.setGoodsLevelKey(levelKey);
dto.setGoodsLevelValue(level);
saveOrUpdateGoods(dto);
}
}
size = list.size();
} catch (Exception e) {
e.printStackTrace();
@ -713,7 +868,7 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
return rb.success().setMsg("成功导入" + size + "条数据");
}
private ReturnImportMsg getSleepSheetVal(Sheet sheet) {
private ReturnImportMsg getSleepSheetVal(Sheet sheet, String useOrgSid) {
ReturnImportMsg returnMsg = new ReturnImportMsg();
List<ImportDataVo> voList = new ArrayList<>();
Set<String> setMsg = new HashSet<>();
@ -851,6 +1006,44 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
}
voList.add(info);
}
if (!voList.isEmpty()) {
for (ImportDataVo v : voList) {
String goodsCode = "";
String manufacturerName = "";
if (StringUtils.isNotBlank(v.getGoodsCode())) {
goodsCode = v.getGoodsCode();
}
if (StringUtils.isNotBlank(v.getManufacturerName())) {
manufacturerName = v.getManufacturerName();
}
int count = baseMapper.selGoodsSidForImport(goodsCode, manufacturerName, useOrgSid);
if (StringUtils.isNotBlank(goodsCode)) {
if (count > 0) {
setMsg.add("图号" + goodsCode + "已存在,请勿重复添加");
}
}
if (StringUtils.isNotBlank(v.getGoodsLevelValue())) {
String goodsLevelValue = v.getGoodsLevelValue();
ResultBean<DictCommonVo> voResultBean = dictCommonFeign.selectByDictTypeAndDictValue("goodsLevel", goodsLevelValue);
if (voResultBean.getSuccess()) {
DictCommonVo commonVo = voResultBean.getData();
v.setGoodsLevelKey(commonVo.getDictKey());
} else {
setMsg.add("商品等级(" + v.getGoodsLevelValue() + ")不存在");
}
}
if (StringUtils.isNotBlank(v.getGoodsClassValue())) {
String goodsClassValue = v.getGoodsClassValue();
ResultBean<DictCommonVo> voResultBean = dictCommonFeign.selectByDictTypeAndDictValue("goodsClass", goodsClassValue);
if (voResultBean.getSuccess()) {
DictCommonVo commonVo = voResultBean.getData();
v.setGoodsClassKey(commonVo.getDictKey());
} else {
setMsg.add("商品类型(" + v.getGoodsClassValue() + ")不存在");
}
}
}
}
returnMsg.setList(voList);
returnMsg.setSetMsg(setMsg);
return returnMsg;

2
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/ImportDataVo.java

@ -17,6 +17,8 @@ public class ImportDataVo {
private String inventoryAlertUpperLimit;//库存上限
private String inventoryAlertLowerLimit;//库存下限
private String goodsClassValue;//商品类型
private String goodsClassKey;//商品类型
private String goodsLevelValue;//商品等级
private String goodsLevelKey;//商品等级
}

8
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodstype/BaseGoodsTypeService.java

@ -4,14 +4,11 @@ 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.base.biz.base.basebrandinfo.BaseBrandInfo;
import com.yxt.base.biz.base.basegoodsspu.BaseGoodsSpuListVo;
import com.yxt.base.feign.portal.privilege.PrivilegeQuery;
import com.yxt.base.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.base.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.base.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.base.feign.portal.sysuser.SysUserFeign;
import com.yxt.base.utils.OrgPathQuery;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
@ -20,11 +17,8 @@ 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.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@ -240,7 +234,7 @@ public class BaseGoodsTypeService extends MybatisBaseService<BaseGoodsTypeMapper
}
baseMapper.insert(wmsGoods);
}
return rb.success().setMsg("成功");
return rb.success().setData(sid).setMsg("成功");
}
public ResultBean<BaseGoodsTypeVo> initialization(String sid) {

7
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsunit/BaseGoodsUnitService.java

@ -4,14 +4,11 @@ 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.base.biz.base.basemanufacturer.BaseManufacturer;
import com.yxt.base.biz.base.basemanufacturer.BaseManufacturerVo;
import com.yxt.base.feign.portal.privilege.PrivilegeQuery;
import com.yxt.base.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.base.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.base.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.base.feign.portal.sysuser.SysUserFeign;
import com.yxt.base.utils.OrgPathQuery;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
@ -20,8 +17,6 @@ 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.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.text.SimpleDateFormat;
import java.util.Arrays;
@ -159,7 +154,7 @@ public class BaseGoodsUnitService extends MybatisBaseService<BaseGoodsUnitMapper
}
baseMapper.insert(wmsGoods);
}
return rb.success().setMsg("成功");
return rb.success().setData(sid).setMsg("成功");
}
public ResultBean<BaseGoodsUnitVo> initialization(String sid) {

8
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerService.java

@ -4,14 +4,11 @@ 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.base.biz.base.basegoodstype.BaseGoodsType;
import com.yxt.base.biz.base.basegoodstype.BaseGoodsTypeVo;
import com.yxt.base.feign.portal.privilege.PrivilegeQuery;
import com.yxt.base.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.base.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.base.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.base.feign.portal.sysuser.SysUserFeign;
import com.yxt.base.utils.OrgPathQuery;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
@ -20,11 +17,8 @@ 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.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@ -161,7 +155,7 @@ public class BaseManufacturerService extends MybatisBaseService<BaseManufacturer
}
baseMapper.insert(wmsManufacturer);
}
return rb.success().setMsg("成功");
return rb.success().setData(sid).setMsg("成功");
}
public ResultBean<BaseManufacturerVo> initialization(String sid) {

25
yxt-base-biz/src/main/java/com/yxt/base/feign/portal/dictcommonfeign/DictCommonFeign.java

@ -0,0 +1,25 @@
package com.yxt.base.feign.portal.dictcommonfeign;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @author dimengzhe
* @date 2021/7/5 21:59
* @description
*/
@FeignClient(
contextId = "anrui-portal-DictCommon",
name = "anrui-portal",
path = "v1/dictcommons"
)
public interface DictCommonFeign {
@GetMapping("/selectByDictTypeAndDictValue")
@ResponseBody
@ApiOperation("根据数据字典类型和值查询")
ResultBean<DictCommonVo> selectByDictTypeAndDictValue(@RequestParam("dictType") String dictType,@RequestParam("dictValue") String dictValue);
}

32
yxt-base-biz/src/main/java/com/yxt/base/feign/portal/dictcommonfeign/DictCommonVo.java

@ -0,0 +1,32 @@
package com.yxt.base.feign.portal.dictcommonfeign;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author dimengzhe
* @date 2021/6/23 15:54
* @description
*/
@Data
public class DictCommonVo implements Vo {
private static final long serialVersionUID = -1094142938193916816L;
@ApiModelProperty(value = "数据字典项sid")
private String sid;
@ApiModelProperty(value = "数据字典项key")
private String dictKey;
@ApiModelProperty(value = "数据字典类型")
private String dictType;
@ApiModelProperty(value = "数据字典项名称")
private String dictValue;
@ApiModelProperty(value = "父级sid:0为第一级")
private String parentSid;
@ApiModelProperty(value = "分组名称")
private String groupName;
}

BIN
yxt-base-biz/src/main/resources/static/商品信息导入模板.xls

Binary file not shown.
Loading…
Cancel
Save