コード例 #1
0
 private void frmDanhSachXacNhanNhapThanhPhan_Load(object sender, EventArgs e)
 {
     clsUtils.NullColumnDateTimeGrid(repdtngaylap);
     btnChiTiet.Text       = Resources.btnInfor;
     MaTrungTam            = GetMaTrungTam();
     MaKho                 = GetMaKho();
     dteLastSync.EditValue = SanXuatNhapTachDataProvider.Instance.GetMaxDateNhapTach(MaTrungTam);
     liChiTiet             = SanXuatNhapTachDataProvider.Instance.GetListAllSanXuatNhapTach(Convert.ToInt32(LoaiGiaoDichSanXuat.NHAP_THANH_PHAM_SAN_XUAT), Convert.ToInt32(TransactionType.NHAP_THANH_PHAM_SX), MaTrungTam, 1);
     for (int i = 0; i < liChiTiet.Count; i++)
     {
         liChiTiet[i].SoLuongHT = SanXuatLenhProvier.GetSoLuongChungTu(
             Convert.ToInt32(TransactionType.NHAP_THANH_PHAM_SX),
             liChiTiet[i].MaLenh, 1, liChiTiet[i].TransactionID.ToString()) +
                                  SanXuatLenhProvier.GetSoLuongChungTu(
             Convert.ToInt32(TransactionType.NHAP_THANH_PHAM_SX),
             liChiTiet[i].MaLenh, 2, liChiTiet[i].TransactionID.ToString());
     }
     for (int i = 0; i < liChiTiet.Count; i++)
     {
         if (liChiTiet[i].SoLuongHT == 0)
         {
             liChiTiet[i].TenTrangThai = "Chờ xác nhận";
         }
         if (liChiTiet[i].SoLuongHT > 0 && liChiTiet[i].SoLuongHT < liChiTiet[i].SoLuongYC)
         {
             liChiTiet[i].TenTrangThai = "Chưa đủ";
         }
         if (liChiTiet[i].SoLuongHT == liChiTiet[i].SoLuongYC)
         {
             liChiTiet[i].TenTrangThai = "Đã đủ";
         }
     }
     dgvChiTiet.DataSource = liChiTiet;
 }
コード例 #2
0
        public void Reload()
        {
            liChiTiet = SanXuatNhapTachDataProvider.Instance.GetListAllSanXuatNhapTach(Convert.ToInt32(LoaiGiaoDichSanXuat.TACH_THANH_PHAM_SAN_XUAT), Convert.ToInt32(TransactionType.XUAT_LINK_KIEN_SX), MaTrungTam, 2);
            for (int i = 0; i < liChiTiet.Count; i++)
            {
                liChiTiet[i].SoLuongHT = SanXuatLenhProvier.GetSoLuongChungTu(
                    Convert.ToInt32(TransactionType.XUAT_THANH_PHAM),
                    liChiTiet[i].MaLenh, 2, liChiTiet[i].TransactionID.ToString());
            }

            for (int i = 0; i < liChiTiet.Count; i++)
            {
                if (liChiTiet[i].SoLuongHT == 0)
                {
                    liChiTiet[i].TenTrangThai = "Chờ tách";
                }
                if (liChiTiet[i].SoLuongHT > 0 && liChiTiet[i].SoLuongHT < liChiTiet[i].SoLuongYC)
                {
                    liChiTiet[i].TenTrangThai = "Đang tách";
                }
                if (liChiTiet[i].SoLuongHT == liChiTiet[i].SoLuongYC)
                {
                    liChiTiet[i].TenTrangThai = "Đã tách xong";
                }
            }
            dgvChiTiet.DataSource = null;
            dgvChiTiet.DataSource = liChiTiet;
        }
コード例 #3
0
        private void GetValue()
        {
            SanXuatNhapTachInfo sx = (SanXuatNhapTachInfo)grvChiTiet.GetRow(grvChiTiet.FocusedRowHandle);

            MaLenh        = liChiTiet[liChiTiet.IndexOf(sx)].MaLenh;
            MaThanhPham   = liChiTiet[liChiTiet.IndexOf(sx)].MaThanhPham;
            TenThanhPham  = liChiTiet[liChiTiet.IndexOf(sx)].TenThanhPham;
            SoLuongYC     = liChiTiet[liChiTiet.IndexOf(sx)].SoLuongYC;
            IdSanPham     = liChiTiet[liChiTiet.IndexOf(sx)].idthanhpham;
            TrangThai     = liChiTiet[liChiTiet.IndexOf(sx)].TrangThai;
            TransactionID = liChiTiet[liChiTiet.IndexOf(sx)].TransactionID.ToString();
            NgayLap       = liChiTiet[liChiTiet.IndexOf(sx)].NgayLap;
            SoLuongCT     = SanXuatLenhProvier.GetSoLuongChungTu(
                Convert.ToInt32(TransactionType.XUAT_THANH_PHAM),
                liChiTiet[liChiTiet.IndexOf(sx)].MaLenh, 1, liChiTiet[liChiTiet.IndexOf(sx)].TransactionID.ToString());
        }
