OrderMapper.xml 47 KB

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