ProductionTaskDetailMapper.xml 7.4 KB

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