コード例 #4
0
        private void btnDongBo_Click(object sender, EventArgs e)
        {
            try
            {
                string functionName = "SynsTachThanhPham";

                LockControl.Lock(functionName);
                frmProgress.Instance.Text     = "Đồng bộ dữ liệu";
                frmProgress.Instance.MaxValue = 3;
                frmProgress.Instance.DoWork(SynsNhapThanhPham);
                liChiTiet = SanXuatNhapTachDataProvider.Instance.GetListAllSanXuatNhapTach(Convert.ToInt32(LoaiGiaoDichSanXuat.TACH_THANH_PHAM_SAN_XUAT), Convert.ToInt32(TransactionType.XUAT_LINK_KIEN_SX), MaTrungTam, 2);
                for (int i = 0; i < liChiTiet.Count; i++)
                {
                    liChiTiet[i].SoLuongHT = SanXuatLenhProvier.GetSoLuongChungTu(
                        Convert.ToInt32(TransactionType.XUAT_THANH_PHAM),
                        liChiTiet[i].MaLenh, 1, liChiTiet[i].TransactionID.ToString());
                }
                for (int i = 0; i < liChiTiet.Count; i++)
                {
                    if (liChiTiet[i].SoLuongHT == 0)
                    {
                        liChiTiet[i].TenTrangThai = "Chờ tách";
                    }
                    if (liChiTiet[i].SoLuongHT > 0 && liChiTiet[i].SoLuongHT < liChiTiet[i].SoLuongYC)
                    {
                        liChiTiet[i].TenTrangThai = "Đang tách";
                    }
                    if (liChiTiet[i].SoLuongHT == liChiTiet[i].SoLuongYC)
                    {
                        liChiTiet[i].TenTrangThai = "Đã tách xong";
                    }
                }
                dgvChiTiet.DataSource = liChiTiet;
            }
            catch (Exception ex)
            {
#if DEBUG
                MessageBox.Show(ex.ToString());
#else
                MessageBox.Show(ex.Message);
#endif
            }
        }
