添加采购退货申请的功能

This commit is contained in:
zhangke 2026-02-27 15:34:58 +08:00
parent 322c949d8a
commit af5f6c2dd4
8 changed files with 316 additions and 4 deletions

View File

@ -12,9 +12,7 @@ import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.dto.*; import com.nflg.wms.common.pojo.dto.*;
import com.nflg.wms.common.pojo.qo.*; import com.nflg.wms.common.pojo.qo.*;
import com.nflg.wms.common.pojo.vo.GoodsReceiptVO; import com.nflg.wms.common.pojo.vo.*;
import com.nflg.wms.common.pojo.vo.QrCodeItemVO;
import com.nflg.wms.common.pojo.vo.QrCodeVO;
import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.UserUtil;
import com.nflg.wms.common.util.VUtil; import com.nflg.wms.common.util.VUtil;
import com.nflg.wms.repository.entity.WmsQrCodeMaster; import com.nflg.wms.repository.entity.WmsQrCodeMaster;
@ -62,6 +60,36 @@ public class PurchaseReturnController extends BaseController {
@Resource @Resource
private SapService sapService; private SapService sapService;
/**
* 获取送货单的入库信息
*
* @param request
* @return
*/
@PostMapping("search")
@ApiMark(moduleName = "获取送货单的入库信息", apiName = "获取送货单的入库信息")
public ApiResult<PageData<ApplyReturnRequestVO>> getApplyOrders(@Valid @RequestBody ApplyReturnRequestSearchQO request) {
return returnRequestService.getApplyOrders(request);
}
/**
* 获取退货申请单详情
*
* @param request
* @return
*/
@PostMapping("items")
@ApiMark(moduleName = "获取送货单的入库信息", apiName = "获取送货单的入库信息")
public ApiResult<List<ApplyReturnRequestItemVO>> getApplyOrderItems(@Valid @RequestBody FilterIdQO request) {
List<WmsReturnRequestItem> items =
returnRequestItemService.lambdaQuery()
.eq(WmsReturnRequestItem::getApplicationId, request.getId())
.list();
List<ApplyReturnRequestItemVO> vos = Convert.toList(ApplyReturnRequestItemVO.class, items);
return ApiResult.success(vos);
}
/** /**
* 获取送货单的入库信息 * 获取送货单的入库信息
* *

View File

@ -0,0 +1,44 @@
package com.nflg.wms.common.pojo.qo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
@Data
@Accessors(chain = true)
public class ApplyReturnRequestSearchQO extends SearchBaseQO {
/**
* 退货申请单号
*/
private String applicationNo;
/**
* 采购单号
*/
private String poNum;
/**
* 供应商Id
*/
private String supplierCode;
/**
* 审核状态0 未审核1 已审核2 已驳回
*/
private Short approvalStatus;
/**
* 单据类型0 仅退货1 退换货
*/
private Short documentType;
/**
* 采购组Id
*/
@JsonIgnore
private String purchaseGroup;
}

View File

@ -0,0 +1,98 @@
package com.nflg.wms.common.pojo.vo;
import lombok.Data;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@Accessors(chain = true)
public class ApplyReturnRequestItemVO {
private Long id;
/**
* 申请单ID
*/
private Long applicationId;
/**
* 采购单行号
*/
private String poLineNumber;
/**
* 送货单号
*/
private String deliveryNo;
/**
* 送货单行号
*/
private String deliveryLineNo;
/**
* 所属工厂
*/
private String factoryCode;
/**
* 库位
*/
private String storageLocation;
/**
* 物料编码
*/
private String materialCode;
/**
* 物料描述
*/
private String materialDescription;
/**
* 申请数量
*/
private BigDecimal requestQuantity;
/**
* 出库状态
*/
private Short outboundStatus;
/**
* 创建人编号
*/
private Long createUserId;
/**
* 创建人名称
*/
private String createUserName;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 入库时间
*/
private LocalDateTime updateTime;
/**
* 入库人ID
*/
private Long updateUserId;
/**
* 入库人姓名
*/
private String updateUserName;
/**
* 单位
*/
private String unit;
}

View File

@ -0,0 +1,97 @@
package com.nflg.wms.common.pojo.vo;
import lombok.Data;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
@Data
@Accessors(chain = true)
public class ApplyReturnRequestVO {
private Long id;
/**
* 退货申请单号
*/
private String applicationNo;
/**
* 采购单号
*/
private String poNum;
/**
* 供应商Id
*/
private String supplierCode;
/**
* 采购组Id
*/
private String purchaseGroup;
/**
* 审核状态0 未审核1 已审核2 已驳回
*/
private Short approvalStatus;
/**
* 单据类型0 仅退货1 退换货
*/
private Short documentType;
/**
* 创建人编号
*/
private Long createUserId;
/**
* 创建人名称
*/
private String createUserName;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 入库时间
*/
private LocalDateTime updateTime;
/**
* 入库人ID
*/
private Long updateUserId;
/**
* 入库人姓名
*/
private String updateUserName;
/**
* 下架状态 0 未开始1 已完成2 部分完成
*/
private Short outStatus;
/**
* 审核人ID
*/
private Long approverId;
/**
* 审核时间
*/
private LocalDateTime approveTime;
/**
* 审核人名称
*/
private String approverName;
/**
* 0 PC端1 PDA端
*/
private Short dataSource;
}

View File

