<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.ruoyi.production.mapper.SalesLedgerSchedulingMapper">
|
|
<select id="listPage" resultType="com.ruoyi.production.dto.SalesLedgerSchedulingDto">
|
SELECT
|
T2.id as salesLedgerProductId,
|
T1.id as salesLedgerId,
|
ifNull(sum(t3.scheduling_num),0) AS schedulingNum,
|
T1.sales_contract_no,
|
T1.customer_contract_no,
|
T1.project_name,
|
T1.entry_date,
|
T1.customer_name,
|
T2.quantity,
|
T2.product_category,
|
T2.specification_model,
|
T2.unit
|
FROM
|
sales_ledger_product T2
|
LEFT join sales_ledger_scheduling t3 on T2.id = t3.sales_ledger_product_id
|
LEFT JOIN sales_ledger T1 ON T1.id = T2.sales_ledger_id
|
<where>
|
T1.id is not null
|
<if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' ">
|
AND T1.customer_name LIKE CONCAT('%',#{salesLedgerDto.customerName},'%')
|
</if>
|
<if test="salesLedgerDto.customerContractNo != null and salesLedgerDto.customerContractNo !='' ">
|
AND T1.customer_contract_no LIKE CONCAT('%',#{salesLedgerDto.customerContractNo},'%')
|
</if>
|
<if test="salesLedgerDto.salesContractNo != null and salesLedgerDto.salesContractNo != '' ">
|
AND T1.sales_contract_no LIKE CONCAT('%',#{salesLedgerDto.salesContractNo},'%')
|
</if>
|
<if test="salesLedgerDto.projectName != null and salesLedgerDto.projectName != '' ">
|
AND T1.project_name LIKE CONCAT('%',#{salesLedgerDto.projectName},'%')
|
</if>
|
<if test="salesLedgerDto.entryDateStart != null and salesLedgerDto.entryDateStart != '' ">
|
AND T1.entry_date >= DATE_FORMAT(#{salesLedgerDto.entryDateStart},'%Y-%m-%d')
|
</if>
|
<if test="salesLedgerDto.entryDateEnd != null and salesLedgerDto.entryDateEnd != '' ">
|
AND T1.entry_date <= DATE_FORMAT(#{salesLedgerDto.entryDateEnd},'%Y-%m-%d')
|
</if>
|
</where>
|
GROUP BY T2.id
|
</select>
|
<select id="list" resultType="com.ruoyi.production.dto.SalesLedgerSchedulingDto">
|
SELECT
|
T2.id,
|
ifNull(sum(t3.scheduling_num),0) AS schedulingNum,
|
T1.sales_contract_no,
|
T1.customer_contract_no,
|
T1.project_name,
|
T1.entry_date,
|
T1.customer_name,
|
T2.quantity,
|
T2.product_category,
|
T2.specification_model,
|
T2.unit
|
FROM
|
sales_ledger_product T2
|
LEFT JOIN sales_ledger T1 ON T1.id = T2.sales_ledger_id
|
LEFT join sales_ledger_scheduling t3 on T1.id = t3.sales_ledger_id
|
where T1.id is not null
|
GROUP BY T2.id
|
</select>
|
<select id="listPageProcess" resultType="com.ruoyi.production.dto.SalesLedgerSchedulingProcessDto">
|
SELECT
|
t3.id as salesLedgerProductId,
|
T1.id as salesLedgerId,
|
T2.id,
|
T2.status,
|
T2.scheduling_user_id,
|
T2.scheduling_user_name,
|
T2.scheduling_date,
|
ifNull(T2.scheduling_num,0) AS schedulingNum,
|
T1.sales_contract_no,
|
T1.customer_contract_no,
|
T1.project_name,
|
T1.customer_name,
|
t3.product_category,
|
t3.specification_model,
|
t3.unit
|
FROM
|
sales_ledger_scheduling T2
|
LEFT JOIN sales_ledger T1 ON T1.id = T2.sales_ledger_id
|
left join sales_ledger_product t3 on T2.sales_ledger_product_id = t3.id
|
<where>
|
1 = 1
|
<if test="salesLedgerDto.status != null and salesLedgerDto.status != '' ">
|
AND T2.status = #{salesLedgerDto.status}
|
</if>
|
<if test="salesLedgerDto.customerName != null and salesLedgerDto.customerName != '' ">
|
AND T1.customer_name LIKE CONCAT('%',#{salesLedgerDto.customerName},'%')
|
</if>
|
<if test="salesLedgerDto.customerContractNo != null and salesLedgerDto.customerContractNo !='' ">
|
AND T1.customer_contract_no LIKE CONCAT('%',#{salesLedgerDto.customerContractNo},'%')
|
</if>
|
<if test="salesLedgerDto.salesContractNo != null and salesLedgerDto.salesContractNo != '' ">
|
AND T1.sales_contract_no LIKE CONCAT('%',#{salesLedgerDto.salesContractNo},'%')
|
</if>
|
<if test="salesLedgerDto.projectName != null and salesLedgerDto.projectName != '' ">
|
AND T1.project_name LIKE CONCAT('%',#{salesLedgerDto.projectName},'%')
|
</if>
|
<if test="salesLedgerDto.schedulingDateStart != null and salesLedgerDto.schedulingDateStart != '' ">
|
AND T2.scheduling_date >= DATE_FORMAT(#{salesLedgerDto.entryDateStart},'%Y-%m-%d')
|
</if>
|
<if test="salesLedgerDto.schedulingDateEnd != null and salesLedgerDto.schedulingDateEnd != '' ">
|
AND T2.scheduling_date <= DATE_FORMAT(#{salesLedgerDto.entryDateEnd},'%Y-%m-%d')
|
</if>
|
</where>
|
order by T2.update_time desc
|
</select>
|
</mapper>
|