SaleOrderMapper.xml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  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.business.mapper.SaleOrderMapper">
  6. <resultMap type="com.zkqy.business.domain.SaleOrder" id="SaleOrderResult">
  7. <result property="id" column="id"/>
  8. <result property="saleNo" column="sale_no"/>
  9. <result property="saleCustomNo" column="sale_custom_no"/>
  10. <result property="saleDate" column="sale_date"/>
  11. <result property="saleEstimatedTime" column="sale_estimated_time"/>
  12. <result property="saleLeadTime" column="sale_lead_time"/>
  13. <result property="saleProductsNo" column="sale_products_no"/>
  14. <result property="saleAmounts" column="sale_amounts"/>
  15. <result property="saleAmountInWords" column="sale_amount_in_words"/>
  16. <result property="salePayType" column="sale_pay_type"/>
  17. <result property="saleOrderEstimatedTime" column="sale_order_estimated_time"/>
  18. <result property="saleOrderTechnologyNo" column="sale_order_technology_no"/>
  19. <result property="salesman" column="salesman"/>
  20. <result property="saleLeader" column="sale_leader"/>
  21. <result property="finance" column="finance"/>
  22. <result property="production" column="production"/>
  23. <result property="saleApprover" column="sale_approver"/>
  24. <result property="status" column="status"/>
  25. <result property="orderType" column="order_type"/>
  26. <result property="remark" column="remark"/>
  27. <result property="createById" column="create_by_id"/>
  28. <result property="createBy" column="create_by"/>
  29. <result property="createTime" column="create_time"/>
  30. <result property="updateById" column="update_by_id"/>
  31. <result property="updateBy" column="update_by"/>
  32. <result property="updateTime" column="update_time"/>
  33. <result property="delFlag" column="del_flag"/>
  34. <result property="taskProcessKey" column="task_process_key"/>
  35. <result property="taskNodeKey" column="task_node_key"/>
  36. <result property="processKey" column="process_key"/>
  37. <result property="earnestMoney" column="earnest_money"/>
  38. <result property="deliveryDate" column="delivery_date"/>
  39. <result property="lotNumber" column="lot_number"/>
  40. </resultMap>
  41. <sql id="selectSaleOrderVo">
  42. select id,
  43. sale_no,
  44. sale_custom_no,
  45. sale_date,
  46. sale_estimated_time,
  47. sale_lead_time,
  48. sale_products_no,
  49. sale_amounts,
  50. sale_amount_in_words,
  51. sale_pay_type,
  52. sale_order_estimated_time,
  53. sale_order_technology_no,
  54. salesman,
  55. sale_leader,
  56. finance,
  57. production,
  58. sale_approver,
  59. status,
  60. order_type,
  61. remark,
  62. create_by_id,
  63. create_by,
  64. create_time,
  65. update_by_id,
  66. update_by,
  67. update_time,
  68. del_flag,
  69. task_process_key,
  70. task_node_key,
  71. process_key,
  72. earnest_money,
  73. delivery_date,
  74. lot_number
  75. from {DBNAME}.sale_order
  76. </sql>
  77. <select id="selectSaleOrderList" parameterType="com.zkqy.business.domain.SaleOrder" resultMap="SaleOrderResult">
  78. <include refid="selectSaleOrderVo"/>
  79. where del_flag = '0'
  80. <if test="saleNo != null and saleNo != ''">and sale_no = #{saleNo}</if>
  81. <if test="saleCustomNo != null and saleCustomNo != ''">and sale_custom_no = #{saleCustomNo}</if>
  82. <if test="saleDate != null and saleDate != ''">and sale_date = #{saleDate}</if>
  83. <if test="saleEstimatedTime != null ">and sale_estimated_time = #{saleEstimatedTime}</if>
  84. <if test="saleLeadTime != null and saleLeadTime != ''">and sale_lead_time = #{saleLeadTime}</if>
  85. <if test="saleProductsNo != null and saleProductsNo != ''">and sale_products_no = #{saleProductsNo}</if>
  86. <if test="saleAmounts != null ">and sale_amounts = #{saleAmounts}</if>
  87. <if test="saleAmountInWords != null and saleAmountInWords != ''">and sale_amount_in_words =
  88. #{saleAmountInWords}
  89. </if>
  90. <if test="salePayType != null and salePayType != ''">and sale_pay_type = #{salePayType}</if>
  91. <if test="saleOrderEstimatedTime != null and saleOrderEstimatedTime != ''">and sale_order_estimated_time =
  92. #{saleOrderEstimatedTime}
  93. </if>
  94. <if test="saleOrderTechnologyNo != null and saleOrderTechnologyNo != ''">and sale_order_technology_no =
  95. #{saleOrderTechnologyNo}
  96. </if>
  97. <if test="salesman != null and salesman != ''">and salesman = #{salesman}</if>
  98. <if test="saleLeader != null and saleLeader != ''">and sale_leader = #{saleLeader}</if>
  99. <if test="finance != null and finance != ''">and finance = #{finance}</if>
  100. <if test="production != null and production != ''">and production = #{production}</if>
  101. <if test="saleApprover != null and saleApprover != ''">and sale_approver = #{saleApprover}</if>
  102. <if test="status != null and status != ''">and status = #{status}</if>
  103. <if test="orderType != null and orderType != ''">and order_type = #{orderType}</if>
  104. <if test="createById != null ">and create_by_id = #{createById}</if>
  105. <if test="updateById != null ">and update_by_id = #{updateById}</if>
  106. <if test="taskProcessKey != null and taskProcessKey != ''">and task_process_key = #{taskProcessKey}</if>
  107. <if test="taskNodeKey != null and taskNodeKey != ''">and task_node_key = #{taskNodeKey}</if>
  108. <if test="processKey != null and processKey != ''">and process_key = #{processKey}</if>
  109. <if test="earnestMoney != null and earnestMoney != ''">and earnest_money = #{earnestMoney}</if>
  110. <if test="deliveryDate != null and deliveryDate != ''">and delivery_date = #{deliveryDate}</if>
  111. </select>
  112. <select id="selectSaleOrderById" parameterType="Long" resultMap="SaleOrderResult">
  113. <include refid="selectSaleOrderVo"/>
  114. where id = #{id}
  115. </select>
  116. <select id="selectSaleOrderByNo" parameterType="string" resultType="map">
  117. SELECT sale.sale_no AS saleNo,
  118. cus.custom_name AS customName,
  119. tz.delivery_date AS deliveryDate,
  120. tz.dispatch_note_remark AS dispatchNoteRemark
  121. FROM {DBNAME}.sale_order AS sale
  122. LEFT JOIN {DBNAME}.customer AS cus ON sale.sale_custom_no = cus.custom_no
  123. LEFT JOIN {DBNAME}.product_invoice AS tz ON tz.sale_order_no = sale.sale_no
  124. WHERE
  125. sale.sale_no = #{saleOrderNo}
  126. </select>
  127. <insert id="insertSaleOrder" parameterType="com.zkqy.business.domain.SaleOrder" useGeneratedKeys="true"
  128. keyProperty="id">
  129. insert into {DBNAME}.sale_order
  130. <trim prefix="(" suffix=")" suffixOverrides=",">
  131. <if test="saleNo != null">sale_no,</if>
  132. <if test="saleCustomNo != null">sale_custom_no,</if>
  133. <if test="saleDate != null">sale_date,</if>
  134. <if test="saleEstimatedTime != null">sale_estimated_time,</if>
  135. <if test="saleLeadTime != null">sale_lead_time,</if>
  136. <if test="saleProductsNo != null">sale_products_no,</if>
  137. <if test="saleAmounts != null">sale_amounts,</if>
  138. <if test="saleAmountInWords != null">sale_amount_in_words,</if>
  139. <if test="salePayType != null">sale_pay_type,</if>
  140. <if test="saleOrderEstimatedTime != null">sale_order_estimated_time,</if>
  141. <if test="saleOrderTechnologyNo != null">sale_order_technology_no,</if>
  142. <if test="salesman != null">salesman,</if>
  143. <if test="saleLeader != null">sale_leader,</if>
  144. <if test="finance != null">finance,</if>
  145. <if test="production != null">production,</if>
  146. <if test="saleApprover != null">sale_approver,</if>
  147. <if test="status != null">status,</if>
  148. <if test="orderType != null">order_type,</if>
  149. <if test="remark != null">remark,</if>
  150. <if test="createById != null">create_by_id,</if>
  151. <if test="createBy != null">create_by,</if>
  152. <if test="createTime != null">create_time,</if>
  153. <if test="taskProcessKey != null">task_process_key,</if>
  154. <if test="taskNodeKey != null">task_node_key,</if>
  155. <if test="processKey != null">process_key,</if>
  156. <if test="earnestMoney != null">earnest_money,</if>
  157. <if test="deliveryDate != null">delivery_date,</if>
  158. <if test="lotNumber != null">lot_number,</if>
  159. del_flag
  160. </trim>
  161. <trim prefix="values (" suffix=")" suffixOverrides=",">
  162. <if test="saleNo != null">#{saleNo},</if>
  163. <if test="saleCustomNo != null">#{saleCustomNo},</if>
  164. <if test="saleDate != null">#{saleDate},</if>
  165. <if test="saleEstimatedTime != null">#{saleEstimatedTime},</if>
  166. <if test="saleLeadTime != null">#{saleLeadTime},</if>
  167. <if test="saleProductsNo != null">#{saleProductsNo},</if>
  168. <if test="saleAmounts != null">#{saleAmounts},</if>
  169. <if test="saleAmountInWords != null">#{saleAmountInWords},</if>
  170. <if test="salePayType != null">#{salePayType},</if>
  171. <if test="saleOrderEstimatedTime != null">#{saleOrderEstimatedTime},</if>
  172. <if test="saleOrderTechnologyNo != null">#{saleOrderTechnologyNo},</if>
  173. <if test="salesman != null">#{salesman},</if>
  174. <if test="saleLeader != null">#{saleLeader},</if>
  175. <if test="finance != null">#{finance},</if>
  176. <if test="production != null">#{production},</if>
  177. <if test="saleApprover != null">#{saleApprover},</if>
  178. <if test="status != null">#{status},</if>
  179. <if test="orderType != null">#{orderType},</if>
  180. <if test="remark != null">#{remark},</if>
  181. <if test="createById != null">#{createById},</if>
  182. <if test="createBy != null">#{createBy},</if>
  183. <if test="createTime != null">#{createTime},</if>
  184. <if test="taskProcessKey != null">#{taskProcessKey},</if>
  185. <if test="taskNodeKey != null">#{taskNodeKey},</if>
  186. <if test="processKey != null">#{processKey},</if>
  187. <if test="earnestMoney != null">#{earnestMoney},</if>
  188. <if test="deliveryDate != null">#{deliveryDate},</if>
  189. <if test="lotNumber != null">#{lotNumber},</if>
  190. '0'
  191. </trim>
  192. </insert>
  193. <update id="updateSaleOrder" parameterType="com.zkqy.business.domain.SaleOrder">
  194. update {DBNAME}.sale_order
  195. <trim prefix="SET" suffixOverrides=",">
  196. <if test="saleNo != null">sale_no = #{saleNo},</if>
  197. <if test="saleCustomNo != null">sale_custom_no = #{saleCustomNo},</if>
  198. <if test="saleDate != null">sale_date = #{saleDate},</if>
  199. <if test="saleEstimatedTime != null">sale_estimated_time = #{saleEstimatedTime},</if>
  200. <if test="saleLeadTime != null">sale_lead_time = #{saleLeadTime},</if>
  201. <if test="saleProductsNo != null">sale_products_no = #{saleProductsNo},</if>
  202. <if test="saleAmounts != null">sale_amounts = #{saleAmounts},</if>
  203. <if test="saleAmountInWords != null">sale_amount_in_words = #{saleAmountInWords},</if>
  204. <if test="salePayType != null">sale_pay_type = #{salePayType},</if>
  205. <if test="saleOrderEstimatedTime != null">sale_order_estimated_time = #{saleOrderEstimatedTime},</if>
  206. <if test="saleOrderTechnologyNo != null">sale_order_technology_no = #{saleOrderTechnologyNo},</if>
  207. <if test="salesman != null">salesman = #{salesman},</if>
  208. <if test="saleLeader != null">sale_leader = #{saleLeader},</if>
  209. <if test="finance != null">finance = #{finance},</if>
  210. <if test="production != null">production = #{production},</if>
  211. <if test="saleApprover != null">sale_approver = #{saleApprover},</if>
  212. <if test="status != null">status = #{status},</if>
  213. <if test="orderType != null">order_type = #{orderType},</if>
  214. <if test="remark != null">remark = #{remark},</if>
  215. <if test="createById != null">create_by_id = #{createById},</if>
  216. <if test="updateById != null">update_by_id = #{updateById},</if>
  217. <if test="updateBy != null">update_by = #{updateBy},</if>
  218. <if test="updateTime != null">update_time = #{updateTime},</if>
  219. <if test="taskProcessKey != null">task_process_key = #{taskProcessKey},</if>
  220. <if test="taskNodeKey != null">task_node_key = #{taskNodeKey},</if>
  221. <if test="processKey != null">process_key = #{processKey},</if>
  222. <if test="earnestMoney != null">earnest_money = #{earnestMoney},</if>
  223. <if test="deliveryDate != null">delivery_date = #{deliveryDate},</if>
  224. <if test="lotNumber != null">lot_number = #{lotNumber},</if>
  225. </trim>
  226. where id = #{id}
  227. </update>
  228. <delete id="deleteSaleOrderById" parameterType="Long">
  229. delete
  230. from sale_order
  231. where id = #{id}
  232. </delete>
  233. <update id="deleteSaleOrderByIds" parameterType="String">
  234. update {DBNAME}.sale_order set del_flag = '2' where id in
  235. <foreach item="id" collection="list" open="(" separator="," close=")">
  236. #{id}
  237. </foreach>
  238. </update>
  239. <select id="selectSaleOrderBySaleNo" parameterType="String" resultMap="SaleOrderResult">
  240. <include refid="selectSaleOrderVo"/>
  241. where sale_no = #{saleNo} and del_flag = '0'
  242. </select>
  243. <update id="batchUpdateSaleOrder" parameterType="com.zkqy.business.domain.vo.SaleOrderVO">
  244. update {DBNAME}.sale_order
  245. <trim prefix="SET" suffixOverrides=",">
  246. <if test="salesman != null">salesman = #{salesman},</if>
  247. <if test="saleLeader != null">sale_leader = #{saleLeader},</if>
  248. <if test="finance != null">finance = #{finance},</if>
  249. <if test="production != null">production = #{production},</if>
  250. <if test="saleApprover != null">sale_approver = #{saleApprover},</if>
  251. <if test="status != null">status = #{status},</if>
  252. <if test="orderType != null">order_type = #{orderType},</if>
  253. </trim>
  254. where id in
  255. <foreach item="id" collection="idList" open="(" separator="," close=")">
  256. #{id}
  257. </foreach>
  258. </update>
  259. <update id="updateSaleOrderBatch">
  260. <foreach collection="list" item="item" index="index" open="" close="" separator=";">
  261. update {DBNAME}.sale_order
  262. <set>
  263. lot_number=#{item.lotNumber}
  264. </set>
  265. where sale_no =#{item.saleNo}
  266. </foreach>
  267. </update>
  268. <update id="updateSaleOrderBySaleNo">
  269. update {DBNAME}.sale_order
  270. <trim prefix="SET" suffixOverrides=",">
  271. <if test="lotNumber != null">lot_number = #{lotNumber},</if>
  272. <if test="status != null">status = #{status},</if>
  273. </trim>
  274. where sale_no = #{saleNo}
  275. </update>
  276. <select id="selectCustomerIdBySaleNo" resultType="long">
  277. SELECT c.id
  278. FROM {DBNAME}.sale_order so
  279. LEFT JOIN {DBNAME}.customer c
  280. ON so.sale_custom_no = c.custom_no
  281. WHERE
  282. so.sale_no = #{saleNo}
  283. AND so.del_flag = '0'
  284. AND c.del_flag = '0'
  285. </select>
  286. <select id="saleOrderList" resultType="com.zkqy.business.domain.vo.SaleOrderVO">
  287. SELECT
  288. so.id,
  289. so.sale_no,
  290. so.sale_date,
  291. c.custom_name,
  292. so.sale_order_estimated_time,
  293. so.sale_lead_time,
  294. so.sale_amount_in_words,
  295. so.sale_pay_type,
  296. so.salesman,
  297. so.sale_leader,
  298. so.finance,
  299. so.production,
  300. so.sale_approver,
  301. so.status,
  302. so.order_type,
  303. so.delivery_date,
  304. so.remark
  305. FROM
  306. {DBNAME}.sale_order so left join {DBNAME}.customer c on so.sale_custom_no = c.custom_no
  307. where so.del_flag = '0' and c.del_flag = '0'
  308. <if test="queryParam != null and queryParam != ''">
  309. AND CONCAT(
  310. IFNULL( sale_order.sale_no, '' ),
  311. IFNULL( customer.custom_name, '' ),
  312. IFNULL( sale_order.sale_lead_time, '' ))
  313. LIKE concat('%', #{queryParam}, '%')
  314. </if>
  315. <if test="createById != null ">and so.create_by_id = #{createById}</if>
  316. <if test="orderType != null">and so.order_type = #{orderType}</if>
  317. <choose>
  318. <when test="saleOrderTechnologyNo =='retailOrder'">
  319. and so.sale_order_technology_no = 'retailOrder'
  320. </when>
  321. <otherwise>
  322. and so.sale_order_technology_no != 'retailOrder'
  323. </otherwise>
  324. </choose>
  325. order by so.id desc
  326. </select>
  327. </mapper>