diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeign.java index 890de15aff..3ca7dcaa68 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeign.java +++ b/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> getTypeValuesH5(@PathVariable("key") String key); + + @GetMapping("/selectByDictTypeAndDictValue") + @ResponseBody + @ApiOperation("根据数据字典类型和值查询") + ResultBean selectByDictTypeAndDictValue(@RequestParam("dictType") String dictType,@RequestParam("dictValue") String dictValue); } diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeignFallback.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeignFallback.java index ce0c2411f9..9e193f286c 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/dictcommon/DictCommonFeignFallback.java +++ b/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> getTypeValuesH5(String key) { return null; } + + @Override + public ResultBean selectByDictTypeAndDictValue(String dictType, String dictValue) { + return null; + } + } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonMapper.java index 3c116e89aa..f050454d34 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonMapper.java +++ b/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 { String selectByValue(String dictValue); List getTypeValuesH5(String key); + + DictCommonVo selectByDictTypeAndDictValue(@Param("dictType")String dictType, @Param("dictValue")String dictValue); } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonMapper.xml index bba6565283..8f02a5f70c 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonMapper.xml +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonMapper.xml @@ -44,4 +44,14 @@ + \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonRest.java index 8da1e4eb95..daa3ee6032 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonRest.java +++ b/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> getTypeValuesH5(String key) { return dictCommonService.getTypeValuesH5(key); } + + @Override + public ResultBean selectByDictTypeAndDictValue(String dictType, String dictValue) { + return dictCommonService.selectByDictTypeAndDictValue(dictType,dictValue); + } } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonService.java index 869e200149..8bdb62cb72 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/dictcommon/DictCommonService.java +++ b/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 selectByDictTypeAndDictValue(String dictType, String dictValue) { + ResultBean rb = ResultBean.fireFail(); + DictCommonVo dictCommon = baseMapper.selectByDictTypeAndDictValue(dictType,dictValue); + if (null != dictCommon) { + return rb.success().setData(dictCommon); + } + return rb; + } } diff --git a/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java b/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java index 4643996f1d..e4b81f57e5 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java +++ b/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(); + } + } //------------------------------- 行政类商品管理 -------------------------------- diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basebrandinfo/BaseBrandInfoService.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basebrandinfo/BaseBrandInfoService.java index 4df9ab5ea2..9e3835ae3c 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basebrandinfo/BaseBrandInfoService.java +++ b/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 initialization(String sid) { diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java index 8d9164857b..759b1c61b4 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java @@ -23,13 +23,23 @@ public interface BaseGoodsSpuMapper extends BaseMapper { 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 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); } diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml index 812f811723..3bba6e3d4f 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml +++ b/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 @@ -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} @@ -103,13 +105,51 @@ WHERE SELECT * FROM base_goods_spu WHERE useOrgSid = #{useOrgSid} - and goodsClassKey = '003' - and isDelete = 0 + and goodsClassKey = '003' + and isDelete = 0 and goodsCode like concat('%',#{name},'%') + + + + + diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java index 075ce225b6..295bde7915 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java +++ b/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> listPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); @@ -317,7 +325,7 @@ public class BaseGoodsSpuService extends MybatisBaseService split = Arrays.asList(orgPath.split("/")); - if (split.size() > 1) { - //获取本级sid获取本级部门信息 - 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(); + String useOrgSid = ""; + String createOrgSid = ""; + if (StringUtils.isNotBlank(orgPath)) { + List 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; @@ -688,15 +701,10 @@ public class BaseGoodsSpuService extends MybatisBaseService setMsg = returnMsg.getSetMsg(); StringBuffer sbMsg = new StringBuffer(); List 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 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 voList = new ArrayList<>(); Set setMsg = new HashSet<>(); @@ -851,6 +1006,44 @@ public class BaseGoodsSpuService extends MybatisBaseService 0) { + setMsg.add("图号" + goodsCode + "已存在,请勿重复添加"); + } + } + if (StringUtils.isNotBlank(v.getGoodsLevelValue())) { + String goodsLevelValue = v.getGoodsLevelValue(); + ResultBean 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 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; diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/ImportDataVo.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/ImportDataVo.java index af36798b22..8b9d6275e8 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/ImportDataVo.java +++ b/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;//商品等级 } diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodstype/BaseGoodsTypeService.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodstype/BaseGoodsTypeService.java index 0dd7443612..5bcd5b4cc4 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodstype/BaseGoodsTypeService.java +++ b/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 initialization(String sid) { diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsunit/BaseGoodsUnitService.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsunit/BaseGoodsUnitService.java index d4642bd1dd..bb5de3220a 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsunit/BaseGoodsUnitService.java +++ b/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 initialization(String sid) { diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerService.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerService.java index 8ba4e3bff3..e8d536a111 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerService.java +++ b/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 initialization(String sid) { diff --git a/yxt-base-biz/src/main/java/com/yxt/base/feign/portal/dictcommonfeign/DictCommonFeign.java b/yxt-base-biz/src/main/java/com/yxt/base/feign/portal/dictcommonfeign/DictCommonFeign.java new file mode 100644 index 0000000000..7791637f84 --- /dev/null +++ b/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 selectByDictTypeAndDictValue(@RequestParam("dictType") String dictType,@RequestParam("dictValue") String dictValue); +} diff --git a/yxt-base-biz/src/main/java/com/yxt/base/feign/portal/dictcommonfeign/DictCommonVo.java b/yxt-base-biz/src/main/java/com/yxt/base/feign/portal/dictcommonfeign/DictCommonVo.java new file mode 100644 index 0000000000..535ce89b92 --- /dev/null +++ b/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; +} diff --git a/yxt-base-biz/src/main/resources/static/商品信息导入模板.xls b/yxt-base-biz/src/main/resources/static/商品信息导入模板.xls new file mode 100644 index 0000000000..e20332c166 Binary files /dev/null and b/yxt-base-biz/src/main/resources/static/商品信息导入模板.xls differ