Example #1
0
        /// <summary>
        /// Trả về MAKP của kho dược xã
        /// </summary>
        /// <param name="maBV"></param>
        /// <returns></returns>
        private int getMaKP(string maBV)
        {
            QLBVEntities db      = new QLBVEntities(DungChung.Bien.StrCon);
            var          getMaKP = db.KPhongs.Where(m => m.MaQD == maBV).Where(p => p.TrongBV == 0).Where(p => p.PLoai == "Khoa dược").FirstOrDefault(); //coi kho dược của xã như 1 kho trong BV

            if (getMaKP != null)
            {
                return(getMaKP.MaKP);
            }
            else
            {
                return(0);
            }
        }
Example #2
0
        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);
        }
Example #3
0
        /// <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);
        }
Example #4
0
        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);
        }
Example #5
0
        /// <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>


        /// <summary>
        /// Đọc 1 file XML đổ vào CSDL
        /// </summary>
        /// <param name="path">Đường dẫn 1 file XML</param>
        /// <param name="viewOrAdd">true: add, false: view</param>
        /// <returns></returns>
        public bool GetDichVu(string pathFile, bool viewOrAdd)
        {
            //var path = @"D:\Long project\MVC\MVC_QLBV\XML\InputXml\InputXml\Mau_NXT_XP_2.xml";
            bool rs = false;

            db = new QLBVEntities(DungChung.Bien.StrCon);
            var         qdv     = db.DichVus.ToList();
            Err         err     = new Err();
            List <Duoc> lstDuoc = new List <Duoc>();
            XDocument   doc     = new XDocument();

            doc = XDocument.Load(pathFile);

            int  idNhap = 0;
            byte dtuong = 0;

            if (doc.Element("NXT") != null)
            {
                if (doc.Element("NXT").Element("TONGHOP") != null)
                {
                    XElement ndTongHop = doc.Element("NXT").Element("TONGHOP");
                    #region đổ ra object TongHop
                    TongHop th = new TongHop();
                    if (ndTongHop.Element("MA_BV") != null)
                    {
                        th.MA_BV = ndTongHop.Element("MA_BV").Value.ToString();
                    }
                    if (ndTongHop.Element("TEN_BV") != null)
                    {
                        th.TEN_BV = ndTongHop.Element("TEN_BV").Value.ToString();
                    }
                    if (ndTongHop.Element("MA_LK") != null)
                    {
                        th.MA_LK = ndTongHop.Element("MA_LK").Value.ToString();
                    }
                    if (ndTongHop.Element("NGAY_CT") != null)
                    {
                        th.NGAY_CT = ndTongHop.Element("NGAY_CT").Value.ToString();
                    }
                    if (ndTongHop.Element("NGUOIGIAO") != null)
                    {
                        th.NGUOIGIAO = ndTongHop.Element("NGUOIGIAO").Value.ToString();
                    }
                    if (ndTongHop.Element("MA_KHO_XUAT") != null)
                    {
                        th.MA_KHO_XUAT = ndTongHop.Element("MA_KHO_XUAT").Value.ToString();
                    }
                    if (ndTongHop.Element("TEN_KHO_XUAT") != null)
                    {
                        th.TEN_KHO_XUAT = ndTongHop.Element("TEN_KHO_XUAT").Value.ToString();
                    }
                    if (ndTongHop.Element("PHAN_LOAI_XUAT") != null)
                    {
                        th.PHAN_LOAI_XUAT = ndTongHop.Element("PHAN_LOAI_XUAT").Value.ToString();
                    }
                    if (ndTongHop.Element("DOI_TUONG") != null)
                    {
                        th.DOI_TUONG = ndTongHop.Element("DOI_TUONG").Value.ToString();
                    }
                    if (ndTongHop.Element("TRANG_THAI") != null)
                    {
                        th.TRANG_THAI = ndTongHop.Element("TRANG_THAI").Value.ToString();
                    }
                    if (ndTongHop.Element("PL_GUINHAN") != null)
                    {
                        th.PL_GUINHAN = ndTongHop.Element("PL_GUINHAN").Value.ToString();
                    }
                    #endregion
                    #region đổ ra danh sách Duoc
                    if (doc.Element("NXT").Element("CHITIET") != null)
                    {
                        lstDuoc = (from nd in doc.Element("NXT").Element("CHITIET").Descendants("DICHVU")
                                   select new Duoc
                        {
                            MA_LK = th.MA_LK,
                            STT = nd.Element("STT") == null ? "" : nd.Element("STT").Value,
                            MA_QD = nd.Element("MA_QD") == null ? "" : nd.Element("MA_QD").Value,
                            MA_DV = nd.Element("MA_DV") == null ? "" : nd.Element("MA_DV").Value,
                            SO_QD = nd.Element("SO_QD") == null ? "" : nd.Element("SO_QD").Value,
                            HAN_DUNG = nd.Element("HAN_DUNG") == null ? "" : nd.Element("HAN_DUNG").Value,
                            LOSX = nd.Element("LOSX") == null ? "" : nd.Element("LOSX").Value,
                            NCC = nd.Element("NCC") == null ? "" : nd.Element("NCC").Value,
                            TEN_QD = nd.Element("TEN_QD") == null ? "" : nd.Element("TEN_QD").Value,
                            TEN_DV = nd.Element("TEN_DV") == null ? "" : nd.Element("TEN_DV").Value,
                            DON_GIA = nd.Element("DON_GIA") == null ? "" : nd.Element("DON_GIA").Value,
                            SO_LUONG = nd.Element("SO_LUONG") == null ? "" : nd.Element("SO_LUONG").Value,
                            THANH_TIEN = nd.Element("THANH_TIEN") == null ? "" : nd.Element("THANH_TIEN").Value
                        }
                                   ).ToList();
                    }
                    #endregion

                    if (kt_TongHop(th, pathFile) && kt_ChiTiet(lstDuoc, qdv, th.MA_LK, pathFile))
                    {
                        if (viewOrAdd)
                        {
                            AddToDB(th, lstDuoc, db, qdv);
                        }
                        rs = true;
                    }
                }
            }


            return(rs);
        }