Browse Source

商品信息

master
wangpengfei 5 months ago
parent
commit
e8ccea5753
  1. 2
      wms/src/main/java/com/yxt/wms/apiadmin/aggregation/BaseGoodsBrandRest.java
  2. 10
      wms/src/main/java/com/yxt/wms/apiadmin/aggregation/BaseGoodsSpuRest.java
  3. 2
      wms/src/main/java/com/yxt/wms/apiadmin/aggregation/BaseGoodsTypeRest.java
  4. 2
      wms/src/main/java/com/yxt/wms/apiadmin/aggregation/BaseGoodsUnitRest.java
  5. 2
      wms/src/main/java/com/yxt/wms/apiadmin/aggregation/BaseManufacturerRest.java
  6. 2
      wms/src/main/java/com/yxt/wms/biz/func/basebrandinfo/BaseBrandInfoService.java
  7. 13
      wms/src/main/java/com/yxt/wms/biz/func/basegoodsspu/BaseGoodsImportVo.java
  8. 3
      wms/src/main/java/com/yxt/wms/biz/func/basegoodsspu/BaseGoodsSpuDto.java
  9. 18
      wms/src/main/java/com/yxt/wms/biz/func/basegoodsspu/BaseGoodsSpuQuery.java
  10. 350
      wms/src/main/java/com/yxt/wms/biz/func/basegoodsspu/BaseGoodsSpuService.java
  11. 2
      wms/src/main/java/com/yxt/wms/biz/func/basegoodstype/BaseGoodsTypeService.java
  12. 2
      wms/src/main/java/com/yxt/wms/biz/func/basegoodsunit/BaseGoodsUnitService.java
  13. 2
      wms/src/main/java/com/yxt/wms/biz/func/basemanufacturer/BaseManufacturerService.java
  14. 15
      wms/src/main/java/com/yxt/wms/biz/func/inventoryadjustment/adjustmentDetail.java
  15. 15
      wms/src/main/java/com/yxt/wms/biz/func/inventoryadjustment/adjustmentDto.java
  16. 26
      wms/src/main/java/com/yxt/wms/biz/func/warehouseinfo/ProjectDetailsVo.java
  17. 2
      wms/src/main/java/com/yxt/wms/feign/base/basebrandinfo/BaseBrandInfoFeign.java
  18. 2
      wms/src/main/java/com/yxt/wms/feign/base/basebrandinfo/BaseBrandInfoFeignFallback.java
  19. 4
      wms/src/main/java/com/yxt/wms/feign/base/basegoodsspu/BaseGoodsSpuFeign.java
  20. 3
      wms/src/main/java/com/yxt/wms/feign/base/basegoodsspu/BaseGoodsSpuFeignFallback.java
  21. 2
      wms/src/main/java/com/yxt/wms/feign/base/basegoodstype/BaseGoodsTypeFeign.java
  22. 2
      wms/src/main/java/com/yxt/wms/feign/base/basegoodstype/BaseGoodsTypeFeignFallback.java
  23. 2
      wms/src/main/java/com/yxt/wms/feign/base/basegoodsunit/BaseGoodsUnitFeign.java
  24. 2
      wms/src/main/java/com/yxt/wms/feign/base/basegoodsunit/BaseGoodsUnitFeignFallback.java
  25. 2
      wms/src/main/java/com/yxt/wms/feign/base/basemanufacturer/BaseManufacturerFeign.java
  26. 2
      wms/src/main/java/com/yxt/wms/feign/base/basemanufacturer/BaseManufacturerFeignFallback.java

2
wms/src/main/java/com/yxt/wms/apiadmin/aggregation/BaseGoodsBrandRest.java

