|
@@ -3,11 +3,15 @@
|
|
<mapper namespace="com.dayou.mapper.MajorStatisticalStatementMapper">
|
|
<mapper namespace="com.dayou.mapper.MajorStatisticalStatementMapper">
|
|
|
|
|
|
<sql id="majorLedgerQuery">
|
|
<sql id="majorLedgerQuery">
|
|
- SELECT (@i := @i + 1) AS id,
|
|
|
|
|
|
+ SELECT (@i := @i + 1) AS id,
|
|
major.order_id AS orderId,
|
|
major.order_id AS orderId,
|
|
pro.id AS productionId,
|
|
pro.id AS productionId,
|
|
pro.report_no AS reportNo,
|
|
pro.report_no AS reportNo,
|
|
- (CASE WHEN pro.production = 'LETTER' THEN '复评函' WHEN pro.production = 'REPORT' THEN '报告' WHEN pro.production = 'STATEMENT' THEN '意见书' ELSE '-' END) AS productionType,
|
|
|
|
|
|
+ (CASE
|
|
|
|
+ WHEN pro.production = 'LETTER' THEN '复评函'
|
|
|
|
+ WHEN pro.production = 'REPORT' THEN '报告'
|
|
|
|
+ WHEN pro.production = 'STATEMENT' THEN '意见书'
|
|
|
|
+ ELSE '-' END) AS productionType,
|
|
department.name AS departmentName,
|
|
department.name AS departmentName,
|
|
major.name AS projectName,
|
|
major.name AS projectName,
|
|
customer.name AS customerName,
|
|
customer.name AS customerName,
|
|
@@ -21,11 +25,11 @@
|
|
major.bailor_address AS bailorAddress,
|
|
major.bailor_address AS bailorAddress,
|
|
major.evaluate_aim AS evaluateAim,
|
|
major.evaluate_aim AS evaluateAim,
|
|
pro.value_timing AS valueTiming,
|
|
pro.value_timing AS valueTiming,
|
|
- GROUP_CONCAT(target.located SEPARATOR ';') AS located,
|
|
|
|
- GROUP_CONCAT(target.land_use SEPARATOR ';') AS landUse,
|
|
|
|
- GROUP_CONCAT(target.build_acreage SEPARATOR ';') AS buildAcreage,
|
|
|
|
- GROUP_CONCAT(target.land_acreage SEPARATOR ';') AS landAcreage,
|
|
|
|
- GROUP_CONCAT(DATE(target.created) SEPARATOR ';') AS reconnaissanceDate,
|
|
|
|
|
|
+ GROUP_CONCAT(COALESCE(letter_target.located, report_target.located, statement_target.located) SEPARATOR ';') AS located,
|
|
|
|
+ GROUP_CONCAT(COALESCE(letter_target.land_use, report_target.land_use, statement_target.land_use) SEPARATOR ';') AS landUse,
|
|
|
|
+ GROUP_CONCAT(COALESCE(letter_target.build_acreage, report_target.build_acreage, statement_target.build_acreage) SEPARATOR ';') AS buildAcreage,
|
|
|
|
+ GROUP_CONCAT(COALESCE(letter_target.land_acreage, report_target.land_acreage, statement_target.land_acreage) SEPARATOR ';') AS landAcreage,
|
|
|
|
+ GROUP_CONCAT(COALESCE(DATE(letter_target.created), DATE(report_target.created), DATE(statement_target.created)) SEPARATOR ';') AS reconnaissanceDate,
|
|
pro.evaluate_price AS evaluatePrice,
|
|
pro.evaluate_price AS evaluatePrice,
|
|
pro.evaluate_amount AS evaluateAmount,
|
|
pro.evaluate_amount AS evaluateAmount,
|
|
fund.real_amount AS productionRealAmount,
|
|
fund.real_amount AS productionRealAmount,
|
|
@@ -38,12 +42,15 @@
|
|
LEFT JOIN major_production AS pro
|
|
LEFT JOIN major_production AS pro
|
|
ON pro.major_id = major.id AND pro.deleted = 0
|
|
ON pro.major_id = major.id AND pro.deleted = 0
|
|
# 连接查询产品对应的评估对象, 不同产品类型连接字段不一样
|
|
# 连接查询产品对应的评估对象, 不同产品类型连接字段不一样
|
|
- LEFT JOIN major_target AS target ON CASE
|
|
|
|
- WHEN pro.production = 'LETTER' THEN pro.report_no = target.letter_no
|
|
|
|
- WHEN pro.production = 'REPORT' THEN pro.report_no = target.report_no
|
|
|
|
- WHEN pro.production = 'STATEMENT' THEN pro.report_no = target.statement_no
|
|
|
|
- ELSE FALSE
|
|
|
|
- END
|
|
|
|
|
|
+ LEFT JOIN major_target AS letter_target
|
|
|
|
+ ON pro.production = 'LETTER'
|
|
|
|
+ AND pro.report_no = letter_target.letter_no
|
|
|
|
+ LEFT JOIN major_target AS report_target
|
|
|
|
+ ON pro.production = 'REPORT'
|
|
|
|
+ AND pro.report_no = report_target.report_no
|
|
|
|
+ LEFT JOIN major_target AS statement_target
|
|
|
|
+ ON pro.production = 'STATEMENT'
|
|
|
|
+ AND pro.report_no = statement_target.statement_no
|
|
LEFT JOIN production_fund AS fund ON fund.production_no = pro.report_no
|
|
LEFT JOIN production_fund AS fund ON fund.production_no = pro.report_no
|
|
LEFT JOIN user AS manager ON manager.id = major.client_manager_id
|
|
LEFT JOIN user AS manager ON manager.id = major.client_manager_id
|
|
LEFT JOIN user AS principal ON principal.id = major.principal_id
|
|
LEFT JOIN user AS principal ON principal.id = major.principal_id
|