|
@@ -0,0 +1,176 @@
|
|
|
+<?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.dayou.mapper.AssetsStatisticalStatementMapper">
|
|
|
+
|
|
|
+ <!--获取资产台账-->
|
|
|
+ <select id="getAssetsLedgerVO" resultType="com.dayou.vo.AssetsLedgerVO">
|
|
|
+ SELECT (@i := @i + 1) AS id,
|
|
|
+ assets.id AS assetsId,
|
|
|
+ assets.order_id AS orderId,
|
|
|
+ statement.production_no AS statementNo,
|
|
|
+ report.production_no AS reportNo,
|
|
|
+ report.production_type AS productionType,
|
|
|
+ report.valuation_basis_date AS valuationBasisDate,
|
|
|
+ report.create_production_date AS createReportDate,
|
|
|
+ COALESCE(report.assets_name, statement.assets_name, assets.name) AS projectName,
|
|
|
+ IFNULL((SELECT node.`name`
|
|
|
+ FROM work_flow_node_instance AS instance,
|
|
|
+ work_node AS node
|
|
|
+ WHERE instance.node_id = node.id
|
|
|
+ AND node.deleted = 0
|
|
|
+ AND instance.deleted = 0
|
|
|
+ AND instance.business_id = assets.id
|
|
|
+ AND (IF(statement.production_no IS NULL, instance.business_sub_id IS NULL,
|
|
|
+ statement.production_no = instance.business_sub_id))
|
|
|
+ AND (IF(report.production_no IS NULL, instance.business_min_id IS NULL,
|
|
|
+ report.production_no = instance.business_min_id))
|
|
|
+ AND (instance.state = 'PENDING' OR
|
|
|
+ (instance.state = 'FINISHED' AND node.`code` = 'BUSINESS_ARCHIVING'))),
|
|
|
+ IF(statement.production_no IS NULL, '撰写意见书', '撰写报告')) AS currentNodeName,
|
|
|
+ assets.security AS security,
|
|
|
+ assets.significant_assets_reorganization AS significantAssetsReorganization,
|
|
|
+ assets.state_assets AS stateAssets,
|
|
|
+ assets.foreign_assets_involved AS foreignAssetsInvolved,
|
|
|
+ assets.dispense_benefit AS dispenseBenefit,
|
|
|
+ manager.name AS clientManagerName,
|
|
|
+ principal.name AS principalName,
|
|
|
+ (SELECT customer_company.name FROM customer_company WHERE customer_company.id = clientele_id) AS customerName,
|
|
|
+ (SELECT customer_company.name FROM customer_company WHERE customer_company.id = clientele_sub_id) AS customerSubName,
|
|
|
+ assets.bailor AS bailor,
|
|
|
+ assets.bailor_contact_tel AS bailorContactTel,
|
|
|
+ GROUP_CONCAT(target.id SEPARATOR ', ') AS targetId,
|
|
|
+ GROUP_CONCAT(target.purpose_name SEPARATOR ', ') AS purposeName,
|
|
|
+ GROUP_CONCAT(target.type_name SEPARATOR ', ') AS valueTypeName,
|
|
|
+ GROUP_CONCAT(target.targetTypename SEPARATOR ', ') AS targetTypename,
|
|
|
+ GROUP_CONCAT(target.secTargetTypaName SEPARATOR ', ') AS secTargetTypaName,
|
|
|
+ GROUP_CONCAT(target.evaluation_method_id SEPARATOR ', ') AS evaluationMethodId,
|
|
|
+ GROUP_CONCAT(target.defined_evaluation_method SEPARATOR ', ') AS definedEvaluationMethod,
|
|
|
+ GROUP_CONCAT(target.choice_evaluation_method_id SEPARATOR ', ') AS choiceEvaluationMethodId,
|
|
|
+ GROUP_CONCAT(target.choice_defined_evaluation_method SEPARATOR ', ') AS choiceDefinedEvaluationMethod,
|
|
|
+ GROUP_CONCAT(target.estimated_value SEPARATOR ', ') AS estimatedValue,
|
|
|
+ fund.should_amount AS shouldAmount,
|
|
|
+ fund.real_amount AS realAmount,
|
|
|
+ report.signatory AS signatory,
|
|
|
+ report.repertory_out_time AS repertoryOutTime,
|
|
|
+ (
|
|
|
+ SELECT user.name
|
|
|
+ FROM work_flow_node_instance AS instance,
|
|
|
+ work_task_record AS record,
|
|
|
+ work_node AS node,
|
|
|
+ user
|
|
|
+ WHERE instance.id = record.instance_id
|
|
|
+ AND record.handler_id = user.id
|
|
|
+ AND node.id = instance.node_id
|
|
|
+ AND instance.business_id = assets.id
|
|
|
+ AND instance.business_sub_id = statement.production_no
|
|
|
+ AND node.code = 'REVIEW_STATEMENT'
|
|
|
+ AND instance.deleted = 0
|
|
|
+ ) AS statementCheckerName,
|
|
|
+ (
|
|
|
+ SELECT user.name
|
|
|
+ FROM work_flow_node_instance AS instance,
|
|
|
+ work_task_record AS record,
|
|
|
+ work_node AS node,
|
|
|
+ user
|
|
|
+ WHERE instance.id = record.instance_id
|
|
|
+ AND record.handler_id = user.id
|
|
|
+ AND node.id = instance.node_id
|
|
|
+ AND instance.business_id = assets.id
|
|
|
+ AND instance.business_sub_id = statement.production_no
|
|
|
+ AND node.code = 'REEXAMINE_STATEMENT'
|
|
|
+ AND instance.deleted = 0
|
|
|
+ ) AS statementReCheckerName,
|
|
|
+ (
|
|
|
+ SELECT user.name
|
|
|
+ FROM work_flow_node_instance AS instance,
|
|
|
+ work_task_record AS record,
|
|
|
+ work_node AS node,
|
|
|
+ user
|
|
|
+ WHERE instance.id = record.instance_id
|
|
|
+ AND record.handler_id = user.id
|
|
|
+ AND node.id = instance.node_id
|
|
|
+ AND instance.business_id = assets.id
|
|
|
+ AND instance.business_min_id = report.production_no
|
|
|
+ AND node.code = 'CHECK_REPORT'
|
|
|
+ AND instance.deleted = 0
|
|
|
+ ) AS reportCheckerName,
|
|
|
+ (
|
|
|
+ SELECT user.name
|
|
|
+ FROM work_flow_node_instance AS instance,
|
|
|
+ work_task_record AS record,
|
|
|
+ work_node AS node,
|
|
|
+ user
|
|
|
+ WHERE instance.id = record.instance_id
|
|
|
+ AND record.handler_id = user.id
|
|
|
+ AND node.id = instance.node_id
|
|
|
+ AND instance.business_id = assets.id
|
|
|
+ AND instance.business_min_id = report.production_no
|
|
|
+ AND node.code = 'RECHECK_REPORT'
|
|
|
+ AND instance.deleted = 0
|
|
|
+ ) AS reportReCheckerName,
|
|
|
+ (
|
|
|
+ SELECT user.name
|
|
|
+ FROM work_flow_node_instance AS instance,
|
|
|
+ work_task_record AS record,
|
|
|
+ work_node AS node,
|
|
|
+ user
|
|
|
+ WHERE instance.id = record.instance_id
|
|
|
+ AND record.handler_id = user.id
|
|
|
+ AND node.id = instance.node_id
|
|
|
+ AND instance.business_id = assets.id
|
|
|
+ AND instance.business_min_id = report.production_no
|
|
|
+ AND node.code = 'FOURTH_CHECK_REPORT'
|
|
|
+ ) AS reportFourthCheckerName
|
|
|
+ FROM (SELECT @i := 0) AS sort,assets
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT target.id,
|
|
|
+ target.assets_id,
|
|
|
+ purpose_name,
|
|
|
+ vType.type_name,
|
|
|
+ evaluation_method_id,
|
|
|
+ defined_evaluation_method,
|
|
|
+ choice_evaluation_method_id,
|
|
|
+ choice_defined_evaluation_method,
|
|
|
+ type.type_name AS targetTypename,
|
|
|
+ secType.type_name AS secTargetTypaName,
|
|
|
+ estimated_value,
|
|
|
+ statement_no,
|
|
|
+ report_no
|
|
|
+ FROM assets_evaluation_target AS target
|
|
|
+ LEFT JOIN assets_evaluation_target_purpose AS purpose ON evaluation_purpose_id = purpose.id
|
|
|
+ LEFT JOIN assets_evaluation_target_type AS type ON evaluation_type_id = type.id
|
|
|
+ LEFT JOIN assets_evaluation_target_type AS secType ON evaluation_type_sec_id = type.id
|
|
|
+ LEFT JOIN assets_value_type AS vType ON assets_value_id = vType.id
|
|
|
+ ) AS target ON assets.id = target.assets_id
|
|
|
+ LEFT JOIN assets_production AS report ON report_no = report.production_no
|
|
|
+ LEFT JOIN assets_production AS statement ON statement_no = statement.production_no
|
|
|
+ LEFT JOIN user AS manager ON manager.id = assets.client_manager_id
|
|
|
+ LEFT JOIN user AS principal ON principal.id = assets.principal_id
|
|
|
+ LEFT JOIN order_fund AS fund ON fund.business_id = assets.id AND fund.business_type = 'ASSET_BUSINESS'
|
|
|
+ WHERE assets.deleted = 0
|
|
|
+ <if test="dto != null and dto.keyWord != null and dto.keyWord != '' ">
|
|
|
+ AND (
|
|
|
+ assets.order_id LIKE CONCAT('%',#{dto.keyWord},'%') OR
|
|
|
+ statement.assets_name LIKE CONCAT('%',#{dto.keyWord},'%') OR
|
|
|
+ report.assets_name LIKE CONCAT('%',#{dto.keyWord},'%')
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ <if test="dto != null and dto.clientManagerId">
|
|
|
+ AND assets.client_manager_id = #{dto.clientManagerId}
|
|
|
+ </if>
|
|
|
+ <if test="dto != null and dto.principalId">
|
|
|
+ AND assets.principal_id = #{dto.principalId}
|
|
|
+ </if>
|
|
|
+ <if test="dto != null and dto.departmentId">
|
|
|
+ AND assets.principal_id = #{dto.departmentId}
|
|
|
+ </if>
|
|
|
+ <if test="dto != null and dto.startTime != null and dto.endTime!= null">
|
|
|
+ AND (assets.created BETWEEN #{dto.startTime} AND #{dto.endTime})
|
|
|
+ </if>
|
|
|
+ <if test="dto != null and dto.assetsBusinessGener">
|
|
|
+ AND assets.assets_business_gener = #{dto.assetsBusinessGener}
|
|
|
+ </if>
|
|
|
+ GROUP BY statementNo,
|
|
|
+ reportNo
|
|
|
+ </select>
|
|
|
+</mapper>
|