コード例 #5
0
        private void Save()
        {
            for (int i = 0; i < liChiTiet.Count; i++)
            {
                if (liChiTiet[i].check == false)
                {
                    throw new ManagedException("Bạn chưa xác nhận đủ mã vạch linh kiện để tách thành phẩm !");
                }
            }
            int SoLuongCT = SanXuatLenhProvier.GetSoLuongChungTu(
                Convert.ToInt32(TransactionType.XUAT_THANH_PHAM),
                txtMaLenh.Text.Trim(), 1, frm.TransactionID);

            if (Convert.ToInt32(txtSoLuongYC.Text) <= SoLuongCT)
            {
                throw new ManagedException("Số lượng yêu cầu đã đủ không thể nhập thêm !");
            }
            if (string.IsNullOrEmpty(dtNgayLap.Text))
            {
                dtNgayLap.Focus();
                throw new ManagedException("Bạn chưa trọn ngày lập !");
            }
            if (Convert.ToDateTime(dtNgayLap.EditValue) < frm.NgayLap)
            {
                dtNgayLap.Focus();
                throw new ManagedException("Ngày nhập thành phẩm không được nhỏ hơn ngày lập của mã lệnh!");
            }
            try
            {
                SaveNhapLinhKien(SaveXuatThanhPham());

                string maLenh        = txtMaVachLK.Text.Trim();
                string maThanhPham   = txtMaSP.Text.Trim();
                int    soLuongYc     = frm.SoLuongYC;
                string transactionId = frm.TransactionID;

                frmProgress.Instance.Caption     = Text;
                frmProgress.Instance.Description = "Đang thực hiện ...";
                frmProgress.Instance.MaxValue    = 100;
                frmProgress.Instance.Value       = 0;

                frmProgress.Instance.DoWork(
                    delegate
                {
                    try
                    {
                        ConnectionUtil.Instance.BeginTransaction();

                        ChungTuBusinessBase businessCloned = XTP.Clone();

                        ((XuatThanhPhamSXBussiness)businessCloned).ChungTu.NgayLap =
                            CommonProvider.Instance.GetSysDate();

                        ((XuatThanhPhamSXBussiness)businessCloned).ChungTu.NgayXuatHang =
                            CommonProvider.Instance.GetSysDate();

                        businessCloned.SaveChungTu();

                        businessCloned = NLK.Clone();

                        ((NhapLinhKienSXBussiness)businessCloned).ChungTu.NgayLap =
                            CommonProvider.Instance.GetSysDate();

                        ((NhapLinhKienSXBussiness)businessCloned).ChungTu.NgayXuatHang =
                            CommonProvider.Instance.GetSysDate();

                        businessCloned.SaveChungTu();

                        KhoNhapNccDataProvider.Instance.UpdateTrangThaiChungTu(new ChungTuXuatNhapNccInfo {
                            IdChungTu = sanXuatNhapTachInfo.IdChungTu, TrangThai = 2
                        });

                        if (SanXuatLenhProvier.GetSoLuongSanXuatLenh(Declare.IdKho, Convert.ToInt32(TransactionType.XUAT_LINK_KIEN_SX), maLenh, 1) != soLuongYc)
                        {
                            SanXuatLenhProvier.UpdateTrangThai(new SanXuatLenhInfo
                            {
                                MaLenh      = maLenh,
                                MaThanhPham = maThanhPham,
                                TrangThai   = Convert.ToInt32(TrangThaiSanXuat.DangSX)
                            });
                        }

                        SoLuongCT = SanXuatLenhProvier.GetSoLuongChungTu(
                            Convert.ToInt32(TransactionType.XUAT_THANH_PHAM), maLenh, 1, transactionId);

                        if (soLuongYc < SoLuongCT)
                        {
                            throw new ManagedException("Số lượng yêu cầu đã đủ không thể nhập thêm!");
                        }

                        ConnectionUtil.Instance.CommitTransaction();

                        frmProgress.Instance.Description = "Đã xong!";

                        frmProgress.Instance.Value = frmProgress.Instance.MaxValue;

                        frmProgress.Instance.IsCompleted = true;
                    }
                    catch (Exception ex)
                    {
                        ConnectionUtil.Instance.RollbackTransaction();

                        MessageBox.Show(ex.Message);

                        frmProgress.Instance.Description = "Giao dịch không thành công!";

                        frmProgress.Instance.Value = frmProgress.Instance.MaxValue;

                        frmProgress.Instance.IsCompleted = true;

                        if (!(ex is ManagedException))
                        {
                            EventLogProvider.Instance.WriteOfflineLog(ex.ToString(), "Tách thành phẩm SX");
                        }
                    }
                });

                //ConnectionUtil.Instance.DoSerializableWorkInTransaction(
                //    delegate
                //        {
                //            ChungTuBusinessBase businessCloned = XTP.Clone();

                //            ((XuatThanhPhamSXBussiness)businessCloned).ChungTu.NgayLap =
                //                CommonProvider.Instance.GetSysDate();

                //            ((XuatThanhPhamSXBussiness)businessCloned).ChungTu.NgayXuatHang =
                //                CommonProvider.Instance.GetSysDate();

                //            businessCloned.SaveChungTu();

                //            businessCloned = NLK.Clone();

                //            ((NhapLinhKienSXBussiness) businessCloned).ChungTu.NgayLap =
                //                CommonProvider.Instance.GetSysDate();

                //            ((NhapLinhKienSXBussiness)businessCloned).ChungTu.NgayXuatHang =
                //                CommonProvider.Instance.GetSysDate();

                //            businessCloned.SaveChungTu();

                //            KhoNhapNccDataProvider.Instance.UpdateTrangThaiChungTu(new ChungTuXuatNhapNccInfo { IdChungTu = sanXuatNhapTachInfo.IdChungTu, TrangThai = 2 });

                //            if (SanXuatLenhProvier.GetSoLuongSanXuatLenh(Declare.IdKho, Convert.ToInt32(TransactionType.XUAT_LINK_KIEN_SX), maLenh, 1) != soLuongYc)
                //            {
                //                SanXuatLenhProvier.UpdateTrangThai(new SanXuatLenhInfo
                //                {
                //                    MaLenh = maLenh,
                //                    MaThanhPham = maThanhPham,
                //                    TrangThai = Convert.ToInt32(TrangThaiSanXuat.DangSX)
                //                });
                //            }

                //            SoLuongCT = SanXuatLenhProvier.GetSoLuongChungTu(
                //                Convert.ToInt32(TransactionType.XUAT_THANH_PHAM), maLenh, 1, transactionId);

                //            if (soLuongYc < SoLuongCT)
                //            {
                //                throw new ManagedException("Số lượng yêu cầu đã đủ không thể nhập thêm!");
                //            }
                //        });

                Clear();
                frm.Reload();
                //clsUtils.MsgThongBao("Tách thành công 1 thành phẩm !");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }