| | |
| | | <result column="create_time" property="createTime"/> |
| | | <result column="layout_status" property="layoutStatus"/> |
| | | <result column="merge" property="merge"/> |
| | | <result column="rack" property="rack"/> |
| | | <!--接收其他外键实体类数据--> |
| | | <association property="order" javaType="com.example.erp.entity.sd.Order"> |
| | | <result column="project" property="project"/> |
| | |
| | | c.processing_note, |
| | | b.customer_name, |
| | | if(a.layout_status=0,'不可排版',if(a.layout_status=1,'可排版','已排版')) as layout_status, |
| | | a.merge |
| | | from (select id,order_id,process_id,order_number, quantity,founder,max(layout_status) as layout_status,create_time,merge from flow_card |
| | | 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 |
| | |
| | | </if> |
| | | <if test="flowCard.merge != null"> |
| | | and a.merge regexp #{flowCard.merge} |
| | | </if> |
| | | <if test="flowCard.rack != null and flowCard.rack != ''"> |
| | | and a.rack regexp #{flowCard.rack} |
| | | </if> |
| | | <if test="flowCard.order.customerName != null and flowCard.order.customerName!= ''"> |
| | | and b.customer_name regexp #{flowCard.order.customerName} |
| | |
| | | |
| | | <!-- 分架明细查询--> |
| | | <select id="detailsSelectMp"> |
| | | select od.order_id, |
| | | ogd.production_id, |
| | | od.product_id, |
| | | od.product_name, |
| | | ROUND(SUM(od.quantity)-IFNULL(sum(fc.quantity)/count(fc.technology_number),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 |
| | | left join |
| | | (select order_id, order_number,technology_number, production_id, splitting_status |
| | | from sd.order_glass_detail |
| | | GROUP BY order_id, order_number) as ogd |
| | | on od.order_id = ogd.order_id and od.order_number = ogd.order_number |
| | | left join flow_card as fc on fc.order_id = od.order_id and fc.order_number = od.order_number |
| | | and fc.technology_number=ogd.technology_number |
| | | where od.order_id = #{orderId} |
| | | and ogd.splitting_status = 0 |
| | | SELECT |
| | | od.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, |
| | | SUM(od.compute_gross_area) AS compute_gross_area, |
| | | ROUND(SUM(od.perimeter), 2) AS perimeter |
| | | FROM sd.order_detail AS od |
| | | LEFT JOIN ( |
| | | SELECT order_id, order_number, production_id, splitting_status, |
| | | technology_number |
| | | FROM sd.order_glass_detail |
| | | GROUP BY order_id, order_number, production_id, splitting_status |
| | | ) AS ogd |
| | | ON od.order_id = ogd.order_id |
| | | AND od.order_number = ogd.order_number |
| | | LEFT JOIN ( |
| | | SELECT order_id, order_number, technology_number, SUM(quantity) AS quantity, layers_number |
| | | FROM flow_card |
| | | GROUP BY order_id, order_number, technology_number |
| | | ) AS fc |
| | | ON fc.order_id = od.order_id |
| | | AND fc.order_number = od.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | WHERE od.order_id = #{orderId} |
| | | AND ogd.splitting_status = 0 |
| | | GROUP BY od.order_id, ogd.production_id, od.product_id, od.product_name |
| | | ORDER BY od.order_id DESC; |
| | | |
| | | group by od.order_id, ogd.production_id |
| | | order by od.id desc |
| | | </select> |
| | | |
| | | <!-- 更新分架状态--> |
| | |
| | | od.quantity, |
| | | od.compute_gross_area, |
| | | p.total_thickness, |
| | | ROUND(od.quantity-IFNULL(sum(fc.quantity)/count(fc.technology_number),0)) as baiscQuantity, |
| | | ROUND(od.quantity-IFNULL(sum(fc.quantity)/fc.layers_number,0)) as baiscQuantity, |
| | | od.compute_gross_area as 'computeGrossArea', |
| | | p.total_thickness AS 'totalThickness', |
| | | ifnull(p.thickness,'') as thickness, |
| | |
| | | from sd.order_detail as od |
| | | left join sd.order_glass_detail as ogd |
| | | on od.order_id = ogd.order_id and od.order_number = ogd.order_number |
| | | left join sd.product as p on od.product_name = p.product_name |
| | | left join sd.product as p on od.product_id = p.id |
| | | left join (SELECT order_id, |
| | | order_number, |
| | | JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S01')) AS S01, |
| | |
| | | where date(create_time)>=#{selectTime1} and date(create_time) <= #{selectTime2} |
| | | and position(#{orderId} in order_id) |
| | | and position(#{project} in project) |
| | | and processing_card >0 |
| | | and if(#{state}=0,(order_review >0 and processing_card =0),processing_card >0) |
| | | order by create_time desc |
| | | </select> |
| | | |
| | |
| | | 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 |
| | | where date(op.create_time)>=#{selectTime1} and date(op.create_time) <= #{selectTime2} |
| | | and state >= 20 and o.create_order>0 |
| | | and state >= 20 and (o.create_order>0 or o.create_order is null) |
| | | GROUP BY op.project_no |
| | | order by op.create_time desc |
| | | </select> |
| | |
| | | ogdss.concatenated_glass_child as glass_child, |
| | | fc.founder, |
| | | date(fc.splitFrame_time) as splitFrame_time, |
| | | processed_part as process |
| | | processed_part as process, |
| | | merge |
| | | |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | |
| | | ogdss.concatenated_glass_child as glass_child, |
| | | fc.founder, |
| | | date(fc.splitFrame_time) as splitFrame_time, |
| | | processed_part as process |
| | | processed_part as process, |
| | | merge |
| | | |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | |
| | | where fc.process_id = #{processId} |
| | | </update> |
| | | |
| | | <!-- 复选框修改流程卡合架--> |
| | | <update id="updateProcessCardRack"> |
| | | update flow_card as fc |
| | | set fc.rack=#{rack} |
| | | where fc.process_id = #{processId} and fc.technology_number=#{technologyNumber} |
| | | </update> |
| | | |
| | | <select id="getPrintLabel"> |
| | | select o.order_id, |
| | | c.customer_abbreviation as customer_name, |
| | |
| | | ogd.process, |
| | | e.type_name, |
| | | opd.stock_id, |
| | | opd.polys_id, |
| | | od.quantity, |
| | | od.other_columns, |
| | | od.bend_radius, |
| | | od.order_number as heat_layout_id, |
| | | a.id as heat_layout_sort |
| | | a.id as heat_layout_sort, |
| | | od.product_name |
| | | 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 |
| | |
| | | ogd.glass_child, |
| | | ogd.process, |
| | | e.type_name, |
| | | opd.stock_id, |
| | | opd.polys_id, |
| | | od.quantity, |
| | | od.other_columns, |
| | | od.bend_radius, |
| | | opd.heat_layout_id, |
| | | opd.heat_layout_sort |
| | | opd.heat_layout_sort, |
| | | od.product_name |
| | | 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 |
| | |
| | | pd.separation, |
| | | fc.technology_number, |
| | | IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber, |
| | | od.building_number |
| | | od.building_number, |
| | | fc.merge as merge |
| | | 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.founder, |
| | | date(fc.splitFrame_time) as splitFrame_time, |
| | | fc.print_status, |
| | | processed_part as process |
| | | processed_part as process, |
| | | merge |
| | | |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | |
| | | fc.founder, |
| | | date(fc.splitFrame_time) as splitFrame_time, |
| | | fc.print_status, |
| | | processed_part as process |
| | | processed_part as process, |
| | | merge |
| | | |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | |
| | | fc.founder, |
| | | date(fc.splitFrame_time) as splitFrame_time, |
| | | /* if(fc.print_status=0,'未打印','已打印') as print_status*/ |
| | | fc.print_status, |
| | | ifnull(fc.print_number,0) as print_status, |
| | | ogd.process, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber, |
| | | od.order_number |
| | | od.order_number, |
| | | od.width, |
| | | od.height |
| | | 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 |
| | |
| | | fc.founder, |
| | | date(fc.splitFrame_time) as splitFrame_time, |
| | | /* if(fc.print_status=0,'未打印','已打印') as print_status*/ |
| | | fc.print_status, |
| | | ifnull(fc.print_number,0) as print_status, |
| | | ogd.process, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber, |
| | | od.order_number |
| | | od.order_number, |
| | | ogd.child_width as width, |
| | | ogd.child_height as height |
| | | 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 |
| | |
| | | ogd.process, |
| | | e.type_name, |
| | | opd.stock_id, |
| | | opd.polys_id, |
| | | od.quantity, |
| | | od.other_columns, |
| | | od.bend_radius, |
| | |
| | | </select> |
| | | |
| | | <select id="flowCardToOptimizeCount"> |
| | | select count(*) from pp.flow_card where order_id = #{orderId} and engineering_occupancy=1 |
| | | select count(*) from pp.flow_card where order_id = #{orderId} and project_no is not null |
| | | </select> |
| | | |
| | | <select id="getFlowCardDetail" > |
| | | select |
| | | a.order_id, |
| | | a.process_id, |
| | | a.technology_number, |
| | | a.order_number, |
| | | c.product_id, |
| | | c.product_name, |
| | | b.project, |
| | | sum(a.quantity) as quantity, |
| | | sum(c.compute_gross_area) as compute_gross_area, |
| | | a.founder, |
| | | c.processing_note, |
| | | b.customer_name, |
| | | a.merge, |
| | | a.rack |
| | | from pp.flow_card 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 |
| | | a.process_id regexp #{processId} |
| | | group by a.process_id,a.technology_number |
| | | |
| | | </select> |
| | | |
| | | <select id="getGlassThicknessByProdutionId"> |
| | | select total_thickness as 'totalThickness',thickness as 'thickness' from sd.product |
| | | where id = ( |
| | | select distinct b.product_id from sd.order_glass_detail as a |
| | | left join sd.order_detail as b |
| | | on a.order_id = b.order_id and a.order_number = b.order_number |
| | | where a.order_id = #{orderId} |
| | | and a.production_id = #{productionId} |
| | | ) |
| | | </select> |
| | | |
| | | <select id="getOrderDetailByProductionId"> |
| | | select * from (select a.*, |
| | | a.quantity as 'baiscQuantity', |
| | | #{glassThickness} as 'thickness', |
| | | IF(a.height >= a.width, a.height, a.width) as 'long', |
| | | IF(a.height < a.width, a.height, a.width) as 'short' |
| | | from sd.order_detail as a |
| | | left join sd.order_glass_detail as b |
| | | on a.order_id = b.order_id and a.order_number = b.order_number |
| | | where a.order_id = #{orderId} and b.production_id = #{productionId} |
| | | |
| | | group by a.order_number) as c |
| | | <if test="type=='scope'"> |
| | | where c.`long` <= #{inLenMax} |
| | | and c.`long` >= #{inLenMin} |
| | | and c.`short` >= #{inShortMin} |
| | | and c.`short` <= #{inShortMax} |
| | | </if> |
| | | <if test="type=='notScope'"> |
| | | where !(c.`long` <= #{inLenMax} |
| | | and c.`long` >= #{inLenMin} |
| | | and c.`short` >= #{inShortMin} |
| | | and c.`short` <= #{inShortMax}) |
| | | </if> |
| | | order by c.`long` desc |
| | | </select> |
| | | |
| | | <!-- 复选框修改排版状态--> |
| | | <update id="revokeComposing"> |
| | | update flow_card as fc |
| | | set fc.layout_status=0 |
| | | where fc.process_id = #{processId} |
| | | </update> |
| | | |
| | | <select id="selectProjectNo"> |
| | | SELECT COUNT(*) |
| | | FROM flow_card |
| | | WHERE process_id= #{processId} and project_no IS not NULL; |
| | | </select> |
| | | |
| | | <select id="selectPrintDetailsMp2"> |
| | | select ogd.id, |
| | | ogd.order_id, |
| | | o.customer_name, |
| | | o.project, |
| | | ogd.technology_number, |
| | | ogd.glass_address, |
| | | (od.quantity) as quantity, |
| | | (od.quantity) as printQuantity, |
| | | round((ogd.child_width * ogd.child_height * od.quantity / 1000000), 2) as total_area, |
| | | od.product_name, |
| | | ogd.glass_child, |
| | | ogd.process, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber, |
| | | od.order_number, |
| | | ogd.child_width as width, |
| | | ogd.child_height as height |
| | | from sd.order_glass_detail as ogd |
| | | left join sd.order_detail as od on od.order_id = ogd.order_id and od.order_number = ogd.order_number |
| | | left join sd.`order` as o on o.order_id = ogd.order_id |
| | | where ogd.order_id = #{orderId} |
| | | GROUP BY od.order_number |
| | | order by od.order_number |
| | | </select> |
| | | |
| | | <select id="getPrintOrderDataDetails"> |
| | | select o.order_id as orderId, |
| | | project, |
| | | customer_id as customerId, |
| | | o.customer_name as customerName, |
| | | order_type as orderType, |
| | | order_classify as orderClassify, |
| | | batch, |
| | | o.icon, |
| | | pack_type as packType, |
| | | delivery_date as deliveryDate, |
| | | al_type as alType, |
| | | money, |
| | | contract_id as contractId, |
| | | customer_batch customerBatch, |
| | | contacts, |
| | | delivery_address as deliveryAddress, |
| | | od.processing_note as processingNote, |
| | | width, |
| | | height, |
| | | #{printQuantity} as quantity, |
| | | CONCAT( |
| | | 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 size, |
| | | |
| | | 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))), |
| | | ' = ',#{printQuantity} ) as numberSize, |
| | | od.order_number as orderNumber, |
| | | ogd.technology_number as technologyNumber, |
| | | od.building_number as buildingNumber, |
| | | od.product_name as productName, |
| | | od.edging_type as edgingType, |
| | | od.remarks, |
| | | c.customer_abbreviation as customerAbbreviation, |
| | | p.product_abbreviation as productAbbreviation, |
| | | '' as processId, |
| | | 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, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS colourCeramicGlaze, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS remarks1, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS remarks2, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S06')) AS remarks3, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S07')) AS remarks4, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S08')) AS remarks5, |
| | | p.remarks as filmNumber, |
| | | od.bend_radius as bendRadius, |
| | | od.other_columns, |
| | | ogd.glass_child as glassChild, |
| | | ogd.glass_address as glassAddress, |
| | | JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color, |
| | | '文本' as custom1, |
| | | '文本' as custom2, |
| | | '文本' as custom3, |
| | | '文本' as custom4, |
| | | '文本' as custom5, |
| | | od.quantity |
| | | from sd.order as o |
| | | left join sd.order_detail as od on o.order_id = od.order_id |
| | | left join sd.product as p on p.id = od.product_id |
| | | left join sd.customer as c on c.id = o.customer_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 sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number and |
| | | pd.glass_sort = ogd.technology_number |
| | | |
| | | where od.order_id = #{orderId} |
| | | and od.order_number = #{orderNumber} |
| | | group by od.order_number, width, height |
| | | order by od.order_id |
| | | </select> |
| | | |
| | | <select id="updatePrintNumberMp"> |
| | | update pp.flow_card |
| | | set print_number = ifnull(print_number,0) + 1 |
| | | where process_id = #{processId} |
| | | and order_number = #{orderNumber} |
| | | </select> |
| | | |
| | | <select id="getOrderIdByProcessId"> |
| | | select order_id from pp.flow_card where process_id = #{processId} limit 1; |
| | | </select> |
| | | </mapper> |