From 7a7b667b3d9ab0224ff27b1532c779e9fe16222f Mon Sep 17 00:00:00 2001 From: chi Date: Tue, 2 Jan 2024 09:31:13 +0900 Subject: [PATCH] .. --- SubProject/FBS0000/Holiday/WorkTable.cs | 2 +- SubProject/FBS0000/Holiday/fHolyDayData.cs | 2 +- SubProject/FBS0000/Holiday/fHolyday.cs | 2 +- SubProject/FBS0000/Holiday/fHolyday_Add.cs | 2 +- SubProject/FBS0000/Holiday/fyeonchastate.cs | 2 +- SubProject/FCOMMON/DataBaseManager.cs | 8 ++-- .../FPJ0000/JobReport_/fJobChartMenu.cs | 2 +- .../FPJ0000/JobReport_/fJobReportImport.cs | 4 +- .../FPJ0000/JobReport_/fJobReport_Add.cs | 2 +- .../FPJ0000/JobReport_/fJobReport_AddAI.cs | 2 +- SubProject/FPJ0000/Note/fNote_Add.cs | 2 +- .../FPJ0000/OtConfirm/fHolyRequestAdd.cs | 2 +- .../FPJ0000/Project/fProjectListUser.cs | 46 ++++++++++++++++--- 13 files changed, 56 insertions(+), 22 deletions(-) diff --git a/SubProject/FBS0000/Holiday/WorkTable.cs b/SubProject/FBS0000/Holiday/WorkTable.cs index 0999eac..fa98930 100644 --- a/SubProject/FBS0000/Holiday/WorkTable.cs +++ b/SubProject/FBS0000/Holiday/WorkTable.cs @@ -93,7 +93,7 @@ namespace FBS0000 //var taUser = new dsMSSQLTableAdapters.EETGW_WorkTableUserTableAdapter(); //var dtUser = JobReport.OrderBy(t => t.userProcess + t.name).GroupBy(t => t.id);// taUser.GetData(FCOMMON.info.Login.gcode, tbGrp.Text); - var dtUser = FCOMMON.DBM.getUserTable(); //업무일지 미사용자로인해서 사용자 목록은 이것을 사용한다 220215 + var dtUser = FCOMMON.DBM.getActiveUserTable(); //업무일지 미사용자로인해서 사용자 목록은 이것을 사용한다 220215 var users = new List(); var seq = 0; diff --git a/SubProject/FBS0000/Holiday/fHolyDayData.cs b/SubProject/FBS0000/Holiday/fHolyDayData.cs index b59964c..b6a0517 100644 --- a/SubProject/FBS0000/Holiday/fHolyDayData.cs +++ b/SubProject/FBS0000/Holiday/fHolyDayData.cs @@ -18,7 +18,7 @@ namespace FBS0000 Properties.Settings.Default["gwcs"] = FCOMMON.info.CS; this.WindowState = FormWindowState.Maximized; - var dtUser = FCOMMON.DBM.getUserTable(); + var dtUser = FCOMMON.DBM.getActiveUserTable(); this.cmbUser.Items.Clear(); this.cmbUser.Items.Add("-- ALL --"); foreach (DataRow dr in dtUser.Rows) diff --git a/SubProject/FBS0000/Holiday/fHolyday.cs b/SubProject/FBS0000/Holiday/fHolyday.cs index d73591d..c9b4db8 100644 --- a/SubProject/FBS0000/Holiday/fHolyday.cs +++ b/SubProject/FBS0000/Holiday/fHolyday.cs @@ -727,7 +727,7 @@ namespace FBS0000 //해당그룹내의 사용자 목록을 가져와야한다 if (datelist==false) { - var dtUser = FCOMMON.DBM.getUserTable(); + var dtUser = FCOMMON.DBM.getActiveUserTable(); foreach (DataRow dr in dtUser.Rows) { this.cmbUser.Items.Add(dr["dispname"].ToString()); diff --git a/SubProject/FBS0000/Holiday/fHolyday_Add.cs b/SubProject/FBS0000/Holiday/fHolyday_Add.cs index 99f1cf1..426c030 100644 --- a/SubProject/FBS0000/Holiday/fHolyday_Add.cs +++ b/SubProject/FBS0000/Holiday/fHolyday_Add.cs @@ -41,7 +41,7 @@ namespace FBS0000 //} //사용자 목록 업데이트 - this.cmbUser.DataSource = FCOMMON.DBM.getUserTable(); + this.cmbUser.DataSource = FCOMMON.DBM.getActiveUserTable(); this.cmbUser.DisplayMember = "dispName"; this.cmbUser.ValueMember = "id"; // this.bs.DataSource = dr; diff --git a/SubProject/FBS0000/Holiday/fyeonchastate.cs b/SubProject/FBS0000/Holiday/fyeonchastate.cs index 9e5d7f6..6867e7f 100644 --- a/SubProject/FBS0000/Holiday/fyeonchastate.cs +++ b/SubProject/FBS0000/Holiday/fyeonchastate.cs @@ -727,7 +727,7 @@ namespace FBS0000 //해당그룹내의 사용자 목록을 가져와야한다 if (datelist==false) { - var dtUser = FCOMMON.DBM.getUserTable(); + var dtUser = FCOMMON.DBM.getActiveUserTable(); foreach (DataRow dr in dtUser.Rows) { this.cmbUser.Items.Add(dr["dispname"].ToString()); diff --git a/SubProject/FCOMMON/DataBaseManager.cs b/SubProject/FCOMMON/DataBaseManager.cs index 3ed32d7..5668b26 100644 --- a/SubProject/FCOMMON/DataBaseManager.cs +++ b/SubProject/FCOMMON/DataBaseManager.cs @@ -733,10 +733,12 @@ namespace FCOMMON /// /// id,name,dispname,dept,email,level,tel,process,grade + /// 활성화된 사용자목록을 반환 / 퇴사일자가 비어있어야 한다 + /// id,name,dispname,dept,grade,email,level,tel,process,indate,outdate /// /// /// - public static System.Data.DataTable getUserTable(int baseLevel = 1) + public static System.Data.DataTable getActiveUserTable(int baseLevel = 1) { var cn = getCn(); cn.Open(); @@ -745,9 +747,9 @@ namespace FCOMMON retval.idx = -1; string sql = "select [id],[name],([name] +'(' +[id] +')') as dispName,isnull([dept],'') as dept,isnull(grade,'') as grade," + - $" [email],[level],[tel], isnull(processs, '') as process,isnull(indate, '') as indate, isnull(outdate, '') as outdate " + + $" [email],[level],[tel], isnull(processs, '') as process,isnull(indate, '') as indate, isnull(outdate, '') as outdate" + $" from vGroupUser " + - $" where gcode='{FCOMMON.info.Login.gcode}' and [id] <> 'dev' and isnull(outdate,'') = '' and useUserState = 1 " + + $" where gcode='{FCOMMON.info.Login.gcode}' and isnull([level],0) >={baseLevel} and [id] <> 'dev' and isnull(outdate,'') = '' and useUserState = 1 " + $" order by[name]"; var cmd = new SqlCommand(sql, cn); diff --git a/SubProject/FPJ0000/JobReport_/fJobChartMenu.cs b/SubProject/FPJ0000/JobReport_/fJobChartMenu.cs index 1cc0117..d7b203c 100644 --- a/SubProject/FPJ0000/JobReport_/fJobChartMenu.cs +++ b/SubProject/FPJ0000/JobReport_/fJobChartMenu.cs @@ -63,7 +63,7 @@ namespace FPJ0000.JobReport_ cmbUser.Items.Clear(); cmbUser.Items.Add("--전체--"); - var userList = FCOMMON.DBM.getUserTable(1); + var userList = FCOMMON.DBM.getActiveUserTable(1); diff --git a/SubProject/FPJ0000/JobReport_/fJobReportImport.cs b/SubProject/FPJ0000/JobReport_/fJobReportImport.cs index ea958bd..0376d07 100644 --- a/SubProject/FPJ0000/JobReport_/fJobReportImport.cs +++ b/SubProject/FPJ0000/JobReport_/fJobReportImport.cs @@ -26,7 +26,7 @@ namespace FPJ0000.JobReport_ //담당자목록 - var dt_users = FCOMMON.DBM.getUserTable();// getGroupList("name + '(' + id + ')'", "Users", "[level] > 0 and [level] < + var dt_users = FCOMMON.DBM.getActiveUserTable();// getGroupList("name + '(' + id + ')'", "Users", "[level] > 0 and [level] < //10", false, false); var newdr = dt_users.NewRow(); @@ -116,7 +116,7 @@ namespace FPJ0000.JobReport_ //현재 자료 모두 삭제 this.dsPRJ.JobReport.Clear(); this.dsPRJ.JobReport.AcceptChanges(); - var dt_users = FCOMMON.DBM.getUserTable(); + var dt_users = FCOMMON.DBM.getActiveUserTable(); var unknownlist = new List(); try { diff --git a/SubProject/FPJ0000/JobReport_/fJobReport_Add.cs b/SubProject/FPJ0000/JobReport_/fJobReport_Add.cs index e95a962..4a40860 100644 --- a/SubProject/FPJ0000/JobReport_/fJobReport_Add.cs +++ b/SubProject/FPJ0000/JobReport_/fJobReport_Add.cs @@ -141,7 +141,7 @@ namespace FPJ0000.JobReport_ //담당자목록 - var dt_users = FCOMMON.DBM.getUserTable();// getGroupList("name + '(' + id + ')'", "Users", "[level] > 0 and [level] < 10", false, false); + var dt_users = FCOMMON.DBM.getActiveUserTable();// getGroupList("name + '(' + id + ')'", "Users", "[level] > 0 and [level] < 10", false, false); this.cmbUser.DisplayMember = "dispName"; this.cmbUser.ValueMember = "id"; this.cmbUser.DataSource = dt_users; diff --git a/SubProject/FPJ0000/JobReport_/fJobReport_AddAI.cs b/SubProject/FPJ0000/JobReport_/fJobReport_AddAI.cs index cf10a1e..4220e8e 100644 --- a/SubProject/FPJ0000/JobReport_/fJobReport_AddAI.cs +++ b/SubProject/FPJ0000/JobReport_/fJobReport_AddAI.cs @@ -109,7 +109,7 @@ namespace FPJ0000.JobReport_ //담당자목록 - var dt_users = FCOMMON.DBM.getUserTable();// getGroupList("name + '(' + id + ')'", "Users", "[level] > 0 and [level] < 10", false, false); + var dt_users = FCOMMON.DBM.getActiveUserTable();// getGroupList("name + '(' + id + ')'", "Users", "[level] > 0 and [level] < 10", false, false); this.cmbUser.DisplayMember = "dispName"; this.cmbUser.ValueMember = "id"; this.cmbUser.DataSource = dt_users; diff --git a/SubProject/FPJ0000/Note/fNote_Add.cs b/SubProject/FPJ0000/Note/fNote_Add.cs index 0ee5ce2..8a5d6ae 100644 --- a/SubProject/FPJ0000/Note/fNote_Add.cs +++ b/SubProject/FPJ0000/Note/fNote_Add.cs @@ -40,7 +40,7 @@ namespace FPJ0000.Note private void fJobReport_Add_Load(object sender, EventArgs e) { //담당자목록 - var dt_users = FCOMMON.DBM.getUserTable();// getGroupList("name + '(' + id + ')'", "Users", "[level] > 0 and [level] < 10", false, false); + var dt_users = FCOMMON.DBM.getActiveUserTable();// getGroupList("name + '(' + id + ')'", "Users", "[level] > 0 and [level] < 10", false, false); this.cmbUser.DisplayMember = "dispName"; this.cmbUser.ValueMember = "id"; this.cmbUser.DataSource = dt_users; diff --git a/SubProject/FPJ0000/OtConfirm/fHolyRequestAdd.cs b/SubProject/FPJ0000/OtConfirm/fHolyRequestAdd.cs index 218dacd..2df0b60 100644 --- a/SubProject/FPJ0000/OtConfirm/fHolyRequestAdd.cs +++ b/SubProject/FPJ0000/OtConfirm/fHolyRequestAdd.cs @@ -36,7 +36,7 @@ namespace FPJ0000.OtConfirm foreach (var item in 백업목록) tbBackup.Items.Add(item.Value); - var userlist = FCOMMON.DBM.getUserTable(); + var userlist = FCOMMON.DBM.getActiveUserTable(); this.cmbUser.DataSource = userlist; this.cmbUser.ValueMember = "id"; this.cmbUser.DisplayMember = "dispname"; diff --git a/SubProject/FPJ0000/Project/fProjectListUser.cs b/SubProject/FPJ0000/Project/fProjectListUser.cs index 064c4ef..b6dc3d2 100644 --- a/SubProject/FPJ0000/Project/fProjectListUser.cs +++ b/SubProject/FPJ0000/Project/fProjectListUser.cs @@ -212,22 +212,26 @@ namespace FPJ0000 foreach (var item in id_epm) if (item.isEmpty() == false && uids.Contains(item) == false) uids.Add(item); + //현그룹의 활성화된 사용자목록가져오기 + var dtActUser = DBM.getActiveUserTable(); + foreach (var uidinfo in uids.OrderBy(t => t)) { + var idinfo = uidinfo.Split('|'); + var uid = idinfo[0]; + + + if (dtActUser.Select($"id='{uid}'").Any() == false) continue; + var newdr = this.dSProjectSummary.ProjectCountForUser.NewProjectCountForUserRow(); - var idinfo = uidinfo.Split('|'); - - newdr.UserID = idinfo[0]; + newdr.UserID = uid; newdr.UserName = idinfo[1]; - newdr.Process = DBM.ExecuteScalar(string.Format("select isnull(max(process),'') from EETGW_GroupUser where gcode = '{0}' and uid='{1}'", FCOMMON.info.Login.gcode, newdr.UserID)); - - var uid = newdr.UserID; + newdr.Process = DBM.ExecuteScalar(string.Format("select top 1 isnull(process,'') from EETGW_GroupUser where gcode = '{0}' and uid='{1}'", FCOMMON.info.Login.gcode, newdr.UserID)); //해당 유저의 데이터를 추출한다. var list = dsMSSQL.Projects.Where(t => t.championid == uid || t.softwareid == uid || t.designid == uid || t.epanelid == uid || t.assemblyid == uid).ToList(); newdr.CntTotal = list.Count(); - newdr.CntProgress = list.Where(t => t.status == "진행").Count(); newdr.CntComplete = list.Where(t => t.status.StartsWith("완료")).Count(); newdr.CntCheck = list.Where(t => t.status == "검토").Count(); @@ -260,6 +264,34 @@ namespace FPJ0000 this.dSProjectSummary.ProjectCountForUser.AddProjectCountForUserRow(newdr); } + + //합계를 추가하자 + var newdrs = this.dSProjectSummary.ProjectCountForUser.NewProjectCountForUserRow(); + newdrs.Process = "합계"; + newdrs.UserName = ""; + newdrs.UserID = ""; + newdrs.CntTotal = dSProjectSummary.ProjectCountForUser.Sum(t => t.CntTotal); + newdrs.CntProgress = dSProjectSummary.ProjectCountForUser.Sum(t => t.CntProgress); + newdrs.CntComplete = dSProjectSummary.ProjectCountForUser.Sum(t => t.CntComplete); + newdrs.CntCheck = dSProjectSummary.ProjectCountForUser.Sum(t => t.CntCheck); + newdrs.CntHold = dSProjectSummary.ProjectCountForUser.Sum(t => t.CntHold); + newdrs.CntNone = dSProjectSummary.ProjectCountForUser.Sum(t => t.CntNone); + newdrs.PlanNext = dSProjectSummary.ProjectCountForUser.Sum(t => t.PlanNext); + newdrs.CntOther = dSProjectSummary.ProjectCountForUser.Sum(t => t.CntOther); + + newdrs.Plan01 = dSProjectSummary.ProjectCountForUser.Sum(t => t.Plan01); + newdrs.Plan02 = dSProjectSummary.ProjectCountForUser.Sum(t => t.Plan02); + newdrs.Plan03 = dSProjectSummary.ProjectCountForUser.Sum(t => t.Plan03); + newdrs.Plan04 = dSProjectSummary.ProjectCountForUser.Sum(t => t.Plan04); + newdrs.Plan05 = dSProjectSummary.ProjectCountForUser.Sum(t => t.Plan05); + newdrs.Plan06 = dSProjectSummary.ProjectCountForUser.Sum(t => t.Plan06); + newdrs.Plan07 = dSProjectSummary.ProjectCountForUser.Sum(t => t.Plan07); + newdrs.Plan08 = dSProjectSummary.ProjectCountForUser.Sum(t => t.Plan08); + newdrs.Plan09 = dSProjectSummary.ProjectCountForUser.Sum(t => t.Plan09); + newdrs.Plan10 = dSProjectSummary.ProjectCountForUser.Sum(t => t.Plan10); + newdrs.Plan11 = dSProjectSummary.ProjectCountForUser.Sum(t => t.Plan11); + newdrs.Plan12 = dSProjectSummary.ProjectCountForUser.Sum(t => t.Plan12); + this.dSProjectSummary.ProjectCountForUser.AddProjectCountForUserRow(newdrs); } void FormattingData()