/// <summary> /// <para>기능 : 선택된 실적 제거 </para> /// <para>진입 : 1. setCheckedResult.Count > 0</para> /// <para>분기 : 1. 메시지 박스 Yes 선택</para> /// <para>분기 : 2. queryResult > 0</para> /// <para>로직 : 1. if 체크된 이름 모두 메시지 박스를 통해 보여주고 Yes선택시 </para> /// <para>로직 : ----2. 반복문을 통해 체크된 실적들을 제거</para> /// <para>로직 : ----3. sqlQuery.SelectAllFrom_Where_와 Crud.Read사용하여 st_emp_result를 얻고 그 st_emp_result를 삭제</para> /// <para>로직 : ----4. 삭제 결과 가 0초과일 경우 삭제 된 결과 메시지로 출력</para> /// <para>로직 : --------5. 삭제 결과 가 0이하일 경우 삭제 된 결과 메시지로 출력 및 삭제 실패 출력</para> /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void buttonDeleteResult_Click(object sender, EventArgs e) { string checkedNumbers = ""; if (setCheckedResult.Count > 0) { foreach (var v in setCheckedResult) { checkedNumbers += v + " "; } if (MessageBox.Show(checkedNumbers + "선택", "주의", MessageBoxButtons.YesNo) == DialogResult.Yes) { string resultName = ""; foreach (var v in setCheckedResult) { string queryRead = sqlQuery.SelectAllFrom_Where_("st_emp_result", new string[] { "user_open_number" }, new string[] { v }); St_emp_result store_emp_result = crud.Read_MySql(queryRead, new St_emp_result()); //delete시 0번째 필드가 아닌 특정 필드를 지우고 싶을 때 사용 현재 datetime만 예외처리가 되어있기 때문에 datetime 외에 null이 불가능한 필드가 있을경우 버그 생길 예정 St_emp_result store_emp_resultForDelete = new St_emp_result { user_open_number = store_emp_result.user_open_number }; string queryDelete = sqlQuery.deleteFrom_Where_("st_emp_result", "user_open_number"); int queryResult = crud.Delete_MySql(queryDelete, store_emp_resultForDelete); if (queryResult > 0) { resultName += v + " "; } else { MessageBox.Show($"({ resultName})삭제 성공, ({v})삭제 실패"); clearSelectedDetail(true); textBoxDate.Text = ""; readResultTablePattern(); return; } } MessageBox.Show(resultName + "삭제 성공"); clearSelectedDetail(true); textBoxDate.Text = ""; readResultTablePattern(); } } }
private void dataGridViewSelectDate_CellClick(object sender, DataGridViewCellEventArgs e) { string querySelectResult = sqlQuery.SelectAllFrom_Where_("st_emp_result", new string[] { "user_open_number" }, new string[] { (sender as DataGridView).Rows[e.RowIndex].Cells["개통번호"].Value.ToString() }); St_emp_result st_emp_result = crud.Read_MySql(querySelectResult, new St_emp_result()); DataSet dataSet = new DataSet(); dataSet.Tables.Add(new DataTable()); tempFuncForWinform.setDataGridView(dataSet, dataGridView2); dataGridView2.DataSource = null; dataGridView2.ColumnHeadersVisible = false; dataGridViewInit(); }
/// <summary> /// <para>기능 : 실적 상세 테이블 생성</para> /// <para>진입 : </para> /// <para>분기 : 1. needQuery == true</para> /// <para>로직 : 1. needQuery == true</para> /// <para>로직 : ----2. 선택된 개통번호 selectedUser_phone_number에 저장</para> /// <para>로직 : ----3. sqlQuery.SelectAllFrom_Where_와 Crud.Read를 사용하여 st_emp_result를 얻음</para> /// <para>로직 : ----4. sqlQuery.SelectAllFrom_Where_와 Crud.Read를 사용하여 user_t를 얻음</para> /// <para>로직 : ----5. sqlQuery.SelectAllFrom_Where_와 Crud.Read를 사용하여 st_table을 얻음</para> /// <para>로직 : ----6. 각 항목별 데이터 할당</para> /// <para>로직 : ----7. 각 항목 Readonly</para> /// <para>로직 : ----return</para> /// <para>로직 : 8. 빈 DataSet에 빈 DataTable 추가</para> /// <para>로직 : 9. tempFuncForWinform.setDataGridView</para> /// <para>로직 : 10. 기타 테이블 설정 적용</para> /// </summary> /// <param name="needQuery"></param> /// <param name="e"></param> public void makeDetailTable(bool needQuery, DataGridViewCellEventArgs e) { //true 시 만들어진 테이블에 데이터 할당, false시 빈 테이블 생성 if (needQuery) { string userName = dataGridViewSelectDate.Rows[e.RowIndex].Cells["가입자명"].Value.ToString(); string storeName = dataGridViewSelectDate.Rows[e.RowIndex].Cells["매장"].Value.ToString(); string salerName = dataGridViewSelectDate.Rows[e.RowIndex].Cells["판매자"].Value.ToString(); selectedUser_phone_number = dataGridViewSelectDate.Rows[e.RowIndex].Cells["개통번호"].Value.ToString(); string querySelectResult = sqlQuery.SelectAllFrom_Where_("st_emp_result", new string[] { "user_open_number" }, new string[] { selectedUser_phone_number }); St_emp_result st_emp_result = crud.Read_MySql(querySelectResult, new St_emp_result()); string querySelectUser = sqlQuery.SelectAllFrom_Where_("user_t", new string[] { "user_code" }, new string[] { st_emp_result.user_code }); User_t user_t = crud.Read_MySql(querySelectUser, new User_t()); string querySelectStore = sqlQuery.SelectAllFrom_Where_("st_table", new string[] { "st_code" }, new string[] { employee.st_code }); St_table st_table = crud.Read_MySql(querySelectStore, new St_table()); //개통일 dataGridViewSelectionDateDetail[1, 0].Value = st_emp_result.result_open_date.ToString("yyyy-MM-dd"); //가입자명 dataGridViewSelectionDateDetail[1, 1].Value = userName; //은행 user_bank user_t dataGridViewSelectionDateDetail[1, 2].Value = user_t.user_bank; //모델명 dataGridViewSelectionDateDetail[1, 3].Value = st_emp_result.result_ph_m; DataGridViewComboBoxCell comboPreviousCom = new DataGridViewComboBoxCell(); comboPreviousCom.Items.Add("1"); comboPreviousCom.Items.Add("SKT"); comboPreviousCom.Items.Add("KT"); comboPreviousCom.Items.Add("LG"); dataGridViewSelectionDateDetail[1, 4] = comboPreviousCom; //이전통신사 combo comboPreviousCom.Value = st_emp_result.user_previous_com; //공시지원금 dataGridViewSelectionDateDetail[1, 5].Value = st_emp_result.subsidy_price; //리베이트/NET dataGridViewSelectionDateDetail[1, 6].Value = st_emp_result.net_rebate; //보험가입유무 dataGridViewSelectionDateDetail[1, 7].Value = st_emp_result.insurance_YN; //송금금액 dataGridViewSelectionDateDetail[1, 8].Value = st_emp_result.send_price; //현금파냄 금액 dataGridViewSelectionDateDetail[1, 9].Value = st_emp_result.cash_sale_price; //모바일 개통시간 dataGridViewSelectionDateDetail[3, 0].Value = st_emp_result.result_open_m_date.ToString("yyyy-MM-dd"); //가입자 생년 user_birth user_t dataGridViewSelectionDateDetail[3, 1].Value = user_t.user_birth; //계좌번호 user_bank_number user_t dataGridViewSelectionDateDetail[3, 2].Value = user_t.user_bank_number; //일련번호 dataGridViewSelectionDateDetail[3, 3].Value = st_emp_result.result_serial_number; //현/카/할 dataGridViewSelectionDateDetail[3, 4].Value = st_emp_result.user_pur_type; //할부원금 dataGridViewSelectionDateDetail[3, 5].Value = st_emp_result.installment_price; DataGridViewComboBoxCell comboPricePlan = new DataGridViewComboBoxCell(); comboPricePlan.Items.Add("1"); comboPricePlan.Items.Add("1만원"); comboPricePlan.Items.Add("2만원"); comboPricePlan.Items.Add("3만원"); dataGridViewSelectionDateDetail[3, 6] = comboPricePlan; //요금제 combo comboPricePlan.Value = st_emp_result.price_plan; //유심후납 dataGridViewSelectionDateDetail[3, 7].Value = st_emp_result.late_payment_usim; //예정일 dataGridViewSelectionDateDetail[3, 8].Value = st_emp_result.due_date.ToString("yyyy-MM-dd"); //카드판매금액 dataGridViewSelectionDateDetail[3, 9].Value = st_emp_result.card_sale_price; DataGridViewComboBoxCell comboAgent = new DataGridViewComboBoxCell(); comboAgent.Items.Add("1"); comboAgent.Items.Add("스포"); comboAgent.Items.Add("모다"); comboAgent.Items.Add("아이원"); dataGridViewSelectionDateDetail[5, 0] = comboAgent; //대리점 combo comboAgent.Value = st_emp_result.agent; //요금제변경일 user_plan_date user_t dataGridViewSelectionDateDetail[5, 1].Value = user_t.user_plan_date; //예금주 bank_userName user_t dataGridViewSelectionDateDetail[5, 2].Value = user_t.bank_userName; //고객명? 없음 dataGridViewSelectionDateDetail[5, 3].Value = null; //출고가 dataGridViewSelectionDateDetail[5, 4].Value = st_emp_result.release_price; //선납금 dataGridViewSelectionDateDetail[5, 5].Value = st_emp_result.prepayments; //빈칸 //정산금 dataGridViewSelectionDateDetail[5, 7].Value = st_emp_result.user_calculate; //현금 dataGridViewSelectionDateDetail[5, 8].Value = st_emp_result.cash; //기타차감 dataGridViewSelectionDateDetail[5, 9].Value = st_emp_result.etc_offset; DataGridViewComboBoxCell comboStoreName = new DataGridViewComboBoxCell(); comboStoreName.Items.Add("서울 강서"); comboStoreName.Items.Add("원구 행주"); comboStoreName.Items.Add("서울 마곡"); comboStoreName.Items.Add("김포 공항"); comboStoreName.Items.Add(st_table.St_name); dataGridViewSelectionDateDetail[7, 0] = comboStoreName; //매장 combo comboStoreName.Value = storeName; //빈칸 //CIA? 없음 dataGridViewSelectionDateDetail[7, 2].Value = null; //개통번호 dataGridViewSelectionDateDetail[7, 3].Value = st_emp_result.user_open_number; //빈칸 //빈칸 //정책추가 dataGridViewSelectionDateDetail[7, 6].Value = st_emp_result.add_policy; //유심선납 dataGridViewSelectionDateDetail[7, 7].Value = st_emp_result.prepayments_usim; //카드 dataGridViewSelectionDateDetail[7, 8].Value = st_emp_result.card; //세후금액 dataGridViewSelectionDateDetail[7, 9].Value = st_emp_result.after_tax_price; //판매자 dataGridViewSelectionDateDetail[9, 0].Value = salerName; //빈칸 //비고 dataGridViewSelectionDateDetail[9, 2].Value = st_emp_result.note; //약정유형 dataGridViewSelectionDateDetail[9, 3].Value = st_emp_result.user_agree_type; //빈칸 //MNP수수료 dataGridViewSelectionDateDetail[9, 5].Value = st_emp_result.mnp_commission; //구두추가 dataGridViewSelectionDateDetail[9, 6].Value = st_emp_result.sound_policy; //부가서비스추가/차감 dataGridViewSelectionDateDetail[9, 7].Value = st_emp_result.addition_service; //마진 dataGridViewSelectionDateDetail[9, 9].Value = st_emp_result.profit_margin; dataGridViewSelectionDateDetail.ReadOnly = true; return; } DataSet dataSet = new DataSet(); dataSet.Tables.Add(new DataTable()); tempFuncForWinform.setDataGridView(dataSet, dataGridViewSelectionDateDetail); dataGridViewSelectionDateDetail.DataSource = null; dataGridViewSelectionDateDetail.ColumnHeadersVisible = false; dataGridViewInit(); dataGridViewSelectionDateDetail.ClearSelection(); dataGridViewSelectionDateDetail.SelectionMode = DataGridViewSelectionMode.CellSelect; dataGridViewSelectionDateDetail.ReadOnly = true; }
/// <summary> /// <para>기능 : 실적 등록</para> /// <para>진입 : 등록 메시지 박스 Yes클릭</para> /// <para>분기 : 1. buttonCreateResult.Text == "등록"</para> /// <para>로직 : 1. 버튼 텍스트 == 등록</para> /// <para>로직 : ----2. clearSelectedDetail</para> /// <para>로직 : ----3. cellNotResultDisable</para> /// <para>로직 : ----4. 버튼텍스트 "적용" 으로 변경</para> /// <para>로직 : ----return</para> /// <para>로직 : 5. st_emp_result에 등록사항 할당</para> /// <para>로직 : 6. sqlQuery.InsertInto__Values_ 와 Crud.Create를 사용하여 등록</para> /// <para>로직 : 7. 변경사항이 0 초과 일 경우</para> /// <para>로직 : ----8. 성공 메시지</para> /// <para>로직 : ----9. readResultTablePattern </para> /// <para>로직 : ----10. 버튼 텍스드 "등록"으로 변경 </para> /// <para>로직 : ----11. clearSelectedDetail </para> /// <para>로직 : 12. 실패 메시지 </para> /// <para>로직 : 13. clearSelectedDetail </para> /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void buttonCreateResult_Click(object sender, EventArgs e) { if (MessageBox.Show("등록하시겟습니까?", "등록", MessageBoxButtons.YesNo) == DialogResult.Yes) { selectedUser_phone_number = null; if (buttonCreateResult.Text == "등록") { //datagrid클리어 및 쓰기가능 clearSelectedDetail(false); //변경할수 없는 항목 처리 cellNotResultDisable(); buttonCreateResult.Text = "적용"; return; } St_emp_result st_emp_result = new St_emp_result { // datagridviewSelectionDateDetail의 각 항목은 makeDetailTable() 참고 //직원코드 필요 임시로 id = st_emp_code st_emp_code = employee.st_emp_code, //매장코드 필요 st_code = employee.st_code, result_date = DateTime.Now, result_open_date = Convert.ToDateTime(dataGridViewSelectionDateDetail[1, 0].Value.ToString()), result_open_m_date = Convert.ToDateTime(dataGridViewSelectionDateDetail[3, 0].Value.ToString()), //정책 없음 result_policy = "", //대리점코드 없음 agent_code = "", result_ph_m = dataGridViewSelectionDateDetail[1, 3].Value.ToString(), result_serial_number = dataGridViewSelectionDateDetail[3, 3].Value.ToString(), //유저코드 필요 임시로 1 현재 유저가 1뿐임 user_code = "1", user_open_number = dataGridViewSelectionDateDetail[7, 3].Value.ToString(), user_agree_type = dataGridViewSelectionDateDetail[9, 3].Value.ToString(), //개통유형 없음 user_open_type = "", user_previous_com = dataGridViewSelectionDateDetail[1, 4].Value.ToString(), user_pur_type = dataGridViewSelectionDateDetail[3, 4].Value.ToString(), release_price = dataGridViewSelectionDateDetail[5, 4].Value.ToString(), subsidy_price = dataGridViewSelectionDateDetail[1, 5].Value.ToString(), installment_price = dataGridViewSelectionDateDetail[3, 5].Value.ToString(), prepayments = dataGridViewSelectionDateDetail[5, 5].Value.ToString(), mnp_commission = dataGridViewSelectionDateDetail[9, 5].Value.ToString(), price_plan = dataGridViewSelectionDateDetail[3, 6].Value.ToString(), net_rebate = dataGridViewSelectionDateDetail[1, 6].Value.ToString(), add_policy = dataGridViewSelectionDateDetail[7, 6].Value.ToString(), sound_policy = dataGridViewSelectionDateDetail[9, 6].Value.ToString(), addition_service = dataGridViewSelectionDateDetail[9, 7].Value.ToString(), insurance_YN = dataGridViewSelectionDateDetail[1, 7].Value.ToString(), late_payment_usim = dataGridViewSelectionDateDetail[3, 7].Value.ToString(), prepayments_usim = dataGridViewSelectionDateDetail[7, 7].Value.ToString(), user_calculate = dataGridViewSelectionDateDetail[5, 7].Value.ToString(), send_price = dataGridViewSelectionDateDetail[1, 8].Value.ToString(), due_date = Convert.ToDateTime(dataGridViewSelectionDateDetail[3, 8].Value.ToString()), cash = dataGridViewSelectionDateDetail[5, 8].Value.ToString(), card = dataGridViewSelectionDateDetail[7, 8].Value.ToString(), agent = dataGridViewSelectionDateDetail[5, 0].Value.ToString(), card_sale_price = dataGridViewSelectionDateDetail[3, 9].Value.ToString(), cash_sale_price = dataGridViewSelectionDateDetail[1, 9].Value.ToString(), etc_offset = dataGridViewSelectionDateDetail[5, 9].Value.ToString(), after_tax_price = dataGridViewSelectionDateDetail[7, 9].Value.ToString(), profit_margin = dataGridViewSelectionDateDetail[9, 9].Value.ToString(), note = dataGridViewSelectionDateDetail[9, 2].Value.ToString() }; string queryCreate = sqlQuery.InsertInto__Values_(st_emp_result); int result = crud.Create_MySql(queryCreate, st_emp_result); if (result > 0) { MessageBox.Show("성공"); textBoxDate.Text = ""; readResultTablePattern(); buttonCreateResult.Text = "등록"; clearSelectedDetail(true); return; } MessageBox.Show("실패"); clearSelectedDetail(false); } }
/// <summary> /// <para>기능 : 실적 변경</para> /// <para>진입 : 메시지 박스 Yes 클릭</para> /// <para>분기 : 1. buttonUpdateResult.Text == "변경"</para> /// <para>분기 : ----2. 검색시 항목 경 가능 처리</para> /// <para>분기 : ----3. 변경할 수 없는 항목 처리</para> /// <para>분기 : ----4. 버튼 텍스트 "적용"로 변경</para> /// <para>분기 : ----return</para> /// <para>분기 : 5. sqlQuery.SelectAllFrom_Where_와 crud.Read를 통해 기존 데이터 불러옴</para> /// <para>분기 : 6. 변경사항 st_emp_result에 할당</para> /// <para>분기 : 6. sqlQuery.Update_Set_와 crud.update를 를 통해 변경 적용</para> /// <para>분기 : 7. if 결과가 0 보다 클경우</para> /// <para>분기 : ----8. 성공 메시지박스띄움</para> /// <para>분기 : ----9. readResultTablePattern</para> /// <para>분기 : ----10. 버튼 텍스트 "변경" 적용</para> /// <para>분기 : ----return</para> /// <para>분기 : 11. 실패 메시지</para> /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void buttonUpdateResult_Click(object sender, EventArgs e) { if (MessageBox.Show("변경하시겟습니까?", "변경", MessageBoxButtons.YesNo) == DialogResult.Yes && selectedUser_phone_number != null) { if (buttonUpdateResult.Text == "변경") { // 검색시 항목 변경 가능 처리 changeDatagridViewDetailWritable(); //변경할수 없는 항목 처리 cellNotResultDisable(); buttonUpdateResult.Text = "적용"; return; } string queryUpdate = sqlQuery.Update_Set_("st_emp_result", new St_emp_result(), "user_open_number"); string queryRead = sqlQuery.SelectAllFrom_Where_("st_emp_result", new string[] { "user_open_number" }, new string[] { selectedUser_phone_number }); St_emp_result storeRead = crud.Read_MySql(queryRead, new St_emp_result()); //변경 할당 storeRead.result_open_date = Convert.ToDateTime(dataGridViewSelectionDateDetail[1, 0].Value.ToString()); storeRead.result_open_m_date = Convert.ToDateTime(dataGridViewSelectionDateDetail[3, 0].Value.ToString()); storeRead.result_ph_m = dataGridViewSelectionDateDetail[1, 3].Value.ToString(); storeRead.result_serial_number = dataGridViewSelectionDateDetail[3, 3].Value.ToString(); storeRead.user_open_number = dataGridViewSelectionDateDetail[7, 3].Value.ToString(); storeRead.user_agree_type = dataGridViewSelectionDateDetail[9, 3].Value.ToString(); storeRead.user_previous_com = dataGridViewSelectionDateDetail[1, 4].Value.ToString(); storeRead.user_pur_type = dataGridViewSelectionDateDetail[3, 4].Value.ToString(); storeRead.release_price = dataGridViewSelectionDateDetail[5, 4].Value.ToString(); storeRead.subsidy_price = dataGridViewSelectionDateDetail[1, 5].Value.ToString(); storeRead.installment_price = dataGridViewSelectionDateDetail[3, 5].Value.ToString(); storeRead.prepayments = dataGridViewSelectionDateDetail[5, 5].Value.ToString(); storeRead.mnp_commission = dataGridViewSelectionDateDetail[9, 5].Value.ToString(); storeRead.price_plan = dataGridViewSelectionDateDetail[3, 6].Value.ToString(); storeRead.net_rebate = dataGridViewSelectionDateDetail[1, 6].Value.ToString(); storeRead.add_policy = dataGridViewSelectionDateDetail[7, 6].Value.ToString(); storeRead.sound_policy = dataGridViewSelectionDateDetail[9, 6].Value.ToString(); storeRead.addition_service = dataGridViewSelectionDateDetail[9, 7].Value.ToString(); storeRead.insurance_YN = dataGridViewSelectionDateDetail[1, 7].Value.ToString(); storeRead.late_payment_usim = dataGridViewSelectionDateDetail[3, 7].Value.ToString(); storeRead.prepayments_usim = dataGridViewSelectionDateDetail[7, 7].Value.ToString(); storeRead.user_calculate = dataGridViewSelectionDateDetail[5, 7].Value.ToString(); storeRead.send_price = dataGridViewSelectionDateDetail[1, 8].Value.ToString(); storeRead.due_date = Convert.ToDateTime(dataGridViewSelectionDateDetail[3, 8].Value.ToString()); storeRead.cash = dataGridViewSelectionDateDetail[5, 8].Value.ToString(); storeRead.card = dataGridViewSelectionDateDetail[7, 8].Value.ToString(); storeRead.agent = dataGridViewSelectionDateDetail[5, 0].Value.ToString(); storeRead.card_sale_price = dataGridViewSelectionDateDetail[3, 9].Value.ToString(); storeRead.cash_sale_price = dataGridViewSelectionDateDetail[1, 9].Value.ToString(); storeRead.etc_offset = dataGridViewSelectionDateDetail[5, 9].Value.ToString(); storeRead.after_tax_price = dataGridViewSelectionDateDetail[7, 9].Value.ToString(); storeRead.profit_margin = dataGridViewSelectionDateDetail[9, 9].Value.ToString(); storeRead.note = dataGridViewSelectionDateDetail[9, 2].Value.ToString(); int result = crud.Update_MySql(queryUpdate, storeRead); if (result > 0) { MessageBox.Show("성공"); readResultTablePattern(); buttonUpdateResult.Text = "변경"; return; } MessageBox.Show("실패"); } }