Browse Source

更改

zhanglei
ligaode 4 months ago
parent
commit
b2b779807c
  1. 6
      yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java
  2. 41
      yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/GoodsExcelVo.java
  3. 8
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.xml
  4. 2
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java
  5. 10
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml
  6. 6
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java
  7. 500
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInitialRest.java
  8. 12
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitial/ReturnExcelInfo.java
  9. 51
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitial/WmsInitialExcelInfo.java
  10. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetail.java
  11. 93
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailDetailsVo.java
  12. 95
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailDto.java
  13. 4
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailService.java
  14. 4
      yxt-wms-biz/src/main/java/com/yxt/wms/feign/base/basegoodspu/BaseGoodsSpuFeign.java

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

@ -90,4 +90,10 @@ public class BaseGoodsSpuRest {
public ResultBean<String> selIsGoodsID(@PathVariable("sid") String sid) {
return baseGoodsSpuService.selIsGoodsID(sid);
}
@ApiOperation("根据图号和部门查询商品信息是否存在")
@GetMapping("/selByCodeAndDept")
ResultBean<Integer> selByCodeAndDept(@RequestParam("code") String code,@RequestParam("deptSid") String deptSid){
return baseGoodsSpuService.selByCodeAndDept(code,deptSid);
};
}

41
yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/GoodsExcelVo.java

@ -9,32 +9,45 @@ public class GoodsExcelVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "商品名称", EnName = "goodsSpuName")
@ExportEntityMap(CnName = "商品名称*", EnName = "goodsSpuName")
private String goodsSpuName;
@ExportEntityMap(CnName = "图号", EnName = "goodsSkuCode")
@ExportEntityMap(CnName = "图号*", EnName = "goodsSkuCode")
private String goodsSkuCode;
@ExportEntityMap(CnName = "规格型号", EnName = "goodsSkuOwnSpec")
@ExportEntityMap(CnName = "规格型号*", EnName = "goodsSkuOwnSpec")
private String goodsSkuOwnSpec;
@ExportEntityMap(CnName = "单位", EnName = "unit")
@ExportEntityMap(CnName = "单位*", EnName = "unit")
private String unit;
@ExportEntityMap(CnName = "数量", EnName = "num")
@ExportEntityMap(CnName = "数量*", EnName = "num")
private BigDecimal num;
@ExportEntityMap(CnName = "品牌", EnName = "brandName")
@ExportEntityMap(CnName = "品牌*", EnName = "brandName")
private String brandName;
@ExportEntityMap(CnName = "厂家", EnName = "manufacturerName")
@ExportEntityMap(CnName = "厂家*", EnName = "manufacturerName")
private String manufacturerName;
@ExportEntityMap(CnName = "供应商", EnName = "supplierName")
@ExportEntityMap(CnName = "供应商*", EnName = "supplierName")
private String supplierName;
@ExportEntityMap(CnName = "销售指导价", EnName = "saleGuidePrice")
@ExportEntityMap(CnName = "销售指导价*", EnName = "saleGuidePrice")
private String saleGuidePrice;
@ExportEntityMap(CnName = "入库单价", EnName = "inCost")
@ExportEntityMap(CnName = "入库单价*", EnName = "inCost")
private String inCost;
@ExportEntityMap(CnName = "税率", EnName = "taxRate")
@ExportEntityMap(CnName = "税率*", EnName = "taxRate")
private String taxRate;
@ExportEntityMap(CnName = "首次入库日期", EnName = "firstInDate")
@ExportEntityMap(CnName = "首次入库日期*", EnName = "firstInDate")
private String firstInDate;
@ExportEntityMap(CnName = "商品类别", EnName = "goodsTypeName")
@ExportEntityMap(CnName = "商品类别*", EnName = "goodsTypeName")
private String goodsTypeName;
@ExportEntityMap(CnName = "是否为一物一码", EnName = "isYwym")
@ExportEntityMap(CnName = "是否为一物一码*", EnName = "isYwym")
private String isYwym;
@ExportEntityMap(CnName = "商品spuSid(禁止修改)", EnName = "goodsSpuSid")
private String goodsSpuSid;
@ExportEntityMap(CnName = "商品skuSid(禁止修改)", EnName = "goodsSkuSid")
private String goodsSkuSid;
@ExportEntityMap(CnName = "品牌sid(禁止修改)", EnName = "brandSid")
private String brandSid;
@ExportEntityMap(CnName = "厂家sid(禁止修改)", EnName = "manufacturerSid")
private String manufacturerSid;
@ExportEntityMap(CnName = "商品类别sid(禁止修改)", EnName = "goodsTypeSid")
private String goodsTypeSid;
@ExportEntityMap(CnName = "商品类别编码(禁止修改)", EnName = "goodsTypeCode")
private String goodsTypeCode;
}

