OrderMapper.xml 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996
  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.dk.mdm.mapper.sale.OrderMapper">
  4. <!-- 通用设置 -->
  5. <!-- 通用查询列 -->
  6. <sql id="Base_Column_List">
  7. order_id, order_no, order_type, org_id, staff_id, cus_id, address_area, address_name, address_no, address_gcj02, address_full, contact_name, contact_phone, sales_channel, delivery_date, sum_quantity, sum_standard, sum_amount, sale_discount, order_status, out_status, outing_qty, outing_amt, out_qty, out_amt, return_qty, return_amt, amt_receivable, amt_handle, amt_residue, remarks, annex_paths, make_staff, make_time, flg_valid, cp_id
  8. </sql>
  9. <!-- 通用查询映射结果 -->
  10. <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.sale.Order">
  11. <id column="order_id" property="orderId"/>
  12. <result column="order_no" property="orderNo"/>
  13. <result column="order_type" property="orderType"/>
  14. <result column="org_id" property="orgId" typeHandler="UuidTypeHandler"/>
  15. <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
  16. <result column="cus_id" property="cusId" typeHandler="UuidTypeHandler"/>
  17. <result column="address_area" property="addressArea" typeHandler="JsonTypeHandler"/>
  18. <result column="address_name" property="addressName"/>
  19. <result column="address_no" property="addressNo"/>
  20. <result column="address_gcj02" property="addressGcj02" typeHandler="JsonTypeHandler"/>
  21. <result column="address_full" property="addressFull"/>
  22. <result column="contact_name" property="contactName"/>
  23. <result column="contact_phone" property="contactPhone"/>
  24. <result column="sales_channel" property="salesChannel" typeHandler="UuidTypeHandler"/>
  25. <result column="delivery_date" property="deliveryDate" typeHandler="TimestampTypeHandler"/>
  26. <result column="sum_quantity" property="sumQuantity"/>
  27. <result column="sum_standard" property="sumStandard"/>
  28. <result column="sum_amount" property="sumAmount"/>
  29. <result column="sale_discount" property="saleDiscount"/>
  30. <result column="order_status" property="orderStatus"/>
  31. <result column="out_status" property="outStatus"/>
  32. <result column="outing_qty" property="outingQty"/>
  33. <result column="outing_amt" property="outingAmt"/>
  34. <result column="out_qty" property="outQty"/>
  35. <result column="out_amt" property="outAmt"/>
  36. <result column="return_qty" property="returnQty"/>
  37. <result column="return_amt" property="returnAmt"/>
  38. <result column="amt_receivable" property="amtReceivable"/>
  39. <result column="amt_handle" property="amtHandle"/>
  40. <result column="amt_residue" property="amtResidue"/>
  41. <result column="remarks" property="remarks"/>
  42. <result column="annex_paths" property="annexPaths" typeHandler="JsonTypeHandler"/>
  43. <result column="make_staff" property="makeStaff" typeHandler="UuidTypeHandler"/>
  44. <result column="make_time" property="makeTime" typeHandler="TimestampTypeHandler"/>
  45. <result column="flg_valid" property="flgValid"/>
  46. <result column="cp_id" property="cpId"/>
  47. </resultMap>
  48. <!-- 通用查询映射结果 -->
  49. <resultMap id="BaseResultMapResponse" type="com.dk.mdm.model.response.sale.OrderResponse">
  50. <id column="order_id" property="orderId"/>
  51. <result column="order_no" property="orderNo"/>
  52. <result column="order_type" property="orderType"/>
  53. <result column="org_id" property="orgId" typeHandler="UuidTypeHandler"/>
  54. <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
  55. <result column="cus_id" property="cusId" typeHandler="UuidTypeHandler"/>
  56. <result column="address_area" property="addressArea" typeHandler="JsonTypeHandler"/>
  57. <result column="address_name" property="addressName"/>
  58. <result column="orgName" property="orgName"/>
  59. <result column="orderTypeName" property="orderTypeName"/>
  60. <result column="staffName" property="staffName"/>
  61. <result column="cusCode" property="cusCode"/>
  62. <result column="cusName" property="cusName"/>
  63. <result column="cusPhone" property="cusPhone"/>
  64. <result column="cusFrom" property="cusFrom"/>
  65. <result column="cusFromName" property="cusFromName"/>
  66. <result column="channelName" property="channelName"/>
  67. <result column="orderStatusName" property="orderStatusName"/>
  68. <result column="outStatusName" property="outStatusName"/>
  69. <result column="makeStaffName" property="makeStaffName"/>
  70. <result column="address_no" property="addressNo"/>
  71. <result column="address_gcj02" property="addressGcj02" typeHandler="JsonTypeHandler"/>
  72. <result column="address_full" property="addressFull"/>
  73. <result column="contact_name" property="contactName"/>
  74. <result column="contact_phone" property="contactPhone"/>
  75. <result column="sales_channel" property="salesChannel" typeHandler="UuidTypeHandler"/>
  76. <result column="delivery_date" property="deliveryDate" typeHandler="TimestampTypeHandler"/>
  77. <result column="sum_quantity" property="sumQuantity"/>
  78. <result column="sum_standard" property="sumStandard"/>
  79. <result column="sum_amount" property="sumAmount"/>
  80. <result column="sale_discount" property="saleDiscount"/>
  81. <result column="order_status" property="orderStatus"/>
  82. <result column="out_status" property="outStatus"/>
  83. <result column="outing_qty" property="outingQty"/>
  84. <result column="outing_amt" property="outingAmt"/>
  85. <result column="out_qty" property="outQty"/>
  86. <result column="out_amt" property="outAmt"/>
  87. <result column="return_qty" property="returnQty"/>
  88. <result column="return_amt" property="returnAmt"/>
  89. <result column="amt_receivable" property="amtReceivable"/>
  90. <result column="amt_handle" property="amtHandle"/>
  91. <result column="amt_residue" property="amtResidue"/>
  92. <result column="remarks" property="remarks"/>
  93. <result column="annex_paths" property="annexPaths" typeHandler="JsonTypeHandler"/>
  94. <result column="make_staff" property="makeStaff" typeHandler="UuidTypeHandler"/>
  95. <result column="make_time" property="makeTime" typeHandler="TimestampTypeHandler"/>
  96. <result column="flg_valid" property="flgValid"/>
  97. <result column="cp_id" property="cpId"/>
  98. <result column="orderItemResponseList" property="orderItemResponseList" typeHandler="JsonTypeHandler"/>
  99. <!-- <collection property="orderItemResponseList" resultMap="orderItemListMap" />-->
  100. </resultMap>
  101. <resultMap id="orderItemListMap" type="java.util.Map">
  102. <id column="itemId" property="itemId"/>
  103. <result column="orderId" property="orderId" typeHandler="UuidTypeHandler"/>
  104. <result column="itemIndex" property="itemIndex"/>
  105. <result column="orderNo" property="orderNo"/>
  106. <result column="skuId" property="skuId" typeHandler="UuidTypeHandler"/>
  107. <result column="itemQty" property="itemQty"/>
  108. <result column="priceStd" property="priceStd"/>
  109. <result column="amtStd" property="amtStd"/>
  110. <result column="priceStandard" property="priceStandard"/>
  111. <result column="priceSale" property="priceSale"/>
  112. <result column="itemAmt" property="itemAmt"/>
  113. <result column="priceDiscount" property="priceDiscount"/>
  114. <result column="nonStdCode" property="nonStdCode"/>
  115. <result column="outStatus" property="outStatus"/>
  116. <result column="outingQty" property="outingQty"/>
  117. <result column="outingAmt" property="outingAmt"/>
  118. <result column="outQty" property="outQty"/>
  119. <result column="outAmt" property="outAmt"/>
  120. <result column="skuCode" property="skuCode"/>
  121. <result column="skuName" property="skuName"/>
  122. <result column="skuModel" property="skuModel"/>
  123. <result column="returnQty" property="returnQty"/>
  124. <result column="returnAmt" property="returnAmt"/>
  125. <result column="remarks" property="remarks"/>
  126. <result column="flgValid" property="flgValid"/>
  127. <result column="cpId" property="cpId"/>
  128. <result column="pricePurchase" property="pricePurchase"/>
  129. <result column="brandName" property="brandName"/>
  130. <result column="shortName" property="shortName"/>
  131. </resultMap>
  132. <!--小程序用 查询销售订单带明细-->
  133. <resultMap id="BaseResultMapDetailResponse" type="com.dk.mdm.model.response.sale.OrderResponse">
  134. <id column="order_id" property="orderId"/>
  135. <result column="order_no" property="orderNo"/>
  136. <result column="order_type" property="orderType"/>
  137. <result column="org_id" property="orgId" typeHandler="UuidTypeHandler"/>
  138. <result column="staff_id" property="staffId" typeHandler="UuidTypeHandler"/>
  139. <result column="cus_id" property="cusId" typeHandler="UuidTypeHandler"/>
  140. <result column="address_area" property="addressArea" typeHandler="JsonTypeHandler"/>
  141. <result column="address_name" property="addressName"/>
  142. <result column="address_no" property="addressNo"/>
  143. <result column="address_gcj02" property="addressGcj02" typeHandler="JsonTypeHandler"/>
  144. <result column="address_full" property="addressFull"/>
  145. <result column="contact_name" property="contactName"/>
  146. <result column="contact_phone" property="contactPhone"/>
  147. <result column="sales_channel" property="salesChannel" typeHandler="UuidTypeHandler"/>
  148. <result column="delivery_date" property="deliveryDate" typeHandler="TimestampTypeHandler"/>
  149. <result column="sum_quantity" property="sumQuantity"/>
  150. <result column="sum_standard" property="sumStandard"/>
  151. <result column="sum_amount" property="sumAmount"/>
  152. <result column="sale_discount" property="saleDiscount"/>
  153. <result column="order_status" property="orderStatus"/>
  154. <result column="out_status" property="outStatus"/>
  155. <result column="outing_qty" property="outingQty"/>
  156. <result column="outing_amt" property="outingAmt"/>
  157. <result column="out_qty" property="outQty"/>
  158. <result column="out_amt" property="outAmt"/>
  159. <result column="return_qty" property="returnQty"/>
  160. <result column="return_amt" property="returnAmt"/>
  161. <result column="amt_receivable" property="amtReceivable"/>
  162. <result column="amt_handle" property="amtHandle"/>
  163. <result column="amt_residue" property="amtResidue"/>
  164. <result column="remarks" property="remarks"/>
  165. <result column="annex_paths" property="annexPaths" typeHandler="JsonTypeHandler"/>
  166. <result column="make_staff" property="makeStaff" typeHandler="UuidTypeHandler"/>
  167. <result column="make_time" property="makeTime" typeHandler="TimestampTypeHandler"/>
  168. <result column="flg_valid" property="flgValid"/>
  169. <result column="cp_id" property="cpId"/>
  170. <collection property="orderItemResponseList" resultMap="itemListMap" columnPrefix="list_"/>
  171. </resultMap>
  172. <!--小程序用 关联映射-->
  173. <resultMap id="itemListMap" type="java.util.Map">
  174. <result column="item_id" property="itemId"/>
  175. <result column="order_id" property="orderId"/>
  176. <result column="order_no" property="orderNo"/>
  177. <result column="item_index" property="itemIndex"/>
  178. <result column="sku_id" property="skuId"/>
  179. <result column="item_qty" property="itemQty"/>
  180. <result column="price_std" property="priceStd"/>
  181. <result column="amt_std" property="amtStd"/>
  182. <result column="price_sale" property="priceSale"/>
  183. <result column="item_amt" property="itemAmt"/>
  184. <result column="price_discount" property="priceDiscount"/>
  185. <result column="non_std_code" property="nonStdCode"/>
  186. <result column="out_status" property="outStatus"/>
  187. <result column="outing_qty" property="outingQty"/>
  188. <result column="outing_amt" property="outingAmt"/>
  189. <result column="out_qty" property="outQty"/>
  190. <result column="out_amt" property="outAmt"/>
  191. <result column="return_qty" property="returnQty"/>
  192. <result column="return_amt" property="returnAmt"/>
  193. <result column="remarks" property="remarks"/>
  194. <result column="flg_valid" property="flgValid"/>
  195. <result column="cp_id" property="cpId"/>
  196. <result column="sku_code" property="skuCode"/>
  197. <result column="sku_model" property="skuModel"/>
  198. <result column="sku_name" property="skuName"/>
  199. <result column="brand_name" property="brandName"/>
  200. <result column="short_name" property="shortName"/>
  201. <result column="price_purchase" property="pricePurchase"/>
  202. <result column="price_standard" property="priceStandard"/>
  203. <result column="order_qty" property="orderQty"/>
  204. <result column="price_out" property="priceOut"/>
  205. <result column="inv_id" property="invId"/>
  206. <result column="wh_id" property="whId"/>
  207. <result column="inv_qty" property="invQty"/>
  208. <result column="usable_qty" property="usableQty"/>
  209. <result column="wh_name" property="whName"/>
  210. </resultMap>
  211. <!--小程序用 总单-->
  212. <sql id="Base_Column_List_Detail_Join">
  213. t
  214. .
  215. order_id
  216. ,
  217. t.order_no,
  218. t.order_type,
  219. t.org_id,
  220. t.staff_id,
  221. t.cus_id,
  222. t.address_area,
  223. t.address_name,
  224. t.address_no,
  225. t.address_gcj02,
  226. t.address_full,
  227. t.contact_name,
  228. t.contact_phone,
  229. t.sales_channel,
  230. t.delivery_date,
  231. t.sum_quantity,
  232. t.sum_standard,
  233. t.sum_amount, t.sale_discount,
  234. t.order_status, t.out_status,
  235. t.outing_qty, t.outing_amt, t.out_qty,
  236. t.out_amt, t.return_qty, t.return_amt,
  237. t.amt_receivable, amt_handle, amt_residue,
  238. t.remarks, t.annex_paths, t.make_staff, t.make_time,
  239. t.flg_valid, t.cp_id
  240. </sql>
  241. <!--小程序用 明细-->
  242. <sql id="Base_Column_List_Item_Response_Detail_Join">
  243. toi.item_id AS list_item_id,
  244. toi.order_id AS list_order_id,
  245. t.order_no AS list_order_no,
  246. toi.item_index AS list_item_index,
  247. toi.sku_id AS list_sku_id,
  248. toi.item_qty AS list_item_qty,
  249. toi.item_qty AS list_order_qty,
  250. toi.price_std AS list_price_std,
  251. toi.amt_std AS list_amt_std,
  252. toi.price_sale AS list_price_sale,
  253. toi.price_sale AS list_price_out,
  254. toi.item_amt AS list_item_amt,
  255. toi.price_discount AS list_price_discount,
  256. toi.non_std_code AS list_non_std_code,
  257. toi.out_status AS list_out_status,
  258. toi.outing_qty AS list_outing_qty,
  259. toi.outing_amt AS list_outing_amt,
  260. toi.out_qty AS list_out_qty,
  261. toi.out_amt AS list_out_amt,
  262. toi.return_qty AS list_return_qty,
  263. toi.return_amt AS list_return_amt,
  264. toi.remarks AS list_remarks,
  265. toi.flg_valid AS list_flg_valid,
  266. toi.cp_id AS list_cp_id,
  267. tmgs.sku_code AS list_sku_code,
  268. tmgs.sku_model AS list_sku_model,
  269. tmgs.sku_name AS list_sku_name,
  270. tmgb.brand_name AS list_brand_name,
  271. tmgb.short_name AS list_short_name,
  272. tmgs.price_purchase AS list_price_purchase,
  273. tmgs.price_standard AS list_price_standard,
  274. i.inv_id as list_inv_id,
  275. i.wh_id as list_wh_id,
  276. i.inv_qty as list_inv_qty,
  277. i.usable_qty as list_usable_qty,
  278. i.wh_name as list_wh_name
  279. </sql>
  280. <!-- 通用条件列 -->
  281. <sql id="Condition">
  282. <where>
  283. <if test="orderNo != null and orderNo != ''">
  284. AND t.order_no LIKE concat('%',my_ex.likequery(#{orderNo}),'%')
  285. </if>
  286. <if test="orderType != null and orderType != ''">
  287. AND t.order_type = #{orderType}
  288. </if>
  289. <if test="orgId != null and orgId != ''">
  290. AND t.org_id = #{orgId}
  291. </if>
  292. <if test="staffId != null and staffId != ''">
  293. AND t.staff_id = #{staffId}
  294. </if>
  295. <if test="cusId != null and cusId != ''">
  296. AND t.cus_id = #{cusId}
  297. </if>
  298. <if test="addressArea != null and addressArea != ''">
  299. AND t.address_area = #{addressArea}
  300. </if>
  301. <if test="addressName != null and addressName != ''">
  302. AND t.address_name = #{addressName}
  303. </if>
  304. <if test="addressNo != null and addressNo != ''">
  305. AND t.address_no = #{addressNo}
  306. </if>
  307. <if test="addressGcj02 != null and addressGcj02 != ''">
  308. AND t.address_gcj02 = #{addressGcj02}
  309. </if>
  310. <if test="addressFull != null and addressFull != ''">
  311. AND t.address_full LIKE concat('%',my_ex.likequery(#{addressFull}),'%')
  312. </if>
  313. <if test="contactName != null and contactName != ''">
  314. AND t.contact_name LIKE concat('%',my_ex.likequery(#{contactName}),'%')
  315. </if>
  316. <if test="contactPhone != null and contactPhone != ''">
  317. AND t.contact_phone LIKE concat('%',my_ex.likequery(#{contactPhone}),'%')
  318. </if>
  319. <if test="salesChannel != null and salesChannel != ''">
  320. AND t.sales_channel = #{salesChannel}
  321. </if>
  322. <if test="sumQuantity != null">
  323. AND t.sum_quantity = #{sumQuantity}
  324. </if>
  325. <if test="sumStandard != null">
  326. AND t.sum_standard = #{sumStandard}
  327. </if>
  328. <if test="sumAmount != null">
  329. AND t.sum_amount = #{sumAmount}
  330. </if>
  331. <if test="saleDiscount != null">
  332. AND t.sale_discount = #{saleDiscount}
  333. </if>
  334. <if test="orderStatus != null and orderStatus != ''">
  335. AND t.order_status = #{orderStatus}
  336. </if>
  337. <if test="outStatus != null and outStatus != ''">
  338. AND t.out_status = #{outStatus}
  339. </if>
  340. <if test="outingQty != null">
  341. AND t.outing_qty = #{outingQty}
  342. </if>
  343. <if test="outingAmt != null">
  344. AND t.outing_amt = #{outingAmt}
  345. </if>
  346. <if test="outQty != null">
  347. AND t.out_qty = #{outQty}
  348. </if>
  349. <if test="outAmt != null">
  350. AND t.out_amt = #{outAmt}
  351. </if>
  352. <if test="returnQty != null">
  353. AND t.return_qty = #{returnQty}
  354. </if>
  355. <if test="returnAmt != null">
  356. AND t.return_amt = #{returnAmt}
  357. </if>
  358. <if test="amtReceivable != null">
  359. AND t.amt_receivable = #{amtReceivable}
  360. </if>
  361. <if test="amtHandle != null">
  362. AND t.amt_handle = #{amtHandle}
  363. </if>
  364. <if test="amtResidue != null">
  365. AND t.amt_residue = #{amtResidue}
  366. </if>
  367. <if test="remarks != null and remarks != ''">
  368. AND t.remarks LIKE concat('%',my_ex.likequery(#{remarks}),'%')
  369. </if>
  370. <if test="annexPaths != null and annexPaths != ''">
  371. AND t.annex_paths = #{annexPaths}
  372. </if>
  373. <if test="makeStaff != null and makeStaff != ''">
  374. AND t.make_staff = #{makeStaff}
  375. </if>
  376. <if test="makeTime != null">
  377. AND t.make_time = #{makeTime}
  378. </if>
  379. <if test="cpId != null">
  380. AND t.cp_id = #{cpId}
  381. </if>
  382. <if test="cusPhone != null and cusPhone != ''">
  383. AND tmc.cus_phone LIKE concat('%',my_ex.likequery(#{cusPhone}),'%')
  384. </if>
  385. <if test="cusName != null and cusName != ''">
  386. AND tmc.cus_name LIKE concat('%',my_ex.likequery(#{cusName}),'%')
  387. </if>
  388. <if test="orgIdList != null and orgIdList.size() > 0">
  389. AND t.org_id =any(#{orgIdList, typeHandler=uuidListTypeHandler})
  390. </if>
  391. <if test="staffIdList != null and staffIdList.size() > 0">
  392. AND t.staff_id =any(#{staffIdList, typeHandler=uuidListTypeHandler})
  393. </if>
  394. <if test="outStatusList != null and outStatusList.size() > 0">
  395. AND t.out_status =any(#{outStatusList, typeHandler=StringListTypeHandler})
  396. </if>
  397. <if test="deliveryDateStart != null and deliveryDateEnd != null">
  398. AND t.delivery_date &gt;= #{deliveryDateStart}::timestamp with time zone
  399. AND t.delivery_date &lt; #{deliveryDateEnd}::timestamp with time zone + interval '1 day'
  400. </if>
  401. <if test="makeTimeStart != null and makeTimeEnd != null">
  402. AND t.make_time &gt;= #{makeTimeStart}::timestamp with time zone
  403. AND t.make_time &lt; #{makeTimeEnd}::timestamp with time zone + interval '1 day'
  404. </if>
  405. <if test="flgValidList != null and flgValidList.size()>0">
  406. AND t.flg_valid =any(#{flgValidList, typeHandler=BooleanListTypeHandler})
  407. </if>
  408. <if test="staffIds != null and staffIds.size()>0">
  409. AND t.staff_id = any(#{staffIds, typeHandler=uuidListTypeHandler})
  410. </if>
  411. <if test="orgIds != null and orgIds.size()>0">
  412. AND t.org_id = any(#{orgIds, typeHandler=uuidListTypeHandler})
  413. </if>
  414. <if test="createtimeStart != null and createtimeEnd != null">
  415. AND t.op_create_time &gt;= #{createtimeStart}::timestamp with time zone
  416. AND t.op_create_time &lt; #{createtimeEnd}::timestamp with time zone + interval '1 day'
  417. </if>
  418. <if test="searchText !=null">
  419. AND ( t.order_no LIKE concat('%', my_ex.likequery(#{searchText}), '%')
  420. OR t.contact_phone LIKE concat('%', my_ex.likequery(#{searchText}), '%')
  421. OR t.address_full LIKE concat('%', my_ex.likequery(#{searchText}), '%')
  422. OR t.remarks LIKE concat('%', my_ex.likequery(#{searchText}), '%')
  423. )
  424. </if>
  425. </where>
  426. </sql>
  427. <sql id="idsForeach">
  428. <!-- 根据主键orderId批量操作 -->
  429. WHERE order_id in
  430. <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
  431. #{item}
  432. </foreach>
  433. </sql>
  434. <!-- 查询表t_psi_order,(条件查询+分页)列表 -->
  435. <select id="selectByCond" resultMap="BaseResultMapResponse">
  436. SELECT t.order_id,
  437. t.order_no,
  438. t.order_type,
  439. sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) as "orderTypeName",
  440. t.org_id,
  441. tmo.org_name as "orgName",
  442. t.staff_id,
  443. tms.staff_name as "staffName",
  444. t.cus_id,
  445. tmc.cus_code as "cusCode",
  446. tmc.cus_name as "cusName",
  447. tmc.cus_phone as "cusPhone",
  448. tmc.cus_from as "cusFrom",
  449. tmdd.data_value as "cusFromName",
  450. t.address_area,
  451. t.address_name,
  452. t.address_no,
  453. t.address_gcj02,
  454. t.address_full,
  455. t.contact_name,
  456. t.contact_phone,
  457. t.sales_channel,
  458. tmsc.channel_name as "channelName",
  459. t.delivery_date,
  460. t.sum_quantity,
  461. t.sum_standard,
  462. t.sum_amount,
  463. t.sale_discount,
  464. t.order_status,
  465. sys.f_get_name_i18n(tdk2.kind_name_i18n, #{i18n}) as "orderStatusName",
  466. t.out_status,
  467. sys.f_get_name_i18n(tdk3.kind_name_i18n, #{i18n}) as "outStatusName",
  468. t.outing_qty,
  469. t.outing_amt,
  470. t.out_qty,
  471. t.out_amt,
  472. t.return_qty,
  473. t.return_amt,
  474. t.amt_receivable,
  475. t.amt_handle,
  476. t.amt_residue,
  477. t.remarks,
  478. t.annex_paths,
  479. makestaff.staff_name as "makeStaffName",
  480. t.make_time,
  481. t.cp_id,
  482. t.flg_valid
  483. FROM dkic_b.t_psi_order as t
  484. left join dkic_b.t_mst_sale_channel tmsc on t.sales_channel = tmsc.channel_id
  485. left join dkic_b.t_mst_org tmo on t.org_id = tmo.org_id
  486. left join dkic_b.t_mst_staff tms on t.staff_id = tms.staff_id
  487. left join dkic_b.t_mst_staff as makestaff on t.make_staff = makestaff.staff_id
  488. left join dkic_b.t_mst_customer tmc on t.cus_id = tmc.cus_id
  489. left join dkic_b.t_mst_dictionary_data tmdd on tmc.cus_from = tmdd.data_id
  490. left join sys.t_data_kind as tdk1 on t.order_type = tdk1.kind_code
  491. left join sys.t_data_kind as tdk2 on t.order_status = tdk2.kind_code
  492. left join sys.t_data_kind as tdk3 on t.out_status = tdk3.kind_code
  493. <include refid="Condition"/>
  494. order by t.op_create_time desc
  495. <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
  496. limit #{end} offset #{start}
  497. </if>
  498. </select>
  499. <sql id="Base_Column_List_Item_Response_Join">
  500. toi.item_id AS toi_item_id,
  501. t.order_id AS toi_order_id,
  502. t.order_no AS toi_order_no,
  503. toi.order_id AS toi_order_id,
  504. toi.item_index AS toi_item_index,
  505. toi.sku_id AS toi_sku_id,
  506. toi.item_qty AS toi_item_qty,
  507. toi.price_std AS toi_price_std,
  508. toi.amt_std AS toi_amt_std,
  509. toi.price_sale AS toi_price_sale,
  510. toi.item_amt AS toi_item_amt,
  511. toi.price_discount AS toi_price_discount,
  512. toi.non_std_code AS toi_non_std_code,
  513. toi.out_status AS toi_out_status,
  514. toi.outing_qty AS toi_outing_qty,
  515. toi.outing_amt AS toi_outing_amt,
  516. toi.out_qty AS toi_out_qty,
  517. toi.out_amt AS toi_out_amt,
  518. toi.return_qty AS toi_return_qty,
  519. toi.return_amt AS toi_return_amt,
  520. toi.remarks AS toi_remarks,
  521. toi.flg_valid AS toi_flg_valid,
  522. toi.cp_id AS toi_cp_id,
  523. tmgs.sku_code AS toi_sku_code,
  524. tmgs.sku_model AS toi_sku_model,
  525. tmgs.sku_name AS toi_sku_name,
  526. tmgb.brand_name AS toi_brand_name,
  527. tmgb.short_name AS toi_short_name,
  528. tmgs.price_purchase AS toi_price_purchase,
  529. tmgs.price_standard AS toi_price_standard
  530. </sql>
  531. <!-- 查询表t_psi_order,(条件查询+分页)列表 -->
  532. <select id="purSaleSelectByCond" resultType="Map">
  533. SELECT T
  534. .order_no AS "orderNo",
  535. T.order_type AS "orderType",
  536. sys.f_get_name_i18n ( tdk1.kind_name_i18n, #{ i18n } ) AS "orderTypeName",
  537. T.org_id AS "orgId",
  538. tmo.org_name AS "orgName",
  539. T.staff_id AS "staffId",
  540. tms.staff_name AS "staffName",
  541. T.cus_id AS "cusId",
  542. tmc.cus_code AS "cusCode",
  543. tmc.cus_name AS "cusName",
  544. tmc.cus_phone AS "cusPhone",
  545. tmc.cus_from AS "cusFrom",
  546. tmdd.data_value AS "dataValue",
  547. T.address_area AS "addressArea",
  548. T.address_name AS "addressName",
  549. T.address_no AS "addressNo",
  550. T.address_gcj02 AS "addressGcj02",
  551. T.address_full AS "addressFull",
  552. T.contact_name AS "contactName",
  553. T.contact_phone AS "contactPhone",
  554. T.sales_channel AS "salesChannel",
  555. tmsc.channel_name AS "channelName",
  556. T.delivery_date AS "deliveryDate",
  557. T.sum_quantity AS "sumQuantity",
  558. T.sum_standard AS "sumStandard",
  559. T.sum_amount AS "sumAmount",
  560. T.sale_discount AS "saleDiscount",
  561. T.order_status AS "orderStatus",
  562. sys.f_get_name_i18n ( tdk2.kind_name_i18n, #{ i18n } ) AS "orderStatusName",
  563. T.out_status AS "outStatus",
  564. sys.f_get_name_i18n ( tdk3.kind_name_i18n, #{ i18n } ) AS "outStatusName",
  565. T.outing_qty AS "outingQty",
  566. T.outing_amt AS "outingAmt",
  567. T.out_qty AS "outQty",
  568. T.out_amt AS "outAmt",
  569. T.return_qty AS "returnQty",
  570. T.return_amt AS "returnAmt",
  571. T.amt_receivable AS "amtReceivable",
  572. T.amt_handle AS "amtHandle",
  573. T.amt_residue AS "amtResidue",
  574. T.remarks AS "remarks",
  575. T.annex_paths AS "annexPaths",
  576. makestaff.staff_name AS "makeStaffName",
  577. T.make_time AS "annexPaths",
  578. T.cp_id AS "cpId",
  579. T.flg_valid AS "flgValid",
  580. (
  581. SELECT
  582. json_agg ( row_to_json ( item ) )
  583. FROM
  584. (
  585. SELECT
  586. toi.item_id AS "itemId",
  587. T.order_id AS "orderId",
  588. T.order_no AS "orderNo",
  589. toi.order_id AS "orderId",
  590. toi.item_index AS "itemIndex",
  591. toi.sku_id AS "skuId",
  592. toi.item_qty AS "itemQty",
  593. toi.price_std AS "priceStd",
  594. toi.amt_std AS "amtStd",
  595. toi.price_sale AS "priceSale",
  596. toi.item_amt AS "itemAmt",
  597. toi.price_discount AS "priceDiscount",
  598. toi.non_std_code AS "nonStdCode",
  599. toi.out_status AS "outStatus",
  600. toi.outing_qty AS "outingQty",
  601. toi.outing_amt AS "outingAmt",
  602. toi.out_qty AS "outQty",
  603. toi.out_amt AS "outAmt",
  604. toi.return_qty AS "returnQty",
  605. toi.return_amt AS "returnAmt",
  606. toi.remarks AS "remarks",
  607. toi.flg_valid AS "flgValid",
  608. toi.cp_id AS "cpId",
  609. tmgs.sku_code AS "skuCode",
  610. tmgs.sku_model AS "skuModel",
  611. tmgs.sku_name AS "skuName",
  612. tmgb.brand_name AS "brandName",
  613. tmgb.short_name AS "shortName",
  614. tmgs.price_purchase AS "pricePurchase",
  615. tmgs.price_standard AS "priceStandard"
  616. FROM
  617. dkic_b.t_psi_order_item toi
  618. LEFT JOIN dkic_b.t_mst_goods_sku tmgs ON tmgs.sku_id = toi.sku_id
  619. LEFT JOIN dkic_b.t_mst_goods_brand tmgb ON tmgb.brand_id = tmgs.brand_id
  620. WHERE
  621. toi.order_id = T.order_id
  622. ) item
  623. ) AS "orderItemResponseList"
  624. FROM
  625. dkic_b.t_psi_order
  626. AS T LEFT JOIN dkic_b.t_psi_order_item toi ON toi.order_id = T.order_id
  627. LEFT JOIN dkic_b.t_mst_sale_channel tmsc ON T.sales_channel = tmsc.channel_id
  628. LEFT JOIN dkic_b.t_mst_org tmo ON T.org_id = tmo.org_id
  629. LEFT JOIN dkic_b.t_mst_staff tms ON T.staff_id = tms.staff_id
  630. LEFT JOIN dkic_b.t_mst_staff AS makestaff ON T.make_staff = makestaff.staff_id
  631. LEFT JOIN dkic_b.t_mst_customer tmc ON T.cus_id = tmc.cus_id
  632. LEFT JOIN dkic_b.t_mst_dictionary_data tmdd ON tmc.cus_from = tmdd.data_id
  633. LEFT JOIN sys.t_data_kind AS tdk1 ON T.order_type = tdk1.kind_code
  634. LEFT JOIN sys.t_data_kind AS tdk2 ON T.order_status = tdk2.kind_code
  635. LEFT JOIN sys.t_data_kind AS tdk3 ON T.out_status = tdk3.kind_code
  636. <include refid="Condition"/>
  637. order by t.op_create_time desc
  638. <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
  639. limit #{end} offset #{start}
  640. </if>
  641. </select>
  642. <!-- 查询表t_psi_order,(条件查询)个数 -->
  643. <select id="countByCond" resultType="Long">
  644. SELECT
  645. count(1)
  646. FROM dkic_b.t_psi_order as t
  647. left join dkic_b.t_mst_customer tmc on t.cus_id = tmc.cus_id
  648. left join dkic_b.t_psi_order_item toi on toi.order_id = t.order_id
  649. <include refid="Condition"/>
  650. </select>
  651. <!-- 根据主键查询表t_psi_order的一行数据 -->
  652. <select id="selectById" resultMap="BaseResultMapResponse">
  653. SELECT t.order_id,
  654. t.order_no,
  655. t.order_type,
  656. sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) as "orderTypeName",
  657. t.org_id,
  658. tmo.org_name as "orgName",
  659. t.staff_id,
  660. tms.staff_name as "staffName",
  661. t.cus_id,
  662. tmc.cus_code as "cusCode",
  663. tmc.cus_name as "cusName",
  664. tmc.cus_phone as "cusPhone",
  665. tmc.cus_from as "cusFrom",
  666. tmdd.data_value as "cusFromName",
  667. t.address_area,
  668. t.address_name,
  669. t.address_no,
  670. t.address_gcj02,
  671. t.address_full,
  672. t.contact_name,
  673. t.contact_phone,
  674. t.sales_channel,
  675. tmsc.channel_name as "channelName",
  676. t.delivery_date,
  677. t.sum_quantity,
  678. t.sum_standard,
  679. t.sum_amount,
  680. t.sale_discount,
  681. t.order_status,
  682. sys.f_get_name_i18n(tdk2.kind_name_i18n, #{i18n}) as "orderStatusName",
  683. t.out_status,
  684. sys.f_get_name_i18n(tdk3.kind_name_i18n, #{i18n}) as "outStatusName",
  685. t.outing_qty,
  686. t.outing_amt,
  687. t.out_qty,
  688. t.out_amt,
  689. t.return_qty,
  690. t.return_amt,
  691. t.amt_receivable,
  692. t.amt_handle,
  693. t.amt_residue,
  694. t.remarks,
  695. t.annex_paths,
  696. t.make_staff,
  697. makestaff.staff_name as "makeStaffName",
  698. t.make_time,
  699. t.cp_id
  700. FROM dkic_b.t_psi_order as t
  701. left join dkic_b.t_mst_sale_channel tmsc on t.sales_channel = tmsc.channel_id
  702. left join dkic_b.t_mst_org tmo on t.org_id = tmo.org_id
  703. left join dkic_b.t_mst_staff tms on t.staff_id = tms.staff_id
  704. left join dkic_b.t_mst_staff as makestaff on t.make_staff = makestaff.staff_id
  705. left join dkic_b.t_mst_customer tmc on t.cus_id = tmc.cus_id
  706. left join dkic_b.t_mst_dictionary_data tmdd on tmc.cus_from = tmdd.data_id
  707. left join sys.t_data_kind as tdk1 on t.order_type = tdk1.kind_code
  708. left join sys.t_data_kind as tdk2 on t.order_status = tdk2.kind_code
  709. left join sys.t_data_kind as tdk3 on t.out_status = tdk3.kind_code
  710. WHERE t.order_id = #{id}::uuid
  711. </select>
  712. <!-- 根据主键锁定表t_psi_order的一行数据 -->
  713. <select id="selectByIdForUpdate" resultMap="BaseResultMap">
  714. SELECT
  715. <include refid="Base_Column_List"/>
  716. FROM dkic_b.t_psi_order
  717. WHERE order_id = #{id}::uuid
  718. for update
  719. </select>
  720. <!-- 根据主键锁定表t_psi_order的多行数据 -->
  721. <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
  722. SELECT
  723. <include refid="Base_Column_List"/>
  724. FROM dkic_b.t_psi_order
  725. <include refid="idsForeach"/>
  726. for update
  727. </select>
  728. <insert id="insertBatch">
  729. insert into dkic_b.t_psi_order
  730. (
  731. <trim suffixOverrides=",">
  732. order_no,
  733. order_type,
  734. org_id,
  735. staff_id,
  736. cus_id,
  737. address_area,
  738. address_name,
  739. address_no,
  740. address_gcj02,
  741. address_full,
  742. contact_name,
  743. contact_phone,
  744. sales_channel,
  745. delivery_date,
  746. sum_quantity,
  747. sum_standard,
  748. sum_amount,
  749. sale_discount,
  750. order_status,
  751. out_status,
  752. outing_qty,
  753. outing_amt,
  754. out_qty,
  755. out_amt,
  756. return_qty,
  757. return_amt,
  758. amt_receivable,
  759. amt_handle,
  760. amt_residue,
  761. remarks,
  762. annex_paths,
  763. make_staff,
  764. make_time,
  765. cp_id,
  766. op_app_code,
  767. </trim>
  768. )
  769. values
  770. <foreach collection="list" index="index" item="item" separator=",">
  771. (
  772. <trim suffixOverrides=",">
  773. #{item.orderNo},
  774. #{item.orderType},
  775. #{item.orgId}::uuid,
  776. #{item.staffId}::uuid,
  777. #{item.cusId}::uuid,
  778. #{item.addressArea},
  779. #{item.addressName},
  780. #{item.addressNo},
  781. #{item.addressGcj02},
  782. #{item.addressFull},
  783. #{item.contactName},
  784. #{item.contactPhone},
  785. #{item.salesChannel}::uuid,
  786. #{item.deliveryDate},
  787. #{item.sumQuantity},
  788. #{item.sumStandard},
  789. #{item.sumAmount},
  790. #{item.saleDiscount},
  791. #{item.orderStatus},
  792. #{item.outStatus},
  793. #{item.outingQty},
  794. #{item.outingAmt},
  795. #{item.outQty},
  796. #{item.outAmt},
  797. #{item.returnQty},
  798. #{item.returnAmt},
  799. #{item.amtReceivable},
  800. #{item.amtHandle},
  801. #{item.amtResidue},
  802. #{item.remarks},
  803. #{item.annexPaths},
  804. #{item.makeStaff}::uuid,
  805. #{item.makeTime},
  806. #{item.cpId},
  807. #{item.opAppCode},
  808. </trim>
  809. )
  810. </foreach>
  811. </insert>
  812. <!-- 根据id修改-->
  813. <update id="updateById" parameterType="com.dk.mdm.model.pojo.sale.Order">
  814. update dkic_b.t_psi_order
  815. <set>
  816. <if test=" et!=null and et.orderType != null">
  817. order_type =#{et.orderType,jdbcType=VARCHAR},
  818. </if>
  819. <if test=" et!=null and et.orgId != null">
  820. org_id =#{et.orgId,typeHandler=UuidTypeHandler},
  821. </if>
  822. <if test=" et!=null and et.staffId != null">
  823. staff_id =#{et.staffId,typeHandler=UuidTypeHandler},
  824. </if>
  825. <if test=" et!=null and et.cusId != null">
  826. cus_id =#{et.cusId,typeHandler=UuidTypeHandler},
  827. </if>
  828. <if test=" et!=null and et.addressArea != null">
  829. address_area =#{et.addressArea,typeHandler=JsonTypeHandler},
  830. </if>
  831. <if test=" et!=null and et.addressName != null">
  832. address_name =#{et.addressName,jdbcType=VARCHAR},
  833. </if>
  834. <if test=" et!=null and et.addressNo != null">
  835. address_no =#{et.addressNo,jdbcType=VARCHAR},
  836. </if>
  837. <if test=" et!=null and et.addressGcj02 != null">
  838. address_gcj02 =#{et.addressGcj02,typeHandler=JsonTypeHandler},
  839. </if>
  840. <if test=" et!=null and et.addressFull != null">
  841. address_full =#{et.addressFull,jdbcType=VARCHAR},
  842. </if>
  843. <if test=" et!=null and et.contactName != null">
  844. contact_name =#{et.contactName,jdbcType=VARCHAR},
  845. </if>
  846. <if test=" et!=null and et.contactPhone != null">
  847. contact_phone =#{et.contactPhone,jdbcType=VARCHAR},
  848. </if>
  849. <if test=" et!=null and et.salesChannel != null">
  850. sales_channel =#{et.salesChannel,jdbcType=OTHER},
  851. </if>
  852. <if test=" et!=null and et.deliveryDate != null">
  853. delivery_date =#{et.deliveryDate,jdbcType=DATE},
  854. </if>
  855. <if test=" et!=null and et.sumQuantity != null">
  856. sum_quantity =#{et.sumQuantity,jdbcType=NUMERIC},
  857. </if>
  858. <if test=" et!=null and et.sumStandard != null">
  859. sum_standard =#{et.sumStandard,jdbcType=NUMERIC},
  860. </if>
  861. <if test=" et!=null and et.sumAmount != null">
  862. sum_amount =#{et.sumAmount,jdbcType=NUMERIC},
  863. </if>
  864. <if test=" et!=null and et.saleDiscount != null">
  865. sale_discount =#{et.saleDiscount,jdbcType=NUMERIC},
  866. </if>
  867. <if test=" et!=null and et.orderStatus != null">
  868. order_status =#{et.orderStatus,jdbcType=VARCHAR},
  869. </if>
  870. <if test=" et!=null and et.outStatus != null">
  871. out_status =#{et.outStatus,jdbcType=VARCHAR},
  872. </if>
  873. <if test=" et!=null and et.outingQty != null">
  874. outing_qty = outing_qty + #{et.outingQty,jdbcType=NUMERIC},
  875. </if>
  876. <if test=" et!=null and et.outingAmt != null">
  877. outing_amt = outing_amt + #{et.outingAmt,jdbcType=NUMERIC},
  878. </if>
  879. <if test=" et!=null and et.outQty != null">
  880. out_qty =out_qty + #{et.outQty,jdbcType=NUMERIC},
  881. </if>
  882. <if test=" et!=null and et.outAmt != null">
  883. out_amt = out_amt + #{et.outAmt,jdbcType=NUMERIC},
  884. </if>
  885. <if test=" et!=null and et.returnQty != null">
  886. return_qty =#{et.returnQty,jdbcType=NUMERIC},
  887. </if>
  888. <if test=" et!=null and et.returnAmt != null">
  889. return_amt =#{et.returnAmt,jdbcType=NUMERIC},
  890. </if>
  891. <if test=" et!=null and et.amtReceivable != null">
  892. amt_receivable =#{et.amtReceivable,jdbcType=NUMERIC},
  893. </if>
  894. <if test=" et!=null and et.amtHandle != null">
  895. amt_handle =#{et.amtHandle,jdbcType=NUMERIC},
  896. </if>
  897. <if test=" et!=null and et.amtResidue != null">
  898. amt_residue =#{et.amtResidue,jdbcType=NUMERIC},
  899. </if>
  900. <if test=" et!=null and et.remarks != null">
  901. remarks =#{et.remarks,jdbcType=VARCHAR},
  902. </if>
  903. <if test=" et!=null and et.annexPaths != null">
  904. annex_paths =#{et..annexPaths,typeHandler=JsonTypeHandler},
  905. </if>
  906. <if test=" et!=null and et.makeStaff != null">
  907. make_staff =#{et.makeStaff,jdbcType=OTHER},
  908. </if>
  909. <if test=" et!=null and et.makeTime != null">
  910. make_time =#{et.makeTime,jdbcType=TIMESTAMP},
  911. </if>
  912. <if test=" et!=null and et.flgValid != null">
  913. flg_valid =#{et.flgValid,jdbcType=BOOLEAN},
  914. </if>
  915. <if test=" et!=null and et.cpId != null">
  916. cp_id =#{et.cpId,jdbcType=INTEGER},
  917. </if>
  918. </set>
  919. where order_id =#{et.orderId,typeHandler=UuidTypeHandler}
  920. and sum_quantity >= (out_qty + outing_qty)
  921. </update>
  922. <!-- 小程序 条件查询(总单带明细)-->
  923. <select id="selectByCondDetail" resultMap="BaseResultMapDetailResponse">
  924. SELECT
  925. <include refid="Base_Column_List_Detail_Join"/>,
  926. <include refid="Base_Column_List_Item_Response_Detail_Join"/>
  927. FROM dkic_b.t_psi_order as t
  928. left join dkic_b.t_psi_order_item toi on toi.order_id = t.order_id
  929. inner join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = toi.sku_id
  930. left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id = tmgs.brand_id
  931. left join(SELECT T.*
  932. FROM (select tpi.inv_id,
  933. tpi.wh_id,
  934. tpi.inv_qty,
  935. tpi.usable_qty,
  936. tpi.sku_id,
  937. tpi.non_std_code,
  938. tpi.cp_id,
  939. tmw.wh_name,
  940. rank()
  941. over (partition by tpi.cp_id,tpi.sku_id,tpi.non_std_code order by tpi.inv_id) as RK
  942. from dkic_b.t_psi_inventory as tpi
  943. left join dkic_b.t_mst_warehouse as tmw on tmw.wh_id = tpi.wh_id) T
  944. WHERE T.RK = 1) as i
  945. on i.sku_id = toi.sku_id and i.non_std_code = toi.non_std_code and i.cp_id = toi.cp_id
  946. <include refid="Condition"/>
  947. order by t.op_create_time desc
  948. <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
  949. limit #{end} offset #{start}
  950. </if>
  951. </select>
  952. <!--小程序-->
  953. <select id="countByCondDetail" resultType="Long">
  954. SELECT
  955. count(1)
  956. FROM dkic_b.t_psi_order as t
  957. <include refid="Condition"/>
  958. </select>
  959. <!--修改退货信息 -->
  960. <update id="updateReturnMessage" parameterType="com.dk.mdm.model.pojo.sale.Order">
  961. update dkic_b.t_psi_order
  962. <set>
  963. <if test=" returnQty != null">
  964. return_qty = return_qty + #{returnQty,jdbcType=NUMERIC},
  965. </if>
  966. <if test=" returnAmt != null">
  967. return_amt = return_amt + #{returnAmt,jdbcType=NUMERIC},
  968. </if>
  969. </set>
  970. where order_id = #{orderId,typeHandler=UuidTypeHandler}
  971. and out_qty >= return_qty
  972. </update>
  973. </mapper>