1.sku售出记录不保存问题

2.库存条目数不一致
This commit is contained in:
2024-07-20 17:00:39 +08:00
parent 4c153a2bfb
commit 2a6dcf563b
2 changed files with 151 additions and 2 deletions

View File

@@ -63,7 +63,7 @@ public interface TbProductSkuRepository extends JpaRepository<TbProductSku, Inte
@Query("SELECT new cn.ysk.cashier.vo.StockV2Vo(" + @Query("SELECT new cn.ysk.cashier.vo.StockV2Vo(" +
"sku.id,pro.id,pro.coverImg,pro.name,unit.name,pro.typeEnum,sku.specSnap,pro.isStock, " + "sku.id,pro.id,pro.coverImg,pro.name,unit.name,pro.typeEnum,sku.specSnap,pro.isStock, " +
"CASE WHEN pro.isDistribute = 1 THEN IFNULL(pro.stockNumber, 0) ELSE SUM(sku.stockNumber) END as number" + "CASE WHEN pro.isDistribute = 1 THEN IFNULL(pro.stockNumber, 0) ELSE SUM(sku.stockNumber) END as number" +
", pro.isDistribute, pro.isPauseSale, true, sku.warnLine, pro.lowPrice) " + ", pro.isDistribute, pro.isPauseSale, true, sku.warnLine, pro.lowPrice, CASE WHEN sku.isGrounding=1 THEN true ELSE false END as isGrounding) " +
"from " + "from " +
"TbProduct pro " + "TbProduct pro " +
"LEFT JOIN TbProductSku sku on pro.id = sku.productId " + "LEFT JOIN TbProductSku sku on pro.id = sku.productId " +

View File

@@ -8,7 +8,6 @@ import java.util.List;
/** /**
* @author GYJ * @author GYJ
*/ */
@Data
public class StockV2Vo { public class StockV2Vo {
private String id; private String id;
private Integer skuId; private Integer skuId;
@@ -25,6 +24,7 @@ public class StockV2Vo {
private Object number; private Object number;
private Integer warnLine; private Integer warnLine;
private BigDecimal salePrice; private BigDecimal salePrice;
private boolean isGrounding;
public StockV2Vo(Integer proId, Integer skuId, String name, String unitName,String specSnap, Object number,Object stockNumber, Integer isDistribute) { public StockV2Vo(Integer proId, Integer skuId, String name, String unitName,String specSnap, Object number,Object stockNumber, Integer isDistribute) {
this.proId = proId; this.proId = proId;
@@ -80,6 +80,7 @@ public class StockV2Vo {
this.warnLine = warnLine; this.warnLine = warnLine;
} }
public StockV2Vo(Integer id, Integer proId,String img,String name,String unitName, String type, String specSnap, public StockV2Vo(Integer id, Integer proId,String img,String name,String unitName, String type, String specSnap,
Object isStock, Object number, Integer isDistribute, Integer isPauseSale, boolean isPro, Integer warnLine, BigDecimal sellPrice) { Object isStock, Object number, Integer isDistribute, Integer isPauseSale, boolean isPro, Integer warnLine, BigDecimal sellPrice) {
this.id = id.toString() + "-" + proId.toString(); this.id = id.toString() + "-" + proId.toString();
@@ -103,6 +104,154 @@ public class StockV2Vo {
this.salePrice = sellPrice; this.salePrice = sellPrice;
} }
public StockV2Vo(Integer id, Integer proId,String img,String name,String unitName, String type, String specSnap,
Object isStock, Object number, Integer isDistribute, Integer isPauseSale, boolean isPro, Integer warnLine, BigDecimal sellPrice, boolean isGrounding) {
this.id = id.toString() + "-" + proId.toString();
if (isPro) {
this.id += proId;
} else {
this.id += id;
}
this.skuId = id;
this.proId = proId;
this.img = img;
this.name = name;
this.unitName = unitName;
setType(type);
this.specSnap = specSnap;
this.isStock = isStock;
this.stockNumber = number;
this.isDistribute = isDistribute;
this.isPauseSale = isPauseSale;
this.warnLine = warnLine;
this.salePrice = sellPrice;
this.isGrounding = isGrounding;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Integer getSkuId() {
return skuId;
}
public void setSkuId(Integer skuId) {
this.skuId = skuId;
}
public Integer getProId() {
return proId;
}
public void setProId(Integer proId) {
this.proId = proId;
}
public String getImg() {
return img;
}
public void setImg(String img) {
this.img = img;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUnitName() {
return unitName;
}
public void setUnitName(String unitName) {
this.unitName = unitName;
}
public String getType() {
return type;
}
public String getSpecSnap() {
return specSnap;
}
public void setSpecSnap(String specSnap) {
this.specSnap = specSnap;
}
public Object getIsStock() {
return isStock;
}
public void setIsStock(Object isStock) {
this.isStock = isStock;
}
public Object getStockNumber() {
return stockNumber;
}
public void setStockNumber(Object stockNumber) {
this.stockNumber = stockNumber;
}
public Integer getIsDistribute() {
return isDistribute;
}
public void setIsDistribute(Integer isDistribute) {
this.isDistribute = isDistribute;
}
public Integer getIsPauseSale() {
return isPauseSale;
}
public void setIsPauseSale(Integer isPauseSale) {
this.isPauseSale = isPauseSale;
}
public Object getNumber() {
return number;
}
public void setNumber(Object number) {
this.number = number;
}
public Integer getWarnLine() {
return warnLine;
}
public void setWarnLine(Integer warnLine) {
this.warnLine = warnLine;
}
public BigDecimal getSalePrice() {
return salePrice;
}
public void setSalePrice(BigDecimal salePrice) {
this.salePrice = salePrice;
}
public boolean getIsGrounding() {
return isGrounding;
}
public void setIsGrounding(boolean grounding) {
isGrounding = grounding;
}
public void setType(String type) { public void setType(String type) {
switch (type) { switch (type) {
case "normal": case "normal":