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; }
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; }
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()); }
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 } }
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; } }