feat(stock): 增加库存调整相关 BO 和 DTO 中的供应商信息

- 在 StockCostAdjustProductBo、StockCostAdjustSheetFullBo、StockAdjustProductBo 和 StockAdjustSheetFullBo 中添加供应商 ID、编号和名称字段
- 在 StockCostAdjustProductDto 和 StockAdjustProductDto 中添加供应商 ID、编号和名称字段
- 更新数据库查询语句,加入供应商信息的查询
This commit is contained in:
lijiaqi 2024-11-25 13:52:11 +08:00
parent 3ff9f82a49
commit 78c509f50f
8 changed files with 151 additions and 10 deletions

View File

@ -81,6 +81,24 @@ public class StockCostAdjustProductBo extends BaseBo<StockCostAdjustProductDto>
@ApiModelProperty("调价前成本价") @ApiModelProperty("调价前成本价")
private BigDecimal oriPrice; private BigDecimal oriPrice;
/**
* 供应商id
*/
@ApiModelProperty("供应商id")
private String supplierId;
/**
* 供应商编号
*/
@ApiModelProperty("供应商编号")
private String supplierCode;
/**
* 供应商名称
*/
@ApiModelProperty("供应商名称")
private String supplierName;
public StockCostAdjustProductBo() { public StockCostAdjustProductBo() {
} }
@ -96,5 +114,8 @@ public class StockCostAdjustProductBo extends BaseBo<StockCostAdjustProductDto>
this.productId = dto.getId(); this.productId = dto.getId();
this.productCode = dto.getCode(); this.productCode = dto.getCode();
this.productName = dto.getName(); this.productName = dto.getName();
this.supplierId = dto.getSupplierId();
this.supplierCode = dto.getSupplierCode();
this.supplierName = dto.getSupplierName();
} }
} }

View File

@ -4,18 +4,17 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.lframework.starter.common.constants.StringPool; import com.lframework.starter.common.constants.StringPool;
import com.lframework.starter.common.utils.NumberUtil; import com.lframework.starter.common.utils.NumberUtil;
import com.lframework.starter.common.utils.ObjectUtil;
import com.lframework.starter.common.utils.StringUtil; import com.lframework.starter.common.utils.StringUtil;
import com.lframework.starter.web.bo.BaseBo; import com.lframework.starter.web.bo.BaseBo;
import com.lframework.starter.web.common.utils.ApplicationUtil; import com.lframework.starter.web.common.utils.ApplicationUtil;
import com.lframework.starter.web.utils.EnumUtil; import com.lframework.starter.web.utils.EnumUtil;
import com.lframework.xingyun.basedata.entity.Product; import com.lframework.xingyun.basedata.entity.*;
import com.lframework.xingyun.basedata.entity.ProductBrand;
import com.lframework.xingyun.basedata.entity.ProductCategory;
import com.lframework.xingyun.basedata.entity.StoreCenter;
import com.lframework.xingyun.basedata.service.product.ProductBrandService; import com.lframework.xingyun.basedata.service.product.ProductBrandService;
import com.lframework.xingyun.basedata.service.product.ProductCategoryService; import com.lframework.xingyun.basedata.service.product.ProductCategoryService;
import com.lframework.xingyun.basedata.service.product.ProductService; import com.lframework.xingyun.basedata.service.product.ProductService;
import com.lframework.xingyun.basedata.service.storecenter.StoreCenterService; import com.lframework.xingyun.basedata.service.storecenter.StoreCenterService;
import com.lframework.xingyun.basedata.service.supplier.SupplierService;
import com.lframework.xingyun.sc.dto.stock.adjust.cost.StockCostAdjustSheetFullDto; import com.lframework.xingyun.sc.dto.stock.adjust.cost.StockCostAdjustSheetFullDto;
import com.lframework.xingyun.sc.entity.ProductStock; import com.lframework.xingyun.sc.entity.ProductStock;
import com.lframework.xingyun.sc.enums.StockCostAdjustSheetStatus; import com.lframework.xingyun.sc.enums.StockCostAdjustSheetStatus;
@ -266,6 +265,24 @@ public class StockCostAdjustSheetFullBo extends BaseBo<StockCostAdjustSheetFullD
@ApiModelProperty(hidden = true) @ApiModelProperty(hidden = true)
private Integer status; private Integer status;
/**
* 供应商id
*/
@ApiModelProperty("供应商id")
private String supplierId;
/**
* 供应商编号
*/
@ApiModelProperty("供应商编号")
private String supplierCode;
/**
* 供应商名称
*/
@ApiModelProperty("供应商名称")
private String supplierName;
public DetailBo(StockCostAdjustSheetFullDto.DetailDto dto, String scId, Integer status) { public DetailBo(StockCostAdjustSheetFullDto.DetailDto dto, String scId, Integer status) {
this.scId = scId; this.scId = scId;
@ -316,6 +333,15 @@ public class StockCostAdjustSheetFullBo extends BaseBo<StockCostAdjustSheetFullD
this.diffAmount = NumberUtil.getNumber( this.diffAmount = NumberUtil.getNumber(
NumberUtil.mul(NumberUtil.sub(this.price, this.oriPrice), this.stockNum), 2); NumberUtil.mul(NumberUtil.sub(this.price, this.oriPrice), this.stockNum), 2);
} }
SupplierService supplierService = ApplicationUtil.getBean(SupplierService.class);
Supplier supplier = supplierService.findById(product.getSupplierId());
if (ObjectUtil.isNotNull(supplier)) {
this.supplierCode = supplier.getCode();
this.supplierName = supplier.getName();
this.supplierId = supplier.getId();
}
} }
} }
} }