@ -36,7 +36,7 @@ public class BaseGoodsBrandRest {
@ApiOperation("查询所有的品牌")
@PostMapping("/listAll")
public ResultBean<List<BaseBrandInfo>> listAll(@RequestBody OrgPathQuery query) {
public ResultBean<List<BaseBrandInfoVo>> listAll(@RequestBody OrgPathQuery query) {
return baseBrandInfoService.listAll(query);
}

10
wms/src/main/java/com/yxt/wms/apiadmin/aggregation/BaseGoodsSpuRest.java

@ -15,6 +15,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**
* @author wangpengfei
@ -74,8 +75,13 @@ public class BaseGoodsSpuRest {
}
@ApiOperation("导入excel")
@PostMapping("/importExcel")
public ResultBean importExcel(@RequestParam("file")MultipartFile file) throws IOException {
return baseGoodsSpuService.importExcel(file);
public ResultBean importExcel(@RequestParam("file")MultipartFile file,@RequestParam("orgPath")String orgPath) throws IOException {
return baseGoodsSpuService.importExcel(file,orgPath);
}
@ApiOperation("保存")
@PostMapping("/batchSave")
public ResultBean<String> batchSave(@RequestBody List<BaseGoodsSpuDto> dtos, @RequestParam("orgPath") String orgPath){
return baseGoodsSpuService.batchSave(dtos,orgPath);
}
@ApiOperation("更改可用状态")
@GetMapping("/updateIsEnablebySku/{sid}/{isEnable}")

2
wms/src/main/java/com/yxt/wms/apiadmin/aggregation/BaseGoodsTypeRest.java

@ -32,7 +32,7 @@ public class BaseGoodsTypeRest {
}
@ApiOperation("查询所有的类别")
@PostMapping("/listAll")
public ResultBean<List<BaseGoodsType>> listAll(@RequestBody OrgPathQuery query) {
public ResultBean<List<BaseGoodsTypeVo>> listAll(@RequestBody OrgPathQuery query) {
return baseGoodsTypeService.listAll(query);
}

2
wms/src/main/java/com/yxt/wms/apiadmin/aggregation/BaseGoodsUnitRest.java

@ -31,7 +31,7 @@ public class BaseGoodsUnitRest {
}
@ApiOperation("查询所有的类别")
@PostMapping("/listAll")
public ResultBean<List<BaseGoodsUnit>> listAll(@RequestBody OrgPathQuery query) {
public ResultBean<List<BaseGoodsUnitVo>> listAll(@RequestBody OrgPathQuery query) {
return baseGoodsUnitService.listAll(query);
}

2
wms/src/main/java/com/yxt/wms/apiadmin/aggregation/BaseManufacturerRest.java

@ -32,7 +32,7 @@ public class BaseManufacturerRest {
@ApiOperation("查询所有的厂家")
@PostMapping("/listAll")
public ResultBean<List<BaseManufacturer>> listAll(@RequestBody OrgPathQuery query) {
public ResultBean<List<BaseManufacturerVo>> listAll(@RequestBody OrgPathQuery query) {
return baseManufacturerService.listAll(query);
}

2
wms/src/main/java/com/yxt/wms/biz/func/basebrandinfo/BaseBrandInfoService.java

@ -51,7 +51,7 @@ public class BaseBrandInfoService extends MybatisBaseService<BaseBrandInfoMapper
return rb.success().success().setData(baseBrandInfoVos);
}
public ResultBean<List<BaseBrandInfo>> listAll( OrgPathQuery query) {
public ResultBean<List<BaseBrandInfoVo>> listAll( OrgPathQuery query) {
return baseBrandInfoFeign.listAll(query);
}
public ResultBean<String> saveOrUpdate(BaseBrandInfoDto dto) {

13
wms/src/main/java/com/yxt/wms/biz/func/basegoodsspu/BaseGoodsImportVo.java

@ -0,0 +1,13 @@
package com.yxt.wms.biz.func.basegoodsspu;
import lombok.Data;
/**
* @author wangpengfei
* @date 2024/11/5 15:24
*/
@Data
public class BaseGoodsImportVo {
private String xh;
private String xpdm;
}

3
wms/src/main/java/com/yxt/wms/biz/func/basegoodsspu/BaseGoodsSpuDto.java

@ -29,8 +29,11 @@ public class BaseGoodsSpuDto implements Dto {
private String goodsPY;//拼音缩写
private String goodsShortName;//商品简称
private String goodsTypeSid;//商品分类sid
private String goodsTypeName;//商品分类sid
private String brandSid;//品牌sid
private String brandName;//品牌sid
private String manufacturerSid;//厂家sid
private String manufacturerName;//厂家sid
private String goodsUnitSid;//商品单位sid
private String goodsUnitName;//商品单位名称
private String taxRate;//税率

18
wms/src/main/java/com/yxt/wms/biz/func/basegoodsspu/BaseGoodsSpuQuery.java

@ -11,6 +11,24 @@ import lombok.Data;
@Data
public class BaseGoodsSpuQuery implements Query {
private String name;
//商品编码
private String goodsCode;
//商品名称
private String goodsName;
//条形码
private String barCode;
//规格编码
private String goodsSkuCode;
//规格型号
private String title;
//具体规格
private String ownSpec;
//品牌
private String brandName;
//厂家
private String manufacturerName;
//厂家货号
private String manufacturerCode;
private String orgLevelKey;//权限等级
@ApiModelProperty("菜单路由")
private String menuUrl;

350
wms/src/main/java/com/yxt/wms/biz/func/basegoodsspu/BaseGoodsSpuService.java

@ -1,5 +1,6 @@
package com.yxt.wms.biz.func.basegoodsspu;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
@ -21,11 +22,13 @@ import com.yxt.wms.biz.func.basemanufacturer.BaseManufacturer;
import com.yxt.wms.biz.func.commonmethod.CommonMethod;
import com.yxt.wms.biz.func.commonmethod.DataRule;
import com.yxt.wms.feign.base.basebrandinfo.BaseBrandInfoFeign;
import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuFeign;
import com.yxt.wms.feign.base.basegoodsspu.*;
import com.yxt.wms.feign.base.basegoodstype.BaseGoodsTypeFeign;
import com.yxt.wms.feign.base.basegoodsunit.BaseGoodsUnitFeign;
import com.yxt.wms.feign.base.basemanufacturer.BaseManufacturerFeign;
import com.yxt.wms.utils.ExcelUtil;
import com.yxt.wms.utils.OrgPathQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@ -63,14 +66,16 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
@Autowired
BaseGoodsSpuFeign baseGoodsSpuFeign;
@Autowired
BaseGoodsSkuFeign baseGoodsSkuFeign;
@Autowired
CommonMethod commonMethod;
@Autowired
private FileUploadComponent fileUploadComponent;
public ResultBean<PagerVo<BaseGoodsSpuVo>> listPage(PagerQuery<BaseGoodsSpuQuery> pq) {
BaseGoodsSpuQuery query=pq.getParams();
DataRule dataRule=commonMethod.dataRule(query.getOrgPath(),query.getMenuUrl(),query.getUserSid()).getData();
BaseGoodsSpuQuery query = pq.getParams();
DataRule dataRule = commonMethod.dataRule(query.getOrgPath(), query.getMenuUrl(), query.getUserSid()).getData();
pq.getParams().setOrgLevelKey(dataRule.getDataRuleId());
pq.getParams().setIndex(dataRule.getIndex());
return baseGoodsSpuFeign.listPage(pq);
@ -84,10 +89,10 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
for (UrlsVo url : baseGoodsSkus.getBaseGoodsSkuExtend().getUrls()) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
String path = url.getUrl().substring(urlPrefix.length());
if(StringUtils.isBlank(baseGoodsSkus.getBaseGoodsSkuExtend().getPicUrl())){
if (StringUtils.isBlank(baseGoodsSkus.getBaseGoodsSkuExtend().getPicUrl())) {
baseGoodsSkus.getBaseGoodsSkuExtend().setPicUrl(path);
}else{
baseGoodsSkus.getBaseGoodsSkuExtend().setPicUrl(baseGoodsSkus.getBaseGoodsSkuExtend().getPicUrl()+","+path);
} else {
baseGoodsSkus.getBaseGoodsSkuExtend().setPicUrl(baseGoodsSkus.getBaseGoodsSkuExtend().getPicUrl() + "," + path);
}
}
}
@ -96,11 +101,11 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
public ResultBean<BaseGoodsSpuVo> initialization(String sid) {
ResultBean<BaseGoodsSpuVo> rb = ResultBean.fireFail();
ResultBean<BaseGoodsSpuVo> w=baseGoodsSpuFeign.initialization(sid);
if(!w.getCode().equals("200")){
ResultBean<BaseGoodsSpuVo> w = baseGoodsSpuFeign.initialization(sid);
if (!w.getCode().equals("200")) {
return w;
}
BaseGoodsSpuVo baseGoodsSpuVo=w.getData();
BaseGoodsSpuVo baseGoodsSpuVo = w.getData();
for (BaseGoodsSkuVo baseGoodsSkus : baseGoodsSpuVo.getBaseGoodsSkus()) {
for (UrlsVo url : baseGoodsSkus.getBaseGoodsSkuExtend().getUrls()) {
url.setUrl(fileUploadComponent.getUrlPrefix() + url.getUrl());
@ -119,6 +124,7 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
}
return rb.success();
}
public ResultBean delAll(String[] sids) {
return baseGoodsSpuFeign.delBySids(sids);
}
@ -131,7 +137,7 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
public void download(HttpServletRequest request, HttpServletResponse response) {
// 指定要下载的文件路径
String filePath = path + "商品导入模板.xls";
String filePath = path + "商享通商品导入明细模版 .xls";
String fileName = new File(filePath).getName();
String encodedFileName = null;
try {
@ -158,92 +164,191 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
}
}
public ResultBean importExcel(MultipartFile file) throws IOException {
// return baseGoodsSpuFeign.importExcel(file);
ResultBean rb=new ResultBean().fail();
//檢查excel
ExcelUtil.checkFile(file);
//解析excel
List<String[]> list = ExcelUtil.readExcel(file);
if (!list.isEmpty()) {
List tt = new ArrayList();
List<BaseGoodsSpuDto> tt1 = new ArrayList();
for (int i = 0; i < list.size(); i++) {
BaseGoodsSpuDto dto =new BaseGoodsSpuDto();
String taxRate = StringUtils.isEmpty(list.get(i)[10]) ? null : list.get(i)[10];
if(StringUtils.isNotBlank(taxRate)){
if(!taxRate.contains(".")){
return rb.setMsg("第" + (i + 1) + "行税率格式不正确!");
}
if(taxRate.length()>4){
return rb.setMsg("第" + (i + 1) + "行税率长度不正确!");
}
}
public ResultBean<String> batchSave(List<BaseGoodsSpuDto> dtos, String orgPath) {
return baseGoodsSpuFeign.batchSave(dtos, orgPath);
}
dto = this.packaging(list.get(i),dto);
if (null == dto) {
return rb.setMsg("导入失败,第" + (i + 1) + "行数据错误!");
} else {
tt.add(dto);
}
public ResultBean importExcel(MultipartFile file, String orgPath) throws IOException {
// return baseGoodsSpuFeign.importExcel(file);
ResultBean rb = new ResultBean().fail();
//檢查excel
ExcelUtil.checkFile(file);
//解析excel
List<String[]> list = ExcelUtil.readExcel(file);
OrgPathQuery q = new OrgPathQuery();
q.setOrgPath(orgPath);
List<BaseGoodsSkuVo> vos1 = baseGoodsSkuFeign.listAllByOrg(q).getData();
if (!list.isEmpty()) {
List<BaseGoodsSpuDto> tt = new ArrayList();
List<BaseGoodsImportVo> list1 = new ArrayList<>();
List<BaseGoodsSpuDto> tt1 = new ArrayList();
for (int i = 0; i < list.size(); i++) {
BaseGoodsSpuDto dto = new BaseGoodsSpuDto();
String spuCode = StringUtils.isEmpty(list.get(i)[0]) ? null : list.get(i)[0];
if (StringUtils.isBlank(spuCode)) {
return rb.setMsg("第" + (i + 1) + "商品编码为空!");
}
tt1=a(tt);
for (BaseGoodsSpuDto baseGoodsSpuDto : tt1) {
String goodsTypeSid = StringUtils.isEmpty(baseGoodsSpuDto.getGoodsTypeSid()) ? null : baseGoodsSpuDto.getGoodsTypeSid();
if (StringUtils.isNotBlank(goodsTypeSid)) {
BaseGoodsType baseGoodsType = baseGoodsTypeFeign.getTypeByName(goodsTypeSid).getData();
if (null != baseGoodsType) {
baseGoodsSpuDto.setGoodsTypeSid(baseGoodsType.getSid());
} else {
return rb.setMsg("商品分类:" + goodsTypeSid + "不存在,请先添加");
}
String spuName = StringUtils.isEmpty(list.get(i)[2]) ? null : list.get(i)[2];
if (StringUtils.isBlank(spuName)) {
return rb.setMsg("第" + (i + 1) + "商品名称为空!");
}
String type = StringUtils.isEmpty(list.get(i)[6]) ? null : list.get(i)[6];
if (StringUtils.isBlank(type)) {
return rb.setMsg("第" + (i + 1) + "商品分类为空!");
}
String brand = StringUtils.isEmpty(list.get(i)[7]) ? null : list.get(i)[7];
if (StringUtils.isBlank(brand)) {
return rb.setMsg("第" + (i + 1) + "品牌为空!");
}
String cj = StringUtils.isEmpty(list.get(i)[8]) ? null : list.get(i)[8];
if (StringUtils.isBlank(cj)) {
return rb.setMsg("第" + (i + 1) + "厂家为空!");
}
String unit = StringUtils.isEmpty(list.get(i)[9]) ? null : list.get(i)[9];
if (StringUtils.isBlank(unit)) {
return rb.setMsg("第" + (i + 1) + "商品单位为空!");
}
String taxRate = StringUtils.isEmpty(list.get(i)[10]) ? null : list.get(i)[10];
if (!isNumeric(taxRate)) {
return rb.setMsg("第" + (i + 1) + "行税率不是数字!");
}
if (StringUtils.isNotBlank(taxRate)) {
if (taxRate.contains("-")) {
return rb.setMsg("第" + (i + 1) + "行税率不能为负数!");
}
String brandSid = StringUtils.isEmpty(baseGoodsSpuDto.getBrandSid()) ? null : baseGoodsSpuDto.getBrandSid();
if (StringUtils.isNotBlank(brandSid)) {
BaseBrandInfo brand = baseBrandInfoFeign.getBrandByName(brandSid).getData();
if (null != brand) {
baseGoodsSpuDto.setBrandSid(brand.getSid());
} else {
return rb.setMsg("商品品牌:" + brandSid + "不存在,请先添加");
}
if (!taxRate.contains(".")) {
return rb.setMsg("第" + (i + 1) + "行税率不是小数!");
}
String manufacturerSid = StringUtils.isEmpty(baseGoodsSpuDto.getManufacturerSid()) ? null : baseGoodsSpuDto.getManufacturerSid();
if (StringUtils.isNotBlank(manufacturerSid)) {
BaseManufacturer baseManufacturer = baseManufacturerFeign.getManufacturerByName(manufacturerSid).getData();
if (null != baseManufacturer) {
baseGoodsSpuDto.setManufacturerSid(baseManufacturer.getSid());
} else {
return rb.setMsg("商品厂家:" + manufacturerSid + "不存在,请先添加");
}
if (taxRate.length() > 4) {
return rb.setMsg("第" + (i + 1) + "行税率长度不正确!");
}
} else {
return rb.setMsg("第" + (i + 1) + "行税率为空!");
}
String bzq = StringUtils.isEmpty(list.get(i)[11]) ? null : list.get(i)[11];
if (!isNumeric(bzq)) {
return rb.setMsg("第" + (i + 1) + "行保质期(天)不是数字!");
}
if (StringUtils.isBlank(bzq)) {
return rb.setMsg("第" + (i + 1) + "行保质期(天)为空!");
}
String ggdm = StringUtils.isEmpty(list.get(i)[18]) ? null : list.get(i)[18];
boolean b=vos1.stream().anyMatch(o->o.getGoodsSkuCode().equals(ggdm));
if(b){
return rb.setMsg("第" + (i + 1) + "行规格代码已存在!");
}
BaseGoodsImportVo vo = new BaseGoodsImportVo();
vo.setXh(String.valueOf(i + 1));
vo.setXpdm(ggdm);
list1.add(vo);
if (StringUtils.isBlank(ggdm)) {
return rb.setMsg("第" + (i + 1) + "行规格代码不正确!");
}
String ggxh = StringUtils.isEmpty(list.get(i)[20]) ? null : list.get(i)[20];
if (StringUtils.isBlank(ggxh)) {
return rb.setMsg("第" + (i + 1) + "行规格型号为空!");
}
String cgj = StringUtils.isEmpty(list.get(i)[21]) ? null : list.get(i)[21];
if (!isNumeric(cgj)) {
return rb.setMsg("第" + (i + 1) + "行最后采购价不是数字!");
}
if (StringUtils.isBlank(cgj)) {
return rb.setMsg("第" + (i + 1) + "行最后采购价为空!");
}
String aqts = StringUtils.isEmpty(list.get(i)[22]) ? null : list.get(i)[22];
if (!isNumeric(aqts)) {
return rb.setMsg("第" + (i + 1) + "行库存安全天数不是数字!");
}
String jjsx = StringUtils.isEmpty(list.get(i)[25]) ? null : list.get(i)[25];
if (!isNumeric(jjsx)) {
return rb.setMsg("第" + (i + 1) + "行库存警戒上线不是数字!");
}
String jjxx = StringUtils.isEmpty(list.get(i)[26]) ? null : list.get(i)[26];
if (!isNumeric(jjxx)) {
return rb.setMsg("第" + (i + 1) + "行库存警戒下线不是数字!");
}
String cbj = StringUtils.isEmpty(list.get(i)[27]) ? null : list.get(i)[27];
if (!isNumeric(cbj)) {
return rb.setMsg("第" + (i + 1) + "行成本价不是数字!");
}
if (StringUtils.isBlank(cbj)) {
return rb.setMsg("第" + (i + 1) + "行成本价为空!");
}
String dpj = StringUtils.isEmpty(list.get(i)[28]) ? null : list.get(i)[28];
if (!isNumeric(dpj)) {
return rb.setMsg("第" + (i + 1) + "行吊牌价不是数字!");
}
String xsdj = StringUtils.isEmpty(list.get(i)[29]) ? null : list.get(i)[29];
if(!isNumeric(xsdj)){
return rb.setMsg("第" + (i + 1) + "行销售单价不是数字!");
}
if (StringUtils.isBlank(xsdj)) {
return rb.setMsg("第" + (i + 1) + "行销售单价为空!");
}
String goodsUnitSid = StringUtils.isEmpty(baseGoodsSpuDto.getGoodsUnitName()) ? null : baseGoodsSpuDto.getGoodsUnitName();
if (StringUtils.isNotBlank(goodsUnitSid)) {
BaseGoodsUnit baseGoodsUnit = baseGoodsUnitFeign.getUnitByName(goodsUnitSid).getData();
if (null != baseGoodsUnit) {
baseGoodsSpuDto.setGoodsUnitSid(baseGoodsUnit.getSid());
String bzjj = StringUtils.isEmpty(list.get(i)[30]) ? null : list.get(i)[30];
if(!isNumeric(bzjj)){
return rb.setMsg("第" + (i + 1) + "行标准进价不是数字!");
}
String dlj = StringUtils.isEmpty(list.get(i)[31]) ? null : list.get(i)[31];
if(!isNumeric(dlj)){
return rb.setMsg("第" + (i + 1) + "行代理价不是数字!");
}
String zk = StringUtils.isEmpty(list.get(i)[32]) ? null : list.get(i)[32];
if(!isNumeric(zk)){
return rb.setMsg("第" + (i + 1) + "行折扣不是数字!");
}
String zdls = StringUtils.isEmpty(list.get(i)[33]) ? null : list.get(i)[33];
if(!isNumeric(zdls)){
return rb.setMsg("第" + (i + 1) + "行最低零售价不是数字!");
}
String jf = StringUtils.isEmpty(list.get(i)[36]) ? null : list.get(i)[36];
if(!isNumeric(jf)){
return rb.setMsg("第" + (i + 1) + "行积分不是数字!");
}
dto = this.packaging(list.get(i), dto);
if (null == dto) {
return rb.setMsg("导入失败,第" + (i + 1) + "行数据错误!");
} else {
tt.add(dto);
}
}
Map<String, Long> nameCountMap = list1.stream()
.collect(Collectors.groupingBy(BaseGoodsImportVo::getXpdm, Collectors.counting()));
List<BaseGoodsImportVo> vos = list1.stream().filter(a -> nameCountMap.getOrDefault(a.getXpdm(), 0L) > 1).collect(Collectors.toList());
if (vos.size() != 0) {
String a = "";
for (BaseGoodsImportVo vo : vos) {
if (vo.getXpdm().equals(vos.get(0).getXpdm())) {
if (StringUtils.isBlank(a)) {
a = vo.getXh();
} else {
return rb.setMsg("商品单位:" + goodsUnitSid + "不存在,请先添加");
a = a + "," + vo.getXh();
}
}
}
baseGoodsSpuFeign.batchSave(tt1);
return rb.success().setMsg("导入成功");
} else {
return rb.setMsg("导入文件没有有效数据");
return rb.setMsg("导入失败,第" + a + "行规格代码数据重复!");
}
tt1 = a(tt);
return rb.success().setMsg("导入成功").setData(tt1);
} else {
return rb.setMsg("导入文件没有有效数据");
}
}
public static boolean isNumeric(String strNum) {
if (strNum == null) {
return false;
}
return strNum.matches("-?\\d+(\\.\\d+)?");
}
public List<BaseGoodsSpuDto> a(List<BaseGoodsSpuDto> dtos) {
ResultBean rb=new ResultBean().fail();
ResultBean rb = new ResultBean().fail();
List<BaseGoodsSpuDto> spus = new ArrayList<>();//spu list
int goodsCode =dtos.stream().filter(b->StringUtils.isEmpty(b.getGoodsCode())).collect(Collectors.toList()).size();
if(goodsCode==0){
int goodsCode = dtos.stream().filter(b -> StringUtils.isEmpty(b.getGoodsCode())).collect(Collectors.toList()).size();
if (goodsCode == 0) {
spus = dtos.stream().filter(distinctByKey(BaseGoodsSpuDto::getGoodsCode)).collect(Collectors.toList());
}else{
} else {
spus = dtos.stream().filter(distinctByKey(BaseGoodsSpuDto::getGoodsName)).collect(Collectors.toList());
}
for (BaseGoodsSpuDto baseGoodsSpuDto : spus) {
@ -251,10 +356,10 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
List<BaseGoodsSkuDto> skus = new ArrayList<>();
String sid = UUID.randomUUID().toString();
baseGoodsSpuDto.setSid(sid);
List<BaseGoodsSpuDto> dtos1=new ArrayList<>();
if(goodsCode==0){
List<BaseGoodsSpuDto> dtos1 = new ArrayList<>();
if (goodsCode == 0) {
dtos1 = dtos.stream().filter(d -> d.getGoodsCode().equals(baseGoodsSpuDto.getGoodsCode())).collect(Collectors.toList());
}else{
} else {
dtos1 = dtos.stream().filter(d -> d.getGoodsName().equals(baseGoodsSpuDto.getGoodsName())).collect(Collectors.toList());
}
spuDetail.setGoodsExplain(dtos1.get(0).getBaseGoodsSpuDetail().getGoodsExplain());
@ -303,7 +408,7 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
return t -> seen.add(keyExtractor.apply(t));
}
private BaseGoodsSpuDto packaging(String[] arr, BaseGoodsSpuDto baseGoodsSpuDto) {
private BaseGoodsSpuDto packaging(String[] arr, BaseGoodsSpuDto baseGoodsSpuDto) {
Map<String, Object> result = new HashMap<>();
//0四电名称1四电类别2规格3数量4单价5总价6单位7备注
// BaseGoodsSpuDto baseGoodsSpuDto =null;
@ -312,47 +417,43 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
String barCode = StringUtils.isEmpty(arr[1]) ? "" : arr[1];//
String goodsName = StringUtils.isEmpty(arr[2]) ? "" : arr[2];//
String subTitle = StringUtils.isEmpty(arr[3]) ? "" : arr[3];
String goodsPY = StringUtils.isEmpty(arr[4]) ? "": arr[4];
String goodsShortName = StringUtils.isEmpty(arr[5]) ? "" :arr[5];
String goodsTypeSid = StringUtils.isEmpty(arr[6]) ? "" : arr[6];
String brandSid = StringUtils.isEmpty(arr[7]) ? "" : arr[7];
String manufacturerSid = StringUtils.isEmpty(arr[8]) ? "" : arr[8];
// String goodsUnitSid = StringUtils.isEmpty(arr[9]) ? null : arr[9];
String goodsPY = StringUtils.isEmpty(arr[4]) ? "" : arr[4];
String goodsShortName = StringUtils.isEmpty(arr[5]) ? "" : arr[5];
String goodsType = StringUtils.isEmpty(arr[6]) ? "" : arr[6];
String brand = StringUtils.isEmpty(arr[7]) ? "" : arr[7];
String manufacturer = StringUtils.isEmpty(arr[8]) ? "" : arr[8];
String goodsUnitName = StringUtils.isEmpty(arr[9]) ? "" : arr[9];
String taxRate = StringUtils.isEmpty(arr[10]) ? "0" : arr[10];
String shelfLife = StringUtils.isEmpty(arr[11]) ? "0" : arr[11];
String nationalStandardCode = StringUtils.isEmpty(arr[12]) ? "" : arr[12];
String externalCode = StringUtils.isEmpty(arr[13]) ? "" : arr[13];
String factoryCode = StringUtils.isEmpty(arr[14]) ? "" : arr[14];
String isListed = (StringUtils.isEmpty(arr[15]) ? "1" : arr[15].equals("是")? "1":"2");
String useOrgSid = StringUtils.isEmpty(arr[16]) ? "" : arr[16];
String createOrgSid = StringUtils.isEmpty(arr[17]) ? "" : arr[17];
String isListed = (StringUtils.isEmpty(arr[15]) ? "1" : arr[15].equals("是") ? "1" : "2");
// String goodSpuSid = StringUtils.isEmpty(arr[19]) ? null : arr[19];
String goodsExplain = StringUtils.isEmpty(arr[18]) ? "" : arr[18];
String goodsDescription = StringUtils.isEmpty(arr[19]) ? "" : arr[19];
String goodsExplain = StringUtils.isEmpty(arr[16]) ? "" : arr[16];
String goodsDescription = StringUtils.isEmpty(arr[17]) ? "" : arr[17];
String goodsSkuSid = "";
String goodsSkuCode = StringUtils.isEmpty(arr[20]) ? "" : arr[20];
String title = StringUtils.isEmpty(arr[21]) ? "" : arr[21];
String skuExternalCode = StringUtils.isEmpty(arr[22]) ? "" : arr[22];
String goodsSkuCode = StringUtils.isEmpty(arr[18]) ? "" : arr[18];
String title = StringUtils.isEmpty(arr[19]) ? "" : arr[19];
String ownSpec = StringUtils.isEmpty(arr[20]) ? "" : arr[20];
String finalPurchasePrice = StringUtils.isEmpty(arr[23]) ? "" : arr[23];
String safetyStockDays = StringUtils.isEmpty(arr[24]) ? "" : arr[24];
String isOriginalFactory = (StringUtils.isEmpty(arr[25]) ? "1" : arr[25].equals("是")? "1":"2");
String isInventoryAlert = (StringUtils.isEmpty(arr[26]) ? "1" : arr[26].equals("是")? "1":"2");
String inventoryAlertUpperLimit = StringUtils.isEmpty(arr[27]) ? "0" : arr[27];
String inventoryAlertLowerLimit = StringUtils.isEmpty(arr[28]) ? "0" : arr[28];
String costPrice = StringUtils.isEmpty(arr[29]) ? "0" : arr[29];
String tagPrice = StringUtils.isEmpty(arr[30]) ? "0" : arr[30];
String salesPrice = StringUtils.isEmpty(arr[31]) ? "0" : arr[31];
String standardPurchasePrice = StringUtils.isEmpty(arr[32]) ? "0" : arr[32];
String agencyPrice = StringUtils.isEmpty(arr[33]) ? "0" : arr[33];
String discount = StringUtils.isEmpty(arr[34]) ? "0" : arr[34];
String minimumSalesPrice = StringUtils.isEmpty(arr[35]) ? "0" : arr[35];
String isLockingSalesPrice = (StringUtils.isEmpty(arr[36]) ? "1" : arr[36].equals("是")? "1":"2");
String isIntegralExchange = (StringUtils.isEmpty(arr[37]) ? "1" : arr[37].equals("是")? "1":"2");
String integralAmount = StringUtils.isEmpty(arr[38]) ? "0" : arr[38];
String finalPurchasePrice = StringUtils.isEmpty(arr[21]) ? "" : arr[21];
String safetyStockDays = StringUtils.isEmpty(arr[22]) ? "" : arr[22];
String isOriginalFactory = (StringUtils.isEmpty(arr[23]) ? "1" : arr[23].equals("是") ? "1" : "2");
String isInventoryAlert = (StringUtils.isEmpty(arr[24]) ? "1" : arr[24].equals("是") ? "1" : "2");
String inventoryAlertUpperLimit = StringUtils.isEmpty(arr[25]) ? "0" : arr[25];
String inventoryAlertLowerLimit = StringUtils.isEmpty(arr[26]) ? "0" : arr[26];
String costPrice = StringUtils.isEmpty(arr[27]) ? "0" : arr[27];
String tagPrice = StringUtils.isEmpty(arr[28]) ? "0" : arr[28];
String salesPrice = StringUtils.isEmpty(arr[29]) ? "0" : arr[29];
String standardPurchasePrice = StringUtils.isEmpty(arr[30]) ? "0" : arr[30];
String agencyPrice = StringUtils.isEmpty(arr[31]) ? "0" : arr[31];
String discount = StringUtils.isEmpty(arr[32]) ? "0" : arr[32];
String minimumSalesPrice = StringUtils.isEmpty(arr[33]) ? "0" : arr[33];
String isLockingSalesPrice = (StringUtils.isEmpty(arr[34]) ? "1" : arr[34].equals("是") ? "1" : "2");
String isIntegralExchange = (StringUtils.isEmpty(arr[35]) ? "1" : arr[35].equals("是") ? "1" : "2");
String integralAmount = StringUtils.isEmpty(arr[36]) ? "0" : arr[36];
//excel表中物资类别保存的是分类编号,插入数据库时 根据分类编号查询基础数据中 物资类别表的id
@ -364,9 +465,9 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
baseGoodsSpuDto.setGoodsPY(goodsPY);
baseGoodsSpuDto.setGoodsShortName(goodsShortName);
baseGoodsSpuDto.setGoodsTypeSid(goodsTypeSid);
baseGoodsSpuDto.setBrandSid(brandSid);
baseGoodsSpuDto.setManufacturerSid(manufacturerSid);
baseGoodsSpuDto.setGoodsTypeName(goodsType);
baseGoodsSpuDto.setBrandName(brand);
baseGoodsSpuDto.setManufacturerName(manufacturer);
// baseGoodsSpuDto.setGoodsUnitSid(goodsUnitSid);
baseGoodsSpuDto.setGoodsUnitName(goodsUnitName);
baseGoodsSpuDto.setTaxRate(taxRate);
@ -375,18 +476,16 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
baseGoodsSpuDto.setExternalCode(externalCode);
baseGoodsSpuDto.setFactoryCode(factoryCode);
baseGoodsSpuDto.setIsListed(isListed);
baseGoodsSpuDto.setUseOrgSid(useOrgSid);
baseGoodsSpuDto.setCreateOrgSid(createOrgSid);
BaseGoodsSpuDetailDto dto=new BaseGoodsSpuDetailDto();
BaseGoodsSpuDetailDto dto = new BaseGoodsSpuDetailDto();
dto.setGoodsExplain(goodsExplain);
dto.setGoodsDescription(goodsDescription);
baseGoodsSpuDto.setBaseGoodsSpuDetail(dto);
List<BaseGoodsSkuDto> dtos=new ArrayList<>();
BaseGoodsSkuDto dto1=new BaseGoodsSkuDto();
List<BaseGoodsSkuDto> dtos = new ArrayList<>();
BaseGoodsSkuDto dto1 = new BaseGoodsSkuDto();
dto1.setGoodsSkuCode(goodsSkuCode);
dto1.setTitle(title);
dto1.setExternalCode(skuExternalCode);
BaseGoodsSkuExtendDto dto2=new BaseGoodsSkuExtendDto();
dto1.setOwnSpec(ownSpec);
BaseGoodsSkuExtendDto dto2 = new BaseGoodsSkuExtendDto();
dto2.setSortNo("1");
dto2.setFinalPurchasePrice(finalPurchasePrice);
dto2.setSafetyStockDays(safetyStockDays);
@ -414,7 +513,8 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
}
return baseGoodsSpuDto;
}
public ResultBean updateIsEnablebySku(String sid, String isEnable) {
return baseGoodsSpuFeign.updateIsEnablebySku(sid,isEnable);
return baseGoodsSpuFeign.updateIsEnablebySku(sid, isEnable);
}
}

2
wms/src/main/java/com/yxt/wms/biz/func/basegoodstype/BaseGoodsTypeService.java

@ -41,7 +41,7 @@ public class BaseGoodsTypeService extends MybatisBaseService<BaseGoodsTypeMapper
pq.getParams().setIndex(dataRule.getIndex());
return baseGoodsTypeFeign.listPage(pq);
}
public ResultBean<List<BaseGoodsType>> listAll(OrgPathQuery query) {
public ResultBean<List<BaseGoodsTypeVo>> listAll(OrgPathQuery query) {
ResultBean rb = ResultBean.fireFail();
String useOrgSid = "";
String orgPath = query.getOrgPath();

2
wms/src/main/java/com/yxt/wms/biz/func/basegoodsunit/BaseGoodsUnitService.java

@ -33,7 +33,7 @@ public class BaseGoodsUnitService extends MybatisBaseService<BaseGoodsUnitMapper
pq.getParams().setIndex(dataRule.getIndex());
return baseGoodsUnitFeign.listPage(pq);
}
public ResultBean<List<BaseGoodsUnit>> listAll(OrgPathQuery query) {
public ResultBean<List<BaseGoodsUnitVo>> listAll(OrgPathQuery query) {
ResultBean rb = ResultBean.fireFail();
return baseGoodsUnitFeign.listAll(query);
}

2
wms/src/main/java/com/yxt/wms/biz/func/basemanufacturer/BaseManufacturerService.java

@ -33,7 +33,7 @@ public class BaseManufacturerService extends MybatisBaseService<BaseManufacturer
pq.getParams().setIndex(dataRule.getIndex());
return baseManufacturerFeign.listPage(pq);
}
public ResultBean<List<BaseManufacturer>> listAll( OrgPathQuery query) {
public ResultBean<List<BaseManufacturerVo>> listAll( OrgPathQuery query) {
ResultBean rb = ResultBean.fireFail();
return baseManufacturerFeign.listAll(query);
}

15
wms/src/main/java/com/yxt/wms/biz/func/inventoryadjustment/adjustmentDetail.java

@ -0,0 +1,15 @@
package com.yxt.wms.biz.func.inventoryadjustment;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author wangpengfei
* @date 2024/9/27 14:30
*/
@Data
public class adjustmentDetail {
private String inventorySid;
private BigDecimal count;
}

15
wms/src/main/java/com/yxt/wms/biz/func/inventoryadjustment/adjustmentDto.java

@ -0,0 +1,15 @@
package com.yxt.wms.biz.func.inventoryadjustment;
import lombok.Data;
import java.util.List;
/**
* @author wangpengfei
* @date 2024/9/27 14:29
*/
@Data
public class adjustmentDto {
private String detailSid;
private List<adjustmentDetail> list;
}

26
wms/src/main/java/com/yxt/wms/biz/func/warehouseinfo/ProjectDetailsVo.java

@ -0,0 +1,26 @@
package com.yxt.wms.biz.func.warehouseinfo;
import lombok.Data;
/**
* @author wangpengfei
* @date 2024/10/17 15:17
*/
@Data
public class ProjectDetailsVo {
private String sid;
private String warehouseName;//仓库名称
private String warehouseCode;//仓库编码
private String contacts;//联系人
private String mob;//手机
private String telephone;//联系电话
private String manager;//主管
private String address;//地址
private String lngAndLat;//经纬度
private String longitude;//经度
private String latitude;//纬度
private String squareMeter;//平方米
private String supplierName;
private String supplierType;
private String goodsDetail;
}

2
wms/src/main/java/com/yxt/wms/feign/base/basebrandinfo/BaseBrandInfoFeign.java

@ -36,7 +36,7 @@ public interface BaseBrandInfoFeign {
public ResultBean<String> saveOrUpdate(@RequestBody BaseBrandInfoDto dto);
@ApiOperation("查询所有的品牌")
@PostMapping("/listAll")
public ResultBean<List<BaseBrandInfo>> listAll(@RequestBody OrgPathQuery query);
public ResultBean<List<BaseBrandInfoVo>> listAll(@RequestBody OrgPathQuery query);
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseBrandInfoVo> initialization(@PathVariable("sid") String sid);

2
wms/src/main/java/com/yxt/wms/feign/base/basebrandinfo/BaseBrandInfoFeignFallback.java

@ -31,7 +31,7 @@ public class BaseBrandInfoFeignFallback implements BaseBrandInfoFeign {
}
@Override
public ResultBean<List<BaseBrandInfo>> listAll(OrgPathQuery query) {
public ResultBean<List<BaseBrandInfoVo>> listAll(OrgPathQuery query) {
return null;
}

4
wms/src/main/java/com/yxt/wms/feign/base/basegoodsspu/BaseGoodsSpuFeign.java

@ -45,9 +45,9 @@ public interface BaseGoodsSpuFeign {
@ApiOperation("更改可用状态")
@GetMapping("/updateIsEnable/{sid}/{isEnable}")
public ResultBean updateIsEnable(@PathVariable("sid") String sid,@PathVariable("isEnable")String isEnable);
@ApiOperation("批量保存")
@ApiOperation("保存")
@PostMapping("/batchSave")
public ResultBean<String> batchSave(@RequestBody List<BaseGoodsSpuDto> dtos);
public ResultBean<String> batchSave(@RequestBody List<BaseGoodsSpuDto> dtos, @RequestParam("orgPath") String orgPath);
@ApiOperation("导入excel")
@PostMapping(value ="/importExcel" ,consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResultBean importExcel(@RequestPart("file") MultipartFile file) throws IOException;

3
wms/src/main/java/com/yxt/wms/feign/base/basegoodsspu/BaseGoodsSpuFeignFallback.java

@ -49,10 +49,11 @@ public class BaseGoodsSpuFeignFallback implements BaseGoodsSpuFeign {
}
@Override
public ResultBean<String> batchSave(List<BaseGoodsSpuDto> dtos) {
public ResultBean<String> batchSave(List<BaseGoodsSpuDto> dtos, String orgPath) {
return null;
}
@Override
public ResultBean importExcel(MultipartFile file) throws IOException {
return null;

2
wms/src/main/java/com/yxt/wms/feign/base/basegoodstype/BaseGoodsTypeFeign.java

@ -36,7 +36,7 @@ public interface BaseGoodsTypeFeign {
public ResultBean<String> saveOrUpdate(@RequestBody BaseGoodsTypeDto dto);
@ApiOperation("查询所有的品牌")
@PostMapping("/listAll")
public ResultBean<List<BaseGoodsType>> listAll(@RequestBody OrgPathQuery query);
public ResultBean<List<BaseGoodsTypeVo>> listAll(@RequestBody OrgPathQuery query);
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseGoodsTypeVo> initialization(@PathVariable("sid") String sid);

2
wms/src/main/java/com/yxt/wms/feign/base/basegoodstype/BaseGoodsTypeFeignFallback.java

@ -31,7 +31,7 @@ public class BaseGoodsTypeFeignFallback implements BaseGoodsTypeFeign {
}
@Override
public ResultBean<List<BaseGoodsType>> listAll(OrgPathQuery query) {
public ResultBean<List<BaseGoodsTypeVo>> listAll(OrgPathQuery query) {
return null;
}

2
wms/src/main/java/com/yxt/wms/feign/base/basegoodsunit/BaseGoodsUnitFeign.java

@ -36,7 +36,7 @@ public interface BaseGoodsUnitFeign {
public ResultBean<String> saveOrUpdate(@RequestBody BaseGoodsUnitDto dto);
@ApiOperation("查询所有的品牌")
@PostMapping("/listAll")
public ResultBean<List<BaseGoodsUnit>> listAll(@RequestBody OrgPathQuery query);
public ResultBean<List<BaseGoodsUnitVo>> listAll(@RequestBody OrgPathQuery query);
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseGoodsUnitVo> initialization(@PathVariable("sid") String sid);

2
wms/src/main/java/com/yxt/wms/feign/base/basegoodsunit/BaseGoodsUnitFeignFallback.java

@ -32,7 +32,7 @@ public class BaseGoodsUnitFeignFallback implements BaseGoodsUnitFeign {
}
@Override
public ResultBean<List<BaseGoodsUnit>> listAll(OrgPathQuery query) {
public ResultBean<List<BaseGoodsUnitVo>> listAll(OrgPathQuery query) {
return null;
}

2
wms/src/main/java/com/yxt/wms/feign/base/basemanufacturer/BaseManufacturerFeign.java

@ -36,7 +36,7 @@ public interface BaseManufacturerFeign {
public ResultBean<String> saveOrUpdate(@RequestBody BaseManufacturerDto dto);
@ApiOperation("查询所有的品牌")
@PostMapping("/listAll")
public ResultBean<List<BaseManufacturer>> listAll(@RequestBody OrgPathQuery query);
public ResultBean<List<BaseManufacturerVo>> listAll(@RequestBody OrgPathQuery query);
@ApiOperation("初始化")
@GetMapping("/initialization/{sid}")
public ResultBean<BaseManufacturerVo> initialization(@PathVariable("sid") String sid);

2
wms/src/main/java/com/yxt/wms/feign/base/basemanufacturer/BaseManufacturerFeignFallback.java

@ -32,7 +32,7 @@ public class BaseManufacturerFeignFallback implements BaseManufacturerFeign {
}
@Override
public ResultBean<List<BaseManufacturer>> listAll(OrgPathQuery query) {
public ResultBean<List<BaseManufacturerVo>> listAll(OrgPathQuery query) {
return null;
}

Loading…
Cancel
Save