feat 到货单详情检索

This commit is contained in:
Amjacks 2025-04-08 13:09:15 +08:00
parent 86e963d593
commit 7ac148857b
6 changed files with 125 additions and 9 deletions

View File

@ -5,6 +5,7 @@ import com.cim.idm.model.po.MaterialReceiveDelivery;
import com.cim.idm.model.po.MaterialReceiveRequest;
import com.cim.idm.model.dto.PurchaseDto;
import com.cim.idm.model.vo.DeliveryReceiveDetailVo;
import com.cim.idm.model.vo.MaterialReceiveRequestVo;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -32,8 +33,8 @@ public interface DeliveryDao {
/**
* 获取采购订单
*/
List<MaterialReceiveRequest> getPurchase(@Param("dto") PurchaseDto dto,
@Param("typeList") List<String> typeList);
List<MaterialReceiveRequestVo> getPurchase(@Param("dto") PurchaseDto dto,
@Param("typeList") List<String> typeList);
/**
* 获取入库详情

View File

@ -7,6 +7,24 @@ public class PurchaseDto {
// siteName
private String siteName;
// 组织
private String erpFactory;
// 单号名称
private String receiveRequestName;
// 订单状态
private String receiveRequestState;
// 料号
private String materialSpecName;
// 品名
private String descCn;
// 开始时间
private String fromDate;
// 结束时间
private String toDate;
}

View File

@ -0,0 +1,46 @@
package com.cim.idm.model.vo;
import lombok.Data;
@Data
public class MaterialReceiveRequestVo {
// 工厂
private String siteName;
// 订单编号
private String receiveRequestName;
// 出入库类型编码
private String receiveRequestType;
// 单据日期
private String orderDate;
// 供应商编号
private String supplierNo;
// 最后操作名称
private String lastEventName;
// 最后操作时间
private String lastEventTime;
// 最后操作人
private String lastEventUser;
// 最后操作注释
private String lastEventComment;
// 创建日期
private String supplierName;
// 组织
private String erpFactory;
// 组织(CN)
private String orgName;
// 料号
private String materialSpecName;
// 品名
private String descCn;
// 创建日期
private String createTime;
// 订单状态
private String receiveRequestState;
private String oemSiteName;
private String oemSiteInCharge;
private String lastEventTimeKey;
private String systemType;
private String purchaseOrderGroup;
}

View File

@ -5,6 +5,7 @@ import com.cim.idm.model.po.MaterialReceiveDelivery;
import com.cim.idm.model.po.MaterialReceiveRequest;
import com.cim.idm.model.dto.PageDto;
import com.cim.idm.model.vo.DeliveryReceiveDetailVo;
import com.cim.idm.model.vo.MaterialReceiveRequestVo;
import com.cim.idm.model.vo.ReceiveDetailVo;
import com.github.pagehelper.PageInfo;
@ -23,7 +24,7 @@ public interface IDeliveryService {
* @param dto 请求
* @return 采购订单
*/
PageInfo<MaterialReceiveRequest> getPurchase(PageDto dto);
PageInfo<MaterialReceiveRequestVo> getPurchase(PageDto dto);
/**
* 获取采购单明细及批次

View File

@ -10,6 +10,7 @@ import com.cim.idm.model.dto.DeliveryRelationDto;
import com.cim.idm.model.po.MaterialReceiveDelivery;
import com.cim.idm.model.po.MaterialReceiveRequest;
import com.cim.idm.model.vo.DeliveryReceiveDetailVo;
import com.cim.idm.model.vo.MaterialReceiveRequestVo;
import com.cim.idm.model.vo.ReceiveDetailVo;
import com.cim.idm.service.IDeliveryService;
import com.github.pagehelper.PageInfo;
@ -51,7 +52,7 @@ public class DeliveryServiceImpl implements IDeliveryService {
}
@Override
public PageInfo<MaterialReceiveRequest> getPurchase(PageDto dto) {
public PageInfo<MaterialReceiveRequestVo> getPurchase(PageDto dto) {
PageMethod.startPage(dto.getPageNum(), dto.getPageSize());
PurchaseDto purchaseDto = JSON.toJavaObject(dto.getParams(), PurchaseDto.class);
return new PageInfo<>(deliveryDao.getPurchase(purchaseDto, ReceiveTypeEnums.getPurchase()));

View File

@ -15,15 +15,64 @@
SELECT * FROM dual
</insert>
<select id="getPurchase" resultType="com.cim.idm.model.po.MaterialReceiveRequest">
SELECT SITENAME, RECEIVEREQUESTNAME FROM MATERIALRECEIVEREQUEST
WHERE SITENAME = #{dto.siteName}
AND RECEIVEREQUESTTYPE IN
<resultMap id="MaterialReceiveRequestVo" type="com.cim.idm.model.vo.MaterialReceiveRequestVo">
<result property="siteName" column="SITENAME" />
<result property="receiveRequestName" column="RECEIVEREQUESTNAME" />
<result property="receiveRequestType" column="RECEIVEREQUESTTYPE" />
<result property="orderDate" column="ORDERDATE" />
<result property="supplierNo" column="SUPPLIERNO" />
<result property="lastEventName" column="LASTEVENTNAME" />
<result property="lastEventTime" column="LASTEVENTTIME" />
<result property="lastEventUser" column="LASTEVENTUSER" />
<result property="lastEventComment" column="LASTEVENTCOMMENT" />
<result property="supplierName" column="SUPPLIERNAME" />
<result property="erpFactory" column="ERPFACTORY" />
<result property="orgName" column="ORGNAME" />
<result property="materialSpecName" column="MATERIALSPECNAME" />
<result property="descCn" column="DESC_CN" />
<result property="createTime" column="CREATETIME" />
<result property="receiveRequestState" column="RECEIVEREQUESTSTATE" />
<result property="oemSiteName" column="OEMSITENAME" />
<result property="oemSiteInCharge" column="OEMSITEINCHARGE" />
<result property="lastEventTimeKey" column="LASTEVENTTIMEKEY" />
<result property="systemType" column="SYSTEMTYPE" />
<result property="purchaseOrderGroup" column="PURCHASEORDERGROUP" />
</resultMap>
<select id="getPurchase" resultMap="MaterialReceiveRequestVo">
SELECT DISTINCT m.SITENAME, m.RECEIVEREQUESTNAME, m.RECEIVEREQUESTTYPE, m.ORDERDATE, m.SUPPLIERNO,
m.LASTEVENTNAME, m.LASTEVENTTIME, m.LASTEVENTUSER, m.LASTEVENTCOMMENT, s.SUPPLIERNAME,
STOCKORGNO ERPFACTORY, o.ORGNAME, ms.MATERIALSPECNAME, ms.DESC_CN, d.CREATETIME,
CASE WHEN m.RECEIVEREQUESTSTATE = 'Completed' THEN '完成' ELSE '未完成' END RECEIVEREQUESTSTATE,
m.OEMSITENAME, m.OEMSITEINCHARGE, m.LASTEVENTTIMEKEY, m.SYSTEMTYPE, m.PURCHASEORDERGROUP
FROM MATERIALRECEIVEREQUEST m
LEFT JOIN SUPPLIER s ON s.SUPPLIERNO = m.SUPPLIERNO
LEFT JOIN MATERIALRECEIVEREQUESTDETAIL d ON m.RECEIVEREQUESTNAME = d.RECEIVEREQUESTNAME
LEFT JOIN MATERIALSPEC ms ON d.MATERIALSPECNAME = ms.MATERIALSPECNAME
LEFT JOIN ORG o ON STOCKORGNO = o.ORGNO
WHERE m.SITENAME = #{dto.siteName}
AND m.RECEIVEREQUESTTYPE IN
<foreach item="type" index="index" collection="typeList" open="(" separator="," close=")">
#{type}
</foreach>
<if test="dto.erpFactory != null and dto.erpFactory != ''">
AND m.STOCKORGNO = #{dto.erpFactory}
</if>
<if test="dto.receiveRequestName != null and dto.receiveRequestName != ''">
AND RECEIVEREQUESTNAME LIKE '%'||#{dto.receiveRequestName}||'%'
AND m.RECEIVEREQUESTNAME LIKE '%'||#{dto.receiveRequestName}||'%'
</if>
<if test="dto.receiveRequestState != null and dto.receiveRequestState != ''">
AND m.RECEIVEREQUESTSTATE = #{dto.receiveRequestState}
</if>
<if test="dto.materialSpecName != null and dto.materialSpecName != ''">
AND ms.MATERIALSPECNAME LIKE '%'||#{dto.materialSpecName}||'%'
</if>
<if test="dto.descCn != null and dto.descCn != ''">
AND ms.DESC_CN LIKE '%'||#{dto.descCn}||'%'
</if>
<if test="dto.fromDate != null and dto.fromDate != '' and dto.toDate != null and dto.toDate != ''">
AND m.ORDERDATE BETWEEN TO_DATE( #{dto.fromDate}, 'YYYY/MM/DDHH24MISS' )
AND TO_DATE( #{dto.toDate}, 'YYYY/MM/DDHH24MISS' )
</if>
</select>