ProductionTaskDetailMapper.xml 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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.fjhx.mes.mapper.production.ProductionTaskDetailMapper">
  4. <select id="getPage" resultType="com.fjhx.mes.entity.production.vo.ProductionTaskDetailVo">
  5. select
  6. ptd.id,
  7. ptd.product_id,
  8. ptd.production_task_id,
  9. ptd.product_sn,
  10. ptd.production_processes_id,
  11. ptd.finish_time,
  12. ptd.finish_status,
  13. ptd.person_liable_id,
  14. ptd.create_user,
  15. ptd.create_time,
  16. ptd.update_user,
  17. ptd.update_time,
  18. ptd.next_production_processes_id,
  19. ptd.circulation_user_id,
  20. ptd.circulation_status,
  21. ptd.previous_processes_id,
  22. scd.product_remark,
  23. sc.customer_id
  24. from production_task_detail ptd
  25. left JOIN production_task_processes_detail ptpd ON ptpd.production_task_id = ptd.production_task_id
  26. AND ptpd.production_processes_id = ptd.production_processes_id
  27. LEFT JOIN production_task pt ON ptd.production_task_id = pt.id
  28. LEFT JOIN production_plan pp ON pt.production_plan_id = pp.id
  29. LEFT JOIN work_order wo ON pp.work_order_id = wo.id
  30. LEFT JOIN bytesailing_jxst.sales_contract_details scd ON wo.contract_details_id = scd.id
  31. AND scd.del_flag =0
  32. LEFT JOIN bytesailing_jxst.sales_contract sc ON scd.sales_contract_id = sc.id
  33. AND sc.del_flag = 0
  34. ${ew.customSqlSegment}
  35. </select>
  36. <select id="getWorkOrderByProductionTask" resultType="com.fjhx.mes.entity.work.vo.WorkOrderVo">
  37. SELECT
  38. wo.*,
  39. pt.id productionTaskId
  40. FROM
  41. work_order wo
  42. LEFT JOIN production_plan pp ON pp.work_order_id = wo.id
  43. LEFT JOIN production_task pt ON pt.production_plan_id = pp.id
  44. ${ew.customSqlSegment}
  45. </select>
  46. <select id="snInfo" resultType="com.fjhx.mes.entity.production.vo.ProductionTaskDetailVo">
  47. SELECT
  48. ptd.id,
  49. ptd.product_id,
  50. ptd.product_sn,
  51. sc.`code` as contractCode,
  52. wo.id workOrderId,
  53. sc.customer_id
  54. FROM
  55. production_task_detail ptd
  56. JOIN production_task pt ON ptd.production_task_id = pt.id
  57. JOIN production_plan pp ON pt.production_plan_id = pp.id
  58. JOIN work_order wo ON pp.work_order_id = wo.id
  59. JOIN bytesailing_jxst.sales_contract sc ON wo.source_id = sc.id
  60. WHERE
  61. ptd.product_sn = #{sn}
  62. </select>
  63. <select id="taskProgressPage" resultType="com.fjhx.mes.entity.production.vo.ProductionTaskDetailVo">
  64. SELECT
  65. *
  66. FROM
  67. (
  68. SELECT
  69. ptd.id,
  70. sc.`code` AS contractCode,
  71. wo.`code` AS workOrderCode,
  72. pp.`code` AS productionPlanCode,
  73. pt.`code` AS productionTaskCode,
  74. pi.`code` AS productCode,
  75. pi.`name` AS productName,
  76. pi.`spec` AS productSpec,
  77. ptd.product_sn,
  78. pt.due_date,
  79. IF(
  80. wo.is_customized=0,
  81. (
  82. SELECT
  83. GROUP_CONCAT( ppr.`name` SEPARATOR '->' )
  84. FROM
  85. technology tec
  86. LEFT JOIN production_processes ppr ON FIND_IN_SET( ppr.id, tec.process_route )
  87. LEFT JOIN applicable_products apr ON apr.technology_id = tec.id
  88. WHERE
  89. apr.product_id = wo.product_id
  90. ) ,
  91. ( SELECT GROUP_CONCAT( wopp.`name` SEPARATOR '->' ) FROM work_order_production_processes wopp WHERE wopp.work_order_id = wo.id )
  92. ) AS productionProcessesNames,
  93. IF(
  94. wo.is_customized=0,
  95. ( SELECT ppr.`name` FROM production_processes ppr WHERE ppr.id = ptd.production_processes_id ) , ( SELECT wopp.`name` FROM work_order_production_processes wopp WHERE wopp.id = ptd.production_processes_id )
  96. ) AS productionProcessesName,
  97. su.nick_name AS personLiableName,
  98. ptd.finish_status,
  99. ptd.finish_time,
  100. wo.id AS workOrderId,
  101. ptd.product_id,
  102. wo.is_customized
  103. FROM
  104. production_task_detail ptd
  105. LEFT JOIN production_task pt ON ptd.production_task_id = pt.id
  106. LEFT JOIN production_plan pp ON pt.production_plan_id = pp.id
  107. LEFT JOIN work_order wo ON pp.work_order_id = wo.id
  108. LEFT JOIN bytesailing_jxst.sales_contract sc ON wo.source_id = sc.id
  109. LEFT JOIN bytesailing_item.product_info pi ON wo.product_id = pi.id
  110. LEFT JOIN bytesailing_base.sys_user su ON ptd.person_liable_id = su.user_id
  111. ) t1
  112. ${ew.customSqlSegment}
  113. </select>
  114. <select id="getDetail" resultType="com.fjhx.mes.entity.production.vo.ProductionTaskDetailVo">
  115. SELECT
  116. ptd.id,
  117. ptd.product_id,
  118. ptd.production_task_id,
  119. ptd.product_sn,
  120. ptd.production_processes_id,
  121. ptd.finish_time,
  122. ptd.finish_status,
  123. ptd.person_liable_id,
  124. ptd.tenant_id,
  125. ptd.create_user,
  126. ptd.create_time,
  127. ptd.update_user,
  128. ptd.update_time,
  129. ptd.del_flag,
  130. ptd.next_production_processes_id,
  131. ptd.circulation_user_id,
  132. ptd.circulation_status,
  133. ptd.received_user_id,
  134. ptd.received_time,
  135. ptd.previous_processes_id,
  136. ptd.processes_status,
  137. scd.product_remark,
  138. wo.id workOrderId,
  139. sc.delivery_date contractDeliveryDate
  140. FROM
  141. production_task_detail ptd
  142. LEFT JOIN production_task pt ON ptd.production_task_id = pt.id
  143. LEFT JOIN production_plan pp ON pt.production_plan_id = pp.id
  144. LEFT JOIN work_order wo ON pp.work_order_id = wo.id
  145. LEFT JOIN bytesailing_jxst.sales_contract_details scd ON wo.contract_details_id = scd.id
  146. AND scd.del_flag =0
  147. LEFT JOIN bytesailing_jxst.sales_contract sc ON scd.sales_contract_id = sc.id
  148. AND sc.del_flag =0
  149. ${ew.customSqlSegment}
  150. </select>
  151. </mapper>