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.
1002 lines
57 KiB
1002 lines
57 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 Warehouse.Models.mesMysqlModel;
|
|
using Z.EntityFramework.Plus;
|
|
|
|
namespace Warehouse.DAL.Order
|
|
{
|
|
public class Order
|
|
{
|
|
|
|
public IEnumerable<dynamic> GETorder(string order)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
var res = from a in context.trace_workstation_visit
|
|
join b in context.assembly_status on a.serial_nbr equals b.serial_nbr
|
|
join c in context.wo_mfg on b.workorder equals c.workorder
|
|
join d in context.pack_pallets on b.pallet_nbr equals d.pallet_nbr
|
|
join e in context.df_pallet_status on d.pallet_status equals e.pallet_status
|
|
where (c.sale_order == order && e.pallet_status == 1)
|
|
select new
|
|
{
|
|
c.customer,
|
|
c.sale_order,
|
|
c.plan_qty,
|
|
//cnd = b.pallet_nbr.Count(),
|
|
b.serial_nbr,
|
|
c.create_date
|
|
} into x
|
|
group x by new { x.customer,x.sale_order } into g
|
|
select new
|
|
{
|
|
aa = g.Key.customer,
|
|
count = g.Select(x => x.serial_nbr).Count(),
|
|
crea = g.Select(c=>c.create_date).Distinct().FirstOrDefault(),
|
|
sale_oder = g.Select(e => e.sale_order).Distinct().FirstOrDefault(),
|
|
//plan_qyt = g.Select(f => f.plan_qty).Sum()
|
|
|
|
};
|
|
|
|
//var res = context.tusers.Where(a => a.UserId == 2).Select(a=>new {a.tuserroles,a.UserId }).ToList();
|
|
if (res.Count() != 0)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public IEnumerable<dynamic> Getworkorder(string order)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
|
|
try
|
|
{
|
|
var res = from c in context.wo_mfg //GD
|
|
where (c.sale_order == order)
|
|
select new
|
|
{
|
|
c.plan_qty,
|
|
c.workorder,
|
|
} into x
|
|
group x by new { x.workorder } into g
|
|
select new
|
|
{
|
|
plan_qyt = g.Select(a => a.plan_qty).Sum()
|
|
|
|
};
|
|
if (res.Count() != 0)
|
|
return res.ToList();
|
|
else
|
|
return null;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
public List<dynamic> QueryStockInfoByPallet(string workshop)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string strwhere = string.Empty;
|
|
string strwhere1 = string.Empty;
|
|
string strwhere2 = string.Empty;
|
|
if (!string.IsNullOrEmpty(workshop))
|
|
{
|
|
strwhere = "and a.area_code = '" + workshop + @"' ";
|
|
strwhere1 = "and wo.area_code = '" + workshop + @"' ";
|
|
strwhere2 = "and b.area_code = '" + workshop + @"' ";
|
|
}
|
|
string sql = @"select final.sale_order,final.OEMcustomer,final.planqty,final.pallqty
|
|
,convert(varchar(50),cast(ROUND((final.pallqty*100.00/final.planqty),2) as numeric(20,2)))+'%' as completion
|
|
,convert(varchar(50),cast(ROUND((final.Goodqty*100.00/
|
|
case
|
|
when final.pallqty = 0 then 1
|
|
else final.pallqty
|
|
end
|
|
),2) as numeric(20,2)))+'%' as yield
|
|
from
|
|
(
|
|
SELECT b.OEMcustomer,b.sale_order,c.planqty,count(case when a.pallet_nbr is not null then 1 end) pallqty
|
|
,count(case when a.pallet_nbr is not null and (a.final_grade = 'A' or a.final_grade = 'Q0') then 1 end) Goodqty
|
|
,MIN(b.create_date) as create_date
|
|
FROM [mes_main].[dbo].[assembly_status] a
|
|
left join mes_main.dbo.wo_mfg b
|
|
on a.workorder =b.workorder
|
|
left join
|
|
(
|
|
SELECT a.sale_order,SUM(plan_qty) as planqty
|
|
FROM [mes_main].[dbo].[wo_mfg] a
|
|
where 1=1
|
|
" + strwhere + @"
|
|
group by a.sale_order
|
|
) c
|
|
on b.sale_order = c.sale_order
|
|
where b.sale_order in
|
|
(select wo.sale_order from mes_main.dbo.wo_mfg wo
|
|
where wo.wo_status = 'O' " + strwhere1 + @"
|
|
)
|
|
" + strwhere2 + @"
|
|
group by b.sale_order,b.OEMcustomer,c.planqty
|
|
) final
|
|
|
|
|
|
";
|
|
//context.Database.SqlQuery<dynamic>(" call prGetPalletOfContainer('" + container + "') ").ToList();
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public List<dynamic> QueryStockInfoByPalletL6()
|
|
{
|
|
using (var context = new mymesModel())
|
|
{
|
|
string sql = @"SELEct A.sale_order,A.预计数量 as expected_nbr,A.customer,A.Create_Date,ifnull(B.包装数量,0) as pack_nbr,
|
|
ifnull(CONCAT(ROUND(B.包装数量/A.预计数量*100,2),'%'),'0.00%') AS 完成率,
|
|
ifnull(CONCAT(ROUND(D.良品数量/B.包装数量*100,2),'%'),'0.00%') AS 成品率
|
|
FROM (select b.sale_order,SUM(b.qty) as 预计数量,b.customer,b.Create_Date from js_mes.df_wo_info b
|
|
group by sale_order) A
|
|
left join (select a.sale_order,sum(b.serial_nbr) as 包装数量 from
|
|
js_mes.df_wo_info a
|
|
left join (SELECT WorkOrder_ID as workorder,COUNT(Module_ID) as serial_nbr
|
|
from js_mes.rt_mid_packing
|
|
group by workorder_id
|
|
) b
|
|
on a.workorder_id=b.workorder
|
|
group by sale_order) B
|
|
on A.sale_order=B.sale_order
|
|
left join(SELECT b.sale_order,count(a.module_id) as 不良数量
|
|
FROM js_mes.rt_mid_packing a
|
|
join lotbasis b
|
|
on a.module_id=b.module_id
|
|
where b.status !='A'
|
|
group by b.sale_order ) C
|
|
on C.sale_order=A.sale_order
|
|
left join(SELECT count(a.Module_ID) as 良品数量,b.sale_order FROM js_mes.rt_mid_packing a
|
|
left join js_mes.df_wo_info b
|
|
on a.workorder_id= b.workorder_id
|
|
where a.Module_Grade in('A','OK','Q1','ok')
|
|
group by b.sale_order) D
|
|
on D.sale_order=A.sale_order
|
|
where A.sale_order in (SELECT sale_order FROM js_mes.df_wo_info where State = 'open' and Create_Date>= date_add(now(), interval -3 month))
|
|
|
|
|
|
";
|
|
//context.Database.SqlQuery<dynamic>(" call prGetPalletOfContainer('" + container + "') ").ToList();
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<dynamic> TwohoursHJ(string workshop)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql =
|
|
@"select GZ.times,GZ.焊接,GZ.叠层,GZ.层压,GZ.层压后检验,GZ.装框,GZ.清洗, isnull(IV.iv, 0) as iv,isnull(EL.el, 0) as el,GZ.全检
|
|
from(
|
|
SELECT case when DATEPART(HH, a.wks_visit_date) >= '0' and DATEPART(HH, a.wks_visit_date) < '2' then '2'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '2' and DATEPART(HH, a.wks_visit_date) < '4' then '4'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '4' and DATEPART(HH, a.wks_visit_date) < '6' then '6'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '6' and DATEPART(HH, a.wks_visit_date) < '8' then '8' when DATEPART(HH, a.wks_visit_date) >= '8' and DATEPART(HH, a.wks_visit_date) < '10' then '10'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '10' and DATEPART(HH, a.wks_visit_date) < '12' then '12'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '12' and DATEPART(HH, a.wks_visit_date) < '14' then '14'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '14' and DATEPART(HH, a.wks_visit_date) < '16' then '16' when DATEPART(HH, a.wks_visit_date) >= '16' and DATEPART(HH, a.wks_visit_date) < '18' then '18'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '18' and DATEPART(HH, a.wks_visit_date) < '20' then '20'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '20' and DATEPART(HH, a.wks_visit_date) < '22' then '22'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '22' and DATEPART(HH, a.wks_visit_date) < '24' then '24'
|
|
|
|
end times,
|
|
COUNT(CASE WHEN b.process_code = 'M10' THEN 1 END) AS 焊接,
|
|
COUNT(CASE WHEN b.process_code = 'M15' THEN 1 END) AS 叠层,
|
|
COUNT(CASE WHEN b.process_code = 'N30' THEN 1 END) AS 层压,
|
|
COUNT(CASE WHEN b.process_code = 'N40' THEN 1 END) AS 层压后检验,
|
|
COUNT(CASE WHEN b.process_code = 'M45' THEN 1 END) AS 装框,
|
|
COUNT(CASE WHEN b.process_code = 'N50' THEN 1 END) AS 清洗,
|
|
COUNT(CASE WHEN b.process_code = 'N60' THEN 1 END) AS 全检 FROM[mes_main].[dbo].[trace_workstation_visit] a join mes_main.dbo.config_workstation b on a.wks_id = b.wks_id
|
|
where YEAR(a.wks_visit_date) = YEAR(GETDATE()) and month(a.wks_visit_date) = month(GETDATE()) and day(a.wks_visit_date) = day(GETDATE()) and b.area_code = '" + workshop +
|
|
@"'
|
|
group by
|
|
case when DATEPART(HH, a.wks_visit_date) >= '0' and DATEPART(HH, a.wks_visit_date) < '2' then '2'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '2' and DATEPART(HH, a.wks_visit_date) < '4' then '4'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '4' and DATEPART(HH, a.wks_visit_date) < '6' then '6'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '6' and DATEPART(HH, a.wks_visit_date) < '8' then '8' when DATEPART(HH, a.wks_visit_date) >= '8' and DATEPART(HH, a.wks_visit_date) < '10' then '10'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '10' and DATEPART(HH, a.wks_visit_date) < '12' then '12'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '12' and DATEPART(HH, a.wks_visit_date) < '14' then '14'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '14' and DATEPART(HH, a.wks_visit_date) < '16' then '16' when DATEPART(HH, a.wks_visit_date) >= '16' and DATEPART(HH, a.wks_visit_date) < '18' then '18'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '18' and DATEPART(HH, a.wks_visit_date) < '20' then '20'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '20' and DATEPART(HH, a.wks_visit_date) < '22' then '22'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '22' and DATEPART(HH, a.wks_visit_date) < '24' then '24'
|
|
end)GZ
|
|
left join(SELECT count(serial_nbr) as iv,case when DATEPART(HH, a.wks_visit_date) >= '0' and DATEPART(HH, a.wks_visit_date) < '2' then '2'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '2' and DATEPART(HH, a.wks_visit_date) < '4' then '4'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '4' and DATEPART(HH, a.wks_visit_date) < '6' then '6'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '6' and DATEPART(HH, a.wks_visit_date) < '8' then '8' when DATEPART(HH, a.wks_visit_date) >= '8' and DATEPART(HH, a.wks_visit_date) < '10' then '10'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '10' and DATEPART(HH, a.wks_visit_date) < '12' then '12'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '12' and DATEPART(HH, a.wks_visit_date) < '14' then '14'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '14' and DATEPART(HH, a.wks_visit_date) < '16' then '16' when DATEPART(HH, a.wks_visit_date) >= '16' and DATEPART(HH, a.wks_visit_date) < '18' then '18'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '18' and DATEPART(HH, a.wks_visit_date) < '20' then '20'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '20' and DATEPART(HH, a.wks_visit_date) < '22' then '22'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '22' and DATEPART(HH, a.wks_visit_date) < '24' then '24'
|
|
|
|
end times FROM[mes_level2_iface].[dbo].[iv] a left join mes_main.dbo.config_workstation ZD on a.wks_id = ZD.wks_id
|
|
where YEAR(a.wks_visit_date) = YEAR(GETDATE()) and month(a.wks_visit_date) = month(GETDATE()) and day(a.wks_visit_date) = day(GETDATE()) and ZD.area_code = '" + workshop +
|
|
@"'
|
|
group by
|
|
case when DATEPART(HH, a.wks_visit_date) >= '0' and DATEPART(HH, a.wks_visit_date) < '2' then '2'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '2' and DATEPART(HH, a.wks_visit_date) < '4' then '4'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '4' and DATEPART(HH, a.wks_visit_date) < '6' then '6'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '6' and DATEPART(HH, a.wks_visit_date) < '8' then '8' when DATEPART(HH, a.wks_visit_date) >= '8' and DATEPART(HH, a.wks_visit_date) < '10' then '10'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '10' and DATEPART(HH, a.wks_visit_date) < '12' then '12'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '12' and DATEPART(HH, a.wks_visit_date) < '14' then '14'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '14' and DATEPART(HH, a.wks_visit_date) < '16' then '16' when DATEPART(HH, a.wks_visit_date) >= '16' and DATEPART(HH, a.wks_visit_date) < '18' then '18'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '18' and DATEPART(HH, a.wks_visit_date) < '20' then '20'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '20' and DATEPART(HH, a.wks_visit_date) < '22' then '22'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '22' and DATEPART(HH, a.wks_visit_date) < '24' then '24'
|
|
end)IV
|
|
on GZ.times = IV.times
|
|
left join(SELECT count(serial_nbr) as el,case
|
|
when DATEPART(HH, a.wks_visit_date)>= '0' and DATEPART(HH, a.wks_visit_date) < '2' then '2'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '2' and DATEPART(HH, a.wks_visit_date) < '4' then '4'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '4' and DATEPART(HH, a.wks_visit_date) < '6' then '6'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '6' and DATEPART(HH, a.wks_visit_date) < '8' then '8' when DATEPART(HH, a.wks_visit_date)>= '8' and DATEPART(HH, a.wks_visit_date) < '10' then '10'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '10' and DATEPART(HH, a.wks_visit_date) < '12' then '12'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '12' and DATEPART(HH, a.wks_visit_date) < '14' then '14'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '14' and DATEPART(HH, a.wks_visit_date) < '16' then '16' when DATEPART(HH, a.wks_visit_date)>= '16' and DATEPART(HH, a.wks_visit_date) < '18' then '18'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '18' and DATEPART(HH, a.wks_visit_date) < '20' then '20'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '20' and DATEPART(HH, a.wks_visit_date) < '22' then '22'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '22' and DATEPART(HH, a.wks_visit_date) < '24' then '24'
|
|
|
|
end times FROM[mes_level2_iface].[dbo].[el] a
|
|
left join mes_main.dbo.config_workstation ZD on a.wks_id = ZD.wks_id
|
|
where YEAR(a.wks_visit_date)= YEAR(GETDATE()) and month(a.wks_visit_date)= month(GETDATE()) and day(a.wks_visit_date)= day(GETDATE()) and ZD.area_code = '" + workshop +
|
|
@"'
|
|
group by
|
|
case when DATEPART(HH, a.wks_visit_date)>= '0' and DATEPART(HH, a.wks_visit_date) < '2' then '2'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '2' and DATEPART(HH, a.wks_visit_date) < '4' then '4'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '4' and DATEPART(HH, a.wks_visit_date) < '6' then '6'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '6' and DATEPART(HH, a.wks_visit_date) < '8' then '8' when DATEPART(HH, a.wks_visit_date)>= '8' and DATEPART(HH, a.wks_visit_date) < '10' then '10'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '10' and DATEPART(HH, a.wks_visit_date) < '12' then '12'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '12' and DATEPART(HH, a.wks_visit_date) < '14' then '14'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '14' and DATEPART(HH, a.wks_visit_date) < '16' then '16' when DATEPART(HH, a.wks_visit_date)>= '16' and DATEPART(HH, a.wks_visit_date) < '18' then '18'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '18' and DATEPART(HH, a.wks_visit_date) < '20' then '20'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '20' and DATEPART(HH, a.wks_visit_date) < '22' then '22'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '22' and DATEPART(HH, a.wks_visit_date) < '24' then '24'
|
|
end)EL
|
|
on GZ.times = EL.times
|
|
|
|
";
|
|
//context.Database.SqlQuery<dynamic>(" call prGetPalletOfContainer('" + container + "') ").ToList();
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public List<dynamic> TwohoursLine(string workshop, string Line)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql =
|
|
@"select GZ.times,GZ.焊接,GZ.叠层,GZ.层压,GZ.层压后检验,GZ.装框,GZ.清洗, isnull(IV.iv, 0) as iv,isnull(EL.el, 0) as el,GZ.全检
|
|
from(
|
|
SELECT case when DATEPART(HH, a.wks_visit_date) >= '0' and DATEPART(HH, a.wks_visit_date) < '2' then '2'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '2' and DATEPART(HH, a.wks_visit_date) < '4' then '4'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '4' and DATEPART(HH, a.wks_visit_date) < '6' then '6'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '6' and DATEPART(HH, a.wks_visit_date) < '8' then '8' when DATEPART(HH, a.wks_visit_date) >= '8' and DATEPART(HH, a.wks_visit_date) < '10' then '10'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '10' and DATEPART(HH, a.wks_visit_date) < '12' then '12'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '12' and DATEPART(HH, a.wks_visit_date) < '14' then '14'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '14' and DATEPART(HH, a.wks_visit_date) < '16' then '16' when DATEPART(HH, a.wks_visit_date) >= '16' and DATEPART(HH, a.wks_visit_date) < '18' then '18'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '18' and DATEPART(HH, a.wks_visit_date) < '20' then '20'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '20' and DATEPART(HH, a.wks_visit_date) < '22' then '22'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '22' and DATEPART(HH, a.wks_visit_date) < '24' then '24'
|
|
|
|
end times,
|
|
COUNT(CASE WHEN b.process_code = 'M10' THEN 1 END) AS 焊接,
|
|
COUNT(CASE WHEN b.process_code = 'M15' THEN 1 END) AS 叠层,
|
|
COUNT(CASE WHEN b.process_code = 'N30' THEN 1 END) AS 层压,
|
|
COUNT(CASE WHEN b.process_code = 'N40' THEN 1 END) AS 层压后检验,
|
|
COUNT(CASE WHEN b.process_code = 'M45' THEN 1 END) AS 装框,
|
|
COUNT(CASE WHEN b.process_code = 'N50' THEN 1 END) AS 清洗,
|
|
COUNT(CASE WHEN b.process_code = 'N60' THEN 1 END) AS 全检 FROM[mes_main].[dbo].[trace_workstation_visit] a join mes_main.dbo.config_workstation b on a.wks_id = b.wks_id
|
|
where YEAR(a.wks_visit_date) = YEAR(GETDATE()) and month(a.wks_visit_date) = month(GETDATE()) and day(a.wks_visit_date) = day(GETDATE())
|
|
and b.area_code = '" + workshop +
|
|
@"' and b.line_id = '" + Line + @"'
|
|
group by
|
|
case when DATEPART(HH, a.wks_visit_date) >= '0' and DATEPART(HH, a.wks_visit_date) < '2' then '2'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '2' and DATEPART(HH, a.wks_visit_date) < '4' then '4'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '4' and DATEPART(HH, a.wks_visit_date) < '6' then '6'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '6' and DATEPART(HH, a.wks_visit_date) < '8' then '8' when DATEPART(HH, a.wks_visit_date) >= '8' and DATEPART(HH, a.wks_visit_date) < '10' then '10'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '10' and DATEPART(HH, a.wks_visit_date) < '12' then '12'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '12' and DATEPART(HH, a.wks_visit_date) < '14' then '14'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '14' and DATEPART(HH, a.wks_visit_date) < '16' then '16' when DATEPART(HH, a.wks_visit_date) >= '16' and DATEPART(HH, a.wks_visit_date) < '18' then '18'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '18' and DATEPART(HH, a.wks_visit_date) < '20' then '20'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '20' and DATEPART(HH, a.wks_visit_date) < '22' then '22'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '22' and DATEPART(HH, a.wks_visit_date) < '24' then '24'
|
|
end)GZ
|
|
left join(SELECT count(serial_nbr) as iv,case when DATEPART(HH, a.wks_visit_date) >= '0' and DATEPART(HH, a.wks_visit_date) < '2' then '2'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '2' and DATEPART(HH, a.wks_visit_date) < '4' then '4'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '4' and DATEPART(HH, a.wks_visit_date) < '6' then '6'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '6' and DATEPART(HH, a.wks_visit_date) < '8' then '8' when DATEPART(HH, a.wks_visit_date) >= '8' and DATEPART(HH, a.wks_visit_date) < '10' then '10'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '10' and DATEPART(HH, a.wks_visit_date) < '12' then '12'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '12' and DATEPART(HH, a.wks_visit_date) < '14' then '14'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '14' and DATEPART(HH, a.wks_visit_date) < '16' then '16' when DATEPART(HH, a.wks_visit_date) >= '16' and DATEPART(HH, a.wks_visit_date) < '18' then '18'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '18' and DATEPART(HH, a.wks_visit_date) < '20' then '20'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '20' and DATEPART(HH, a.wks_visit_date) < '22' then '22'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '22' and DATEPART(HH, a.wks_visit_date) < '24' then '24'
|
|
|
|
end times FROM[mes_level2_iface].[dbo].[iv] a left join mes_main.dbo.config_workstation ZD on a.wks_id = ZD.wks_id
|
|
where YEAR(a.wks_visit_date) = YEAR(GETDATE()) and month(a.wks_visit_date) = month(GETDATE()) and day(a.wks_visit_date) = day(GETDATE()) and ZD.area_code = '" + workshop +
|
|
@"'and ZD.line_id = '" + Line + @"'
|
|
group by
|
|
case when DATEPART(HH, a.wks_visit_date) >= '0' and DATEPART(HH, a.wks_visit_date) < '2' then '2'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '2' and DATEPART(HH, a.wks_visit_date) < '4' then '4'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '4' and DATEPART(HH, a.wks_visit_date) < '6' then '6'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '6' and DATEPART(HH, a.wks_visit_date) < '8' then '8' when DATEPART(HH, a.wks_visit_date) >= '8' and DATEPART(HH, a.wks_visit_date) < '10' then '10'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '10' and DATEPART(HH, a.wks_visit_date) < '12' then '12'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '12' and DATEPART(HH, a.wks_visit_date) < '14' then '14'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '14' and DATEPART(HH, a.wks_visit_date) < '16' then '16' when DATEPART(HH, a.wks_visit_date) >= '16' and DATEPART(HH, a.wks_visit_date) < '18' then '18'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '18' and DATEPART(HH, a.wks_visit_date) < '20' then '20'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '20' and DATEPART(HH, a.wks_visit_date) < '22' then '22'
|
|
|
|
when DATEPART(HH, a.wks_visit_date) >= '22' and DATEPART(HH, a.wks_visit_date) < '24' then '24'
|
|
end)IV
|
|
on GZ.times = IV.times
|
|
left join(SELECT count(serial_nbr) as el,case
|
|
when DATEPART(HH, a.wks_visit_date)>= '0' and DATEPART(HH, a.wks_visit_date) < '2' then '2'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '2' and DATEPART(HH, a.wks_visit_date) < '4' then '4'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '4' and DATEPART(HH, a.wks_visit_date) < '6' then '6'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '6' and DATEPART(HH, a.wks_visit_date) < '8' then '8' when DATEPART(HH, a.wks_visit_date)>= '8' and DATEPART(HH, a.wks_visit_date) < '10' then '10'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '10' and DATEPART(HH, a.wks_visit_date) < '12' then '12'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '12' and DATEPART(HH, a.wks_visit_date) < '14' then '14'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '14' and DATEPART(HH, a.wks_visit_date) < '16' then '16' when DATEPART(HH, a.wks_visit_date)>= '16' and DATEPART(HH, a.wks_visit_date) < '18' then '18'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '18' and DATEPART(HH, a.wks_visit_date) < '20' then '20'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '20' and DATEPART(HH, a.wks_visit_date) < '22' then '22'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '22' and DATEPART(HH, a.wks_visit_date) < '24' then '24'
|
|
|
|
end times FROM[mes_level2_iface].[dbo].[el] a
|
|
left join mes_main.dbo.config_workstation ZD on a.wks_id = ZD.wks_id
|
|
where YEAR(a.wks_visit_date)= YEAR(GETDATE()) and month(a.wks_visit_date)= month(GETDATE()) and day(a.wks_visit_date)= day(GETDATE()) and ZD.area_code = '" + workshop +
|
|
@"'and ZD.line_id = '" + Line + @"'
|
|
group by
|
|
case when DATEPART(HH, a.wks_visit_date)>= '0' and DATEPART(HH, a.wks_visit_date) < '2' then '2'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '2' and DATEPART(HH, a.wks_visit_date) < '4' then '4'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '4' and DATEPART(HH, a.wks_visit_date) < '6' then '6'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '6' and DATEPART(HH, a.wks_visit_date) < '8' then '8' when DATEPART(HH, a.wks_visit_date)>= '8' and DATEPART(HH, a.wks_visit_date) < '10' then '10'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '10' and DATEPART(HH, a.wks_visit_date) < '12' then '12'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '12' and DATEPART(HH, a.wks_visit_date) < '14' then '14'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '14' and DATEPART(HH, a.wks_visit_date) < '16' then '16' when DATEPART(HH, a.wks_visit_date)>= '16' and DATEPART(HH, a.wks_visit_date) < '18' then '18'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '18' and DATEPART(HH, a.wks_visit_date) < '20' then '20'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '20' and DATEPART(HH, a.wks_visit_date) < '22' then '22'
|
|
|
|
when DATEPART(HH, a.wks_visit_date)>= '22' and DATEPART(HH, a.wks_visit_date) < '24' then '24'
|
|
end)EL
|
|
on GZ.times = EL.times
|
|
|
|
";
|
|
//context.Database.SqlQuery<dynamic>(" call prGetPalletOfContainer('" + container + "') ").ToList();
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<dynamic> QueryWorkshop()
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"SELECT area_code
|
|
,descriptions
|
|
,plant_code
|
|
,active_flag
|
|
FROM mes_main.dbo.df_areas
|
|
WHERE active_flag='1'";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<dynamic> QueryWorkTime()
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"SELECT TOP 1000 [shift_type]
|
|
,[descriptions]
|
|
,[active_flag]
|
|
,[shift_time]
|
|
,[end_time]
|
|
,[is_nextday]
|
|
FROM [mes_main].[dbo].[df_shift_type]";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
public List<dynamic> QueryWorkorder(string workshop)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"SELECT [workorder]
|
|
FROM [mes_main].[dbo].[wo_mfg]
|
|
where wo_status = 'O' and area_code = '" +workshop +"'";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<dynamic> QueryFinalGrade(string workorder)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"select b.[final_grade]
|
|
from [mes_main].[dbo].[wo_mfg] a
|
|
left join [mes_main].[dbo].[config_finalgrade] b
|
|
on a.customer = b.customer
|
|
where a.workorder = '"+ workorder + @"'
|
|
group by b.[final_grade]";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<dynamic> QueryPowerGrade()
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"SELECT [power_grade_group_id]
|
|
,[descriptions]
|
|
FROM [mes_main].[dbo].[config_power_group]";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
public List<dynamic> QueryMachine(dynamic areacode)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"SELECT wks_id
|
|
,wks_desc
|
|
FROM mes_main.dbo.config_workstation
|
|
WHERE process_code='M10'and area_code='" + areacode + "'";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<dynamic> QueryMachineByStatus(string processcode, string areacode)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string strwhere = string.Empty;
|
|
if (!string.IsNullOrEmpty(processcode))
|
|
{
|
|
strwhere += "and process_code = '" + processcode + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(processcode))
|
|
{
|
|
strwhere += "and area_code = '" + areacode + @"' ";
|
|
}
|
|
string sql = @"SELECT wks_id
|
|
,wks_desc
|
|
FROM mes_main.dbo.config_workstation
|
|
WHERE 1=1 " + strwhere+@"";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<dynamic> StationInfos(string station,string bt,string et,string workshop,string line)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string strwhere = string.Empty;
|
|
if (!string.IsNullOrEmpty(station))
|
|
{
|
|
strwhere += "and c.descriptions = '" + station + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(bt))
|
|
{
|
|
strwhere += "and a.wks_visit_date >= '" + bt + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(et))
|
|
{
|
|
strwhere += "and a.wks_visit_date <= '" + et + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(workshop))
|
|
{
|
|
strwhere += "and d.area_code = '" + workshop + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(line))
|
|
{
|
|
strwhere += "and d.line_id = '" + line + @"' ";
|
|
}
|
|
string sql = @"SELECT a.wks_id,b.wks_desc,COUNT(a.serial_nbr) as WksNbr
|
|
FROM [mes_main].[dbo].[trace_workstation_visit] a
|
|
LEFT JOIN mes_main.dbo.config_workstation b
|
|
on a.wks_id = b.wks_id
|
|
left join [mes_main].[dbo].[df_processes] c
|
|
on b.process_code = c.process_code
|
|
left join [mes_main].[dbo].[config_workstation] d
|
|
on d.wks_id = a.wks_id
|
|
where 1=1 " + strwhere+@"
|
|
group by a.wks_id,b.wks_desc";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<dynamic> IVtest(string bt, string et, string workshop, string line)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string strwhere = string.Empty;
|
|
if (!string.IsNullOrEmpty(bt))
|
|
{
|
|
strwhere += "and a.wks_visit_date >= '" + bt + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(et))
|
|
{
|
|
strwhere += "and a.wks_visit_date <= '" + et + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(workshop))
|
|
{
|
|
strwhere += "and b.area_code = '" + workshop + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(line))
|
|
{
|
|
strwhere += "and b.line_id = '" + line + @"' ";
|
|
}
|
|
string sql = @"SELECT count(a.serial_nbr) number,a.wks_id
|
|
FROM [mes_level2_iface].[dbo].[iv] a
|
|
left join mes_main.dbo.config_workstation b
|
|
on a.wks_id = b.wks_id
|
|
WHERE 1=1 "+strwhere+@"
|
|
GROUP BY a.wks_id";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<dynamic> ELtest(string bt, string et, string workshop, string line)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string strwhere = string.Empty;
|
|
if (!string.IsNullOrEmpty(bt))
|
|
{
|
|
strwhere += "and a.wks_visit_date >= '" + bt + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(et))
|
|
{
|
|
strwhere += "and a.wks_visit_date <= '" + et + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(workshop))
|
|
{
|
|
strwhere += "and b.area_code = '" + workshop + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(line))
|
|
{
|
|
strwhere += "and b.line_id = '" + line + @"' ";
|
|
}
|
|
string sql = @"SELECT count(a.serial_nbr) number,
|
|
--a.wks_id,
|
|
a.el_grade
|
|
FROM [mes_level2_iface].[dbo].[el] a
|
|
left join mes_main.dbo.config_workstation b
|
|
on a.wks_id = b.wks_id
|
|
WHERE a.process_code = 'HEL'" + strwhere+@"
|
|
GROUP BY
|
|
--a.wks_id,
|
|
a.el_grade";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public List<dynamic> Inspection(string bt, string et, string workshop, string line)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string strwhere = string.Empty;
|
|
if (!string.IsNullOrEmpty(bt))
|
|
{
|
|
strwhere += "and a.create_date >= '" + bt + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(et))
|
|
{
|
|
strwhere += "and a.create_date <= '" + et + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(workshop))
|
|
{
|
|
strwhere += "and c.area_code = '" + workshop + @"' ";
|
|
}
|
|
if (!string.IsNullOrEmpty(line))
|
|
{
|
|
strwhere += "and c.line_id = '" + line + @"' ";
|
|
}
|
|
string sql = @"SELECT d.defect_type_desc,COUNT(a.serial_nbr) number
|
|
FROM [mes_main].[dbo].[defects] a
|
|
left join mes_main.dbo.qc_visit b
|
|
on a.serial_nbr = b.serial_nbr and b.visit_type = 'H'
|
|
left join mes_main.dbo.config_workstation c
|
|
on a.wks_id=c.wks_id
|
|
left join mes_main.dbo.config_defect_type d
|
|
on d.defect_type_id = a.defect_type_id
|
|
WHERE a.process_code = 'N40' "+strwhere+@"
|
|
-- and a.create_date>=''
|
|
group by d.defect_type_desc
|
|
--ORDER BY a.create_date desc";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public List<dynamic> SiteCapacityStand(dynamic Stand)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"insert into [wh].[dbo].[SiteCapacityStand] values ('" + Stand[0] + "','" + Stand[1] + "','" + Stand[2] + "','"
|
|
+ Stand[3] + "','" + Stand[4] + "','" + Stand[5] + "','" + Stand[6] + "','" + Stand[7] + "','"
|
|
+ Stand[8] + "','" + Stand[9] + "','" + Stand[10] + "','" + Stand[11] + "','" + Stand[12] + "')";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public List<dynamic> SearchLine(string workshop)
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"SELECT [line_id]
|
|
,[descriptions]
|
|
,[area_code]
|
|
,[active_flag]
|
|
FROM [mes_main].[dbo].[df_lines]
|
|
where active_flag = '1' and area_code = '"+workshop+"'";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<dynamic> QueryProvider()
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"SELECT descriptions
|
|
,bom_part_nbr
|
|
FROM [mes_level4_iface].[dbo].[master_part]
|
|
WHERE part_type='CELL'";
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
public List<dynamic> TwohoursDC()
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"
|
|
SELECT case
|
|
when DATEPART(HH,a.wks_visit_date)>='0' and DATEPART(HH,a.wks_visit_date) <'2' then '02'
|
|
when DATEPART(HH,a.wks_visit_date)>='2' and DATEPART(HH,a.wks_visit_date) <'4' then '04'
|
|
when DATEPART(HH,a.wks_visit_date)>='4' and DATEPART(HH,a.wks_visit_date) <'6' then '06'
|
|
when DATEPART(HH,a.wks_visit_date)>='6' and DATEPART(HH,a.wks_visit_date) <'8' then '08'
|
|
when DATEPART(HH,a.wks_visit_date)>='8' and DATEPART(HH,a.wks_visit_date) <'10' then '10'
|
|
when DATEPART(HH,a.wks_visit_date)>='10' and DATEPART(HH,a.wks_visit_date) <'12' then '12'
|
|
when DATEPART(HH,a.wks_visit_date)>='12' and DATEPART(HH,a.wks_visit_date) <'14' then '14'
|
|
when DATEPART(HH,a.wks_visit_date)>='14' and DATEPART(HH,a.wks_visit_date) <'16' then '16'
|
|
when DATEPART(HH,a.wks_visit_date)>='16' and DATEPART(HH,a.wks_visit_date) <'18' then '18'
|
|
when DATEPART(HH,a.wks_visit_date)>='18' and DATEPART(HH,a.wks_visit_date) <'20' then '20'
|
|
when DATEPART(HH,a.wks_visit_date)>='20' and DATEPART(HH,a.wks_visit_date) <'22' then '22'
|
|
when DATEPART(HH,a.wks_visit_date)>='22' and DATEPART(HH,a.wks_visit_date) <'24' then '24'
|
|
end times,
|
|
--COUNT( CASE WHEN b.process_code='M10' THEN 1 END) AS sl
|
|
COUNT( CASE WHEN b.process_code='M15' THEN 1 END) AS sl
|
|
--COUNT( CASE WHEN b.process_code='N30' THEN 1 END) AS 层压,
|
|
--COUNT( CASE WHEN b.process_code='N40' THEN 1 END) AS 层压后检验,
|
|
--COUNT( CASE WHEN b.process_code='M45' THEN 1 END) AS 装框,
|
|
--COUNT( CASE WHEN b.process_code='N50' THEN 1 END) AS 清洗,
|
|
--COUNT( CASE WHEN b.process_code='N60' THEN 1 END) AS 全检
|
|
FROM [mes_main].[dbo].[trace_workstation_visit] a
|
|
join mes_main.dbo.config_workstation b
|
|
on a.wks_id = b.wks_id
|
|
--where YEAR(a.wks_visit_date)=YEAR(GETDATE()) and month(a.wks_visit_date)=month(GETDATE()) and day(a.wks_visit_date)=day(GETDATE())
|
|
group by
|
|
case
|
|
when DATEPART(HH,a.wks_visit_date)>='0' and DATEPART(HH,a.wks_visit_date) <'2' then '02'
|
|
when DATEPART(HH,a.wks_visit_date)>='2' and DATEPART(HH,a.wks_visit_date) <'4' then '04'
|
|
when DATEPART(HH,a.wks_visit_date)>='4' and DATEPART(HH,a.wks_visit_date) <'6' then '06'
|
|
when DATEPART(HH,a.wks_visit_date)>='6' and DATEPART(HH,a.wks_visit_date) <'8' then '08'
|
|
when DATEPART(HH,a.wks_visit_date)>='8' and DATEPART(HH,a.wks_visit_date) <'10' then '10'
|
|
when DATEPART(HH,a.wks_visit_date)>='10' and DATEPART(HH,a.wks_visit_date) <'12' then '12'
|
|
when DATEPART(HH,a.wks_visit_date)>='12' and DATEPART(HH,a.wks_visit_date) <'14' then '14'
|
|
when DATEPART(HH,a.wks_visit_date)>='14' and DATEPART(HH,a.wks_visit_date) <'16' then '16'
|
|
when DATEPART(HH,a.wks_visit_date)>='16' and DATEPART(HH,a.wks_visit_date) <'18' then '18'
|
|
when DATEPART(HH,a.wks_visit_date)>='18' and DATEPART(HH,a.wks_visit_date) <'20' then '20'
|
|
when DATEPART(HH,a.wks_visit_date)>='20' and DATEPART(HH,a.wks_visit_date) <'22' then '22'
|
|
when DATEPART(HH,a.wks_visit_date)>='22' and DATEPART(HH,a.wks_visit_date) <'24' then '24'
|
|
end";
|
|
//context.Database.SqlQuery<dynamic>(" call prGetPalletOfContainer('" + container + "') ").ToList();
|
|
var res = context.DynamicListFromSql(sql, null);
|
|
if (res != null)
|
|
{
|
|
return res.ToList();
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
|
|
public List<dynamic> TwohoursCY()
|
|
{
|
|
using (var context = new mesModel())
|
|
{
|
|
string sql = @"
|
|
SELECT case
|
|
when DATEPART(HH,a.wks_visit_date)>='0' and DATEPART(HH,a.wks_visit_date) <'2' then '02'
|
|
when DATEPART(HH,a.wks_visit_date)>='2' and DATEPART(HH,a.wks_visit_date) <'4' then '04'
|
|
when DATEPART(HH,a.wks_visit_date)>='4' and DATEPART(HH,a.wks_visit_date) <'6' then '06'
|
|
when DATEPART(HH,a.wks_visit_date)>='6' and DATEPART(HH,a.wks_visit_date) <'8' then '08'
|
|
when DATEPART(HH,a.wks_visit_date)>='8' and DATEPART(HH,a.wks_visit_date) <'10' then '10'
|
|
when DATEPART(HH,a.wks_visit_date)>='10' and DATEPART(HH,a.wks_visit_date) <'12' then '12'
|
|
when DATEPART(HH,a.wks_visit_date)>='12' and DATEPART(HH,a.wks_visit_date) <'14' then '14'
|
|
when DATEPART(HH,a.wks_visit_date)>='14' and DATEPART(HH,a.wks_visit_date) <'16' then '16'
|
|
when DATEPART(HH,a.wks_visit_date)>='16' and DATEPART(HH,a.wks_visit_date) <'18' then '18'
|
|
when DATEPART(HH,a.wks_visit_date)>='18' and DATEPART(HH,a.wks_visit_date) <'20' then '20'
|
|
when DATEPART(HH,a.wks_visit_date)>='20' and DATEPART(HH,a.wks_visit_date) <'22' then '22'
|
|
when DATEPART(HH,a.wks_visit_date)>='22' and DATEPART(HH,a.wks_visit_date) <'24' then '24'
|
|
end times,
|
|
--COUNT( CASE WHEN b.process_code='M10' THEN 1 END) AS sl
|
|
--COUNT( CASE WHEN b.process_code='M15' THEN 1 END) AS 叠层,
|
|
COUNT( CASE WHEN b.process_code='N30' THEN 1 END) AS sl
--COUNT( CASE WHEN b.process_code='N40' THEN 1 END) AS 层压后检验,
--COUNT( CASE WHEN b.process_code='M45' THEN 1 END) AS 装框,
--COUNT( CASE WHEN b.process_code='N50' THEN 1 END) AS 清洗,
--COUNT( CASE WHEN b.process_code='N60' THEN 1 END) AS 全检
FROM [mes_main].[dbo].[trace_workstation_visit] a
join mes_main.dbo.config_workstation b
on a.wks_id = b.wks_id
--where YEAR(a.wks_visit_date)=YEAR(GETDATE()) and month(a.wks_visit_date)=month(GETDATE()) and day(a.wks_visit_date)=day(GETDATE())
group by
case
when DATEPART(HH,a.wks_visit_date)>='0' and DATEPART(HH,a.wks_visit_date) <'2' then '02'
when DATEPART(HH,a.wks_visit_date)>='2' and DATEPART(HH,a.wks_visit_date) <'4' then '04'
when DATEPART(HH,a.wks_visit_date)>='4' and DATEPART(HH,a.wks_visit_date) <'6' then '06'
when DATEPART(HH,a.wks_visit_date)>='6' and DATEPART(HH,a.wks_visit_date) <'8' then '08'
when DATEPART(HH,a.wks_visit_date)>='8' and DATEPART(HH,a.wks_visit_date) <'10' then '10'
when DATEPART(HH,a.wks_visit_date)>='10' and DATEPART(HH,a.wks_visit_date) <'12' then '12'
when DATEPART(HH,a.wks_visit_date)>='12' and DATEPART(HH,a.wks_visit_date) <'14' then '14'
when DATEPART(HH,a.wks_visit_date)>='14' and DATEPART(HH,a.wks_visit_date) <'16' then '16'
when DATEPART(HH,a.wks_visit_date)>='16' and DATEPART(HH,a.wks_visit_date) <'18' then '18'
when DATEPART(HH,a.wks_visit_date)>='18' and DATEPART(HH,a.wks_visit_date) <'20' then '20'
when DATEPART(HH,a.wks_visit_date)>='20' and DATEPART(HH,a.wks_visit_date) <'22' then '22'
when DATEPART(HH,a.wks_visit_date)>='22' and DATEPART(HH,a.wks_visit_date) <'24' then '24'
end";
//context.Database.SqlQuery<dynamic>(" call prGetPalletOfContainer('" + container + "') ").ToList();
var res = context.DynamicListFromSql(sql, null);
if (res != null)
{
return res.ToList();
}
else
{
return null;
}
}
}
public List<dynamic> TwohoursZD(string pallet)
{
using (var context = new mesModel())
{
string sql = @"
SELECT distinct process_code as 'station'
from mes_main.dbo.config_workstation
where process_code='" + pallet+"'";
//context.Database.SqlQuery<dynamic>(" call prGetPalletOfContainer('" + container + "') ").ToList();
var res = context.DynamicListFromSql(sql, null);
if (res != null)
{
return res.ToList();
}
else
{
return null;
}
}
}
//public List<dynamic> FourHours(string workshop, string BeginTime, string EndTime, string Projected_Qty)
public List<dynamic> FourHours(string workshop, string Weld, string Lamin, string Lamination, string LaminationQC, string Frame, string Clean, string IV, string EL, string Complete, string Pack)
{
using (var context = new mesModel())
{
string strwhere = string.Empty;
string teststrwhere = string.Empty;
string Welds = string.Empty;
string Lamins = string.Empty;
string Laminations = string.Empty;
string LaminationQCs = string.Empty;
string Frames = string.Empty;
string Cleans = string.Empty;
string IVs = string.Empty;
string ELs = string.Empty;
string Completes = string.Empty;
string Packs = string.Empty;
if (!string.IsNullOrEmpty(workshop))
{
strwhere = "and b.area_code = '" + workshop + @"' ";
teststrwhere = "and ZD.area_code = '" + workshop + @"' ";
}
if (!string.IsNullOrEmpty(Weld))
{
Welds = " GZ.焊接,convert(varchar(50),cast(ROUND((GZ.焊接 *100.00/" + Weld + "),2) as numeric(20,2)))+'%' as 焊接比例,";
}
else
{
Welds = "GZ.焊接,'0.00%' as 焊接比例,";
}
if (!string.IsNullOrEmpty(Lamin))
{
Lamins = "GZ.叠层,convert(varchar(50),cast(ROUND((GZ.叠层 *100.00/"+ Lamin + "),2) as numeric(20,2)))+'%' as 叠层比例,";
}
else
{
Lamins = "GZ.叠层,'0.00%' as 叠层比例,";
}
if (!string.IsNullOrEmpty(Lamination))
{
Laminations = "GZ.层压,convert(varchar(50),cast(ROUND((GZ.层压 *100.00/"+ Lamination + "),2) as numeric(20,2)))+'%' as 层压比例,";
}
else
{
Laminations = "GZ.层压,'0.00%' as 层压比例,";
}
if (!string.IsNullOrEmpty(LaminationQC))
{
LaminationQCs = "GZ.层压后检验,convert(varchar(50),cast(ROUND((GZ.层压后检验 *100.00/"+ LaminationQC + "),2) as numeric(20,2)))+'%' as 层压后检验比例,";
}
else
{
LaminationQCs = "GZ.层压后检验,'0.00%' as 层压后检验比例,";
}
if (!string.IsNullOrEmpty(Frame))
{
Frames = "GZ.装框,convert(varchar(50),cast(ROUND((GZ.装框 *100.00/"+ Frame + "),2) as numeric(20,2)))+'%' as 装框比例,";
}
else
{
Frames = "GZ.装框,'0.00%' as 装框比例,";
}
if (!string.IsNullOrEmpty(Clean))
{
Cleans = "GZ.清洗,convert(varchar(50),cast(ROUND((GZ.清洗 *100.00/"+ Clean + "),2) as numeric(20,2)))+'%' as 清洗比例,";
}
else
{
Cleans = "GZ.清洗,'0.00%' as 清洗比例,";
}
if (!string.IsNullOrEmpty(IV))
{
IVs = "isnull(IV.iv,0)as iv,convert(varchar(50),cast(ROUND((iv *100.00/"+IV+"),2) as numeric(20,2)))+'%' as IV比例,";
}
else
{
IVs = "isnull(IV.iv,0)as iv,'0.00%' as IV比例,";
}
if (!string.IsNullOrEmpty(EL))
{
ELs = "isnull(EL.el,0)as el,convert(varchar(50),cast(ROUND((el *100.00/"+EL+"),2) as numeric(20,2)))+'%' as EL比例,";
}
else
{
ELs = "isnull(EL.el,0)as el,'0.00%' as EL比例,";
}
if (!string.IsNullOrEmpty(Complete))
{
Completes = "GZ.全检,convert(varchar(50),cast(ROUND((GZ.全检 *100.00/"+Complete+"),2) as numeric(20,2)))+'%' as 全检比例,";
}
else
{
Completes = "GZ.全检,'0.00%' as 全检比例,";
}
if (!string.IsNullOrEmpty(Pack))
{
Packs = "BZ.BZ as 包装,convert(varchar(50),cast(ROUND((BZ.BZ *100.00/"+Pack+"),2) as numeric(20,2)))+'%' as 包装比例";
}
else
{
Packs = "BZ.BZ as 包装,'0.00%' as 包装比例,";
}
string sql = @"select" +Welds+ Lamins + Laminations+ LaminationQCs +Frames+Cleans+IVs+ELs+Completes+Packs+@"
from (
SELECT
COUNT( CASE WHEN b.process_code='M10' THEN 1 END) AS 焊接,
COUNT( CASE WHEN b.process_code='M15' THEN 1 END) AS 叠层,
COUNT( CASE WHEN b.process_code='N30' THEN 1 END) AS 层压,
COUNT( CASE WHEN b.process_code='N40' THEN 1 END) AS 层压后检验,
COUNT( CASE WHEN b.process_code='M45' THEN 1 END) AS 装框,
COUNT( CASE WHEN b.process_code='N50' THEN 1 END) AS 清洗,
COUNT( CASE WHEN b.process_code='N60' THEN 1 END) AS 全检,
1 AS N
FROM [mes_main].[dbo].[trace_workstation_visit] a
join mes_main.dbo.config_workstation b
on a.wks_id = b.wks_id
where YEAR(a.wks_visit_date)=YEAR(GETDATE()) and month(a.wks_visit_date)=month(GETDATE()) and day(a.wks_visit_date)=day(GETDATE())
" + strwhere + @"
--WHERE b.area_code =1
)GZ
left join ( SELECT count(serial_nbr) as iv,1 AS N
FROM [mes_level2_iface].[dbo].[iv] a
left join mes_main.dbo.config_workstation ZD
on a.wks_id=ZD.wks_id
where YEAR(a.wks_visit_date)=YEAR(GETDATE()) and month(a.wks_visit_date)=month(GETDATE()) and day(a.wks_visit_date)=day(GETDATE())
" + teststrwhere + @"
--WHERE ZD.area_code =1 and a.wks_visit_date >= '2018-04-27 22:57:38.507' and a.wks_visit_date < '2019-04-27 22:57:38.507'
)IV
on GZ.N=IV.N
left join ( SELECT count(serial_nbr) as el,1 AS N
FROM [mes_level2_iface].[dbo].[el] a
left join mes_main.dbo.config_workstation ZD
on a.wks_id=ZD.wks_id
where YEAR(a.wks_visit_date)=YEAR(GETDATE()) and month(a.wks_visit_date)=month(GETDATE()) and day(a.wks_visit_date)=day(GETDATE())
" + teststrwhere + @"
--WHERE ZD.area_code =1 and a.wks_visit_date >= '2018-04-27 22:57:38.507' and a.wks_visit_date < '2019-04-27 22:57:38.507'
)EL
on GZ.N=EL.N
left join ( SELECT count(serial_nbr) as BZ,1 AS N
FROM mes_main.dbo.assembly_status a
left join mes_main.dbo.wo_mfg b
on a.workorder = b.workorder
where YEAR(a.pack_date)=YEAR(GETDATE()) and month(a.pack_date)=month(GETDATE()) and day(a.pack_date)=day(GETDATE())
" + strwhere + @"
--and b.area_code =1
)BZ
on BZ.N = EL.N
";
//context.Database.SqlQuery<dynamic>(" call prGetPalletOfContainer('" + container + "') ").ToList();
// var data = new Dictionary<string, object>
//{
// { "workshop", workshop },
// { "endtime",EndTime },
// { "begintime",BeginTime }
//};
var res = context.DynamicListFromSql(sql, null);
if (res != null)
{
return res.ToList();
}
else
{
return null;
}
}
}
}
}
|