InvoiceBillOrderMapper.xml
15.3 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
<?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.order.erp.mapper.order.InvoiceBillOrderMapper">
<!-- <resultMap id="financeOrderResultMap" type="com.order.erp.domain.vo.order.FinanceOrderResultVO">
<!– 映射 OrderBaseInfoVO 的属性 –>
<result property="id" column="id"/>
<!– <result property="invoiceNo" column="invoice_no"/>
<result property="checkNo" column="check_no"/>–>
<result property="customerCode" column="customer_code"/>
<result property="projectNo" column="project_no"/>
<result property="productionDepartment" column="production_department"/>
<result property="innerNo" column="inner_no"/>
<result property="smallPicUrl" column="small_pic_url"/>
<result property="orderCount" column="order_count"/>
<result property="productionDepartmentConsignTime" column="production_department_consign_time"/>
<result property="orderHodTime" column="order_hod_time"/>
<!–发票invoice–>
<!– <association property="invoiceBillOrderDO" javaType="com.order.erp.domain.dto.order.InvoiceBillOrderDO">–>
<result property="id" column="id"/>
<result property="invoiceNo" column="invoice_no"/>
<result property="bgUrl" column="bg_url"/>
<result property="backRefundDate" column="back_refund_date"/>
<result property="deductAmount" column="deduct_amount"/>
<result property="deductUrl" column="deduct_url"/>
<result property="actualReceivableAmount" column="actual_receivable_amount"/>
<result property="actualPayedAmount1" column="actual_payed_amount_1"/>
<result property="actualPayedAmount2" column="actual_payed_amount_2"/>
<result property="actualPayedAmount3" column="actual_payed_amount_3"/>
<result property="otherAmount" column="other_amount"/>
<!–缺少备注字段–>
<result property="status" column="status"/>
<!– </association>–>
<!–生产科对账单–>
<!– <association property="producePaymentCheckBillOrderDO" javaType="com.order.erp.domain.dto.order.ProducePaymentCheckBillOrderDO">–>
<result property="id" column="checkId"/>
<result property="checkNo" column="check_no"/>
<result property="status" column="status"/>
<result property="deductAmount" column="deduct_amount"/>
<result property="deductDept" column="deduct_dept"/>
<result property="departmentInvoiceStatus" column="department_invoice_status"/>
<result property="actualPayedAmount3" column="actual_payed_amount3"/>
<result property="actualPayedAmount2" column="actual_payed_amount2"/>
<result property="actualPayedAmount1" column="actual_payed_amount1"/>
<result property="actualPayedAmount" column="actual_payed_amount"/>
<result property="payedDate" column="payed_date"/>
<!–缺少备注字段–>
<result property="deductUrl" column="deduct_url"/>
<!– </association>–>
<!–利润–>
<!– <association property="profitAnalysisInfo" javaType="com.order.erp.domain.vo.order.OrderProfitAnalysisVO"> –>
<result property="id" column="profitAnalysisId"/>
<result property="customerPrice" column="customer_price"/>
<result property="customerTotalPrice" column="customer_total_price"/>
<result property="productionDepartmentPrice" column="production_department_price"/>
<result property="productionDepartmentTotalPrice" column="production_department_total_price"/>
<!– </association>–>
</resultMap>-->
<select id="byConditionGetOrder" parameterType="com.order.erp.domain.vo.order.InvoiceBillOrderQueryVO" resultType="com.order.erp.domain.vo.order.FinanceOrderResultVO">
SELECT
o.id AS id,
-- o.invoice_no AS invoiceNo, -- 注释字段没有问题
-- o.check_no AS checkNo, -- 注释字段没有问题
o.customer_code AS customerCode, -- 客户编码
o.project_no AS projectNo, -- 项目号
o.production_department AS productionDepartment, -- 生产科
o.inner_no AS innerNo, -- 内部编号
o.small_pic_url AS smallPicUrl, -- 订单图片
o.order_count AS orderCount, -- 数量
o.modele_lo AS modeleLo,
o.production_department_consign_time AS productionDepartmentConsignTime, -- 生产科拖货时间
o.order_hod_time AS orderHodTime, -- hod时间
-- 利润信息
a.id AS profitId, -- 确保表别名 a 是正确的
a.customer_price AS customerPrice, -- 客户单价
a.customer_total_price AS customerTotalPrice, -- 客户总价
a.production_department_price AS productionDepartmentPrice, -- 生产科单价
a.production_department_total_price AS productionDepartmentTotalPrice, -- 生产科总价
-- 发票信息
i.id AS invoiceId,
i.invoice_no AS invoiceNo, -- invoice编号
i.bg_url AS invoiceBgUrl, -- 报关单
i.back_refund_date AS invoiceBackRefundDate, -- 必须回款日期
i.actual_refund_date AS invoiceActualRefundDate, -- 实际回款日期,前端不用获取
i.deduct_url AS invoiceDeductUrl, -- 扣款单
i.actual_receivable_amount AS invoiceActualReceivableAmount, -- 实际应收金额
i.actual_payed_amount1 AS invoiceActualPayedAmount1, -- 实际收款金额1
i.actual_payed_amount2 AS invoiceActualPayedAmount2, -- 实际收款金额2
i.actual_payed_amount3 AS invoiceActualPayedAmount3, -- 实际收款金额3
i.other_amount AS invoiceOtherAmount, -- 其他费用
i.status AS invoiceStatus, -- invoice状态
i.deduct_amount AS invoiceDeductAmount, -- 扣款金额
i.notes AS invoiceNotes, -- invoice备注
-- 生产科付款信息
p.id AS checkId,
p.check_no AS checkNo, -- checkNo编号
p.status AS checkPaystatus, -- checkNo状态
p.deduct_amount AS checkDeductAmount, -- 扣款金额
p.actual_payed_date AS checkActualPayedDate, -- 实际收款时间,前段不用获取
p.deduct_dept AS checkDeductDept, -- 扣款部门
p.department_invoice_status AS checkDepartmentInvoiceStatus, -- 发票状态
p.actual_payed_amount3 AS checkActualPayedAmount3, -- 实际付款金额3
p.actual_payed_amount2 AS checkActualPayedAmount2, -- 实际付款金额2
p.actual_payed_amount1 AS checkActualPayedAmount1, -- 实际付款金额1
p.actual_payed_amount AS checkActualPayedAmount, -- 实际应付金额
p.payed_date AS checkPayedDate, -- 必须付款日期
p.deduct_url AS checkDeductUrl, -- 扣款单
p.notes AS checkNotes, -- checkNo备注
p.invoice_url AS checkInvoiceUrl -- 发票
FROM order_base_info o
LEFT JOIN invoice_bill_order AS i
ON o.id = i.order_id AND i.enable_flag = 10
LEFT JOIN produce_payment_check_bill_order AS p
ON o.id = p.order_id AND p.enable_flag = 10
LEFT JOIN order_profit_analysis AS a
ON o.id = a.order_id AND a.enable_flag = 10
WHERE o.enable_flag = 10
<if test="queryVO.invoiceNo != null and queryVO.invoiceNo != ''">
AND i.invoice_no LIKE CONCAT('%', #{queryVO.invoiceNo}, '%')
</if>
<if test="queryVO.checkNo != null and queryVO.checkNo != ''">
AND p.check_no LIKE CONCAT('%', #{queryVO.checkNo}, '%')
</if>
<if test="queryVO.invoiceStatus != null">
AND o.invoice_status = #{queryVO.invoiceStatus}
</if>
<if test="queryVO.checkNoStatus != null">
AND o.check_status = #{queryVO.checkNoStatus}
</if>
<if test="queryVO.customerCode != null and queryVO.customerCode.size > 0 ">
AND o.customer_code IN
<foreach collection="queryVO.customerCode" item="customerCode" open="(" separator="," close=")">
#{customerCode}
</foreach>
</if>
<if test="queryVO.projectNo != null and queryVO.projectNo.size > 0 ">
AND o.project_no IN
<foreach collection="queryVO.projectNo" item="projectNo" open="(" separator="," close=")">
#{projectNo}
</foreach>
</if>
<if test="queryVO.productionDepartment != null and queryVO.productionDepartment.size > 0 ">
AND o.production_department IN
<foreach collection="queryVO.productionDepartment" item="productionDepartment" open="(" separator="," close=")">
#{productionDepartment}
</foreach>
</if>
<if test="queryVO.innerNo != null and queryVO.innerNo.size > 0 ">
AND o.inner_no IN
<foreach collection="queryVO.innerNo" item="innerNo" open="(" separator="," close=")">
#{innerNo}
</foreach>
</if>
<if test="queryVO.customerPo != null and queryVO.customerPo != ''">
AND o.customer_po = #{queryVO.customerPo}
</if>
<if test="queryVO.invoiceStartTime != null">
AND i.create_time >= #{queryVO.invoiceStartTime}
</if>
<if test="queryVO.invoiceEndTime != null">
AND i.create_time <= #{queryVO.invoiceEndTime}
</if>
<if test="queryVO.checkStartTime != null ">
AND p.create_time >= #{queryVO.checkStartTime}
</if>
<if test="queryVO.checkEndTime != null">
AND p.create_time <= #{queryVO.checkEndTime}
</if>
<if test="queryVO.createStartTime !=null">
AND o.create_time >= #{queryVO.createStartTime}
</if>
<if test="queryVO.createEndTime != null">
AND o.create_time <= #{queryVO.createEndTime}
</if>
<if test="queryVO.productionDepartmentConsignStartTime != null ">
AND o.production_department_consign_time >= #{queryVO.productionDepartmentConsignStartTime}
</if>
<if test="queryVO.productionDepartmentConsignEndTime != null">
AND o.production_department_consign_time <= #{queryVO.productionDepartmentConsignEndTime}
</if>
<if test="queryVO.orderHodStartTime != null ">
AND o.order_hod_time >= #{queryVO.orderHodStartTime}
</if>
<if test="queryVO.orderHodEndTime != null">
AND o.order_hod_time <= #{queryVO.orderHodEndTime}
</if>
<if test="queryVO.trackerUserName != null and queryVO.trackerUserName != ''">
AND o.create_by = #{queryVO.trackerUserName}
</if>
<if test="queryVO.businessUserName != null and queryVO.businessUserName != ''">
AND o.business_person = #{queryVO.businessUserName}
</if>
ORDER BY o.id DESC
</select>
<select id="byQuerygetInvoiceIdAndCheckId" parameterType="com.order.erp.domain.vo.order.InvoiceBillOrderQueryVO" resultType="com.order.erp.domain.vo.order.InvoiceIdAndCheckIdResultVO">
SELECT
o.id AS orderId,
p.id AS checkId,
i.id AS invoiceId
FROM order_base_info o
LEFT JOIN invoice_bill_order AS i
ON o.id = i.order_id AND i.enable_flag = 10
LEFT JOIN produce_payment_check_bill_order AS p
ON o.id = p.order_id AND p.enable_flag = 10
LEFT JOIN order_profit_analysis AS a
ON o.id = a.order_id AND a.enable_flag = 10
WHERE o.enable_flag = 10
<if test="queryVO.invoiceNo != null and queryVO.invoiceNo != ''">
AND i.invoice_no = #{queryVO.invoiceNo}
</if>
<if test="queryVO.checkNo != null and queryVO.checkNo != ''">
AND p.check_no = #{queryVO.checkNo}
</if>
<if test="queryVO.invoiceStatus != null">
AND o.invoice_status = #{queryVO.invoiceStatus}
</if>
<if test="queryVO.checkNoStatus != null">
AND o.check_status = #{queryVO.checkNoStatus}
</if>
<if test="queryVO.customerCode != null and queryVO.customerCode.size > 0 ">
AND o.customer_code IN
<foreach collection="queryVO.customerCode" item="customerCode" open="(" separator="," close=")">
#{customerCode}
</foreach>
</if>
<if test="queryVO.projectNo != null and queryVO.projectNo.size > 0 ">
AND o.project_no IN
<foreach collection="queryVO.projectNo" item="projectNo" open="(" separator="," close=")">
#{projectNo}
</foreach>
</if>
<if test="queryVO.productionDepartment != null and queryVO.productionDepartment.size > 0 ">
AND o.production_department IN
<foreach collection="queryVO.productionDepartment" item="productionDepartment" open="(" separator="," close=")">
#{productionDepartment}
</foreach>
</if>
<if test="queryVO.innerNo != null and queryVO.innerNo.size > 0 ">
AND o.inner_no IN
<foreach collection="queryVO.innerNo" item="innerNo" open="(" separator="," close=")">
#{innerNo}
</foreach>
</if>
<if test="queryVO.customerPo != null and queryVO.customerPo != ''">
AND o.customer_po = #{queryVO.customerPo}
</if>
<if test="queryVO.invoiceStartTime != null">
AND i.create_time >= #{queryVO.invoiceStartTime}
</if>
<if test="queryVO.invoiceEndTime != null">
AND i.create_time <= #{queryVO.invoiceEndTime}
</if>
<if test="queryVO.checkStartTime != null ">
AND p.create_time >= #{queryVO.checkStartTime}
</if>
<if test="queryVO.checkEndTime != null">
AND p.create_time <= #{queryVO.checkEndTime}
</if>
<if test="queryVO.createStartTime !=null">
AND o.create_time >= #{queryVO.createStartTime}
</if>
<if test="queryVO.createEndTime != null">
AND o.create_time <= #{queryVO.createEndTime}
</if>
<if test="queryVO.productionDepartmentConsignStartTime != null ">
AND o.production_department_consign_time >= #{queryVO.productionDepartmentConsignStartTime}
</if>
<if test="queryVO.productionDepartmentConsignEndTime != null">
AND o.production_department_consign_time <= #{queryVO.productionDepartmentConsignEndTime}
</if>
<if test="queryVO.orderHodStartTime != null ">
AND o.order_hod_time >= #{queryVO.orderHodStartTime}
</if>
<if test="queryVO.orderHodEndTime != null">
AND o.order_hod_time <= #{queryVO.orderHodEndTime}
</if>
<if test="queryVO.trackerUserName != null and queryVO.trackerUserName != ''">
AND o.create_by = #{queryVO.trackerUserName}
</if>
<if test="queryVO.businessUserName != null and queryVO.businessUserName != ''">
AND o.business_person = #{queryVO.businessUserName}
</if>
</select>
</mapper>