From 16f03da99d2d58b1f71227ff727ee826359a9785 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 22 十一月 2022 18:48:05 +0800
Subject: [PATCH] 富尔达看板接口开发
---
VueWebApi/DLL/DAL/KanBanManagerentDAL.cs | 210 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 200 insertions(+), 10 deletions(-)
diff --git a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
index aa240b5..09e8f25 100644
--- a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
+++ b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -147,7 +147,7 @@
mes.data = list;
return mes;
}
- #endregion\
+ #endregion
#region[澶у矝杞﹂棿缁煎悎鐪嬫澘,宸︿笅鍒楄〃鎺ュ彛]
public static ToMessage LineSearchBottomLeftData(string shopcode)
@@ -462,15 +462,17 @@
try
{
//鑾峰彇浜х嚎閿�鍞鍗曟姤宸ヤ俊鎭�,鎶ュ伐鏁伴噺>0 涓斿伐鍗曠姸鎬佷负闈炲叧闂姸鎬� 涓斿伐搴忎负鏈亾宸ュ簭 锛�--and (S.good_qty+S.ng_qty+S.bad_qty)<S.plan_qty)
- sql = @"select A.saleOrderCode,A.materiel_code,M.partname,
- isnull(sum(S.good_qty),0) as good_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
- inner join TK_Wrk_Man B on A.wo=B.m_po
- inner join TK_Wrk_Step S on B.wo_code=S.wo_code
- inner join TFlw_Rteqp R on S.step_code=R.step_code
+ 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 S.good_qty>0 and S.isend='Y' and R.eqp_code=@lineCode and B.status<>'CLOSED'
- group by A.saleOrderCode,A.materiel_code,M.partname";
+ 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";
dynamicParams.Add("@lineCode", lineCode);
var data = DapperHelper.selectdata(sql, dynamicParams);
mes.code = "200";
@@ -495,10 +497,16 @@
try
{
//鑾峰彇宸ュ崟鎶ュ伐淇℃伅,鎶ュ伐鏁伴噺>0 涓斿伐鍗曠姸鎬佷负闈炲叧闂姸鎬�
- sql = @"select A.wo_code,M.partname,B.seq,T.stepname,B.plan_qty,B.good_qty,B.ng_qty,B.bad_qty from TK_Wrk_Man A
+ sql = @"select 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
- left join TMateriel_Info M on A.materiel_code=M.partcode
+ 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);
@@ -517,6 +525,188 @@
}
#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 MM.lm_date,MM.wo_code,A.materiel_code,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
+ where MM.step_code='Step02' 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,MM.wo_code,A.materiel_code,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
}
}
--
Gitblit v1.9.3