/// <summary> /// Tổng số lượng xuất hàng /// </summary> /// <param name="KHO_ID"></param> /// <param name="TO"></param> /// <param name="INCLUDE_TODAY">true: tính luôn cả ngày đang tính</param> /// <param name="MAHH">0: tất cả hàng hóa</param> /// <returns></returns> public static long Total_Xuat_To(long KHO_ID, DateTime FROM, DateTime TO, bool INCLUDE_TODAY = false, long MAHH = 0) { long value = 0; long _MAFrom = MAHH; long _MATo = MAHH; FROM = FROM.Date; TO = TO.Date; if (INCLUDE_TODAY == false) { TO = TO.AddDays(-1); } try { if (MAHH == 0) { _MAFrom = 1; _MATo = (from _n in DataInstance.Instance().DBContext().HANG_HOA select _n.ID).Max(); } } catch (Exception ex) { } try { value = (from _n in DataInstance.Instance().DBContext().XUAT_HANG where _n.MAKHO == KHO_ID where _n.NGAY_XUAT >= FROM && _n.NGAY_XUAT <= TO where _n.MAHH >= _MAFrom && _n.MAHH <= _MATo select _n.SO_LUONG).Sum(); } catch (Exception ex) { } try { value += (from _n in DataInstance.Instance().DBContext().BAN_HANG where _n.MAKHO == KHO_ID where _n.NGAY_BAN >= FROM && _n.NGAY_BAN <= TO where _n.MAHH >= _MAFrom && _n.MAHH <= _MATo select _n.SO_LUONG).Sum(); } catch (Exception ex) { } return(value); }
public static long TongGocDauKi(long MAKH, DateTime TO) { TO = TO.Date; long value = 0; try { value = DataInstance.Instance().DBContext().THU_NO .Where(u => u.MAKH == MAKH) .Where(u => u.NGAY_TRA < TO) .Select(u => u.TIEN_GOC) .Sum(); } catch (Exception ex) { } return(value); }
public static long TongNoDauKi(long MAKH, DateTime TO) { TO = TO.Date; long value = 0; try { value = DataInstance.Instance().DBContext().XUAT_HANG .Where(u => u.MAKH == MAKH) .Where(u => u.NGAY_XUAT < TO) .Select(u => u.THANH_TIEN - u.TRA_TRUOC) .Sum(); } catch (Exception ex) { } return(value); }
/// <summary> /// Khách hàng trả nợ, bao gồm lãi và gốc hoặc nợ khác (Nợ phát sinh, không lãi, có lý do) /// Loại nợ: Nợ hàng hóa hoặc nợ vay /// - Tạo một record THU_NO mới /// - Cập nhật chi tiết thu nợ /// </summary> /// <param name="TYPE"></param> /// <param name="MAKH"></param> /// <param name="TIENGOC"></param> /// <param name="TIENLAI"></param> public static void Create(int LOAINO, int MAKHO, Int64 MAKH, Int64 TIENGOC, Int64 TIENLAI, DateTime NGAYTRA, string NOIDUNG = "Thanh Toán Nợ") { /** * Tạo mới một THU_NO */ THU_NO ele = new THU_NO(); ele.MAKH = MAKH; ele.MAKHO = MAKHO; ele.TIEN_GOC = TIENGOC; ele.TIEN_LAI = TIENLAI; ele.NOI_DUNG = NOIDUNG; ele.LOAI_NO = LOAINO; ele.CREATED_AT = DateTime.Now; ele.NGAY_TRA = NGAYTRA.Date; DataInstance.Instance().DBContext().AddToTHU_NO(ele); DataInstance.Instance().DBContext().SaveChanges(); Update(ele); }
public static bool IsSet(string NAME) { try { var ht = DataInstance.Instance().DBContext().HE_THONG.Where(u => u.NAME == NAME).First(); if (ht != null) { return(true); } else { return(false); } } catch (Exception ex) { return(false); } }
public static void Set(string NAME, string VALUE) { try { var ht = DataInstance.Instance().DBContext().HE_THONG.Where(u => u.NAME == NAME).First(); foreach (HE_THONG row in DataInstance.Instance().DBContext().HE_THONG.Where(u => u.NAME == NAME)) { row.VALUE = VALUE; break; } } catch (Exception ex) { HE_THONG ht = new HE_THONG(); ht.NAME = NAME; ht.VALUE = VALUE; DataInstance.Instance().DBContext().AddToHE_THONG(ht); } DataInstance.Instance().DBContext().SaveChanges(); }
private void buttonADD_Click(object sender, EventArgs e) { if (textBoxKHACHHANG.Text == "") { MessageBox.Show("Chưa nhập tên kho mới"); return; } bs.Add(new KHO() { NAME = textBoxKHACHHANG.Text, CODE = "", TYPE = 0 } ); bs.EndEdit(); bs.ResetBindings(false); DataInstance.Instance().DBContext().SaveChanges(); textBoxKHACHHANG.Text = ""; textBoxKHACHHANG.Select(); }
/// <summary> /// Tính lãi phát sinh của xuất hàng theo ID /// </summary> /// <param name="id"></param> /// <param name="include_THUNO"></param> /// <returns></returns> public static double GetLaiPhatSinh(int id, DateTime TO, bool include_THUNO = true) { double value = 0; XUAT_HANG xh = (from _xh in DataInstance.Instance().DBContext().XUAT_HANG where _xh.ID == id select _xh).First(); /* Sử dụng chi tiết thu nợ để tính lãi */ if (include_THUNO == true) { /* Những lần khách hàng đã trả cho phần nợ xuất hàng này */ var thu_no_s = MChiTietThuNo.BelongTo(xh, TO); value = Utility.LaiKep((DateTime)xh.NGAY_XUAT, TO, xh.LAI_SUAT, xh.THANH_TIEN - xh.TRA_TRUOC, thu_no_s, false); } /* Không sử dụng chi tiết thu nợ */ else { value = Utility.Lai(xh.NGAY_XUAT.Value, TO, xh.LAI_SUAT, xh.THANH_TIEN - xh.TRA_TRUOC); } return(value); }
private void buttonVIEW_Click(object sender, EventArgs e) { BindingSource bs = new BindingSource(); var _from = dateTimePickerFROM.Value.Date; var _to = dateTimePickerTO.Value.Date; var _kho = long.Parse(comboBoxKHO.SelectedValue.ToString()); bs.DataSource = DataInstance.Instance().DBContext().CHUYEN_TIEN .Where(u => u.NGAY_CHUYEN >= _from && u.NGAY_CHUYEN <= _to && u.ID_TAI_KHOAN == _kho) .Select(u => new CChiTietChuyenTien { NGAY = u.NGAY_CHUYEN, TONGTIEN = u.TONG_TIEN }); CrystalReportLICHSUCHUYENTIEN rpt = new CrystalReportLICHSUCHUYENTIEN(); rpt.SetDataSource(bs); rpt.SetParameterValue("KHO", comboBoxKHO.Text); rpt.SetParameterValue("FROM", dateTimePickerFROM.Value); rpt.SetParameterValue("TO", dateTimePickerTO.Value); rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME); crystalReportViewer1.ReportSource = rpt; crystalReportViewer1.Zoom(150); }
public static CThanhToan THANHTOAN(VAY vay) { CThanhToan result = new CThanhToan(); try { CThanhToan _e = (from tnv in DataInstance.Instance().DBContext().TRA_NO_VAY where tnv.VAY_ID == vay.ID group tnv by tnv.VAY_ID into g select new CThanhToan { GOC = g.Sum(u => u.TIEN_GOC), LAI = g.Sum(u => u.TIEN_LAI) }).First(); result.GOC = _e.GOC; result.LAI = _e.LAI; } catch (Exception ex) { } return(result); }
private void buttonADD_Click(object sender, EventArgs e) { try { if (textBoxNGUONVAY.Text == "") { MessageBox.Show("Chưa nhập biển số xe"); return; } bs.Add(new XE() { BIEN_SO = textBoxNGUONVAY.Text }); bs.EndEdit(); bs.ResetBindings(false); DataInstance.Instance().DBContext().SaveChanges(); textBoxNGUONVAY.Text = ""; textBoxNGUONVAY.Select(); } catch (Exception ex) { } }
private void buttonVIEW_Click(object sender, EventArgs e) { var _from = dateTimePickerFROM.Value.Date; var _to = dateTimePickerTO.Value.Date; BindingSource bs = new BindingSource(); var rows = (from v in DataInstance.Instance().DBContext().VAYs join nv in DataInstance.Instance().DBContext().NGUON_VAY on v.MA_NGUON_VAY equals nv.ID where v.NGAY_VAY >= _from && v.NGAY_VAY <= _to orderby v.NGAY_VAY ascending group v by new { v.MA_NGUON_VAY, nv.NAME } into g select new CTongHopNoVay { NGUONVAY = g.Key.NAME, TONGTIEN = g.Sum(u => u.TONG_TIEN), TRAGOC = 0, TRALAI = 0, NGUONVAYID = g.Key.MA_NGUON_VAY }); List <CTongHopNoVay> l = new List <CTongHopNoVay>(); foreach (CTongHopNoVay _r in rows) { CThanhToan _tt = MVay.THANHTOAN(_r.NGUONVAYID, _from.Date, _to.Date); _r.TRALAI = _tt.LAI; _r.TRAGOC = _tt.GOC; l.Add(_r); } bs.DataSource = l; CrystalReportTONGHOPNOVAY rpt = new CrystalReportTONGHOPNOVAY(); rpt.SetDataSource(bs); rpt.SetParameterValue("FROM", _from); rpt.SetParameterValue("TO", _to); rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME); crystalReportViewer1.ReportSource = rpt; }
private void buttonADD_Click(object sender, EventArgs e) { try { if (textBoxNGUONVAY.Text == "") { MessageBox.Show("Chưa nhập tên nhà cung cấp"); return; } bs.Add(new NHA_CUNG_CAP() { NAME = textBoxNGUONVAY.Text }); bs.EndEdit(); bs.ResetBindings(false); DataInstance.Instance().DBContext().SaveChanges(); textBoxNGUONVAY.Text = ""; textBoxNGUONVAY.Select(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void button1_Click(object sender, EventArgs e) { List <CCongNoKhachHang> _datasource = new List <CCongNoKhachHang>(); string note = ""; BindingSource bs = new BindingSource(); long MAKH = long.Parse(comboBox1.SelectedValue.ToString()); DateTime FROM = dateTimePickerFROM.Value.Date; DateTime TO = dateTimePickerTO.Value.Date; /* Lấy tất cả dữ liệu xuất hàng cho khách hàng này */ /* Từ ngày đến ngày */ IQueryable <CCongNoKhachHang> xuat_hang = (from _xh in DataInstance.Instance().DBContext().XUAT_HANG join _kho in DataInstance.Instance().DBContext().KHOes on _xh.MAKHO equals _kho.ID //join _hh in DataInstance.Instance().DBContext().HANG_HOA on _xh.MAHH equals _hh.ID where _xh.MAKH == MAKH where _xh.NGAY_XUAT >= FROM && _xh.NGAY_XUAT <= TO orderby _xh.NGAY_XUAT ascending select new CCongNoKhachHang { ID = (int)_xh.ID, NGAY = _xh.NGAY_XUAT.Value, KHO = _kho.NAME, HANGHOAID = _xh.MAHH, //HANGHOA = _hh.NAME, SOLUONG = _xh.SO_LUONG, DONGIABAN = _xh.DON_GIA_BAN, THANHTIEN = _xh.THANH_TIEN, TRATRUOC = _xh.TRA_TRUOC, LAISUAT = _xh.LAI_SUAT, LAI = 0, TRAGOC = 0, TRALAI = 0, CONNO = 0 }); note = "CHI TIẾT LÃI KHÁCH HÀNG"; DateTime now = dateTimePickerTO.Value.Date; /* Không sử dụng dữ liệu từ thu nợ */ foreach (CCongNoKhachHang row in xuat_hang) { //double lai = Utility.Lai(row.NGAY, now, row.LAISUAT, row.THANHTIEN - row.TRATRUOC); double lai = MXuatHang.GetLai(row.ID, now); string HangHoa = MHangHoa.GetNameByID(row.HANGHOAID); _datasource.Add(new CCongNoKhachHang() { NGAY = row.NGAY, KHO = row.KHO, HANGHOA = HangHoa, SOLUONG = row.SOLUONG, DONGIABAN = row.DONGIABAN, THANHTIEN = row.THANHTIEN, TRATRUOC = row.TRATRUOC, LAISUAT = row.LAISUAT * 100, /* Cần tính lãi */ LAI = lai, TRAGOC = 0, TRALAI = 0, CONNO = row.THANHTIEN + (long)lai - row.TRATRUOC }); } //} bs.DataSource = _datasource; CrystalReportCHITIETLAIKHACHHANG rpt = new CrystalReportCHITIETLAIKHACHHANG(); rpt.SetDataSource(bs); rpt.SetParameterValue("KH", comboBox1.Text); rpt.SetParameterValue("FROM", dateTimePickerFROM.Value); rpt.SetParameterValue("TO", dateTimePickerTO.Value); rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME); rpt.SetParameterValue("NOTE", note); crystalReportViewer1.ReportSource = rpt; crystalReportViewer1.Zoom(150); }
private void buttonVIEW_Click(object sender, EventArgs e) { var _ncc = long.Parse(comboBoxNCC.SelectedValue.ToString()); var _from = dateTimePickerFROM.Value; var _to = dateTimePickerTO.Value; string note = ""; BindingSource bs = new BindingSource(); if (checkBoxTRANO.Checked == false) { bs.DataSource = (from nh in DataInstance.Instance().DBContext().NHAP_HANG join kho in DataInstance.Instance().DBContext().KHOes on nh.MAKHO equals kho.ID join ncc in DataInstance.Instance().DBContext().NHA_CUNG_CAP on nh.MANCC equals ncc.ID join hh in DataInstance.Instance().DBContext().HANG_HOA on nh.MAHH equals hh.ID where nh.MANCC == _ncc where nh.NGAY_NHAP >= _from where nh.NGAY_NHAP <= _to select new { NGAY = nh.NGAY_NHAP, KHO = kho.NAME, HANGHOA = hh.NAME, SOLUONG = nh.SO_LUONG, DONGIA = nh.DON_GIA_MUA, THANHTIEN = nh.SO_LUONG * nh.DON_GIA_MUA }); CrystalReportCHITIETNONCC rpt = new CrystalReportCHITIETNONCC(); rpt.SetDataSource(bs); rpt.SetParameterValue("NCC", comboBoxNCC.Text); rpt.SetParameterValue("FROM", _from); rpt.SetParameterValue("TO", _to); rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME); crystalReportViewer1.ReportSource = rpt; } else { List <CThanhToanNCC> lst = new List <CThanhToanNCC>(); foreach (NHAP_HANG nh in DataInstance.Instance().DBContext().NHAP_HANG .Where(u => u.MANCC == _ncc && u.NGAY_NHAP >= _from && u.NGAY_NHAP <= _to)) { lst.Add(new CThanhToanNCC { NGAY = nh.NGAY_NHAP, KHO = MKho.GetNamebyID(nh.MAKHO), HANGHOA = MHangHoa.GetNameByID(nh.MAHH), DONGIA = nh.DON_GIA_MUA, SOLUONG = nh.SO_LUONG, THANHTIEN = nh.SO_LUONG * nh.DON_GIA_MUA, TIENTHANHTOAN = 0, CONNO = 0, THANHTOAN = "-", }); } foreach (TRA_NO_NCC tn in DataInstance.Instance().DBContext().TRA_NO_NCC .Where(u => u.MANCC == _ncc && u.NGAY_TRA >= _from && u.NGAY_TRA <= _to)) { lst.Add(new CThanhToanNCC { NGAY = tn.NGAY_TRA, KHO = MKho.GetNamebyID(tn.MAKHO), HANGHOA = "-", DONGIA = 0, SOLUONG = 0, TIENTHANHTOAN = tn.TONG_TIEN, CONNO = 0, THANHTOAN = "TRẢ NỢ NCC", }); } var datasource = lst.OrderBy(u => u.NGAY); long nodauki = MNcc.NoTO(_ncc, _from) - MNcc.TraNoTO(_ncc, _from); long _nodauki = nodauki; foreach (CThanhToanNCC c in datasource) { c.CONNO = nodauki - c.TIENTHANHTOAN + c.THANHTIEN; nodauki = c.CONNO; } bs.DataSource = lst; CrystalReportTHANHTOANNCC rpt = new CrystalReportTHANHTOANNCC(); rpt.SetDataSource(bs); rpt.SetParameterValue("NCC", comboBoxNCC.Text); rpt.SetParameterValue("FROM", _from); rpt.SetParameterValue("TO", _to); rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME); rpt.SetParameterValue("NODAUKI", _nodauki); crystalReportViewer1.ReportSource = rpt; } }
private void buttonVIEW_Click(object sender, EventArgs e) { long _kho = long.Parse(comboBoxKHO.SelectedValue.ToString()); DateTime _from = dateTimePickerFROM.Value.Date; DateTime _to = dateTimePickerTO.Value.Date; BindingSource bs = new BindingSource(); List <CChiTungKho> list = new List <CChiTungKho>(); var luong = (from _luong in DataInstance.Instance().DBContext().CHI_LUONG join _nv in DataInstance.Instance().DBContext().NHAN_VIEN on _luong.MANV equals _nv.ID where _luong.MAKHO == _kho where _luong.NGAY_CHI >= _from && _luong.NGAY_CHI <= _to select new CChiTungKho { NGAYCHI = _luong.NGAY_CHI, NOIDUNG = "Chi luong: " + _nv.NAME, TONGTIEN = _luong.TONG_TIEN, }); var noibo = (from _chi in DataInstance.Instance().DBContext().CHI_TIEU_DUNG_NOI_BO join _xe in DataInstance.Instance().DBContext().XEs on _chi.MAXE equals _xe.ID where _chi.MAHH == -1 where _chi.MAKHO == _kho where _chi.NGAY_CHI >= _from && _chi.NGAY_CHI <= _to select new CChiTungKho { NGAYCHI = _chi.NGAY_CHI, NOIDUNG = "Xe: " + _xe.BIEN_SO + " - " + _chi.NOI_DUNG, TONGTIEN = _chi.TONG_TIEN, }); var khac = (from _luong in DataInstance.Instance().DBContext().CHI_KHAC where _luong.MAKHO == _kho where _luong.NGAY_CHI >= _from && _luong.NGAY_CHI <= _to select new CChiTungKho { NGAYCHI = _luong.NGAY_CHI, NOIDUNG = _luong.NOI_DUNG, TONGTIEN = _luong.TONG_TIEN, }); var chovay = (from _luong in DataInstance.Instance().DBContext().XUAT_HANG join _kh in DataInstance.Instance().DBContext().KHACH_HANG on _luong.MAKH equals _kh.ID where _luong.MAKHO == _kho where _luong.MAHH == -1 where _luong.NGAY_XUAT >= _from && _luong.NGAY_XUAT <= _to select new CChiTungKho { NGAYCHI = _luong.NGAY_XUAT.Value, NOIDUNG = "Cho vay: " + _kh.NAME, TONGTIEN = _luong.THANH_TIEN, }); var trancc = (from _luong in DataInstance.Instance().DBContext().TRA_NO_NCC join ncc in DataInstance.Instance().DBContext().NHA_CUNG_CAP on _luong.MANCC equals ncc.ID where _luong.MAKHO == _kho where _luong.NGAY_TRA >= _from && _luong.NGAY_TRA <= _to select new CChiTungKho { NGAYCHI = _luong.NGAY_TRA, NOIDUNG = "Trả nợ: " + ncc.NAME, TONGTIEN = _luong.TONG_TIEN, }); var travay = (from _luong in DataInstance.Instance().DBContext().TRA_NO_VAY join no in DataInstance.Instance().DBContext().NGUON_VAY on _luong.MA_NGUON_VAY equals no.ID where _luong.MAKHO == _kho where _luong.NGAY_TRA >= _from && _luong.NGAY_TRA <= _to select new CChiTungKho { NGAYCHI = _luong.NGAY_TRA, NOIDUNG = "Trả nợ: " + no.NAME, TONGTIEN = _luong.TIEN_GOC + _luong.TIEN_LAI, }); foreach (CChiTungKho h in trancc) { list.Add(h); } /*CHI LUONG*/ foreach (CChiTungKho h in luong) { list.Add(h); } foreach (CChiTungKho h in noibo) { list.Add(h); } foreach (CChiTungKho h in khac) { list.Add(h); } foreach (CChiTungKho h in chovay) { list.Add(h); } list = list.OrderBy(u => u.NGAYCHI).ToList(); bs.DataSource = list; CrystalReportCHITUNGKHO rpt = new CrystalReportCHITUNGKHO(); rpt.SetDataSource(bs); rpt.SetParameterValue("KHO", comboBoxKHO.Text); rpt.SetParameterValue("FROM", dateTimePickerFROM.Value); rpt.SetParameterValue("TO", dateTimePickerTO.Value); rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME); crystalReportViewer1.ReportSource = rpt; crystalReportViewer1.Zoom(150); }
/// <summary> /// /// </summary> /// <param name="LOAINO"></param> /// <param name="MAKHO"></param> /// <param name="MAKH"></param> /// <param name="TIENGOC"></param> /// <param name="TIENLAI"></param> /// <param name="NGAYTRA"></param> /// <param name="NOIDUNG"></param> public static void Update(THU_NO ele) { long LOAINO = ele.LOAI_NO; long MAKHO = ele.MAKHO; long MAKH = ele.MAKH.Value; Int64 TIENGOC = ele.TIEN_GOC; Int64 TIENLAI = ele.TIEN_LAI; DateTime NGAYTRA = ele.NGAY_TRA; string NOIDUNG = ele.NOI_DUNG; /** * Nợ khác: Thêm vào 1 record, không tác động gì khác * Nợ vay và nợ HH: Cần cập nhật chi tiết nợ */ if (LOAINO != NO_KHAC) { var _TIENGOC = TIENGOC; var _TIENLAI = TIENLAI; long _start_id = 0; while (true) { long _id = 0; // ID nợ của Khách Hàng double _tong_no = 0; // Tổng nợ nợ của Khách Hàng double _lai_suat = 0; // Lãi suất nợ của Khách Hàng DateTime _ngay_no = new DateTime(); //Ngày nợ của Khách Hàng /* Lấy ra record nợ xa nhất chưa trả xong của khách hàng */ switch (ele.LOAI_NO) { case NO_HANG_HOA: try { XUAT_HANG _xh = (from xh in DataInstance.Instance().DBContext().XUAT_HANG where xh.MAKHO == ele.MAKHO where xh.MAKH == ele.MAKH where xh.ID > _start_id where xh.TRANG_THAI == MXuatHang.CHUA_TRA_XONG orderby xh.NGAY_XUAT ascending select xh).First(); _id = _xh.ID; _tong_no = _xh.THANH_TIEN - _xh.TRA_TRUOC; _ngay_no = _xh.NGAY_XUAT.Value.Date; _lai_suat = _xh.LAI_SUAT; } catch (Exception ex) { break; } break; case NO_VAY: try { CHO_VAY _cv = (from xh in DataInstance.Instance().DBContext().CHO_VAY where xh.MAKHO == ele.MAKHO where xh.MA_NGUON_NO == ele.MAKH where xh.TRANG_THAI == MXuatHang.CHUA_TRA_XONG where xh.ID > _start_id orderby xh.NGAY_CHO_VAY ascending select xh).First(); _id = _cv.ID; _tong_no = _cv.TONG_TIEN; _ngay_no = _cv.NGAY_CHO_VAY.Date; _lai_suat = _cv.LAI_SUAT; } catch (Exception ex) { break; } break; } double _lai = 0; // Lãi mà khách hàng nợ double _goc = _tong_no; // Tiền mà khách hàng nợ /* Lấy chi tiết những lần thanh toán trước cho record nợ này. Nếu có */ var _thanh_toan_s = (from tt in DataInstance.Instance().DBContext().CHI_TIET_THU_NO where tt.LOAI_NO == ele.LOAI_NO where tt.NO_ID == _id orderby tt.NGAY_TRA ascending select tt ); /* Tính lãi phần còn lại sau khi đã thanh toán một hay nhiều phần */ DateTime _ngay_no_hien_tai = _ngay_no; foreach (CHI_TIET_THU_NO _r in _thanh_toan_s) { _lai += Utility.Lai(_ngay_no_hien_tai, _r.NGAY_TRA, _lai_suat, _goc) - _r.TIEN_LAI; _ngay_no_hien_tai = _r.NGAY_TRA; _goc -= _r.TIEN_GOC; } _lai += Utility.Lai(_ngay_no_hien_tai, _lai_suat, _goc); // Đã tổng tiền gốc nợ và lãi hiện tại khách hàng nợ. CHI_TIET_THU_NO _e = new CHI_TIET_THU_NO(); _e.LOAI_NO = ele.LOAI_NO; _e.THU_NO_ID = ele.ID; _e.NO_ID = _id; _e.NGAY_TRA = ele.NGAY_TRA; _e.TIEN_GOC = (long)(_goc < _TIENGOC ? _goc : _TIENGOC); _e.TIEN_LAI = (long)(_lai < _TIENLAI ? _lai : _TIENLAI);; _e.CREATED_AT = DateTime.Now; if (!(_e.TIEN_GOC == 0 && _e.TIEN_LAI == 0)) { DataInstance.Instance().DBContext().AddToCHI_TIET_THU_NO(_e); DataInstance.Instance().DBContext().SaveChanges(); } /* Cập nhật TRANG_THAI của nợ hàng hóa hoặc nợ vay */ if (_TIENGOC >= _goc && _TIENLAI >= _lai) { switch (ele.LOAI_NO) { case NO_HANG_HOA: try { var _xh = (from xh in DataInstance.Instance().DBContext().XUAT_HANG where xh.ID == _id select xh).First(); _xh.TRANG_THAI = MXuatHang.DA_TRA_XONG; DataInstance.Instance().DBContext().SaveChanges(); } catch (Exception ex) { } break; } } /* Cập nhập lại tiền gốc tiền lãi */ _TIENGOC = (long)(_TIENGOC > _goc ? _TIENGOC - _goc : 0); _TIENLAI = (long)(_TIENLAI > _lai ? _TIENLAI - _lai : 0); /* Hết tiền để thanh toán */ if (_TIENGOC == 0 && _TIENLAI == 0) { break; } /* Hết tiền gốc hoặc lãi để thanh toán lần xuất hàng hiện tại */ //if ((_TIENGOC == 0 && _TIENLAI != 0) || (_TIENGOC != 0 && _TIENLAI == 0)) // { _start_id = _id; //} } } DataInstance.Instance().DBContext().SaveChanges(); }
public static IQueryable <T_Manager.NHA_CUNG_CAP> Get() { return(DataInstance.Instance().DBContext().NHA_CUNG_CAP); }
public static IQueryable <T_Manager.HANG_HOA> Get() { return(DataInstance.Instance().DBContext().HANG_HOA); }
/// <summary> /// TỔNG SỐ TIỀN MÀ KHO CHI RA /// + CHI LƯƠNG /// + CHI KHÁC /// + CHI NỘI BỘ /// + CHO VAY /// + CHI KHÁC /// + TRẢ NỢ NCC /// + TRẢ NỢ VAY /// </summary> /// <param name="MAKHO"></param> /// <param name="FROM"></param> /// <param name="TO"></param> /// <returns></returns> public static long Total_Chi(long MAKHO, DateTime FROM, DateTime TO) { long _kho = MAKHO; DateTime _from = FROM.Date; DateTime _to = TO.Date; long luong = 0; long noibo = 0; long khac = 0; long chovay = 0; long chikhac = 0; long trancc = 0; long travay = 0; try { luong = (from _luong in DataInstance.Instance().DBContext().CHI_LUONG join _nv in DataInstance.Instance().DBContext().NHAN_VIEN on _luong.MANV equals _nv.ID where _luong.MAKHO == _kho where _luong.NGAY_CHI >= _from && _luong.NGAY_CHI <= _to select _luong.TONG_TIEN).Sum(); } catch (Exception ex) { } try { noibo = (from _chi in DataInstance.Instance().DBContext().CHI_TIEU_DUNG_NOI_BO where _chi.MAHH == -1 where _chi.MAKHO == _kho where _chi.NGAY_CHI >= _from && _chi.NGAY_CHI <= _to select _chi.TONG_TIEN).Sum(); } catch (Exception ex) { } try { khac = (from _luong in DataInstance.Instance().DBContext().CHI_KHAC where _luong.MAKHO == _kho where _luong.NGAY_CHI >= _from && _luong.NGAY_CHI <= _to select _luong.TONG_TIEN).Sum(); } catch (Exception ex) { } try { chovay = (from _luong in DataInstance.Instance().DBContext().XUAT_HANG where _luong.MAKHO == MAKHO where _luong.MAHH == -1 where _luong.NGAY_XUAT >= FROM && _luong.NGAY_XUAT <= TO select _luong.THANH_TIEN).Sum(); } catch (Exception ex) { } try { chikhac = (from _luong in DataInstance.Instance().DBContext().CHI_KHAC where _luong.MAKHO == _kho where _luong.NGAY_CHI >= _from && _luong.NGAY_CHI <= _to select _luong.TONG_TIEN).Sum(); } catch (Exception ex) { } try { trancc = (from _luong in DataInstance.Instance().DBContext().TRA_NO_NCC where _luong.MAKHO == _kho where _luong.NGAY_TRA >= _from && _luong.NGAY_TRA <= _to select _luong.TONG_TIEN).Sum(); } catch (Exception ex) { } try { travay = (from _luong in DataInstance.Instance().DBContext().TRA_NO_VAY where _luong.MAKHO == _kho where _luong.NGAY_TRA >= _from && _luong.NGAY_TRA <= _to select _luong.TIEN_LAI + _luong.TIEN_GOC).Sum(); } catch (Exception ex) { } return(luong + noibo + khac + chovay + trancc + travay); }
private void buttonVIEW_Click(object sender, EventArgs e) { var _today = dateTimePickerFROM.Value.Date; long _kho = long.Parse(comboBoxKHO.SelectedValue.ToString()); BindingSource bs = new BindingSource(); CrystalReportCONGOSHANGNGAT rpt = new CrystalReportCONGOSHANGNGAT(); List <CCongSoHangNgay> list = new List <CCongSoHangNgay>(); var hh = (from _hh in DataInstance.Instance().DBContext().HANG_HOA select _hh); foreach (HANG_HOA h in hh) { foreach (XUAT_HANG bh in (from _bh in DataInstance.Instance().DBContext().XUAT_HANG where _bh.MAHH == h.ID where _bh.MAKHO == _kho where _bh.NGAY_XUAT == _today select _bh)) { CCongSoHangNgay c = new CCongSoHangNgay(); c.HANGHOA = h.NAME; c.SOLUONG = bh.SO_LUONG; c.DONGIA = bh.DON_GIA_BAN; c.THANHTIEN = bh.THANH_TIEN; list.Add(c); } } if (list.Count > 0) { bs.DataSource = (from d in list group d by new { d.HANGHOA, d.DONGIA } into g orderby g.Key.HANGHOA select new CCongSoHangNgay { HANGHOA = g.Key.HANGHOA, DONGIA = g.Key.DONGIA, SOLUONG = g.Sum(u => u.SOLUONG), THANHTIEN = g.Sum(u => u.THANHTIEN) }); } else { bs.DataSource = list; } rpt.SetDataSource(bs); rpt.SetParameterValue("DATE", _today); rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME); long thuno = 0; long thukhac = 0; long chiluong = 0; long chikhac = 0; long chincc = 0; long no = 0; try { thuno = (from tn in DataInstance.Instance().DBContext().THU_NO where tn.NGAY_TRA == _today where tn.MAKHO == _kho where tn.LOAI_NO != MThuNo.NO_KHAC select tn.TIEN_GOC + tn.TIEN_LAI ).Sum(); } catch (Exception ex) { } try { thukhac = (from tn in DataInstance.Instance().DBContext().THU_NO where tn.NGAY_TRA == _today where tn.MAKHO == _kho where tn.LOAI_NO == MThuNo.NO_KHAC select tn.TIEN_GOC + tn.TIEN_LAI).Sum(); } catch (Exception ex) { } try { chiluong = (from tn in DataInstance.Instance().DBContext().CHI_LUONG where tn.MAKHO == _kho where tn.NGAY_CHI == _today select tn.TONG_TIEN ).Sum(); } catch (Exception ex) { } try { chikhac = (from tn in DataInstance.Instance().DBContext().CHI_KHAC where tn.MAKHO == _kho where tn.NGAY_CHI == _today select tn.TONG_TIEN ).Sum(); } catch (Exception ex) { } try { chincc = (from tn in DataInstance.Instance().DBContext().TRA_NO_NCC where tn.MAKHO == _kho where tn.NGAY_TRA == _today select tn.TONG_TIEN ).Sum(); } catch (Exception ex) { } try { no = (from tn in DataInstance.Instance().DBContext().TRA_NO_VAY where tn.NGAY_TRA == _today where tn.MAKHO == _kho select tn.TIEN_GOC + tn.TIEN_LAI ).Sum(); } catch (Exception ex) { } long kh_no = 0; try { kh_no = (from tn in DataInstance.Instance().DBContext().XUAT_HANG where tn.NGAY_XUAT == _today where tn.MAKH != MXuatHang.MAKH_XUAT_MAT where tn.MAKHO == _kho select tn.THANH_TIEN - tn.TRA_TRUOC ).Sum(); } catch (Exception ex) { } long chi_xe = 0; try { chi_xe = (from tn in DataInstance.Instance().DBContext().CHI_TIEU_DUNG_NOI_BO where tn.NGAY_CHI == _today where tn.MAKHO == _kho where tn.MAHH == -1 select tn.TONG_TIEN ).Sum(); } catch (Exception ex) { } rpt.SetParameterValue("THUNO", thuno); rpt.SetParameterValue("THUKHAC", thukhac); rpt.SetParameterValue("CHILUONG", chiluong); rpt.SetParameterValue("CHITRANCC", chincc); rpt.SetParameterValue("CHIKHAC", chikhac + chi_xe); rpt.SetParameterValue("TRANO", no); rpt.SetParameterValue("KHNO", kh_no); crystalReportViewer1.ReportSource = rpt; }
public MKhachHang(int MAKH) { this.MAKH = MAKH; this._MA_FROM = 1; this._MA_TO = (from kho in DataInstance.Instance().DBContext().KHOes select kho.ID).Max(); }
private void button1_Click(object sender, EventArgs e) { List <CTongHopCongNo> _datasource = new List <CTongHopCongNo>(); var include_THUNO = checkBoxTHUNO.Checked; string note = ""; var kho = long.Parse(comboBoxKHO.SelectedValue.ToString()); var _from = dateTimePicker1.Value.Date; var _to = dateTimePicker2.Value.Date; BindingSource bs = new BindingSource(); /* Tính tổng tiền, trả trước group theo MAKH */ var _xh = (from xh in DataInstance.Instance().DBContext().XUAT_HANG join kh in DataInstance.Instance().DBContext().KHACH_HANG on xh.MAKH equals kh.ID where xh.MAKHO == kho where xh.NGAY_XUAT >= _from && xh.NGAY_XUAT <= _to group xh by new { xh.MAKH, kh.NAME } into g select new CTongHopCongNo() { STT = g.Key.MAKH, MAKH = g.Key.MAKH, KHACHHANG = g.Key.NAME, TRATRUOC = g.Sum(u => u.TRA_TRUOC), THANHTIEN = g.Sum(u => u.THANH_TIEN), DATRA = 0, CONNO = g.Sum(u => u.THANH_TIEN - u.TRA_TRUOC) } ); int STT = 1; if (include_THUNO == false) { note = "KHÔNG TÍNH TIỀN LÃI"; /* Có sử dụng dữ liệu thu nợ */ /* Tính tổng lãi cho từng KH */ foreach (CTongHopCongNo row in _xh) { //double lai = 0; double datra = 0; /* Tính lãi cho tất cả những lần xuất hàng cho KH */ foreach (XUAT_HANG _row in (from _xh_ in DataInstance.Instance().DBContext().XUAT_HANG where _xh_.MAKHO == kho where _xh_.MAKH == row.MAKH select _xh_)) { /* Không sử dụng dữ liệu từ thu nợ */ //lai += MXuatHang.GetLaiPhatSinh((int)_row.ID, _to); datra += MChiTietThuNo.TraGocHH((int)_row.ID); } _datasource.Add(new CTongHopCongNo() { STT = STT++, KHACHHANG = row.KHACHHANG, TRATRUOC = row.TRATRUOC, THANHTIEN = row.THANHTIEN, DATRA = (long)datra, CONNO = row.THANHTIEN - (long)datra - row.TRATRUOC }); } } else { note = "BAO GỒM TIỀN LÃI"; /* Không sử dụng dữ liệu thu nợ*/ /* Tính tổng lãi cho từng KH */ foreach (CTongHopCongNo row in _xh) { double lai = 0; double datra = 0; foreach (XUAT_HANG _row in (from _xh_ in DataInstance.Instance().DBContext().XUAT_HANG where _xh_.MAKHO == kho where _xh_.MAKH == row.MAKH select _xh_)) { lai += MXuatHang.GetLai((int)_row.ID, _to); datra += MChiTietThuNo.DaTraHH((int)_row.ID); } _datasource.Add(new CTongHopCongNo() { STT = STT++, KHACHHANG = row.KHACHHANG, TRATRUOC = row.TRATRUOC, THANHTIEN = row.THANHTIEN + (long)lai, DATRA = (long)datra, CONNO = row.THANHTIEN - (long)datra - row.TRATRUOC + (long)lai }); } } bs.DataSource = _datasource; CrystalReportTONGHOPCONGNO rpt = new CrystalReportTONGHOPCONGNO(); rpt.SetDataSource(bs); rpt.SetParameterValue("KHO", comboBoxKHO.Text); rpt.SetParameterValue("FROM", _from); rpt.SetParameterValue("TO", _to); rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME); rpt.SetParameterValue("NOTE", note); crystalReportViewer1.ReportSource = rpt; crystalReportViewer1.Zoom(150); }
public static IQueryable <T_Manager.KHO> Get(int type) { return(DataInstance.Instance().DBContext().KHOes.Where(u => u.TYPE == type)); }
private void buttonVIEW_Click(object sender, EventArgs e) { string note = ""; long da_tra = 0; var _from = dateTimePickerFROM.Value; var _to = dateTimePickerTO.Value; BindingSource bs = new BindingSource(); List <CTongHopNoNCC> dt = new List <CTongHopNoNCC>(); var _nh = (from nh in DataInstance.Instance().DBContext().NHAP_HANG join ncc in DataInstance.Instance().DBContext().NHA_CUNG_CAP on nh.MANCC equals ncc.ID join hh in DataInstance.Instance().DBContext().HANG_HOA on nh.MAHH equals hh.ID /* Khac ton kho */ where nh.NGAY_NHAP >= _from && nh.NGAY_NHAP <= _to select new CTongHopNoNCC { NCC = ncc.NAME, HANGHOA = hh.NAME, SOLUONG = nh.SO_LUONG, THANHTIEN = nh.SO_LUONG * nh.DON_GIA_MUA, }); foreach (CTongHopNoNCC row in _nh) { dt.Add(new CTongHopNoNCC { NCC = row.NCC, HANGHOA = row.HANGHOA, SOLUONG = row.SOLUONG, THANHTIEN = row.THANHTIEN, }); } var _tn = (from nh in DataInstance.Instance().DBContext().TRA_NO_NCC join ncc in DataInstance.Instance().DBContext().NHA_CUNG_CAP on nh.MANCC equals ncc.ID where nh.NGAY_TRA >= _from && nh.NGAY_TRA <= _to select new CTongHopNoNCC { NCC = ncc.NAME, HANGHOA = "z Trả Nợ z", SOLUONG = 0, THANHTIEN = -nh.TONG_TIEN, }); foreach (CTongHopNoNCC row in _tn) { dt.Add(new CTongHopNoNCC { NCC = row.NCC, HANGHOA = row.HANGHOA, SOLUONG = row.SOLUONG, THANHTIEN = row.THANHTIEN, }); } bs.DataSource = dt; CrystalReportTONGHOPNONCC rpt = new CrystalReportTONGHOPNONCC(); rpt.SetDataSource(bs); rpt.SetParameterValue("FROM", _from); rpt.SetParameterValue("TO", _to); rpt.SetParameterValue("COMP", ConstClass.COMPANY_NAME); crystalReportViewer1.ReportSource = rpt; }
/// <summary> /// Trừ số lượng xuất hàng vào số lượng còn lại của nhập hàng /// </summary> /// <param name="_SoLuong">Số lượng xuất hàng</param> /// <param name="ele">Object Xuất hàng</param> public static void Update(long _SoLuong, XUAT_HANG ele) { if (_SoLuong > 0) { List <CXuatHangChiTiet> chitiet = new List <CXuatHangChiTiet>(); foreach (var row in DataInstance.Instance().DBContext().NHAP_HANG .Where(u => u.MAKHO == ele.MAKHO) .Where(u => u.MAHH == ele.MAHH) .Where(u => u.SL_CON_LAI > 0) .OrderBy(u => u.NGAY_NHAP)) { /** * Cập nhật số lượng vào nhập hàng */ var sub_SL = row.SL_CON_LAI; row.SL_CON_LAI = _SoLuong >= row.SL_CON_LAI ? 0 : row.SL_CON_LAI - _SoLuong; /* Cập nhật chi tiết số lượng, đơn giá để tính lãi lỗi*/ long __subSL = row.SL_CON_LAI > 0 ? _SoLuong : sub_SL; if (__subSL > 0) { chitiet.Add(new CXuatHangChiTiet() { NHAPHANGID = row.ID, SOLUONG = row.SL_CON_LAI > 0 ? _SoLuong : sub_SL, DONGIA = row.DON_GIA_MUA }); } _SoLuong = _SoLuong >= sub_SL ? _SoLuong - sub_SL : 0; if (_SoLuong == 0) { break; } } string s_chitiet = JsonConvert.SerializeObject(chitiet); ele.CHI_TIET_XUAT_HANG = s_chitiet; } else { _SoLuong = -_SoLuong; List <CXuatHangChiTiet> chitiet = new List <CXuatHangChiTiet>(); foreach (var row in DataInstance.Instance().DBContext().NHAP_HANG .Where(u => u.MAKHO == ele.MAKHO) .Where(u => u.MAHH == ele.MAHH) .Where(u => u.SL_CON_LAI < u.SO_LUONG) .OrderByDescending(u => u.NGAY_NHAP)) { /** * Cập nhật số lượng vào nhập hàng */ var sub_SL = row.SL_CON_LAI; row.SL_CON_LAI = _SoLuong >= row.SO_LUONG - row.SL_CON_LAI ? row.SO_LUONG : row.SL_CON_LAI + _SoLuong; /* Cập nhật chi tiết số lượng, đơn giá để tính lãi lỗi*/ long __subSL = row.SL_CON_LAI < row.SO_LUONG ? _SoLuong : _SoLuong - (row.SO_LUONG - row.SL_CON_LAI); chitiet.Add(new CXuatHangChiTiet() { NHAPHANGID = row.ID, SOLUONG = __subSL, DONGIA = row.DON_GIA_MUA }); _SoLuong = _SoLuong - sub_SL; if (_SoLuong == 0) { break; } } string s_chitiet = JsonConvert.SerializeObject(chitiet); ele.CHI_TIET_XUAT_HANG = s_chitiet; } DataInstance.Instance().DBContext().SaveChanges(); }
private void FChiXe_Load(object sender, EventArgs e) { comboBox1.DataSource = DataInstance.Instance().DBContext().XEs.OrderBy(u => u.BIEN_SO); comboBox1.DisplayMember = "BIEN_SO"; comboBox1.ValueMember = "ID"; }