| | |
| | | c.product_name, |
| | | b.project, |
| | | sum(a.quantity) as quantity, |
| | | sum(c.compute_gross_area) as compute_gross_area, |
| | | sum(a.quantity) * c.area as compute_gross_area, |
| | | a.founder, |
| | | c.processing_note, |
| | | b.customer_name, |
| | | if(a.layout_status=0,'不可排版',if(a.layout_status=1,'可排版','已排版')) as layout_status, |
| | | layout_status as layout_status, |
| | | a.merge, |
| | | a.rack |
| | | a.rack, |
| | | b.batch |
| | | from (select id,order_id,process_id,order_number, quantity,founder,max(layout_status) as layout_status,create_time,max(merge) as merge,rack from flow_card |
| | | group by process_Id,order_number) as a |
| | | left join sd.`order` as b on a.order_Id=b.order_id |
| | |
| | | ogd.production_id, |
| | | od.product_id, |
| | | od.product_name, |
| | | ROUND(SUM(od.quantity) - IFNULL(SUM(fc.quantity) / fc.layers_number, 0)) AS quantity, |
| | | ROUND(SUM(od.quantity) - IFNULL(SUM(fc.quantity), 0)) AS quantity, |
| | | SUM(od.compute_gross_area) AS compute_gross_area, |
| | | ROUND(SUM(od.perimeter), 2) AS perimeter |
| | | FROM sd.order_detail AS od |
| | |
| | | </select> |
| | | |
| | | <select id="selectPrintFlowCard"> |
| | | select op.project_no,glass_total,glass_total_area,labelPrintNum,processPrintNum |
| | | select op.project_no,glass_total,glass_total_area,labelPrintNum,processPrintNum,glass_type,glass_thickness |
| | | from pp.optimize_project as op |
| | | left join pp.flow_card as fc on op.project_no=fc.project_no |
| | | left join sd.`order` as o on o.order_id=fc.order_id |
| | |
| | | GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number, |
| | | ogds.glass_child, |
| | | GROUP_CONCAT(ogds.glass_child SEPARATOR '+') AS concatenated_glass_child, |
| | | SUBSTRING(process, LOCATE('夹胶', process)) AS processed_part |
| | | SUBSTRING(process, LOCATE(bd.basic_name, process)) AS processed_part |
| | | from sd.order_glass_detail as ogds |
| | | left join sd.basic_data as bd on bd.nickname='stepC' |
| | | where ogds.order_id = #{orderId} |
| | | and LOCATE('夹胶', ogds.process) > 0 |
| | | and LOCATE(bd.basic_name, ogds.process) > 0 |
| | | GROUP BY order_id, order_number, ogds.group) as ogdss |
| | | on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number |
| | | where fc.order_id = #{orderId} |
| | |
| | | GROUP_CONCAT(pds.glass_sort SEPARATOR '') AS technology_number, |
| | | ogds.glass_child, |
| | | GROUP_CONCAT(ogds.glass_child SEPARATOR '+') AS concatenated_glass_child, |
| | | SUBSTRING(ogds.process, LOCATE('中空', ogds.process)) AS processed_part |
| | | SUBSTRING(ogds.process, LOCATE(bd.basic_name, ogds.process)) AS processed_part |
| | | from sd.order_glass_detail as ogds |
| | | left join sd.order_detail as ods |
| | | on ods.order_id = ogds.order_id and ods.order_number = ogds.order_number |
| | | left join sd.product_detail as pds on pds.prod_id = ods.product_id and |
| | | pds.glass_sort = |
| | | ogds.technology_number |
| | | left join sd.basic_data as bd on bd.nickname='stepD' |
| | | where ogds.order_id = #{orderId} |
| | | GROUP BY order_id, order_number) as ogdss |
| | | on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number |
| | |
| | | where fc.process_id = #{processId} |
| | | and position(fc.technology_number in #{technologyNumber}) |
| | | group by fc.process_id, fc.order_number |
| | | order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number) |
| | | <choose> |
| | | <!-- landingSequence != 1 时,优先按 landing_sequence 倒序 --> |
| | | <when test="landingSequence != 1"> |
| | | ORDER BY landing_sequence DESC |
| | | </when> |
| | | <!-- flashback = 1 时正序 --> |
| | | <when test="flashback == 1"> |
| | | ORDER BY |
| | | CASE |
| | | WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort |
| | | ELSE fc.order_number |
| | | END ASC |
| | | </when> |
| | | <!-- flashback != 1 时倒序 --> |
| | | <otherwise> |
| | | ORDER BY |
| | | CASE |
| | | WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort |
| | | ELSE fc.order_number |
| | | END DESC |
| | | </otherwise> |
| | | </choose> |
| | | </select> |
| | | |
| | | <select id="getDetailLists"> |
| | |
| | | o.project, |
| | | od.building_number, |
| | | od.processing_note, |
| | | ogd.child_width as width, |
| | | ogd.child_height as height, |
| | | opd.o_width as width, |
| | | opd.o_height as height, |
| | | ogd.glass_child, |
| | | ogd.process, |
| | | e.type_name, |
| | | opd.stock_id, |
| | | opd.polys_id, |
| | | od.quantity, |
| | | IFNULL(od.quantity,1) as quantity, |
| | | od.other_columns, |
| | | od.bend_radius, |
| | | od.order_number as heat_layout_id, |
| | | a.id as heat_layout_sort, |
| | | od.product_name |
| | | ifnull(od.order_number,0) as heat_layout_id, |
| | | ifnull(a.id,0) as heat_layout_sort, |
| | | od.product_name, |
| | | opd.process_id |
| | | from pp.optimize_detail opd |
| | | left join sd.`order` o on SUBSTR(opd.process_id, 1, 10) = o.order_id |
| | | left join sd.order_detail od |
| | |
| | | od.bend_radius, |
| | | opd.heat_layout_id, |
| | | opd.heat_layout_sort, |
| | | od.product_name |
| | | od.product_name, |
| | | opd.process_id |
| | | from pp.optimize_detail opd |
| | | left join sd.`order` o on SUBSTR(opd.process_id, 1, 10) = o.order_id |
| | | left join sd.order_detail od |
| | |
| | | left join sd.product p on od.product_id = p.id |
| | | left join sd.basic_glass_type e on e.type_id = p.type_id |
| | | left join sd.customer c on c.id = o.customer_id |
| | | where opd.project_no = #{projectNo} |
| | | where opd.project_no = #{projectNo} and o.order_id is not null |
| | | order by opd.heat_layout_id, opd.heat_layout_sort desc |
| | | </select> |
| | | |
| | |
| | | where fc.process_id = #{processId} |
| | | and position(fc.technology_number in #{technologyNumber}) |
| | | group by fc.process_id, fc.order_number, fc.technology_number |
| | | order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number) |
| | | <choose> |
| | | <!-- landingSequence != 1 时,优先按 landing_sequence 倒序 --> |
| | | <when test="landingSequence != 1"> |
| | | ORDER BY landing_sequence DESC |
| | | </when> |
| | | <!-- flashback = 1 时正序 --> |
| | | <when test="flashback == 1"> |
| | | ORDER BY |
| | | CASE |
| | | WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort |
| | | ELSE fc.order_number |
| | | END ASC |
| | | </when> |
| | | <!-- flashback != 1 时倒序 --> |
| | | <otherwise> |
| | | ORDER BY |
| | | CASE |
| | | WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort |
| | | ELSE fc.order_number |
| | | END DESC |
| | | </otherwise> |
| | | </choose> |
| | | </select> |
| | | |
| | | <select id="getDetailListMerge"> |
| | |
| | | and fcs.process = #{process} |
| | | where fc.process_id = #{processId} and fc.`merge`=1 |
| | | group by fc.process_id, fc.order_number |
| | | order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number) |
| | | <choose> |
| | | <!-- landingSequence != 1 时,优先按 landing_sequence 倒序 --> |
| | | <when test="landingSequence != 1"> |
| | | ORDER BY landing_sequence DESC |
| | | </when> |
| | | <!-- flashback = 1 时正序 --> |
| | | <when test="flashback == 1"> |
| | | ORDER BY |
| | | CASE |
| | | WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort |
| | | ELSE fc.order_number |
| | | END ASC |
| | | </when> |
| | | <!-- flashback != 1 时倒序 --> |
| | | <otherwise> |
| | | ORDER BY |
| | | CASE |
| | | WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort |
| | | ELSE fc.order_number |
| | | END DESC |
| | | </otherwise> |
| | | </choose> |
| | | </select> |
| | | |
| | | <select id="getDetailListLikes"> |
| | |
| | | GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number, |
| | | ogds.glass_child, |
| | | GROUP_CONCAT(ogds.glass_child SEPARATOR '+') AS concatenated_glass_child, |
| | | SUBSTRING(process, LOCATE('夹胶', process)) AS processed_part |
| | | SUBSTRING(process, LOCATE(bd.basic_name, process)) AS processed_part |
| | | from sd.order_glass_detail as ogds |
| | | left join sd.basic_data as bd on bd.nickname='stepC' |
| | | where ogds.order_id = #{orderId} |
| | | and LOCATE('夹胶', ogds.process) > 0 |
| | | and LOCATE(bd.basic_name, ogds.process) > 0 |
| | | GROUP BY order_id, order_number, ogds.group) as ogdss |
| | | on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number |
| | | where fc.order_id = #{orderId} |
| | |
| | | GROUP_CONCAT(pds.glass_sort SEPARATOR '') AS technology_number, |
| | | ogds.glass_child, |
| | | GROUP_CONCAT(ogds.glass_child SEPARATOR '+') AS concatenated_glass_child, |
| | | SUBSTRING(pds.process, LOCATE('中空', pds.process)) AS processed_part |
| | | SUBSTRING(pds.process, LOCATE(bd.basic_name, pds.process)) AS processed_part |
| | | from sd.order_glass_detail as ogds |
| | | left join sd.order_detail as ods |
| | | on ods.order_id = ogds.order_id and ods.order_number = ogds.order_number |
| | | left join sd.product_detail as pds on pds.prod_id = ods.product_id and |
| | | pds.glass_sort = |
| | | ogds.technology_number |
| | | left join sd.basic_data as bd on bd.nickname='stepD' |
| | | where ogds.order_id = #{orderId} |
| | | GROUP BY order_id, order_number) as ogdss |
| | | on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number |
| | |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber, |
| | | od.order_number, |
| | | ogd.child_width as width, |
| | | ogd.child_height as height |
| | | ogd.child_height as height, |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS S01, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS S02, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS S03, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS S04, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS S05 |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and |
| | |
| | | ' = ',#{printQuantity} ) as size, |
| | | |
| | | CONCAT( |
| | | od.order_number,') ', |
| | | od.order_number,') ', |
| | | TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))), |
| | | ' X ', |
| | | TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))), |
| | | ' = ',#{printQuantity} ) as numberSize, |
| | | CONCAT( |
| | | od.order_number,')',' ', |
| | | TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))), |
| | | ' X ', |
| | | TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR)))) as numberSizeQuantity, |
| | | od.order_number as orderNumber, |
| | | fc.technology_number as technologyNumber, |
| | | od.building_number as buildingNumber, |
| | |
| | | c.customer_abbreviation as customerAbbreviation, |
| | | p.product_abbreviation as productAbbreviation, |
| | | fc.process_id as processId, |
| | | SUBSTRING(fc.process_id,12 ) as processIdAD ,/*-流程卡简写-*/ |
| | | o.create_time as createTime, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber, |
| | |
| | | ogd.technology_number = fc.technology_number |
| | | where fc.process_id = #{processId} |
| | | and fc.order_number = #{orderNumber} |
| | | group by od.order_number, width, height |
| | | group by fc.process_id,od.order_number, width, height |
| | | order by fc.process_id |
| | | </select> |
| | | |
| | |
| | | left join |
| | | (select (@row_number := @row_number + 1) as id,process_id as process_id from (select process_id from pp.optimize_detail tt where project_no =#{projectNo} group by process_id) tt,(select @row_number := 0) as t) a |
| | | on a.process_id=opd.process_id |
| | | where opd.project_no = #{projectNo} |
| | | where opd.project_no = #{projectNo} and o.order_id is not null |
| | | group by order_id,od.order_number |
| | | order by ogd.child_width desc,ogd.child_height desc |
| | | </select> |
| | |
| | | left join sd.order_detail as od on od.order_id = SUBSTRING(fc.process_id,1,10) and od.order_number = fc.order_sort |
| | | left join sd.`order` as o on o.order_id = SUBSTRING(fc.process_id,1,10) |
| | | left join pp.`flow_card` as fcd on fcd.process_id=fc.process_id and fcd.technology_number=ogd.technology_number and fcd.order_number=od.order_number |
| | | where fc.project_no = #{printProject} |
| | | where fc.project_no = #{printProject} and fc.process_id is not null and fc.process_id!="" |
| | | GROUP BY fc.process_id, ogd.technology_number |
| | | order by fc.process_id, ogd.technology_number |
| | | </select> |
| | |
| | | <select id="getOrderIdByProcessId"> |
| | | select order_id from pp.flow_card where process_id = #{processId} limit 1; |
| | | </select> |
| | | |
| | | <select id="flowCardDetailMergeMp"> |
| | | select merge from pp.flow_card where process_id = #{processId} group by id ORDER BY merge desc LIMIT 1 |
| | | </select> |
| | | |
| | | <update id="updateFlowCardIsMerge"> |
| | | update pp.flow_card fc set fc.merge=0 |
| | | where fc.process_id = #{processId} |
| | | </update> |
| | | |
| | | <select id="getProcessName"> |
| | | select IFNULL(nickname,'') from sd.basic_data where basic_category='process' and basic_name=#{processSub} |
| | | </select> |
| | | |
| | | <select id="getProcessNameList"> |
| | | SELECT id,basic_name,IFNULL(nickname,"") as nickname FROM sd.`basic_data` where basic_category='process' |
| | | </select> |
| | | |
| | | <select id="exportDateProcessMp"> |
| | | select |
| | | a.order_Id, |
| | | a.process_Id, |
| | | c.product_id, |
| | | c.product_name, |
| | | b.project, |
| | | sum(a.quantity) as quantity, |
| | | sum(a.quantity) * c.area as compute_gross_area, |
| | | a.founder, |
| | | c.processing_note, |
| | | b.customer_name, |
| | | layout_status as layout_status, |
| | | a.merge, |
| | | a.rack, |
| | | b.batch |
| | | from (select id,order_id,process_id,order_number, quantity,founder,max(layout_status) as layout_status,create_time,max(merge) as merge,rack from flow_card |
| | | group by process_Id,order_number) as a |
| | | left join sd.`order` as b on a.order_Id=b.order_id |
| | | left join sd.order_detail as c on a.order_Id=c.order_id and a.order_Number=c.order_number |
| | | where date(a.create_time) >= #{date[0]} |
| | | and date(a.create_time) <= #{date[1]} |
| | | and b.create_order>0 |
| | | group by a.process_Id |
| | | ORDER BY a.id desc |
| | | </select> |
| | | |
| | | <select id="getSumQuantity"> |
| | | select quantity from sd.`order` where order_id=#{orderId} |
| | | </select> |
| | | |
| | | <select id="getDetailCompoundList"> |
| | | select fc.order_number, |
| | | concat(IF(ROUND(ogd.child_width, 1) = FLOOR(ogd.child_width), FLOOR(ogd.child_width), ROUND(ogd.child_width, 1)), "*", IF(ROUND(child_height, 1) = FLOOR(child_height), FLOOR(child_height), ROUND(child_height, 1))) as child_width, |
| | | SUM(fc.quantity) as quantity, |
| | | round(SUM(ogd.total_area), 2) as total_area, |
| | | SUM(od.perimeter) as perimeter, |
| | | if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),'')) as bend_radius, |
| | | concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks, |
| | | od.other_columns, |
| | | round(ogd.child_width) as width, |
| | | round(ogd.child_height) as height, |
| | | pd.separation, |
| | | #{compound} as technology_number, |
| | | IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber, |
| | | od.building_number |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and |
| | | fc.technology_number = ogd.technology_number |
| | | left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number |
| | | left join sd.product_detail as pd |
| | | on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number |
| | | left join flow_card_sort as fcs |
| | | on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and |
| | | fcs.technology_number = fc.technology_number |
| | | and fcs.process = #{process} |
| | | where fc.process_id = #{processId} |
| | | and position(fc.technology_number in #{compound}) |
| | | group by fc.process_id, fc.order_number |
| | | <choose> |
| | | <!-- landingSequence != 1 时,优先按 landing_sequence 倒序 --> |
| | | <when test="landingSequence != 1"> |
| | | ORDER BY landing_sequence DESC |
| | | </when> |
| | | <!-- flashback = 1 时正序 --> |
| | | <when test="flashback == 1"> |
| | | ORDER BY |
| | | CASE |
| | | WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort |
| | | ELSE fc.order_number |
| | | END ASC |
| | | </when> |
| | | <!-- flashback != 1 时倒序 --> |
| | | <otherwise> |
| | | ORDER BY |
| | | CASE |
| | | WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort |
| | | ELSE fc.order_number |
| | | END DESC |
| | | </otherwise> |
| | | </choose> |
| | | </select> |
| | | |
| | | <select id="getDetailListLikeCompound"> |
| | | select fc.order_number, |
| | | concat(IF(ROUND(ogd.child_width, 1) = FLOOR(ogd.child_width), FLOOR(ogd.child_width), ROUND(ogd.child_width, 1)), "*", IF(ROUND(child_height, 1) = FLOOR(child_height), FLOOR(child_height), ROUND(child_height, 1))) as child_width, |
| | | sum(fc.quantity) as quantity, |
| | | round(sum(ogd.total_area), 2) as total_area, |
| | | sum(od.perimeter) as perimeter, |
| | | if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),'')) as bend_radius, |
| | | concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks, |
| | | od.other_columns, |
| | | round(ogd.child_width) as width, |
| | | round(ogd.child_height) as height, |
| | | pd.separation, |
| | | #{compound} as technology_number, |
| | | IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber, |
| | | od.building_number |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and |
| | | fc.technology_number = ogd.technology_number |
| | | left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number |
| | | left join sd.product_detail as pd |
| | | on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number |
| | | left join flow_card_sort as fcs |
| | | on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and |
| | | fcs.technology_number = fc.technology_number |
| | | and fcs.process = #{process} |
| | | where fc.process_id = #{processId} |
| | | and position(fc.technology_number in #{compound}) |
| | | group by fc.process_id, fc.order_number |
| | | <choose> |
| | | <!-- landingSequence != 1 时,优先按 landing_sequence 倒序 --> |
| | | <when test="landingSequence != 1"> |
| | | ORDER BY landing_sequence DESC |
| | | </when> |
| | | <!-- flashback = 1 时正序 --> |
| | | <when test="flashback == 1"> |
| | | ORDER BY |
| | | CASE |
| | | WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort |
| | | ELSE fc.order_number |
| | | END ASC |
| | | </when> |
| | | <!-- flashback != 1 时倒序 --> |
| | | <otherwise> |
| | | ORDER BY |
| | | CASE |
| | | WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort |
| | | ELSE fc.order_number |
| | | END DESC |
| | | </otherwise> |
| | | </choose> |
| | | </select> |
| | | </mapper> |