View File

@ -79,6 +79,24 @@ public class StockAdjustProductBo extends BaseBo<StockAdjustProductDto> {
@ApiModelProperty(hidden = true) @ApiModelProperty(hidden = true)
private String scId; private String scId;
/**
* 供应商id
*/
@ApiModelProperty("供应商id")
private String supplierId;
/**
* 供应商编号
*/
@ApiModelProperty("供应商编号")
private String supplierCode;
/**
* 供应商名称
*/
@ApiModelProperty("供应商名称")
private String supplierName;
public StockAdjustProductBo() { public StockAdjustProductBo() {
} }
@ -101,5 +119,9 @@ public class StockAdjustProductBo extends BaseBo<StockAdjustProductDto> {
ProductStock productStock = productStockService.getByProductIdAndScId(dto.getId(), ProductStock productStock = productStockService.getByProductIdAndScId(dto.getId(),
this.scId); this.scId);
this.curStockNum = productStock == null ? 0 : productStock.getStockNum(); this.curStockNum = productStock == null ? 0 : productStock.getStockNum();
this.supplierId = dto.getSupplierId();
this.supplierCode = dto.getSupplierCode();
this.supplierName = dto.getSupplierName();
} }
} }

View File

@ -3,19 +3,18 @@ package com.lframework.xingyun.sc.bo.stock.adjust.stock;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.lframework.starter.common.constants.StringPool; import com.lframework.starter.common.constants.StringPool;
import com.lframework.starter.common.utils.ObjectUtil;
import com.lframework.starter.common.utils.StringUtil; import com.lframework.starter.common.utils.StringUtil;
import com.lframework.starter.web.annotations.convert.EnumConvert; import com.lframework.starter.web.annotations.convert.EnumConvert;
import com.lframework.starter.web.bo.BaseBo; import com.lframework.starter.web.bo.BaseBo;
import com.lframework.starter.web.common.utils.ApplicationUtil; import com.lframework.starter.web.common.utils.ApplicationUtil;
import com.lframework.starter.web.utils.EnumUtil; import com.lframework.starter.web.utils.EnumUtil;
import com.lframework.xingyun.basedata.entity.Product; import com.lframework.xingyun.basedata.entity.*;
import com.lframework.xingyun.basedata.entity.ProductBrand;
import com.lframework.xingyun.basedata.entity.ProductCategory;
import com.lframework.xingyun.basedata.entity.StoreCenter;
import com.lframework.xingyun.basedata.service.product.ProductBrandService; import com.lframework.xingyun.basedata.service.product.ProductBrandService;
import com.lframework.xingyun.basedata.service.product.ProductCategoryService; import com.lframework.xingyun.basedata.service.product.ProductCategoryService;
import com.lframework.xingyun.basedata.service.product.ProductService; import com.lframework.xingyun.basedata.service.product.ProductService;
import com.lframework.xingyun.basedata.service.storecenter.StoreCenterService; import com.lframework.xingyun.basedata.service.storecenter.StoreCenterService;
import com.lframework.xingyun.basedata.service.supplier.SupplierService;
import com.lframework.xingyun.sc.dto.stock.adjust.stock.StockAdjustSheetFullDto; import com.lframework.xingyun.sc.dto.stock.adjust.stock.StockAdjustSheetFullDto;
import com.lframework.xingyun.sc.entity.ProductStock; import com.lframework.xingyun.sc.entity.ProductStock;
import com.lframework.xingyun.sc.entity.StockAdjustReason; import com.lframework.xingyun.sc.entity.StockAdjustReason;
@ -269,6 +268,24 @@ public class StockAdjustSheetFullBo extends BaseBo<StockAdjustSheetFullDto> {
@ApiModelProperty(hidden = true) @ApiModelProperty(hidden = true)
private Integer status; private Integer status;
/**
* 供应商id
*/
@ApiModelProperty("供应商id")
private String supplierId;
/**
* 供应商编号
*/
@ApiModelProperty("供应商编号")
private String supplierCode;
/**
* 供应商名称
*/
@ApiModelProperty("供应商名称")
private String supplierName;
public DetailBo(StockAdjustSheetFullDto.DetailDto dto, String scId, Integer status) { public DetailBo(StockAdjustSheetFullDto.DetailDto dto, String scId, Integer status) {
this.scId = scId; this.scId = scId;
@ -315,6 +332,16 @@ public class StockAdjustSheetFullBo extends BaseBo<StockAdjustSheetFullDto> {
this.scId); this.scId);
this.curStockNum = productStock == null ? 0 : productStock.getStockNum(); this.curStockNum = productStock == null ? 0 : productStock.getStockNum();
} }
SupplierService supplierService = ApplicationUtil.getBean(SupplierService.class);
Supplier supplier = supplierService.findById(product.getSupplierId());
if (ObjectUtil.isNotNull(supplier)) {
this.supplierCode = supplier.getCode();
this.supplierName = supplier.getName();
this.supplierId = supplier.getId();
}
} }
} }
} }

