|
@@ -83,11 +83,9 @@
|
|
|
|
|
|
<sql id="majorOverdueSql">
|
|
|
SELECT
|
|
|
- mp.id,
|
|
|
DATEDIFF(
|
|
|
CURDATE(),
|
|
|
DATE( mp.repertory_out_time )) AS overdueDay,
|
|
|
- pf.production_should_amount,
|
|
|
m.allot_type,
|
|
|
m.order_id,
|
|
|
m.business_object_type,
|
|
@@ -96,6 +94,7 @@
|
|
|
cc1.NAME AS clientName,
|
|
|
cc2.NAME AS clientSubName,
|
|
|
pf.production_should_amount,
|
|
|
+ of.should_amount,
|
|
|
mp.*
|
|
|
FROM
|
|
|
(
|
|
@@ -112,16 +111,18 @@
|
|
|
major_production mp
|
|
|
WHERE
|
|
|
deleted = 0
|
|
|
- AND repertory_out_time IS NOT NULL
|
|
|
+ AND repertory_out_time IS NOT NULL and production != 'STATEMENT'
|
|
|
) mp
|
|
|
LEFT JOIN ( SELECT business_id, production_no, production_should_amount, real_amount FROM production_fund WHERE business_type = 'MAJOR_BUSINESS' AND deleted = 0 ) pf ON ( mp.major_id = pf.business_id AND mp.report_no = pf.production_no )
|
|
|
+ left join ( SELECT business_id,should_amount FROM order_fund WHERE business_type = 'MAJOR_BUSINESS' AND deleted = 0 ) of ON of.business_id = mp.major_id
|
|
|
LEFT JOIN major m ON m.id = mp.major_id
|
|
|
LEFT JOIN user u ON u.id = m.client_manager_id
|
|
|
LEFT JOIN user u1 ON u1.id = m.principal_id
|
|
|
LEFT JOIN customer_company cc1 ON cc1.id = m.clientele_id
|
|
|
LEFT JOIN customer_company cc2 ON cc2.id = m.clientele_sub_id
|
|
|
WHERE
|
|
|
- ( pf.production_no IS NULL OR pf.real_amount IS NULL )
|
|
|
+ mp.production != 'STATEMENT'
|
|
|
+ AND ( pf.production_no IS NULL OR pf.real_amount IS NULL )
|
|
|
AND DATEDIFF(CURDATE(),DATE( mp.repertory_out_time )) >= #{overdueVO.overdueMin}
|
|
|
<if test="overdueVO!=null and overdueVO.overdueMax!=null">
|
|
|
AND DATEDIFF(CURDATE(),DATE( mp.repertory_out_time )) <= #{overdueVO.overdueMax}
|
|
@@ -144,4 +145,120 @@
|
|
|
<select id="overdueMajorExport" parameterType="com.dayou.vo.MajorProdOverdueVO" resultType="com.dayou.vo.MajorProdOverdueVO">
|
|
|
<include refid="majorOverdueSql" />
|
|
|
</select>
|
|
|
+
|
|
|
+ <select id="majorEvaluatorSettleProd" parameterType="com.dayou.vo.SettleMajorProductionVO" resultType="com.dayou.vo.SettleMajorProductionVO">
|
|
|
+ SELECT
|
|
|
+ mp.id,
|
|
|
+ fc.claim_amount,
|
|
|
+ m.order_id,
|
|
|
+ mp.report_no,
|
|
|
+ fc.claim_datetime as claimDate,
|
|
|
+ mp.save_file_date,
|
|
|
+ IF
|
|
|
+ ( fc.claim_datetime > mp.save_file_date, fc.claim_datetime, mp.save_file_date ) AS settleDate,
|
|
|
+ mp.NAME,
|
|
|
+ m.bailor,
|
|
|
+ mp.evaluate_amount,
|
|
|
+ u.NAME AS principal,
|
|
|
+ u1.NAME AS clientManager,
|
|
|
+ cc.NAME AS clientName,
|
|
|
+ cc1.NAME AS clientSubName,
|
|
|
+ d.NAME AS evaluateDepartmentName,
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ GROUP_CONCAT( NAME )
|
|
|
+ FROM
|
|
|
+ department
|
|
|
+ WHERE
|
|
|
+ id IN (
|
|
|
+ SELECT
|
|
|
+ department_id
|
|
|
+ FROM
|
|
|
+ post
|
|
|
+ WHERE
|
|
|
+ id IN ( SELECT post_id FROM user_post WHERE user_id = m.client_manager_id ))) AS marketDepartmentName
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ claim_amount,
|
|
|
+ order_fund_id,
|
|
|
+ production_fund_id,
|
|
|
+ claim_datetime
|
|
|
+ FROM
|
|
|
+ finance_claim
|
|
|
+ WHERE
|
|
|
+ deleted = 0
|
|
|
+ AND production_fund_id IS NOT NULL
|
|
|
+ AND claim_datetime >= #{settleVO.startDate}
|
|
|
+ AND claim_datetime <= #{settleVO.endDate} UNION ALL SELECT allot_amount AS claim_amount, order_fund_id, production_fund_id, created AS claim_datetime FROM order_fund_allot WHERE deleted = 0
|
|
|
+ AND created >= #{settleVO.startDate}
|
|
|
+ AND created <= #{settleVO.endDate}
|
|
|
+ ) fc
|
|
|
+ INNER JOIN ( SELECT id, order_fund_id, business_id, production_no FROM production_fund WHERE business_type = 'MAJOR_BUSINESS' AND deleted = 0 ) pf ON ( pf.id = fc.production_fund_id AND pf.order_fund_id = fc.order_fund_id )
|
|
|
+ INNER JOIN ( SELECT id, major_id, NAME, report_no, production, evaluate_amount, save_file_date FROM major_production WHERE deleted = 0 AND save_file_date IS NOT NULL ) mp ON mp.report_no = pf.production_no
|
|
|
+ LEFT JOIN major m ON m.id = mp.major_id
|
|
|
+ LEFT JOIN user u ON u.id = m.principal_id
|
|
|
+ LEFT JOIN user u1 ON u1.id = m.client_manager_id
|
|
|
+ LEFT JOIN customer_company cc ON cc.id = m.clientele_id
|
|
|
+ LEFT JOIN customer_company cc1 ON cc1.id = m.clientele_sub_id
|
|
|
+ LEFT JOIN department d ON d.id = m.department_id
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="majorMarketerSettleProd" parameterType="com.dayou.vo.SettleMajorProductionVO" resultType="com.dayou.vo.SettleMajorProductionVO">
|
|
|
+ SELECT
|
|
|
+ mp.id,
|
|
|
+ fc.claim_amount,
|
|
|
+ m.order_id,
|
|
|
+ mp.report_no,
|
|
|
+ fc.claim_datetime,
|
|
|
+ mp.delivery_date,
|
|
|
+ IF
|
|
|
+ ( fc.claim_datetime > mp.delivery_date, fc.claim_datetime, mp.delivery_date ) AS settleDate,
|
|
|
+ mp.NAME,
|
|
|
+ m.bailor,
|
|
|
+ mp.evaluate_amount,
|
|
|
+ u.NAME AS principal,
|
|
|
+ u1.NAME AS clientManager,
|
|
|
+ cc.NAME AS clientName,
|
|
|
+ cc1.NAME AS clientSubName,
|
|
|
+ d.NAME AS evaluateDepartmentName,
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ GROUP_CONCAT( NAME )
|
|
|
+ FROM
|
|
|
+ department
|
|
|
+ WHERE
|
|
|
+ id IN (
|
|
|
+ SELECT
|
|
|
+ department_id
|
|
|
+ FROM
|
|
|
+ post
|
|
|
+ WHERE
|
|
|
+ id IN ( SELECT post_id FROM user_post WHERE user_id = m.client_manager_id ))) AS marketDepartmentName
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ claim_amount,
|
|
|
+ order_fund_id,
|
|
|
+ production_fund_id,
|
|
|
+ claim_datetime
|
|
|
+ FROM
|
|
|
+ finance_claim
|
|
|
+ WHERE
|
|
|
+ deleted = 0
|
|
|
+ AND production_fund_id IS NOT NULL
|
|
|
+ AND claim_datetime >= #{settleVO.startDate}
|
|
|
+ AND claim_datetime <= #{settleVO.endDate} UNION ALL SELECT allot_amount AS claim_amount, order_fund_id, production_fund_id, created AS claim_datetime FROM order_fund_allot WHERE deleted = 0
|
|
|
+ AND created >= #{settleVO.startDate}
|
|
|
+ AND created <= #{settleVO.endDate}
|
|
|
+ ) fc
|
|
|
+ INNER JOIN ( SELECT id, order_fund_id, business_id, production_no FROM production_fund WHERE business_type = 'MAJOR_BUSINESS' AND deleted = 0 ) pf ON ( pf.id = fc.production_fund_id AND pf.order_fund_id = fc.order_fund_id )
|
|
|
+ INNER JOIN ( SELECT id, major_id, NAME, report_no, production, evaluate_amount, delivery_date FROM major_production WHERE deleted = 0 AND delivery_date IS NOT NULL ) mp ON mp.report_no = pf.production_no
|
|
|
+ LEFT JOIN major m ON m.id = mp.major_id
|
|
|
+ LEFT JOIN user u ON u.id = m.principal_id
|
|
|
+ LEFT JOIN user u1 ON u1.id = m.client_manager_id
|
|
|
+ LEFT JOIN customer_company cc ON cc.id = m.clientele_id
|
|
|
+ LEFT JOIN customer_company cc1 ON cc1.id = m.clientele_sub_id
|
|
|
+ LEFT JOIN department d ON d.id = m.department_id
|
|
|
+ </select>
|
|
|
</mapper>
|