Ejemplo n.º 1
0
        private void Btn삭제_Click(object sender, EventArgs e)
        {
            공급자재리스트 공급자재리스트 = DB.공급자재리스트.Search공급자재리스트(dgv자재.CurrentRow.Cells[0].Value.ToString()
                                                       ).FirstOrDefault();

            DB.공급자재리스트.Delete(공급자재리스트);

            자재 orderList =
                DB.자재.Get자재(dgv자재.CurrentRow.Cells[0].Value.ToString()).First();

            DB.자재.Delete(orderList);

            MessageBox.Show("삭제");

            조회();

            txb자재번호.Text  = null;
            txb자재이름.Text  = null;
            txb품목군.Text   = null;
            txb안전재고량.Text = null;
            txb재고량.Text   = null;
            txb리드타임.Text  = null;
            cbb검사여부.Text  = null;
            txb단위.Text    = null;
            txb관리단위.Text  = null;
            txb구매단가.Text  = null;
            txb공급업체.Text  = null;
        }
Ejemplo n.º 2
0
        private void Btn변경_Click(object sender, EventArgs e)
        {
            string 공급업체번호 = DB.일반거래처.Get공급업체번호From이름(txb공급업체.Text).Select(x => x.거래처코드번호).First();

            if (DB.공급자재리스트.Search공급자재리스트(dgv자재.CurrentRow.Cells[0].Value.ToString()).Count == 0)
            {
                공급자재리스트 공급자재리스트 = new 공급자재리스트();
                공급자재리스트.자재번호   = txb자재번호.Text;
                공급자재리스트.공급업체번호 = DB.일반거래처.Get공급업체번호From이름(txb공급업체.Text).Select(x => x.거래처코드번호).First();

                DB.공급자재리스트.Update(공급자재리스트);
            }

            자재 productInfo = new 자재();

            productInfo.자재번호 = txb자재번호.Text;
            productInfo.자재명  = txb자재이름.Text;
            productInfo.품목군  = txb품목군.Text;
            if (cbb검사여부.Text == "1.예")
            {
                productInfo.검사여부 = true;
            }
            else
            {
                productInfo.검사여부 = false;
            }

            productInfo.리드타임  = int.Parse(txb리드타임.Text);
            productInfo.재고량   = int.Parse(txb재고량.Text);
            productInfo.안전재고량 = int.Parse(txb안전재고량.Text);
            productInfo.단위    = txb단위.Text;
            productInfo.관리단위  = txb관리단위.Text;
            productInfo.구매단가  = int.Parse(txb구매단가.Text);
            productInfo.품목군   = txb품목군.Text;

            DB.자재.Update(productInfo);
            MessageBox.Show("변경");

            조회();
        }
Ejemplo n.º 3
0
        private void Btn등록_Click(object sender, EventArgs e)
        {
            if (DB.일반거래처.Get공급업체번호From이름(txb공급업체.Text).Count == 0)
            {
                MessageBox.Show($"{txb공급업체.Text}라는 공급업체가 등록되지 않았습니다");
                return;
            }

            자재      productInfo = new 자재();
            공급자재리스트 공급자재리스트     = new 공급자재리스트();

            productInfo.자재번호 = txb자재번호.Text;
            productInfo.자재명  = txb자재이름.Text;
            productInfo.품목군  = txb품목군.Text;
            if (cbb검사여부.Text == "1.예")
            {
                productInfo.검사여부 = true;
            }
            else
            {
                productInfo.검사여부 = false;
            }
            productInfo.리드타임  = int.Parse(txb리드타임.Text);
            productInfo.재고량   = int.Parse(txb재고량.Text);
            productInfo.안전재고량 = int.Parse(txb안전재고량.Text);
            productInfo.단위    = txb단위.Text;
            productInfo.관리단위  = txb관리단위.Text;
            productInfo.구매단가  = int.Parse(txb구매단가.Text);
            productInfo.품목군   = txb품목군.Text;

            DB.자재.Insert(productInfo);
            MessageBox.Show("등록");

            공급자재리스트.자재번호   = txb자재번호.Text;
            공급자재리스트.공급업체번호 = DB.일반거래처.Get공급업체번호From이름(txb공급업체.Text).Select(x => x.거래처코드번호).First();

            DB.공급자재리스트.Insert(공급자재리스트);
        }
