feat(approval): 添加审批码字段及相关功能
- 在return_approval表中添加code字段用于存储审批码 - 在审批相关DTO、Entity、Query中添加code字段支持 - 修改商品详情查询SQL,添加店铺名称字段 - 移除资产申请时的库存校验逻辑
This commit is contained in:
parent
2c4ccc4dfd
commit
9cc755f83c
|
@ -80,7 +80,7 @@ public class ShopGoodsController extends BaseController {
|
||||||
/**
|
/**
|
||||||
* 获取单个商品信息
|
* 获取单个商品信息
|
||||||
*/
|
*/
|
||||||
@Operation(summary = "商品列表")
|
@Operation(summary = "商品详情")
|
||||||
// @PreAuthorize("@permission.has('shop:goods:list')")
|
// @PreAuthorize("@permission.has('shop:goods:list')")
|
||||||
@GetMapping("/getGoodsInfo")
|
@GetMapping("/getGoodsInfo")
|
||||||
public ResponseDTO<ShopGoodsDTO> getGoodsInfo(@RequestParam Long goodsId) {
|
public ResponseDTO<ShopGoodsDTO> getGoodsInfo(@RequestParam Long goodsId) {
|
||||||
|
|
|
@ -148,14 +148,14 @@ public class AssetApplicationService {
|
||||||
throw new IllegalArgumentException("Insufficient stock");
|
throw new IllegalArgumentException("Insufficient stock");
|
||||||
}
|
}
|
||||||
|
|
||||||
List<CabinetCellEntity> cabinetCellEntities = cabinetCellService.selectByGoodsId(shopGoodsEntity.getGoodsId());
|
/*List<CabinetCellEntity> cabinetCellEntities = cabinetCellService.selectByGoodsId(shopGoodsEntity.getGoodsId());
|
||||||
if (cabinetCellEntities == null || cabinetCellEntities.isEmpty()) {
|
if (cabinetCellEntities == null || cabinetCellEntities.isEmpty()) {
|
||||||
throw new IllegalArgumentException("No cabinet cells found for the goods");
|
throw new IllegalArgumentException("No cabinet cells found for the goods");
|
||||||
}
|
}
|
||||||
Integer totalStock = cabinetCellEntities.stream().map(CabinetCellEntity::getStock).reduce(0, Integer::sum);
|
Integer totalStock = cabinetCellEntities.stream().map(CabinetCellEntity::getStock).reduce(0, Integer::sum);
|
||||||
if (totalStock < command.getApplyQuantity()) {
|
if (totalStock < command.getApplyQuantity()) {
|
||||||
throw new IllegalArgumentException("Insufficient stock in cabinet cells");
|
throw new IllegalArgumentException("Insufficient stock in cabinet cells");
|
||||||
}
|
}*/
|
||||||
|
|
||||||
AddApprovalGoodsCommand approvalGoodsCommand = new AddApprovalGoodsCommand();
|
AddApprovalGoodsCommand approvalGoodsCommand = new AddApprovalGoodsCommand();
|
||||||
approvalGoodsCommand.initBaseEntity();
|
approvalGoodsCommand.initBaseEntity();
|
||||||
|
|
|
@ -22,6 +22,9 @@ public class PostAssetApprovalCommand {
|
||||||
@ApiModelProperty("申请说明")
|
@ApiModelProperty("申请说明")
|
||||||
private String applyRemark;
|
private String applyRemark;
|
||||||
|
|
||||||
|
@ApiModelProperty("核销码")
|
||||||
|
private String code;
|
||||||
|
|
||||||
@ApiModelProperty("手机号码")
|
@ApiModelProperty("手机号码")
|
||||||
private String mobile;
|
private String mobile;
|
||||||
|
|
||||||
|
|
|
@ -54,6 +54,10 @@ public class ReturnApprovalEntity extends BaseEntity<ReturnApprovalEntity> {
|
||||||
@TableField("external_approval_id")
|
@TableField("external_approval_id")
|
||||||
private Long externalApprovalId;
|
private Long externalApprovalId;
|
||||||
|
|
||||||
|
@ApiModelProperty("审批码")
|
||||||
|
@TableField("code")
|
||||||
|
private String code;
|
||||||
|
|
||||||
@ApiModelProperty("企业微信id")
|
@ApiModelProperty("企业微信id")
|
||||||
@TableField("corpid")
|
@TableField("corpid")
|
||||||
private String corpid;
|
private String corpid;
|
||||||
|
|
|
@ -50,6 +50,9 @@ public class ReturnApprovalDTO {
|
||||||
@ExcelColumn(name = "外部归属类型的审批ID")
|
@ExcelColumn(name = "外部归属类型的审批ID")
|
||||||
private Long externalApprovalId;
|
private Long externalApprovalId;
|
||||||
|
|
||||||
|
@ExcelColumn(name = "审批码")
|
||||||
|
private String code;
|
||||||
|
|
||||||
@ExcelColumn(name = "企业微信id")
|
@ExcelColumn(name = "企业微信id")
|
||||||
private String corpid;
|
private String corpid;
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ public class SearchApiReturnApprovalQuery<T> extends AbstractPageQuery<T> {
|
||||||
private Integer status;
|
private Integer status;
|
||||||
private Long externalGoodsId;
|
private Long externalGoodsId;
|
||||||
private Long externalApprovalId;
|
private Long externalApprovalId;
|
||||||
|
private String code;
|
||||||
private String corpid;
|
private String corpid;
|
||||||
private String applyUserid;
|
private String applyUserid;
|
||||||
private String auditUserid;
|
private String auditUserid;
|
||||||
|
@ -40,6 +41,7 @@ public class SearchApiReturnApprovalQuery<T> extends AbstractPageQuery<T> {
|
||||||
.eq(status != null, "ra.status", status)
|
.eq(status != null, "ra.status", status)
|
||||||
.eq(externalGoodsId != null, "ra.external_goods_id", externalGoodsId)
|
.eq(externalGoodsId != null, "ra.external_goods_id", externalGoodsId)
|
||||||
.eq(externalApprovalId != null, "ra.external_approval_id", externalApprovalId)
|
.eq(externalApprovalId != null, "ra.external_approval_id", externalApprovalId)
|
||||||
|
.eq(StrUtil.isNotEmpty(code), "ra.code", code)
|
||||||
.eq(approvalType != null, "ra.approval_type", approvalType)
|
.eq(approvalType != null, "ra.approval_type", approvalType)
|
||||||
.eq(StrUtil.isNotEmpty(corpid), "ra.corpid", corpid)
|
.eq(StrUtil.isNotEmpty(corpid), "ra.corpid", corpid)
|
||||||
.eq(StrUtil.isNotEmpty(applyUserid), "ra.apply_userid", applyUserid)
|
.eq(StrUtil.isNotEmpty(applyUserid), "ra.apply_userid", applyUserid)
|
||||||
|
|
|
@ -18,6 +18,7 @@ public class SearchReturnApprovalQuery<T> extends AbstractPageQuery<T> {
|
||||||
private Integer status;
|
private Integer status;
|
||||||
private Long externalGoodsId;
|
private Long externalGoodsId;
|
||||||
private Long externalApprovalId;
|
private Long externalApprovalId;
|
||||||
|
private String code;
|
||||||
private String corpid;
|
private String corpid;
|
||||||
private String applyUserid;
|
private String applyUserid;
|
||||||
private String auditUserid;
|
private String auditUserid;
|
||||||
|
@ -42,6 +43,7 @@ public class SearchReturnApprovalQuery<T> extends AbstractPageQuery<T> {
|
||||||
.eq(status != null, "ra.status", status)
|
.eq(status != null, "ra.status", status)
|
||||||
.eq(externalGoodsId != null, "ra.external_goods_id", externalGoodsId)
|
.eq(externalGoodsId != null, "ra.external_goods_id", externalGoodsId)
|
||||||
.eq(externalApprovalId != null, "ra.external_approval_id", externalApprovalId)
|
.eq(externalApprovalId != null, "ra.external_approval_id", externalApprovalId)
|
||||||
|
.eq(StrUtil.isNotEmpty(code), "ra.code", code)
|
||||||
.eq(approvalType != null, "ra.approval_type", approvalType)
|
.eq(approvalType != null, "ra.approval_type", approvalType)
|
||||||
.eq(StrUtil.isNotEmpty(corpid), "ra.corpid", corpid)
|
.eq(StrUtil.isNotEmpty(corpid), "ra.corpid", corpid)
|
||||||
.eq(StrUtil.isNotEmpty(applyUserid), "ra.apply_userid", applyUserid)
|
.eq(StrUtil.isNotEmpty(applyUserid), "ra.apply_userid", applyUserid)
|
||||||
|
|
|
@ -16,6 +16,8 @@ public class SearchGoodsDO extends ShopGoodsEntity {
|
||||||
private Long cabinetId;
|
private Long cabinetId;
|
||||||
@TableField("cabinet_name")
|
@TableField("cabinet_name")
|
||||||
private String cabinetName;
|
private String cabinetName;
|
||||||
|
@TableField("shop_name_str")
|
||||||
|
private String shopNameStr;
|
||||||
@TableField("cell_no")
|
@TableField("cell_no")
|
||||||
private Integer cellNo;
|
private Integer cellNo;
|
||||||
@TableField("cell_no_str")
|
@TableField("cell_no_str")
|
||||||
|
|
|
@ -87,10 +87,12 @@ public interface ShopGoodsMapper extends BaseMapper<ShopGoodsEntity> {
|
||||||
@Select("SELECT g.*, " +
|
@Select("SELECT g.*, " +
|
||||||
"SUM(cc.stock) AS total_stock, " +
|
"SUM(cc.stock) AS total_stock, " +
|
||||||
"GROUP_CONCAT(DISTINCT cc.cell_no) AS cell_no_str, " +
|
"GROUP_CONCAT(DISTINCT cc.cell_no) AS cell_no_str, " +
|
||||||
"GROUP_CONCAT(DISTINCT sc.cabinet_name) AS cabinet_name " +
|
"GROUP_CONCAT(DISTINCT sc.cabinet_name) AS cabinet_name, " +
|
||||||
|
"GROUP_CONCAT(DISTINCT s.shop_name) AS shop_name_str " +
|
||||||
"FROM shop_goods g " +
|
"FROM shop_goods g " +
|
||||||
"LEFT JOIN cabinet_cell cc ON g.goods_id = cc.goods_id AND cc.deleted = 0 " +
|
"LEFT JOIN cabinet_cell cc ON g.goods_id = cc.goods_id AND cc.deleted = 0 " +
|
||||||
"LEFT JOIN smart_cabinet sc ON cc.cabinet_id = sc.cabinet_id AND sc.deleted = 0 " +
|
"LEFT JOIN smart_cabinet sc ON cc.cabinet_id = sc.cabinet_id AND sc.deleted = 0 " +
|
||||||
|
"LEFT JOIN shop s ON s.shop_id = sc.shop_id AND s.deleted = 0 " +
|
||||||
"WHERE g.goods_id = #{goodsId} ")
|
"WHERE g.goods_id = #{goodsId} ")
|
||||||
SearchGoodsDO getGoodsInfo(@Param("goodsId") Long goodsId);
|
SearchGoodsDO getGoodsInfo(@Param("goodsId") Long goodsId);
|
||||||
|
|
||||||
|
|
|
@ -98,6 +98,9 @@ public class ShopGoodsDTO {
|
||||||
private String cellNoStr;
|
private String cellNoStr;
|
||||||
@ExcelColumn(name = "已分配库存")
|
@ExcelColumn(name = "已分配库存")
|
||||||
private Integer totalStock;
|
private Integer totalStock;
|
||||||
|
|
||||||
|
@ExcelColumn(name = "地址名称")
|
||||||
|
private String shopNameStr;
|
||||||
|
|
||||||
@ExcelColumn(name = "商品使用说明")
|
@ExcelColumn(name = "商品使用说明")
|
||||||
private String usageInstruction;
|
private String usageInstruction;
|
||||||
|
|
|
@ -20,4 +20,8 @@ AFTER `mode`;
|
||||||
|
|
||||||
ALTER TABLE `shop`
|
ALTER TABLE `shop`
|
||||||
ADD COLUMN `cover_img` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '封面图URL'
|
ADD COLUMN `cover_img` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '封面图URL'
|
||||||
AFTER `balance_enable`;
|
AFTER `balance_enable`;
|
||||||
|
|
||||||
|
ALTER TABLE `return_approval`
|
||||||
|
ADD COLUMN `code` varchar(32) DEFAULT NULL COMMENT '审批码'
|
||||||
|
AFTER `external_approval_id`;
|
||||||
|
|
Loading…
Reference in New Issue