| | |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code, |
| | | CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id, |
| | | rw.creator, |
| | | rw.reporting_work_id |
| | | rw.reporting_work_id, |
| | | ogd.child_width, |
| | | ogd.child_height, |
| | | JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness |
| | | from |
| | | sd.`order` as o left join sd.order_detail as od on o.order_id=od.order_id |
| | | left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number |
| | | left join pp.reporting_work as rw on rw.order_id=o.order_id |
| | | left join pp.damage_details as dd on dd.reporting_work_id=rw.reporting_work_id and dd.order_number=ogd.order_number |
| | | and dd.technology_number=ogd.technology_number |
| | | left join sd.product_detail as pd on pd.prod_id=od.product_id |
| | | where (rw.reporting_work_time) >= #{startDate} |
| | | and (rw.reporting_work_time) <= #{endDate} |
| | | and rw.this_worn_quantity > 0 |
| | |
| | | <if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''"> |
| | | and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%') |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''"> |
| | | and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','') |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''"> |
| | | and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','') |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''"> |
| | | and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%') |
| | | </if> |
| | | GROUP BY dd.id |
| | | order by dd.id desc |
| | | limit #{offset},#{pageSize} |
| | |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code, |
| | | CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id, |
| | | rw.creator, |
| | | rw.reporting_work_id |
| | | rw.reporting_work_id, |
| | | ogd.child_width, |
| | | ogd.child_height, |
| | | JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness |
| | | from |
| | | sd.`order` as o left join sd.order_detail as od on o.order_id=od.order_id |
| | | left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number |
| | | left join pp.reporting_work as rw on rw.order_id=o.order_id |
| | | left join pp.damage_details as dd on dd.reporting_work_id=rw.reporting_work_id and dd.order_number=ogd.order_number |
| | | and dd.technology_number=ogd.technology_number |
| | | left join sd.product_detail as pd on pd.prod_id=od.product_id |
| | | where (rw.reporting_work_time) >= #{startDate} |
| | | and (rw.reporting_work_time) <= #{endDate} |
| | | and rw.this_worn_quantity > 0 |
| | |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''"> |
| | | and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%') |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''"> |
| | | and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','') |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''"> |
| | | and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','') |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''"> |
| | | and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%') |
| | | </if> |
| | | GROUP BY dd.id |
| | | order by dd.id desc |
| | |
| | | <if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''"> |
| | | and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%') |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''"> |
| | | and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','') |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''"> |
| | | and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','') |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''"> |
| | | and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%') |
| | | </if> |
| | | order by dd.id desc |
| | | </select> |
| | | |
| | |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''"> |
| | | and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%') |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''"> |
| | | and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','') |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''"> |
| | | and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','') |
| | | </if> |
| | | <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''"> |
| | | and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%') |
| | | </if> |
| | | order by dd.id desc |
| | | </select> |
| | |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber, |
| | | rw.this_process, |
| | | rw.creator, |
| | | rw.reporting_work_id |
| | | rw.reporting_work_id, |
| | | JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) AS thickness, |
| | | ROUND(round( ogd.child_width * ogd.child_height * dd.breakage_quantity / 1000000, 2 ) |
| | | * SUBSTRING_INDEX(IFNULL(JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')), '0'), 'mm', 1),2) AS pingfang |
| | | FROM |
| | | sd.ORDER AS o |
| | | LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id |
| | |
| | | AND dd.order_number = ogd.order_number |
| | | AND dd.technology_number = ogd.technology_number |
| | | left join sd.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number |
| | | left join sd.product_detail as pd on pd.prod_id=od.product_id |
| | | WHERE |
| | | rw.reporting_work_time >= #{selectTime1} |
| | | AND rw.reporting_work_time <= #{selectTime2} |
| | |
| | | </if> |
| | | <if test="damageReportDTO.childHeight != null and damageReportDTO.childHeight != ''"> |
| | | and ogd.child_height regexp REGEXP_REPLACE(#{damageReportDTO.childHeight},'\\.0+$','') |
| | | </if> |
| | | <if test="damageReportDTO.thickness != null and damageReportDTO.thickness != ''"> |
| | | and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{damageReportDTO.thickness}, '%') |
| | | </if> |
| | | GROUP BY |
| | | dd.id |
| | |
| | | AND dd.order_number = ogd.order_number |
| | | AND dd.technology_number = ogd.technology_number |
| | | left join sd.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number |
| | | left join sd.product_detail as pd on pd.prod_id=od.product_id |
| | | WHERE |
| | | rw.reporting_work_time >= #{selectTime1} |
| | | AND rw.reporting_work_time <= #{selectTime2} |
| | |
| | | </if> |
| | | <if test="damageReportDTO.childHeight != null and damageReportDTO.childHeight != ''"> |
| | | and ogd.child_height regexp REGEXP_REPLACE(#{damageReportDTO.childHeight},'\\.0+$','') |
| | | </if> |
| | | <if test="damageReportDTO.thickness != null and damageReportDTO.thickness != ''"> |
| | | and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{damageReportDTO.thickness}, '%') |
| | | </if> |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code, |
| | | CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id, |
| | | rw.creator, |
| | | rw.reporting_work_id |
| | | rw.reporting_work_id, |
| | | ogd.child_width, |
| | | ogd.child_height, |
| | | JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness |
| | | from damage_details as dd |
| | | left join reporting_work as rw |
| | | on rw.reporting_work_id = dd.reporting_work_id |
| | |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code, |
| | | CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id, |
| | | rw.creator, |
| | | rw.reporting_work_id |
| | | rw.reporting_work_id, |
| | | ogd.child_width, |
| | | ogd.child_height, |
| | | JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness |
| | | from damage_details as dd |
| | | left join reporting_work as rw |
| | | on rw.reporting_work_id = dd.reporting_work_id |
| | |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber, |
| | | rw.this_process, |
| | | rw.creator, |
| | | rw.reporting_work_id |
| | | rw.reporting_work_id, |
| | | JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) AS thickness, |
| | | ROUND(round( ogd.child_width * ogd.child_height * dd.breakage_quantity / 1000000, 2 ) |
| | | * SUBSTRING_INDEX(IFNULL(JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')), '0'), 'mm', 1),2) AS pingfang |
| | | FROM sd.ORDER AS o |
| | | LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id |
| | | LEFT JOIN reporting_work AS rw ON rw.order_id = o.order_id |
| | |
| | | AND dd.order_number = ogd.order_number |
| | | AND dd.technology_number = ogd.technology_number |
| | | left join sd.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number |
| | | left join sd.product_detail as pd on pd.prod_id=od.product_id |
| | | WHERE rw.reporting_work_time >= #{dates[0]} |
| | | and rw.reporting_work_time <= #{dates[1]} |
| | | AND dd.available = 0 and rw.reviewed_state>=0 |
| | |
| | | od.quantity - odpd.reporting_work_num as incompleteNum, |
| | | ROUND(ogd.child_width * ogd.child_height * (od.quantity - odpd.reporting_work_num) / 1000000, |
| | | 2) as incompleteArea, |
| | | od.product_name |
| | | od.product_name, |
| | | JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) AS thickness |
| | | |
| | | from sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | |
| | | and odpd.process_id = fc.process_id |
| | | left join sd.`order` as o |
| | | on o.order_id = od.order_id |
| | | left join sd.product_detail as pd on pd.prod_id=od.product_id |
| | | where o.create_order>0 |
| | | and odpd.process = #{process} |
| | | and date(o.create_time) >= #{date[0]} |
| | |
| | | from |
| | | ( |
| | | SELECT (od.quantity) AS quantity, |
| | | d.numCounts + d.patchNumSum - d.numCount -d.broken_num as stockNum, |
| | | if(d.numCounts + d.patchNumSum - d.numCount -d.broken_num - fc.termination_quantity <0,0,d.numCounts + d.patchNumSum - d.numCount -d.broken_num - fc.termination_quantity) as stockNum, |
| | | ROUND(ogd.child_width * ogd.child_height * |
| | | (d.numCounts + d.patchNumSum - d.numCount - |
| | | d.broken_num) / 1000000, 2) as stockArea |
| | | (if(d.numCounts + d.patchNumSum - d.numCount -d.broken_num - fc.termination_quantity <0,0,d.numCounts + d.patchNumSum - d.numCount -d.broken_num - fc.termination_quantity)) / 1000000, 2) as stockArea |
| | | FROM |
| | | sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | |
| | | and position(#{selectProcesses} in d.process) |
| | | left join sd.`order` as o on o.order_id=od.order_id |
| | | where o.create_order>0 |
| | | and d.numCounts +d.patchNumSum - d.numCount - d.broken_num != 0 |
| | | and if(d.numCounts + d.patchNumSum - d.numCount -d.broken_num - fc.termination_quantity <0,0,d.numCounts + d.patchNumSum - d.numCount -d.broken_num - fc.termination_quantity) != 0 |
| | | and d.process!=SUBSTRING_INDEX(ogd.process, '->', 1) |
| | | and position(#{selectProcesses} in d.process) |
| | | and position(#{orderId} in od.order_id) |
| | |
| | | <select id="damageReportFootSum"> |
| | | SELECT |
| | | SUM(dd.breakage_quantity) AS breakageQuantity, |
| | | ROUND(SUM(ogd.child_width * ogd.child_height * dd.breakage_quantity) / 1000000, 2) AS area |
| | | ROUND(SUM(ogd.child_width * ogd.child_height * dd.breakage_quantity) / 1000000, 2) AS area, |
| | | SUM(ROUND(round( ogd.child_width * ogd.child_height * dd.breakage_quantity / 1000000, 2 ) |
| | | * SUBSTRING_INDEX(IFNULL(JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')), '0'), 'mm', 1),2)) AS pingfang |
| | | FROM |
| | | sd.ORDER AS o |
| | | LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id |
| | |
| | | AND dd.technology_number = ogd.technology_number |
| | | LEFT JOIN sd.order_detail AS od ON o.order_id = od.order_id |
| | | AND od.order_number = ogd.order_number |
| | | left join sd.product_detail as pd on pd.prod_id=od.product_id |
| | | WHERE |
| | | rw.reporting_work_time >= #{selectTime1} |
| | | AND rw.reporting_work_time <= #{selectTime2} |
| | |
| | | </if> |
| | | <if test="damageReportDTO.childHeight != null and damageReportDTO.childHeight != ''"> |
| | | and ogd.child_height regexp REGEXP_REPLACE(#{damageReportDTO.childHeight},'\\.0+$','') |
| | | </if> |
| | | <if test="damageReportDTO.thickness != null and damageReportDTO.thickness != ''"> |
| | | and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{damageReportDTO.thickness}, '%') |
| | | </if> |
| | | </select> |
| | | |
| | |
| | | od.quantity, |
| | | ogd.child_width, |
| | | ogd.child_height, |
| | | d.numCounts + d.patchNumSum - d.numCount -d.broken_num as stockNum, |
| | | if(d.numCounts + d.patchNumSum - d.numCount -d.broken_num-ifnull(fc.termination_quantity,0)<0,0,d.numCounts + d.patchNumSum - d.numCount -d.broken_num-ifnull(fc.termination_quantity,0)) as stockNum, |
| | | ROUND(ogd.child_width * ogd.child_height * |
| | | (d.numCounts + d.patchNumSum - d.numCount - |
| | | d.broken_num) / 1000000, 2) as stockArea, |
| | | (if(d.numCounts + d.patchNumSum - d.numCount -d.broken_num-ifnull(fc.termination_quantity,0)<0,0,d.numCounts + d.patchNumSum - d.numCount -d.broken_num-ifnull(fc.termination_quantity,0))) / 1000000, 2) as stockArea, |
| | | od.product_name, |
| | | od.bend_radius, |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber |
| | |
| | | left join sd.`order` as o on o.order_id=od.order_id |
| | | LEFT JOIN sd.basic_data AS bd ON bd.basic_name = d.process |
| | | where o.create_order>0 |
| | | and d.numCounts +d.patchNumSum - d.numCount - d.broken_num != 0 |
| | | and if(d.numCounts + d.patchNumSum - d.numCount -d.broken_num-ifnull(fc.termination_quantity,0)<0,0,d.numCounts + d.patchNumSum - d.numCount -d.broken_num-ifnull(fc.termination_quantity,0)) != 0 |
| | | and d.process!=SUBSTRING_INDEX(ogd.process, '->', 1) |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | |
| | | SELECT g.* |
| | | ,GROUP_CONCAT(g.glass_child SEPARATOR '+') as childName |
| | | from( SELECT f.*, |
| | | e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num as quantity, |
| | | (e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num)*f.area as glassArea |
| | | if(e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity<0, |
| | | 0,e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity) as quantity, |
| | | round(if(e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity<0,0, |
| | | e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity)*f.area/1000000,2) as glassArea |
| | | from (SELECT a.order_id, |
| | | if(a.batch!="",CONCAT(a.project,'(',a.batch,')'),a.project) as project, |
| | | C.product_id, |
| | |
| | | d.`group` , |
| | | b.broken_num, |
| | | b.id, |
| | | c.area, |
| | | d.child_width * d.child_height as area, |
| | | d.glass_child, |
| | | ifnull(cb.patchNumSum,0) as patchNumSum |
| | | ifnull(cb.patchNumSum,0) as patchNumSum, |
| | | fc.termination_quantity |
| | | |
| | | FROM sd.`order` as a |
| | | LEFT JOIN sd.order_process_detail as b |
| | |
| | | f.technology_number ORDER BY f.process_id, f.order_number, |
| | | f.technology_number) as g |
| | | <choose> |
| | | <when test="laminating == 'stepC' and process == '预压'"> |
| | | <when test="laminating == 'stepB'"> |
| | | GROUP BY g.process_id, g.order_number, g.technology_number |
| | | </when> |
| | | <when test="laminating == 'stepC'"> |
| | |
| | | |
| | | |
| | | ) as h |
| | | where h.quantity >0 |
| | | <choose> |
| | | <when test="optionVal == 1"> |
| | | GROUP BY thisProcess |
| | |
| | | SELECT g.* |
| | | ,GROUP_CONCAT(g.glass_child SEPARATOR '+') as childName |
| | | from( SELECT f.*, |
| | | e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num as quantity, |
| | | (e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num)*f.area as glassArea |
| | | if(e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity<0,0,e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity) as quantity, |
| | | round(if(e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity<0,0,e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity)*f.area/1000000,2) as glassArea |
| | | from (SELECT a.order_id, |
| | | a.project, |
| | | C.product_id, |
| | |
| | | d.`group` , |
| | | b.broken_num, |
| | | b.id, |
| | | c.area, |
| | | d.child_width * d.child_height as area, |
| | | d.glass_child, |
| | | ifnull(cb.patchNumSum,0) as patchNumSum |
| | | ifnull(cb.patchNumSum,0) as patchNumSum, |
| | | fc.termination_quantity |
| | | |
| | | FROM sd.`order` as a |
| | | LEFT JOIN sd.order_process_detail as b |
| | |
| | | on e.id=(f.id-1) and e.process_id = f.process_id and e.order_number = f.order_number and e.technology_number =f.technology_number |
| | | where |
| | | e.id is not null |
| | | and e.reporting_work_num_count-f.reporting_work_num_count>0 group by f.process_id, f.order_number, |
| | | and (e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num)>0 group by f.process_id, f.order_number, |
| | | f.technology_number ORDER BY f.process_id, f.order_number, |
| | | f.technology_number) as g |
| | | <choose> |
| | | <when test="laminating == 'stepC' and process == '预压'"> |
| | | <when test="laminating == 'stepB'"> |
| | | GROUP BY g.process_id, g.order_number, g.technology_number |
| | | </when> |
| | | <when test="laminating == 'stepC'"> |
| | |
| | | e.id is not null |
| | | and (e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num)>0 ) as g |
| | | <choose> |
| | | <when test="laminating == 'stepC' and process == '预压'"> |
| | | <when test="laminating == 'stepB'"> |
| | | GROUP BY g.process_id, g.order_number, g.technology_number |
| | | </when> |
| | | <when test="laminating == 'stepC'"> |