PurchaseOrderHeaderMapper.xml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  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.jt.cloud.module.print.dal.mysql.purchaseorder.PurchaseOrderHeaderMapper">
  4. <select id="selectHeaderPageByDetailFilter" resultType="com.jt.cloud.module.print.dal.dataobject.purchaseorder.PurchaseOrderHeaderDO">
  5. SELECT DISTINCT h.*
  6. FROM purchase_order_header h
  7. INNER JOIN purchase_order_detail d ON h.id = d.header_id
  8. LEFT JOIN material_base_info mbi ON mbi.material_no = d.material
  9. WHERE 1=1
  10. <!-- header表筛选条件 -->
  11. <if test="query.purchaseOrder != null and query.purchaseOrder != ''">
  12. AND h.purchase_order LIKE CONCAT('%', #{query.purchaseOrder}, '%')
  13. </if>
  14. <if test="query.interPurchaseOrderNumber != null and query.interPurchaseOrderNumber != ''">
  15. AND h.inter_purchase_order_number LIKE CONCAT('%', #{query.interPurchaseOrderNumber}, '%')
  16. </if>
  17. <if test="query.supplier != null and query.supplier != ''">
  18. AND h.supplier = #{query.supplier}
  19. </if>
  20. <if test="query.printed != null">
  21. AND h.printed = #{query.printed}
  22. </if>
  23. <if test="query.processed != null">
  24. AND h.processed = #{query.processed}
  25. </if>
  26. <if test="query.salesOrder != null and query.salesOrder != ''">
  27. AND h.sales_order LIKE CONCAT('%', #{query.salesOrder}, '%')
  28. </if>
  29. <if test="query.startCreateDate != null and query.startCreateDate != ''">
  30. AND d.creation_date >= #{query.startCreateDate}
  31. </if>
  32. <if test="query.endCreateDate != null and query.endCreateDate != ''">
  33. AND d.creation_date &lt;= #{query.endCreateDate}
  34. </if>
  35. <if test="query.startUpdateDate != null and query.startUpdateDate != ''">
  36. AND d.last_change_datetime >= #{query.startUpdateDate}
  37. </if>
  38. <if test="query.endUpdateDate != null and query.endUpdateDate != ''">
  39. AND d.last_change_datetime &lt;= #{query.endUpdateDate}
  40. </if>
  41. <if test="query.material != null and query.material != ''">
  42. AND d.material LIKE CONCAT('%', #{query.material}, '%')
  43. </if>
  44. <if test="query.salesOrder != null and query.salesOrder != ''">
  45. AND d.sales_order LIKE CONCAT('%', #{query.salesOrder}, '%')
  46. </if>
  47. <if test="query.plant != null and query.plant != ''">
  48. AND d.plant = #{query.plant}
  49. </if>
  50. <if test="query.styleNo != null and query.styleNo != ''">
  51. AND mbi.internal_style_no LIKE CONCAT('%', #{query.styleNo}, '%')
  52. </if>
  53. <if test="query.materialNo != null and query.materialNo != ''">
  54. AND mbi.material_no LIKE CONCAT('%', #{query.materialNo}, '%')
  55. </if>
  56. ORDER BY h.creation_date DESC
  57. </select>
  58. <!-- 返回结果映射 -->
  59. <resultMap id="PurchaseOrderDetailWithMaterialMap" type="com.jt.cloud.module.print.controller.admin.purchaseorder.vo.PurchaseOrderDetailWithMaterialVO">
  60. <!-- 字段映射 -->
  61. <id property="id" column="id"/>
  62. <result property="headerId" column="header_id"/>
  63. <result property="purchaseOrder" column="purchase_order"/>
  64. <result property="purchaseOrderItem" column="purchase_order_item"/>
  65. <result property="purchasingDocumentDeletionCode" column="purchasing_document_deletion_code"/>
  66. <result property="material" column="material"/>
  67. <result property="materialType" column="material_type"/>
  68. <result property="plant" column="plant"/>
  69. <result property="purchaseOrderQuantityUnit" column="purchase_order_quantity_unit"/>
  70. <result property="orderQuantity" column="order_quantity"/>
  71. <result property="purchaseOrderCategory" column="purchase_order_category"/>
  72. <result property="accountAssignmentCategory" column="account_assignment_category"/>
  73. <result property="salesOrder" column="sales_order"/>
  74. <result property="salesOrderItem" column="sales_order_item"/>
  75. <result property="purchaseOrderType" column="purchase_order_type"/>
  76. <result property="releaseCode" column="release_code"/>
  77. <result property="salesOrganization" column="sales_organization"/>
  78. <result property="distributionChannel" column="distribution_channel"/>
  79. <result property="soldToParty" column="sold_to_party"/>
  80. <result property="purchaseOrderByCustomer" column="purchase_order_by_customer"/>
  81. <result property="customerName" column="customer_name"/>
  82. <result property="companyCode" column="company_code"/>
  83. <result property="purchasingOrganization" column="purchasing_organization"/>
  84. <result property="purchasingGroup" column="purchasing_group"/>
  85. <result property="supplier" column="supplier"/>
  86. <result property="supplierName" column="supplier_name"/>
  87. <result property="defaultMultiple" column="default_multiple"/>
  88. <result property="expectTagNumber" column="expect_tag_number"/>
  89. <result property="deleted" column="deleted"/>
  90. <result property="creator" column="creator"/>
  91. <result property="createTime" column="create_time"/>
  92. <result property="updater" column="updater"/>
  93. <result property="updateTime" column="update_time"/>
  94. <!-- 字段映射,添加前缀避免字段名冲突 -->
  95. <result property="materialId" column="m_id"/>
  96. <result property="materialNo" column="m_material_no"/>
  97. <result property="materialName" column="m_material_name"/>
  98. <result property="customerMaterialNo" column="m_customer_material_no"/>
  99. <result property="styleNo" column="m_style_no"/>
  100. <result property="barcode" column="m_barcode"/>
  101. <result property="name" column="m_name"/>
  102. <result property="color" column="m_color"/>
  103. <result property="size" column="m_size"/>
  104. <result property="specificationModel" column="m_specification_model"/>
  105. <result property="composition" column="m_composition"/>
  106. <result property="price" column="m_price"/>
  107. <result property="poNo" column="m_po_no"/>
  108. <result property="brand" column="m_brand"/>
  109. <result property="productName" column="m_product_name"/>
  110. <result property="series" column="m_series"/>
  111. <result property="planTrackingNo" column="m_plan_tracking_no"/>
  112. <result property="productionModel" column="m_production_model"/>
  113. <result property="internalStyleNo" column="internal_style_no"/>
  114. <result property="origin" column="m_origin"/>
  115. <result property="styleName" column="m_style_name"/>
  116. <result property="customerCompanyRegNo" column="m_customer_company_reg_no"/>
  117. <result property="topBarcode" column="m_top_barcode"/>
  118. <result property="topName" column="m_top_name"/>
  119. <result property="topSku" column="m_top_sku"/>
  120. <result property="pantsBarcode" column="m_pants_barcode"/>
  121. <result property="pantsName" column="m_pants_name"/>
  122. <result property="pantsSku" column="m_pants_sku"/>
  123. <result property="customField1" column="m_custom_field1"/>
  124. <result property="customField2" column="m_custom_field2"/>
  125. <result property="customField3" column="m_custom_field3"/>
  126. <result property="customField4" column="m_custom_field4"/>
  127. <result property="customField5" column="m_custom_field5"/>
  128. <result property="sapMaterialCode" column="m_sap_material_code"/>
  129. <result property="sapMaterialDescription" column="m_sap_material_description"/>
  130. <result property="sapMaterialType" column="m_sap_material_type"/>
  131. <result property="sapBaseUnit" column="m_sap_base_unit"/>
  132. <result property="sapBarcodeMaster" column="m_sap_barcode_master"/>
  133. <result property="sapMaterialLongDesc" column="m_sap_material_long_desc"/>
  134. <result property="sapCustomerMaterialNo" column="m_sap_customer_material_no"/>
  135. </resultMap>
  136. <!-- 物料信息字段 -->
  137. <sql id="materialColumns">
  138. m.id AS m_id,
  139. m.material_no AS m_material_no,
  140. m.material_name AS m_material_name,
  141. m.customer_material_no AS m_customer_material_no,
  142. m.style_no AS m_style_no,
  143. m.barcode AS m_barcode,
  144. m.name AS m_name,
  145. m.color AS m_color,
  146. m.size AS m_size,
  147. m.specification_model AS m_specification_model,
  148. m.composition AS m_composition,
  149. m.price AS m_price,
  150. m.po_no AS m_po_no,
  151. m.brand AS m_brand,
  152. m.product_name AS m_product_name,
  153. m.series AS m_series,
  154. m.plan_tracking_no AS m_plan_tracking_no,
  155. m.production_model AS m_production_model,
  156. m.internal_style_no AS internal_style_no,
  157. m.origin AS m_origin,
  158. m.style_name AS m_style_name,
  159. m.customer_company_reg_no AS m_customer_company_reg_no,
  160. m.top_barcode AS m_top_barcode,
  161. m.top_name AS m_top_name,
  162. m.top_sku AS m_top_sku,
  163. m.pants_barcode AS m_pants_barcode,
  164. m.pants_name AS m_pants_name,
  165. m.pants_sku AS m_pants_sku,
  166. m.custom_field1 AS m_custom_field1,
  167. m.custom_field2 AS m_custom_field2,
  168. m.custom_field3 AS m_custom_field3,
  169. m.custom_field4 AS m_custom_field4,
  170. m.custom_field5 AS m_custom_field5,
  171. m.sap_material_code AS m_sap_material_code,
  172. m.sap_material_type AS m_sap_material_type,
  173. m.sap_base_unit AS m_sap_base_unit,
  174. m.sap_barcode_master AS m_sap_barcode_master,
  175. m.sap_material_long_desc AS m_sap_material_description,
  176. m.sap_customer_material_no AS m_sap_customer_material_no
  177. </sql>
  178. <select id="detailsPage" resultMap="PurchaseOrderDetailWithMaterialMap">
  179. SELECT
  180. a.id,
  181. a.header_id,
  182. a.purchase_order,
  183. a.purchase_order_item,
  184. a.material,
  185. a.purchase_order_quantity_unit,
  186. a.order_quantity,
  187. a.sold_to_party,
  188. a.default_multiple,
  189. a.expect_tag_number,
  190. a.distribution_channel,
  191. a.account_assignment_category,
  192. a.purchase_order_by_customer,
  193. <include refid="materialColumns"/>
  194. FROM purchase_order_detail a
  195. INNER JOIN purchase_order_header h ON a.header_id = h.id
  196. LEFT JOIN material_base_info m ON a.material = m.material_no AND m.deleted = 0
  197. WHERE a.deleted = 0
  198. AND a.header_id = #{query.id}
  199. AND h.deleted = 0
  200. ORDER BY CAST(a.purchase_order_item AS UNSIGNED) ASC
  201. </select>
  202. </mapper>