Ejemplo n.º 4
0
        private void Dgv입고등록리스트_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            DataGridView dgv      = (DataGridView)sender;
            int          nowColum = dgv.CurrentCell.ColumnIndex;
            int          nowRow   = dgv.CurrentCell.RowIndex;
            int          maxRow   = dgv.RowCount;
            int          maxColum = dgv.ColumnCount;

            if (nowColum == 0)
            {
                if (dgv.Rows[nowRow].Cells[nowColum].Value == null)
                {
                    MessageBox.Show("데이터를 입력하세요");
                    return;
                }
                else
                {
                    if (DB.자재.Get자재(dgv.CurrentRow.Cells[0].Value.ToString()).Count == 0)
                    {
                        MessageBox.Show("등록되지 않은 자재입니다");
                    }

                    else
                    {
                        if (DB.발주리스트.Search발주리스트(dgv입고등록.CurrentRow.Cells[1].Value.ToString(), dgv.CurrentRow.Cells[0].Value.ToString()).Count == 0)
                        {
                            MessageBox.Show("발주한 자재가 아닙니다");
                            return;
                        }
                    }
                }
            }

            if (nowColum == 1)
            {
                if (dgv.Rows[nowRow].Cells[nowColum].Value == null)
                {
                    MessageBox.Show("데이터를 입력하세요");
                    return;
                }
            }
            //입고등록리스트 2번째 칸이 되었을 때
            if (nowColum == 2)
            {
                if (dgv.Rows[nowRow].Cells[nowColum].Value == null)
                {
                    MessageBox.Show("데이터를 입력하세요");
                    return;
                }
                else //값이 다 들어갔을 때
                {
                    string 자재번호  = dgv.CurrentRow.Cells[0].Value.ToString();
                    반품처리서  반품처리서 = new 반품처리서();
                    if (DB.입고등록리스트.Search입고등록리스트(dgv입고등록.CurrentRow.Cells[0].Value.ToString(), 자재번호).Count == 0)
                    {
                        입고등록리스트 입고등록리스트 = new 입고등록리스트();
                        입고등록리스트.입고등록번호 = dgv입고등록.CurrentRow.Cells[0].Value.ToString();
                        입고등록리스트.자재번호   = dgv.CurrentRow.Cells[0].Value.ToString();
                        입고등록리스트.양품수량   = int.Parse(dgv.CurrentRow.Cells[1].Value.ToString());
                        입고등록리스트.불량수량   = int.Parse(dgv.CurrentRow.Cells[2].Value.ToString());
                        DB.입고등록리스트.Insert(입고등록리스트);

                        자재 자재 = DB.자재.Get자재(입고등록리스트.자재번호).FirstOrDefault();
                        자재.재고량 += (int)입고등록리스트.양품수량;
                        DB.자재.Update(자재);
                        //발주리스트에 양품수량인 갯수를 뺴줌으로 인해 발주량이 몇개가 와야하는지 알 수 있음

                        if (입고등록리스트.불량수량 > 0)
                        {
                            if (DB.반품처리서.Search반품처리서From입고등록번호(입고등록리스트.입고등록번호).Count == 0)
                            {
                                반품처리서.반품처리서번호 = (DB.반품처리서.GetCount() + 1).ToString();
                                반품처리서.입고검사서번호 = 입고등록리스트.입고등록번호;
                                반품처리서.공급업체번호  = DB.입고등록.Is입고등록(입고등록리스트.입고등록번호).Select(x => x.공급업체번호).FirstOrDefault();
                                반품처리서.반품처리날짜  = DateTime.Today.Date;
                                DB.반품처리서.Insert(반품처리서);
                            }

                            반품처리리스트 반품처리리스트 = new 반품처리리스트();
                            반품처리리스트.반품처리번호 = DB.반품처리서.Search반품처리서From입고등록번호(입고등록리스트.입고등록번호).Select(x => x.반품처리서번호).FirstOrDefault();
                            반품처리리스트.자재번호   = 입고등록리스트.자재번호;
                            반품처리리스트.수량     = (int)입고등록리스트.불량수량;

                            DB.반품처리리스트.Insert(반품처리리스트);
                        }
                    }
                    else //수량 수정시
                    {
                        var list = DB.입고등록리스트.Search입고등록리스트(dgv입고등록.CurrentRow.Cells[0].Value.ToString(), DB.자재.Get자재번호(dgv.CurrentRow.Cells[0].Value.ToString()).Select(x => x.자재번호).FirstOrDefault()).FirstOrDefault();


                        입고등록리스트 입고등록리스트 = new 입고등록리스트();
                        입고등록리스트.입고등록번호 = dgv입고등록.CurrentRow.Cells[0].Value.ToString();
                        입고등록리스트.자재번호   = dgv.CurrentRow.Cells[0].Value.ToString();

                        //양품수량 수정
                        if (list.양품수량 !=
                            int.Parse(dgv입고등록리스트.CurrentRow.Cells[1].Value.ToString()))
                        {
                            //수량이 변하면 기존의 양품수량을 빼준다음 변경된 수량을 다시 더해주면서 업데이트
                            var 자재 = DB.자재.Get자재(dgv.CurrentRow.Cells[0].Value.ToString()).FirstOrDefault();
                            자재.재고량 -= (int)list.양품수량;
                            자재.재고량 += int.Parse(dgv입고등록리스트.CurrentRow.Cells[1].Value.ToString());
                            DB.자재.Update(자재);

                            //기존의 입고등록리스트 업데이트
                            입고등록리스트.양품수량 =
                                int.Parse(dgv입고등록리스트.CurrentRow.Cells[1].Value.ToString());
                            입고등록리스트.불량수량 =
                                int.Parse(dgv입고등록리스트.CurrentRow.Cells[2].Value.ToString());
                            DB.입고등록리스트.Update(입고등록리스트);
                        }

                        //불량수량 수정
                        if (list.불량수량 !=
                            int.Parse(dgv입고등록리스트.CurrentRow.Cells[2].Value.ToString()))
                        {
                            입고등록리스트.불량수량 =
                                int.Parse(dgv입고등록리스트.CurrentRow.Cells[2].Value.ToString());
                            입고등록리스트.양품수량 =
                                int.Parse(dgv입고등록리스트.CurrentRow.Cells[1].Value.ToString());

                            //불량수량에 대한 불량상세정보 지우기
                            if (DB.불량상세정보.Search불량상세정보(dgv입고등록.CurrentRow.Cells[0].Value.ToString(), dgv.CurrentRow.Cells[0].Value.ToString()).Count != 0)
                            {
                                불량상세정보 불량상세정보 = new 불량상세정보();

                                var list1 =
                                    DB.불량상세정보.Search불량상세정보(dgv입고등록.CurrentRow.Cells[0].Value.ToString(), DB.자재.Get자재번호(dgv.CurrentRow.Cells[0].Value.ToString()).Select(x => x.자재번호).FirstOrDefault());

                                불량상세정보.입고등록번호 = dgv입고등록.CurrentRow.Cells[0].Value.ToString();
                                불량상세정보.자재번호   = dgv.CurrentRow.Cells[0].Value.ToString();

                                for (int j = 0; j < list1.Count; j++)
                                {
                                    불량상세정보.불량코드번호 = list1[j].불량코드번호;
                                    불량상세정보.불량수량   = list1[j].불량수량;

                                    DB.불량상세정보.Delete(불량상세정보);
                                }
                            }

                            //불량수량이 0으로 변경된 경우
                            if (int.Parse(dgv입고등록리스트.CurrentRow.Cells[2].Value.ToString()) == 0)
                            {
                                var Delete반품처리리스트 = DB.반품처리리스트.Search반품처리리스트(dgv입고등록.CurrentRow.Cells[0].Value.ToString(), dgv입고등록리스트.CurrentRow.Cells[0].Value.ToString()).FirstOrDefault();
                                DB.반품처리리스트.Delete(Delete반품처리리스트);
                                //반품서에 반품자재가 하나였는데 불량이 없어지면 반품서도 삭제, 그게 아니면 살려두기
                                if (DB.반품처리리스트.Search반품처리리스트(Delete반품처리리스트.반품처리번호).Count == 0)
                                {
                                    반품처리서 Delete반품처리서 = DB.반품처리서.Search반품처리서(Delete반품처리리스트.반품처리번호).FirstOrDefault();
                                    DB.반품처리서.Delete(Delete반품처리서);
                                }
                            }

                            else
                            {
                                if (DB.반품처리서.Search반품처리서From입고등록번호(dgv입고등록.CurrentRow.Cells[0].Value.ToString()).Count == 0)
                                {
                                    반품처리서.공급업체번호  = dgv입고등록.CurrentRow.Cells[2].Value.ToString();
                                    반품처리서.반품처리서번호 = (DB.반품처리서.GetCount() + 1).ToString();
                                    반품처리서.입고검사서번호 = dgv입고등록.CurrentRow.Cells[0].Value.ToString();
                                    반품처리서.반품처리날짜  = DateTime.Today.Date;

                                    DB.반품처리서.Insert(반품처리서);
                                }

                                if (DB.반품처리리스트.Search반품처리리스트(dgv입고등록.CurrentRow.Cells[0].Value.ToString(), dgv입고등록리스트.CurrentRow.Cells[0].Value.ToString()).Count != 0)
                                {
                                    string 반품처리번호 = DB.반품처리리스트.Search반품처리리스트(dgv입고등록.CurrentRow.Cells[0].Value.ToString(), dgv입고등록리스트.CurrentRow.Cells[0].Value.ToString()).Select(x => x.반품처리번호).FirstOrDefault();

                                    var Updata반품처리서 = DB.반품처리서.Search반품처리서(반품처리번호).FirstOrDefault();

                                    Updata반품처리서.반품처리날짜 = DateTime.Today.Date;
                                    DB.반품처리서.Update(Updata반품처리서);

                                    var Updata반품처리리스트 = DB.반품처리리스트.Search반품처리리스트(dgv입고등록.CurrentRow.Cells[0].Value.ToString(), dgv입고등록리스트.CurrentRow.Cells[0].Value.ToString()).FirstOrDefault();
                                    Updata반품처리리스트.수량 = (int)입고등록리스트.불량수량;
                                    DB.반품처리리스트.Update(Updata반품처리리스트);
                                }
                                if (DB.반품처리리스트.Search반품처리리스트(dgv입고등록.CurrentRow.Cells[0].Value.ToString(), dgv입고등록리스트.CurrentRow.Cells[0].Value.ToString()).Count == 0)
                                {
                                    반품처리리스트 반품처리리스트 = new 반품처리리스트();
                                    반품처리리스트.반품처리번호 = DB.반품처리서.Search반품처리서From입고등록번호(dgv입고등록.CurrentRow.Cells[0].Value.ToString()).Select(x => x.반품처리서번호).FirstOrDefault();
                                    반품처리리스트.자재번호   = dgv.CurrentRow.Cells[0].Value.ToString();
                                    반품처리리스트.수량     = int.Parse(dgv입고등록리스트.CurrentRow.Cells[2].Value.ToString());

                                    DB.반품처리리스트.Insert(반품처리리스트);
                                }
                            }
                            DB.입고등록리스트.Update(입고등록리스트);
                        }
                        dgv불량상세정보.Rows.Clear();
                        dgv불량상세정보.Rows.Add();
                    }
                }
            }
        }