RingScanInformationMapper.xml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  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.zkqy.amichi.mapper.RingScanInformationMapper">
  6. <resultMap type="com.zkqy.amichi.domain.RingScanInformation" id="RingScanInformationResult">
  7. <result property="id" column="id" />
  8. <result property="deviceNumber" column="device_number" />
  9. <result property="deviceName" column="device_name" />
  10. <result property="scanningTime" column="scanning_time" />
  11. <result property="contentInformation" column="content_information" />
  12. <result property="stationName" column="station_name" />
  13. <result property="personnelName" column="personnel_name" />
  14. <result property="executionMessage" column="execution_message"/>
  15. <result property="executionMark" column="execution_mark"/>
  16. </resultMap>
  17. <select id="selectRingScanInformationListScfy" parameterType="com.zkqy.amichi.domain.RingScanInformation" resultMap="RingScanInformationResult">
  18. select id, device_number, station_name, personnel_name,scanning_time, content_information,execution_message,execution_mark from fjqydb.ring_scan_information
  19. <where>
  20. <if test="deviceNumber != null and deviceNumber != ''"> and device_number = #{deviceNumber}</if>
  21. and DATE(scanning_time) = CURDATE() order by scanning_time desc limit #{offset},#{pageSize}
  22. </where>
  23. </select>
  24. <select id="selectRingScanInformationListScfyCount" resultType="java.lang.Integer" parameterType="com.zkqy.amichi.domain.RingScanInformation">
  25. select count(id) from fjqydb.ring_scan_information
  26. <where>
  27. <if test="deviceNumber != null and deviceNumber != ''"> and device_number = #{deviceNumber}</if>
  28. and DATE(scanning_time) = CURDATE()
  29. </where>
  30. </select>
  31. <sql id="selectRingScanInformationVo">
  32. select id, device_number, device_name, scanning_time, content_information,personnel_name from fjqydb.ring_scan_information
  33. </sql>
  34. <select id="selectRingScanInformationList" parameterType="com.zkqy.amichi.domain.RingScanInformation" resultMap="RingScanInformationResult">
  35. <include refid="selectRingScanInformationVo"/>
  36. <where>
  37. <if test="deviceNumber != null and deviceNumber != ''"> and device_number = #{deviceNumber}</if>
  38. <if test="processName != null and processName != ''"> and process_name = #{processName}</if>
  39. <if test="deviceName != null and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if>
  40. <if test="scanningTime != null "> and scanning_time = #{scanningTime}</if>
  41. <if test="contentInformation != null and contentInformation != ''"> and content_information = #{contentInformation}</if>
  42. <if test="nativeNumbering != null and nativeNumbering != ''"> and native_numbering = #{nativeNumbering}</if>
  43. <if test="productionOrderNumber != null and productionOrderNumber != ''"> and production_order_number = #{productionOrderNumber}</if>
  44. </where>
  45. </select>
  46. <resultMap type="com.zkqy.amichi.domain.vo.RingScanInformationVo" id="RingScanInformationResultNR">
  47. <result property="id" column="id" />
  48. <result property="deviceNumber" column="device_number" />
  49. <result property="deviceName" column="device_name" />
  50. <result property="scanningTime" column="scanning_time" />
  51. <result property="contentInformation" column="content_information" />
  52. <result property="nativeNumbering" column="native_numbering" />
  53. <result property="orderNumber" column="production_order_list_id" />
  54. <result property="serialNumber" column="serial_number" />
  55. <result property="materialCode" column="material_id" />
  56. <result property="materialName" column="material_name" />
  57. <result property="model" column="model" />
  58. <result property="demandDocument" column="demand_document" />
  59. <result property="personnelName" column="personnel_name" />
  60. <result property="processName" column="process_name" />
  61. <result property="stationName" column="station_name" />
  62. <result property="executionMessage" column="execution_message"/>
  63. <result property="executionMark" column="execution_mark"/>
  64. </resultMap>
  65. <select id="selectRingScanInformationListVo" parameterType="com.zkqy.amichi.domain.RingScanInformation" resultMap="RingScanInformationResultNR">
  66. SELECT
  67. pcf.production_order_list_id,
  68. pcf.serial_number,
  69. ptd.material_id,
  70. ptd.material_name,
  71. mbi.model,
  72. ptd.power,
  73. ptd.colour,
  74. ptd.mingpai,
  75. ptd.baozhuangxiang,
  76. ptd.switch_box,
  77. mbi.core_length,
  78. mbi.voltage_frequency,
  79. mbi.case_end_cover,
  80. mbi.platter_interface,
  81. CONCAT( IFNULL( mbi.data_info, '无' ), '/', IFNULL( mbi.phase_number, '无' ) ) AS data_info,
  82. mbi.specification_book,
  83. mbi.certificate_of_conformity,
  84. ppm.special_requirements,
  85. ppm.remark,
  86. ptd.time_of_request AS timeOfRequest,
  87. ptd.demand_document,
  88. rsi.id,
  89. rsi.device_number,
  90. rsi.device_name,
  91. rsi.scanning_time,
  92. rsi.content_information,
  93. rsi.native_numbering,
  94. rsi.personnel_name,
  95. rsi.process_name,
  96. rsi.station_name,
  97. rsi.execution_mark,
  98. rsi.execution_message
  99. FROM
  100. fjqydb.production_card_flow AS pcf
  101. LEFT JOIN fjqydb.plan_task_details AS ptd ON ptd.demand_document = pcf.demand_document_number
  102. LEFT JOIN fjqydb.material_base_info mbi ON ptd.material_id = mbi.material_code
  103. LEFT JOIN fjqydb.production_planning_management AS ppm ON pcf.production_order_list_id = ppm.order_number
  104. RIGHT JOIN fjqydb.ring_scan_information AS rsi ON pcf.serial_number = rsi.native_numbering
  105. <where>
  106. <if test="deviceNumber != null and deviceNumber != ''"> and device_number = #{deviceNumber}</if>
  107. <if test="deviceName != null and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if>
  108. <if test="scanningTime != null "> and scanning_time = #{scanningTime}</if>
  109. <if test="contentInformation != null and contentInformation != ''"> and content_information = #{contentInformation}</if>
  110. <if test="nativeNumbering != null and nativeNumbering != ''"> and native_numbering = #{nativeNumbering}</if>
  111. <if test="executionMark!=null and executionMark!=''">and execution_mark = #{executionMark}</if>
  112. </where>
  113. order by scanning_time desc
  114. </select>
  115. <select id="selectRingScanInformationById" parameterType="Long" resultMap="RingScanInformationResult">
  116. <include refid="selectRingScanInformationVo"/>
  117. where id = #{id}
  118. </select>
  119. <select id="selectRingScanInformationListDateTimeMax"
  120. parameterType="com.zkqy.amichi.domain.RingScanInformation" resultMap="RingScanInformationResult">
  121. <include refid="selectRingScanInformationVo"/>
  122. <where>
  123. <if test="deviceNumber != null and deviceNumber != ''"> and device_number = #{deviceNumber}</if>
  124. <if test="deviceName != null and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if>
  125. <if test="scanningTime != null "> and scanning_time = #{scanningTime}</if>
  126. <if test="contentInformation != null and contentInformation != ''"> and content_information = #{contentInformation}</if>
  127. </where>
  128. order by scanning_time DESC
  129. LIMIT 1
  130. </select>
  131. <select id="SelectRingScanInformationLog" resultType="com.zkqy.amichi.domain.vo.RingScanInformationLogVo">
  132. SELECT
  133. sub.count,
  134. sub.process_name,
  135. sub.native_numbering,
  136. sub.order_number,
  137. sub.scanning_time,
  138. sub.sort,
  139. rsif.`status`,
  140. rsif.start_time,
  141. rsif.end_time,
  142. rsif.total_quantity
  143. FROM
  144. (
  145. SELECT
  146. rsi.process_name,
  147. rsi.native_numbering,
  148. rsi.order_number,
  149. COUNT( rsi.process_name ) AS count,
  150. MAX( rsi.scanning_time ) AS scanning_time,
  151. pl.sort
  152. FROM
  153. fjqydb.ring_scan_information AS rsi
  154. LEFT JOIN fjqydb.procedure_list AS pl ON pl.procedur_name = rsi.process_name
  155. GROUP BY
  156. rsi.order_number,
  157. rsi.process_name
  158. ) AS sub
  159. LEFT JOIN fjqydb.ring_scan_information_first AS rsif ON ( sub.order_number = rsif.order_number )
  160. <where>
  161. <if test="list != null and list.size()>0">
  162. sub.order_number IN
  163. <foreach item="id" collection="list" open="(" separator="," close=")">
  164. #{id}
  165. </foreach>
  166. </if>
  167. <if test="list == null or list.size() == 0">
  168. rsi.order_number = 'X'
  169. </if>
  170. </where>
  171. ORDER BY
  172. sub.order_number,sub.sort
  173. </select>
  174. <select id="selectRingScanInformationLog2" resultType="com.zkqy.amichi.domain.vo.RingScanInformationLogVo">
  175. -- SELECT
  176. -- sub.count,
  177. -- sub.process_name,
  178. -- sub.native_numbering,
  179. -- sub.order_number,
  180. -- sub.scanning_time,
  181. -- sub.production_order_number,
  182. -- sub.sort,
  183. -- rsif.`status`,
  184. -- rsif.start_time,
  185. -- rsif.end_time,
  186. -- rsif.total_quantity,
  187. -- rsif.production_order_total_quantity
  188. -- FROM
  189. -- (
  190. -- SELECT
  191. -- rsi.process_name,
  192. -- rsi.native_numbering,
  193. -- rsi.order_number,
  194. -- COUNT( rsi.process_name ) `AS count`,
  195. -- rsi.production_order_number,
  196. -- MAX( rsi.scanning_time ) AS scanning_time,
  197. -- pl.sort
  198. -- FROM
  199. -- fjqydb.ring_scan_information AS rsi
  200. -- LEFT JOIN fjqydb.procedure_list AS pl ON pl.procedur_name = rsi.process_name
  201. -- where
  202. -- rsi.execution_mark='1'
  203. -- GROUP BY
  204. -- rsi.production_order_number,
  205. -- rsi.process_name
  206. -- ) AS sub
  207. -- LEFT JOIN fjqydb.ring_scan_information_first AS rsif ON (sub.production_order_number = rsif.production_order_number)
  208. SELECT
  209. count(sub.count) as `count`,
  210. sub.process_name,
  211. sub.order_number,
  212. sub.scanning_time,
  213. sub.production_order_number,
  214. sub.sort,
  215. rsif.`status`,
  216. rsif.start_time,
  217. rsif.end_time,
  218. rsif.total_quantity,
  219. rsif.production_order_total_quantity
  220. FROM
  221. (
  222. SELECT
  223. rsi.process_name,
  224. rsi.native_numbering,
  225. rsi.order_number,
  226. COUNT( rsi.process_name ) AS count,
  227. rsi.production_order_number,
  228. MAX( rsi.scanning_time ) AS scanning_time,
  229. pl.sort
  230. FROM
  231. fjqydb.ring_scan_information AS rsi
  232. LEFT JOIN fjqydb.procedure_list AS pl ON pl.procedur_name = rsi.process_name
  233. WHERE
  234. rsi.execution_mark = '1'
  235. GROUP BY
  236. rsi.production_order_number,rsi.process_name,rsi.native_numbering
  237. ) AS sub
  238. LEFT JOIN fjqydb.ring_scan_information_first AS rsif ON ( sub.production_order_number = rsif.production_order_number )
  239. <where>
  240. <if test="list != null and list.size()>0">
  241. sub.production_order_number IN
  242. <foreach item="id" collection="list" open="(" separator="," close=")">
  243. #{id}
  244. </foreach>
  245. </if>
  246. <if test="list == null or list.size() == 0">
  247. rsi.production_order_number = 'X'
  248. </if>
  249. </where>
  250. GROUP BY
  251. sub.production_order_number,
  252. sub.process_name
  253. ORDER BY
  254. rsif.start_time desc,sub.sort
  255. </select>
  256. <insert id="insertRingScanInformation" parameterType="com.zkqy.amichi.domain.RingScanInformation" useGeneratedKeys="true" keyProperty="id">
  257. insert into fjqydb.ring_scan_information
  258. <trim prefix="(" suffix=")" suffixOverrides=",">
  259. <if test="deviceNumber != null">device_number,</if>
  260. <if test="deviceName != null">device_name,</if>
  261. <if test="scanningTime != null">scanning_time,</if>
  262. <if test="contentInformation != null">content_information,</if>
  263. <if test="nativeNumbering != null">native_numbering,</if>
  264. <if test="personnelName != null">personnel_name,</if>
  265. <if test="process != null">process,</if>
  266. <if test="processName != null">process_name,</if>
  267. <if test="orderNumber != null">order_number,</if>
  268. <if test="productionOrderNumber != null">production_order_number,</if>
  269. <if test="stationId != null">station_id,</if>
  270. <if test="stationName != null">station_name,</if>
  271. <if test="executionMark != null">execution_mark,</if>
  272. <if test="executionMessage != null">execution_message,</if>
  273. </trim>
  274. <trim prefix="values (" suffix=")" suffixOverrides=",">
  275. <if test="deviceNumber != null">#{deviceNumber},</if>
  276. <if test="deviceName != null">#{deviceName},</if>
  277. <if test="scanningTime != null">#{scanningTime},</if>
  278. <if test="contentInformation != null">#{contentInformation},</if>
  279. <if test="nativeNumbering != null">#{nativeNumbering},</if>
  280. <if test="personnelName != null">#{personnelName},</if>
  281. <if test="process != null">#{process},</if>
  282. <if test="processName != null">#{processName},</if>
  283. <if test="orderNumber != null">#{orderNumber},</if>
  284. <if test="productionOrderNumber != null">#{productionOrderNumber},</if>
  285. <if test="stationId != null">#{stationId},</if>
  286. <if test="stationName != null">#{stationName},</if>
  287. <if test="executionMark != null">#{executionMark},</if>
  288. <if test="executionMessage != null">#{executionMessage},</if>
  289. </trim>
  290. </insert>
  291. <update id="updateRingScanInformation" parameterType="com.zkqy.amichi.domain.RingScanInformation">
  292. update fjqydb.ring_scan_information
  293. <trim prefix="SET" suffixOverrides=",">
  294. <if test="deviceNumber != null">device_number = #{deviceNumber},</if>
  295. <if test="deviceName != null">device_name = #{deviceName},</if>
  296. <if test="scanningTime != null">scanning_time = #{scanningTime},</if>
  297. <if test="contentInformation != null">content_information = #{contentInformation},</if>
  298. <if test="stationId != null">station_id=#{stationId},</if>
  299. <if test="stationName != null">station_name=#{stationName},</if>
  300. </trim>
  301. where id = #{id}
  302. </update>
  303. <delete id="deleteRingScanInformationById" parameterType="Long">
  304. delete from fjqydb.ring_scan_information where id = #{id}
  305. </delete>
  306. <delete id="deleteRingScanInformationByIds" parameterType="String">
  307. delete from fjqydb.ring_scan_information where id in
  308. <foreach item="id" collection="array" open="(" separator="," close=")">
  309. #{id}
  310. </foreach>
  311. </delete>
  312. </mapper>