private bool CheckedAndDel(int makp, string malk) { bool rs = false; QLBVEntities data = new QLBVEntities(DungChung.Bien.StrCon); var q = data.NhapDs.Where(p => p.SoCT == malk && p.MaKP == makp).ToList(); if (q.Count == 0) { rs = true; } foreach (var a in q) { int idNhap = a.IDNhap; var qnhapct = data.NhapDcts.Where(p => p.IDNhap == idNhap).ToList(); foreach (var b in qnhapct) { data.NhapDcts.DeleteObject(b); } data.NhapDs.DeleteObject(a); data.SaveChanges(); rs = true; } return(rs); }
/// <summary> /// Xuất ra danh sách các file xml /// </summary> /// <param name="dt"></param> /// <param name="path"></param> /// /// <param name="Trang_Thai"> = 0 : xuất dược; 1 : hủy xuất</param> /// <returns></returns> public static bool ExportXML(int idnhap, string pathFolder, int Trang_Thai) { bool rs = false; QLBVEntities db = new QLBVEntities(DungChung.Bien.StrCon); //var NhapD2 = db.NhapDs.Where(p => p.KieuDon == 3 && p.Status == 2).ToList();// kiểu đơn = 3: xuất ngoài BV; Status = 2: xuất tuyến dưới // var nhap = (from a in NhapD2 where a.NgayNhap.Value.Date == dt.Date select a).ToList(); try { NhapD n = db.NhapDs.Single(p => p.IDNhap == idnhap); var nhap = (from a in db.NhapDcts.Where(p => p.IDNhap == idnhap) join dv in db.DichVus on a.MaDV equals dv.MaDV group new { a, dv } by new { a.MaBNhan, a.MaDV, a.DonGia, a.HanDung, a.SoLo, dv.MaQD, dv.MaCC, dv.SoQD, dv.TenDV, dv.TenHC } into kq select new { kq.Key.MaBNhan, kq.Key.MaDV, SoLuongX = kq.Sum(p => p.a.SoLuongX), kq.Key.DonGia, ThanhTienX = kq.Sum(p => p.a.ThanhTienX), kq.Key.HanDung, kq.Key.SoLo, kq.Key.MaQD, kq.Key.MaCC, kq.Key.SoQD, kq.Key.TenDV, kq.Key.TenHC }).ToList(); List <KPhong> lkp = db.KPhongs.ToList(); if (n != null) { try { var benhvien = lkp.Where(x => x.MaKP == n.MaKPnx).FirstOrDefault(); var khoxuat = lkp.Where(x => x.MaKP == n.MaKP).SingleOrDefault(); var canbo = db.CanBoes.ToList(); string tenFile = (benhvien == null ? "" : benhvien.MaKP.ToString()) + "_" + n.IDNhap + "_" + (n.NgayNhap == null ? "" : n.NgayNhap.Value.ToString("yyyyMMddHHmm")) + ".xml"; //dt.ToString("yyyyMMddHHmmss") + ".xml"; BenhNhan bn = db.BenhNhans.Where(x => x.MaBNhan == n.MaBNhan).SingleOrDefault(); string dtuong = ""; if (bn != null && bn.SThe != null) { if (bn.SThe != null && bn.SThe.Length == 15) { string maDT = bn.SThe.Substring(0, 2); if (maDT == "TE") { dtuong = "2"; } else if (maDT == "DT" || maDT == "HN" || maDT == "DK") { dtuong = "3"; } else { dtuong = "1"; } } else { dtuong = "4"; } } else { dtuong = "4"; } int stt = 1; var xEle1 = new XElement("NXT", new XElement("TONGHOP", // new XElement("MA_CSKCB", moi.ma_cskcb), new XElement("MA_BV", benhvien == null ? "" : benhvien.MaQD.ToString()), new XElement("TEN_BV", benhvien == null ? "" : benhvien.TenKP), new XElement("MA_LK", n.IDNhap.ToString()), new XElement("NGAY_CT", n.NgayNhap == null ? "" : n.NgayNhap.Value.ToString("yyyyMMddHHmm")), new XElement("NGUOIGIAO", canbo.Where(p => p.MaCB == n.MaCB).Select(p => p.TenCB).FirstOrDefault()), //benhvien == null ? "" : benhvien.TenKP); new XElement("MA_KHO_XUAT", n.MaKP == null ? "" : n.MaKP.ToString()), new XElement("TEN_KHO_XUAT", khoxuat == null ? "" : khoxuat.TenKP), new XElement("PHAN_LOAI_XUAT", n.KieuDon == null ? "-1" : n.KieuDon.ToString()), new XElement("DOI_TUONG", dtuong), new XElement("TRANG_THAI", Trang_Thai.ToString()), new XElement("PL_GUINHAN", "1"), new XElement("NHOM_KIEUSO", "1")), new XElement("CHITIET", from item in nhap select new XElement("DICHVU", new XElement("STT", stt++), new XElement("MA_QD", item.MaQD),// lấy mã QD new XElement("MA_DV", item.MaDV), new XElement("SO_QD", item.SoQD), new XElement("HAN_DUNG", item.HanDung == null ? "" : item.HanDung.Value.ToString("yyyyMMdd")), new XElement("NCC", item.MaCC), new XElement("TEN_QD", item.TenHC), new XElement("TEN_DV", item.TenDV), new XElement("DON_GIA", item.DonGia), new XElement("SO_LUONG", item.SoLuongX), new XElement("THANH_TIEN", item.ThanhTienX)))); xEle1.Save(pathFolder + "\\" + tenFile); rs = true; if (Trang_Thai == 0) { n.Status = 2; } else { n.Status = 0; } db.SaveChanges(); } catch (Exception ex) { return(false); } } } catch { return(false); } return(rs); }
public bool AddToDB(TongHop th, List <Duoc> lstDuoc, QLBVEntities db, List <DichVu> qdv) { db = new QLBVEntities(DungChung.Bien.StrCon); int makp = getMaKP(th.MA_BV); int idNhap = 0; bool rs = false; // var qdv = db.DichVus.ToList(); if (CheckedAndDel(makp, th.MA_LK)) { #region thêm nhapD NhapD nhapDuoc = new NhapD(); if (ktDateTime(th.NGAY_CT, "yyyyMMddHHmm")) { nhapDuoc.NgayNhap = DateTime.ParseExact(th.NGAY_CT, "yyyyMMddHHmm", null); } nhapDuoc.MaKP = makp; nhapDuoc.TenNguoiCC = th.NGUOIGIAO; byte dtuong = (byte)int.Parse(th.DOI_TUONG); nhapDuoc.Status = 3; // nhận tuyến dưới ( lưu thông tin tuyến dưới xuất dược) nhapDuoc.KieuDon = Convert.ToInt32(th.PHAN_LOAI_XUAT); nhapDuoc.PLoai = 2; // xuất dược nhapDuoc.SoCT = th.MA_LK; // ma_lk = int.Parse(ndTongHop.Element("MA_LK").Value.Trim());// Tạm nhập IDNhap vào trường MaBNhan // nhapDuoc.MaBNhan = ma_lk; db.NhapDs.AddObject(nhapDuoc); int count = db.SaveChanges(); var nhapd_new = db.NhapDs.Where(p => p.MaKP == makp && p.PLoai == 2 && p.Status == 3 && p.SoCT == th.MA_LK).OrderByDescending(p => p.IDNhap).FirstOrDefault(); if (nhapd_new != null) { idNhap = nhapd_new.IDNhap; } #endregion #region thêm nhapdct if (idNhap > 0) { foreach (var a in lstDuoc) { DichVu dv = qdv.Where(p => p.MaQD == a.MA_QD).FirstOrDefault();//.Where(p => p.SoQD == a.SO_QD).Where(p => p.TenHC == a.TEN_QD).FirstOrDefault(); NhapDct nhapdct = new NhapDct(); nhapdct.IDNhap = idNhap; nhapdct.MaDV = dv.MaDV; //? nhapdct.DonVi = dv.DonVi; nhapdct.DonGia = Convert.ToDouble(a.DON_GIA); nhapdct.SoLuongX = Convert.ToDouble(a.SO_LUONG); nhapdct.ThanhTienX = Convert.ToDouble(a.THANH_TIEN); nhapdct.IDDTBN = dtuong; // dùng riêng cho Tam Đường: Đối tượng: 1- BHYT, 2- trẻ em, 3-Đối tượng 139, 4- Khác if (ktDateTime(a.HAN_DUNG, "yyyyMMdd")) { nhapdct.HanDung = DateTime.ParseExact(a.HAN_DUNG, "yyyyMMdd", null); } db.NhapDcts.AddObject(nhapdct); } db.SaveChanges(); rs = true; } #endregion } return(rs); }