View File

@ -79,4 +79,18 @@ public class StockCostAdjustProductDto implements BaseDto, Serializable {
* 调价前成本价 * 调价前成本价
*/ */
private BigDecimal oriPrice; private BigDecimal oriPrice;
/**
* 供应商id
*/
private String supplierId;
/**
* 供应商编号
*/
private String supplierCode;
/**
* 供应商名称
*/
private String supplierName;
} }

View File

@ -2,6 +2,8 @@ package com.lframework.xingyun.sc.dto.stock.adjust.stock;
import com.lframework.starter.web.dto.BaseDto; import com.lframework.starter.web.dto.BaseDto;
import java.io.Serializable; import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@Data @Data
@ -68,4 +70,19 @@ public class StockAdjustProductDto implements BaseDto, Serializable {
* 当前库存数量 * 当前库存数量
*/ */
private Integer curStockNum; private Integer curStockNum;
/**
* 供应商id
*/
private String supplierId;
/**
* 供应商编号
*/
private String supplierCode;
/**
* 供应商名称
*/
private String supplierName;
} }

View File

@ -36,6 +36,9 @@
<result column="external_code" property="externalCode"/> <result column="external_code" property="externalCode"/>
<result column="spec" property="spec"/> <result column="spec" property="spec"/>
<result column="unit" property="unit"/> <result column="unit" property="unit"/>
<result column="supplier_id" property="supplierId"/>
<result column="supplier_code" property="supplierCode"/>
<result column="supplier_name" property="supplierName"/>
</resultMap> </resultMap>
<sql id="StockAdjustSheetDto_sql"> <sql id="StockAdjustSheetDto_sql">
@ -81,11 +84,15 @@
g.sku_code, g.sku_code,
g.external_code, g.external_code,
g.spec, g.spec,
g.unit g.unit,
g.supplier_id,
s.code AS supplier_code,
s.name AS supplier_name
FROM base_data_product AS g FROM base_data_product AS g
LEFT JOIN base_data_product_category AS c ON c.id = g.category_id LEFT JOIN base_data_product_category AS c ON c.id = g.category_id
LEFT JOIN base_data_product_brand AS b ON b.id = g.brand_id LEFT JOIN base_data_product_brand AS b ON b.id = g.brand_id
LEFT JOIN recursion_mapping AS rm ON rm.node_id = c.id and rm.node_type = 2 LEFT JOIN recursion_mapping AS rm ON rm.node_id = c.id and rm.node_type = 2
LEFT JOIN base_data_supplier AS s ON s.id = g.supplier_id
</sql> </sql>
<select id="query" resultType="com.lframework.xingyun.sc.entity.StockAdjustSheet"> <select id="query" resultType="com.lframework.xingyun.sc.entity.StockAdjustSheet">

