Browse Source

商品

master
wangpengfei 5 months ago
parent
commit
157c24b0ad
  1. 4
      oms/src/main/java/com/yxt/oms/biz/func/basegoodsspu/BaseGoodsSpuDto.java
  2. 106
      oms/src/main/java/com/yxt/oms/biz/func/basegoodsspu/BaseGoodsSpuService.java
  3. 34
      oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectList.java

4
oms/src/main/java/com/yxt/oms/biz/func/basegoodsspu/BaseGoodsSpuDto.java

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

106
oms/src/main/java/com/yxt/oms/biz/func/basegoodsspu/BaseGoodsSpuService.java

@ -106,7 +106,7 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
public void download(HttpServletRequest request, HttpServletResponse response) { public void download(HttpServletRequest request, HttpServletResponse response) {
// 指定要下载的文件路径 // 指定要下载的文件路径
String filePath = path + "商品导入模板.xls"; String filePath = path + "商享通商品导入明细模版.xls";
String fileName = new File(filePath).getName(); String fileName = new File(filePath).getName();
String encodedFileName = null; String encodedFileName = null;
try { try {
@ -152,27 +152,27 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
BaseGoodsSpuDto dto = new BaseGoodsSpuDto(); BaseGoodsSpuDto dto = new BaseGoodsSpuDto();
String spuCode = StringUtils.isEmpty(list.get(i)[0]) ? null : list.get(i)[0]; String spuCode = StringUtils.isEmpty(list.get(i)[0]) ? null : list.get(i)[0];
if (StringUtils.isBlank(spuCode)) { if (StringUtils.isBlank(spuCode)) {
return rb.setMsg("第" + (i + 1) + "商品编码为空!"); return rb.setMsg("第" + (i + 1) + "商品编码为空!");
} }
String spuName = StringUtils.isEmpty(list.get(i)[2]) ? null : list.get(i)[2]; String spuName = StringUtils.isEmpty(list.get(i)[2]) ? null : list.get(i)[2];
if (StringUtils.isBlank(spuName)) { if (StringUtils.isBlank(spuName)) {
return rb.setMsg("第" + (i + 1) + "商品名称为空!"); return rb.setMsg("第" + (i + 1) + "商品名称为空!");
} }
String type = StringUtils.isEmpty(list.get(i)[6]) ? null : list.get(i)[6]; String type = StringUtils.isEmpty(list.get(i)[6]) ? null : list.get(i)[6];
if (StringUtils.isBlank(type)) { if (StringUtils.isBlank(type)) {
return rb.setMsg("第" + (i + 1) + "商品分类为空!"); return rb.setMsg("第" + (i + 1) + "商品分类为空!");
} }
String brand = StringUtils.isEmpty(list.get(i)[7]) ? null : list.get(i)[7]; String brand = StringUtils.isEmpty(list.get(i)[7]) ? null : list.get(i)[7];
if (StringUtils.isBlank(brand)) { if (StringUtils.isBlank(brand)) {
return rb.setMsg("第" + (i + 1) + "品牌为空!"); return rb.setMsg("第" + (i + 1) + "品牌为空!");
} }
String cj = StringUtils.isEmpty(list.get(i)[8]) ? null : list.get(i)[8]; String cj = StringUtils.isEmpty(list.get(i)[8]) ? null : list.get(i)[8];
if (StringUtils.isBlank(cj)) { if (StringUtils.isBlank(cj)) {
return rb.setMsg("第" + (i + 1) + "厂家为空!"); return rb.setMsg("第" + (i + 1) + "厂家为空!");
} }
String unit = StringUtils.isEmpty(list.get(i)[9]) ? null : list.get(i)[9]; String unit = StringUtils.isEmpty(list.get(i)[9]) ? null : list.get(i)[9];
if (StringUtils.isBlank(unit)) { if (StringUtils.isBlank(unit)) {
return rb.setMsg("第" + (i + 1) + "商品单位为空!"); return rb.setMsg("第" + (i + 1) + "商品单位为空!");
} }
String taxRate = StringUtils.isEmpty(list.get(i)[10]) ? null : list.get(i)[10]; String taxRate = StringUtils.isEmpty(list.get(i)[10]) ? null : list.get(i)[10];
if (!isNumeric(taxRate)) { if (!isNumeric(taxRate)) {
@ -311,12 +311,12 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
return strNum.matches("-?\\d+(\\.\\d+)?"); return strNum.matches("-?\\d+(\\.\\d+)?");
} }
public List<BaseGoodsSpuDto> a(List<BaseGoodsSpuDto> dtos) { public List<BaseGoodsSpuDto> a(List<BaseGoodsSpuDto> dtos) {
ResultBean rb=new ResultBean().fail(); ResultBean rb = new ResultBean().fail();
List<BaseGoodsSpuDto> spus = new ArrayList<>();//spu list List<BaseGoodsSpuDto> spus = new ArrayList<>();//spu list
int goodsCode =dtos.stream().filter(b->StringUtils.isEmpty(b.getGoodsCode())).collect(Collectors.toList()).size(); int goodsCode = dtos.stream().filter(b -> StringUtils.isEmpty(b.getGoodsCode())).collect(Collectors.toList()).size();
if(goodsCode==0){ if (goodsCode == 0) {
spus = dtos.stream().filter(distinctByKey(BaseGoodsSpuDto::getGoodsCode)).collect(Collectors.toList()); spus = dtos.stream().filter(distinctByKey(BaseGoodsSpuDto::getGoodsCode)).collect(Collectors.toList());
}else{ } else {
spus = dtos.stream().filter(distinctByKey(BaseGoodsSpuDto::getGoodsName)).collect(Collectors.toList()); spus = dtos.stream().filter(distinctByKey(BaseGoodsSpuDto::getGoodsName)).collect(Collectors.toList());
} }
for (BaseGoodsSpuDto baseGoodsSpuDto : spus) { for (BaseGoodsSpuDto baseGoodsSpuDto : spus) {
@ -324,10 +324,10 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
List<BaseGoodsSkuDto> skus = new ArrayList<>(); List<BaseGoodsSkuDto> skus = new ArrayList<>();
String sid = UUID.randomUUID().toString(); String sid = UUID.randomUUID().toString();
baseGoodsSpuDto.setSid(sid); baseGoodsSpuDto.setSid(sid);
List<BaseGoodsSpuDto> dtos1=new ArrayList<>(); List<BaseGoodsSpuDto> dtos1 = new ArrayList<>();
if(goodsCode==0){ if (goodsCode == 0) {
dtos1 = dtos.stream().filter(d -> d.getGoodsCode().equals(baseGoodsSpuDto.getGoodsCode())).collect(Collectors.toList()); 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()); dtos1 = dtos.stream().filter(d -> d.getGoodsName().equals(baseGoodsSpuDto.getGoodsName())).collect(Collectors.toList());
} }
spuDetail.setGoodsExplain(dtos1.get(0).getBaseGoodsSpuDetail().getGoodsExplain()); spuDetail.setGoodsExplain(dtos1.get(0).getBaseGoodsSpuDetail().getGoodsExplain());
@ -376,7 +376,7 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
return t -> seen.add(keyExtractor.apply(t)); 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<>(); Map<String, Object> result = new HashMap<>();
//0四电名称1四电类别2规格3数量4单价5总价6单位7备注 //0四电名称1四电类别2规格3数量4单价5总价6单位7备注
// BaseGoodsSpuDto baseGoodsSpuDto =null; // BaseGoodsSpuDto baseGoodsSpuDto =null;
@ -385,47 +385,43 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
String barCode = StringUtils.isEmpty(arr[1]) ? "" : arr[1];// String barCode = StringUtils.isEmpty(arr[1]) ? "" : arr[1];//
String goodsName = StringUtils.isEmpty(arr[2]) ? "" : arr[2];// String goodsName = StringUtils.isEmpty(arr[2]) ? "" : arr[2];//
String subTitle = StringUtils.isEmpty(arr[3]) ? "" : arr[3]; String subTitle = StringUtils.isEmpty(arr[3]) ? "" : arr[3];
String goodsPY = StringUtils.isEmpty(arr[4]) ? "": arr[4]; String goodsPY = StringUtils.isEmpty(arr[4]) ? "" : arr[4];
String goodsShortName = StringUtils.isEmpty(arr[5]) ? "" :arr[5]; String goodsShortName = StringUtils.isEmpty(arr[5]) ? "" : arr[5];
String goodsTypeSid = StringUtils.isEmpty(arr[6]) ? "" : arr[6]; String goodsType = StringUtils.isEmpty(arr[6]) ? "" : arr[6];
String brandSid = StringUtils.isEmpty(arr[7]) ? "" : arr[7]; String brand = StringUtils.isEmpty(arr[7]) ? "" : arr[7];
String manufacturerSid = StringUtils.isEmpty(arr[8]) ? "" : arr[8]; String manufacturer = StringUtils.isEmpty(arr[8]) ? "" : arr[8];
// String goodsUnitSid = StringUtils.isEmpty(arr[9]) ? null : arr[9];
String goodsUnitName = StringUtils.isEmpty(arr[9]) ? "" : arr[9]; String goodsUnitName = StringUtils.isEmpty(arr[9]) ? "" : arr[9];
String taxRate = StringUtils.isEmpty(arr[10]) ? "0" : arr[10]; String taxRate = StringUtils.isEmpty(arr[10]) ? "0" : arr[10];
String shelfLife = StringUtils.isEmpty(arr[11]) ? "0" : arr[11]; String shelfLife = StringUtils.isEmpty(arr[11]) ? "0" : arr[11];
String nationalStandardCode = StringUtils.isEmpty(arr[12]) ? "" : arr[12]; String nationalStandardCode = StringUtils.isEmpty(arr[12]) ? "" : arr[12];
String externalCode = StringUtils.isEmpty(arr[13]) ? "" : arr[13]; String externalCode = StringUtils.isEmpty(arr[13]) ? "" : arr[13];
String factoryCode = StringUtils.isEmpty(arr[14]) ? "" : arr[14]; String factoryCode = StringUtils.isEmpty(arr[14]) ? "" : arr[14];
String isListed = (StringUtils.isEmpty(arr[15]) ? "1" : arr[15].equals("是")? "1":"2"); 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 goodSpuSid = StringUtils.isEmpty(arr[19]) ? null : arr[19]; String goodsExplain = StringUtils.isEmpty(arr[16]) ? "" : arr[16];
String goodsExplain = StringUtils.isEmpty(arr[18]) ? "" : arr[18]; String goodsDescription = StringUtils.isEmpty(arr[17]) ? "" : arr[17];
String goodsDescription = StringUtils.isEmpty(arr[19]) ? "" : arr[19];
String goodsSkuSid = ""; String goodsSkuSid = "";
String goodsSkuCode = StringUtils.isEmpty(arr[20]) ? "" : arr[20]; String goodsSkuCode = StringUtils.isEmpty(arr[18]) ? "" : arr[18];
String title = StringUtils.isEmpty(arr[21]) ? "" : arr[21]; String title = StringUtils.isEmpty(arr[19]) ? "" : arr[19];
String skuExternalCode = StringUtils.isEmpty(arr[22]) ? "" : arr[22]; String ownSpec = StringUtils.isEmpty(arr[20]) ? "" : arr[20];
String finalPurchasePrice = StringUtils.isEmpty(arr[23]) ? "" : arr[23]; String finalPurchasePrice = StringUtils.isEmpty(arr[21]) ? "" : arr[21];
String safetyStockDays = StringUtils.isEmpty(arr[24]) ? "" : arr[24]; String safetyStockDays = StringUtils.isEmpty(arr[22]) ? "" : arr[22];
String isOriginalFactory = (StringUtils.isEmpty(arr[25]) ? "1" : arr[25].equals("是")? "1":"2"); String isOriginalFactory = (StringUtils.isEmpty(arr[23]) ? "1" : arr[23].equals("是") ? "1" : "2");
String isInventoryAlert = (StringUtils.isEmpty(arr[26]) ? "1" : arr[26].equals("是")? "1":"2"); String isInventoryAlert = (StringUtils.isEmpty(arr[24]) ? "1" : arr[24].equals("是") ? "1" : "2");
String inventoryAlertUpperLimit = StringUtils.isEmpty(arr[27]) ? "0" : arr[27]; String inventoryAlertUpperLimit = StringUtils.isEmpty(arr[25]) ? "0" : arr[25];
String inventoryAlertLowerLimit = StringUtils.isEmpty(arr[28]) ? "0" : arr[28]; String inventoryAlertLowerLimit = StringUtils.isEmpty(arr[26]) ? "0" : arr[26];
String costPrice = StringUtils.isEmpty(arr[29]) ? "0" : arr[29]; String costPrice = StringUtils.isEmpty(arr[27]) ? "0" : arr[27];
String tagPrice = StringUtils.isEmpty(arr[30]) ? "0" : arr[30]; String tagPrice = StringUtils.isEmpty(arr[28]) ? "0" : arr[28];
String salesPrice = StringUtils.isEmpty(arr[31]) ? "0" : arr[31]; String salesPrice = StringUtils.isEmpty(arr[29]) ? "0" : arr[29];
String standardPurchasePrice = StringUtils.isEmpty(arr[32]) ? "0" : arr[32]; String standardPurchasePrice = StringUtils.isEmpty(arr[30]) ? "0" : arr[30];
String agencyPrice = StringUtils.isEmpty(arr[33]) ? "0" : arr[33]; String agencyPrice = StringUtils.isEmpty(arr[31]) ? "0" : arr[31];
String discount = StringUtils.isEmpty(arr[34]) ? "0" : arr[34]; String discount = StringUtils.isEmpty(arr[32]) ? "0" : arr[32];
String minimumSalesPrice = StringUtils.isEmpty(arr[35]) ? "0" : arr[35]; String minimumSalesPrice = StringUtils.isEmpty(arr[33]) ? "0" : arr[33];
String isLockingSalesPrice = (StringUtils.isEmpty(arr[36]) ? "1" : arr[36].equals("是")? "1":"2"); String isLockingSalesPrice = (StringUtils.isEmpty(arr[34]) ? "1" : arr[34].equals("是") ? "1" : "2");
String isIntegralExchange = (StringUtils.isEmpty(arr[37]) ? "1" : arr[37].equals("是")? "1":"2"); String isIntegralExchange = (StringUtils.isEmpty(arr[35]) ? "1" : arr[35].equals("是") ? "1" : "2");
String integralAmount = StringUtils.isEmpty(arr[38]) ? "0" : arr[38]; String integralAmount = StringUtils.isEmpty(arr[36]) ? "0" : arr[36];
//excel表中物资类别保存的是分类编号,插入数据库时 根据分类编号查询基础数据中 物资类别表的id //excel表中物资类别保存的是分类编号,插入数据库时 根据分类编号查询基础数据中 物资类别表的id
@ -437,9 +433,9 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
baseGoodsSpuDto.setGoodsPY(goodsPY); baseGoodsSpuDto.setGoodsPY(goodsPY);
baseGoodsSpuDto.setGoodsShortName(goodsShortName); baseGoodsSpuDto.setGoodsShortName(goodsShortName);
baseGoodsSpuDto.setGoodsTypeSid(goodsTypeSid); baseGoodsSpuDto.setGoodsTypeName(goodsType);
baseGoodsSpuDto.setBrandSid(brandSid); baseGoodsSpuDto.setBrandName(brand);
baseGoodsSpuDto.setManufacturerSid(manufacturerSid); baseGoodsSpuDto.setManufacturerName(manufacturer);
// baseGoodsSpuDto.setGoodsUnitSid(goodsUnitSid); // baseGoodsSpuDto.setGoodsUnitSid(goodsUnitSid);
baseGoodsSpuDto.setGoodsUnitName(goodsUnitName); baseGoodsSpuDto.setGoodsUnitName(goodsUnitName);
baseGoodsSpuDto.setTaxRate(taxRate); baseGoodsSpuDto.setTaxRate(taxRate);
@ -448,18 +444,16 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
baseGoodsSpuDto.setExternalCode(externalCode); baseGoodsSpuDto.setExternalCode(externalCode);
baseGoodsSpuDto.setFactoryCode(factoryCode); baseGoodsSpuDto.setFactoryCode(factoryCode);
baseGoodsSpuDto.setIsListed(isListed); baseGoodsSpuDto.setIsListed(isListed);
baseGoodsSpuDto.setUseOrgSid(useOrgSid); BaseGoodsSpuDetailDto dto = new BaseGoodsSpuDetailDto();
baseGoodsSpuDto.setCreateOrgSid(createOrgSid);
BaseGoodsSpuDetailDto dto=new BaseGoodsSpuDetailDto();
dto.setGoodsExplain(goodsExplain); dto.setGoodsExplain(goodsExplain);
dto.setGoodsDescription(goodsDescription); dto.setGoodsDescription(goodsDescription);
baseGoodsSpuDto.setBaseGoodsSpuDetail(dto); baseGoodsSpuDto.setBaseGoodsSpuDetail(dto);
List<BaseGoodsSkuDto> dtos=new ArrayList<>(); List<BaseGoodsSkuDto> dtos = new ArrayList<>();
BaseGoodsSkuDto dto1=new BaseGoodsSkuDto(); BaseGoodsSkuDto dto1 = new BaseGoodsSkuDto();
dto1.setGoodsSkuCode(goodsSkuCode); dto1.setGoodsSkuCode(goodsSkuCode);
dto1.setTitle(title); dto1.setTitle(title);
dto1.setExternalCode(skuExternalCode); dto1.setOwnSpec(ownSpec);
BaseGoodsSkuExtendDto dto2=new BaseGoodsSkuExtendDto(); BaseGoodsSkuExtendDto dto2 = new BaseGoodsSkuExtendDto();
dto2.setSortNo("1"); dto2.setSortNo("1");
dto2.setFinalPurchasePrice(finalPurchasePrice); dto2.setFinalPurchasePrice(finalPurchasePrice);
dto2.setSafetyStockDays(safetyStockDays); dto2.setSafetyStockDays(safetyStockDays);

34
oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectList.java

@ -12,6 +12,7 @@ import java.math.BigDecimal;
@Data @Data
public class GoodsSkuPurSelectList { public class GoodsSkuPurSelectList {
//sid //sid
private String sid; private String sid;
//商品编码 //商品编码
@ -24,12 +25,6 @@ public class GoodsSkuPurSelectList {
private String goodsSkuOwnSpec; private String goodsSkuOwnSpec;
//单位 //单位
private String unit; private String unit;
//数量
private BigDecimal count;
//数量1
private BigDecimal count1;
//数量
private BigDecimal pcsNum;
//吊牌价 //吊牌价
private BigDecimal tagPrice; private BigDecimal tagPrice;
//单价 //单价
@ -42,4 +37,31 @@ public class GoodsSkuPurSelectList {
private BigDecimal taxRate; private BigDecimal taxRate;
//货号 //货号
private String itemNumber; private String itemNumber;
private String goodsSkuSid;
//spusid
private String goodsSpuSid;
//商品编码
private String goodsCode;
//规格型号
private String title;
//具体规格
private String ownSpec;
//分类
private String typeName;
private String typeSid;
//品牌
private String brandName;
private String brandSid;
//厂家名
private String manufacturerSid;
private String manufacturerName;
//厂家货号
private String factoryCode;
private String unitSid;
//销售单价
private BigDecimal salesPrice=new BigDecimal(0);
} }

Loading…
Cancel
Save