|
|
@ -118,11 +118,10 @@ public class WmsInitialRest { |
|
|
|
SysUserVo userVo = sysUserFeign.fetchBySid(userSid).getData(); |
|
|
|
wmsInitial.setCreateBySid(userSid); |
|
|
|
wmsInitial.setCreateByName(userVo.getName()); |
|
|
|
wmsInitialService.save(wmsInitial); |
|
|
|
if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { |
|
|
|
return ResultBean.fireFail().setMsg("上传文件不正确"); |
|
|
|
} |
|
|
|
int[] resultCell = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}; |
|
|
|
int[] resultCell = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}; |
|
|
|
List<WmsInitialExcelInfo> resultList = new ArrayList<>(); |
|
|
|
boolean isExcel2003 = true; |
|
|
|
if (fileName.matches("^.+\\.(?i)(xlsx)$")) { |
|
|
@ -140,24 +139,76 @@ public class WmsInitialRest { |
|
|
|
if (StringUtils.isNotBlank(importReturn.getCheckInfo())) { |
|
|
|
return ResultBean.fireFail().setMsg(importReturn.getCheckInfo()); |
|
|
|
} |
|
|
|
wmsInitialService.save(wmsInitial); |
|
|
|
resultList = importReturn.getInfos(); |
|
|
|
System.out.println("结果是--->" + resultList); |
|
|
|
try { |
|
|
|
for (WmsInitialExcelInfo wmsInitialExcelInfo : resultList) { |
|
|
|
if ("是".equals(wmsInitialExcelInfo.getIsYwym())) { |
|
|
|
Integer num = Integer.parseInt(wmsInitialExcelInfo.getNum()); |
|
|
|
int num = new BigDecimal(wmsInitialExcelInfo.getNum()).intValue(); |
|
|
|
for (int i = 0; i < num; i++) { |
|
|
|
WmsInitialDetail wmsInitialDetail = new WmsInitialDetail(); |
|
|
|
BeanUtil.copyProperties(wmsInitialExcelInfo,wmsInitialDetail); |
|
|
|
wmsInitialDetail.setBillSid(wmsInitial.getSid()); |
|
|
|
wmsInitialDetail.setGoodsSpuSid(wmsInitialExcelInfo.getGoodsSpuSid()); |
|
|
|
wmsInitialDetail.setGoodsSpuName(wmsInitialExcelInfo.getGoodsSpuName()); |
|
|
|
wmsInitialDetail.setGoodsSkuSid(wmsInitialExcelInfo.getGoodsSkuSid()); |
|
|
|
wmsInitialDetail.setGoodsSkuTitle(wmsInitialExcelInfo.getGoodsSkuTitle()); |
|
|
|
wmsInitialDetail.setGoodsSkuCode(wmsInitialExcelInfo.getGoodsSkuCode()); |
|
|
|
wmsInitialDetail.setGoodsSkuOwnSpec(wmsInitialExcelInfo.getGoodsSkuOwnSpec()); |
|
|
|
wmsInitialDetail.setUnit(wmsInitialExcelInfo.getUnit()); |
|
|
|
wmsInitialDetail.setNum(new BigDecimal("1")); |
|
|
|
wmsInitialDetail.setBrandSid(wmsInitialExcelInfo.getBrandSid()); |
|
|
|
wmsInitialDetail.setBrandName(wmsInitialExcelInfo.getBrandName()); |
|
|
|
wmsInitialDetail.setManufacturerSid(wmsInitialExcelInfo.getManufacturerSid()); |
|
|
|
wmsInitialDetail.setManufacturerName(wmsInitialExcelInfo.getManufacturerName()); |
|
|
|
wmsInitialDetail.setSupplierName(wmsInitialExcelInfo.getSupplierName()); |
|
|
|
wmsInitialDetail.setSaleGuidePrice(new BigDecimal(wmsInitialExcelInfo.getSaleGuidePrice())); |
|
|
|
wmsInitialDetail.setInCost(new BigDecimal(wmsInitialExcelInfo.getInCost())); |
|
|
|
wmsInitialDetail.setTaxRate(wmsInitialExcelInfo.getTaxRate()); |
|
|
|
String firstInDate = ""; |
|
|
|
if (isNumber(wmsInitialExcelInfo.getFirstInDate())) { |
|
|
|
Date javaDate = new Date((long) ((Double.valueOf(wmsInitialExcelInfo.getFirstInDate()) - 25569) * 86400 * 1000)); |
|
|
|
firstInDate = DateUtil.formatDate(javaDate); |
|
|
|
} else { |
|
|
|
firstInDate = wmsInitialExcelInfo.getFirstInDate(); |
|
|
|
} |
|
|
|
wmsInitialDetail.setFirstInDate(DateUtil.parseDate(firstInDate)); |
|
|
|
wmsInitialDetail.setGoodsTypeSid(wmsInitialExcelInfo.getGoodsTypeSid()); |
|
|
|
wmsInitialDetail.setGoodsTypeCode(wmsInitialExcelInfo.getGoodsTypeCode()); |
|
|
|
wmsInitialDetail.setGoodsTypeName(wmsInitialExcelInfo.getGoodsTypeName()); |
|
|
|
wmsInitialDetail.setIsYwym(1); |
|
|
|
wmsInitialDetailService.save(wmsInitialDetail); |
|
|
|
} |
|
|
|
} else { |
|
|
|
WmsInitialDetail wmsInitialDetail = new WmsInitialDetail(); |
|
|
|
BeanUtil.copyProperties(wmsInitialExcelInfo,wmsInitialDetail); |
|
|
|
wmsInitialDetail.setBillSid(wmsInitial.getSid()); |
|
|
|
wmsInitialDetail.setGoodsSpuSid(wmsInitialExcelInfo.getGoodsSpuSid()); |
|
|
|
wmsInitialDetail.setGoodsSpuName(wmsInitialExcelInfo.getGoodsSpuName()); |
|
|
|
wmsInitialDetail.setGoodsSkuSid(wmsInitialExcelInfo.getGoodsSkuSid()); |
|
|
|
wmsInitialDetail.setGoodsSkuTitle(wmsInitialExcelInfo.getGoodsSkuTitle()); |
|
|
|
wmsInitialDetail.setGoodsSkuCode(wmsInitialExcelInfo.getGoodsSkuCode()); |
|
|
|
wmsInitialDetail.setGoodsSkuOwnSpec(wmsInitialExcelInfo.getGoodsSkuOwnSpec()); |
|
|
|
wmsInitialDetail.setUnit(wmsInitialExcelInfo.getUnit()); |
|
|
|
wmsInitialDetail.setNum(new BigDecimal(wmsInitialExcelInfo.getNum())); |
|
|
|
wmsInitialDetail.setBrandSid(wmsInitialExcelInfo.getBrandSid()); |
|
|
|
wmsInitialDetail.setBrandName(wmsInitialExcelInfo.getBrandName()); |
|
|
|
wmsInitialDetail.setManufacturerSid(wmsInitialExcelInfo.getManufacturerSid()); |
|
|
|
wmsInitialDetail.setManufacturerName(wmsInitialExcelInfo.getManufacturerName()); |
|
|
|
wmsInitialDetail.setSupplierName(wmsInitialExcelInfo.getSupplierName()); |
|
|
|
wmsInitialDetail.setSaleGuidePrice(new BigDecimal(wmsInitialExcelInfo.getSaleGuidePrice())); |
|
|
|
wmsInitialDetail.setInCost(new BigDecimal(wmsInitialExcelInfo.getInCost())); |
|
|
|
wmsInitialDetail.setTaxRate(wmsInitialExcelInfo.getTaxRate()); |
|
|
|
String firstInDate = ""; |
|
|
|
if (isNumber(wmsInitialExcelInfo.getFirstInDate())) { |
|
|
|
Date javaDate = new Date((long) ((Double.valueOf(wmsInitialExcelInfo.getFirstInDate()) - 25569) * 86400 * 1000)); |
|
|
|
firstInDate = DateUtil.formatDate(javaDate); |
|
|
|
} else { |
|
|
|
firstInDate = wmsInitialExcelInfo.getFirstInDate(); |
|
|
|
} |
|
|
|
wmsInitialDetail.setFirstInDate(DateUtil.parseDate(firstInDate)); |
|
|
|
wmsInitialDetail.setGoodsTypeSid(wmsInitialExcelInfo.getGoodsTypeSid()); |
|
|
|
wmsInitialDetail.setGoodsTypeCode(wmsInitialExcelInfo.getGoodsTypeCode()); |
|
|
|
wmsInitialDetail.setGoodsTypeName(wmsInitialExcelInfo.getGoodsTypeName()); |
|
|
|
wmsInitialDetail.setIsYwym(0); |
|
|
|
wmsInitialDetailService.save(wmsInitialDetail); |
|
|
|
} |
|
|
@ -180,8 +231,8 @@ public class WmsInitialRest { |
|
|
|
} |
|
|
|
WmsInitialExcelInfo importVo = new WmsInitialExcelInfo(); |
|
|
|
int physicalNumberOfCells = row.getPhysicalNumberOfCells(); |
|
|
|
if (physicalNumberOfCells < 10) { |
|
|
|
physicalNumberOfCells = 10; |
|
|
|
if (physicalNumberOfCells < 22) { |
|
|
|
physicalNumberOfCells = 22; |
|
|
|
} |
|
|
|
for (int i = 0; i < physicalNumberOfCells; i++) { |
|
|
|
String trim = new String(); |
|
|
@ -194,64 +245,67 @@ public class WmsInitialRest { |
|
|
|
for (int j = 0; j < resultCell.length; j++) { |
|
|
|
if (i == resultCell[j]) { |
|
|
|
switch (i) { |
|
|
|
case 0: |
|
|
|
case 1: |
|
|
|
importVo.setGoodsSpuName(temp); |
|
|
|
break; |
|
|
|
case 1: |
|
|
|
case 2: |
|
|
|
importVo.setGoodsSkuCode(temp); |
|
|
|
break; |
|
|
|
case 2: |
|
|
|
case 3: |
|
|
|
importVo.setGoodsSkuOwnSpec(temp); |
|
|
|
break; |
|
|
|
case 3: |
|
|
|
case 4: |
|
|
|
importVo.setUnit(temp); |
|
|
|
break; |
|
|
|
case 4: |
|
|
|
case 5: |
|
|
|
importVo.setNum(temp); |
|
|
|
break; |
|
|
|
case 5: |
|
|
|
case 6: |
|
|
|
importVo.setBrandName(temp); |
|
|
|
break; |
|
|
|
case 6: |
|
|
|
case 7: |
|
|
|
importVo.setManufacturerName(temp); |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
case 8: |
|
|
|
importVo.setSupplierName(temp); |
|
|
|
break; |
|
|
|
case 8: |
|
|
|
case 9: |
|
|
|
importVo.setSaleGuidePrice(temp); |
|
|
|
break; |
|
|
|
case 9: |
|
|
|
case 10: |
|
|
|
importVo.setInCost(temp); |
|
|
|
break; |
|
|
|
case 10: |
|
|
|
case 11: |
|
|
|
importVo.setTaxRate(temp); |
|
|
|
break; |
|
|
|
case 11: |
|
|
|
case 12: |
|
|
|
importVo.setFirstInDate(temp); |
|
|
|
break; |
|
|
|
case 12: |
|
|
|
case 13: |
|
|
|
importVo.setGoodsTypeName(temp); |
|
|
|
break; |
|
|
|
case 13: |
|
|
|
case 14: |
|
|
|
importVo.setIsYwym(temp); |
|
|
|
break; |
|
|
|
case 14: |
|
|
|
case 15: |
|
|
|
importVo.setGoodsSpuSid(temp); |
|
|
|
break; |
|
|
|
case 15: |
|
|
|
case 16: |
|
|
|
importVo.setGoodsSkuSid(temp); |
|
|
|
break; |
|
|
|
case 16: |
|
|
|
case 17: |
|
|
|
importVo.setGoodsSkuTitle(temp); |
|
|
|
break; |
|
|
|
case 18: |
|
|
|
importVo.setBrandSid(temp); |
|
|
|
break; |
|
|
|
case 17: |
|
|
|
case 19: |
|
|
|
importVo.setManufacturerSid(temp); |
|
|
|
break; |
|
|
|
case 18: |
|
|
|
case 20: |
|
|
|
importVo.setGoodsTypeSid(temp); |
|
|
|
break; |
|
|
|
case 19: |
|
|
|
case 21: |
|
|
|
importVo.setGoodsTypeCode(temp); |
|
|
|
break; |
|
|
|
default: |
|
|
@ -265,64 +319,67 @@ public class WmsInitialRest { |
|
|
|
if (StringUtils.isBlank(trim)) { |
|
|
|
String word = new String(); |
|
|
|
switch (i) { |
|
|
|
case 0: |
|
|
|
case 1: |
|
|
|
word = "商品spu名称"; |
|
|
|
break; |
|
|
|
case 1: |
|
|
|
case 2: |
|
|
|
word = "图号"; |
|
|
|
break; |
|
|
|
case 2: |
|
|
|
case 3: |
|
|
|
word = "规格型号"; |
|
|
|
break; |
|
|
|
case 3: |
|
|
|
case 4: |
|
|
|
word = "单位"; |
|
|
|
break; |
|
|
|
case 4: |
|
|
|
case 5: |
|
|
|
word = "数量"; |
|
|
|
break; |
|
|
|
case 5: |
|
|
|
case 6: |
|
|
|
word = "品牌"; |
|
|
|
break; |
|
|
|
case 6: |
|
|
|
case 7: |
|
|
|
word = "厂家"; |
|
|
|
break; |
|
|
|
case 7: |
|
|
|
case 8: |
|
|
|
word = "供应商"; |
|
|
|
break; |
|
|
|
case 8: |
|
|
|
case 9: |
|
|
|
word = "销售指导价"; |
|
|
|
break; |
|
|
|
case 9: |
|
|
|
case 10: |
|
|
|
word = "入库单价"; |
|
|
|
break; |
|
|
|
case 10: |
|
|
|
case 11: |
|
|
|
word = "税率"; |
|
|
|
break; |
|
|
|
case 11: |
|
|
|
case 12: |
|
|
|
word = "首次入库日期"; |
|
|
|
break; |
|
|
|
case 12: |
|
|
|
case 13: |
|
|
|
word = "商品类别"; |
|
|
|
break; |
|
|
|
case 13: |
|
|
|
case 14: |
|
|
|
word = "是否为一物一码"; |
|
|
|
break; |
|
|
|
case 14: |
|
|
|
case 15: |
|
|
|
word = "商品spuSid"; |
|
|
|
break; |
|
|
|
case 15: |
|
|
|
case 16: |
|
|
|
word = "商品skuSid"; |
|
|
|
break; |
|
|
|
case 16: |
|
|
|
case 17: |
|
|
|
word = "商品sku名称"; |
|
|
|
break; |
|
|
|
case 18: |
|
|
|
word = "品牌sid"; |
|
|
|
break; |
|
|
|
case 17: |
|
|
|
case 19: |
|
|
|
word = "厂家sid"; |
|
|
|
break; |
|
|
|
case 18: |
|
|
|
case 20: |
|
|
|
word = "商品类别sid"; |
|
|
|
break; |
|
|
|
case 19: |
|
|
|
case 21: |
|
|
|
word = "商品类别编码"; |
|
|
|
break; |
|
|
|
default: |
|
|
@ -409,13 +466,19 @@ public class WmsInitialRest { |
|
|
|
break; |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(excelInfo.getFirstInDate())) { |
|
|
|
String firstInDate = excelInfo.getFirstInDate(); |
|
|
|
String firstInDate = ""; |
|
|
|
if (isNumber(excelInfo.getFirstInDate())) { |
|
|
|
Date javaDate = new Date((long) ((Double.valueOf(excelInfo.getFirstInDate()) - 25569) * 86400 * 1000)); |
|
|
|
firstInDate = DateUtil.formatDate(javaDate); |
|
|
|
} else { |
|
|
|
firstInDate = excelInfo.getFirstInDate(); |
|
|
|
} |
|
|
|
String[] split = firstInDate.split("-"); |
|
|
|
if (split.length != 2) { |
|
|
|
checkWord.add("图号" + excelInfo.getGoodsSkuCode() + "导入的首次入库日期填写不正确,格式yyyy-MM"); |
|
|
|
if (split.length != 3) { |
|
|
|
checkWord.add("图号" + excelInfo.getGoodsSkuCode() + "导入的首次入库日期填写不正确"); |
|
|
|
break; |
|
|
|
} else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1])) { |
|
|
|
checkWord.add("图号" + excelInfo.getGoodsSkuCode() + "导入的首次入库日期填写不正确,格式yyyy-MM"); |
|
|
|
} else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1]) || !isTwoDigitNumber(split[2])) { |
|
|
|
checkWord.add("图号" + excelInfo.getGoodsSkuCode() + "导入的首次入库日期填写不正确"); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|