旧版报表、仓库
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.
 
 
 
 
 

268 lines
15 KiB

using System;
using System.Collections.Generic;
using System.Data.Entity.Validation;
using System.Linq;
using System.Web;
using Warehouse.Models;
using Warehouse.Models.mesModel;
using Z.EntityFramework.Plus;
namespace Warehouse.DAL.EveryStationLotInfo
{
public class EveryStationLotInfo
{
public dynamic Station_capacity(dynamic para)
{
using (var context = new mesModel())
{
string sql = string.Empty;
string strWhere = string.Empty;
string strIVWhere = string.Empty;
string strELWhere = string.Empty;
string strPackWhere = string.Empty;
if (para.checkEmpty())
{
strWhere += " limit 0,1 ";
strIVWhere += " limit 0,1 ";
strELWhere += " limit 0,1 ";
strPackWhere += " limit 0,1 ";
}
else
{
if (para.StartDTFlg == "Y")
{
strWhere += " and a.wks_visit_date >= '" + para.StartDateTime + "' ";
strIVWhere += " and a.wks_visit_date >= '" + para.StartDateTime + "' ";
strELWhere += " and a.wks_visit_date >= '" + para.StartDateTime + "' ";
strPackWhere += " and a.pack_date >= '" + para.StartDateTime + "' ";
}
if (para.EndDTFlg == "Y")
{
strWhere += " and a.wks_visit_date <= '" + para.EndDateTime + "' ";
strIVWhere += " and a.wks_visit_date <= '" + para.EndDateTime + "' ";
strELWhere += " and a.wks_visit_date <= '" + para.EndDateTime + "' ";
strPackWhere += " and a.pack_date <= '" + para.EndDateTime + "' ";
}
if (!string.IsNullOrEmpty(para.WorkShop))
{
strWhere += " and g.area_code = '" + para.WorkShop + "' ";
strIVWhere += " and g.area_code = '" + para.WorkShop + "' ";
strELWhere += " and g.area_code = '" + para.WorkShop + "' ";
strPackWhere += " and c.area_code = '" + para.WorkShop + "' ";
}
if (!string.IsNullOrEmpty(para.ModuleID))
{
strWhere += " a.serial_nbr = '" + para.ModuleID + "' ";
strIVWhere += " and a.serial_nbr = '" + para.ModuleID + "' ";
strELWhere += " and a.serial_nbr = '" + para.ModuleID + "' ";
strPackWhere += " and a.serial_nbr = '" + para.ModuleID + "' ";
}
if (!string.IsNullOrEmpty(para.WorkOrder))
{
strWhere += " and b.workorder = '" + para.WorkOrder + "' ";
strIVWhere += " and b.WorkOrder_ID = '" + para.WorkOrder + "' ";
strELWhere += " and b.WorkOrder_ID = '" + para.WorkOrder + "' ";
strPackWhere += " and b.WorkOrder_ID = '" + para.WorkOrder + "' ";
}
//if (!string.IsNullOrEmpty(para.ProduceNotice))
//{
// strWhere += " and b.ProduceNotice = '" + para.ProduceNotice + "' ";
// strIVWhere += " and b.ProduceNotice = '" + para.ProduceNotice + "' ";
// strELWhere += " and b.ProduceNotice = '" + para.ProduceNotice + "' ";
// strPackWhere += " and b.ProduceNotice = '" + para.ProduceNotice + "' ";
//}
if (!string.IsNullOrEmpty(para.Banci))
{
strWhere += " and h.descriptions = '" + para.Banci + "' ";
strIVWhere += " and 1=2 ";
strELWhere += " and 1=2 ";
strPackWhere += " and and 1=2 = '" + para.Banci + "' ";
}
}
string sql_HJ = @" select '+' EX ,'焊接' 站点,'' 序列号,'' 操作人员,'' 车间,'' 班次,'' 设备,'' 过站时间,'false' IsEx,0 'RowCount'
union all
SELECT '' as 序号,'焊接' 站点, a.serial_nbr,a.operator+'|' + f.nickname as 操作人员
,g.area_code,h.descriptions,a.wks_id ,a.wks_visit_date,'',''
FROM mes_main.dbo.trace_workstation_visit a
left join mes_main.dbo.assembly_status b
on a.serial_nbr = b.serial_nbr
left join mes_auth.dbo.df_user f
on a.operator = f.username
left join mes_main.dbo.config_workstation g
on a.wks_id = g.wks_id
left join mes_main.dbo.df_shift_type h
on a.shift_type = h.shift_type
where g.process_code = 'M10'" + strWhere+
"group by a.serial_nbr,a.operator,f.nickname,g.area_code,a.wks_id,a.wks_visit_date,h.descriptions" ;
string sql_DC = @" select '+' EX ,'叠层' 站点,'' 序列号,'' 操作人员,'' 车间,'' 班次,'' 设备,'' 过站时间,'false' IsEx,0 'RowCount'
union all
SELECT '' as 序号,'叠层' 站点, a.serial_nbr,a.operator+'|' + f.nickname as 操作人员
,g.area_code,h.descriptions,a.wks_id ,a.wks_visit_date,'',''
FROM mes_main.dbo.trace_workstation_visit a
left join mes_main.dbo.assembly_status b
on a.serial_nbr = b.serial_nbr
left join mes_auth.dbo.df_user f
on a.operator = f.username
left join mes_main.dbo.config_workstation g
on a.wks_id = g.wks_id
left join mes_main.dbo.df_shift_type h
on a.shift_type = h.shift_type
where g.process_code = 'M15'" + strWhere +
"group by a.serial_nbr,a.operator,f.nickname,g.area_code,a.wks_id,a.wks_visit_date,h.descriptions";
string sql_CY = @" select '+' EX ,'层压' 站点,'' 序列号,'' 操作人员,'' 车间,'' 班次,'' 设备,'' 过站时间,'false' IsEx,0 'RowCount'
union all
SELECT '' as 序号,'层压' 站点, a.serial_nbr,a.operator+'|' + f.nickname as 操作人员
,g.area_code,h.descriptions,a.wks_id ,a.wks_visit_date,'',''
FROM mes_main.dbo.trace_workstation_visit a
left join mes_main.dbo.assembly_status b
on a.serial_nbr = b.serial_nbr
left join mes_auth.dbo.df_user f
on a.operator = f.username
left join mes_main.dbo.config_workstation g
on a.wks_id = g.wks_id
left join mes_main.dbo.df_shift_type h
on a.shift_type = h.shift_type
where g.process_code = 'N30'" + strWhere +
"group by a.serial_nbr,a.operator,f.nickname,g.area_code,a.wks_id,a.wks_visit_date,h.descriptions";
string sql_ZK = @" select '+' EX ,'装框' 站点,'' 序列号,'' 操作人员,'' 车间,'' 班次,'' 设备,'' 过站时间,'false' IsEx,0 'RowCount'
union all
SELECT '' as 序号,'装框' 站点, a.serial_nbr,a.operator+'|' + f.nickname as 操作人员
,g.area_code,h.descriptions,a.wks_id ,a.wks_visit_date,'',''
FROM mes_main.dbo.trace_workstation_visit a
left join mes_main.dbo.assembly_status b
on a.serial_nbr = b.serial_nbr
left join mes_auth.dbo.df_user f
on a.operator = f.username
left join mes_main.dbo.config_workstation g
on a.wks_id = g.wks_id
left join mes_main.dbo.df_shift_type h
on a.shift_type = h.shift_type
where g.process_code = 'M45'" + strWhere +
"group by a.serial_nbr,a.operator,f.nickname,g.area_code,a.wks_id,a.wks_visit_date,h.descriptions";
string sql_QX = @" select '+' EX ,'清洗' 站点,'' 序列号,'' 操作人员,'' 车间,'' 班次,'' 设备,'' 过站时间,'false' IsEx,0 'RowCount'
union all
SELECT '' as 序号,'清洗' 站点, a.serial_nbr,a.operator+'|' + f.nickname as 操作人员
,g.area_code,h.descriptions,a.wks_id ,a.wks_visit_date,'',''
FROM mes_main.dbo.trace_workstation_visit a
left join mes_main.dbo.assembly_status b
on a.serial_nbr = b.serial_nbr
left join mes_auth.dbo.df_user f
on a.operator = f.username
left join mes_main.dbo.config_workstation g
on a.wks_id = g.wks_id
left join mes_main.dbo.df_shift_type h
on a.shift_type = h.shift_type
where g.process_code = 'N50'" + strWhere +
"group by a.serial_nbr,a.operator,f.nickname,g.area_code,a.wks_id,a.wks_visit_date,h.descriptions";
string sql_IV = @" select '+' EX ,'IV' 站点,'' 序列号,'' 操作人员,'' 车间,'' 班次,'' 设备,'' 过站时间,'false' IsEx,0 'RowCount'
union all
SELECT '' as 序号,'IV' 站点, a.serial_nbr, '' as 操作人员 ,g.area_code,'' as banci,a.wks_id ,a.wks_visit_date,'',''
FROM mes_level2_iface.dbo.iv a
left join mes_main.dbo.assembly_status b
on a.serial_nbr = b.serial_nbr
left join mes_main.dbo.config_workstation g
on a.wks_id = g.wks_id
" + strIVWhere;
string sql_EL = @" select '+' EX ,'EL' 站点,'' 序列号,'' 操作人员,'' 车间,'' 班次,'' 设备,'' 过站时间,'false' IsEx,0 'RowCount'
union all
SELECT '' as 序号,'EL' 站点, a.serial_nbr, '' as 操作人员 ,g.area_code,'' as banci,a.wks_id ,a.wks_visit_date,'',''
FROM mes_level2_iface.dbo.el a
left join mes_main.dbo.assembly_status b
on a.serial_nbr = b.serial_nbr
left join mes_main.dbo.config_workstation g
on a.wks_id = g.wks_id
" + strELWhere;
#region add by genhong.hu ON 2016-11-29
string sql_QJ = @" select '+' EX ,'全检' 站点,'' 序列号,'' 操作人员,'' 车间,'' 班次,'' 设备,'' 过站时间,'false' IsEx,0 'RowCount'
union all
SELECT '' as 序号,'全检' 站点, a.serial_nbr,a.operator+'|' + f.nickname as 操作人员
,g.area_code,h.descriptions,a.wks_id ,a.wks_visit_date,'',''
FROM mes_main.dbo.trace_workstation_visit a
left join mes_main.dbo.assembly_status b
on a.serial_nbr = b.serial_nbr
left join mes_auth.dbo.df_user f
on a.operator = f.username
left join mes_main.dbo.config_workstation g
on a.wks_id = g.wks_id
left join mes_main.dbo.df_shift_type h
on a.shift_type = h.shift_type
where g.process_code = 'N60'" + strWhere +
"group by a.serial_nbr,a.operator,f.nickname,g.area_code,a.wks_id,a.wks_visit_date,h.descriptions";
#endregion
string sql_BZ = @"select '+' EX ,'包装' 站点,'' 序列号,'' 操作人员,'' 车间,'' 班次,'' 设备,'' 过站时间,'false' IsEx,0 'RowCount'
union all
SELECT '' as 序号,'包装' 站点, a.serial_nbr,'' as 操作人员 ,c.area_code,h.descriptions,b.wks_id ,a.pack_date,'',''
FROM[mes_main].[dbo].[assembly_status] a
left join mes_main.dbo.pack_pallets b
on a.pallet_nbr = b.pallet_nbr
left join mes_main.dbo.config_workstation c
on b.wks_id = c.wks_id
left join mes_main.dbo.df_shift_type h
on b.shift_type = h.shift_type
where b.pallet_status > '0'
group by b.wks_id,c.area_code ,a.serial_nbr,a.pallet_nbr,a.workorder,a.product_code,a.pack_date,h.descriptions
" + strPackWhere;
if (!string.IsNullOrEmpty(para.Station))
{
switch (para.Station)
{
case "M10":
sql = sql_HJ;
break;
case "M15":
sql = sql_DC;
break;
case "N30":
sql = sql_CY;
break;
case "M45":
sql = sql_ZK;
break;
case "N50":
sql = sql_QX;
break;
case "N60":
sql = sql_QJ;
break;
case "P100":
sql = sql_BZ;
break;
default:
sql = sql_HJ;
break;
}
}
else
{
sql = sql_HJ +
" union all " + sql_DC +
" union all " + sql_CY +
" union all " + sql_ZK +
" union all " + sql_QX +
" union all " + sql_IV +
" union all " + sql_EL +
" union all " + sql_QJ +
" union all " + sql_BZ;
}
var res = context.DynamicListFromSql(sql, null);
return res;
}
}
}
}