8
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuMapper.xml

@ -114,7 +114,13 @@
brand.brandName,
spu.manufacturerName,
t.goodsTypeName,
IF(t.isGoodsID = 0, '否', '是') AS isYwym
IF(t.isGoodsID = 0, '否', '是') AS isYwym,
spu.sid AS goodsSpuSid,
sku.sid AS goodsSkuSid,
spu.brandSid,
spu.manufacturerSid,
t.sid AS goodsTypeSid,
t.goodsTypeCode
FROM base_goods_sku sku
LEFT JOIN base_goods_spu spu
ON sku.goodsSpuSid = spu.sid

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

@ -24,4 +24,6 @@ public interface BaseGoodsSpuMapper extends BaseMapper<BaseGoodsSpu> {
BaseGoodsSpu checkForInsert(@Param("goodsCode")String goodsCode, @Param("deptSid")String deptSid);
BaseGoodsSpu checkForUpdate(@Param("goodsCode")String goodsCode,@Param("useOrgSid") String useOrgSid, @Param("sid")String sid);
int selByCodeAndDept(@Param("code") String code,@Param("deptSid") String deptSid);
}

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

@ -10,7 +10,8 @@ FROM
LEFT JOIN base_goods_sku AS k ON p.sid = k.goodsSpuSid
LEFT JOIN base_goods_sku_extend AS e ON k.sid = e.goodsSkuSid
WHERE
p.sid = #{sid}
p.sid =
#{sid}
</delete>
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
@ -87,4 +88,11 @@ WHERE
and isDelete = 0
and sid != #{sid}
</select>
<select id="selByCodeAndDept" resultType="int">
SELECT COUNT(*)
FROM base_goods_spu
WHERE goodsCode = #{code}
AND useOrgSid = #{deptSid}
</select>
</mapper>

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

@ -563,4 +563,10 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
}
return rb;
}
public ResultBean<Integer> selByCodeAndDept(String code, String deptSid) {
ResultBean rb = ResultBean.fireFail();
int i = baseMapper.selByCodeAndDept(code,deptSid);
return rb.success().setData(i);
}
}

500
yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInitialRest.java