@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.qo.ApplyReturnRequestSearchQO;
import com.nflg.wms.common.pojo.qo.GoodsReceiptSearchQO; import com.nflg.wms.common.pojo.qo.GoodsReceiptSearchQO;
import com.nflg.wms.common.pojo.vo.ApplyReturnRequestVO;
import com.nflg.wms.common.pojo.vo.GoodsReceiptVO; import com.nflg.wms.common.pojo.vo.GoodsReceiptVO;
import com.nflg.wms.repository.entity.WmsReturnRequest; import com.nflg.wms.repository.entity.WmsReturnRequest;
@ -19,4 +21,6 @@ import com.nflg.wms.repository.entity.WmsReturnRequest;
public interface WmsReturnRequestMapper extends BaseMapper<WmsReturnRequest> { public interface WmsReturnRequestMapper extends BaseMapper<WmsReturnRequest> {
ApiResult<PageData<GoodsReceiptVO>> getGoodsReceipts(GoodsReceiptSearchQO request, Page<Object> objectPage); ApiResult<PageData<GoodsReceiptVO>> getGoodsReceipts(GoodsReceiptSearchQO request, Page<Object> objectPage);
ApiResult<PageData<ApplyReturnRequestVO>> getApplyOrders(ApplyReturnRequestSearchQO request, Page<Object> objectPage);
} }

View File

@ -2,7 +2,9 @@ package com.nflg.wms.repository.service;
import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.qo.ApplyReturnRequestSearchQO;
import com.nflg.wms.common.pojo.qo.GoodsReceiptSearchQO; import com.nflg.wms.common.pojo.qo.GoodsReceiptSearchQO;
import com.nflg.wms.common.pojo.vo.ApplyReturnRequestVO;
import com.nflg.wms.common.pojo.vo.GoodsReceiptVO; import com.nflg.wms.common.pojo.vo.GoodsReceiptVO;
import com.nflg.wms.repository.entity.WmsReturnRequest; import com.nflg.wms.repository.entity.WmsReturnRequest;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -27,4 +29,6 @@ public interface IWmsReturnRequestService extends IService<WmsReturnRequest> {
ApiResult<PageData<GoodsReceiptVO>> getGoodsReceipts(@Valid GoodsReceiptSearchQO request); ApiResult<PageData<GoodsReceiptVO>> getGoodsReceipts(@Valid GoodsReceiptSearchQO request);
void delApplyOrders(@NotNull Long id); void delApplyOrders(@NotNull Long id);
ApiResult<PageData<ApplyReturnRequestVO>> getApplyOrders(@Valid ApplyReturnRequestSearchQO request);
} }

View File

@ -7,7 +7,9 @@ import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.qo.ApplyReturnRequestSearchQO;
import com.nflg.wms.common.pojo.qo.GoodsReceiptSearchQO; import com.nflg.wms.common.pojo.qo.GoodsReceiptSearchQO;
import com.nflg.wms.common.pojo.vo.ApplyReturnRequestVO;
import com.nflg.wms.common.pojo.vo.GoodsReceiptVO; import com.nflg.wms.common.pojo.vo.GoodsReceiptVO;
import com.nflg.wms.repository.entity.WmsReturnRequest; import com.nflg.wms.repository.entity.WmsReturnRequest;
import com.nflg.wms.repository.entity.WmsReturnRequestItem; import com.nflg.wms.repository.entity.WmsReturnRequestItem;
@ -59,4 +61,9 @@ public class WmsReturnRequestServiceImpl extends ServiceImpl<WmsReturnRequestMap
itemService.remove(wrapper); itemService.remove(wrapper);
this.removeById(id); this.removeById(id);
} }
@Override
public ApiResult<PageData<ApplyReturnRequestVO>> getApplyOrders(ApplyReturnRequestSearchQO request) {
return baseMapper.getApplyOrders(request, new Page<>(request.getPage(), request.getPageSize()));
}
} }

View File

@ -33,10 +33,40 @@
and a.note_num =#{ request.deliveryNo} and a.note_num =#{ request.deliveryNo}
</if> </if>
<if test="request.supplierCode !=null and request.supplierCode !=''"> <if test="request.supplierCode !=null and request.supplierCode !=''">
and a.item_name =#{ request.supplierCode} and a.supplier_code =#{ request.supplierCode}
</if> </if>
</where> </where>
group by group by
a.note_num,a.line_number,a.po_num,a.po_line_number,a.item_code,a.item_name,a.uom_code,a.received_warehouse,a.iu_code,a.purchase_group,a.supplier_num,b.supplier_name,a.received_warehouse a.note_num,a.line_number,a.po_num,a.po_line_number,a.item_code,a.item_name,a.uom_code,a.received_warehouse,a.iu_code,a.purchase_group,a.supplier_num,b.supplier_name,a.received_warehouse
</select> </select>
<select id="getApplyOrders" resultType="com.nflg.wms.common.pojo.PageData">
SELECT * from wms_return_request
<where>
<if test="request.applicationNo !=null and request.applicationNo !=''">
and a.application_no =#{request.applicationNo}
</if>
<if test="request.supplierCode !=null and request.supplierCode !=''">
and a.supplier_code =#{ request.supplierCode}
</if>
<if test="request.poNum !=null and request.poNum !=''">
and a.po_num =#{ request.poNum}
</if>
<if test="request.approvalStatus !=null and request.approvalStatus !=''">
and a.approval_status =#{ request.approvalStatus}
</if>
<if test="request.documentType !=null and request.documentType !=''">
and a.document_type =#{ request.documentType}
</if>
<if test="request.purchaseGroup !=null and request.purchaseGroup !=''">
and a.purchase_group =#{ request.purchaseGroup}
</if>
<if test="request.startDate !=null">
and a.approve_time>= #{request.inStartDate}
</if>
<if test="request.endDate !=null">
and a.approve_time &lt;= #{request.inEndDate}
</if>
</where>
</select>
</mapper> </mapper>