| | |
| | | d.shape , |
| | | op.process_cards , |
| | | d.product_name , |
| | | d.price, |
| | | op.remark , |
| | | d.building_number , |
| | | round(((`g`.`child_width` + g.child_height) * 2 * `f`.`quantity`),2) as perimeter , |
| | | round(((`g`.`child_width`/ 1000 + g.child_height / 1000) * 2 * `f`.`quantity`),2) as perimeter , |
| | | round((`g`.`area` * `f`.`quantity`),4) AS area, |
| | | f.technology_number , |
| | | g.glass_child , |
| | |
| | | f.order_id, |
| | | f.technology_number, |
| | | f.order_number; |
| | | </select> |
| | | |
| | | <!--工程信息流程卡--> |
| | | <select id="getProcessCardMp"> |
| | | SELECT |
| | | fc.process_id, |
| | | fc.order_number, |
| | | fc.quantity, |
| | | CONCAT(fc.technology_number, '/', COUNT(fc.technology_number)) AS layer, |
| | | so.project, |
| | | CONCAT(sd.child_width, ' × ', sd.child_height) AS sizes |
| | | FROM |
| | | pp.flow_card AS fc |
| | | INNER JOIN sd.order AS so ON fc.order_id = so.order_id |
| | | INNER JOIN sd.order_glass_detail AS sd ON sd.order_id = so.order_id AND fc.order_id = sd.order_id |
| | | AND fc.order_number = sd.order_number |
| | | WHERE |
| | | fc.project_no = #{projectNo} |
| | | GROUP BY |
| | | fc.order_id, |
| | | fc.technology_number, |
| | | fc.order_number |
| | | </select> |
| | | |
| | | <!--库存信息--> |
| | |
| | | </select> |
| | | |
| | | <select id="getFlowCardListMp"> |
| | | select fc.process_id, |
| | | fc.technology_number, |
| | | fcss.TotalFloors, |
| | | COUNT(fc.order_number) as TotalNumber, |
| | | SUM(fc.quantity) as quantity, |
| | | ROUND(SUM(od.width * od.height * fc.quantity / 1000000), 2) as area, |
| | | o.project, |
| | | ogd.glass_child, |
| | | od.shape |
| | | |
| | | from pp.flow_card as fc |
| | | left join sd.`order` as o on fc.order_id = o.order_id |
| | | left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and |
| | | ogd.technology_number = fc.technology_number |
| | | left join (select fcs.process_id, |
| | | fcs.order_number, |
| | | COUNT(DISTINCT fcs.technology_number) as TotalFloors |
| | | from pp.flow_card as fcs |
| | | GROUP BY fcs.process_id, fcs.order_number) as fcss |
| | | on fcss.process_id = fc.process_id and fcss.order_number = fc.order_number |
| | | where position(#{optionVal} in ogd.glass_child) |
| | | GROUP BY fc.process_id, fc.technology_number |
| | | ORDER BY fc.process_id, fc.technology_number |
| | | SELECT |
| | | fc.process_id, |
| | | fc.technology_number, |
| | | fcss.TotalFloors, |
| | | COUNT( fc.order_number ) AS TotalNumber, |
| | | SUM( fc.quantity ) AS quantity, |
| | | ROUND( SUM( od.width * od.height * fc.quantity / 1000000 ), 2 ) AS area, |
| | | o.project, |
| | | ogd.glass_child, |
| | | od.shape, |
| | | CONCAT( JSON_UNQUOTE( JSON_EXTRACT( pd.separation, '$.thickness' )), JSON_UNQUOTE( JSON_EXTRACT( pd.separation, '$.color' )) ) AS glassType |
| | | FROM |
| | | pp.flow_card AS fc |
| | | LEFT JOIN sd.`order` AS o ON fc.order_id = o.order_id |
| | | LEFT JOIN sd.order_detail AS od ON od.order_id = fc.order_id |
| | | AND od.order_number = fc.order_number |
| | | LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = fc.order_id |
| | | AND ogd.order_number = fc.order_number |
| | | AND ogd.technology_number = fc.technology_number |
| | | LEFT JOIN ( |
| | | SELECT |
| | | fcs.process_id, |
| | | fcs.order_number, |
| | | COUNT( DISTINCT fcs.technology_number ) AS TotalFloors |
| | | FROM |
| | | pp.flow_card AS fcs |
| | | GROUP BY |
| | | fcs.process_id, |
| | | fcs.order_number |
| | | ) AS fcss ON fcss.process_id = fc.process_id |
| | | AND fcss.order_number = fc.order_number |
| | | LEFT JOIN sd.product_detail AS pd ON pd.prod_id = od.product_id |
| | | AND pd.glass_sort = fc.technology_number |
| | | WHERE |
| | | CONCAT( JSON_UNQUOTE( JSON_EXTRACT( pd.separation, '$.thickness' )), JSON_UNQUOTE( JSON_EXTRACT( pd.separation, '$.color' )) )= #{optionVal} |
| | | and ISNULL(fc.project_no) |
| | | GROUP BY |
| | | fc.process_id, |
| | | fc.technology_number |
| | | ORDER BY |
| | | fc.process_id, |
| | | fc.technology_number |
| | | </select> |
| | | |
| | | <!--工程管理--> |
| | |
| | | p.state IN (1, 2) |
| | | AND f.process_id = #{processId} |
| | | </select> |
| | | |
| | | <select id="getProcessCardDetailmMp"> |
| | | select fc.order_number, |
| | | ogd.child_width, |
| | | ogd.child_height, |
| | | fc.quantity, |
| | | od.building_number,IF(od.shape!=2,'普形','异形') as shape, |
| | | ROUND(ogd.child_width*ogd.child_height*fc.quantity/1000000,2) as grossArea, |
| | | pd.separation |
| | | from pp.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 ogd.technology_number=fc.technology_number |
| | | left join sd.order_detail as od on od.order_id=ogd.order_id and od.order_number=ogd.order_number |
| | | left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=fc.technology_number |
| | | where fc.process_id=#{processId} and fc.technology_number=#{technologyNumber} |
| | | group by fc.process_id,fc.order_number,fc.technology_number |
| | | order by fc.order_number,fc.technology_number |
| | | </select> |
| | | |
| | | <select id="selectGlassTypeMp"> |
| | | SELECT |
| | | JSON_UNQUOTE(JSON_EXTRACT(type, '$.lowE')) AS lowE, |
| | | JSON_UNQUOTE(JSON_EXTRACT(type, '$.color')) AS color, |
| | | JSON_UNQUOTE(JSON_EXTRACT(type, '$.thickness')) AS thickness, |
| | | JSON_UNQUOTE(JSON_EXTRACT(type, '$.craft')) AS craft, |
| | | JSON_UNQUOTE(JSON_EXTRACT(type, '$.position')) AS position, |
| | | CONCAT( |
| | | JSON_UNQUOTE(JSON_EXTRACT(type, '$.thickness')), |
| | | JSON_UNQUOTE(JSON_EXTRACT(type, '$.color')) |
| | | ) AS glassType |
| | | FROM pp.v_optimize_create_process_type |
| | | GROUP BY |
| | | thickness, |
| | | color |
| | | ORDER BY |
| | | CAST(REPLACE(JSON_UNQUOTE(JSON_EXTRACT(type, '$.thickness')), 'mm', '') AS UNSIGNED); |
| | | </select> |
| | | |
| | | <select id="getProjectIdSv"> |
| | | SELECT IFNULL( |
| | | (SELECT project_no |
| | | FROM pp.optimize_project |
| | | WHERE DATE(create_time) = CURDATE() |
| | | ORDER BY create_time DESC |
| | | LIMIT 1), '00') AS project_no; |
| | | </select> |
| | | |
| | | <update id="updateFlowCardProject"> |
| | | UPDATE pp.flow_card set project_no=#{projectId} |
| | | where process_id=#{processId} and technology_number=#{technologyNumber} |
| | | </update> |
| | | |
| | | <select id="getSelectArea"> |
| | | select |
| | | ROUND(SUM(ogd.child_width*ogd.child_height*fc.quantity)/1000000,2) as grossArea |
| | | from pp.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 ogd.technology_number=fc.technology_number |
| | | left join sd.order_detail as od on od.order_id=ogd.order_id and od.order_number=ogd.order_number |
| | | left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=fc.technology_number |
| | | where fc.process_id=#{processId} and fc.technology_number=#{technologyNumber} |
| | | group by fc.process_id,fc.technology_number |
| | | </select> |
| | | |
| | | <insert id="addProjectMp"> |
| | | insert into pp.optimize_project (project_no, project_name, order_glass_type, order_glass_thickness) |
| | | values (#{projectId}, #{projectNmae}, #{glassType}, #{glassThickness}) |
| | | </insert> |
| | | </mapper> |