View File

@ -59,6 +59,9 @@
<result column="purchase_price" property="purchasePrice"/> <result column="purchase_price" property="purchasePrice"/>
<result column="stock_num" property="stockNum"/> <result column="stock_num" property="stockNum"/>
<result column="ori_price" property="oriPrice"/> <result column="ori_price" property="oriPrice"/>
<result column="supplier_id" property="supplierId"/>
<result column="supplier_code" property="supplierCode"/>
<result column="supplier_name" property="supplierName"/>
</resultMap> </resultMap>
<sql id="StockCostAdjustSheetDto_sql"> <sql id="StockCostAdjustSheetDto_sql">
@ -123,13 +126,17 @@
g.unit, g.unit,
purchase.price AS purchase_price, purchase.price AS purchase_price,
s.tax_price AS ori_price, s.tax_price AS ori_price,
s.stock_num s.stock_num,
g.supplier_id,
sa.code AS supplier_code,
sa.name AS supplier_name
FROM tbl_product_stock AS s FROM tbl_product_stock AS s
INNER JOIN base_data_product AS g ON g.id = s.product_id AND g.product_type = 1 INNER JOIN base_data_product AS g ON g.id = s.product_id AND g.product_type = 1
INNER JOIN base_data_product_purchase AS purchase ON purchase.id = g.id INNER JOIN base_data_product_purchase AS purchase ON purchase.id = g.id
LEFT JOIN base_data_product_category AS c ON c.id = g.category_id LEFT JOIN base_data_product_category AS c ON c.id = g.category_id
LEFT JOIN base_data_product_brand AS b ON b.id = g.brand_id LEFT JOIN base_data_product_brand AS b ON b.id = g.brand_id
LEFT JOIN recursion_mapping AS rm ON rm.node_id = c.id and rm.node_type = 2 LEFT JOIN recursion_mapping AS rm ON rm.node_id = c.id and rm.node_type = 2
LEFT JOIN base_data_supplier AS sa ON sa.id = g.supplier_id
</sql> </sql>
<select id="query" resultMap="StockCostAdjustSheet"> <select id="query" resultMap="StockCostAdjustSheet">