private void loadMsgNotification() { if (UserInfo.Getinstance().loginON == false) { return; } string query = "SELECT COUNT(*) as cnt FROM 쪽지 WHERE 수신확인 = '읽지않음' AND 받는사람 = " + UserInfo.Getinstance().Id; MySqlDataReader rdr = DBManager.GetInstance().select(query); rdr.Read(); string cnt = rdr["cnt"].ToString(); Console.WriteLine(cnt); if (Convert.ToInt32(cnt) != 0) { MessageBox.Show("아직 읽지않은 쪽지가 있습니다."); /* * dtDelayStart = DateTime.Now; * * MsgNotify.Visible = true; * //5초간 지연 * DelaySystem(3000); * MsgNotify.Visible = false; */ } rdr.Close(); }
private void combo_Appr_SelectedIndexChanged(object sender, EventArgs e) { switch (combo_Appr.Text) //콤보박스 선택 변경마다 조건 변경 { case "등록 결재 내역": //내가 기안자인 모든 결재 내역 query = "SELECT a.ID as 번호,(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 기안자 FROM Employee WHERE identification = " + id + ") AS 기안자," + "a.제목,a.내용,w.업무내용,a.코멘트,a.진행상황,a.결재자수,(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제1결재자) as 제1결재자," + "(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제2결재자) as 제2결재자," + "(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제3결재자) as 제3결재자," + "a.기안자시간,a.1승인시간,a.2승인시간,a.3승인시간,a.반려메모 " + "FROM 결재 as a, 업무마스터 as w WHERE 기안자 = " + id + " AND (a.관련업무 = w.업무번호) ORDER BY a.반려여부"; break; case "결재 중 내역": //내가 기안자인 결재 중 내역 query = "SELECT a.ID as 번호,(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 기안자 FROM Employee WHERE identification = " + id + ") AS 기안자," + "a.제목,a.내용,w.업무내용,a.코멘트,a.진행상황,a.결재자수,(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제1결재자) as 제1결재자," + "(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제2결재자) as 제2결재자," + "(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제3결재자) as 제3결재자" + ",a.기안자시간,a.1승인시간,a.2승인시간,a.3승인시간,a.반려메모 " + "FROM 결재 as a, 업무마스터 as w WHERE 기안자 = " + id + " AND 진행상황 < 결재자수 AND (a.관련업무 = w.업무번호) AND 반려여부 = 0"; break; case "결재 완료 내역": //내가 기안자인 결재 완료 내역 query = "SELECT a.ID as 번호,(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 기안자 FROM Employee WHERE identification = " + id + ") AS 기안자," + "a.제목,a.내용,w.업무내용,(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제1결재자) as 제1결재자," + "(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제2결재자) as 제2결재자," + "(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제3결재자) as 제3결재자," + "a.기안자시간,a.1승인시간,a.2승인시간,a.3승인시간 " + "FROM 결재 as a, 업무마스터 as w WHERE 기안자 = " + id + " AND 진행상황 = 결재자수 AND (a.관련업무 = w.업무번호)"; break; case "결재할 내역": //내가 결재할 차례인 모든 결재 내역 query = "SELECT a.ID as 번호,(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.기안자) as 기안자,a.제목,a.내용,w.업무내용,a.코멘트," + "(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제1결재자) as 제1결재자," + "(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제2결재자) as 제2결재자," + "(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제3결재자) as 제3결재자," + "a.기안자시간,a.1승인시간,a.2승인시간,a.3승인시간,a.반려메모 " + "FROM 결재 as a, 업무마스터 as w WHERE 진행상황 < 결재자수 AND ((진행상황 = 0 AND 제1결재자 = " + id + ") OR" + "(진행상황 = 1 AND 제2결재자 = " + id + ") OR (진행상황 = 2 AND 제3결재자 = " + id + ")) AND (a.관련업무 = w.업무번호) AND 반려여부 = 0"; break; case "반려 내역": //내가 기안한 결재 중 반려 내역 query = "SELECT a.ID as 번호,(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.기안자) as 기안자,a.제목,a.내용,w.업무내용," + "(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제1결재자) as 제1결재자," + "(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제2결재자) as 제2결재자," + "(SELECT GROUP_CONCAT(name, '(', identification, ')') AS 사원 FROM Employee WHERE identification = a.제3결재자) as 제3결재자," + "a.기안자시간,a.1승인시간,a.2승인시간,a.3승인시간,a.반려메모 " + "FROM 결재 as a, 업무마스터 as w WHERE (기안자 = " + id + " OR 제1결재자 = " + id + " OR 제2결재자 = " + id + " OR 제3결재자 = " + id + ") " + "AND (a.관련업무 = w.업무번호) AND 반려여부 = 1 ORDER BY a.기안자시간 desc"; break; //반려내역 누구에게 보여줄것인지 } MySqlDataReader rdr = DBManager.GetInstance().select(query); //테이블 가져오기 DataTable dt = new DataTable(); dt.Load(rdr); dgv_MyApprList.DataSource = dt; rdr.Close(); }
public void deleteHRData(string table, string need) { string query = ""; query += "DELETE FROM " + table + " WHERE " + need; DBManager.GetInstance().DBquery(query); }
public void GetEmployee() //사원 가져오는 함수 { listViewShowEmployee.BeginUpdate(); //업데이트 시작 if (comboBoxShowDepartment.SelectedIndex == -1) { MessageBox.Show("부서가 선택되지 않았습니다.", "확인"); listViewShowEmployee.EndUpdate(); //업데이트 종료 return; } listViewShowEmployee.Items.Clear(); //listview 초기화 listViewShowEmployee.Columns.Clear(); //listview column 초기화 int idx = comboBoxShowDepartment.SelectedIndex; string query = "SELECT * FROM Employee WHERE department = " + department_[idx] + " AND valid = 1"; MySqlDataReader rdr = DBManager.GetInstance().select(query); //DB에서 값을 가져옴 while (rdr.Read()) { ListViewItem items = new ListViewItem(rdr["identification"].ToString()); //사원 id 값을 가져옴. items.SubItems.Add(rdr["name"].ToString()); //사원의 이름을 가져옴. listViewShowEmployee.Items.Add(items); //listview에 더함 } rdr.Close(); // 컬럼명과 컬럼사이즈 지정 listViewShowEmployee.Columns.Add("사원번호", 70, HorizontalAlignment.Left); listViewShowEmployee.Columns.Add("사원이름", 70, HorizontalAlignment.Left); listViewShowEmployee.EndUpdate(); //업데이트 종료 }
private void button_Task_Delete_Click(object sender, EventArgs e) // 삭제 버튼 { if (TaskmasterView.CurrentCell == null) { MessageBox.Show("삭제할 업무를 선택해주세요", "업무삭제확인", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { button_Task_Apply.Visible = true; string selected = TaskmasterView.SelectedRows[0].Cells[0].Value.ToString(); int id = Convert.ToInt32(selected); if (MessageBox.Show("이 업무는 정말 삭제하시겠습니까? 삭제하시면 더이상 결재가 불가능한 업무입니다.", "업무삭제확인", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { string deleteflagtask = "UPDATE 업무마스터 SET 업무유효성 = 0 Where 업무번호 = " + id + ""; DBManager.GetInstance().DBquery(deleteflagtask); MessageBox.Show("이 업무는 더이상 결재 할 수 없습니다.", "업무삭제확인", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); syndataview(); } else { MessageBox.Show("업무삭제가 취소되었습니다.", "업무삭제취소", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } }
private void PaymentListView_CellClick(object sender, DataGridViewCellEventArgs e) // 그냥 셀 클릭 시 { int rowIndex = PaymentListView.CurrentCellAddress.Y; string num = PaymentListView.Rows[rowIndex].Cells[0].Value.ToString(); int selectedId = Convert.ToInt32(num); int firstpaymentid = 0; int secondpaymentid = 0; int thirdpaymentid = 0; string checkpayment1 = "SELECT 진행상황,결재자수,제1결재자,제2결재자" + ",ifnull(제3결재자,0)AS 제3결재자 FROM 결재 WHERE ID = " + selectedId; MySqlDataReader rdr = DBManager.GetInstance().select(checkpayment1); while (rdr.Read()) { paymentprocesscount = Convert.ToInt32(rdr["진행상황"].ToString()); // 진행상황 값 받아오기 firstpaymentid = Convert.ToInt32(rdr["제1결재자"].ToString()); // 제 1결재자 값 받아오기 secondpaymentid = Convert.ToInt32(rdr["제2결재자"].ToString()); // 제 2결재자 값 받아오기 thirdpaymentid = Convert.ToInt32(rdr["제3결재자"].ToString()); // 제 3결재 값 받아오기 } if (firstpaymentid == id) { usercount = 1; } else if (secondpaymentid == id) { usercount = 2; } else if (thirdpaymentid == id) { usercount = 3; } textBoxComent.Text = PaymentListView.SelectedRows[0].Cells[4].Value.ToString(); }
//코멘트가 null이 아닐때 public void Insert_payment(int id, string title, string content, int selectedId, string coment, int chckapprovernum, int Approver1, int Approver2, Nullable <int> Approver3) { DateTime date = DateTime.Now; string date_now = date.ToString("yyy-MM-dd HH:mm:ss"); if (coment == null && Approver3 == null) { DBManager.GetInstance().DBquery( "INSERT INTO erp_school.결재(기안자, 제목, 내용, 관련업무, 코멘트, 진행상황, 결재자수, 제1결재자, 제2결재자, 제3결재자, 기안자시간,반려여부) VALUES(" + id + ",'" + title + "','" + content + "'," + selectedId + ",null,0," + chckapprovernum + "," + Approver1 + "," + Approver2 + ",null,'" + date_now + "',0);"); } else if (Approver3 == null) { DBManager.GetInstance().DBquery( "INSERT INTO erp_school.결재(기안자,제목,내용,관련업무,코멘트,진행상황,결재자수,제1결재자,제2결재자,제3결재자,기안자시간,반려여부) VALUES(" + id + ",'" + title + "','" + content + "'," + selectedId + ",'" + coment + "',0," + chckapprovernum + "," + Approver1 + "," + Approver2 + ",null,'" + date_now + "',0);"); } else if (coment == null) { DBManager.GetInstance().DBquery( "INSERT INTO erp_school.결재(기안자,제목,내용,관련업무,코멘트,진행상황,결재자수,제1결재자,제2결재자,제3결재자,기안자시간,반려여부) VALUES(" + id + ",'" + title + "','" + content + "'," + selectedId + ",null,0," + chckapprovernum + "," + Approver1 + "," + Approver2 + "," + Approver3 + ",'" + date_now + "',0);"); } else { DBManager.GetInstance().DBquery( "INSERT INTO erp_school.결재(기안자,제목,내용,관련업무,코멘트,진행상황,결재자수,제1결재자,제2결재자,제3결재자,기안자시간,반려여부) VALUES(" + id + ",'" + title + "','" + content + "'," + selectedId + ",'" + coment + "',0," + chckapprovernum + "," + Approver1 + "," + Approver2 + "," + Approver3 + ",'" + date_now + "',0);"); } }
void initChange() { //날짜!!!!******, string query = "SELECT 부서,업무종류,업무내용,날짜,시작시간,종료시간 FROM 일일업무등록,업무마스터 WHERE 업무마스터id=업무번호 AND id = " + changeid; MySqlDataReader rdr = DBManager.GetInstance().select(query); string com1 = "", com2 = "", com3 = ""; while (rdr.Read()) { com1 = rdr["부서"].ToString(); com2 = rdr["업무종류"].ToString(); com3 = rdr["업무내용"].ToString(); changeDate = (DateTime)rdr["날짜"]; changeStart = (DateTime)rdr["시작시간"]; changeEnd = (DateTime)rdr["종료시간"]; } //시간 세팅 dateTimePicker1.Value = changeDate; dateTimePickerStart.Value = changeStart; dateTimePickerEnd.Value = changeEnd; comboBox소속.SelectedItem = com1; comboBox업무종류.SelectedItem = com2; fill업무내용event(); //업무내용 콤보 채우기 comboBox업무내용.SelectedItem = com3; }
private bool CheckTimeStartEnd(string date) { string select = ""; DateTime nowStart = dateTimePickerStart.Value; DateTime nowEnd = dateTimePickerEnd.Value; if (CASE.Equals("수정")) { //수정된 사람, 날짜에 해당하는 시작,종료시간 select = "SELECT 시작시간,종료시간 FROM 일일업무등록 WHERE 날짜='" + date + "' AND 등록자id=(SELECT 등록자id FROM 일일업무등록 WHERE id=" + changeid + ")"; } else { //등록자, 날짜에 해당하는 시작,종료시간 select = "SELECT 시작시간,종료시간 FROM 일일업무등록 WHERE 날짜='" + date + "' AND 등록자id=" + UserInfo.Getinstance().Id; } MySqlDataReader rdr = DBManager.GetInstance().select(select); while (rdr.Read()) { //시작,종료시간 검사 DateTime start, end; start = (DateTime)rdr["시작시간"]; end = (DateTime)rdr["종료시간"]; //수정 내역 낑겨 있을 경우 if (CASE.Equals("수정") && DateTime.Compare(Convert.ToDateTime(date), changeDate) == 0 && TimeSpan.Compare(start.TimeOfDay, changeStart.TimeOfDay) == 0 && TimeSpan.Compare(end.TimeOfDay, changeEnd.TimeOfDay) == 0) { // 그냥 통과, 다음 시간 체크하기 continue; } //검사 코드 추가 **** else if (TimeSpan.Compare(nowStart.TimeOfDay, start.TimeOfDay) > 0 && TimeSpan.Compare(end.TimeOfDay, nowStart.TimeOfDay) > 0) ///잘못됬음. { return(false); } else if (TimeSpan.Compare(nowEnd.TimeOfDay, start.TimeOfDay) > 0 && TimeSpan.Compare(end.TimeOfDay, nowEnd.TimeOfDay) > 0) { return(false); } else if (TimeSpan.Compare(nowStart.TimeOfDay, start.TimeOfDay) < 0 && TimeSpan.Compare(nowEnd.TimeOfDay, end.TimeOfDay) > 0) { return(false); } else if (TimeSpan.Compare(nowStart.TimeOfDay, start.TimeOfDay) == 0 && TimeSpan.Compare(end.TimeOfDay, nowEnd.TimeOfDay) == 0) { return(false); } } return(true); }
public DataTable selectDGV(string select, string from, string where) { string query = "SELECT " + select + " FROM " + from + where; MySqlDataReader rdr = DBManager.GetInstance().select(query); DataTable dt = new DataTable(); dt.Load(rdr); rdr.Close(); return(dt); }
public DataTable SetWork() { //업무번호에 따른 업무내용을 들고와야함(업무번호,업무내용)삭제유무가 0인거는 들고오면 안됨 //부서도 들고와야할거같기도..... MySqlDataReader rdr = DBManager.GetInstance().select("SELECT 업무번호, 부서, 업무내용 FROM erp_school.업무마스터 WHERE 업무유효성=1;"); DataTable work = new DataTable(); work.Load(rdr); rdr.Close(); return(work); }
void fillcombo() // 콤보박스에 부서를 넣을 것임 { string Combolist = "SELECT * FROM 부서 WHERE valid = 1 AND ID > 1"; MySqlDataReader rdr = DBManager.GetInstance().select(Combolist); while (rdr.Read()) { string listname = rdr.GetString("부서명"); comboBoxAFcompany.Items.Add(listname); } }
public void SettingGridView() { MySqlDataReader rdr = DBManager.GetInstance().select(select); //쿼리 결과 받아오기 DataTable dt = new DataTable(); dt.Load(rdr); dataGridView.DataSource = dt; //VIEW 직접 접근해서 그려주기 rdr.Close(); }
void SalaryInputDialog_FormClosed(object sender, FormClosedEventArgs e) //추가수당 입력 dialog가 꺼졌을 때 { ChangeLabel(); //업데이트 시킴. //추가수당을 db에 업데이트 시킴. int idx = listViewShowEmployee.FocusedItem.Index; string employeeid = listViewShowEmployee.Items[idx].Text; DateTime dt = dateTimePickerYearMonth.Value; string date = string.Format("{0}-{1}", dt.Year, dt.Month); string query = "UPDATE SalaryDetail SET extratime = " + ExtraHour_ + " WHERE employeeid = " + employeeid + " AND month = '" + date + "-01'"; DBManager.GetInstance().DBquery(query); //insert 실행 }
private void MessageAck_Load(object sender, EventArgs e) { string query = "SELECT 수신확인, name AS 받는사람, 제목, 내용 FROM 쪽지 join Employee on 쪽지.받는사람 = Employee.Identification WHERE 보낸사람 = " + UserManager.Id; MySqlDataReader rdr = DBManager.GetInstance().select(query); DataTable dt = new DataTable(); dt.Load(rdr); dataGridView1.DataSource = dt; rdr.Close(); }
void InitCombo() //부서 콤보 채우기 { string query = "SELECT DISTINCT 부서 FROM 업무마스터 WHERE 업무유효성=1"; MySqlDataReader rdr = DBManager.GetInstance().select(query); while (rdr.Read()) { comboBox소속.Items.Add(rdr["부서"].ToString()); } //나머지 콤보박스 비우기 comboBox업무종류.Items.Clear(); comboBox업무내용.Items.Clear(); }
private void buttonPayment_Accept_Click(object sender, EventArgs e) // 결재진행을 누를 시 { if (PaymentListView.Rows.Count != 0) // 결재내역에 있으면 { if (PaymentListView.CurrentCell != null) { string selected = PaymentListView.SelectedRows[0].Cells[0].Value.ToString(); int id = Convert.ToInt32(selected); string paymenttime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); if (paymentprocesscount + 1 == usercount && usercount == 1) { string first_payment_accepttime = "UPDATE 결재 SET 진행상황 = 진행상황 + 1, 1승인시간 = '" + paymenttime + "'" + "WHERE ID = " + id; DBManager.GetInstance().DBquery(first_payment_accepttime); MessageBox.Show(paymenttime + "에 결재가 완료되었습니다.", "결재알림", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); paymentviewer(); } else if (paymentprocesscount + 1 == usercount && usercount == 2) { string second_payment_accepttime = "UPDATE 결재 SET 진행상황 = 진행상황 + 1, 2승인시간 = '" + paymenttime + "'" + "WHERE ID = " + id; DBManager.GetInstance().DBquery(second_payment_accepttime); MessageBox.Show(paymenttime + "에 결재가 완료되었습니다.", "결재알림", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); paymentviewer(); } else if (paymentprocesscount + 1 == usercount && usercount == 3) { string second_payment_accepttime = "UPDATE 결재 SET 진행상황 = 진행상황 + 1, 3승인시간 = '" + paymenttime + "'" + "WHERE ID = " + id; DBManager.GetInstance().DBquery(second_payment_accepttime); MessageBox.Show(paymenttime + "에 결재가 완료되었습니다.", "결재알림", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); paymentviewer(); } else if (usercount == 4) { MessageBox.Show("선택 후 결재를 진행해 주세요.", "결재알림", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { MessageBox.Show("현재 결재할 수 있는 사용자가아닙니다.", "결재알림", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("결재목록을 선택해주세요.", "결재알림", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { MessageBox.Show("현재 결재수락할 수 있는 결재목록이 없습니다.", "결재알림", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void button_Task_Apply_Click(object sender, EventArgs e) // 등록 버튼 { string AFcompany = comboBoxAFcompany.Text; string Taskkind = comboBoxTaskKind.Text; string TaskContents = textBoxTaskContents.Text; string overlap = "SELECT COUNT(*) as cnt FROM 업무마스터 WHERE 부서 = '" + AFcompany + "'" + "AND 업무종류 = '" + Taskkind + "'" + "AND 업무내용 = '" + TaskContents + "'"; MySqlDataReader count = DBManager.GetInstance().select(overlap); // 중복여부 확인 int overlapflag = 0; // 중복횟수 while (count.Read()) { overlapflag = Convert.ToInt32(count["cnt"]); // 중복여부 확인을 정수로 선언 } if (overlapflag == 0) // 중복된 값이 없으면 { if (AFcompany == "") // 소속을 안 적으면 { MessageBox.Show("소속을 입력해주세요", "업무등록오류", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (Taskkind == "") // 업무종류를 안 적으면 { MessageBox.Show("업무종류를 입력해주세요", "업무등록오류", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (TaskContents == "") // 업무내용을 안 적으면 { MessageBox.Show("업무내용을 입력해주세요", "업무등록오류", MessageBoxButtons.OK, MessageBoxIcon.Error); } else // 업무유효성은 1로 지정(초기값) => 데이터 그리뷰에 있는 내용을 보고 적을 수도 있어서 중복방지를 할려고 함 { if (MessageBox.Show("업무를 등록하시겠습니까?", "업무등록확인", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { string addtask = "INSERT INTO 업무마스터(부서,업무종류,업무내용,업무유효성)" + "VALUES('" + AFcompany + "','" + Taskkind + "','" + TaskContents + "'" + "," + "1)"; DBManager.GetInstance().DBquery(addtask); MessageBox.Show("등록되었습니다.", "업무등록확인", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); syndataview(); } else { MessageBox.Show("업무등록이 취소되었습니다.", "업무등록취소", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } else // 중복된 값이 있으면 { MessageBox.Show("중복된 업무는 등록할 수 없습니다.", "등록오류", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void GetTotalHour() //추가기능 전체 시간 가져오는 함수 { DateTime dt = dateTimePickerYearMonth.Value; string date = string.Format("{0:0000}-{1:00}", dt.Year, dt.Month); if (listViewShowEmployee.SelectedItems.Count == 0) { MessageBox.Show("사원을 선택해주세요", "확인"); return; } int idx = listViewShowEmployee.FocusedItem.Index; string employeeid = listViewShowEmployee.Items[idx].Text; string query = "select empID,sum(hour(daytime))as h, sum(minute(daytime))as m, sum(second(daytime))as s from(select empID,date,subtime(empOut, empIn) as daytime from Attendance) as tmp where empID =" + employeeid + " AND DATE_FORMAT(Date,'%Y-%m') = '" + date + "' group by empID"; //사원 id, 시간, 분, 초를 받아옴. MySqlDataReader rdr = DBManager.GetInstance().select(query); int hour = 0, month = 0, second = 0; if (rdr.Read()) { hour = Int32.Parse(rdr["h"].ToString()); month = Int32.Parse(rdr["m"].ToString()); second = Int32.Parse(rdr["s"].ToString()); } totalworktime_ = hour + (float)month / 60; query = "SELECT * FROM SalaryDetail WHERE employeeid = " + employeeid + " AND month = '" + date + "-01'"; rdr = DBManager.GetInstance().select(query); //DB에서 값을 가져옴 if (rdr.Read()) { if (rdr["extratime"].ToString() != "") { ExtraHour_ = Double.Parse(rdr["extratime"].ToString()); } else { ExtraHour_ = 0; } } else { query = "INSERT INTO SalaryDetail(employeeid, month) VALUES(" + employeeid + ", '" + date + "-01')"; DBManager.GetInstance().DBquery(query); //insert 실행 ExtraHour_ = 0; } }
private void fill업무내용event() { //한번 닦기 comboBox업무내용.Items.Clear(); //업무 내용 세팅, 가끔씩 null 받아옴... 오류 많이생김 고치기 string com1 = comboBox소속.SelectedItem.ToString(); string com2 = comboBox업무종류.SelectedItem.ToString(); string query = "SELECT DISTINCT 업무내용 FROM 업무마스터 WHERE 부서 LIKE '" + com1 + "' AND 업무종류 LIKE '" + com2 + "' AND 업무유효성=1"; MySqlDataReader rdr = DBManager.GetInstance().select(query); while (rdr.Read()) { comboBox업무내용.Items.Add(rdr["업무내용"].ToString()); } }
private void buttonOK_Click(object sender, EventArgs e) { //입력되지 않았을 경우 예외처리하기 if (textBoxInputHour.Text == "") //입력되지 않은 경우 { DBManager.GetInstance().msg("시간을 입력해주세요"); return; } double i = 0; if (double.TryParse(textBoxInputHour.Text, out i) == false) //가격이 정수가 아닐경우 { DBManager.GetInstance().msg("정수 가격을 입력해주세요"); return; } detail_.ExtraHour_ = Double.Parse(textBoxInputHour.Text); this.Close(); }
public void ChangeDept(string ID, int parameter) { string query = ""; switch (parameter) { case 1: query = @"UPDATE Employee SET position='부서장',department=" + ID + " WHERE identification=" + deptMaster; break; case 2: query = @"UPDATE Employee SET position='부서장',department=" + ID + " WHERE identification=" + deptMaster + ";" + "UPDATE Employee SET position='사원' WHERE identification in (SELECT Identification FROM (SELECT identification FROM Employee WHERE identification <> " + deptMaster + " AND position='부서장' AND department=" + deptID + ") AS 사원)"; break; } DBManager.GetInstance().DBquery(query); }
public void GetDepartment()//부서를 가져오는 코드 { string query = "SELECT * FROM 부서 WHERE valid = 1"; MySqlDataReader rdr = DBManager.GetInstance().select(query); //DB에서 값을 가져옴 comboBoxShowDepartment.Items.Clear(); while (rdr.Read()) { string id = rdr["ID"].ToString(); if (id == "1") //총장일 경우 { continue; } department_.Add(id); comboBoxShowDepartment.Items.Add(rdr["부서명"].ToString()); } rdr.Close(); }
private void buttonDenycheck_Click(object sender, EventArgs e) // 결재반려 후 확인을 누르면 { string selected = PaymentListView.SelectedRows[0].Cells[0].Value.ToString(); int id = Convert.ToInt32(selected); if (MessageBox.Show("결재를 반려하시겠습니까?", "결재반려확인", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { string paymentdenymemo = "UPDATE 결재 SET 반려메모 ='" + textBoxPaymentdenymemo.Text + "'" + "," + "반려여부 = '1' , 진행상황 = '0'" + "WHERE ID = " + id; DBManager.GetInstance().DBquery(paymentdenymemo); MessageBox.Show("결재가 반려되었습니다.", "결재반려", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); paymentviewer(); } else { MessageBox.Show("결재반려가 취소되었습니다.", "결재반려취소", MessageBoxButtons.OK); } }
private void button_Task_Rectify_Click(object sender, EventArgs e) // 수정 버튼 { if (TaskmasterView.CurrentCell == null) { MessageBox.Show("수정할 업무를 선택해주세요", "업무수정확인", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { button_Task_Apply.Visible = true; string selected = TaskmasterView.SelectedRows[0].Cells[0].Value.ToString(); int id = Convert.ToInt32(selected); if (comboBoxAFcompany.Text == "") // 소속에 아무것도 없으면 { MessageBox.Show("소속명을 기입하십시오", "업무수정오류", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (comboBoxTaskKind.Text == "") // 업무종류를 선택하지 않으면 { MessageBox.Show("업무종류를 선택해주세요", "업무수정오류", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (textBoxTaskContents.Text == "") // 업무내용에 아무것도 없으면 { MessageBox.Show("업무내용을 기입하십시오", "업무수정오류", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (MessageBox.Show("업무를 수정하시겠습니까?", "업무수정확인", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { string updatetask = "UPDATE 업무마스터 SET 부서 = '" + comboBoxAFcompany.Text + "'" + "," + "업무종류 = '" + comboBoxTaskKind.Text + "'" + "," + "업무내용 = '" + textBoxTaskContents.Text + "'" + "WHERE 업무번호 = " + id + ""; DBManager.GetInstance().DBquery(updatetask); MessageBox.Show("업무가수정되었습니다.", "업무수정확인", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); syndataview(); } else { MessageBox.Show("업무수정이 취소되었습니다.", "업무수정취소", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } }
private void syndataview() // 동기화 함수 { comboBoxAFcompany.SelectedIndex = -1; // 입력방지 콤보박스 값 초기화 comboBoxTaskKind.SelectedIndex = -1; // 입력방지 콤보박스 값 초기화 try { TaskmasterView.Rows.Clear(); } catch {} string Tasklist = "SELECT 업무번호,부서,업무종류,업무내용 FROM 업무마스터 WHERE 업무유효성 = 1"; MySqlDataReader rdr = DBManager.GetInstance().select(Tasklist); DataTable dt = new DataTable(); dt.Load(rdr); dt.DefaultView.Sort = "업무번호"; // 업무번호 정렬하기 TaskmasterView.DataSource = dt; if (TaskmasterView.Rows.Count == 0) // 업무마스터에 아무것도 없으면 { TaskmasterView.DataSource = null; } comboBoxAFcompany.Text = ""; comboBoxTaskKind.Text = ""; textBoxTaskContents.Text = ""; }
private void buttonDelete_Click(object sender, EventArgs e) //삭제 버튼 { try { //선택된 값 삭제 //id(pk)값 가지고 삭제 int id = Int32.Parse(dataGridViewSelect.Rows[dataGridViewSelect.CurrentCellAddress.Y].Cells[0].Value.ToString()); //MessageBox.Show("" + id); //삭제 쿼리 보내기 string query = "DELETE FROM 일일업무등록 WHERE id = " + id; DBManager.GetInstance().DBquery(query); MessageBox.Show("삭제되었습니다."); //화면 닦이는지 확인 gridView.SettingGridView(); } catch { MessageBox.Show("선택후 진행해 주세요"); } }
public void getlocaltime(string employeeid, string date) { string query = "SELECT * FROM SalaryDetail WHERE employeeid = " + employeeid + " AND month = '" + date + "-01'"; MySqlDataReader rdr = DBManager.GetInstance().select(query); //DB에서 값을 가져옴 if (rdr.Read()) { // DateTime today = DateTime.Now.Date; //DateTime firstday = today.AddDays(1 - today.Day); // DateTime lastday = firstday.AddMonths(1).AddDays(-1); string tmp = rdr["totalwork"].ToString(); //총근무 시간을 가져옴 if (rdr["totalwork"].ToString() == "") //추가기능 구현전 아무것도 입력되어 있지 않을 경우 { totalworktime_ = 207; } else { totalworktime_ = Int32.Parse(rdr["totalwork"].ToString()); } tmp = rdr["extratime"].ToString(); //추가시간을 가져옴. if (rdr["extratime"].ToString() != "") { ExtraHour_ = Int32.Parse(rdr["extratime"].ToString()); } else { ExtraHour_ = 0; } } else { query = "INSERT INTO SalaryDetail(employeeid, month) VALUES(" + employeeid + ", '" + date + "-01')"; DBManager.GetInstance().DBquery(query); //insert 실행 totalworktime_ = 207; ExtraHour_ = 0; } }
//콤보박스 값들은 이벤트에 따라 바뀌여야함. private void comboBox소속_SelectedIndexChanged(object sender, EventArgs e) //부서선택 { //한번 닦기 comboBox업무종류.Items.Clear(); //업무 종류 세팅 string com1 = comboBox소속.SelectedItem.ToString(); string query = "SELECT DISTINCT 업무종류 FROM 업무마스터 WHERE 부서 LIKE '" + com1 + "' AND 업무유효성=1"; MySqlDataReader rdr = DBManager.GetInstance().select(query); while (rdr.Read()) { comboBox업무종류.Items.Add(rdr["업무종류"].ToString()); } //첫번째 선택 comboBox업무종류.SelectedIndex = 0; //나머지 콤보박스 비우기 comboBox업무내용.SelectedItem = null; comboBox업무내용.Items.Clear(); }
private void paymentviewer() // 첫 화면 함수 { labelpaymentdeny.Visible = false; textBoxPaymentdenymemo.Visible = false; buttonDenycheck.Visible = false; textBoxComent.Text = ""; DataTable dt = new DataTable(); dt.Clear(); string checkpayment1 = "SELECT ID,기안자,제목,내용,코멘트,제1결재자,제2결재자" + ",ifnull(제3결재자,0)AS 제3결재자 FROM 결재 WHERE 진행상황 < 결재자수 AND 1승인시간 IS NULL AND 반려여부 = 0 AND 제1결재자 = " + id; string checkpayment2 = "SELECT ID,기안자,제목,내용,코멘트,제1결재자,제2결재자" + ",ifnull(제3결재자,0)AS 제3결재자 FROM 결재 WHERE 진행상황 < 결재자수 AND 진행상황=1 AND 2승인시간 IS NULL AND 반려여부 = 0 AND 제2결재자 = " + id; string checkpayment3 = "SELECT ID,기안자,제목,내용,코멘트,제1결재자,제2결재자" + ",ifnull(제3결재자,0)AS 제3결재자 FROM 결재 WHERE 진행상황 < 결재자수 AND 진행상황=2 AND 3승인시간 IS NULL AND 반려여부 = 0 AND 제3결재자 = " + id; MySqlDataReader rdr1 = DBManager.GetInstance().select(checkpayment1); MySqlDataReader rdr2 = DBManager.GetInstance().select(checkpayment2); MySqlDataReader rdr3 = DBManager.GetInstance().select(checkpayment3); DataTable dt1 = new DataTable(); dt1.Load(rdr1); DataTable dt2 = new DataTable(); dt2.Load(rdr2); DataTable dt3 = new DataTable(); dt3.Load(rdr3); dt1.Merge(dt2); dt1.Merge(dt3); dt1.DefaultView.Sort = "ID"; // 데이터그리드뷰에서 ID를 정렬한다. PaymentListView.DataSource = dt1; if (PaymentListView.Rows.Count == 0) // 결재내역에 없으면 { PaymentListView.DataSource = null; } }