InboundItemMapper.xml 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659
  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.ivt.InboundItemMapper">
  4. <!-- 通用设置 -->
  5. <!-- 通用查询列 -->
  6. <sql id="Base_Column_List">
  7. item_id, into_id, into_type, from_id, from_item_id, item_index, sku_id, price_into, non_std_code,
  8. into_status, sys.f_remove_zero(intoing_qty) as intoing_qty, intoing_amt, sys.f_remove_zero(into_qty) as into_qty,
  9. into_amt, sys.f_remove_zero(return_qty) as return_qty, return_amt,
  10. remarks, inv_id, cost_price, cost_amt, sys.f_remove_zero(out_qty) as out_qty, sys.f_remove_zero(inv_qty) as inv_qty, flg_valid, cp_id, op_create_time,
  11. op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user,
  12. s_into_id,s_into_item_id,s_pur_id,s_pur_item_id,intoing_box,intoing_piece,into_box,into_piece,
  13. unit_id,sub_unit_id, pack_box
  14. </sql>
  15. <!-- response通用查询列 -->
  16. <sql id="Base_Column_List_Response">
  17. tpii.item_id, tpii.into_id, tpii.into_type, tpii.from_id, tpii.from_item_id, tpii.item_index, tpii.sku_id, tpii.price_into,
  18. tpii.non_std_code, tpii.into_status, sys.f_remove_zero(tpii.intoing_qty) as intoing_qty, tpii.intoing_amt,
  19. sys.f_remove_zero(tpii.into_qty) as into_qty, tpii.into_amt, sys.f_remove_zero(tpii.return_qty) as return_qty,
  20. tpii.return_amt, tpii.remarks, tpii.inv_id, tpii.cost_price, tpii.cost_amt,
  21. sys.f_remove_zero(tpii.out_qty) as out_qty, sys.f_remove_zero(tpii.inv_qty) as inv_qty, tpii.flg_valid,
  22. tpii.cp_id,tpii.s_into_id,tpii.s_into_item_id,tpii.s_pur_id,tpii.s_pur_item_id,
  23. tpii.intoing_box,tpii.intoing_piece,tpii.into_box,tpii.into_piece,
  24. tpii.unit_id,tpii.sub_unit_id,tpii.pack_box
  25. </sql>
  26. <!-- 通用查询映射结果 -->
  27. <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.ivt.InboundItem">
  28. <id column="item_id" property="itemId"/>
  29. <result column="into_id" property="intoId" typeHandler="UuidTypeHandler"/>
  30. <result column="into_type" property="intoType"/>
  31. <result column="from_id" property="fromId" typeHandler="UuidTypeHandler"/>
  32. <result column="from_item_id" property="fromItemId" typeHandler="UuidTypeHandler"/>
  33. <result column="item_index" property="itemIndex"/>
  34. <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
  35. <result column="price_into" property="priceInto"/>
  36. <result column="non_std_code" property="nonStdCode"/>
  37. <result column="into_status" property="intoStatus"/>
  38. <result column="intoing_qty" property="intoingQty"/>
  39. <result column="intoing_amt" property="intoingAmt"/>
  40. <result column="into_qty" property="intoQty"/>
  41. <result column="into_amt" property="intoAmt"/>
  42. <result column="return_qty" property="returnQty"/>
  43. <result column="return_amt" property="returnAmt"/>
  44. <result column="remarks" property="remarks"/>
  45. <result column="inv_id" property="invId" typeHandler="UuidTypeHandler"/>
  46. <result column="cost_price" property="costPrice"/>
  47. <result column="cost_amt" property="costAmt"/>
  48. <result column="out_qty" property="outQty"/>
  49. <result column="inv_qty" property="invQty"/>
  50. <result column="flg_valid" property="flgValid"/>
  51. <result column="cp_id" property="cpId"/>
  52. <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
  53. <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
  54. <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
  55. <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
  56. <result column="op_app_code" property="opAppCode"/>
  57. <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
  58. <result column="op_db_user" property="opDbUser"/>
  59. <result column="s_into_id" property="sIntoId" typeHandler="UuidTypeHandler"/>
  60. <result column="s_into_item_id" property="sIntoItemId" typeHandler="UuidTypeHandler"/>
  61. <result column="s_pur_id" property="sPurId" typeHandler="UuidTypeHandler"/>
  62. <result column="s_pur_item_id" property="sPurItemId" typeHandler="UuidTypeHandler"/>
  63. <result column="intoing_box" property="intoingBox" />
  64. <result column="intoing_piece" property="intoingPiece" />
  65. <result column="into_box" property="intoBox" />
  66. <result column="into_piece" property="intoPiece" />
  67. </resultMap>
  68. <!-- response查询映射结果 -->
  69. <resultMap id="BaseResultMapResponse" type="com.dk.mdm.model.response.ivt.InboundItemResponse">
  70. <id column="item_id" property="itemId"/>
  71. <result column="into_id" property="intoId" typeHandler="UuidTypeHandler"/>
  72. <result column="into_type" property="intoType"/>
  73. <result column="from_id" property="fromId" typeHandler="UuidTypeHandler"/>
  74. <result column="from_item_id" property="fromItemId" typeHandler="UuidTypeHandler"/>
  75. <result column="item_index" property="itemIndex"/>
  76. <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
  77. <result column="price_into" property="priceInto"/>
  78. <result column="non_std_code" property="nonStdCode"/>
  79. <result column="into_status" property="intoStatus"/>
  80. <result column="intoing_qty" property="intoingQty"/>
  81. <result column="intoing_amt" property="intoingAmt"/>
  82. <result column="into_qty" property="intoQty"/>
  83. <result column="into_amt" property="intoAmt"/>
  84. <result column="return_qty" property="returnQty"/>
  85. <result column="return_amt" property="returnAmt"/>
  86. <result column="remarks" property="remarks"/>
  87. <result column="inv_id" property="invId" typeHandler="UuidTypeHandler"/>
  88. <result column="cost_price" property="costPrice"/>
  89. <result column="cost_amt" property="costAmt"/>
  90. <result column="brandName" property="brandName"/>
  91. <result column="out_qty" property="outQty"/>
  92. <result column="inv_qty" property="invQty"/>
  93. <result column="flg_valid" property="flgValid"/>
  94. <result column="cp_id" property="cpId"/>
  95. <result column="price_purchase" property="pricePurchase"/>
  96. <result column="sku_images" property="skuImages" typeHandler="JsonTypeHandler"/>
  97. <result column="s_into_id" property="sIntoId" typeHandler="UuidTypeHandler"/>
  98. <result column="s_into_item_id" property="sIntoItemId" typeHandler="UuidTypeHandler"/>
  99. <result column="s_pur_id" property="sPurId" typeHandler="UuidTypeHandler"/>
  100. <result column="s_pur_item_id" property="sPurItemId" typeHandler="UuidTypeHandler"/>
  101. <result column="intoing_box" property="intoingBox" />
  102. <result column="intoing_piece" property="intoingPiece" />
  103. <result column="into_box" property="intoBox" />
  104. <result column="into_piece" property="intoPiece" />
  105. <result column="unit_id" property="unitId"/>
  106. <result column="sub_unit_id" property="subUnitId"/>
  107. <result column="pack_box" property="packBox"/>
  108. <result column="subUnitName" property="subUnitName"/>
  109. <result column="unitName" property="unitName"/>
  110. <result column="flg_sub_unit" property="flgSubUnit"/>
  111. </resultMap>
  112. <!-- 退货用-->
  113. <resultMap id="BaseResultMapReturnResponse" type="com.dk.mdm.model.response.ivt.InboundItemResponse">
  114. <id column="item_id" property="itemId"/>
  115. <result column="into_id" property="intoId" typeHandler="UuidTypeHandler"/>
  116. <result column="into_type" property="intoType"/>
  117. <result column="from_id" property="fromId" typeHandler="UuidTypeHandler"/>
  118. <result column="from_item_id" property="fromItemId" typeHandler="UuidTypeHandler"/>
  119. <result column="item_index" property="itemIndex"/>
  120. <result column="sku_id" property="skuId" typeHandler="UuidTypeHandler"/>
  121. <result column="price_into" property="priceInto"/>
  122. <result column="non_std_code" property="nonStdCode"/>
  123. <result column="into_status" property="intoStatus"/>
  124. <result column="intoing_qty" property="intoingQty"/>
  125. <result column="intoing_amt" property="intoingAmt"/>
  126. <result column="into_qty" property="intoQty"/>
  127. <result column="into_amt" property="intoAmt"/>
  128. <result column="return_qty" property="returnQty"/>
  129. <result column="return_amt" property="returnAmt"/>
  130. <result column="remarks" property="remarks"/>
  131. <result column="inv_id" property="invId" typeHandler="UuidTypeHandler"/>
  132. <result column="cost_price" property="costPrice"/>
  133. <result column="cost_amt" property="costAmt"/>
  134. <result column="out_qty" property="outQty"/>
  135. <result column="inv_qty" property="invQty"/>
  136. <result column="flg_valid" property="flgValid"/>
  137. <result column="cp_id" property="cpId"/>
  138. <result column="s_into_id" property="sIntoId" typeHandler="UuidTypeHandler"/>
  139. <result column="s_into_item_id" property="sIntoItemId" typeHandler="UuidTypeHandler"/>
  140. <result column="s_pur_id" property="sPurId" typeHandler="UuidTypeHandler"/>
  141. <result column="s_pur_item_id" property="sPurItemId" typeHandler="UuidTypeHandler"/>
  142. <result column="sku_images" property="skuImages" typeHandler="JsonTypeHandler"/>
  143. <result column="sIntoItemIntoingQty" property="sIntoItemIntoingQty"/>
  144. <result column="sIntoItemIntoingAmt" property="sIntoItemIntoingAmt"/>
  145. <result column="sIntoItemIntoQty" property="sIntoItemIntoQty"/>
  146. <result column="sIntoItemIntoAmt" property="sIntoItemIntoAmt"/>
  147. <result column="sIntoItemReturnQty" property="sIntoItemReturnQty"/>
  148. <result column="sIntoItemReturnAmt" property="sIntoItemReturnAmt"/>
  149. <result column="sPurItemIntoingQty" property="sPurItemIntoingQty"/>
  150. <result column="sPurItemIntoingAmt" property="sPurItemIntoingAmt"/>
  151. <result column="sPurItemIntoQty" property="sPurItemIntoQty"/>
  152. <result column="sPurItemIntoAmt" property="sPurItemIntoAmt"/>
  153. <result column="sPurItemReturnQty" property="sPurItemReturnQty"/>
  154. <result column="sPurItemReturnAmt" property="sPurItemReturnAmt"/>
  155. <result column="usableQty" property="usableQty"/>
  156. <result column="nonStdCode" property="nonStdCode"/>
  157. <result column="intoing_box" property="intoingBox" />
  158. <result column="intoing_piece" property="intoingPiece" />
  159. <result column="into_box" property="intoBox" />
  160. <result column="into_piece" property="intoPiece" />
  161. <result column="unit_id" property="unitId"/>
  162. <result column="unit_code" property="unitCode"/>
  163. <result column="unit_name" property="unitName"/>
  164. <result column="sub_unit_id" property="subUnitId"/>
  165. <result column="sub_unit_code" property="subUnitCode"/>
  166. <result column="sub_unit_name" property="subUnitName"/>
  167. <result column="pack_box" property="packBox"/>
  168. </resultMap>
  169. <!-- 通用条件列 -->
  170. <sql id="Condition">
  171. <where>
  172. tpii.flg_valid
  173. <if test="intoId != null and intoId != ''">
  174. AND tpii.into_id = #{intoId}::uuid
  175. </if>
  176. <if test="intoType != null and intoType != ''">
  177. AND tpii.into_type = #{intoType}
  178. </if>
  179. <if test="fromId != null and fromId != ''">
  180. AND tpii.from_id = #{fromId}
  181. </if>
  182. <if test="fromItemId != null and fromItemId != ''">
  183. AND tpii.from_item_id = #{fromItemId}
  184. </if>
  185. <if test="itemIndex != null">
  186. AND tpii.item_index = #{itemIndex}
  187. </if>
  188. <if test="skuId != null and skuId != ''">
  189. AND tpii.sku_id = #{skuId}
  190. </if>
  191. <if test="priceInto != null">
  192. AND tpii.price_into = #{priceInto}
  193. </if>
  194. <if test="nonStdCode != null and nonStdCode != ''">
  195. AND tpii.non_std_code = #{nonStdCode}
  196. </if>
  197. <if test="invId != null and invId != ''">
  198. AND tpii.inv_id = #{invId}
  199. </if>
  200. <if test="cpId != null">
  201. AND tpii.cp_id = #{cpId}
  202. </if>
  203. </where>
  204. </sql>
  205. <sql id="idsForeach">
  206. <!-- 根据主键itemId批量操作 -->
  207. WHERE item_id in
  208. <foreach collection="ids" index="index" item="item" separator="," open="(" close=")">
  209. #{item}
  210. </foreach>
  211. </sql>
  212. <!-- 查询表dkic_b.t_psi_inbound_item,(条件查询+分页)列表 -->
  213. <select id="selectByCond" resultMap="BaseResultMapResponse">
  214. SELECT
  215. <include refid="Base_Column_List_Response"/>
  216. ,tpii.wh_id as "whId"
  217. ,tmw.wh_name as "whName"
  218. ,tmgs.sku_code as "skuCode"
  219. ,tmgs.sku_model as "skuModel"
  220. ,tmgs.sku_name as "skuName"
  221. ,tmgs.sku_spec as "skuSpec"
  222. ,tmgs.price_purchase
  223. ,tmgs.sku_images
  224. ,tmgb.brand_name as "brandName"
  225. ,tmgb.short_name as "shortName"
  226. ,tpp.pur_id as "purId"
  227. ,tpp.pur_no as "purNo"
  228. ,sys.f_remove_zero(tppi.item_qty) as "purItemQty"
  229. ,sys.f_remove_zero(tppi.intoing_qty) as "purItemIntoingQty"
  230. ,sys.f_remove_zero(tppi.into_qty) as "purItemIntoQty"
  231. ,sys.f_remove_zero(tpiv.inv_qty) as inv_qty
  232. ,tmgs.pack_box
  233. ,tmgus.unit_name as "subUnitName"
  234. ,tmgu.unit_name as "unitName"
  235. ,tmgs.flg_sub_unit
  236. ,dkic_b.f_box_piece(tmgus.unit_name,tmgu.unit_name,tpii.intoing_box,tpii.intoing_piece) as "ingBoxPiece"
  237. ,dkic_b.f_box_piece(tmgus.unit_name,tmgu.unit_name,tpii.into_box,tpii.into_piece) as "boxPiece"
  238. ,tmgu.decimal_places as "decimalPlaces"
  239. FROM dkic_b.t_psi_inbound_item tpii
  240. left join dkic_b.t_mst_unit as tmgu on tpii.unit_id = tmgu.unit_id
  241. left join dkic_b.t_mst_unit as tmgus on tpii.sub_unit_id = tmgus.unit_id
  242. left join dkic_b.t_psi_inventory tpiv on tpiv.inv_id = tpii.inv_id
  243. left join dkic_b.t_psi_purchase_item tppi on tppi.item_id = tpii.from_item_id
  244. left join dkic_b.t_psi_purchase tpp on tpp.pur_id = tpii.from_id
  245. left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = tpii.sku_id
  246. left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id = tmgs.brand_id
  247. left join dkic_b.t_psi_inventory tpi on tpi.inv_id = tpii.inv_id
  248. left join dkic_b.t_mst_warehouse tmw on tmw.wh_id = tpii.wh_id
  249. <include refid="Condition"/>
  250. <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
  251. limit #{end} offset #{start}
  252. </if>
  253. </select>
  254. <!-- 查询表dkic_b.t_psi_inbound_item,(条件查询)个数 -->
  255. <select id="countByCond" resultType="Long">
  256. SELECT
  257. count(1)
  258. FROM dkic_b.t_psi_inbound_item tpii
  259. left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = tpii.sku_id
  260. left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id = tmgs.brand_id
  261. left join dkic_b.t_psi_inventory tpi on tpi.inv_id = tpii.inv_id
  262. left join dkic_b.t_mst_warehouse tmw on tmw.wh_id = tpii.wh_id
  263. <include refid="Condition"/>
  264. </select>
  265. <!-- 根据主键查询表dkic_b.t_psi_inbound_item的一行数据 -->
  266. <select id="selectById" resultMap="BaseResultMapResponse">
  267. SELECT
  268. <include refid="Base_Column_List_Response"/>
  269. ,(select ul.decimal_places from dkic_b.t_mst_unit ul where tpii.unit_id = ul.unit_id) as "decimalPlaces"
  270. FROM dkic_b.t_psi_inbound_item tpii
  271. WHERE tpii.item_id = #{id}::uuid
  272. </select>
  273. <!-- 根据主键锁定表dkic_b.t_psi_inbound_item的一行数据 -->
  274. <select id="selectByIdForUpdate" resultMap="BaseResultMap">
  275. SELECT
  276. <include refid="Base_Column_List"/>
  277. ,(select ul.decimal_places from dkic_b.t_mst_unit ul where dkic_b.t_psi_inbound_item.unit_id = ul.unit_id) as "decimalPlaces"
  278. FROM dkic_b.t_psi_inbound_item
  279. WHERE item_id = #{itemId}
  280. for update
  281. </select>
  282. <!-- 根据主键锁定表dkic_b.t_psi_inbound_item的多行数据 -->
  283. <select id="selectByIdsForUpdate" resultMap="BaseResultMap">
  284. SELECT
  285. <include refid="Base_Column_List"/>
  286. ,(select ul.decimal_places from dkic_b.t_mst_unit ul where dkic_b.t_psi_inbound_item.unit_id = ul.unit_id) as "decimalPlaces"
  287. FROM dkic_b.t_psi_inbound_item
  288. <include refid="idsForeach"/>
  289. for update
  290. </select>
  291. <insert id="insertBatch">
  292. insert into dkic_b.t_psi_inbound_item
  293. (
  294. <trim suffixOverrides=",">
  295. into_id,
  296. into_type,
  297. from_id,
  298. from_item_id,
  299. item_index,
  300. sku_id,
  301. price_into,
  302. non_std_code,
  303. into_status,
  304. intoing_qty,
  305. intoing_amt,
  306. into_qty,
  307. into_amt,
  308. return_qty,
  309. return_amt,
  310. remarks,
  311. inv_id,
  312. cost_price,
  313. cost_amt,
  314. out_qty,
  315. inv_qty,
  316. cp_id,
  317. op_app_code,
  318. s_into_id,
  319. s_into_item_id,
  320. s_pur_id,
  321. s_pur_item_id,
  322. </trim>
  323. )
  324. values
  325. <foreach collection="list" index="index" item="item" separator=",">
  326. (
  327. <trim suffixOverrides=",">
  328. #{item.intoId}::uuid,
  329. #{item.intoType},
  330. #{item.fromId}::uuid,
  331. #{item.fromItemId}::uuid,
  332. #{item.itemIndex},
  333. #{item.skuId}::uuid,
  334. #{item.priceInto},
  335. #{item.nonStdCode},
  336. #{item.intoStatus},
  337. #{item.intoingQty},
  338. #{item.intoingAmt},
  339. #{item.intoQty},
  340. #{item.intoAmt},
  341. #{item.returnQty},
  342. #{item.returnAmt},
  343. #{item.remarks},
  344. #{item.invId}::uuid,
  345. #{item.costPrice},
  346. #{item.costAmt},
  347. #{item.outQty},
  348. #{item.invQty},
  349. #{item.cpId},
  350. #{item.opAppCode},
  351. #{item.sIntoId}::uuid,
  352. #{item.sIntoItemId}::uuid,
  353. #{item.sPurId}::uuid,
  354. #{item.sPurItemId}::uuid,
  355. </trim>
  356. )
  357. </foreach>
  358. </insert>
  359. <update id="updateAmount" parameterType="com.dk.mdm.model.pojo.ivt.InboundItem">
  360. update dkic_b.t_psi_inbound_item
  361. <set>
  362. <if test="returnQty!= null">
  363. return_qty= #{returnQty},
  364. </if>
  365. <if test="returnAmt!= null">
  366. return_amt = #{returnAmt},
  367. </if>
  368. </set>
  369. where item_id = #{itemId}::uuid
  370. </update>
  371. <!-- 入库办理显示字段 -->
  372. <sql id="Base_Column_List_Response_Into">
  373. tpii.item_id,
  374. tpii.into_id,
  375. tpii.into_type,
  376. tpii.from_id,
  377. tpii.from_item_id,
  378. tpii.item_index,
  379. tpii.sku_id,
  380. tpii.price_into,
  381. tpii.non_std_code,
  382. tpii.into_status,
  383. sys.f_remove_zero(tpii.intoing_qty) as intoing_qty,
  384. tpii.intoing_amt,
  385. sys.f_remove_zero(tpii.into_qty) as into_qty,
  386. tpii.into_amt,
  387. sys.f_remove_zero(tpii.return_qty) as return_qty,
  388. tpii.return_amt,
  389. tpii.remarks,
  390. tpii.inv_id,
  391. tpii.cost_price,
  392. tpii.cost_amt,
  393. tpii.wh_id,
  394. sys.f_remove_zero(tpii.inv_qty) as inv_qty,
  395. tpii.intoing_box,
  396. tpii.intoing_piece,
  397. tpii.into_box,
  398. tpii.into_piece,
  399. tpii.pack_box
  400. </sql>
  401. <sql id="Base_Column_List_Response_Out">
  402. tpoi.item_id,
  403. tpoi.out_id as into_id,
  404. tpoi.out_type as into_type,
  405. tpoi.from_id,
  406. tpoi.from_item_id,
  407. tpoi.item_index,
  408. tpoi.sku_id,
  409. tpoi.price_out as price_into,
  410. tpoi.non_std_code,
  411. tpoi.out_status as into_status,
  412. tpoi.outing_qty as intoing_amt ,
  413. sys.f_remove_zero(tpoi.outing_amt) as intoing_qty ,
  414. sys.f_remove_zero(tpoi.out_qty) as into_qty ,
  415. tpoi.out_amt as into_amt ,
  416. sys.f_remove_zero(tpoi.return_qty) as return_qty,
  417. tpoi.return_amt,
  418. tpoi.remarks,
  419. tpoi.inv_id,
  420. tpoi.cost_price,
  421. tpoi.cost_amt,
  422. null as wh_id,
  423. null as inv_qty,
  424. tpoi.outing_box as intoing_box,
  425. tpoi.outing_piece as intoing_piece,
  426. tpoi.out_box as into_box,
  427. tpoi.out_piece as into_piece,
  428. tpoi.pack_box
  429. </sql>
  430. <!--条件查询 web端入库办理用-->
  431. <select id="selectInboundItem" resultMap="BaseResultMapResponse">
  432. SELECT
  433. <include refid="Base_Column_List_Response_Into"/>
  434. ,tmgs.sku_code as "skuCode"
  435. ,tmgs.sku_model as "skuModel"
  436. ,tmgs.sku_name as "skuName"
  437. ,tmgs.sku_spec as "skuSpec"
  438. ,tmgb.brand_name as "brandName"
  439. ,tmgb.short_name as "shortName"
  440. ,tmw.wh_name as "whName"
  441. ,tmu.unit_code as "unitCode"
  442. ,tmu.unit_name as "unitName"
  443. ,tmu2.unit_code as "subUnitCode"
  444. ,tmu2.unit_name as "subUnitName"
  445. ,tmu.decimal_places as "decimalPlaces"
  446. FROM dkic_b.t_psi_inbound_item tpii
  447. <include refid="Select_Inbound_Join_Table_Into"/>
  448. <where>
  449. tpii.flg_valid
  450. <if test="intoId != null and intoId != ''">
  451. AND tpii.into_id = #{intoId}::uuid
  452. </if>
  453. </where>
  454. union all
  455. select
  456. <include refid="Base_Column_List_Response_Out"/>
  457. ,tmgs.sku_code as "skuCode"
  458. ,tmgs.sku_model as "skuModel"
  459. ,tmgs.sku_name as "skuName"
  460. ,tmgs.sku_spec as "skuSpec"
  461. ,tmgb.brand_name as "brandName"
  462. ,tmgb.short_name as "shortName"
  463. ,null as "whName"
  464. ,tmu.unit_code as "unitCode"
  465. ,tmu.unit_name as "unitName"
  466. ,tmu2.unit_code as "subUnitCode"
  467. ,tmu2.unit_name as "subUnitName"
  468. ,tmu.decimal_places as "decimalPlaces"
  469. from dkic_b.t_psi_outbound_item tpoi
  470. <include refid="Select_Inbound_Join_Table_Out"/>
  471. <where>
  472. tpoi.flg_valid
  473. <if test="intoId != null and intoId != ''">
  474. AND tpoi.out_id = #{intoId}::uuid
  475. </if>
  476. </where>
  477. </select>
  478. <!--入库办理显示入库关联表-->
  479. <sql id="Select_Inbound_Join_Table_Into">
  480. left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = tpii.sku_id
  481. left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id = tmgs.brand_id
  482. left join dkic_b.t_psi_inventory tpi on tpi.inv_id = tpii.inv_id
  483. left join dkic_b.t_mst_warehouse tmw on tmw.wh_id = tpii.wh_id
  484. left join dkic_b.t_mst_unit tmu on tmu.unit_id = tpii.unit_id
  485. left join dkic_b.t_mst_unit tmu2 on tmu2.unit_id = tpii.unit_id
  486. </sql>
  487. <sql id="Select_Inbound_Join_Table_Out">
  488. left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = tpoi.sku_id
  489. left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id = tmgs.brand_id
  490. left join dkic_b.t_psi_inventory tpi on tpi.inv_id = tpoi.inv_id
  491. left join dkic_b.t_mst_unit tmu on tmu.unit_id = tpoi.unit_id
  492. left join dkic_b.t_mst_unit tmu2 on tmu2.unit_id = tpoi.sub_unit_id
  493. </sql>
  494. <delete id="deleteByFromId" parameterType="com.dk.mdm.model.pojo.ivt.InboundItem">
  495. DELETE FROM dkic_b.t_psi_inbound_item WHERE from_item_id = #{fromItemId}::uuid
  496. </delete>
  497. <update id="updateIntoStatus" parameterType="com.dk.mdm.model.pojo.ivt.InboundItem">
  498. update dkic_b.t_psi_inbound_item
  499. <set>
  500. <if test="intoStatus!= null">
  501. into_status= #{intoStatus},
  502. </if>
  503. </set>
  504. where item_id = #{itemId}::uuid
  505. </update>
  506. <select id="selectByInboundReturnCond" resultMap="BaseResultMapReturnResponse">
  507. SELECT
  508. <include refid="Base_Column_List_Response"/>
  509. ,tmgs.sku_code as "skuCode"
  510. ,tmgs.sku_model as "skuModel"
  511. ,tmgs.sku_name as "skuName"
  512. ,tmgs.sku_spec as "skuSpec"
  513. ,tmgs.sku_images
  514. ,tmgb.brand_name as "brandName"
  515. ,tmgb.short_name as "shortName"
  516. ,tmw.wh_id as "whId"
  517. ,tmw.wh_code as "whCode"
  518. ,tmw.wh_name as "whName"
  519. ,sys.f_remove_zero(tpsii.intoing_qty) as "sIntoItemIntoingQty"
  520. ,tpsii.intoing_amt as "sIntoItemIntoingAmt"
  521. ,sys.f_remove_zero(tpsii.into_qty) as "sIntoItemIntoQty"
  522. ,tpsii.into_amt as "sIntoItemIntoAmt"
  523. ,sys.f_remove_zero(tpsii.return_qty) as "sIntoItemReturnQty"
  524. ,tpsii.return_amt as "sIntoItemReturnAmt"
  525. ,sys.f_remove_zero(tppi.intoing_qty) as "sPurItemIntoingQty"
  526. ,tppi.intoing_amt as "sPurItemIntoingAmt"
  527. ,sys.f_remove_zero(tppi.into_qty) as "sPurItemIntoQty"
  528. ,tppi.into_amt as "sPurItemIntoAmt"
  529. ,sys.f_remove_zero(tppi.return_qty) as "sPurItemReturnQty"
  530. ,tppi.return_amt as "sPurItemReturnAmt"
  531. ,sys.f_remove_zero(tpi.usable_qty) AS "usableQty"
  532. ,tpi.non_std_code AS "nonStdCode"
  533. ,(select ul.decimal_places from dkic_b.t_mst_unit ul where dkic_b.t_psi_inbound_item.unit_id = ul.unit_id) as "decimalPlaces"
  534. FROM dkic_b.t_psi_inbound_item tpii
  535. left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = tpii.sku_id
  536. left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id = tmgs.brand_id
  537. left join dkic_b.t_psi_inventory tpi on tpi.inv_id = tpii.inv_id
  538. left join dkic_b.t_mst_warehouse tmw on tmw.wh_id = tpii.wh_id
  539. left join dkic_b.t_psi_inbound_item tpsii on tpsii.item_id = tpii.s_into_item_id
  540. left join dkic_b.t_psi_purchase_item tppi on tppi.item_id = tpii.s_pur_item_id
  541. <include refid="Condition"/>
  542. <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
  543. limit #{end} offset #{start}
  544. </if>
  545. </select>
  546. <!-- 条件查询 (入库成本核对用) -->
  547. <select id="selectCostCheck" resultMap="BaseResultMapResponse">
  548. SELECT
  549. <include refid="Base_Column_List_Response"/>
  550. ,tpid.into_no as "intoNo"
  551. ,tmgs.sku_code as "skuCode"
  552. ,tmgs.sku_model as "skuModel"
  553. ,tmgs.sku_name as "skuName"
  554. ,tmgs.sku_spec as "skuSpec"
  555. ,tmgb.brand_name as "brandName"
  556. ,tmgb.short_name as "shortName"
  557. ,tpp.pur_id as "purId"
  558. ,tpp.pur_no as "purNo"
  559. ,sys.f_remove_zero(tppi.item_qty) as "purItemQty"
  560. ,sys.f_remove_zero(tppi.intoing_qty) as "purItemIntoingQty"
  561. ,sys.f_remove_zero(tppi.into_qty) as "purItemIntoQty"
  562. ,tmp.sup_code as "supCode"
  563. ,tmp.sup_name as "supName"
  564. ,sys.f_remove_zero(tpiv.inv_qty) as inv_qty
  565. ,(select ul.decimal_places from dkic_b.t_mst_unit ul where tpii.unit_id = ul.unit_id) as "decimalPlaces"
  566. FROM dkic_b.t_psi_inbound_item tpii
  567. left join dkic_b.t_psi_inbound tpid on tpii.into_id = tpid.into_id
  568. left join dkic_b.t_psi_inventory tpiv on tpiv.inv_id = tpii.inv_id
  569. left join dkic_b.t_psi_purchase_item tppi on tppi.item_id = tpii.from_item_id
  570. left join dkic_b.t_psi_purchase tpp on tpp.pur_id = tpii.from_id
  571. left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = tpii.sku_id
  572. left join dkic_b.t_mst_goods_brand tmgb on tmgb.brand_id = tmgs.brand_id
  573. left join dkic_b.t_psi_inventory tpi on tpi.inv_id = tpii.inv_id
  574. left join dkic_b.t_mst_warehouse tmw on tmw.wh_id = tpii.wh_id
  575. Left join dkic_b.t_mst_supplier tmp on tpid.sup_id = tmp.sup_id
  576. <where>
  577. tpii.flg_valid
  578. and tpii.into_qty &lt;&gt; 0
  579. <if test="intoId != null and intoId != ''">
  580. AND tpii.into_id = #{intoId}::uuid
  581. </if>
  582. <if test="intoNo != null and intoNo != ''">
  583. AND tpid.into_no LIKE concat('%',my_ex.likequery(#{intoNo}),'%')
  584. </if>
  585. <if test="supId != null and supId != ''">
  586. AND tpid.sup_id = #{supId}::uuid
  587. </if>
  588. <if test="intoDateStart != null">
  589. AND tpid.into_date &gt;= #{intoDateStart}::timestamp with time zone
  590. </if>
  591. <if test="intoDateEnd != null">
  592. AND tpid.into_date &lt; #{intoDateEnd}::timestamp with time zone + interval '1 day'
  593. </if>
  594. <if test="skuName != null and skuName!='' ">
  595. AND tmgs.sku_name LIKE concat('%',my_ex.likequery(#{skuName}),'%')
  596. </if>
  597. <if test="cpId != null">
  598. AND tpii.cp_id = #{cpId}
  599. </if>
  600. </where>
  601. <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
  602. limit #{end} offset #{start}
  603. </if>
  604. </select>
  605. <!--入库成本核对-->
  606. <update id="updateCost" parameterType="com.dk.mdm.model.pojo.ivt.InboundItem">
  607. update dkic_b.t_psi_inbound_item
  608. <set>
  609. <if test="costPrice!= null">
  610. cost_price= #{costPrice},
  611. </if>
  612. <if test="costAmt!= null">
  613. cost_amt = #{costAmt},
  614. </if>
  615. </set>
  616. where item_id = #{itemId}::uuid
  617. </update>
  618. <!--根据来源id删除单据-->
  619. <delete id="deleteItemByFromId">
  620. DELETE FROM dkic_b.t_psi_inbound_item
  621. WHERE from_id = #{fromId}::uuid
  622. </delete>
  623. </mapper>