| | |
| | | <result property="modifyTime" column="modify time"/> |
| | | </resultMap> |
| | | |
| | | <!--工程信息--> |
| | | <select id="projectInfoMp"> |
| | | SELECT |
| | | f.order_number, |
| | | g.child_width , |
| | | g.child_height , |
| | | f.quantity , |
| | | d.shape , |
| | | op.process_cards , |
| | | d.product_name , |
| | | d.price, |
| | | op.remark , |
| | | d.building_number , |
| | | 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 , |
| | | g.icon, |
| | | op.project_name |
| | | FROM |
| | | ((pp.flow_card AS f |
| | | LEFT JOIN sd.order_detail AS d ON (((f.order_id = d.order_id) AND (f.order_number = d.order_number)))) |
| | | LEFT JOIN sd.order_glass_detail AS g ON (((f.order_id = g.order_id) AND (f.order_number = g.order_number) AND (f.technology_number = g.technology_number)))) |
| | | INNER JOIN pp.optimize_project AS op ON op.project_no = f.project_no |
| | | WHERE |
| | | f.project_no = #{projectNo} |
| | | GROUP BY |
| | | 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 id="materialStoreMp"> |
| | | SELECT |
| | | i.id AS id, |
| | | i.producer AS producer, |
| | | i.available_quantity AS available_quantity, |
| | | JSON_EXTRACT(s.json, '$.width') AS width, |
| | | JSON_EXTRACT(s.json, '$.height') AS height, |
| | | JSON_EXTRACT(s.json, '$.thickness') AS thickness, |
| | | JSON_EXTRACT(s.json, '$.name') AS name, |
| | | JSON_EXTRACT(s.json, '$.model') AS model |
| | | FROM mm.material_inventory as `i` |
| | | LEFT JOIN mm.material_store as s ON ( |
| | | ( |
| | | `i`.`material_code` = `s`.`id` |
| | | ) |
| | | ) |
| | | WHERE |
| | | ( |
| | | (`s`.`type` = '原片') |
| | | AND (`i`.`optimize_state` = 1) |
| | | AND (`i`.`available_quantity` > 0) |
| | | AND JSON_EXTRACT(s.json, '$.thickness') = #{thickness} |
| | | AND JSON_EXTRACT(s.json, '$.model') = #{model} |
| | | ) |
| | | ORDER BY |
| | | `i`.`available_quantity` DESC ; |
| | | </select> |
| | | |
| | | <select id="selectWordOrder" resultMap="wordOrderMap"> |
| | | select |
| | | o.order_id, |
| | |
| | | </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> |
| | | |
| | | <!--工程管理--> |
| | | <select id="optimizeProjectMangeMp" resultMap="optimizeProjectMangeMap"> |
| | | select p.`id` AS `id`, |
| | | p.`project_no` AS `Project Number`, |
| | |
| | | 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> |