You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
407 lines
17 KiB
407 lines
17 KiB
|
|
using System.Collections.Generic;
|
|
using System.Data.Entity.Validation;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using Warehouse.Models.mesModel;
|
|
using Z.EntityFramework.Plus;
|
|
using System;
|
|
|
|
namespace Warehouse.DAL.PackOutput
|
|
{
|
|
|
|
public class PackOutput
|
|
{
|
|
//原始版本
|
|
public List<dynamic> QueryInfo2(string workshop, string bt, string et, string lot, string container, string pallet, string check,string workorder)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"SELECT ast.[pallet_nbr]/*托盘编码*/
|
|
,wh.containerno as container_nbr/*柜号*/
|
|
,ast.[serial_nbr] /*组件序列号*/
|
|
,ast.[workorder]/*工单号*/
|
|
,wm.sale_order
|
|
,ast.[power_grade]/*功率档位*/
|
|
,ast.current_grade/*电流档位*/
|
|
,ast.[product_code]/*装配件号*/
|
|
,ast.[el_grade]/*EL等级*/
|
|
,ast.exterior_grade
|
|
,ast.[final_grade]/*外观等级*/
|
|
,iv.wks_id
|
|
,CONVERT(varchar(100), ppk.[pack_date], 120) as pack_date/*封箱时间*/
|
|
,cpp.[descriptions]/*功率组*/
|
|
,dps.[pallet_status_desc]/*托盘状态*/
|
|
,dst.[descriptions] shift_type/*班次*/
|
|
, cast(iv.[pmax] as numeric(18,2)) pmax
|
|
,cast(iv.[voc] as numeric(18,2)) voc
|
|
,cast(iv.[isc] as numeric(18,2)) isc
|
|
,cast(iv.[ff] as numeric(18,2)) ff
|
|
,cast(iv.[vpm] as numeric(18,2)) vpm
|
|
,cast(iv.[ipm] as numeric(18,2)) ipm
|
|
,cast(iv.[rs] as numeric(18,2)) rs
|
|
,cast(iv.[rsh] as numeric(18,2)) rsh
|
|
,cast(iv.[eff] as numeric(18,2)) eff
|
|
,cast(iv.[env_temp] as numeric(18,2)) env_temp
|
|
,cast(iv.[surf_temp] as numeric(18,2)) surf_temp
|
|
,cast(iv.[temp] as numeric(18,2)) temp
|
|
,cast(iv.[ivfile_path] as numeric(18,2)) ivfile_path
|
|
,ast.[pack_seq]
|
|
,ppk.[check_nbr]
|
|
,ms.[descriptions] as cell_supplier/*电池片供应商*/
|
|
,cmc.cell_color_desc
|
|
,cmc.cell_type_desc
|
|
,'' /*电池片档位*/
|
|
,[cell_uop] /*电池片效率*/
|
|
,iv.[pmax]/(cast(REPLACE(cp.[cell_qty],'W','') as float)*cast(REPLACE([cell_uop],'W','') as float)) fff /*转换效率*/
|
|
--,cp.[cell_qty]
|
|
,ab.[eva_supplier_code]/*EVA供应商*/
|
|
,cmeva.[eva_thickness] /*EVA规格*/
|
|
,ab.[eva_lot_nbr]/*EVA批号*/
|
|
,ab.[bks_supplier_code]/*背板供应商*/
|
|
,cmbks.[bks_thickness] /*bks规格*/
|
|
,ab.[bks_lot_nbr]/*背板批号*/
|
|
,ab.[glass_supplier_code]/*玻璃供应商*/
|
|
,cmglass.glass_thickness_desc /*玻璃规格*/
|
|
,ab.[glass_lot_nbr]/*电池批号*/
|
|
,ab.[jbox_supplier_code]/*接线盒供应商*/
|
|
,cmjbox.jbox_model_desc/*型材规格*/
|
|
,ab.[jbox_lot_nbr]/*接线盒批号*/
|
|
,ab.[frame_supplier_code]/*型材供应商*/
|
|
,cmframe.frame_thickness_desc/*型材规格*/
|
|
,ab.[frame_lot_nbr]/*型材批号*/
|
|
,wm.[customer]
|
|
,ppk.[product_code_original]
|
|
--,ppk.container_nbr as batch
|
|
,CONVERT(varchar(100),iv.wks_visit_date, 120) as wks_visit_date /*测试时间*/
|
|
FROM[mes_main].[dbo].[assembly_status]
|
|
ast
|
|
left join[mes_level2_iface].[dbo].[iv]
|
|
iv
|
|
on ast.[serial_nbr]=iv.[serial_nbr]
|
|
left join[mes_main].[dbo].[pack_pallets]
|
|
ppk
|
|
on ast.[pallet_nbr]=ppk.[pallet_nbr]
|
|
left join[mes_main].[dbo].[df_pallet_status]
|
|
dps
|
|
on ppk.[pallet_status]=dps.[pallet_status]
|
|
left join[mes_main].[dbo].[df_shift_type]
|
|
dst
|
|
on ppk.[shift_type]=dst.[shift_type]
|
|
left join[mes_main].[dbo].[config_power_group]
|
|
cpp
|
|
on ppk.[power_grade_group_id]=cpp.[power_grade_group_id]
|
|
left join[mes_main].[dbo].[assembly_basis]
|
|
ab
|
|
on ast.[serial_nbr]=ab.[serial_nbr]
|
|
left join[mes_main].[dbo].[config_mat_cell]
|
|
cmc
|
|
on ab.[cell_part_nbr]=cmc.[part_nbr]
|
|
left join[mes_level4_iface].[dbo].[master_supplier]
|
|
ms
|
|
on ab.[cell_supplier_code]=ms.[supplier_code]
|
|
left join[mes_main].[dbo].[config_products]
|
|
cp
|
|
on ab.[product_code]=cp.[product_code]
|
|
left join[mes_main].[dbo].[wo_mfg]
|
|
wm
|
|
on ast.[workorder]=wm.[workorder]
|
|
left join[mes_main].[dbo].[config_mat_eva]
|
|
cmeva
|
|
on ab.[eva_part_nbr]=cmeva.[part_nbr]
|
|
left join[mes_main].[dbo].[config_mat_bks]
|
|
cmbks
|
|
on ab.[cell_part_nbr]=cmbks.[part_nbr]
|
|
left join[mes_main].[dbo].[config_mat_glass]
|
|
cmglass
|
|
on ab.glass_part_nbr=cmglass.part_nbr
|
|
left join[mes_main].[dbo].[config_mat_frame]
|
|
cmframe
|
|
on ab.frame_part_nbr=cmframe.part_nbr
|
|
left join[mes_main].[dbo].[config_mat_jbox]
|
|
cmjbox
|
|
on ab.jbox_part_nbr=cmjbox.part_nbr
|
|
left join wh.dbo.tcontainerpallet wh
|
|
on ast.pallet_nbr =wh.palletno
|
|
where 1=1 ";
|
|
//ppk.[pack_date]>='" + Convert.ToString(bt) + "' and ppk.[pack_date]<='" + Convert.ToString(et) + "' ";
|
|
//报检单号
|
|
sql += (String.IsNullOrEmpty(workshop) | (workorder == "''")) ? "" : " AND wm.area_code='" + Convert.ToString(workshop) + "'";
|
|
sql += (String.IsNullOrEmpty(bt) | (bt == "''")) ? "" : " AND ppk.[pack_date]>='" + Convert.ToString(bt) + "'";
|
|
//报检单号
|
|
sql += (String.IsNullOrEmpty(et) | (et == "''")) ? "" : " AND ppk.[pack_date]<='" + Convert.ToString(et) + "'";
|
|
//柜号
|
|
sql += String.IsNullOrEmpty(container) | (container == "''") ? "" : " and wh.containerno in ( " + Convert.ToString(container) + " )";
|
|
//托盘号
|
|
sql += (String.IsNullOrEmpty(pallet)|(pallet=="''")) ? "" : " and ast.[pallet_nbr] in ( " + Convert.ToString(pallet) + " ) ";
|
|
//组件序列号
|
|
sql += (String.IsNullOrEmpty(lot) | (lot == "''")) ? "" : " AND ast.[serial_nbr] in ( " + Convert.ToString(lot) + " )";
|
|
//报检单号
|
|
sql += (String.IsNullOrEmpty(check) |(check == "''")) ? "" : " AND ppk.[check_nbr]='" + Convert.ToString(check) + "'";
|
|
sql += (String.IsNullOrEmpty(workorder) | (workorder == "''")) ? "" : " AND wm.workorder='" + Convert.ToString(workorder) + "'";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
return res.ToList();
|
|
}
|
|
}
|
|
|
|
//山东客户版本
|
|
public List<dynamic> QueryInfo(string workshop, string bt, string et, string lot, string container, string pallet, string check, string workorder)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"SELECT
|
|
wh.containerno as container_nbr/*柜号*/
|
|
,ast.[pallet_nbr]/*托盘编码*/
|
|
,ast.[pack_seq]/*包装顺序*/
|
|
,ast.[workorder]/*工单号*/
|
|
,wm.sale_order
|
|
,ast.[serial_nbr] /*组件序列号*/
|
|
,CONVERT(varchar(100), ppk.[pack_date], 120) as pack_date/*封箱时间*/
|
|
,CONVERT(varchar(100),iv.wks_visit_date, 120) as wks_visit_date /*测试时间*/
|
|
,iv.wks_id/*测试机台*/
|
|
,ast.[power_grade]/*功率档位*/
|
|
,ast.current_grade/*电流档位*/
|
|
--,ast.[product_code]/*装配件号*/
|
|
,ast.[el_grade]/*EL等级*/
|
|
,ast.exterior_grade/*外观等级*/
|
|
,ast.[final_grade]/*最终等级*/
|
|
--,cpp.[descriptions]/*功率组*/
|
|
--,dst.[descriptions] shift_type/*班次*/
|
|
--, cast(iv.[pmax] as numeric(18,2)) pmax
|
|
--, round(iv.[pmax] ,2) pmax
|
|
,iv.[pmax]
|
|
--,round(iv.[ff] ,2) ff
|
|
,iv.[ff]
|
|
--,round(iv.[voc] ,2) voc
|
|
,iv.[voc]
|
|
--,round(iv.[isc] ,2) isc
|
|
,iv.[isc]
|
|
--,round(iv.[vpm] ,2) vpm
|
|
,iv.[vpm]
|
|
--,round(iv.[ipm] ,2) ipm
|
|
,iv.[ipm]
|
|
--,round(iv.[rs] ,2) rs
|
|
,iv.[rs]
|
|
--,round(iv.[rsh] ,2) rsh
|
|
,iv.[rsh]
|
|
,iv.[eff]
|
|
--,cast(iv.[eff] as numeric(18,2)) eff
|
|
--,round(iv.[env_temp] ,2) env_temp
|
|
,iv.[env_temp]
|
|
--,cast(iv.[surf_temp] as numeric(18,2)) surf_temp
|
|
--,cast(iv.[temp] as numeric(18,2)) temp
|
|
--,cast(iv.[ivfile_path] as numeric(18,2)) ivfile_path
|
|
--,round(iv.[surf_temp] ,2) tmod
|
|
,iv.[surf_temp] tmod
|
|
,ms.[descriptions] as cell_supplier/*电池片供应商*/
|
|
--,ppk.[check_nbr]
|
|
,case when cmc.attr_code = 'cell_uop' then cmc.attr_value end cell_uop/*单片功率*/
|
|
,case when color.attr_code = 'cell_color' then color.attr_value end cell_color/*电池颜色*/
|
|
,case when grade.attr_code = 'cell_grade' then grade.attr_value end cell_grade/*电池片等级*/
|
|
,case when type.attr_code = 'cell_type' then type.attr_value end cell_type/*电池片类型*/
|
|
,case when eff.attr_code = 'cell_eff' then eff.attr_value end cell_eff/*电池片效率档*/
|
|
--,iv.[pmax]/(cast(REPLACE(cp.[cell_qty],'W','') as float)*cast(REPLACE([cell_uop],'W','') as float)) fff /*转换效率*/
|
|
--,cp.[cell_qty]
|
|
--,ppk.container_nbr as batch
|
|
,dps.[pallet_status_desc]/*托盘状态*/
|
|
FROM[mes_main].[dbo].[assembly_status]
|
|
ast
|
|
left join[mes_level2_iface].[dbo].[iv]
|
|
iv
|
|
on ast.[serial_nbr]=iv.[serial_nbr]
|
|
left join[mes_main].[dbo].[pack_pallets]
|
|
ppk
|
|
on ast.[pallet_nbr]=ppk.[pallet_nbr]
|
|
left join[mes_main].[dbo].[df_pallet_status]
|
|
dps
|
|
on ppk.[pallet_status]=dps.[pallet_status]
|
|
left join[mes_main].[dbo].[df_shift_type]
|
|
dst
|
|
on ppk.[shift_type]=dst.[shift_type]
|
|
left join[mes_main].[dbo].[config_power_group]
|
|
cpp
|
|
on ppk.[power_grade_group_id]=cpp.[power_grade_group_id]
|
|
LEFT join mes_main.dbo.trace_componnet_lot
|
|
ab
|
|
on ab.serial_nbr = ast.serial_nbr and ab.part_type = 'CELL'
|
|
--left join[mes_main].[dbo].[assembly_basis]
|
|
-- ab
|
|
--on ast.[serial_nbr]=ab.[serial_nbr]
|
|
left join[mes_main].[dbo].[config_mat_attr]
|
|
cmc
|
|
on ab.part_nbr=cmc.[part_nbr] and cmc.attr_code = 'cell_uop'
|
|
left join[mes_main].[dbo].[config_mat_attr]
|
|
color
|
|
on ab.part_nbr=color.[part_nbr] and color.attr_code = 'cell_color'
|
|
left join[mes_main].[dbo].[config_mat_attr]
|
|
grade
|
|
on ab.part_nbr=grade.[part_nbr] and grade.attr_code = 'cell_grade'
|
|
left join[mes_main].[dbo].[config_mat_attr]
|
|
type
|
|
on ab.part_nbr=type.[part_nbr] and type.attr_code = 'cell_type'
|
|
left join[mes_main].[dbo].[config_mat_attr]
|
|
eff
|
|
on ab.part_nbr=eff.[part_nbr] and eff.attr_code = 'cell_eff'
|
|
left join[mes_level4_iface].[dbo].[master_supplier]
|
|
ms
|
|
on ab.supplier_code=ms.[supplier_code]
|
|
left join[mes_main].[dbo].[config_products]
|
|
cp
|
|
on ppk.[product_code]=cp.[product_code]
|
|
left join[mes_main].[dbo].[wo_mfg]
|
|
wm
|
|
on ast.[workorder]=wm.[workorder]
|
|
--left join[mes_main].[dbo].[config_mat_eva]
|
|
--cmeva
|
|
--on ab.[eva_part_nbr]=cmeva.[part_nbr]
|
|
--left join[mes_main].[dbo].[config_mat_bks]
|
|
--cmbks
|
|
--on ab.[cell_part_nbr]=cmbks.[part_nbr]
|
|
--left join[mes_main].[dbo].[config_mat_glass]
|
|
--cmglass
|
|
--on ab.glass_part_nbr=cmglass.part_nbr
|
|
--left join[mes_main].[dbo].[config_mat_frame]
|
|
--cmframe
|
|
--on ab.frame_part_nbr=cmframe.part_nbr
|
|
--left join[mes_main].[dbo].[config_mat_jbox]
|
|
--cmjbox
|
|
--on ab.jbox_part_nbr=cmjbox.part_nbr
|
|
left join wh.dbo.tcontainerpallet wh
|
|
on ast.pallet_nbr =wh.palletno
|
|
where 1=1 and ast.pallet_nbr is not null";
|
|
//ppk.[pack_date]>='" + Convert.ToString(bt) + "' and ppk.[pack_date]<='" + Convert.ToString(et) + "' ";
|
|
//报检单号
|
|
sql += (String.IsNullOrEmpty(workshop) | (workorder == "''")) ? "" : " AND wm.area_code='" + Convert.ToString(workshop) + "'";
|
|
sql += (String.IsNullOrEmpty(bt) | (bt == "''")) ? "" : " AND ppk.[pack_date]>='" + Convert.ToString(bt) + "'";
|
|
//报检单号
|
|
sql += (String.IsNullOrEmpty(et) | (et == "''")) ? "" : " AND ppk.[pack_date]<='" + Convert.ToString(et) + "'";
|
|
//柜号
|
|
sql += String.IsNullOrEmpty(container) | (container == "''") ? "" : " and wh.containerno in ( " + Convert.ToString(container) + " )";
|
|
//托盘号
|
|
sql += (String.IsNullOrEmpty(pallet) | (pallet == "''")) ? "" : " and ast.[pallet_nbr] in ( " + Convert.ToString(pallet) + " ) ";
|
|
//组件序列号
|
|
sql += (String.IsNullOrEmpty(lot) | (lot == "''")) ? "" : " AND ast.[serial_nbr] in ( " + Convert.ToString(lot) + " )";
|
|
//报检单号
|
|
sql += (String.IsNullOrEmpty(check) | (check == "''")) ? "" : " AND ppk.[check_nbr]='" + Convert.ToString(check) + "'";
|
|
sql += (String.IsNullOrEmpty(workorder) | (workorder == "''")) ? "" : " AND wm.workorder='" + Convert.ToString(workorder) + "'";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
return res.ToList();
|
|
}
|
|
}
|
|
|
|
//英利客户版本
|
|
public List<dynamic> QueryDetailInfo(string workshop, string bt, string et, string lot, string container, string pallet, string check, string workorder)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"SELECT
|
|
ast.[pallet_nbr]/*托盘编码*/
|
|
,ast.[serial_nbr] /*组件序列号*/
|
|
--,round(iv.[voc] ,2) voc
|
|
,iv.[voc]
|
|
--,round(iv.[isc] ,2) isc
|
|
,iv.[isc]
|
|
,iv.[pmax]
|
|
--,round(iv.[vpm] ,2) vpm
|
|
,iv.[vpm]
|
|
--,round(iv.[ipm] ,2) ipm
|
|
,iv.[ipm]
|
|
,cast(substring(cast(iv.[ff]*100.00 as varchar(10)),1,charindex('.',iv.[ff]*100.00)+2) as float) as ff
|
|
,CONVERT(varchar(100),iv.wks_visit_date, 120) as wks_visit_date /*测试时间*/
|
|
FROM[mes_main].[dbo].[assembly_status]
|
|
ast
|
|
left join[mes_level2_iface].[dbo].[iv]
|
|
iv
|
|
on ast.[serial_nbr]=iv.[serial_nbr]
|
|
left join[mes_main].[dbo].[pack_pallets]
|
|
ppk
|
|
on ast.[pallet_nbr]=ppk.[pallet_nbr]
|
|
left join[mes_main].[dbo].[df_pallet_status]
|
|
dps
|
|
on ppk.[pallet_status]=dps.[pallet_status]
|
|
left join[mes_main].[dbo].[df_shift_type]
|
|
dst
|
|
on ppk.[shift_type]=dst.[shift_type]
|
|
left join[mes_main].[dbo].[config_power_group]
|
|
cpp
|
|
on ppk.[power_grade_group_id]=cpp.[power_grade_group_id]
|
|
LEFT join mes_main.dbo.trace_componnet_lot
|
|
ab
|
|
on ab.serial_nbr = ast.serial_nbr and ab.part_type = 'CELL'
|
|
--left join[mes_main].[dbo].[assembly_basis]
|
|
-- ab
|
|
--on ast.[serial_nbr]=ab.[serial_nbr]
|
|
left join[mes_main].[dbo].[config_mat_attr]
|
|
cmc
|
|
on ab.part_nbr=cmc.[part_nbr] and cmc.attr_code = 'cell_uop'
|
|
left join[mes_main].[dbo].[config_mat_attr]
|
|
color
|
|
on ab.part_nbr=color.[part_nbr] and color.attr_code = 'cell_color'
|
|
left join[mes_main].[dbo].[config_mat_attr]
|
|
grade
|
|
on ab.part_nbr=grade.[part_nbr] and grade.attr_code = 'cell_grade'
|
|
left join[mes_main].[dbo].[config_mat_attr]
|
|
type
|
|
on ab.part_nbr=type.[part_nbr] and type.attr_code = 'cell_type'
|
|
left join[mes_main].[dbo].[config_mat_attr]
|
|
eff
|
|
on ab.part_nbr=eff.[part_nbr] and eff.attr_code = 'cell_eff'
|
|
left join[mes_level4_iface].[dbo].[master_supplier]
|
|
ms
|
|
on ab.supplier_code=ms.[supplier_code]
|
|
left join[mes_main].[dbo].[config_products]
|
|
cp
|
|
on ppk.[product_code]=cp.[product_code]
|
|
left join[mes_main].[dbo].[wo_mfg]
|
|
wm
|
|
on ast.[workorder]=wm.[workorder]
|
|
--left join[mes_main].[dbo].[config_mat_eva]
|
|
--cmeva
|
|
--on ab.[eva_part_nbr]=cmeva.[part_nbr]
|
|
--left join[mes_main].[dbo].[config_mat_bks]
|
|
--cmbks
|
|
--on ab.[cell_part_nbr]=cmbks.[part_nbr]
|
|
--left join[mes_main].[dbo].[config_mat_glass]
|
|
--cmglass
|
|
--on ab.glass_part_nbr=cmglass.part_nbr
|
|
--left join[mes_main].[dbo].[config_mat_frame]
|
|
--cmframe
|
|
--on ab.frame_part_nbr=cmframe.part_nbr
|
|
--left join[mes_main].[dbo].[config_mat_jbox]
|
|
--cmjbox
|
|
--on ab.jbox_part_nbr=cmjbox.part_nbr
|
|
left join wh.dbo.tcontainerpallet wh
|
|
on ast.pallet_nbr =wh.palletno
|
|
where 1=1 and ast.[pallet_nbr] is not null";
|
|
//ppk.[pack_date]>='" + Convert.ToString(bt) + "' and ppk.[pack_date]<='" + Convert.ToString(et) + "' ";
|
|
//报检单号
|
|
sql += (String.IsNullOrEmpty(workshop) | (workorder == "''")) ? "" : " AND wm.area_code='" + Convert.ToString(workshop) + "'";
|
|
sql += (String.IsNullOrEmpty(bt) | (bt == "''")) ? "" : " AND ppk.[pack_date]>='" + Convert.ToString(bt) + "'";
|
|
//报检单号
|
|
sql += (String.IsNullOrEmpty(et) | (et == "''")) ? "" : " AND ppk.[pack_date]<='" + Convert.ToString(et) + "'";
|
|
//柜号
|
|
sql += String.IsNullOrEmpty(container) | (container == "''") ? "" : " and wh.containerno in ( " + Convert.ToString(container) + " )";
|
|
//托盘号
|
|
sql += (String.IsNullOrEmpty(pallet) | (pallet == "''")) ? "" : " and ast.[pallet_nbr] in ( " + Convert.ToString(pallet) + " ) ";
|
|
//组件序列号
|
|
sql += (String.IsNullOrEmpty(lot) | (lot == "''")) ? "" : " AND ast.[serial_nbr] in ( " + Convert.ToString(lot) + " )";
|
|
//报检单号
|
|
sql += (String.IsNullOrEmpty(check) | (check == "''")) ? "" : " AND ppk.[check_nbr]='" + Convert.ToString(check) + "'";
|
|
sql += (String.IsNullOrEmpty(workorder) | (workorder == "''")) ? "" : " AND wm.workorder='" + Convert.ToString(workorder) + "'";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
return res.ToList();
|
|
}
|
|
}
|
|
|
|
public List<dynamic> QueryStatus()
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"select * from [mes_main].[dbo].[df_wks_visit_type] vt
|
|
where vt.visit_type in ('M','H','RL','S')";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
return res.ToList();
|
|
}
|
|
}
|
|
}
|
|
}
|