From 819289e1cfaa581fd6aafe9e43f5450d2860ba56 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期三, 08 三月 2023 12:48:44 +0800
Subject: [PATCH] 车间看板四个角数据关联设备取报工记录设备
---
VueWebApi/DLL/DAL/KanBanManagerentDAL.cs | 593 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 480 insertions(+), 113 deletions(-)
diff --git a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
index 57ef245..860ce4e 100644
--- a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
+++ b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -20,22 +20,16 @@
public static List<SqlParameter> listStr = new List<SqlParameter>(); //瀹氫箟鍏ㄥ眬鍙傛暟闆嗗悎
public static SqlParameter[] parameters; //瀹氫箟鍏ㄥ眬SqlParameter鍙傛暟鏁扮粍
-
- #region[澶у矝杞﹂棿缁煎悎鐪嬫澘,鐢熶骇杞﹂棿鏌ユ壘浜х嚎鎺ュ彛]
- public static ToMessage ShopSearchLine(string shopcode)
+ #region[澶у矝杞﹂棿缁煎悎鐪嬫澘,鑾峰彇鐢熶骇杞﹂棿]
+ public static ToMessage ShopSearch()
{
string sql = "";
string search = "";
var dynamicParams = new DynamicParameters();
try
{
- if (shopcode != "" && shopcode != null) //杞﹂棿缂栫爜涓嶄负绌�
- {
- search += "where wksp_code=@shopcode ";
- dynamicParams.Add("@shopcode", shopcode);
- }
- //杞﹂棿缂栫爜鑾峰彇浜х嚎淇℃伅
- sql = @"select code ,name from TEqpInfo " + search;
+ //鑾峰彇杞﹂棿淇℃伅
+ sql = @"select org_code ,org_name from TOrganization where is_delete='0' and description='W'";
var data = DapperHelper.selectdata(sql, dynamicParams);
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
@@ -53,118 +47,91 @@
#endregion
#region[澶у矝杞﹂棿缁煎悎鐪嬫澘,宸︿笂浜х嚎鍔犲伐浠诲姟鎺ュ彛]
- public static ToMessage LineSearchTopLeftData(List<ObjectData> json)
+ public static ToMessage LineSearchTopLeftData(string shopcode)
{
string sql = "";
- string search = "";
List<ShopTopLeft> list = new List<ShopTopLeft>();
var dynamicParams = new DynamicParameters();
try
{
- if (json == null || json.Count>0) //浜х嚎缂栫爜涓嶄负绌�
+ if (shopcode != null || shopcode != "") //浜х嚎缂栫爜涓嶄负绌�
{
- //鑾峰彇浜х嚎淇℃伅
- for (int i = 0; i < json.Count; i++)
- {
- ShopTopLeft line = new ShopTopLeft();
- line.linecode = json[i].code;
- line.linename = json[i].name;
- //鑾峰彇浜х嚎涓嬪紑宸ユ�诲崟閲�
- sql = @"select COUNT(*) cont from(
- select distinct B.rout_code,M.wo_code from TFlw_Rteqp A
- inner join TFlw_Rtdt B on A.step_code=B.step_code
- inner join TK_Wrk_Man M on B.rout_code=M.route_code
- where M.status<>'CLOSED' and M.is_delete<>'1' and A.eqp_code=@linecode) as A";
- dynamicParams.Add("@linecode", json[i].code);
- var data = DapperHelper.selectdata(sql, dynamicParams);
- if (data.Rows.Count > 0 && decimal.Parse(data.Rows[0]["CONT"].ToString())>0)
- {
- line.lineworkcont=data.Rows[0]["CONT"].ToString(); //浜х嚎鎬诲崟閲�
- line.children = new List<TreeOne>();
- //鏌ヨ浜х嚎涓嬪凡寮�宸ョ殑鍔犲伐鍗曚俊鎭�
- sql = @"select distinct E.saleOrderCode,A.wo_code,P.plan_qty,M.partcode,M.partname,M.partspec,T.name as uomname from TK_Wrk_Record A
+ string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
+ //鏌ヨ浜х嚎涓嬪凡寮�宸ョ殑鍔犲伐鍗曚俊鎭�
+ sql = @"select * from (
+ select distinct E.saleOrderCode,A.wo_code,P.plan_qty,M.partcode,M.partname,M.partspec,T.name as uomname,S.good_qty,S.ng_qty,S.bad_qty from TK_Wrk_Record A
inner join TK_Wrk_Man P on A.wo_code=P.wo_code
left join TMateriel_Info M on P.materiel_code=M.partcode
left join TUom T on M.uom_code=T.code
- left join TKimp_Ewo E on P.m_po=E.wo
- where P.status<>'CLOSED' and P.status<>'NEW' and A.eqp_code=@linecode and A.style='S' and A.step_seq='1'";
- dynamicParams.Add("@linecode", json[i].code);
- var data0 = DapperHelper.selectdata(sql, dynamicParams);
- if (data0.Rows.Count > 0)
- {
- for (int j = 0; j < data0.Rows.Count; j++)
- {
- string saleOrderCode = data0.Rows[j]["SALEORDERCODE"].ToString();//閿�鍞鍗曞彿
- string wo_code = data0.Rows[j]["WO_CODE"].ToString();//宸ュ崟鍙�
- string plan_qty = data0.Rows[j]["PLAN_QTY"].ToString();//浠诲姟鏁伴噺
- string partcode = data0.Rows[j]["PARTCODE"].ToString();//浜у搧缂栫爜
- string partname = data0.Rows[j]["PARTNAME"].ToString();//浜у搧鍚嶇О
- string partspec = data0.Rows[j]["PARTSPEC"].ToString();//浜у搧瑙勬牸
- string uomname = data0.Rows[j]["UOMNAME"].ToString();//鍗曚綅鍚嶇О
- TreeOne lineone = new TreeOne();
- lineone.saleordercode = saleOrderCode;
- lineone.workcode = wo_code;
- lineone.qty = plan_qty;
- lineone.partnumber = partcode;
- lineone.partname = partname;
- lineone.partspec = partspec;
- lineone.uom = uomname;
- line.children.Add(lineone);
- lineone.children = new List<TreeTwo>();
+ left join TKimp_Ewo E on P.m_po=E.wo and P.sourceid=E.id
+ left join (
+ select wo_code,sum(good_qty) as good_qty,sum(ng_qty) as ng_qty,sum(bad_qty) as bad_qty from TK_Wrk_Step where isend='Y' group by wo_code
+ ) S on P.wo_code=S.wo_code
+ where P.status<>'CLOSED' and P.status<>'NEW' and P.wkshp_code in @shopcode and A.style='S' and A.step_seq='1'
+ ) as AA where AA.plan_qty>(AA.good_qty+aa.bad_qty+AA.ng_qty)";
+ var data0 = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
+
+ if (data0.Rows.Count > 0)
+ {
+ for (int j = 0; j < data0.Rows.Count; j++)
+ {
+ string saleOrderCode = data0.Rows[j]["SALEORDERCODE"].ToString();//閿�鍞鍗曞彿
+ string wo_code = data0.Rows[j]["WO_CODE"].ToString();//宸ュ崟鍙�
+ string plan_qty = data0.Rows[j]["PLAN_QTY"].ToString();//浠诲姟鏁伴噺
+ string partcode = data0.Rows[j]["PARTCODE"].ToString();//浜у搧缂栫爜
+ string partname = data0.Rows[j]["PARTNAME"].ToString();//浜у搧鍚嶇О
+ string partspec = data0.Rows[j]["PARTSPEC"].ToString();//浜у搧瑙勬牸
+ string uomname = data0.Rows[j]["UOMNAME"].ToString();//鍗曚綅鍚嶇О
+ ShopTopLeft lineone = new ShopTopLeft();
+ lineone.saleordercode = saleOrderCode;
+ lineone.workcode = wo_code;
+ lineone.qty = plan_qty;
+ lineone.partnumber = partcode;
+ lineone.partname = partname;
+ lineone.partspec = partspec;
+ lineone.uom = uomname;
+ lineone.children = new List<TreeTwo>();
- //鏌ユ柊宸ュ崟涓嬪伐搴忎俊鎭�
- sql = @"select A.seq,T.stepcode,T.stepname,A.plan_qty,A.good_qty,A.ng_qty,A.status
+ //鏌ユ柊宸ュ崟涓嬪伐搴忎俊鎭�
+ sql = @"select A.seq,T.stepcode,T.stepname,A.plan_qty,A.good_qty,A.ng_qty,A.status
from TK_Wrk_Step A
left join TStep T on A.step_code=T.stepcode
where A.wo_code=@wo_code";
- dynamicParams.Add("@wo_code", wo_code);
- var data1 = DapperHelper.selectdata(sql, dynamicParams);
- for (int k = 0; k < data1.Rows.Count; k++)
- {
- string stepseq= data1.Rows[k]["SEQ"].ToString();//宸ュ簭搴忓彿
- string stepcode = data1.Rows[k]["STEPCODE"].ToString();//宸ュ簭缂栫爜
- string stepname = data1.Rows[k]["STEPNAME"].ToString();//宸ュ簭鍚嶇О
- string planqty = data1.Rows[k]["PLAN_QTY"].ToString();//浠诲姟鏁伴噺
- string good_qty = data1.Rows[k]["GOOD_QTY"].ToString();//鎶ュ伐鏁伴噺
- string ng_qty = data1.Rows[k]["NG_QTY"].ToString();//涓嶈壇鏁伴噺
- string status = data1.Rows[k]["STATUS"].ToString();//鐘舵��
- TreeTwo linetwo = new TreeTwo();
- linetwo.stepseq = stepseq;
- linetwo.stepcode = stepcode;
- linetwo.stepname = stepname;
- linetwo.planqty = planqty;
- linetwo.goodqty = good_qty;
- linetwo.ngqty = ng_qty;
- linetwo.status = status;
- lineone.children.Add(linetwo);
- }
- }
- list.Add(line);
- }
- else
+ dynamicParams.Add("@wo_code", wo_code);
+ var data1 = DapperHelper.selectdata(sql, dynamicParams);
+ for (int k = 0; k < data1.Rows.Count; k++)
{
- mes.code = "300";
- mes.Message = "褰撳墠浜х嚎涓嬫棤鍦ㄧ敓浜т换鍔�!";
- mes.data = null;
- list.Add(line);
- continue;
+ string stepseq = data1.Rows[k]["SEQ"].ToString();//宸ュ簭搴忓彿
+ string stepcode = data1.Rows[k]["STEPCODE"].ToString();//宸ュ簭缂栫爜
+ string stepname = data1.Rows[k]["STEPNAME"].ToString();//宸ュ簭鍚嶇О
+ string planqty = data1.Rows[k]["PLAN_QTY"].ToString();//浠诲姟鏁伴噺
+ string good_qty = data1.Rows[k]["GOOD_QTY"].ToString();//鎶ュ伐鏁伴噺
+ string ng_qty = data1.Rows[k]["NG_QTY"].ToString();//涓嶈壇鏁伴噺
+ string status = data1.Rows[k]["STATUS"].ToString();//鐘舵��
+ TreeTwo linetwo = new TreeTwo();
+ linetwo.stepseq = stepseq;
+ linetwo.stepcode = stepcode;
+ linetwo.stepname = stepname;
+ linetwo.planqty = planqty;
+ linetwo.goodqty = good_qty;
+ linetwo.ngqty = ng_qty;
+ linetwo.status = status;
+ lineone.children.Add(linetwo);
}
- }
- else
- {
- mes.code = "300";
- mes.Message = "褰撳墠浜х嚎涓嬫棤鍦ㄧ敓浜т换鍔�!";
- mes.data = null;
- list.Add(line);
- continue;
-
+ list.Add(lineone);
}
}
+ else
+ {
+ mes.code = "300";
+ mes.Message = "褰撳墠杞﹂棿涓嬫棤鍦ㄧ敓浜т换鍔�!";
+ mes.data = null;
+ }
}
- else
+ else
{
mes.code = "300";
- mes.Message = "浜х嚎鍙傛暟涓嶈兘涓虹┖!";
+ mes.Message = "杞﹂棿鍙傛暟涓嶈兘涓虹┖!";
mes.data = null;
}
}
@@ -180,12 +147,14 @@
mes.data = list;
return mes;
}
- #endregion\
+ #endregion
#region[澶у矝杞﹂棿缁煎悎鐪嬫澘,宸︿笅鍒楄〃鎺ュ彛]
- public static ToMessage LineSearchBottomLeftData()
+ public static ToMessage LineSearchBottomLeftData(string shopcode)
{
string sql = "";
+ var dynamicParams = new DynamicParameters();
+ string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
try
{
//鑾峰彇浠诲姟鍒楄〃淇℃伅
@@ -194,12 +163,13 @@
A.plan_qty,B.good_qty,B.ng_qty,E.planstartdate,E.planenddate, datediff(day,getdate(),E.planenddate) warning
from TK_Wrk_Man A
inner join TK_Wrk_Step B on A.wo_code=B.wo_code
- inner join TKimp_Ewo E on A.m_po=E.wo
+ inner join TKimp_Ewo E on A.m_po=E.wo and A.sourceid=E.id
left join TMateriel_Info M on A.materiel_code=M.partcode
left join TUom U on M.uom_code=U.code
- where A.status<>'CLOSED' and A.is_delete<>'1' and B.isend='Y'
+ where A.status<>'CLOSED' and A.wkshp_code in @shopcode and A.is_delete<>'1' and B.isend='Y'
+ and A.plan_qty>(B.good_qty+B.ng_qty+B.bad_qty)
)as A ";
- var data = DapperHelper.selecttable(sql);
+ var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
mes.data = data;
@@ -216,10 +186,11 @@
#endregion
#region[澶у矝杞﹂棿缁煎悎鐪嬫澘,鍙充笂top鎺掕鎺ュ彛,褰撴棩]
- public static ToMessage LineSearchTopRightData()
+ public static ToMessage LineSearchTopRightData(string shopcode)
{
string sql = "";
var dynamicParams = new DynamicParameters();
+ string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
try
{
//鑾峰彇浜у搧鎶ュ伐top5淇℃伅
@@ -229,7 +200,7 @@
inner join TMateriel_Info M on A.materiel_code=M.partcode
inner join TEqpInfo E on A.eqp_code=E.code
inner join TOrganization W on E.wksp_code=W.org_code and W.description='W'
- where A.style='B' and S.isend='Y' and datediff(day,GETDATE(),A.lm_date)=0
+ where A.style='B' and S.isend='Y' and W.org_code in @shopcode and datediff(day,GETDATE(),A.lm_date)=0
union all
select C.name as linename,'' as wkshname,M.partname,A.sqty as good_qty from TK_Wrk_OutRecord A
inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
@@ -237,7 +208,7 @@
inner join TCustomer C on A.wx_code=C.code and C.btype='WX'
where A.style='S' and S.isend='Y' and datediff(day,GETDATE(),A.lm_date)=0
) as A group by A.org_name,A.name,A.partname order by good_qty desc";
- var data = DapperHelper.selecttable(sql);
+ var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
mes.data = data;
@@ -254,19 +225,21 @@
#endregion
#region[澶у矝杞﹂棿缁煎悎鐪嬫澘,鍙充笅top鎺掕鎺ュ彛,褰撳墠鏃堕棿寰�鍓嶄竴鍛╙
- public static ToMessage LineSearchBottomRightData()
+ public static ToMessage LineSearchBottomRightData(string shopcode)
{
string sql = "";
var dynamicParams = new DynamicParameters();
+ string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
try
{
//鑾峰彇鎶ュ伐涓嶈壇top5淇℃伅
sql = @"select isnull(COUNT(B.name),0) cont,B.name
from CSR_WorkRecord_Defect A
inner join TDefect B on A.defect_code=B.code
- where DateDiff(dd,A.lm_date,getdate())<=7
+ inner join TK_Wrk_Man M on A.wo_code=M.wo_code
+ where DateDiff(dd,A.lm_date,getdate())<=7 and M.wkshp_code in @shopcode
group by B.name order by cont desc";
- var data = DapperHelper.selecttable(sql);
+ var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
mes.data = data;
@@ -354,5 +327,399 @@
return mes;
}
#endregion
+
+
+
+ #region[澶у矝浠撳簱鐪嬫澘,宸︿笂浜у搧寰呭叆搴撳垪琛╙
+ public static ToMessage WareHouseTopLeftData()
+ {
+ string sql = "";
+ try
+ {
+ //鑾峰彇浠撳簱鐢熶骇鍔犲伐鍗曞緟鍏ュ簱鍒楄〃
+ sql = @"select * from h_v_DDKanBan_WareHouseTopLeft order by voucherdate";
+ var data = DapperHelper.selecttable(sql);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[澶у矝浠撳簱鐪嬫澘,宸︿笅浜у搧寰呭彂璐у垪琛╙
+ public static ToMessage WareHouseTopBottomData()
+ {
+ string sql = "";
+ try
+ {
+ //鑾峰彇浠撳簱鐢熶骇鍔犲伐鍗曞緟鍏ュ簱鍒楄〃
+ sql = @"select * from h_v_DDKanBan_WareHouseTopBottom order by voucherdate";
+ var data = DapperHelper.selecttable(sql);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[澶у矝浠撳簱鐪嬫澘,鍙充笂鎴愬搧搴撱�佸崐鎴愬搧搴搕op5搴撳瓨鎺掕]
+ public static ToMessage WareHouseRightTopData()
+ {
+ string sql = "";
+ try
+ {
+ sql = @"select * from h_v_DDKanBan_WareHouseRightTop";
+ var data = DapperHelper.selecttable(sql);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[澶у矝浠撳簱鐪嬫澘,鍙充笅鍘熸枡搴撳簱top5搴撳瓨鎺掕]
+ public static ToMessage WareHouseRightBottomData()
+ {
+ string sql = "";
+ try
+ {
+ sql = @"select * from h_v_DDKanBan_WareHouseRightBottom";
+ var data = DapperHelper.selecttable(sql);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+
+ #region[杞﹂棿鐪嬫澘鍏憡]
+ public static ToMessage WkspReportNotice(string shopcode)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[]
+ //鑾峰彇杞﹂棿鍏憡淇℃伅
+ sql = @"select contents from TSystemAnnouncement
+ where wksp_code in @shopcode";
+ var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+
+ #region[瀵屽皵杈捐溅闂寸敓浜ф暟瀛楀寲鐪嬫澘锛屼骇绾挎暟鎹甝
+ public static ToMessage WkshpLineData(string lineCode)
+ {
+ string sql = "";
+ string search = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //鑾峰彇浜х嚎閿�鍞鍗曟姤宸ヤ俊鎭�,鎶ュ伐鏁伴噺>0 涓斿伐鍗曠姸鎬佷负闈炲叧闂姸鎬� 涓斿伐搴忎负鏈亾宸ュ簭 锛�--and (S.good_qty+S.ng_qty+S.bad_qty)<S.plan_qty)
+ //sql = @"select AA.saleOrderCode,AA.materiel_code,AA.partname,sum(AA.good_qty) as good_qty from (
+ // select distinct A.saleOrderCode,A.materiel_code,M.partname,isnull(S.good_qty,0) as good_qty
+ // from TKimp_Ewo A
+ // left join TK_Wrk_Man B on A.wo=B.m_po and A.materiel_code=B.materiel_code
+ // left join TK_Wrk_Step S on B.wo_code=S.wo_code and S.isend='Y'
+ // left join TFlw_Rteqp R on S.step_code=R.step_code
+ // left join TMateriel_Info M on A.materiel_code=M.partcode
+ // where A.saleOrderCode is not null and A.saleOrderCode<>''
+ // and R.eqp_code=@lineCode and B.status<>'CLOSED'
+ // ) as AA
+ // group by AA.saleOrderCode,AA.materiel_code,AA.partname";
+ sql = @"select AA.saleOrderCode,AA.materiel_code,AA.partname,sum(AA.good_qty) as good_qty from (
+ select distinct A.saleOrderCode,A.materiel_code,M.partname,isnull(S.good_qty,0) as good_qty
+ from TKimp_Ewo A
+ left join TK_Wrk_Man B on A.wo=B.m_po and A.materiel_code=B.materiel_code
+ left join TK_Wrk_Step S on B.wo_code=S.wo_code and S.isend='Y'
+ left join TK_Wrk_Record T on S.wo_code=T.wo_code
+ left join TMateriel_Info M on A.materiel_code=M.partcode
+ where A.saleOrderCode is not null and A.saleOrderCode<>''
+ and T.eqp_code=@lineCode and B.status<>'CLOSED'
+ ) as AA
+ group by AA.saleOrderCode,AA.materiel_code,AA.partname";
+ dynamicParams.Add("@lineCode", lineCode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[瀵屽皵杈捐溅闂寸敓浜ф暟瀛楀寲鐪嬫澘锛岀敓浜т俊鎭痌
+ public static ToMessage WkshpContentData()
+ {
+ string sql = "";
+ try
+ {
+ //鑾峰彇宸ュ崟鎶ュ伐淇℃伅,鎶ュ伐鏁伴噺>0 涓斿伐鍗曠姸鎬佷负闈炲叧闂姸鎬�
+ sql = @"select row_number() over(order by A.wo_code,B.seq) as RowNum,A.wo_code,E.name as eqp_name,M.partname,B.plan_qty,A.plan_startdate,A.plan_enddate,T.stepname,B.good_qty
+ from TK_Wrk_Man A
+ inner join TK_Wrk_Step B on A.wo_code=B.wo_code
+ inner join(
+ select wo_code,step_code,materiel_code,eqp_code, sum(good_qty) as good_qty
+ from TK_Wrk_Record where style='B' group by wo_code,step_code,materiel_code,eqp_code
+ ) as S on A.wo_code=S.wo_code and A.materiel_code=S.materiel_code and B.step_code=S.step_code
+ left join TStep T on B.step_code=T.stepcode
+ left join TMateriel_Info M on A.materiel_code=M.partcode
+ left join TEqpInfo E on S.eqp_code=E.code
+ where A.status<>'CLOSED'
+ order by A.wo_code,B.seq";
+ var data = DapperHelper.selecttable(sql);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+
+ #region[瀵屽皵杈捐溅闂磋川閲忔暟瀛楀寲鐪嬫澘,top5涓嶈壇]
+ public static ToMessage BadTop5(string StepCode)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //瀵屽皵杈捐溅闂磋川閲忔暟瀛楀寲鐪嬫澘,top5涓嶈壇(鍙栬川妫�宸ュ簭)
+ sql = @"select T.name,count(*) as cont from CSR_WorkRecord_Defect A
+ inner join TDefect T on A.defect_code=T.code
+ where step_code=@StepCode and datediff(day,GETDATE(),A.lm_date)=0
+ group by T.name order by cont desc";
+ dynamicParams.Add("@StepCode", StepCode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[瀵屽皵杈捐溅闂磋川閲忔暟瀛楀寲鐪嬫澘,鍛ㄤ笉鑹秼鍔縘
+ public static ToMessage BadWeek(string StepCode)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //瀵屽皵杈捐溅闂磋川閲忔暟瀛楀寲鐪嬫澘,鍛ㄤ笉鑹秼鍔�(鍙栬川妫�宸ュ簭褰撳墠鏃堕棿寰�鍓嶄竴鍛�)
+ sql = @"select
+ case when datepart(weekday,a.click_date)=2 then '鍛ㄤ竴'
+ when datepart(weekday,a.click_date)=3 then '鍛ㄤ簩'
+ when datepart(weekday,a.click_date)=3 then '鍛ㄤ簩'
+ when datepart(weekday,a.click_date)=4 then '鍛ㄤ笁'
+ when datepart(weekday,a.click_date)=5 then '鍛ㄥ洓'
+ when datepart(weekday,a.click_date)=6 then '鍛ㄤ簲'
+ when datepart(weekday,a.click_date)=7 then '鍛ㄥ叚'
+ when datepart(weekday,a.click_date)=1 then '鍛ㄦ棩' end as click_date,
+ ISNULL(b.count,0) as count
+ from (
+ SELECT convert(varchar(10),getdate()-6,120) as click_date
+ union all
+ SELECT convert(varchar(10),getdate()-5,120) as click_date
+ union all
+ SELECT convert(varchar(10),getdate()-4,120) as click_date
+ union all
+ SELECT convert(varchar(10),getdate()-3,120) as click_date
+ union all
+ SELECT convert(varchar(10),getdate()-2,120) as click_date
+ union all
+ SELECT convert(varchar(10),getdate()-1,120) as click_date
+ union all
+ SELECT convert(varchar(10),getdate(),120) as click_date
+ ) a left join (
+ select convert(varchar(10),lm_date,120) as datetime, count(*) as count
+ from CSR_WorkRecord_Defect where step_code=@StepCode
+ group by convert(varchar(10),lm_date,120)
+ ) b on a.click_date = b.datetime;";
+ dynamicParams.Add("@StepCode", StepCode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[瀵屽皵杈捐溅闂磋川閲忔暟瀛楀寲鐪嬫澘,鏃ヤ笉鑹垎甯僝
+ public static ToMessage BadDayDistriBute(string StepCode)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //瀵屽皵杈捐溅闂磋川閲忔暟瀛楀寲鐪嬫澘,鏃ヤ笉鑹垎甯�(鍙栬川妫�宸ュ簭,鎸変骇绾跨粺璁�)
+ sql = @"select A.eqp_code,E.name as eqp_name,count(*) as cont from TK_Wrk_Record A
+ inner join CSR_WorkRecord_Defect B on A.id=B.record_id
+ left join TEqpInfo E on A.eqp_code=E.code
+ where B.step_code=@StepCode and datediff(day,GETDATE(),B.lm_date)=0
+ group by A.eqp_code,E.name order by cont desc";
+ dynamicParams.Add("@StepCode", StepCode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[瀵屽皵杈捐溅闂磋川閲忔暟瀛楀寲鐪嬫澘,鍛ㄤ笉鑹垎甯僝
+ public static ToMessage BadWeekDistriBute(string StepCode)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //瀵屽皵杈捐溅闂磋川閲忔暟瀛楀寲鐪嬫澘,鍛ㄤ笉鑹垎甯�(鍙栬川妫�宸ュ簭,鎸変骇绾跨粺璁�)
+ sql = @"select A.eqp_code,E.name as eqp_name,count(*) as cont from TK_Wrk_Record A
+ inner join CSR_WorkRecord_Defect B on A.id=B.record_id
+ left join TEqpInfo E on A.eqp_code=E.code
+ where B.step_code=@StepCode and DateDiff(dd,B.lm_date,getdate())<=7
+ group by A.eqp_code,E.name order by cont desc";
+ dynamicParams.Add("@StepCode", StepCode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[瀵屽皵杈捐溅闂磋川閲忔暟瀛楀寲鐪嬫澘,涓嶈壇鏄庣粏]
+ public static ToMessage BadContManger(string StepCode)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //瀵屽皵杈捐溅闂磋川閲忔暟瀛楀寲鐪嬫澘,涓嶈壇鏄庣粏(鍙栬川妫�宸ュ簭,鎸変骇绾跨粺璁�)
+ sql = @"select row_number() over(order by MM.lm_date,MM.wo_code) as RowNum,MM.lm_date,A.eqp_code,E.name as eqp_name,MM.wo_code,A.materiel_code,M.partname,MM.step_code,T.stepname,A.good_qty as report_qty,A.ng_qty,
+ defect_name=( STUFF(( SELECT ',' + B.name
+ FROM CSR_WorkRecord_Defect N
+ inner join TDefect B on N.defect_code=B.code
+ where record_id=MM.record_id
+ FOR
+ XML PATH('')
+ ), 1, 1, '') )
+ from CSR_WorkRecord_Defect as MM
+ inner join TK_Wrk_Record A on MM.record_id=a.id
+ inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
+ inner join TStep T on MM.step_code=T.stepcode
+ inner join TEqpInfo E on A.eqp_code=E.code
+ inner join TMateriel_Info M on A.materiel_code=M.partcode
+ where MM.step_code=@StepCode and MM.style='B' and A.style='B' and A.ng_qty>0 and S.status<>'CLOSED'
+ group by MM.lm_date,MM.record_id,A.eqp_code,E.name,MM.wo_code,A.materiel_code,M.partname,MM.step_code,T.stepname,A.good_qty,A.ng_qty";
+ dynamicParams.Add("@StepCode", StepCode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
}
-}
\ No newline at end of file
+}
+
--
Gitblit v1.9.3