예제 #1
0
        public static List <SetWardModel> GetSetWards()
        {
            List <SetWardModel> setWard = new List <SetWardModel>();

            string cmdString = QueryString.GetSetWardQueryString();

            var dt = SqlServerDA.DataTableBindDataCommand(cmdString, Constants.Svh21CHKConnectionString);

            setWard = Helper.DtToSetWardModelList(dt);

            return(setWard);
        }
예제 #2
0
        public static ProductivityData GetProductivityData(string year)
        {
            ProductivityData result = new ProductivityData();

            var dtTotalCLS     = SqlServerDA.DataTableBindDataCommand(QueryString.GetTotalCLS(year), conString);
            var dtCLSRNMapWard = Helper.MapWardDataTable(dtTotalCLS);

            var dtProRNPN = SqlServerDA.DataTableBindDataCommand(QueryString.GetProductivityRNPN(year), conString);

            result = Helper.DataTableToProductivityData(dtCLSRNMapWard, dtProRNPN, year);

            return(result);
        }
예제 #3
0
        public static List <PatientHN> GetPatients(string siteCode, string year, string month)
        {
            List <PatientHN> patietns = new List <PatientHN>();

            var cmdString = QueryString.GetPatientsHN(siteCode, year, month);
            //var dt = InterSystemsDA.DTBindDataCommand(cmdString, Constants.Chache89);

            var dt = SqlServerDA.DataTableBindDataCommand(cmdString, Constants.svhsql3);

            patietns = Helper.DataTableToPatientList(dt);

            return(patietns);
        }
예제 #4
0
        public static decimal GetPatientKardex(string epi)
        {
            decimal result = 0;

            string cmdString = QueryString.GetKardexQueryString(epi);
            var    value     = SqlServerDA.ExecuteScalarBindDataCommand(cmdString, Constants.Svh21CHKConnectionString);

            if (!string.IsNullOrEmpty(value))
            {
                if (value.ToUpper().Trim() == "CP" || value.ToUpper().Trim() == "AP" || value.ToUpper().Trim() == "" || value.ToUpper().Trim() == "IP" || value.ToUpper().Trim() == "DP")
                {
                    result = 1;
                }
            }

            return(result);
        }
예제 #5
0
        public static string GetPatientClass(string papmiNo)
        {
            string patientClass = "";

            if (!string.IsNullOrEmpty(papmiNo))
            {
                string cmdString = QueryString.GetPatientClassQueryString(papmiNo);
                var    value     = SqlServerDA.ExecuteScalarBindDataCommand(cmdString, Constants.Svh21CHKConnectionString);
                patientClass = string.IsNullOrEmpty(value) ? "" : patientClass = value;
            }
            else
            {
                patientClass = "E";
            }


            return(patientClass);
        }
예제 #6
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            List <SetWardModel> setWardList = new List <SetWardModel>();

            foreach (var item in listboxWard.Items)
            {
                var setWard = new SetWardModel();
                setWard.WardCode = (item as SetWardModel).WardCode;
                setWard.WardDesc = (item as SetWardModel).WardDesc;
                setWardList.Add(setWard);
            }

            if (SqlServerDA.ExecuteNonQuery(QueryString.TruncateTable("SetWard"), Constants.Svh21CHKConnectionString))
            {
                Helper.SetWardToDb(setWardList);
            }

            Helper.GetCurrentSetWard();
            this.Close();
        }
