综合办公系统
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

CmcProjectMapper.xml 35KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.ruoyi.oa.mapper.CmcProjectMapper">
  6. <resultMap type="CmcProject" id="CmcProjectResult">
  7. <result property="projectId" column="project_id" />
  8. <result property="projectNumber" column="project_number" />
  9. <result property="projectName" column="project_name" />
  10. <result property="projectLeader" column="project_leader" />
  11. <result property="isFinished" column="is_finished" />
  12. <result property="isComplete" column="is_complete" />
  13. <result property="projectSource" column="project_source" />
  14. <result property="partyAId" column="party_a_id" />
  15. <result property="contactPerson" column="contact_person" />
  16. <result property="telephone" column="telephone" />
  17. <result property="projectType" column="project_type" />
  18. <result property="projectLevel" column="project_level" />
  19. <result property="projectRegistrant" column="project_registrant" />
  20. <result property="undertakingDept" column="undertaking_dept" />
  21. <result property="projectPlanner" column="project_planner" />
  22. <result property="qualityInspector" column="quality_inspector" />
  23. <result property="siteLeader" column="site_leader" />
  24. <result property="organizeDocument" column="organize_document" />
  25. <result property="organizeTime" column="organize_time" />
  26. <result property="registerTime" column="register_time" />
  27. <result property="planTime" column="plan_time" />
  28. <result property="entryTime" column="entry_time" />
  29. <result property="exitTime" column="exit_time" />
  30. <result property="remark" column="remark" />
  31. <result property="projectKml" column="project_kml" />
  32. <result property="projectCp" column="project_cp" />
  33. <result property="kmlLng" column="kml_lng" />
  34. <result property="kmlLat" column="kml_lat" />
  35. <result property="cars" column="cars" />
  36. <result property="drivers" column="drivers" />
  37. <result property="devices" column="devices" />
  38. <result property="participates" column="participates" />
  39. <result property="taskDocument" column="task_document" />
  40. <result property="projectRequest" column="project_request" />
  41. <result property="inLeader" column="in_leader" />
  42. <result property="outLeader" column="out_leader" />
  43. <result property="leadDept" column="lead_dept" />
  44. <result property="joinDept" column="join_dept" />
  45. <association property="projectLeaderUser" javaType="SysUser" resultMap="ProjectLeaderResult" />
  46. <association property="projectRegistrantUser" javaType="SysUser" resultMap="ProjectRegistrantResult" />
  47. <association property="projectPlannerUser" javaType="SysUser" resultMap="ProjectPlannerResult" />
  48. <association property="siteLeaderUser" javaType="SysUser" resultMap="SiteLeaderResult" />
  49. <association property="technicalDirectorUser" javaType="SysUser" resultMap="TechnicalDirectorResult" />
  50. <association property="technicalDesignerUser" javaType="SysUser" resultMap="TechnicalDesignerResult" />
  51. <association property="partyA" javaType="CmcPartyA" resultMap="CmcPartyAResult" />
  52. </resultMap>
  53. <resultMap type="SysUser" id="ProjectLeaderResult">
  54. <result property="userId" column="user_id" />
  55. <result property="nickName" column="leader_nick_name" />
  56. </resultMap>
  57. <resultMap type="SysUser" id="ProjectRegistrantResult">
  58. <result property="userId" column="user_id" />
  59. <result property="nickName" column="registrant_nick_name" />
  60. </resultMap>
  61. <resultMap type="SysUser" id="ProjectPlannerResult">
  62. <result property="userId" column="user_id" />
  63. <result property="nickName" column="planner_nick_name" />
  64. </resultMap>
  65. <resultMap type="SysUser" id="SiteLeaderResult">
  66. <result property="userId" column="user_id" />
  67. <result property="nickName" column="site_nick_name" />
  68. </resultMap>
  69. <resultMap type="SysUser" id="TechnicalDirectorResult">
  70. <result property="userId" column="user_id" />
  71. <result property="nickName" column="director_nick_name" />
  72. </resultMap>
  73. <resultMap type="SysUser" id="TechnicalDesignerResult">
  74. <result property="userId" column="user_id" />
  75. <result property="nickName" column="designer_nick_name" />
  76. </resultMap>
  77. <resultMap type="CmcPartyA" id="CmcPartyAResult">
  78. <result property="partyAId" column="party_a_id" />
  79. <result property="partyAName" column="party_a_name" />
  80. </resultMap>
  81. <sql id="selectCmcProjectVo">
  82. select distinct(p.project_id), p.project_number, p.project_name, p.project_leader, u.nick_name as leader_nick_name, p.is_finished, p.project_source, p.party_a_id, pa.party_a_name, p.contact_person, p.telephone,
  83. p.project_type, p.project_level, p.project_registrant, u1.nick_name as registrant_nick_name, p.undertaking_dept, p.project_planner, p.site_leader, p.organize_document, p.organize_time, p.is_complete,
  84. p.register_time, p.plan_time, p.entry_time, p.exit_time, p.remark, tp.technical_director, u2.nick_name as director_nick_name, tp.quality_inspector, p.project_kml, p.project_cp, p.kml_lng, p.kml_lat,
  85. p.cars, p.drivers, p.devices, p.participates, p.task_document, p.project_request, tp.technical_designer, u3.nick_name as designer_nick_name, u4.nick_name as planner_nick_name,
  86. u5.nick_name as site_nick_name, p.in_leader, p.out_leader, p.lead_dept, p.join_dept from cmc_project as p
  87. left join sys_user as u on u.user_id = p.project_leader
  88. left join sys_user as u1 on u1.user_id = p.project_registrant
  89. left join cmc_technical_plan as tp on tp.project_id = p.project_id
  90. left join sys_user as u2 on u2.user_id = tp.technical_director
  91. left join sys_user as u3 on u3.user_id = tp.technical_designer
  92. left join sys_user as u4 on u4.user_id = p.project_planner
  93. left join sys_user as u5 on u5.user_id = p.site_leader
  94. left join cmc_party_a as pa on pa.party_a_id = p.party_a_id
  95. </sql>
  96. <select id="selectCmcProjectList" parameterType="CmcProject" resultMap="CmcProjectResult">
  97. <include refid="selectCmcProjectVo"/>
  98. <where>
  99. (p.project_number REGEXP '^[0-9]+W[0-9]' or p.project_number REGEXP '^[0-9]+C[0-9]') AND NOT (p.project_number REGEXP '[/\\*-]')
  100. and (case when p.undertaking_dept not like concat('%', '113', '%') then p.undertaking_dept not like concat('%', '113', '%')
  101. when p.undertaking_dept is null then p.undertaking_dept is null
  102. when p.undertaking_dept like concat('%', '113', '%') then p.undertaking_dept like concat('%', ',', '%')
  103. end)
  104. <if test="projectId != null and projectId != ''"> and p.project_id = #{projectId}</if>
  105. <if test="projectNumber != null and projectNumber != ''"> and p.project_number like concat('%', #{projectNumber}, '%')</if>
  106. <if test="projectName != null and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
  107. <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
  108. <if test="isFinished != null and isFinished != ''"> and p.is_finished = #{isFinished}</if>
  109. <if test="isComplete != null and isComplete != ''"> and p.is_complete = #{isComplete}</if>
  110. <if test="projectSource != null and projectSource != ''"> and p.project_source = #{projectSource}</if>
  111. <if test="partyAId != null and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
  112. <if test="contactPerson != null and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
  113. <if test="telephone != null and telephone != ''"> and p.telephone = #{telephone}</if>
  114. <if test="projectType != null and projectType != ''"> and p.project_type = #{projectType}</if>
  115. <if test="projectLevel != null and projectLevel != ''"> and p.project_level = #{projectLevel}</if>
  116. <if test="projectRegistrant != null "> and p.project_registrant = #{projectRegistrant}</if>
  117. <if test="undertakingDept != null and undertakingDept != ''"> and p.undertaking_dept like concat('%', #{undertakingDept}, '%')</if>
  118. <if test="projectPlanner != null "> and p.project_planner = #{projectPlanner}</if>
  119. <if test="siteLeader != null "> and p.site_leader = #{siteLeader}</if>
  120. <if test="planTime != null "> and p.plan_time = #{planTime}</if>
  121. <if test="entryTime != null "> and p.entry_time = #{entryTime}</if>
  122. <if test="exitTime != null "> and p.exit_time = #{exitTime}</if>
  123. <if test="participates != null and participates != ''"> and find_in_set(#{participates}, p.participates)</if>
  124. </where>
  125. group by p.project_id
  126. order by p.register_time desc, p.project_number desc
  127. </select>
  128. <select id="selectCmcProjectListFuzzy" parameterType="CmcProject" resultMap="CmcProjectResult">
  129. select t1.* from (select distinct(p.project_id), p.project_number, p.project_name, p.project_leader, u.nick_name as leader_nick_name, p.is_finished, p.project_source, p.party_a_id, pa.party_a_name, p.contact_person, p.telephone,
  130. p.project_type, p.project_level, p.project_registrant, u1.nick_name as registrant_nick_name, p.undertaking_dept, p.project_planner, p.site_leader, p.organize_document, p.organize_time, p.is_complete,
  131. p.register_time, p.plan_time, p.entry_time, p.exit_time, p.remark, tp.technical_director, u2.nick_name as director_nick_name, tp.quality_inspector, p.project_kml, p.project_cp, p.kml_lng, p.kml_lat,
  132. p.cars, p.drivers, p.devices, p.participates, p.task_document, p.project_request, tp.technical_designer, u3.nick_name as designer_nick_name, u4.nick_name as planner_nick_name,
  133. u5.nick_name as site_nick_name, p.in_leader, p.out_leader, p.lead_dept, p.join_dept from cmc_project as p
  134. left join sys_user as u on u.user_id = p.project_leader
  135. left join sys_user as u1 on u1.user_id = p.project_registrant
  136. left join cmc_technical_plan as tp on tp.project_id = p.project_id
  137. left join sys_user as u2 on u2.user_id = tp.technical_director
  138. left join sys_user as u3 on u3.user_id = tp.technical_designer
  139. left join sys_user as u4 on u4.user_id = p.project_planner
  140. left join sys_user as u5 on u5.user_id = p.site_leader
  141. left join cmc_party_a as pa on pa.party_a_id = p.party_a_id
  142. <where>
  143. (p.project_number REGEXP '^[0-9]+W[0-9]' or p.project_number REGEXP '^[0-9]+C[0-9]') AND NOT (p.project_number REGEXP '[/\\*-]')
  144. and (case when p.undertaking_dept not like concat('%', '113', '%') then p.undertaking_dept not like concat('%', '113', '%')
  145. when p.undertaking_dept is null then p.undertaking_dept is null
  146. when p.undertaking_dept like concat('%', '113', '%') then p.undertaking_dept like concat('%', ',', '%')
  147. end)
  148. and (pa.party_a_name like concat('%', #{queryString}, '%') or
  149. p.contact_person like concat('%', #{queryString}, '%') or
  150. p.telephone like concat('%', #{queryString}, '%') or
  151. p.project_type like concat('%', #{queryString}, '%'))
  152. <if test="projectId != null and projectId != ''"> and p.project_id = #{projectId}</if>
  153. <if test="projectNumber != null and projectNumber != ''"> and p.project_number like concat('%', #{projectNumber}, '%')</if>
  154. <if test="projectName != null and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
  155. <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
  156. <if test="isFinished != null and isFinished != ''"> and p.is_finished = #{isFinished}</if>
  157. <if test="isComplete != null and isComplete != ''"> and p.is_complete = #{isComplete}</if>
  158. <if test="projectSource != null and projectSource != ''"> and p.project_source = #{projectSource}</if>
  159. <if test="partyAId != null and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
  160. <if test="contactPerson != null and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
  161. <if test="telephone != null and telephone != ''"> and p.telephone = #{telephone}</if>
  162. <if test="projectType != null and projectType != ''"> and p.project_type = #{projectType}</if>
  163. <if test="projectLevel != null and projectLevel != ''"> and p.project_level = #{projectLevel}</if>
  164. <if test="projectRegistrant != null "> and p.project_registrant = #{projectRegistrant}</if>
  165. <if test="undertakingDept != null and undertakingDept != ''"> and p.undertaking_dept like concat('%', #{undertakingDept}, '%')</if>
  166. <if test="projectPlanner != null "> and p.project_planner = #{projectPlanner}</if>
  167. <if test="siteLeader != null "> and p.site_leader = #{siteLeader}</if>
  168. <if test="planTime != null "> and p.plan_time = #{planTime}</if>
  169. <if test="entryTime != null "> and p.entry_time = #{entryTime}</if>
  170. <if test="exitTime != null "> and p.exit_time = #{exitTime}</if>
  171. <if test="participates != null and participates != ''"> and find_in_set(#{participates}, p.participates)</if>
  172. </where>
  173. group by p.project_id
  174. order by p.register_time desc, p.project_number desc) as t1
  175. union
  176. select t2.* from (select distinct(p.project_id), p.project_number, p.project_name, p.project_leader, u.nick_name as leader_nick_name, p.is_finished, p.project_source, p.party_a_id, pa.party_a_name, p.contact_person, p.telephone,
  177. p.project_type, p.project_level, p.project_registrant, u1.nick_name as registrant_nick_name, p.undertaking_dept, p.project_planner, p.site_leader, p.organize_document, p.organize_time, p.is_complete,
  178. p.register_time, p.plan_time, p.entry_time, p.exit_time, p.remark, tp.technical_director, u2.nick_name as director_nick_name, tp.quality_inspector, p.project_kml, p.project_cp, p.kml_lng, p.kml_lat,
  179. p.cars, p.drivers, p.devices, p.participates, p.task_document, p.project_request, tp.technical_designer, u3.nick_name as designer_nick_name, u4.nick_name as planner_nick_name,
  180. u5.nick_name as site_nick_name, p.in_leader, p.out_leader, p.lead_dept, p.join_dept from cmc_project as p
  181. left join sys_user as u on u.user_id = p.project_leader
  182. left join sys_user as u1 on u1.user_id = p.project_registrant
  183. left join cmc_technical_plan as tp on tp.project_id = p.project_id
  184. left join sys_user as u2 on u2.user_id = tp.technical_director
  185. left join sys_user as u3 on u3.user_id = tp.technical_designer
  186. left join sys_user as u4 on u4.user_id = p.project_planner
  187. left join sys_user as u5 on u5.user_id = p.site_leader
  188. left join cmc_party_a as pa on pa.party_a_id = p.party_a_id
  189. left join cmc_project_work as pw on pw.project_id = p.project_id
  190. <where>
  191. (p.project_number REGEXP '^[0-9]+W[0-9]' or p.project_number REGEXP '^[0-9]+C[0-9]') AND NOT (p.project_number REGEXP '[/\\*-]')
  192. and (case when p.undertaking_dept not like concat('%', '113', '%') then p.undertaking_dept not like concat('%', '113', '%')
  193. when p.undertaking_dept is null then p.undertaking_dept is null
  194. when p.undertaking_dept like concat('%', '113', '%') then p.undertaking_dept like concat('%', ',', '%')
  195. end)
  196. and (pa.party_a_name like concat('%', #{queryString}, '%') or
  197. p.contact_person like concat('%', #{queryString}, '%') or
  198. p.telephone like concat('%', #{queryString}, '%') or
  199. p.project_type like concat('%', #{queryString}, '%') or
  200. pw.content like concat('%', #{queryString}, '%'))
  201. <if test="projectId != null and projectId != ''"> and p.project_id = #{projectId}</if>
  202. <if test="projectNumber != null and projectNumber != ''"> and p.project_number like concat('%', #{projectNumber}, '%')</if>
  203. <if test="projectName != null and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
  204. <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
  205. <if test="isFinished != null and isFinished != ''"> and p.is_finished = #{isFinished}</if>
  206. <if test="isComplete != null and isComplete != ''"> and p.is_complete = #{isComplete}</if>
  207. <if test="projectSource != null and projectSource != ''"> and p.project_source = #{projectSource}</if>
  208. <if test="partyAId != null and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
  209. <if test="contactPerson != null and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
  210. <if test="telephone != null and telephone != ''"> and p.telephone = #{telephone}</if>
  211. <if test="projectType != null and projectType != ''"> and p.project_type = #{projectType}</if>
  212. <if test="projectLevel != null and projectLevel != ''"> and p.project_level = #{projectLevel}</if>
  213. <if test="projectRegistrant != null "> and p.project_registrant = #{projectRegistrant}</if>
  214. <if test="undertakingDept != null and undertakingDept != ''"> and p.undertaking_dept like concat('%', #{undertakingDept}, '%')</if>
  215. <if test="projectPlanner != null "> and p.project_planner = #{projectPlanner}</if>
  216. <if test="siteLeader != null "> and p.site_leader = #{siteLeader}</if>
  217. <if test="planTime != null "> and p.plan_time = #{planTime}</if>
  218. <if test="entryTime != null "> and p.entry_time = #{entryTime}</if>
  219. <if test="exitTime != null "> and p.exit_time = #{exitTime}</if>
  220. <if test="participates != null and participates != ''"> and find_in_set(#{participates}, p.participates)</if>
  221. </where>
  222. order by p.register_time desc, p.project_number desc) as t2
  223. order by register_time desc, project_number desc
  224. </select>
  225. <select id="selectCmcInvestProjectList" parameterType="CmcProject" resultMap="CmcProjectResult">
  226. <include refid="selectCmcProjectVo"/>
  227. <where>
  228. (p.project_number REGEXP '^[0-9]+W[0-9]' or p.project_number REGEXP '^[0-9]+C[0-9]') AND NOT (p.project_number REGEXP '[/\\*-]')
  229. AND p.undertaking_dept like concat('%', 113, '%')
  230. <if test="projectId != null and projectId != ''"> and p.project_id = #{projectId}</if>
  231. <if test="projectNumber != null and projectNumber != ''"> and p.project_number like concat('%', #{projectNumber}, '%')</if>
  232. <if test="projectName != null and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
  233. <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
  234. <if test="isFinished != null and isFinished != ''"> and p.is_finished = #{isFinished}</if>
  235. <if test="isComplete != null and isComplete != ''"> and p.is_complete = #{isComplete}</if>
  236. <if test="projectSource != null and projectSource != ''"> and p.project_source = #{projectSource}</if>
  237. <if test="partyAId != null and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
  238. <if test="contactPerson != null and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
  239. <if test="telephone != null and telephone != ''"> and p.telephone = #{telephone}</if>
  240. <if test="projectType != null and projectType != ''"> and p.project_type = #{projectType}</if>
  241. <if test="projectLevel != null and projectLevel != ''"> and p.project_level = #{projectLevel}</if>
  242. <if test="projectRegistrant != null "> and p.project_registrant = #{projectRegistrant}</if>
  243. <if test="undertakingDept != null and undertakingDept != ''"> and p.undertaking_dept like concat('%', #{undertakingDept}, '%')</if>
  244. <if test="projectPlanner != null "> and p.project_planner = #{projectPlanner}</if>
  245. <if test="siteLeader != null "> and p.site_leader = #{siteLeader}</if>
  246. <if test="planTime != null "> and p.plan_time = #{planTime}</if>
  247. <if test="entryTime != null "> and p.entry_time = #{entryTime}</if>
  248. <if test="exitTime != null "> and p.exit_time = #{exitTime}</if>
  249. <if test="participates != null and participates != ''"> and find_in_set(#{participates}, p.participates)</if>
  250. </where>
  251. group by p.project_id
  252. order by p.register_time desc, p.project_number desc
  253. </select>
  254. <select id="selectCmcAllProjectList" parameterType="CmcProject" resultMap="CmcProjectResult">
  255. <include refid="selectCmcProjectVo"/>
  256. <where>
  257. (p.project_number REGEXP '^[0-9]+W[0-9]' or p.project_number REGEXP '^[0-9]+C[0-9]') AND NOT (p.project_number REGEXP '[/\\*-]')
  258. <if test="projectId != null and projectId != ''"> and p.project_id = #{projectId}</if>
  259. <if test="projectNumber != null and projectNumber != ''"> and p.project_number like concat('%', #{projectNumber}, '%')</if>
  260. <if test="projectName != null and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
  261. <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
  262. <if test="isFinished != null and isFinished != ''"> and p.is_finished = #{isFinished}</if>
  263. <if test="isComplete != null and isComplete != ''"> and p.is_complete = #{isComplete}</if>
  264. <if test="projectSource != null and projectSource != ''"> and p.project_source = #{projectSource}</if>
  265. <if test="partyAId != null and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
  266. <if test="contactPerson != null and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
  267. <if test="telephone != null and telephone != ''"> and p.telephone = #{telephone}</if>
  268. <if test="projectType != null and projectType != ''"> and p.project_type = #{projectType}</if>
  269. <if test="projectLevel != null and projectLevel != ''"> and p.project_level = #{projectLevel}</if>
  270. <if test="projectRegistrant != null "> and p.project_registrant = #{projectRegistrant}</if>
  271. <if test="undertakingDept != null and undertakingDept != ''"> and p.undertaking_dept like concat('%', #{undertakingDept}, '%')</if>
  272. <if test="projectPlanner != null "> and p.project_planner = #{projectPlanner}</if>
  273. <if test="siteLeader != null "> and p.site_leader = #{siteLeader}</if>
  274. <if test="planTime != null "> and p.plan_time = #{planTime}</if>
  275. <if test="entryTime != null "> and p.entry_time = #{entryTime}</if>
  276. <if test="exitTime != null "> and p.exit_time = #{exitTime}</if>
  277. <if test="participates != null and participates != ''"> and find_in_set(#{participates}, p.participates)</if>
  278. </where>
  279. group by p.project_id
  280. order by p.register_time desc, p.project_number desc
  281. </select>
  282. <select id="selectCmcProjectByProjectId" parameterType="String" resultMap="CmcProjectResult">
  283. <include refid="selectCmcProjectVo"/>
  284. where p.project_id = #{projectId}
  285. </select>
  286. <select id="selectCmcProjectByProjectNumbers" parameterType="String" resultMap="CmcProjectResult">
  287. <include refid="selectCmcProjectVo"/>
  288. where
  289. (p.project_number REGEXP '^[0-9]+W[0-9]' or p.project_number REGEXP '^[0-9]+C[0-9]') AND NOT (p.project_number REGEXP '[/\\*-]')
  290. and find_in_set(p.project_number, #{projectNumber})
  291. </select>
  292. <select id="selectListByPaticipates" parameterType="String" resultMap="CmcProjectResult">
  293. select distinct(t.project_id), t.project_number, t.project_name, t.project_leader, t.register_time from
  294. (select p.project_id, p.project_number, p.project_name, p.project_leader, p.register_time from cmc_project p
  295. where
  296. (p.project_number REGEXP '^[0-9]+W[0-9]' or p.project_number REGEXP '^[0-9]+C[0-9]') AND NOT (p.project_number REGEXP '[/\\*-]')
  297. and find_in_set(#{participates}, p.participates)
  298. union
  299. select p.project_id, p.project_number, p.project_name, p.project_leader, p.register_time from cmc_declare d
  300. left join cmc_project as p on p.project_id = d.project_id
  301. where d.user_id = #{participates} and p.project_number is not null) as t
  302. group by t.project_id
  303. order by t.register_time desc, t.project_number desc
  304. </select>
  305. <insert id="insertCmcProject" parameterType="CmcProject">
  306. insert into cmc_project
  307. <trim prefix="(" suffix=")" suffixOverrides=",">
  308. <if test="projectId != null">project_id,</if>
  309. <if test="projectNumber != null">project_number,</if>
  310. <if test="projectName != null">project_name,</if>
  311. <if test="projectLeader != null">project_leader,</if>
  312. <if test="isFinished != null">is_finished,</if>
  313. <if test="isComplete != null">is_complete,</if>
  314. <if test="projectSource != null">project_source,</if>
  315. <if test="partyAId != null">party_a_id,</if>
  316. <if test="contactPerson != null">contact_person,</if>
  317. <if test="telephone != null">telephone,</if>
  318. <if test="projectType != null">project_type,</if>
  319. <if test="projectLevel != null">project_level,</if>
  320. <if test="projectRegistrant != null">project_registrant,</if>
  321. <if test="undertakingDept != null">undertaking_dept,</if>
  322. <if test="projectPlanner != null">project_planner,</if>
  323. <if test="siteLeader != null">site_leader,</if>
  324. <if test="organizeDocument != null">organize_document,</if>
  325. <if test="organizeTime != null">organize_time,</if>
  326. <if test="registerTime != null">register_time,</if>
  327. <if test="planTime != null">plan_time,</if>
  328. <if test="entryTime != null">entry_time,</if>
  329. <if test="exitTime != null">exit_time,</if>
  330. <if test="remark != null">remark,</if>
  331. <if test="kmlLng != null">kml_lng,</if>
  332. <if test="kmlLat != null">kml_lat,</if>
  333. <if test="cars != null">cars,</if>
  334. <if test="drivers != null">drivers,</if>
  335. <if test="devices != null">devices,</if>
  336. <if test="participates != null">participates,</if>
  337. <if test="taskDocument != null">task_document,</if>
  338. <if test="projectRequest != null">project_request,</if>
  339. <if test="leadDept != null">lead_dept,</if>
  340. <if test="joinDept != null">join_dept,</if>
  341. <if test="inLeader != null">in_leader,</if>
  342. <if test="outLeader != null">out_leader,</if>
  343. </trim>
  344. <trim prefix="values (" suffix=")" suffixOverrides=",">
  345. <if test="projectId != null">#{projectId},</if>
  346. <if test="projectNumber != null">#{projectNumber},</if>
  347. <if test="projectName != null">#{projectName},</if>
  348. <if test="projectLeader != null">#{projectLeader},</if>
  349. <if test="isFinished != null">#{isFinished},</if>
  350. <if test="isComplete != null">#{isComplete},</if>
  351. <if test="projectSource != null">#{projectSource},</if>
  352. <if test="partyAId != null">#{partyAId},</if>
  353. <if test="contactPerson != null">#{contactPerson},</if>
  354. <if test="telephone != null">#{telephone},</if>
  355. <if test="projectType != null">#{projectType},</if>
  356. <if test="projectLevel != null">#{projectLevel},</if>
  357. <if test="projectRegistrant != null">#{projectRegistrant},</if>
  358. <if test="undertakingDept != null">#{undertakingDept},</if>
  359. <if test="projectPlanner != null">#{projectPlanner},</if>
  360. <if test="siteLeader != null">#{siteLeader},</if>
  361. <if test="organizeDocument != null">#{organizeDocument},</if>
  362. <if test="organizeTime != null">#{organizeTime},</if>
  363. <if test="registerTime != null">#{registerTime},</if>
  364. <if test="planTime != null">#{planTime},</if>
  365. <if test="entryTime != null">#{entryTime},</if>
  366. <if test="exitTime != null">#{exitTime},</if>
  367. <if test="remark != null">#{remark},</if>
  368. <if test="kmlLng != null">#{kmlLng},</if>
  369. <if test="kmlLat != null">#{kmlLat},</if>
  370. <if test="cars != null">#{cars},</if>
  371. <if test="drivers != null">#{drivers},</if>
  372. <if test="devices != null">#{devices},</if>
  373. <if test="participates != null">#{participates},</if>
  374. <if test="taskDocument != null">#{taskDocument},</if>
  375. <if test="projectRequest != null">#{projectRequest},</if>
  376. <if test="leadDept != null">#{leadDept},</if>
  377. <if test="joinDept != null">#{joinDept},</if>
  378. <if test="inLeader != null">#{inLeader},</if>
  379. <if test="outLeader != null">#{outLeader},</if>
  380. </trim>
  381. </insert>
  382. <update id="updateCmcProject" parameterType="CmcProject">
  383. update cmc_project
  384. <trim prefix="SET" suffixOverrides=",">
  385. <if test="projectNumber != null">project_number = #{projectNumber},</if>
  386. <if test="projectName != null">project_name = #{projectName},</if>
  387. <if test="projectLeader != null">project_leader = #{projectLeader},</if>
  388. <if test="isFinished != null">is_finished = #{isFinished},</if>
  389. <if test="isComplete != null">is_complete = #{isComplete},</if>
  390. <if test="projectSource != null">project_source = #{projectSource},</if>
  391. <if test="partyAId != null">party_a_id = #{partyAId},</if>
  392. <if test="contactPerson != null">contact_person = #{contactPerson},</if>
  393. <if test="telephone != null">telephone = #{telephone},</if>
  394. <if test="projectType != null">project_type = #{projectType},</if>
  395. <if test="projectLevel != null">project_level = #{projectLevel},</if>
  396. <if test="projectRegistrant != null">project_registrant = #{projectRegistrant},</if>
  397. <if test="undertakingDept != null">undertaking_dept = #{undertakingDept},</if>
  398. <if test="projectPlanner != null">project_planner = #{projectPlanner},</if>
  399. <if test="siteLeader != null">site_leader = #{siteLeader},</if>
  400. <if test="organizeDocument != null">organize_document = #{organizeDocument},</if>
  401. <if test="organizeTime != null">organize_time = #{organizeTime},</if>
  402. <if test="registerTime != null">register_time = #{registerTime},</if>
  403. <if test="planTime != null">plan_time = #{planTime},</if>
  404. <if test="entryTime != null">entry_time = #{entryTime},</if>
  405. <if test="exitTime != null">exit_time = #{exitTime},</if>
  406. <if test="remark != null">remark = #{remark},</if>
  407. project_kml = #{projectKml},
  408. project_cp = #{projectCp},
  409. <if test="kmlLng != null">kml_lng = #{kmlLng},</if>
  410. <if test="kmlLat != null">kml_lat = #{kmlLat},</if>
  411. <if test="cars != null">cars = #{cars},</if>
  412. <if test="drivers != null">drivers = #{drivers},</if>
  413. <if test="devices != null">devices = #{devices},</if>
  414. <if test="participates != null">participates = #{participates},</if>
  415. <if test="taskDocument != null">task_document = #{taskDocument},</if>
  416. <if test="projectRequest != null">project_request = #{projectRequest},</if>
  417. <if test="inLeader != null">in_leader = #{inLeader},</if>
  418. <if test="outLeader != null">out_leader = #{outLeader},</if>
  419. <if test="leadDept != null">lead_dept = #{leadDept},</if>
  420. <if test="joinDept != null">join_dept = #{joinDept},</if>
  421. </trim>
  422. where project_id = #{projectId}
  423. </update>
  424. <delete id="deleteCmcProjectByProjectId" parameterType="String">
  425. delete from cmc_project where project_id = #{projectId}
  426. </delete>
  427. <delete id="deleteCmcProjectByProjectIds" parameterType="String">
  428. delete from cmc_project where project_id in
  429. <foreach item="projectId" collection="array" open="(" separator="," close=")">
  430. #{projectId}
  431. </foreach>
  432. </delete>
  433. <select id="selectCmcProjectListByRange" parameterType="CmcProject" resultMap="CmcProjectResult">
  434. <include refid="selectCmcProjectVo"/>
  435. <where>
  436. (p.project_number REGEXP '^[0-9]+W[0-9]' or p.project_number REGEXP '^[0-9]+C[0-9]') AND NOT (p.project_number REGEXP '[/\\*-]')
  437. <if test="projectId != null and projectId != ''"> and p.project_id = #{projectId}</if>
  438. <if test="projectNumber != null and projectNumber != ''"> and p.project_number like concat('%', #{projectNumber}, '%')</if>
  439. <if test="projectName != null and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
  440. <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
  441. <if test="isFinished != null and isFinished != ''"> and p.is_finished = #{isFinished}</if>
  442. <if test="isComplete != null and isComplete != ''"> and p.is_complete = #{isComplete}</if>
  443. <if test="projectSource != null and projectSource != ''"> and p.project_source = #{projectSource}</if>
  444. <if test="partyAId != null and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
  445. <if test="contactPerson != null and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
  446. <if test="telephone != null and telephone != ''"> and p.telephone = #{telephone}</if>
  447. <if test="projectType != null and projectType != ''"> and p.project_type = #{projectType}</if>
  448. <if test="projectLevel != null and projectLevel != ''"> and p.project_level = #{projectLevel}</if>
  449. <if test="projectRegistrant != null "> and p.project_registrant = #{projectRegistrant}</if>
  450. <if test="undertakingDept != null and undertakingDept != ''"> and p.undertaking_dept like concat('%', #{undertakingDept}, '%')</if>
  451. <if test="projectPlanner != null "> and p.project_planner = #{projectPlanner}</if>
  452. <if test="siteLeader != null "> and p.site_leader = #{siteLeader}</if>
  453. <if test="planTime != null "> and p.plan_time = #{planTime}</if>
  454. <if test="entryTime != null "> and p.entry_time = #{entryTime}</if>
  455. <if test="exitTime != null "> and p.exit_time = #{exitTime}</if>
  456. <if test="participates != null and participates != ''"> and find_in_set(#{participates}, p.participates)</if>
  457. <if test="params.beginTime != null and params.beginTime != ''">
  458. and date_format(p.register_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
  459. </if>
  460. <if test="params.endTime != null and params.endTime != ''">
  461. and date_format(p.register_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
  462. </if>
  463. </where>
  464. group by p.project_id
  465. order by p.register_time desc, p.project_number desc
  466. </select>
  467. </mapper>