AssetsMapper.xml 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.dayou.mapper.AssetsMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.dayou.entity.Assets">
  6. <result column="id" property="id"/>
  7. <result column="deleted" property="deleted"/>
  8. <result column="created" property="created"/>
  9. <result column="modified" property="modified"/>
  10. <result column="name" property="name"/>
  11. <result column="order_id" property="orderId"/>
  12. <result column="financial" property="financial"/>
  13. <result column="allot_type" property="allotType"/>
  14. <result column="client_manager_id" property="clientManagerId"/>
  15. <result column="principal_id" property="principalId"/>
  16. <result column="department_id" property="departmentId"/>
  17. <result column="assets_business_gener" property="assetsBusinessGener"/>
  18. <result column="entrust_again" property="entrustAgain"/>
  19. <result column="clientele_type" property="clienteleType"/>
  20. <result column="clientele_id" property="clienteleId"/>
  21. <result column="clientele_sub_id" property="clienteleSubId"/>
  22. <result column="clientele_contact_id" property="clienteleContactId"/>
  23. <result column="security" property="security"/>
  24. <result column="significant_assets_reorganization" property="significantAssetsReorganization"/>
  25. <result column="state_assets" property="stateAssets"/>
  26. <result column="foreign_assets_involved" property="foreignAssetsInvolved"/>
  27. <result column="dispense_benefit" property="dispenseBenefit"/>
  28. <result column="bailor" property="bailor"/>
  29. <result column="bailor_address" property="bailorAddress"/>
  30. <result column="bailor_contact_name" property="bailorContactName"/>
  31. <result column="bailor_contact_tel" property="bailorContactTel"/>
  32. <result column="terminal_clientele_id" property="terminalClienteleId"/>
  33. <result column="terminal_clientele_type" property="terminalClienteleType"/>
  34. <result column="terminal_clientele_contact_id" property="terminalClienteleContactId"/>
  35. <result column="members" property="members"/>
  36. <result column="remark" property="remark"/>
  37. </resultMap>
  38. <!-- 通用查询结果列 -->
  39. <sql id="Base_Column_List">
  40. id,
  41. deleted,
  42. created,
  43. modified,
  44. name, order_id, financial, allot_type, client_manager_id, principal_id, department_id, assets_business_gener, entrust_again, clientele_type, clientele_id, clientele_sub_id, clientele_contact_id, security, significant_assets_reorganization, state_assets, foreign_assets_involved, dispense_benefit, bailor, bailor_address, bailor_contact_name, bailor_contact_tel, terminal_clientele_id, terminal_clientele_type, terminal_clientele_contact_id, members, remark
  45. </sql>
  46. <!--条件查询资产任务列表-->
  47. <select id="selectPage" resultType="com.dayou.vo.AssetsVO">
  48. SELECT (@i := @i + 1) AS id,
  49. assets.id AS assetsId,
  50. assets.name,
  51. order_id,
  52. assets_business_gener,
  53. allot_type,
  54. (SELECT production_no FROM assets_production WHERE assets_production.production_no = nodeInfo.business_sub_id) AS statementNo,
  55. (SELECT production_no FROM assets_production WHERE assets_production.production_no = nodeInfo.business_min_id) AS reportNo,
  56. (SELECT production_type FROM assets_production WHERE assets_production.production_no = nodeInfo.business_sub_id) AS productionType,
  57. clientele_id,
  58. customer.name AS customerName,
  59. bailor,
  60. bailor_contact_tel,
  61. assets.created,
  62. #查询客户经理
  63. (SELECT name FROM user WHERE id = assets.client_manager_id) AS clientManagerName,
  64. #查询项目负责人
  65. (SELECT name FROM user WHERE id = assets.principal_id) AS principalName,
  66. #查询业务来源(即子级客户)
  67. (SELECT customer_company.name FROM customer_company WHERE customer_company.id = clientele_sub_id) AS customerSubName,
  68. nodeInfo.businessId,
  69. nodeInfo.currentNodeName,
  70. nodeInfo.currentNodeCode,
  71. nodeInfo.handlerName,
  72. nodeInfo.currentNodeId,
  73. nodeInfo.recordId,
  74. nodeInfo.handlerId
  75. FROM (SELECT @i := 0) AS sort,assets
  76. LEFT JOIN user ON user.id = assets.principal_id
  77. LEFT JOIN customer_company AS customer ON customer.id = assets.clientele_id
  78. #查询当前进行的节点信息(并使用左连接)
  79. LEFT JOIN (SELECT nodeInstance.id AS currentNodeId,
  80. user.name AS handlerName,
  81. node.name AS currentNodeName,
  82. node.code AS currentNodeCode,
  83. nodeInstance.business_id AS businessId,
  84. nodeInstance.business_sub_id,
  85. nodeInstance.business_min_id,
  86. record.id AS recordId,
  87. record.handler_id AS handlerId
  88. FROM work_flow_node_instance AS nodeInstance,
  89. work_task_record AS record,
  90. user,
  91. work_node AS node
  92. WHERE state = 'PENDING'
  93. AND nodeInstance.node_id = node.id
  94. AND record.handler_id = user.id
  95. AND nodeInstance.deleted = 0
  96. AND record.instance_id = nodeInstance.id
  97. AND nodeInstance.business_type = 'ASSET_BUSINESS'
  98. ) AS nodeInfo ON nodeInfo.businessId = assets.id
  99. WHERE assets.deleted = 0
  100. #评估业务类别(业务类型)查询
  101. <if test="assetsSelectDTO != null and assetsSelectDTO.assetsBusinessGener != null and assetsSelectDTO.assetsBusinessGener != '' ">
  102. AND assets.assets_business_gener = #{assetsSelectDTO.assetsBusinessGener}
  103. </if>
  104. #项目负责人查询
  105. <if test="assetsSelectDTO != null and assetsSelectDTO.principalId != null">
  106. AND assets.principal_id = #{assetsSelectDTO.principalId}
  107. </if>
  108. #客户经理查询
  109. <if test="assetsSelectDTO != null and assetsSelectDTO.clientManagerId != null">
  110. AND assets.client_manager_id = #{assetsSelectDTO.clientManagerId}
  111. </if>
  112. #关键字模糊查询
  113. <if test="assetsSelectDTO != null and assetsSelectDTO.keyWord != null and assetsSelectDTO.keyWord != '' ">
  114. AND (
  115. assets.order_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  116. assets.name LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  117. nodeInfo.business_sub_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  118. nodeInfo.business_min_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  119. customer.name LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%')
  120. )
  121. </if>
  122. # 根据处理节点查询(节点code)
  123. <if test="assetsSelectDTO != null and assetsSelectDTO.nodeCode != null and assetsSelectDTO.nodeCode != '' ">
  124. AND nodeInfo.currentNodeCode = #{assetsSelectDTO.nodeCode}
  125. </if>
  126. <if test="assetsSelectDTO != null and assetsSelectDTO.handlerId != null ">
  127. AND nodeInfo.handlerId = #{assetsSelectDTO.handlerId}
  128. </if>
  129. ORDER BY assets.created DESC
  130. </select>
  131. <!--条件查询我的资产任务订单列表-->
  132. <select id="selectMyOrderPage" resultType="com.dayou.vo.AssetsVO">
  133. SELECT (@i := @i + 1) AS id,
  134. assets.id AS assetsId,
  135. assets.name,
  136. assets.order_id,
  137. assets_business_gener,
  138. allot_type,
  139. (SELECT production_no FROM assets_production WHERE assets_production.production_no = nodeInfo.business_sub_id) AS statementNo,
  140. (SELECT production_type FROM assets_production WHERE assets_production.production_no = nodeInfo.business_sub_id) AS productionType,
  141. reportInfo.production_no AS reportNo,
  142. reportInfo.repertory_state AS reportRepertoryState,
  143. reportInfo.delivery AS reportDelivery,
  144. clientele_id,
  145. customer.name AS customerName,
  146. bailor,
  147. bailor_contact_name,
  148. bailor_contact_tel,
  149. assets.created,
  150. ( SELECT SUM(estimated_value) FROM assets_evaluation_target WHERE assets_evaluation_target.assets_id = assets.id ) AS estimated_value,
  151. fund.id AS orderFundId,
  152. fund.should_amount,
  153. fund.real_amount,
  154. fund.discount,
  155. pFund.id AS productionFundId,
  156. pFund.standard_amount,
  157. pFund.production_should_amount,
  158. pFund.real_amount AS productionRealAmount,
  159. invoice.real_amount AS invoiceRealAmount,
  160. #查询客户经理
  161. (SELECT name FROM user WHERE id = assets.client_manager_id) AS clientManagerName,
  162. #查询项目负责人
  163. (SELECT name FROM user WHERE id = assets.principal_id) AS principalName,
  164. #查询业务来源(即子级客户)
  165. (SELECT customer_company.name FROM customer_company WHERE customer_company.id = clientele_sub_id) AS customerSubName,
  166. nodeInfo.businessId,
  167. nodeInfo.currentNodeName,
  168. nodeInfo.currentNodeCode,
  169. nodeInfo.handlerName,
  170. nodeInfo.recordId,
  171. nodeInfo.currentNodeId,
  172. nodeInfo.handlerId
  173. FROM (SELECT @i := 0) AS sort,assets
  174. LEFT JOIN user ON user.id = assets.principal_id
  175. LEFT JOIN customer_company AS customer ON customer.id = assets.clientele_id
  176. LEFT JOIN order_fund AS fund ON fund.business_id = assets.id AND business_type = 'ASSET_BUSINESS'
  177. LEFT JOIN finance_invoice AS invoice ON invoice.order_fund_id = fund.id
  178. #查询当前进行的节点信息
  179. LEFT JOIN (SELECT nodeInstance.id AS currentNodeId,
  180. user.name AS handlerName,
  181. node.name AS currentNodeName,
  182. node.code AS currentNodeCode,
  183. nodeInstance.business_id AS businessId,
  184. nodeInstance.business_sub_id,
  185. nodeInstance.business_min_id,
  186. record.id AS recordId,
  187. record.handler_id AS handlerId
  188. FROM work_flow_node_instance AS nodeInstance,
  189. work_task_record AS record,
  190. user,
  191. work_node AS node
  192. WHERE state = 'PENDING'
  193. AND nodeInstance.node_id = node.id
  194. AND record.handler_id = user.id
  195. AND nodeInstance.deleted = 0
  196. AND record.instance_id = nodeInstance.id
  197. AND nodeInstance.business_type = 'ASSET_BUSINESS'
  198. ) AS nodeInfo ON nodeInfo.businessId = assets.id
  199. LEFT JOIN production_fund AS pFund ON pFund.order_fund_id = fund.id AND pFund.production_no = nodeInfo.business_min_id
  200. LEFT JOIN(SELECT production_no,repertory_state,production_type,delivery FROM assets_production) AS reportInfo ON reportInfo.production_no = nodeInfo.business_min_id
  201. WHERE assets.deleted = 0
  202. AND assets.client_manager_id = #{assetsSelectDTO.clientManagerId}
  203. #送达状态查询
  204. <if test="assetsSelectDTO != null and assetsSelectDTO.delivery != null">
  205. AND production.delivery = #{assetsSelectDTO.delivery}
  206. </if>
  207. #项目负责人查询
  208. <if test="assetsSelectDTO != null and assetsSelectDTO.principalId != null">
  209. AND assets.principal_id = #{assetsSelectDTO.principalId}
  210. </if>
  211. #关键字模糊查询
  212. <if test="assetsSelectDTO != null and assetsSelectDTO.keyWord != null and assetsSelectDTO.keyWord != '' ">
  213. AND (
  214. assets.order_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  215. assets.name LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  216. nodeInfo.business_sub_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  217. nodeInfo.business_min_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  218. customer.name LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%')
  219. )
  220. </if>
  221. ORDER BY assets.created DESC
  222. </select>
  223. <!--条件查询资产已归档列表-->
  224. <select id="selectArchivedPage" resultType="com.dayou.vo.AssetsVO">
  225. SELECT (@i := @i + 1) AS id,
  226. assets.id AS assetsId,
  227. assets.name,
  228. assets.order_id,
  229. assets_business_gener,
  230. allot_type,
  231. (SELECT production_no FROM assets_production WHERE assets_production.production_no = nodeInfo.business_sub_id) AS statementNo,
  232. (SELECT production_no FROM assets_production WHERE assets_production.production_no = nodeInfo.business_min_id) AS reportNo,
  233. (SELECT production_type FROM assets_production WHERE assets_production.production_no = nodeInfo.business_sub_id) AS productionType,
  234. clientele_id,
  235. customer.name AS customerName,
  236. bailor,
  237. bailor_contact_name,
  238. bailor_contact_tel,
  239. assets.created,
  240. ( SELECT SUM(estimated_value) FROM assets_evaluation_target WHERE assets_evaluation_target.assets_id = assets.id ) AS estimated_value,
  241. fund.id AS orderFundId,
  242. fund.should_amount,
  243. fund.real_amount,
  244. fund.discount,
  245. pFund.standard_amount,
  246. invoice.real_amount AS invoiceRealAmount,
  247. #查询客户经理
  248. (SELECT name FROM user WHERE id = assets.client_manager_id) AS clientManagerName,
  249. #查询项目负责人
  250. (SELECT name FROM user WHERE id = assets.principal_id) AS principalName,
  251. #查询业务来源(即子级客户)
  252. (SELECT customer_company.name FROM customer_company WHERE customer_company.id = clientele_sub_id) AS customerSubName,
  253. nodeInfo.businessId,
  254. nodeInfo.currentNodeName,
  255. nodeInfo.currentNodeCode,
  256. nodeInfo.handlerName,
  257. nodeInfo.recordId,
  258. nodeInfo.currentNodeId,
  259. nodeInfo.handlerId
  260. FROM (SELECT @i := 0) AS sort,assets
  261. LEFT JOIN user ON user.id = assets.principal_id
  262. LEFT JOIN customer_company AS customer ON customer.id = assets.clientele_id
  263. LEFT JOIN order_fund AS fund ON fund.business_id = assets.id AND business_type = 'ASSET_BUSINESS'
  264. LEFT JOIN production_fund AS pFund ON pFund.business_id = assets.id
  265. LEFT JOIN finance_invoice AS invoice ON pFund.order_fund_id = fund.id
  266. #查询当前进行的节点信息
  267. LEFT JOIN (SELECT nodeInstance.id AS currentNodeId,
  268. user.name AS handlerName,
  269. node.name AS currentNodeName,
  270. node.code AS currentNodeCode,
  271. nodeInstance.business_id AS businessId,
  272. nodeInstance.business_sub_id,
  273. nodeInstance.business_min_id,
  274. record.id AS recordId,
  275. record.handler_id AS handlerId
  276. FROM work_flow_node_instance AS nodeInstance,
  277. work_task_record AS record,
  278. user,
  279. work_node AS node
  280. WHERE state = 'FINISHED'
  281. AND nodeInstance.node_id = node.id
  282. AND record.handler_id = user.id
  283. AND nodeInstance.deleted = 0
  284. AND record.instance_id = nodeInstance.id
  285. ) AS nodeInfo ON nodeInfo.businessId = assets.id
  286. WHERE assets.deleted = 0
  287. AND nodeInfo.currentNodeCode = 'BUSINESS_ARCHIVING'
  288. #评估业务类别(业务类型)查询
  289. <if test="assetsSelectDTO != null and assetsSelectDTO.assetsBusinessGener != null and assetsSelectDTO.assetsBusinessGener != '' ">
  290. AND assets.assets_business_gener = #{assetsSelectDTO.assetsBusinessGener}
  291. </if>
  292. #项目负责人查询
  293. <if test="assetsSelectDTO != null and assetsSelectDTO.principalId != null">
  294. AND assets.principal_id = #{assetsSelectDTO.principalId}
  295. </if>
  296. #客户经理查询
  297. <if test="assetsSelectDTO != null and assetsSelectDTO.clientManagerId != null">
  298. AND assets.client_manager_id = #{assetsSelectDTO.clientManagerId}
  299. </if>
  300. #关键字模糊查询
  301. <if test="assetsSelectDTO != null and assetsSelectDTO.keyWord != null and assetsSelectDTO.keyWord != '' ">
  302. AND (
  303. assets.order_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  304. assets.name LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  305. nodeInfo.business_sub_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  306. nodeInfo.business_min_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  307. customer.name LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%')
  308. )
  309. </if>
  310. # 根据处理节点查询(节点code)
  311. <if test="assetsSelectDTO != null and assetsSelectDTO.nodeCode != null and assetsSelectDTO.nodeCode != '' ">
  312. AND nodeInfo.currentNodeCode = #{assetsSelectDTO.nodeCode}
  313. </if>
  314. <if test="assetsSelectDTO != null and assetsSelectDTO.handlerId != null ">
  315. AND nodeInfo.handlerId = #{assetsSelectDTO.handlerId}
  316. </if>
  317. ORDER BY assets.created DESC
  318. </select>
  319. <!--条件查询资产已终止列表-->
  320. <select id="selectTerminatedPage" resultType="com.dayou.vo.AssetsVO">
  321. SELECT (@i := @i + 1) AS id,
  322. assets.id AS assetsId,
  323. assets.name,
  324. assets.order_id,
  325. assets_business_gener,
  326. allot_type,
  327. (SELECT production_no
  328. FROM assets_production
  329. WHERE assets_production.production_no = nodeInfo.business_sub_id) AS statementNo,
  330. (SELECT production_no
  331. FROM assets_production
  332. WHERE assets_production.production_no = nodeInfo.business_min_id) AS reportNo,
  333. clientele_id,
  334. customer.name AS customerName,
  335. bailor,
  336. bailor_contact_name,
  337. bailor_contact_tel,
  338. assets.created,
  339. #查询客户经理
  340. (SELECT name FROM user WHERE id = assets.client_manager_id) AS clientManagerName,
  341. #查询项目负责人
  342. (SELECT name FROM user WHERE id = assets.principal_id) AS principalName,
  343. #查询业务来源(即子级客户)
  344. (SELECT customer_company.name
  345. FROM customer_company
  346. WHERE customer_company.id = clientele_sub_id) AS customerSubName,
  347. nodeInfo.businessId,
  348. nodeInfo.comment
  349. FROM (SELECT @i := 0) AS sort,
  350. assets
  351. LEFT JOIN user ON user.id = assets.principal_id
  352. LEFT JOIN customer_company AS customer ON customer.id = assets.clientele_id
  353. #查询当前进行的节点信息
  354. RIGHT JOIN (SELECT nodeInstance.id AS currentNodeId,
  355. nodeInstance.business_id AS businessId,
  356. nodeInstance.business_sub_id,
  357. nodeInstance.business_min_id,
  358. nodeInstance.state AS state,
  359. record.id AS recordId,
  360. nodeInstance.comment AS comment
  361. FROM work_flow_node_instance AS nodeInstance,
  362. work_task_record AS record,
  363. user,
  364. work_node AS node
  365. WHERE nodeInstance.state = 'CLOSED'
  366. AND nodeInstance.node_id = node.id
  367. AND record.handler_id = user.id
  368. AND nodeInstance.deleted = 0
  369. AND record.instance_id = nodeInstance.id
  370. AND business_type = 'ASSET_BUSINESS') AS nodeInfo ON nodeInfo.businessId = assets.id
  371. WHERE assets.deleted = 0
  372. AND #{assetsSelectDTO.handlerId} IN (SELECT record.handler_id
  373. FROM work_flow_node_instance AS nodeInstance,
  374. work_task_record AS record
  375. WHERE business_id = assets.id
  376. AND record.instance_id = nodeInstance.id)
  377. <if test="assetsSelectDTO != null and assetsSelectDTO.assetsBusinessGener != null and assetsSelectDTO.assetsBusinessGener != '' ">
  378. AND assets.assets_business_gener = #{assetsSelectDTO.assetsBusinessGener}
  379. </if>
  380. <if test="assetsSelectDTO != null and assetsSelectDTO.principalId != null">
  381. AND assets.principal_id = #{assetsSelectDTO.principalId}
  382. </if>
  383. <if test="assetsSelectDTO != null and assetsSelectDTO.clientManagerId != null">
  384. AND assets.client_manager_id = #{assetsSelectDTO.clientManagerId}
  385. </if>
  386. <if test="assetsSelectDTO != null and assetsSelectDTO.keyWord != null and assetsSelectDTO.keyWord != '' ">
  387. AND (
  388. assets.order_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  389. assets.name LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  390. nodeInfo.business_sub_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  391. nodeInfo.business_min_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  392. customer.name LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%')
  393. )
  394. </if>
  395. ORDER BY assets.created DESC
  396. </select>
  397. <!--条件查询资产入库统计列表(分页查询)-->
  398. <select id="selectRepertoryPage" resultType="com.dayou.vo.AssetsRepertoryVo">
  399. SELECT (@i := @i + 1) AS id,
  400. assets.order_id AS orderId,
  401. production.production_no AS reportNo,
  402. name AS orderName,
  403. purpose.purpose_name AS purposeName,
  404. method.method_name AS methodName,
  405. (SELECT instance.created
  406. FROM work_flow_node_instance AS instance,
  407. work_node AS node
  408. WHERE instance.business_id = assets.id
  409. AND instance.node_id = node.id
  410. AND instance.deleted = 0
  411. AND node.code = 'SPOT_RECONNAISSANCE_DETERMINE_PRICE') AS startTime,
  412. (SELECT instance.created
  413. FROM work_flow_node_instance AS instance,
  414. work_node AS node
  415. WHERE business_min_id = reportNo
  416. AND instance.node_id = node.id
  417. AND instance.deleted = 0
  418. AND node.code = 'REPORT_OUT') AS endTime,
  419. production.valuation_basis_date AS valuationBasisDate,
  420. production.evaluate_amount AS evaluateAmount,
  421. production.evaluate_price AS evaluatePrice,
  422. assets.bailor,
  423. assets.bailor_contact_tel AS bailorContactTel,
  424. (SELECT user.name FROM user WHERE user.id = assets.principal_id) AS principalName,
  425. (SELECT user.name FROM user WHERE user.id = assets.principal_id) AS firstReporter,
  426. (SELECT user.name FROM user WHERE user.id = assets.client_manager_id) AS managerName,
  427. (SELECT customer_company.name
  428. FROM customer_company
  429. WHERE customer_company.id = assets.clientele_id) AS customerName,
  430. (SELECT customer_company.name
  431. FROM customer_company
  432. WHERE customer_company.id = clientele_sub_id) AS customerSubName,
  433. production.repertory_in_time AS repertoryInTime,
  434. production.repertory_out_time AS repertoryOutTime,
  435. (SELECT instance.modified
  436. FROM work_flow_node_instance AS instance,
  437. work_node AS node
  438. WHERE business_min_id = reportNo
  439. AND instance.node_id = node.id
  440. AND instance.deleted = 0
  441. AND node.code = 'BUSINESS_ARCHIVING') AS archivedTime,
  442. (SELECT department.name FROM department WHERE department.id = assets.department_id) AS evaluateDepartment,
  443. (SELECT department.name
  444. FROM department,
  445. user,
  446. user_post,
  447. post
  448. WHERE user.id = user_post.user_id
  449. AND user_post.post_id = post.id
  450. AND post.department_id = department.id
  451. AND user.id = assets.client_manager_id) AS marketDepartment,
  452. fund.real_amount AS productionRealAmount
  453. FROM (SELECT @i := 0) AS sort,
  454. assets_production AS production
  455. LEFT JOIN assets ON assets.id = production.business_id
  456. LEFT JOIN assets_evaluation_target AS target ON target.report_no = production.production_no
  457. LEFT JOIN assets_evaluation_target_purpose AS purpose ON purpose.id = target.evaluation_purpose_id
  458. LEFT JOIN assets_evaluation_method AS method ON method.id = target.choice_evaluation_method_id
  459. LEFT JOIN production_fund AS fund ON fund.production_no = production.production_no
  460. WHERE production.deleted = 0
  461. AND (production.repertory_state = 0 OR production.repertory_state = 1)
  462. AND production.production_type != 'STATEMENT'
  463. <if test="assetsSelectDTO != null and assetsSelectDTO.keyWord != null and assetsSelectDTO.keyWord != '' ">
  464. AND (
  465. assets.order_id LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  466. assets.name LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%') OR
  467. production.production_no LIKE CONCAT('%',#{assetsSelectDTO.keyWord},'%')
  468. )
  469. </if>
  470. <if test="assetsSelectDTO != null and assetsSelectDTO.startTime != null and assetsSelectDTO.endTime != null ">
  471. HAVING startTime &gt;= #{assetsSelectDTO.startTime}
  472. AND endTime &lt;= #{assetsSelectDTO.endTime}
  473. </if>
  474. </select>
  475. <!--条件查询资产入库统计集合(用于导出)-->
  476. <select id="selectRepertoryList" resultType="com.dayou.vo.AssetsRepertoryVo">
  477. SELECT (@i := @i + 1) AS id,
  478. assets.order_id AS orderId,
  479. production.production_no AS reportNo,
  480. name AS orderName,
  481. purpose.purpose_name AS purposeName,
  482. method.method_name AS methodName,
  483. (SELECT instance.created
  484. FROM work_flow_node_instance AS instance,
  485. work_node AS node
  486. WHERE instance.business_id = assets.id
  487. AND instance.node_id = node.id
  488. AND instance.deleted = 0
  489. AND node.code = 'SPOT_RECONNAISSANCE_DETERMINE_PRICE') AS startTime,
  490. (SELECT instance.created
  491. FROM work_flow_node_instance AS instance,
  492. work_node AS node
  493. WHERE business_min_id = reportNo
  494. AND instance.node_id = node.id
  495. AND instance.deleted = 0
  496. AND node.code = 'REPORT_OUT') AS endTime,
  497. production.valuation_basis_date AS valuationBasisDate,
  498. production.evaluate_amount AS evaluateAmount,
  499. production.evaluate_price AS evaluatePrice,
  500. assets.bailor,
  501. assets.bailor_contact_tel AS bailorContactTel,
  502. (SELECT user.name FROM user WHERE user.id = assets.principal_id) AS principalName,
  503. (SELECT user.name FROM user WHERE user.id = assets.principal_id) AS firstReporter,
  504. (SELECT user.name FROM user WHERE user.id = assets.client_manager_id) AS managerName,
  505. (SELECT customer_company.name
  506. FROM customer_company
  507. WHERE customer_company.id = assets.clientele_id) AS customerName,
  508. (SELECT customer_company.name
  509. FROM customer_company
  510. WHERE customer_company.id = clientele_sub_id) AS customerSubName,
  511. production.repertory_in_time AS repertoryInTime,
  512. production.repertory_out_time AS repertoryOutTime,
  513. (SELECT instance.modified
  514. FROM work_flow_node_instance AS instance,
  515. work_node AS node
  516. WHERE business_min_id = reportNo
  517. AND instance.node_id = node.id
  518. AND instance.deleted = 0
  519. AND node.code = 'BUSINESS_ARCHIVING') AS archivedTime,
  520. (SELECT department.name FROM department WHERE department.id = assets.department_id) AS evaluateDepartment,
  521. (SELECT department.name
  522. FROM department,
  523. user,
  524. user_post,
  525. post
  526. WHERE user.id = user_post.user_id
  527. AND user_post.post_id = post.id
  528. AND post.department_id = department.id
  529. AND user.id = assets.client_manager_id) AS marketDepartment,
  530. fund.real_amount AS productionRealAmount
  531. FROM (SELECT @i := 0) AS sort,
  532. assets_production AS production
  533. LEFT JOIN assets ON assets.id = production.business_id
  534. LEFT JOIN assets_evaluation_target AS target ON target.report_no = production.production_no
  535. LEFT JOIN assets_evaluation_target_purpose AS purpose ON purpose.id = target.evaluation_purpose_id
  536. LEFT JOIN assets_evaluation_method AS method ON method.id = target.choice_evaluation_method_id
  537. LEFT JOIN production_fund AS fund ON fund.production_no = production.production_no
  538. WHERE production.deleted = 0
  539. AND (production.repertory_state = 0 OR production.repertory_state = 1)
  540. AND production.production_type != 'STATEMENT'
  541. <if test="assetsSelectDTO != null and assetsSelectDTO.startTime != null and assetsSelectDTO.endTime != null ">
  542. HAVING startTime &gt;= #{assetsSelectDTO.startTime}
  543. AND endTime &lt;= #{assetsSelectDTO.endTime}
  544. </if>
  545. </select>
  546. <!--根据业务id获取资产业务详情-->
  547. <select id="getAssetsDetailById" resultType="com.dayou.vo.AssetsVO">
  548. SELECT assets.id,
  549. #查询客户经理
  550. (SELECT name FROM user WHERE id = assets.client_manager_id) AS clientManagerName,
  551. user.name AS principalName,
  552. allot_type,
  553. assets.department_id,
  554. assets.order_id,
  555. assets.name,
  556. assets.assets_business_gener,
  557. assets.entrust_again,
  558. assets.clientele_type,
  559. assets.principal_id,
  560. customer.id AS clienteleId,
  561. customer.name AS customerName,
  562. linkman.id AS clienteleContactId,
  563. linkman.name AS linkmanName,
  564. linkman.department AS linkmanDepartment,
  565. linkman.duty AS linkmanDuty,
  566. linkman.mobile AS linkmanMobile,
  567. assets.security,
  568. assets.significant_assets_reorganization,
  569. assets.state_assets,
  570. assets.foreign_assets_involved,
  571. assets.dispense_benefit,
  572. assets.bailor,
  573. assets.bailor_address,
  574. assets.bailor_contact_name,
  575. assets.bailor_contact_tel,
  576. assets.terminal_clientele_id,
  577. assets.terminal_clientele_type,
  578. assets.remark,
  579. tLinkman.id AS tLinkmanId,
  580. tLinkman.name AS tLinkmanName,
  581. tLinkman.mobile AS tLinkmanMobile,
  582. assets.members AS members,
  583. #查询终端客户名称
  584. (SELECT customer_company.name FROM customer_company WHERE customer_company.id = assets.terminal_clientele_id) AS
  585. terminalClienteleName,
  586. assets.clientele_sub_id
  587. FROM assets
  588. LEFT JOIN user ON user.id = assets.principal_id
  589. LEFT JOIN department ON department.id = assets.department_id
  590. LEFT JOIN customer_company AS customer ON customer.id = assets.clientele_id
  591. LEFT JOIN customer_linkman AS linkman ON linkman.id = assets.clientele_contact_id
  592. LEFT JOIN (SELECT tLinkman.id, tLinkman.name, tLinkman.mobile FROM customer_linkman AS tLinkman) AS tLinkman ON
  593. tLinkman.id = assets.terminal_clientele_contact_id
  594. <where>
  595. <if test="id != null">
  596. AND assets.id = #{id}
  597. </if>
  598. </where>
  599. </select>
  600. <!--根据业务id获取资产业务款项信息-->
  601. <select id="getOrderFundInvoiceById" resultType="com.dayou.vo.AssetsOrderFundInvoiceVO">
  602. SELECT order_fund.id,
  603. business_id,
  604. should_amount,
  605. order_fund.real_amount,
  606. title,
  607. type,
  608. tax_no,
  609. bank_name,
  610. bank_account,
  611. bank_address,
  612. bank_tel
  613. FROM order_fund
  614. LEFT JOIN finance_invoice ON finance_invoice.order_fund_id = order_fund.id
  615. WHERE order_fund.business_id = #{id}
  616. AND order_fund.deleted = 0
  617. AND business_type = 'ASSET_BUSINESS'
  618. </select>
  619. <!--根据业务类型与取号类型获取业务取号信息-->
  620. <select id="getBusinessNum" resultType="com.dayou.entity.BusinessNumber">
  621. SELECT id, year, month, next_no
  622. FROM business_number
  623. WHERE take_type = #{takeType}
  624. AND business_type = #{businessType}
  625. AND year = #{year}
  626. AND deleted = 0
  627. </select>
  628. <!--新增取号信息-->
  629. <insert id="addBusinessNum">
  630. INSERT INTO business_number(id, take_type, business_type, year, month, next_no)
  631. VALUE (NULL, #{takeType}, #{businessType}, #{year}, #{month}, #{nextNo})
  632. </insert>
  633. <!--更新取号信息-->
  634. <update id="updateBusinessNum">
  635. UPDATE business_number
  636. SET month = #{month},
  637. next_no = #{nextNo}
  638. WHERE id = #{id}
  639. </update>
  640. <!--获取项目参与人-->
  641. <select id="getBusinessMembers" resultType="com.dayou.entity.Assets">
  642. SELECT id, principal_id, members
  643. FROM assets
  644. WHERE deleted = 0
  645. AND id = #{businessId}
  646. </select>
  647. <!--获取报告签字师-->
  648. <select id="getSignatorys" resultType="java.lang.String">
  649. SELECT signatory
  650. FROM assets_production
  651. WHERE deleted = 0
  652. AND production_no = #{reportNo}
  653. </select>
  654. <!--获取用户信息-->
  655. <select id="getAssetsBusinessMember" resultType="com.dayou.vo.AssetsBusinessMember">
  656. SELECT id AS memberId, name AS memberName
  657. FROM user
  658. WHERE deleted = 0
  659. AND id = #{userId}
  660. </select>
  661. </mapper>