ProcurementContractMapper.xml
4.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?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.lframework.xingyun.sc.procurement.mappers.contract.ProcurementContractMapper">
<resultMap id="ProcurementContractResult" type="com.lframework.xingyun.sc.procurement.entity.contract.ProcurementContract">
<id column="id" property="id"/>
<result column="procurement_plan_id" property="procurementPlanId"/>
<result column="procurement_plan_code" property="procurementPlanCode"/>
<result column="supplier_id" property="supplierId"/>
<result column="supplier_name" property="supplierName"/>
<result column="company_short_id" property="companyShortId"/>
<result column="company_full_name" property="companyFullName"/>
<result column="sign_place" property="signPlace"/>
<result column="sign_time" property="signTime"/>
<result column="delivery_time" property="deliveryTime"/>
<result column="settlement_ratio" property="settlementRatio"/>
<result column="total_quantity" property="totalQuantity"/>
<result column="total_excluding_tax_amount" property="totalExcludingTaxAmount"/>
<result column="total_tax_amount" property="totalTaxAmount"/>
<result column="total_amount" property="totalAmount"/>
<result column="special_agreement" property="specialAgreement"/>
<result column="attachment_file_ids" property="attachmentFileIds"/>
<result column="attachment_file_names" property="attachmentFileNames"/>
<result column="approval_status" property="approvalStatus"/>
<result column="originator_id" property="originatorId"/>
<result column="originator_name" property="originatorName"/>
<result column="deleted" property="deleted"/>
<result column="create_by_id" property="createById"/>
<result column="create_by" property="createBy"/>
<result column="update_by_id" property="updateById"/>
<result column="update_by" property="updateBy"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="PC_sql">
SELECT
pc.id,
pc.procurement_plan_id,
pc.procurement_plan_code,
pc.supplier_id,
pdcc.unit_name AS supplier_name,
pc.company_short_id,
bdcs.company_name AS company_full_name,
pc.sign_place,
pc.sign_time,
pc.delivery_time,
pc.settlement_ratio,
pc.total_quantity,
pc.total_excluding_tax_amount,
pc.total_tax_amount,
pc.total_amount,
pc.special_agreement,
pc.attachment_file_ids,
pc.attachment_file_names,
pc.approval_status,
pc.originator_id,
pc.originator_name,
pc.deleted,
pc.create_by_id,
pc.create_by,
pc.update_by_id,
pc.update_by,
pc.create_time,
pc.update_time
FROM procurement_contract AS pc
LEFT JOIN procurement_domestic_customer_credit pdcc ON pdcc.id = pc.supplier_id
LEFT JOIN base_data_company_short bdcs ON bdcs.id = pc.company_short_id
</sql>
<select id="query" resultMap="ProcurementContractResult">
<include refid="PC_sql"/>
<where>
pc.deleted = 0
<if test="vo.procurementPlanCode != null and vo.procurementPlanCode != ''">
AND pc.procurement_plan_code LIKE CONCAT('%', #{vo.procurementPlanCode}, '%')
</if>
<if test="vo.supplierName != null and vo.supplierName != ''">
AND pdcc.unit_name LIKE CONCAT('%', #{vo.supplierName}, '%')
</if>
<if test="vo.companyFullName != null and vo.companyFullName != ''">
AND bdcs.company_name LIKE CONCAT('%', #{vo.companyFullName}, '%')
</if>
<if test="vo.approvalStatus != null and vo.approvalStatus != ''">
AND pc.approval_status = #{vo.approvalStatus}
</if>
<if test="vo.startSignTime != null">
AND pc.sign_time <![CDATA[ >= ]]> #{vo.startSignTime}
</if>
<if test="vo.endSignTime != null">
AND pc.sign_time <![CDATA[ <= ]]> #{vo.endSignTime}
</if>
<if test="vo.startDeliveryTime != null">
AND pc.delivery_time <![CDATA[ >= ]]> #{vo.startDeliveryTime}
</if>
<if test="vo.endDeliveryTime != null">
AND pc.delivery_time <![CDATA[ <= ]]> #{vo.endDeliveryTime}
</if>
</where>
ORDER BY pc.create_time DESC
</select>
<select id="findById" resultMap="ProcurementContractResult">
<include refid="PC_sql"/>
WHERE pc.id = #{id} AND pc.deleted = 0
</select>
</mapper>