업무일지 삭제 화면만 불러도 데이터가 삭제되는 현상 수정

사용자 목록이 실 데이터 입력자로 변경 함
업무일지  : 개인별/일자별 집계 추가
This commit is contained in:
chikyun.kim
2019-05-09 10:15:40 +09:00
parent 7adfebe609
commit 93b2cdb3ae
13 changed files with 1754 additions and 127 deletions

View File

@@ -35,24 +35,54 @@ namespace FPJ0000
this.dtSD.Text = DateTime.Now.ToString("yyyy-MM-01");
this.dtED.Text = DateTime.Now.ToShortDateString();
//담당자목록
var userList = FCOMMON.DBM.getGroupList("name + '(' + id + ')'", "Users", "[level] > 0 and [level] < 10", false, false);
foreach (var user in userList)
{
this.cmbUser.Items.Add(user);
}
//담당자목록 - 사용자목록으로 처리한다.
string namestr = string.Format("{0}({1})", FCOMMON.info.Login.nameK, FCOMMON.info.Login.no);
if (FCOMMON.info.Login.no == "dev") namestr = "김치균(395552)";
this.cmbUser.Items.Clear();
this.cmbUser.Items.Add(namestr);
try
{
var cn = FCOMMON.DBM.getCn();
cn.Open();
string sql = "select uid,dbo.getUserName(uid) as uname " +
" from JobReport" +
" where uid <> '{0}'" +
" group by uid " +
" order by uname";
sql = string.Format(sql, FCOMMON.info.Login.no);
var cmd = new System.Data.SqlClient.SqlCommand(sql, cn);
var rdr = cmd.ExecuteReader();
while (rdr.Read())
{
string cmbdata = string.Format("{1}({0})", rdr["uid"].ToString(), rdr["uname"].ToString());
this.cmbUser.Items.Add(cmbdata);
}
cmd.Dispose();
cn.Close();
cn.Dispose();
}catch (Exception ex)
{
FCOMMON.Util.MsgE("User List Error\n\n"+ex.Message);
}
//var userList = FCOMMON.DBM.getGroupList("name + '(' + id + ')'", "Users", "[level] > 0 and [level] < 10", false, false);
//foreach (var user in userList)
//{
// this.cmbUser.Items.Add(user);
//}
cmbUser.Text = namestr;
//state list
var stList = FCOMMON.DBM.getCodeList("05");
this.cmbState.Items.Clear();
cmbState.Items.Add("-- All --");
// cmbState.Items.Add("-- incomplete --");
foreach (var item in stList)
cmbState.Items.Add(item);
this.cmbState.SelectedIndex = 0;
//var stList = FCOMMON.DBM.getCodeList("05");
//this.cmbState.Items.Clear();
//cmbState.Items.Add("-- All --");
//// cmbState.Items.Add("-- incomplete --");
//foreach (var item in stList)
// cmbState.Items.Add(item);
//this.cmbState.SelectedIndex = 0;
//일반사용자의경우에는 상태를 변경하지 못한다.
@@ -135,8 +165,8 @@ namespace FPJ0000
void refreshData()
{
string state = "%";
if (cmbState.SelectedIndex > 0) state = cmbState.Text.Split(',')[0].Substring(1);
// string state = "%";
// if (cmbState.SelectedIndex > 0) state = cmbState.Text.Split(',')[0].Substring(1);
//사용자번호추적
if (cmbUser.Text.Trim() == "")
@@ -306,6 +336,11 @@ namespace FPJ0000
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsPRJ.JobReportRow;
if(dr.uid != FCOMMON.info.Login.no && FCOMMON.info.Login.level<5)
{
FCOMMON.Util.MsgE("타인의 자료는 추가/변경/삭제 할 수 없습니다.");
return;
}
var f = new JobReport.fJobReport_Add(dr);
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
@@ -336,7 +371,7 @@ namespace FPJ0000
private void btCopy_Click(object sender, EventArgs e)
{
funcCopy(); //190509
}
void funcCopy()
{
@@ -349,7 +384,9 @@ namespace FPJ0000
FCOMMON.Util.CopyData((System.Data.DataRow)dr, (System.Data.DataRow)newdr);
newdr.wdate = DateTime.Now;
newdr.wuid = FCOMMON.info.Login.no;
newdr.uid = FCOMMON.info.Login.no;
newdr.description = "";
newdr.pdate = DateTime.Now.ToShortDateString(); //190509
newdr.idx = -1;
newdr.hrs = 8.0;
newdr.ot = 0.0;
@@ -374,14 +411,20 @@ namespace FPJ0000
{
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dlg = FCOMMON.Util.MsgQ("현재 선택된 자료를 삭제하시겠습니까?");
var dr = drv.Row as dsPRJ.JobReportRow;
if (dr.uid != FCOMMON.info.Login.no && FCOMMON.info.Login.level < 5)
{
FCOMMON.Util.MsgE("타인의 자료는 추가/변경/삭제 할 수 없습니다.");
return;
}
var dlg = FCOMMON.Util.MsgQ("현재 선택된 자료를 삭제하시겠습니까?");
if (dlg != System.Windows.Forms.DialogResult.Yes) return;
dr.Delete();
try
{
this.ta.Update(dr);
//dr.AcceptChanges();
//FCOMMON.Util.MsgI("삭제 완료");
}
catch (Exception ex)
{
@@ -429,5 +472,11 @@ namespace FPJ0000
funcDelete();
}
private void btReportDay_Click(object sender, EventArgs e)
{
var f = new JobReport.rJobReportDay();
f.Show();
}
}
}