Пример #1
0
        //构建查询sql
        private String generateQueryString(List <String> lstDJLSH)
        {
            if (CSTR.IsListEmpty(lstDJLSH))
            {
                return("");
            }

            //把list中的DJLSH拼接成'11','22'格式
            String DJLSH_cluster = "";

            foreach (String item in lstDJLSH)
            {
                if (CSTR.isEmpty(item))
                {
                    continue;
                }

                if (DJLSH_cluster.Length > 0)
                {
                    DJLSH_cluster += ",";
                }
                DJLSH_cluster += String.Format("'{0}'", item);
            }
            if (CSTR.isEmpty(DJLSH_cluster))
            {
                return("");
            }

            //生成查询语句
            String sql = String.Format("select [patient].patient_his_id,[patient].name," +
                                       "[study].study_state,[study].study_begin_time,[study].study_end_time " +
                                       "from [patient],[order],[study] " +
                                       "where [order].patient_id=[patient].id " +
                                       "and [order].id=[study].order_id " +
                                       "and [order].register_time>getdate()-1 " +
                                       "and [patient].patient_his_id in ({0}) ", DJLSH_cluster);

            return(sql);
        }
Пример #2
0
        //---------<<< 还原 >>>--------------------------------------------------------------------
        public DataTable revertDataTable(String strJson)
        {
            DataTable tblRet = null;

            strJson = CSTR.trim(strJson);
            if (strJson.Length <= 0)
            {
                return(null);
            }

            try
            {
                JavaScriptSerializer json = new JavaScriptSerializer();
                json.MaxJsonLength = Int32.MaxValue;//设置JSON串的最大值

                //解析json字符串
                Dictionary <String, Object> tblMap = json.Deserialize <Dictionary <String, Object> >(strJson);
                if (CSTR.IsDictionaryEmpty(tblMap))
                {
                    return(null);
                }

                //必须使用ArrayList,当用List<String>时返回为null(原因不明)
                ArrayList columnList = tblMap["column"] as ArrayList;
                if (CSTR.IsListEmpty(columnList))
                {
                    return(null);
                }

                ArrayList rowList = tblMap["data"] as ArrayList;
                if (CSTR.IsListEmpty(rowList))
                {
                    return(null);
                }

                //重建DataTable
                tblRet = new DataTable();
                //重建column
                foreach (String column in columnList)
                {
                    tblRet.Columns.Add(column);
                }

                //填充数据
                int nCloumnCount = columnList.Count;
                foreach (ArrayList list in rowList)
                {
                    DataRow newRow = tblRet.NewRow();
                    for (int i = 0; i < nCloumnCount; i++)
                    {
                        newRow[i] = list[i];
                    }
                    tblRet.Rows.Add(newRow);//循环添加行
                }
            }
            catch (Exception exp)
            {
                Console.WriteLine(exp.Message);
                tblRet = null;
            }

            return(tblRet);
        }
Пример #3
0
        /// <summary>
        /// check_us_exam_status()
        /// 用于查找超声系统中,指定的DJLSH的体检检查的完成状态
        /// </summary>
        /// <param name="lstDJLSH">需要查询的DJLSH列表</param>
        /// <returns>map('DJLSH',true/false) true表示已经完成,false表示不存在或未完成</returns>
        private Dictionary <String, bool> check_us_exam_status()
        {
            try
            {
                //获取[超声科]房间的未完成检查列表
                List <String> lstDJLSH = getUltrasoundExamList();
                if (CSTR.IsListEmpty(lstDJLSH))
                {
                    return(null);
                }

                //生成检查状态sql语句
                String sql = generateQueryString(lstDJLSH);
                if (CSTR.isEmpty(sql))
                {
                    return(null);
                }

                //执行查询
                SqlServerOperator us_db = new SqlServerOperator(true);
                DataTable         tbl   = us_db.query(sql);
                if (CSTR.IsTableEmpty(tbl))
                {
                    return(null);
                }

                //构建返回map
                Dictionary <String, bool> map = new Dictionary <string, bool>();
                foreach (DataRow row in tbl.Rows)
                {
                    //获取DJLSH
                    String DJLSH   = CSTR.ObjectTrim(row["patient_his_id"]);
                    bool   is_over = CSTR.ObjectTrim(row["study_state"]).Equals("已登记") ? false : true;
                    if (CSTR.isEmpty(DJLSH))
                    {
                        continue;
                    }

                    //在map.key中查找是否存在,如果没有则添加
                    bool is_key_exist = false;
                    foreach (String key in map.Keys)
                    {
                        if (DJLSH.Equals(key))
                        {
                            is_key_exist = true;
                        }
                    }

                    if (is_key_exist)
                    {
                        //多个相同DJLSH只要有一个已完成就OK
                        bool is_over_exist = map[DJLSH];
                        if (false == is_over_exist && true == is_over)
                        {
                            map[DJLSH] = true;
                        }
                    }
                    else
                    {
                        //new,加入到map
                        map[DJLSH] = is_over;
                    }
                }

                return(map);
            }
            catch (Exception exp)
            {
                System.Console.WriteLine(exp.Message);
            }

            //出错返回null值
            return(null);
        }