@ -25,11 +25,511 @@
*********************************************************/
package com.yxt.wms.apiadmin.inventroy;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.yxt.common.core.result.ResultBean;
import com.yxt.wms.biz.inventory.wmsinitial.ReturnExcelInfo;
import com.yxt.wms.biz.inventory.wmsinitial.WmsInitial;
import com.yxt.wms.biz.inventory.wmsinitial.WmsInitialExcelInfo;
import com.yxt.wms.biz.inventory.wmsinitial.WmsInitialService;
import com.yxt.wms.biz.inventory.wmsinitialdetail.WmsInitialDetail;
import com.yxt.wms.biz.inventory.wmsinitialdetail.WmsInitialDetailService;
import com.yxt.wms.feign.base.basegoodspu.BaseGoodsSpuFeign;
import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuDetailsVo;
import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuFeign;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo;
import com.yxt.wms.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.wms.feign.portal.sysuser.SysUserFeign;
import com.yxt.wms.feign.portal.sysuser.SysUserVo;
import com.yxt.wms.utils.Rule;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.ParseException;
import java.util.*;
import java.util.regex.Pattern;
@Api(tags = "期初上架")
@RestController
@RequestMapping("v1/wmsinitial")
public class WmsInitialRest {
@Autowired
private BaseGoodsSpuFeign baseGoodsSpuFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private WmsInitialService wmsInitialService;
@Autowired
private WmsInitialDetailService wmsInitialDetailService;
@Resource
private BaseGoodsSkuFeign baseGoodsSkuFeign;
@PostMapping("/getExcelInfo")
@ResponseBody
@ApiOperation(value = "导入")
public ResultBean getExcelInfo(@RequestParam(value = "fileName") String fileName, @RequestParam(value = "file") MultipartFile file, @RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath) throws IOException, ParseException {
String deptName = "";
String deptSid = "";
String useOrgSid = "";
WmsInitial wmsInitial = new WmsInitial();
List<String> split = Arrays.asList(orgPath.split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptName = sysOrganization.getName() + "/" + sysOrganization1.getName();
deptName = sysOrganization1.getName();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptName = sysOrganization.getName();
deptName = sysOrganization.getName();
deptSid = sysOrganization.getSid();
}
wmsInitial.setDeptSid(deptSid);
wmsInitial.setDeptName(deptName);
useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
//创建组织使用组织
ResultBean<SysOrganizationVo> organizationResultBean = sysOrganizationFeign.fetchBySid(useOrgSid);
if (organizationResultBean.getData() != null) {
wmsInitial.setUseOrgSid(useOrgSid);
wmsInitial.setUseOrgName(organizationResultBean.getData().getName());
}
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};
List<WmsInitialExcelInfo> resultList = new ArrayList<>();
boolean isExcel2003 = true;
if (fileName.matches("^.+\\.(?i)(xlsx)$")) {
isExcel2003 = false;
}
InputStream is = file.getInputStream();
Workbook wb = null;
if (isExcel2003) {
wb = new HSSFWorkbook(is);
} else {
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
ReturnExcelInfo importReturn = getSheetVal(sheet, resultCell, deptSid);
if (StringUtils.isNotBlank(importReturn.getCheckInfo())) {
return ResultBean.fireFail().setMsg(importReturn.getCheckInfo());
}
resultList = importReturn.getInfos();
System.out.println("结果是--->" + resultList);
try {
for (WmsInitialExcelInfo wmsInitialExcelInfo : resultList) {
if ("是".equals(wmsInitialExcelInfo.getIsYwym())) {
Integer num = Integer.parseInt(wmsInitialExcelInfo.getNum());
for (int i = 0; i < num; i++) {
WmsInitialDetail wmsInitialDetail = new WmsInitialDetail();
BeanUtil.copyProperties(wmsInitialExcelInfo,wmsInitialDetail);
wmsInitialDetail.setBillSid(wmsInitial.getSid());
wmsInitialDetail.setNum(new BigDecimal("1"));
wmsInitialDetail.setIsYwym(1);
wmsInitialDetailService.save(wmsInitialDetail);
}
}else {
WmsInitialDetail wmsInitialDetail = new WmsInitialDetail();
BeanUtil.copyProperties(wmsInitialExcelInfo,wmsInitialDetail);
wmsInitialDetail.setBillSid(wmsInitial.getSid());
wmsInitialDetail.setIsYwym(0);
wmsInitialDetailService.save(wmsInitialDetail);
}
}
return ResultBean.fireSuccess().setMsg("数据导入成功");
} catch (Exception e) {
e.printStackTrace();
return ResultBean.fireFail().setMsg("数据导入失败");
}
}
private ReturnExcelInfo getSheetVal(Sheet sheet, int[] resultCell, String deptSid) {
ReturnExcelInfo importReturn = new ReturnExcelInfo();
List<WmsInitialExcelInfo> importVoList = new ArrayList<>();
Set<String> checkWord = new HashSet<>();
for (int r = 1; r <= sheet.getLastRowNum(); r++) {
Row row = sheet.getRow(r);
if (row == null) {
continue;
}
WmsInitialExcelInfo importVo = new WmsInitialExcelInfo();
int physicalNumberOfCells = row.getPhysicalNumberOfCells();
if (physicalNumberOfCells < 10) {
physicalNumberOfCells = 10;
}
for (int i = 0; i < physicalNumberOfCells; i++) {
String trim = new String();
try {
trim = getCellVal(row.getCell(i)).toString().trim();
if (StringUtils.isBlank(trim)) {
NullPointerException nullPointerException = new NullPointerException();
}
String temp = getCellVal(row.getCell(i)).toString().trim();
for (int j = 0; j < resultCell.length; j++) {
if (i == resultCell[j]) {
switch (i) {
case 0:
importVo.setGoodsSpuName(temp);
break;
case 1:
importVo.setGoodsSkuCode(temp);
break;
case 2:
importVo.setGoodsSkuOwnSpec(temp);
break;
case 3:
importVo.setUnit(temp);
break;
case 4:
importVo.setNum(temp);
break;
case 5:
importVo.setBrandName(temp);
break;
case 6:
importVo.setManufacturerName(temp);
break;
case 7:
importVo.setSupplierName(temp);
break;
case 8:
importVo.setSaleGuidePrice(temp);
break;
case 9:
importVo.setInCost(temp);
break;
case 10:
importVo.setTaxRate(temp);
break;
case 11:
importVo.setFirstInDate(temp);
break;
case 12:
importVo.setGoodsTypeName(temp);
break;
case 13:
importVo.setIsYwym(temp);
break;
case 14:
importVo.setGoodsSpuSid(temp);
break;
case 15:
importVo.setGoodsSkuSid(temp);
break;
case 16:
importVo.setBrandSid(temp);
break;
case 17:
importVo.setManufacturerSid(temp);
break;
case 18:
importVo.setGoodsTypeSid(temp);
break;
case 19:
importVo.setGoodsTypeCode(temp);
break;
default:
break;
}
} else {
continue;
}
}
} catch (Exception e) {
if (StringUtils.isBlank(trim)) {
String word = new String();
switch (i) {
case 0:
word = "商品spu名称";
break;
case 1:
word = "图号";
break;
case 2:
word = "规格型号";
break;
case 3:
word = "单位";
break;
case 4:
word = "数量";
break;
case 5:
word = "品牌";
break;
case 6:
word = "厂家";
break;
case 7:
word = "供应商";
break;
case 8:
word = "销售指导价";
break;
case 9:
word = "入库单价";
break;
case 10:
word = "税率";
break;
case 11:
word = "首次入库日期";
break;
case 12:
word = "商品类别";
break;
case 13:
word = "是否为一物一码";
break;
case 14:
word = "商品spuSid";
break;
case 15:
word = "商品skuSid";
break;
case 16:
word = "品牌sid";
break;
case 17:
word = "厂家sid";
break;
case 18:
word = "商品类别sid";
break;
case 19:
word = "商品类别编码";
break;
default:
break;
}
continue;
}
}
}
importVoList.add(importVo);
}
if (!importVoList.isEmpty()) {
for (WmsInitialExcelInfo excelInfo : importVoList) {
Integer i = baseGoodsSpuFeign.selByCodeAndDept(excelInfo.getGoodsSkuCode(), deptSid).getData();
if (i == 0) {
checkWord.add("图号" + excelInfo.getGoodsSkuCode() + "不存在");
break;
}
if (StringUtils.isBlank(excelInfo.getGoodsSpuName())) {
checkWord.add("商品名称不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getGoodsSkuOwnSpec())) {
checkWord.add("规格型号不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getUnit())) {
checkWord.add("单位不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getNum())) {
checkWord.add("数量不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getNum())) {
String num = excelInfo.getNum();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
boolean matches = pattern.matcher(num).matches();
if (!matches) {
checkWord.add("数量必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getBrandName())) {
checkWord.add("品牌不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getManufacturerName())) {
checkWord.add("厂家不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getSupplierName())) {
checkWord.add("供应商不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getSaleGuidePrice())) {
checkWord.add("销售指导价不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getSaleGuidePrice())) {
String saleGuidePrice = excelInfo.getSaleGuidePrice();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
boolean matches = pattern.matcher(saleGuidePrice).matches();
if (!matches) {
checkWord.add("销售指导价必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getInCost())) {
checkWord.add("入库单价不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getInCost())) {
String inCost = excelInfo.getInCost();
Pattern pattern = Pattern.compile("^(\\-|\\+)?\\d+(\\.\\d+)?$");
boolean matches = pattern.matcher(inCost).matches();
if (!matches) {
checkWord.add("入库单价必须为数字");
break;
}
}
if (StringUtils.isBlank(excelInfo.getTaxRate())) {
checkWord.add("税率不能为空");
break;
}
if (StringUtils.isNotBlank(excelInfo.getFirstInDate())) {
String firstInDate = excelInfo.getFirstInDate();
String[] split = firstInDate.split("-");
if (split.length != 2) {
checkWord.add("图号" + excelInfo.getGoodsSkuCode() + "导入的首次入库日期填写不正确,格式yyyy-MM");
break;
} else if (!isFourDigitNumber(split[0]) || !isTwoDigitNumber(split[1])) {
checkWord.add("图号" + excelInfo.getGoodsSkuCode() + "导入的首次入库日期填写不正确,格式yyyy-MM");
break;
}
}
if (StringUtils.isBlank(excelInfo.getGoodsTypeName())) {
checkWord.add("商品类别不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getIsYwym())) {
checkWord.add("是否为一物一码不能为空");
break;
}
}
}
StringBuffer sbcheck1 = new StringBuffer();
if (!checkWord.isEmpty()) {
for (String s : checkWord) {
if (StringUtils.isBlank(s)) {
continue;
}
sbcheck1.append(s).append(";");
}
}
if (sbcheck1.length() > 0) {
sbcheck1.delete(sbcheck1.length() - 1, sbcheck1.length());
importReturn.setCheckInfo(sbcheck1.toString());
importReturn.setInfos(new ArrayList<>());
return importReturn;
}
importReturn.setInfos(importVoList);
return importReturn;
}
public Object getCellVal(Cell cell) {
Object obj = null;
if (cell != null) {
switch (cell.getCellTypeEnum()) {
case BOOLEAN:
obj = cell.getBooleanCellValue();
break;
case ERROR:
obj = cell.getErrorCellValue();
break;
case NUMERIC:
obj = cell.getNumericCellValue();
break;
case STRING:
obj = cell.getStringCellValue();
break;
default:
break;
}
}
return obj;
}
public boolean isFourDigitNumber(String input) {
// 判断输入是否为数字
try {
int number = Integer.parseInt(input);
} catch (NumberFormatException e) {
return false;
}
// 判断输入是否为四位数
if (input.length() != 4) {
return false;
}
return true;
}
public boolean isTwoDigitNumber(String input) {
// 判断输入是否为数字
try {
int number = Integer.parseInt(input);
} catch (NumberFormatException e) {
return false;
}
// 判断输入是否为二位数
if (input.length() != 2) {
return false;
}
return true;
}
public boolean isNumber(String input) {
// 判断输入是否为数字
try {
double v = Double.parseDouble(input);
} catch (NumberFormatException e) {
return false;
}
return true;
}
/**
* 获取商品唯一的goodsID
*
* @param goodsSkuSid
* @return
*/
private String getGoodsId(String goodsSkuSid) {
String goodsId = "";
ResultBean<BaseGoodsSkuDetailsVo> resultBean = baseGoodsSkuFeign.getDetails(goodsSkuSid);
if (resultBean.getSuccess()) {
BaseGoodsSkuDetailsVo baseGoodsSkuDetailsVo = resultBean.getData();
goodsId = baseGoodsSkuDetailsVo.getGoodsCode();
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
goodsId = goodsId + date;
String i = wmsInitialDetailService.selectNum(goodsId);
if (com.yxt.common.base.utils.StringUtils.isNotBlank(i)) {
goodsId = Rule.getBillNo(goodsId, Integer.valueOf(i).intValue());
} else {
goodsId = Rule.getBillNo(goodsId, 0);
}
}
return goodsId;
}
}

12
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitial/ReturnExcelInfo.java

@ -0,0 +1,12 @@
package com.yxt.wms.biz.inventory.wmsinitial;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class ReturnExcelInfo {
private String checkInfo;
private List<WmsInitialExcelInfo> infos = new ArrayList<>();
}

51
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitial/WmsInitialExcelInfo.java

@ -0,0 +1,51 @@
package com.yxt.wms.biz.inventory.wmsinitial;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class WmsInitialExcelInfo {
@ApiModelProperty("商品spu名称")
private String goodsSpuName;
@ApiModelProperty("图号")
private String goodsSkuCode;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec;
@ApiModelProperty("单位")
private String unit;
@ApiModelProperty("数量")
private String num;
@ApiModelProperty("品牌")
private String brandName;
@ApiModelProperty("厂家")
private String manufacturerName;
@ApiModelProperty("供应商")
private String supplierName;
@ApiModelProperty("销售指导价")
private String saleGuidePrice;
@ApiModelProperty("入库单价")
private String inCost;
@ApiModelProperty("税率")
private String taxRate;
@ApiModelProperty("首次入库日期")
private String firstInDate;
@ApiModelProperty("商品类别")
private String goodsTypeName;
@ApiModelProperty("是否为一物一码")
private String isYwym;
@ApiModelProperty("商品spuSid")
private String goodsSpuSid;
@ApiModelProperty("商品skuSid")
private String goodsSkuSid;
@ApiModelProperty("品牌sid")
private String brandSid;
@ApiModelProperty("厂家sid")
private String manufacturerSid;
@ApiModelProperty("商品类别sid")
private String goodsTypeSid;
@ApiModelProperty("商品类别编码")
private String goodsTypeCode;
}

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetail.java

@ -76,7 +76,7 @@ public class WmsInitialDetail extends BaseEntity {
private BigDecimal inCost; // 入库单价
@ApiModelProperty("税率")
private String taxRate; // 税率
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("首次入库日期")
private Date firstInDate; // 首次入库日期
@ApiModelProperty("商品类别sid")

93
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailDetailsVo.java

@ -1,93 +0,0 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.wms.biz.inventory.wmsinitialdetail;
import com.yxt.common.core.vo.Vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "期初上架-明细 视图数据详情", description = "期初上架-明细 视图数据详情")
public class WmsInitialDetailDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("单据sid")
private String billSid; // 单据sid
@ApiModelProperty("商品spuSid")
private String goodsSpuSid; // 商品spuSid
@ApiModelProperty("商品spu名称")
private String goodsSpuName; // 商品spu名称
@ApiModelProperty("商品skuSid")
private String goodsSkuSid; // 商品skuSid
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; // 商品Sku名称
@ApiModelProperty("图号")
private String goodsSkuCode; // 图号
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("单位")
private String unit; // 单位
@ApiModelProperty("数量")
private BigDecimal num; // 数量
@ApiModelProperty("品牌sid")
private String brandSid; // 品牌sid
@ApiModelProperty("品牌名称")
private String brandName; // 品牌名称
@ApiModelProperty("厂家sid")
private String manufacturerSid; // 厂家sid
@ApiModelProperty("厂家名称")
private String manufacturerName; // 厂家名称
@ApiModelProperty("供应商sid")
private String supplierSid; // 供应商sid
@ApiModelProperty("供应商名称")
private String supplierName; // 供应商名称
@ApiModelProperty("销售指导价")
private BigDecimal saleGuidePrice; // 销售指导价
@ApiModelProperty("入库单价")
private BigDecimal inCost; // 入库单价
@ApiModelProperty("税率")
private String taxRate; // 税率
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("首次入库日期")
private Date firstInDate;
@ApiModelProperty("商品类别sid")
private String goodsTypeSid; // 商品类别sid
@ApiModelProperty("商品类别编码")
private String goodsTypeCode; // 商品类别编码
@ApiModelProperty("商品类别名称")
private String goodsTypeName; // 商品类别名称
@ApiModelProperty("已上架数量")
private BigDecimal listNum; // 已上架数量
@ApiModelProperty("是否为一物一码")
private Integer isYwym;
@ApiModelProperty("是否已上传商品标签")
private Integer isScbq;
}

95
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailDto.java

@ -1,95 +0,0 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.wms.biz.inventory.wmsinitialdetail;
import com.yxt.common.core.dto.Dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "期初上架-明细 数据传输对象", description = "期初上架-明细 数据传输对象")
public class WmsInitialDetailDto implements Dto {
private String sid; // sid
@ApiModelProperty("单据sid")
private String billSid; // 单据sid
@ApiModelProperty("商品spuSid")
private String goodsSpuSid; // 商品spuSid
@ApiModelProperty("商品spu名称")
private String goodsSpuName; // 商品spu名称
@ApiModelProperty("商品skuSid")
private String goodsSkuSid; // 商品skuSid
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; // 商品Sku名称
@ApiModelProperty("图号")
private String goodsSkuCode; // 图号
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("单位")
private String unit; // 单位
@ApiModelProperty("数量")
private BigDecimal num; // 数量
@ApiModelProperty("品牌sid")
private String brandSid; // 品牌sid
@ApiModelProperty("品牌名称")
private String brandName; // 品牌名称
@ApiModelProperty("厂家sid")
private String manufacturerSid; // 厂家sid
@ApiModelProperty("厂家名称")
private String manufacturerName; // 厂家名称
@ApiModelProperty("供应商sid")
private String supplierSid; // 供应商sid
@ApiModelProperty("供应商名称")
private String supplierName; // 供应商名称
@ApiModelProperty("销售指导价")
private BigDecimal saleGuidePrice; // 销售指导价
@ApiModelProperty("入库单价")
private BigDecimal inCost; // 入库单价
@ApiModelProperty("税率")
private String taxRate; // 税率
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("首次入库日期")
private Date firstInDate;
@ApiModelProperty("商品类别sid")
private String goodsTypeSid; // 商品类别sid
@ApiModelProperty("商品类别编码")
private String goodsTypeCode; // 商品类别编码
@ApiModelProperty("商品类别名称")
private String goodsTypeName; // 商品类别名称
@ApiModelProperty("已上架数量")
private BigDecimal listNum; // 已上架数量
@ApiModelProperty("是否为一物一码")
private Integer isYwym;
@ApiModelProperty("是否已上传商品标签")
private Integer isScbq;
}

4
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinitialdetail/WmsInitialDetailService.java

@ -101,4 +101,8 @@ public class WmsInitialDetailService extends MybatisBaseService<WmsInitialDetail
PagerVo<WmsInitialDetailVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public String selectNum(String goodsId) {
return null;
}
}

4
yxt-wms-biz/src/main/java/com/yxt/wms/feign/base/basegoodspu/BaseGoodsSpuFeign.java

@ -29,4 +29,8 @@ public interface BaseGoodsSpuFeign {
@ApiOperation("根据sid查询商品")
@GetMapping("/fetchEntityBySid")
public ResultBean<BaseGoodsSpu> fetchEntityBySid(@RequestParam("sid") String sid);
@ApiOperation("根据图号和部门查询商品信息是否存在")
@GetMapping("/selByCodeAndDept")
ResultBean<Integer> selByCodeAndDept(@RequestParam("code") String code,@RequestParam("deptSid") String deptSid);
}

Loading…
Cancel
Save