예제 #7
0
        public static WardProduct DtToWardProduct(DataTable dt, string wardCode)
        {
            List <PatientRoomClass> items     = new List <PatientRoomClass>();
            List <string>           listClass = new List <string>();

            StaffReal staffReal   = new StaffReal();
            StaffData staffData   = new StaffData();
            DataTable dtStaffReal = new DataTable();

            decimal sumStaffReal            = 0;
            decimal sumOfMulClass           = 0;
            decimal sumOfRealStaff          = 0;
            decimal percentage              = 0;
            decimal sumPatientKardex        = 0;
            decimal sumOfMulClassmulClsx100 = 0;
            decimal sumPatientClass         = 0;

            // set value to object PatientRoomClass
            foreach (DataRow row in dt.Rows)
            {
                int ptClass = 0;
                var item    = new PatientRoomClass();
                Tuple <string, string> patient = GetData.PatientHnAdm(row["BED_RowID"].ToString());
                string papmiNo = patient.Item1;
                string epi     = patient.Item2;
                item.BED_RowID    = row["BED_RowID"].ToString();
                item.BED_Code     = GetData.GetBedType(row["BED_RowID"].ToString()) + row["BED_Code"].ToString();
                item.Paadm_AdmNo  = epi;
                sumPatientKardex += GetData.GetPatientKardex(epi);
                item.Papmi_No     = papmiNo;
                item.PatientClass = GetData.GetPatientClass(papmiNo);
                if (!string.IsNullOrEmpty(papmiNo))
                {
                    sumPatientClass += 1;
                }
                if (Int32.TryParse(item.PatientClass, out ptClass))
                {
                    listClass.Add(item.PatientClass);
                }
                if (item.PatientClass == null)
                {
                    item.PatientClass = "??";
                }
                var reasonNotAvail = GetData.GetStatReasonNotAvail(row["BED_RowID"].ToString());
                item.PatientClass = string.IsNullOrEmpty(reasonNotAvail) ? item.PatientClass : reasonNotAvail;
                items.Add(item);
            }


            WardModel wardModel = new WardModel
            {
                PatientRoomClassList = items
            };

            string wardSql = string.Empty;


            if (Data.MapWardCacheWithSql.TryGetValue(wardCode, out wardSql))
            {
                dtStaffReal = SqlServerDA.DataTableBindDataCommand(QueryString.GetRealStaffQueryString(wardSql, DateTime.Now), Constants.Svh21CHKConnectionString);
            }

            // set staff real to object StaffReal
            foreach (DataRow row in dtStaffReal.Rows)
            {
                staffReal.DayRnReal = Convert.ToDecimal(row["DayRnReal"]);
                staffReal.DayNrReal = Convert.ToDecimal(row["DayNrReal"]);
                staffReal.EveRnReal = Convert.ToDecimal(row["EveRnReal"]);
                staffReal.EveNrReal = Convert.ToDecimal(row["EveNrReal"]);
                staffReal.NigRnReal = Convert.ToDecimal(row["NigRnReal"]);
                staffReal.NigNrReal = Convert.ToDecimal(row["NigNrReal"]);
            }

            sumStaffReal = Calculate.SumStaffReal(staffReal);

            string wardCase = string.Empty;
            int    add      = 0;

            if (wardCode.Contains("W"))
            {
                wardCase = "W";
                Data.MapWardAdd.TryGetValue(wardCode, out add);
                sumOfMulClass           = Calculate.PatientClassCalc(listClass, wardCase, add);
                sumOfMulClassmulClsx100 = Calculate.GetClsMul100(sumOfMulClass);
                sumOfRealStaff          = Calculate.GetSumOfRealStaff(sumStaffReal, wardCase);
                percentage = Calculate.GetPercentag(sumOfMulClassmulClsx100, sumOfRealStaff);


                staffData = Calculate.GetStaffData(sumOfMulClass, wardCase);
            }
            else if (wardCode.Contains("ICU"))
            {
            }
            else if (wardCode.Contains("N"))
            {
            }

            Staff staff = new Staff()
            {
                StaffReal = staffReal,
                StaffData = staffData
            };

            WardCalculate wardCalc = new WardCalculate
            {
                WardPercentage   = percentage,
                NumPatientKardex = sumPatientKardex,
                NumPatientClass  = sumPatientClass
            };

            WardProduct result = new WardProduct
            {
                WardCode      = wardCode,
                WardModel     = wardModel,
                WardCalculate = wardCalc,
                Staffs        = staff
            };

            return(result);
        }