public void ExecuteBefore() { tableName = _data.DrTableMaster["TableName"].ToString(); if (!lstTB.Contains(tableName)) { return; } drCur = _data.DsData.Tables[0].Rows[_data.CurMasterIndex]; DataTable dtM = _data.DsData.Tables[0]; if (drCur.RowState == DataRowState.Deleted) { return; } if (tableName == "MTDonHang") { if (drCur.RowState == DataRowState.Modified && Boolean.Parse(drCur["Duyet", DataRowVersion.Current].ToString()) == false && Boolean.Parse(drCur["Duyet", DataRowVersion.Original].ToString()) == true) //trường hợp bỏ duyệt -> không cảnh báo { return; } _info.Result = KTNhapSoLieu(drCur); if (_info.Result == false) { return; } } if (tableName == "MTDonHang") { //Truong hop them moi //if (drCur.RowState == DataRowState.Added) //{ // DataRow drDetail = _data.DsData.Tables[1].Rows[0]; // foreach (DataColumn i in _data.DsData.Tables[1].Columns) // { // drCur[i.ColumnName] = drDetail[i.ColumnName]; // } //} //thong bao ve don hang chua san xuat string makh = drCur["MaKH"].ToString(); string s = @"select mt.SoDH, mt.NgayCT, dt.* from MTDonHang mt inner join DTDonHang dt on mt.MTDHID = dt.MTDHID where mt.LSX is null and mt.MaKH = '" + makh + "' and mt.MTDHID <> '" + drCur["MTDHID"].ToString() + "'"; DataTable dtDSDH = db.GetDataTable(s); if (dtDSDH.Rows.Count > 0) { if (XtraMessageBox.Show(string.Format("Khách hàng này có {0} đơn hàng chưa sản xuất\n" + "Bạn có muốn xem không?", dtDSDH.Rows.Count), Config.GetValue("PackageName").ToString(), MessageBoxButtons.YesNo) == DialogResult.Yes) { FrmDSDH frm = new FrmDSDH(dtDSDH); frm.ShowDialog(); } } //thong bao ve 4 thong so don hang string msg = "Giá trị đơn hàng: {0}\nCông nợ hiện tại: {1}\nHạn mức công nợ: {2}\nTrị giá tồn kho: {3}"; object m0 = _data.DsData.Tables[1].Compute("sum(ThanhTien)", "MTDHID = '" + drCur["MTDHID"].ToString() + "'"); decimal d0 = m0 == DBNull.Value ? 0 : decimal.Parse(m0.ToString()); //cong no khach hang s = @"select sum(PhatSinh + Thue - ThanhToan - HangTra) from wCNPThu where MaKH = '" + makh + "'"; object m1 = db.GetValue(s); decimal d1 = m1 == DBNull.Value ? 0 : decimal.Parse(m1.ToString()); //han muc cong no object m2 = db.GetValue("select HMNo from DMKH where MaKH = '" + makh + "'"); decimal d2 = m2 == DBNull.Value ? 0 : decimal.Parse(m2.ToString()); //tri gia ton kho s = @"select sum(PsNo - PsCo) from BLVT where MaKH = '" + makh + "'"; object m3 = db.GetValue(s); decimal d3 = m3 == DBNull.Value ? 0 : decimal.Parse(m3.ToString()); XtraMessageBox.Show(string.Format(msg, d0.ToString("###,###,###,##0"), d1.ToString("###,###,###,##0"), d2.ToString("###,###,###,##0"), d3.ToString("###,###,###,##0")), Config.GetValue("PackageName").ToString()); } //if (tableName == "MTDonHang") // CapNhatNL(drCur); if (!_info.Result) //khong chon duoc nguyen lieu voi kho giay phu hop { return; } //thong bao ve danh sach nguyen lieu su dung va ton kho if (XtraMessageBox.Show("Bạn có muốn xem nguyên liệu sử dụng không?", Config.GetValue("PackageName").ToString(), MessageBoxButtons.YesNo) == DialogResult.Yes) { //LẤY SỐ TỒN TRONG VIEW wDMNL2 dtDMNL = db.GetDataTable("Select * from wDMNL2"); DataTable dtDSNL = LayDSNL(drCur); FrmDSNL frmNL = new FrmDSNL(dtDSNL); frmNL.ShowDialog(); } string dienGiai = tableName == "MTDonHang" ? "đơn hàng" : "lệnh sản xuất"; _info.Result = (XtraMessageBox.Show("Bạn có muốn lưu " + dienGiai + " này không?", Config.GetValue("PackageName").ToString(), MessageBoxButtons.YesNo) == DialogResult.Yes); }
public void ExecuteBefore() { tableName = _data.DrTableMaster["TableName"].ToString(); if (!lstTB.Contains(tableName)) { return; } drCur = _data.DsData.Tables[0].Rows[_data.CurMasterIndex]; if (drCur.RowState == DataRowState.Deleted) { return; } if (tableName == "MTDonHang") { string pk = lstPk[lstTB.IndexOf(tableName)]; string pkValue = drCur[pk].ToString(); DataTable dt = _data.DsData.Tables[1]; DataRow[] drs = dt.Select(pk + " = '" + pkValue + "'"); foreach (DataRow dr in drs) { if (Convert.ToBoolean(dr["isXa"]) & Convert.ToBoolean(dr["isCL"])) { XtraMessageBox.Show("Mặt hàng " + dr["TenHang"].ToString() + " không thể đánh dấu cả 'Xả' và 'Cán lằn'!", Config.GetValue("PackageName").ToString()); _info.Result = false; return; } if (Convert.ToBoolean(dr["isXa"])) { if (dr["XaX"].ToString() == "" || dr["DaoX"].ToString() == "") { XtraMessageBox.Show("Mặt hàng " + dr["TenHang"].ToString() + " đánh dấu 'Xả' cần nhập Dao và Xả!", Config.GetValue("PackageName").ToString()); _info.Result = false; return; } } if (Convert.ToBoolean(dr["isCL"])) { if (dr["DaiCL"].ToString() == "" || dr["RongCL"].ToString() == "" || dr["CaoCL"].ToString() == "" || dr["LopCL"].ToString() == "" || dr["Lan"].ToString() == "") { XtraMessageBox.Show("Mặt hàng " + dr["TenHang"].ToString() + " đánh dấu 'Cán lằn' cần nhập quy cách thùng và loại lằn!", Config.GetValue("PackageName").ToString()); _info.Result = false; return; } } if (dr["Loai"].ToString() == "Thùng" && dr["Lan"].ToString() == "") { XtraMessageBox.Show("Mặt hàng thùng " + dr["TenHang"].ToString() + " cần nhập loại lằn!", Config.GetValue("PackageName").ToString()); _info.Result = false; return; } } //thong bao ve don hang chua san xuat string makh = drCur["MaKH"].ToString(); //ngày 22/4/2015: thêm điều kiện ngày chứng từ > năm 2014 để loại những đơn hàng cũ mà người dùng chưa nhập đúng số liệu mt.LSX string s = @"select mt.SoDH, mt.NgayCT, dt.* from MTDonHang mt inner join DTDonHang dt on mt.MTDHID = dt.MTDHID where mt.NgayCT >= '1/1/2015' and (mt.LSX is null or dt.TinhTrang is null) and mt.MaKH = '" + makh + "' and mt.MTDHID <> '" + drCur["MTDHID"].ToString() + "'"; DataTable dtDSDH = db.GetDataTable(s); if (dtDSDH.Rows.Count > 0) { int isShowDH = Config.GetValue("xemDonHang") != null?Convert.ToInt32(Config.GetValue("xemDonHang").ToString()) : 0; if (isShowDH == 1) { if (XtraMessageBox.Show(string.Format("Khách hàng này có {0} đơn hàng chưa sản xuất\n" + "Bạn có muốn xem không?", dtDSDH.Rows.Count), Config.GetValue("PackageName").ToString(), MessageBoxButtons.YesNo) == DialogResult.Yes) { FrmDSDH frm = new FrmDSDH(dtDSDH); frm.ShowDialog(); } } } //thong bao ve 4 thong so don hang string msg = "Giá trị đơn hàng: {0}\nGiá trị đơn hàng chưa sản xuất: {4}\nCông nợ hiện tại: {1}\nHạn mức công nợ: {2}\nTrị giá tồn kho: {3}"; object m0 = _data.DsData.Tables[1].Compute("sum(ThanhTien)", "MTDHID = '" + drCur["MTDHID"].ToString() + "'"); decimal d0 = m0 == DBNull.Value ? 0 : decimal.Parse(m0.ToString()); //cong no khach hang s = string.Format(@" select w.dt23id,w.mt23id,w.tenhang,w.dvt,w.soluong,w.dongia,w.thue, w.mahh,w.soct,w.ngayct,w.makh,w.mact,w.sohd,w.dtdhid,w.dieuchinh,m.ttienhang ,sum(w.phatsinh) [phatsinh],sum(w.thanhtoan) [thanhtoan],sum(w.hangtra) [hangtra] into #tempPThu from wcnpthu w left join mt33 m on w.soct = m.soct where w.makh = '{0}' group by w.dt23id,w.mt23id,w.tenhang,w.dvt,w.soluong,w.dongia,w.thue, w.mahh,w.soct,w.ngayct,w.makh,w.mact,w.sohd,w.dtdhid,w.dieuchinh,m.ttienhang select sum(PhatSinh + Thue - ThanhToan - HangTra) from #tempPThu where MaKH = '{0}' drop table #tempPThu", makh); object m1 = db.GetValue(s); decimal d1 = m1 == DBNull.Value ? 0 : decimal.Parse(m1.ToString()); //Giá trị đơn hàng chưa sản xuất: // s = @"select sum (dt.ThanhTien) // from MTDonHang mt inner join DTDonHang dt on mt.MTDHID = dt.MTDHID // where mt.LSX is null and mt.MaKH = '" + makh + "' and mt.MTDHID = '" + drCur["MTDHID"].ToString() + "'"; s = @"select sum (dt.ThanhTien) from MTDonHang mt inner join DTDonHang dt on mt.MTDHID = dt.MTDHID where mt.NgayCT >= '1/1/2015' and (mt.LSX is null or dt.TinhTrang is null) and mt.MaKH = '" + makh + "' and mt.MTDHID <> '" + drCur["MTDHID"].ToString() + "'"; object m4 = db.GetValue(s); decimal d4 = m4 == DBNull.Value ? 0 : decimal.Parse(m4.ToString()); //han muc cong no s = string.Format(@"--chuẩn bị điều kiện tháng năm declare @m int,@y int, @m1 int, @y1 int set @m = month('{0}') set @y = year('{0}') if (@m = 1) begin set @m1 = 12 set @y1 = @y - 1 end else begin set @m1 = @m - 1 set @y1 = @y end select sum(PhatSinh) * dm.HMNo/100 from wCNPThu w inner join DMKH dm on w.MaKH = dm.MaKH where dm.HTTT = N'Hạn mức' and month(w.NgayCT) = @m1 and year(w.NgayCT) = @y1 and w.MaKH = '{1}' group by w.MaKH, dm.HMNo" , drCur["NgayCT"], makh); object m2 = db.GetValue(s); decimal d2 = (m2 == null || m2 == DBNull.Value) ? 0 : decimal.Parse(m2.ToString()); //tri gia ton kho s = @"select sum( (case when b.loai = N'Thùng' then (b.soluong * d.giaban) else (round(b.soluong * d.dai * d.rong/10000,0) * round(d.giaban,0)) end) - (case when b.loai = N'Thùng' then (soluong_x * d.giaban) else (round(soluong_x * d.dai * d.rong/10000,0) * round(d.giaban,0)) end) - isnull((case when b.loai = N'Thùng' then (slxgp * d.giaban) else (round(slxgp * d.dai * d.rong/10000,0) * round(d.giaban,0)) end), 0)) from blvt b inner join dtdonhang d on b.dtdhid = d.dtdhid inner join mtdonhang m on m.mtdhid = d.mtdhid where m.makh = '" + makh + "' and b.loi = 0"; object m3 = db.GetValue(s); decimal d3 = m3 == DBNull.Value ? 0 : decimal.Parse(m3.ToString()); XtraMessageBox.Show(string.Format(msg, d0.ToString("###,###,###,##0"), d1.ToString("###,###,###,##0"), d2.ToString("###,###,###,##0"), d3.ToString("###,###,###,##0"), d4.ToString("###,###,###,##0")), Config.GetValue("PackageName").ToString()); } //if (tableName == "MTDonHang") // CapNhatNL(drCur); if (!_info.Result) //khong chon duoc nguyen lieu voi kho giay phu hop { return; } int isShowNl = Config.GetValue("xemNguyenLieu") != null?Convert.ToInt32(Config.GetValue("xemNguyenLieu")) : 0; if (isShowNl == 1) { //thong bao ve danh sach nguyen lieu su dung va ton kho if (XtraMessageBox.Show("Bạn có muốn xem nguyên liệu sử dụng không?", Config.GetValue("PackageName").ToString(), MessageBoxButtons.YesNo) == DialogResult.Yes) { //LẤY SỐ TỒN TRONG VIEW wDMNL2 dtDMNL = db.GetDataTable("Select * from wDMNL2"); DataTable dtDSNL = LayDSNL(drCur); FrmDSNL frmNL = new FrmDSNL(dtDSNL); frmNL.ShowDialog(); } } TaoPhieuXuat(); if (tableName == "MTLSX") { SoMT(); } string dienGiai = tableName == "MTDonHang" ? "đơn hàng" : "lệnh sản xuất"; _info.Result = (XtraMessageBox.Show("Bạn có muốn lưu " + dienGiai + " này không?", Config.GetValue("PackageName").ToString(), MessageBoxButtons.YesNo) == DialogResult.Yes); }