public frm_PhieuDieuChuyenCungTT(frm_DanhSachDieuChuyen frm) : base(Declare.Prefix.PhieuXuatDieuChuyen) { InitializeComponent(); Common.LoadStyle(this); this.frm = frm; dgvChiTiet.AutoGenerateColumns = false; business = new XuatDieuChuyenBusiness(); }
public frm_PhieuDieuChuyenCungTT(ChungTuDieuChuyenInfor info) : base(info, Declare.Prefix.PhieuXuatDieuChuyen) { InitializeComponent(); Common.LoadStyle(this); dgvChiTiet.AutoGenerateColumns = false; business = new XuatDieuChuyenBusiness(info); idChungTuGoc = info.IdChungTu; SoChungTu = info.SoChungTu; NgayLap = info.NgayLap; if (business.ListChiTietHangHoa.Count == 0) { btnXacNhan.Text = "Import Mã"; btnXacNhan.Visible = true; } isDaXacNhanNhapKho = !String.IsNullOrEmpty(DeNghiNhanDieuChuyenDataProvider.Instance.ChungTuDaXacNhanNhapKho(chungTuInfo.SoChungTu)); }
public void TestXuatDieuChuyen() { TestDeNghiXuatDieuChuyen(); //Lấy số tồn kho của một sản phẩm có mã là xxx (ví dụ ban đầu là 5) //Ma san pham: 06000178 - 279 HangTonKhoInfo hangTonKhoBanDau = HangTonKhoDataProvider.GetHangTonKhoById(Declare.IdKho, 279, 0); //tạo một chứng từ xuất tiêu hao có số là ABC1, nhập sản phẩm xxx với số lượng nhập là 2 //số phiếu : PNNB0100070000001 xuatDieuChuyenInfor = new ChungTuDieuChuyenInfor() { IdChungTu = deNghiXuatDieuChuyenInfor.IdChungTu, SoChungTu = soPhieu, LoaiChungTu = Convert.ToInt32(TransactionType.XUAT_DIEU_CHUYEN), GhiChu = "Test Nghiệp Vụ", IdKho = Declare.IdKho }; XuatDieuChuyenBusiness xuatDieuChuyenBusiness = new XuatDieuChuyenBusiness(xuatDieuChuyenInfor); xuatDieuChuyenBusiness.ListChiTietChungTu.Add(new ChungTu_ChiTietInfo { IdSanPham = 279, SoLuong = 2 }); xuatDieuChuyenBusiness.ListChiTietHangHoa.Add(new ChungTu_ChiTietHangHoaBaseInfo { IdSanPham = 279, MaVach = "1234TESTNGHIEPVU", SoLuong = 1 }); xuatDieuChuyenBusiness.ListChiTietHangHoa.Add(new ChungTu_ChiTietHangHoaBaseInfo { IdSanPham = 279, MaVach = "5678TESTNGHIEPVU", SoLuong = 1 }); xuatDieuChuyenBusiness.SaveChungTu(); //Lấp số tồn kho của sản phẩm xxx (kết quả hy vọng olà 7) HangTonKhoInfo hangTonKhoSauKhiXuat = HangTonKhoDataProvider.GetHangTonKhoById(Declare.IdKho, 279, 0); //Kiểm tra có đúng là kết quả mong đợi - ban đầu có bằng 2 không? Assert.AreEqual(hangTonKhoBanDau.SoLuong - 4, hangTonKhoSauKhiXuat.SoLuong); Assert.AreEqual(hangTonKhoBanDau.TonAo, hangTonKhoSauKhiXuat.TonAo); }
private void XoaLine_Click(object sender, EventArgs e) { try { string soChungTuXuat = ((BCChiTietHangChuyenKhoInfo)grvBCNhanChuyenKho.GetRow(grvBCNhanChuyenKho.FocusedRowHandle)). SoPhieuXuat; string soChungTuNhan = ((BCChiTietHangChuyenKhoInfo)grvBCNhanChuyenKho.GetRow(grvBCNhanChuyenKho.FocusedRowHandle)). SoPhieuNhan; string maVach = ((BCChiTietHangChuyenKhoInfo)grvBCNhanChuyenKho.GetRow(grvBCNhanChuyenKho.FocusedRowHandle)). MaVach; string maSanPham = ((BCChiTietHangChuyenKhoInfo)grvBCNhanChuyenKho.GetRow(grvBCNhanChuyenKho.FocusedRowHandle)). MaSanPham; int idSanPham = QLBanHang.Modules.DanhMuc.Providers.DmSanPhamProvider.Instance.GetSanPhamByMa(maSanPham).IdSanPham; if (MessageBox.Show("Bạn có chắc chắn xóa không?", "Xác nhận xóa mã vạch", MessageBoxButtons.YesNo) == DialogResult.No) { return; } ConnectionUtil.Instance.BeginTransaction(); ChungTuDieuChuyenInfor infoXuat = tblChungTuDataProvider.GetChungTuBySoChungTu <ChungTuDieuChuyenInfor>(soChungTuXuat); if (!String.IsNullOrEmpty(soChungTuNhan)) { ChungTuNhapDieuChuyenInfor infoNhap = tblChungTuDataProvider.GetChungTuBySoChungTu <ChungTuNhapDieuChuyenInfor>(soChungTuNhan); NhanDieuChuyenBussiness nhanDieuChuyenBussiness = new NhanDieuChuyenBussiness(infoNhap); DeNghiNhanDieuChuyenBussiness deNghiNhanDieuChuyenBussiness; if (nhanDieuChuyenBussiness.ListChiTietHangHoa.Count > 0) { ChungTu_ChiTietHangHoaBaseInfo chiTietHangHoaBaseInfo = nhanDieuChuyenBussiness.ListChiTietHangHoa.Find(delegate(ChungTu_ChiTietHangHoaBaseInfo match) { return(match.MaVach == maVach && match.IdSanPham == idSanPham); }); ChungTu_ChiTietInfo chungTuChiTietInfo = nhanDieuChuyenBussiness.ListChiTietChungTu.Find(delegate(ChungTu_ChiTietInfo match) { return(match.IdSanPham == idSanPham); }); nhanDieuChuyenBussiness.ListChiTietHangHoa.Remove(chiTietHangHoaBaseInfo); if (chiTietHangHoaBaseInfo.SoLuong == chungTuChiTietInfo.SoLuong) { nhanDieuChuyenBussiness.ListChiTietChungTu.Remove(chungTuChiTietInfo); } else { chungTuChiTietInfo.SoLuong -= chiTietHangHoaBaseInfo.SoLuong; } nhanDieuChuyenBussiness.SaveChungTu(); deNghiNhanDieuChuyenBussiness = new DeNghiNhanDieuChuyenBussiness(infoNhap); DeNghiNhanDieuChuyenInfor deNghiNhanDieuChuyenInfor = deNghiNhanDieuChuyenBussiness.ListChiTietChungTu.Find( delegate(DeNghiNhanDieuChuyenInfor match) { return(match.IdSanPham == idSanPham); }); if (chiTietHangHoaBaseInfo.SoLuong == deNghiNhanDieuChuyenInfor.SoLuong) { deNghiNhanDieuChuyenBussiness.ListChiTietChungTu.Remove(deNghiNhanDieuChuyenInfor); } else { deNghiNhanDieuChuyenInfor.SoLuong -= chiTietHangHoaBaseInfo.SoLuong; } deNghiNhanDieuChuyenBussiness.SaveChungTu(); } else { deNghiNhanDieuChuyenBussiness = new DeNghiNhanDieuChuyenBussiness(infoNhap); DeNghiNhanDieuChuyenInfor deNghiNhanDieuChuyenInfor = deNghiNhanDieuChuyenBussiness.ListChiTietChungTu.Find( delegate(DeNghiNhanDieuChuyenInfor match) { return(match.IdSanPham == idSanPham); }); deNghiNhanDieuChuyenBussiness.ListChiTietChungTu.Remove(deNghiNhanDieuChuyenInfor); deNghiNhanDieuChuyenBussiness.SaveChungTu(); } } XuatDieuChuyenBusiness xuatDieuChuyenBusiness = new XuatDieuChuyenBusiness(infoXuat); DeNghiDieuChuyenBussiness deNghiDieuChuyenBussiness; if (xuatDieuChuyenBusiness.ListChiTietHangHoa.Count > 0) { ChungTu_ChiTietInfo chungTuChiTietInfo = xuatDieuChuyenBusiness.ListChiTietChungTu.Find(delegate(ChungTu_ChiTietInfo match) { return(match.IdSanPham == idSanPham); }); ChungTu_ChiTietHangHoaBaseInfo chiTietHangHoaBaseInfo = xuatDieuChuyenBusiness.ListChiTietHangHoa.Find(delegate(ChungTu_ChiTietHangHoaBaseInfo match) { return(match.MaVach == maVach && match.IdSanPham == idSanPham); }); xuatDieuChuyenBusiness.ListChiTietHangHoa.Remove(chiTietHangHoaBaseInfo); if (chiTietHangHoaBaseInfo.SoLuong == chungTuChiTietInfo.SoLuong) { xuatDieuChuyenBusiness.ListChiTietChungTu.Remove(chungTuChiTietInfo); } else { chungTuChiTietInfo.SoLuong -= chiTietHangHoaBaseInfo.SoLuong; } xuatDieuChuyenBusiness.SaveChungTu(); deNghiDieuChuyenBussiness = new DeNghiDieuChuyenBussiness(infoXuat); DeNghiDieuChuyenInfor deNghiDieuChuyenInfor = deNghiDieuChuyenBussiness.ListChiTietChungTu.Find( delegate(DeNghiDieuChuyenInfor match) { return(match.IdSanPham == idSanPham); }); if (chiTietHangHoaBaseInfo.SoLuong == deNghiDieuChuyenInfor.SoLuong) { deNghiDieuChuyenBussiness.ListChiTietChungTu.Remove(deNghiDieuChuyenInfor); } else { deNghiDieuChuyenInfor.SoLuong -= chiTietHangHoaBaseInfo.SoLuong; } deNghiDieuChuyenBussiness.SaveChungTu(); } ConnectionUtil.Instance.CommitTransaction(); //grcBCNhanChuyenKho.DataSource = XuatDieuChuyenDataProvider.Instance.GetBCChiTietChuyenKho(MaTrungTam, MaKho, Convert.ToDateTime(deFrom.EditValue), Convert.ToDateTime(deTo.EditValue)); } catch (Exception ex) { ConnectionUtil.Instance.RollbackTransaction(); #if DEBUG MessageBox.Show(ex.ToString()); #else MessageBox.Show(ex.Message); #endif } }
public void Delete() { DeNghiDieuChuyenBussiness DeNghiXuatDieuChuyenBusiness; if (grvDanhSach.FocusedRowHandle < 0) { return; } DeNghiXuatDieuChuyenBusiness = new DeNghiDieuChuyenBussiness((ChungTuDieuChuyenInfor)grvDanhSach.GetRow(grvDanhSach.FocusedRowHandle)); List <ChungTuDieuChuyenInfor> objXuat = DeNghiDieuChuyenDataProvider.Instance.GetListChiTietChungTuBySoChungTu(DeNghiXuatDieuChuyenBusiness.ChungTu.SoChungTu); if (objXuat.FindAll(delegate(ChungTuDieuChuyenInfor math) { return(math.LoaiChungTu == 21); }).Count > 0) { throw new ManagedException("chứng từ đã nhập kho thành công, không thể hủy được!"); } else { //Huy De Nghi nhan dieu chuyen DeNghiNhanDieuChuyenBussiness DeNghiNhanDieuChuyenBusiness; if (grvDanhSach.FocusedRowHandle < 0) { return; } DeNghiNhanDieuChuyenBusiness = new DeNghiNhanDieuChuyenBussiness((ChungTuNhapDieuChuyenInfor)grvDanhSach.GetRow(grvDanhSach.FocusedRowHandle)); List <ChungTuNhapDieuChuyenInfor> objNhan = DeNghiNhanDieuChuyenDataProvider.Instance.GetListChiTietChungTuBySoChungTu(DeNghiNhanDieuChuyenBusiness.ChungTu.SoChungTu); for (int i = 0; i < objNhan.Count; i++) { if (objNhan[i].LoaiChungTu == 14) { DeNghiNhanDieuChuyenBussiness DeNghiNhanBusiness = new DeNghiNhanDieuChuyenBussiness(objNhan[i]); DeNghiNhanBusiness.ChungTu.TrangThai = Convert.ToInt32(TrangThaiDieuChuyen.HUY_DIEU_CHUYEN); DeNghiNhanBusiness.ChungTu.LoaiChungTu = -Convert.ToInt32(TransactionType.DE_NGHI_NHAN_DIEU_CHUYEN); DeNghiNhanBusiness.CancelChungTu(); } } //Huy De Nghi Xuat dieu chuyen trung gian DeNghiXuatDieuChuyenTGBussiness DeNghiXuatDieuChuyenTGBusiness; DeNghiXuatDieuChuyenTGBusiness = new DeNghiXuatDieuChuyenTGBussiness((ChungTuXuatDieuChuyenInfo)grvDanhSach.GetRow(grvDanhSach.FocusedRowHandle)); List <ChungTuXuatDieuChuyenInfo> objDNXuatTG = DeNghiXuatDieuChuyenTGDataProvider.Instance.GetListChiTietChungTuBySoChungTu(DeNghiXuatDieuChuyenTGBusiness.ChungTu.SoChungTu); for (int i = 0; i < objXuat.Count; i++) { if (objNhan[i].LoaiChungTu == 55) { DeNghiXuatDieuChuyenTGBussiness DeNghiXuatTGBusiness = new DeNghiXuatDieuChuyenTGBussiness(objDNXuatTG[i]); DeNghiXuatTGBusiness.ChungTu.TrangThai = Convert.ToInt32(TrangThaiDieuChuyen.HUY_DIEU_CHUYEN); DeNghiXuatTGBusiness.ChungTu.LoaiChungTu = -Convert.ToInt32(TransactionType.DE_NGHI_XUAT_DIEU_CHUYEN_TRUNG_GIAN); DeNghiXuatTGBusiness.CancelChungTu(); } } //Huy nhap dieu chuyen trug gian NhapDieuChuyenTGBussiness NhapDieuChuyenTGBusiness; if (grvDanhSach.FocusedRowHandle < 0) { return; } NhapDieuChuyenTGBusiness = new NhapDieuChuyenTGBussiness((ChungTuNhapDieuChuyenInfo)grvDanhSach.GetRow(grvDanhSach.FocusedRowHandle)); List <ChungTuNhapDieuChuyenInfo> objNhapTG = NhapDieuChuyenKhoTGDataProvider.Instance.GetListChiTietChungTuBySoChungTu(NhapDieuChuyenTGBusiness.ChungTu.SoChungTu); for (int i = 0; i < objNhan.Count; i++) { if (objNhan[i].LoaiChungTu == 54) { NhapDieuChuyenTGBussiness NhapTGBusiness = new NhapDieuChuyenTGBussiness(objNhapTG[i]); NhapTGBusiness.ChungTu.TrangThai = Convert.ToInt32(TrangThaiDieuChuyen.HUY_DIEU_CHUYEN); NhapTGBusiness.ChungTu.LoaiChungTu = -Convert.ToInt32(TransactionType.NHAN_DIEU_CHUYEN_TRUNG_GIAN); NhapTGBusiness.CancelChungTu(); } } //Huy De Nghi nhan dieu chuyen trung gian DeNghiNhapDieuChuyenTGBussiness DeNghiNhapDieuChuyenTGBusiness; if (grvDanhSach.FocusedRowHandle < 0) { return; } DeNghiNhapDieuChuyenTGBusiness = new DeNghiNhapDieuChuyenTGBussiness((ChungTuNhapDieuChuyenInfo)grvDanhSach.GetRow(grvDanhSach.FocusedRowHandle)); List <ChungTuNhapDieuChuyenInfo> objDNNhapTG = DeNghiNhapDieuChuyenTGDataProvider.Instance.GetListChiTietChungTuBySoChungTu(DeNghiNhapDieuChuyenTGBusiness.ChungTu.SoChungTu); for (int i = 0; i < objNhan.Count; i++) { if (objNhan[i].LoaiChungTu == 53) { DeNghiNhapDieuChuyenTGBussiness DeNghiNhapTGBusiness = new DeNghiNhapDieuChuyenTGBussiness(objDNNhapTG[i]); DeNghiNhapTGBusiness.ChungTu.TrangThai = Convert.ToInt32(TrangThaiDieuChuyen.HUY_DIEU_CHUYEN); DeNghiNhapTGBusiness.ChungTu.LoaiChungTu = -Convert.ToInt32(TransactionType.DE_NGHI_NHAN_DIEU_CHUYEN_TRUNG_GIAN); DeNghiNhapTGBusiness.CancelChungTu(); } } //Huy Xuat dieu chuyen for (int i = 0; i < objXuat.Count; i++) { if (objXuat[i].LoaiChungTu == 13) { XuatDieuChuyenBusiness XuatDieuChuyenBusiness = new XuatDieuChuyenBusiness(objXuat[i]); XuatDieuChuyenBusiness.ChungTu.TrangThai = Convert.ToInt32(TrangThaiDieuChuyen.HUY_DIEU_CHUYEN); XuatDieuChuyenBusiness.ChungTu.LoaiChungTu = -Convert.ToInt32(TransactionType.XUAT_DIEU_CHUYEN); XuatDieuChuyenBusiness.CancelChungTu(); } } // Huy de nghi xuat dieu chuyen for (int i = 0; i < objXuat.Count; i++) { if (objXuat[i].LoaiChungTu == 12) { DeNghiDieuChuyenBussiness DeNghiDieuChuyenBusiness = new DeNghiDieuChuyenBussiness(objXuat[i]); DeNghiDieuChuyenBusiness.ChungTu.TrangThai = Convert.ToInt32(TrangThaiDieuChuyen.HUY_DIEU_CHUYEN); DeNghiDieuChuyenBusiness.ChungTu.LoaiChungTu = -Convert.ToInt32(TransactionType.DE_NGHI_XUAT_DIEU_CHUYEN); DeNghiDieuChuyenBusiness.CancelChungTu(); } } } }