feat(approval): 优化退货审批资产查询功能
- 新增handleStatus字段用于区分处理状态 - 添加searchStr字段支持模糊搜索审批单号、申请人或商品名称 - 修改查询条件前缀为ra以匹配新SQL - 实现自定义分页查询方法selectApprovalAssetPage - 添加分组条件确保审批单唯一性
This commit is contained in:
parent
25510f9f23
commit
a7d0c891b9
|
@ -27,6 +27,13 @@ public interface ReturnApprovalMapper extends BaseMapper<ReturnApprovalEntity> {
|
|||
Page<ReturnApprovalEntity> selectApprovalWithGoodsInfo(Page<ReturnApprovalEntity> page,
|
||||
@Param(Constants.WRAPPER) Wrapper<ReturnApprovalEntity> queryWrapper);
|
||||
|
||||
|
||||
@Select("SELECT ra.* " +
|
||||
"FROM return_approval ra " +
|
||||
"LEFT JOIN approval_goods ag ON ag.approval_id = ra.approval_id AND ag.deleted = 0 " +
|
||||
"${ew.customSqlSegment}")
|
||||
Page<ReturnApprovalEntity> selectApprovalAssetPage(Page<ReturnApprovalEntity> page,
|
||||
@Param(Constants.WRAPPER) Wrapper<ReturnApprovalEntity> queryWrapper);
|
||||
|
||||
@Select("SELECT ra.*, sog.goods_name AS goodsName, sog.cover_img AS coverImg, " +
|
||||
"so.mobile, so.userid, so.name, so.payment_method AS paymentMethod " +
|
||||
|
|
|
@ -51,6 +51,6 @@ public class ReturnApprovalServiceImpl extends ServiceImpl<ReturnApprovalMapper,
|
|||
|
||||
@Override
|
||||
public Page<ReturnApprovalEntity> getApprovalAssetPage(AbstractPageQuery<ReturnApprovalEntity> query) {
|
||||
return this.page(query.toPage(), query.toQueryWrapper());
|
||||
return this.baseMapper.selectApprovalAssetPage(query.toPage(), query.toQueryWrapper());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,6 +16,8 @@ public class SearchReturnApprovalAssetQuery<T> extends AbstractPageQuery<T> {
|
|||
private Long orderId;
|
||||
private Long goodsId;
|
||||
private Integer status;
|
||||
// 0:未处理 1:已处理
|
||||
private Integer handleStatus;
|
||||
private Long externalGoodsId;
|
||||
private Long externalApprovalId;
|
||||
private String code;
|
||||
|
@ -33,31 +35,51 @@ public class SearchReturnApprovalAssetQuery<T> extends AbstractPageQuery<T> {
|
|||
private Date endTime;
|
||||
private String paymentMethod;
|
||||
private Date approvalTime;
|
||||
private String searchStr;
|
||||
|
||||
@Override
|
||||
public QueryWrapper<T> addQueryCondition() {
|
||||
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
|
||||
|
||||
if (status == null && handleStatus!= null) {
|
||||
if (handleStatus == 0) {
|
||||
queryWrapper.eq("ra.status", 1);
|
||||
} else if (handleStatus == 1) {
|
||||
queryWrapper.ne("ra.status", 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (StrUtil.isNotEmpty(searchStr)) {
|
||||
if (searchStr.matches("\\d{6}")) {
|
||||
queryWrapper.eq("ra.code", searchStr);
|
||||
} else {
|
||||
queryWrapper.like("ra.apply_user_name", searchStr)
|
||||
.or()
|
||||
.like("ag.goods_name", searchStr);
|
||||
}
|
||||
}
|
||||
|
||||
queryWrapper
|
||||
.eq(approvalId != null, "approval_id", approvalId)
|
||||
.eq(orderId != null, "order_id", orderId)
|
||||
.eq(goodsId != null, "goods_id", goodsId)
|
||||
.eq(status != null, "status", status)
|
||||
.eq(externalGoodsId != null, "external_goods_id", externalGoodsId)
|
||||
.eq(externalApprovalId != null, "external_approval_id", externalApprovalId)
|
||||
.eq(StrUtil.isNotEmpty(code), "code", code)
|
||||
.eq(codeCheck!= null, "code_check", codeCheck)
|
||||
.eq(approvalType != null, "approval_type", approvalType)
|
||||
.eq(StrUtil.isNotEmpty(corpid), "corpid", corpid)
|
||||
.eq(StrUtil.isNotEmpty(applyUserid), "apply_userid", applyUserid)
|
||||
.eq(StrUtil.isNotEmpty(applyUserName), "apply_user_name", applyUserName)
|
||||
.eq(StrUtil.isNotEmpty(auditUserid), "audit_userid", auditUserid)
|
||||
.like(StrUtil.isNotEmpty(returnRemark), "return_remark", returnRemark)
|
||||
.like(StrUtil.isNotEmpty(auditRemark), "audit_remark", auditRemark)
|
||||
.between(approvalTime != null, "approval_time",
|
||||
.eq(approvalId != null, "ra.approval_id", approvalId)
|
||||
.eq(orderId != null, "ra.order_id", orderId)
|
||||
.eq(goodsId != null, "ra.goods_id", goodsId)
|
||||
.eq(status != null, "ra.status", status)
|
||||
.eq(externalGoodsId != null, "ra.external_goods_id", externalGoodsId)
|
||||
.eq(externalApprovalId != null, "ra.external_approval_id", externalApprovalId)
|
||||
.eq(StrUtil.isNotEmpty(code), "ra.code", code)
|
||||
.eq(codeCheck!= null, "ra.code_check", codeCheck)
|
||||
.eq(approvalType != null, "ra.approval_type", approvalType)
|
||||
.eq(StrUtil.isNotEmpty(corpid), "ra.corpid", corpid)
|
||||
.eq(StrUtil.isNotEmpty(applyUserid), "ra.apply_userid", applyUserid)
|
||||
.eq(StrUtil.isNotEmpty(applyUserName), "ra.apply_user_name", applyUserName)
|
||||
.eq(StrUtil.isNotEmpty(auditUserid), "ra.audit_userid", auditUserid)
|
||||
.like(StrUtil.isNotEmpty(returnRemark), "ra.return_remark", returnRemark)
|
||||
.like(StrUtil.isNotEmpty(auditRemark), "ra.audit_remark", auditRemark)
|
||||
.between(approvalTime != null, "ra.approval_time",
|
||||
approvalTime == null ? null : DateUtil.beginOfDay(approvalTime).toJdkDate(),
|
||||
approvalTime == null ? null : DateUtil.endOfDay(approvalTime).toJdkDate())
|
||||
.orderByDesc("create_time");
|
||||
.groupBy("ra.approval_id")
|
||||
.orderByDesc("ra.create_time");
|
||||
|
||||
this.timeRangeColumn = "create_time";
|
||||
|
||||
|
|
Loading…
Reference in New Issue