コード例 #1
0
        /// <summary>
        /// 根据登陆人科室权限查询未归档病人
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public static string GetAllUnRebackRecordsByDeptRights(string userid)
        {
            try
            {
                if (string.IsNullOrEmpty(userid))
                {
                    return("");
                }
                string deptStr = string.Empty;
                if (userid != "00")
                {
                    List <string[]> list = DS_BaseService.GetDeptAndWardInRight(userid);
                    if (null != list && list.Count() > 0)
                    {
                        deptStr = DS_Common.CombineSQLStringByList(list.Select(p => p[0]).ToList());
                    }
                }
                //修改语句 更据病人表查询未归档病人 无需更据病历表
                string sqlStr = @"select distinct a.patid, a.noofinpat, a.NAME patname, a.PY, a.WB, a.sexid sex,a.agestr, b.NAME sexname, a.outbed bedid, trim(c.Name) admitdeptname, trim(d.name) outdeptname, substr(a.admitdate, 1, 16) as admitdate,substr(a.inwarddate, 1, 16) as inwarddate
   from inpatient a  LEFT JOIN inpatientchangeinfo i on i.noofinpat = a.noofinpat  LEFT JOIN dictionary_detail b   ON b.detailid = a.sexid and b.categoryid = '3'
  LEFT JOIN department c  ON a.admitdept = c.id
  LEFT JOIN department d ON a.outhosdept = d.id
 where (a.islock=4700 or a.islock=4702 or a.islock is null) ";

                deptStr = string.IsNullOrEmpty(deptStr) ? ("'" + DS_Common.currentUser.CurrentDeptId + "'") : deptStr;
                List <string> jobList = DS_BaseService.GetRolesByUserID(userid);
                if (null == jobList || jobList.Count() == 0 || (!jobList.Contains("66") && !jobList.Contains("111")))
                {
                    sqlStr += " and (i.newdeptid in(" + deptStr + ") or a.outhosdept in(" + deptStr + ")) ";// " and a.outhosdept in(" + (string.IsNullOrEmpty(deptStr) ? YD_Common.currentUser.CurrentDeptId : deptStr) + ") ";
                }
                sqlStr += " order by admitdeptname asc,admitdate desc,inwarddate desc ";

                return(sqlStr);
            }
            catch (Exception ex)
            {
                throw new Exception("GetAllUnRebackRecordsByDeptRights" + ex.Message);
            }
        }
コード例 #2
0
        /// <summary>
        /// 保存科室常用诊断
        /// </summary>
        /// edit by Yanqiao.Cai 2013-02-25
        /// 1、add try ... catch
        /// 2、保存方法优化
        /// <param name="deptid"></param>
        private void DoSave(string deptid)
        {
            try
            {
                if (string.IsNullOrEmpty(deptid))
                {
                    DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show("请选择一条科室记录");
                    treeList_Detp.Focus();
                    return;
                }
                DataTable datasouce = (DataTable)gridControl2.DataSource;
                if (null == datasouce || datasouce.Rows.Count == 0)
                {
                    DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show("请先添加科室常用诊断");
                    return;
                }

                //edit by Yanqiao.Cai 2013-02-22
                string markid = DS_Common.CombineSQLStringByList(datasouce.Select(" 1=1 ").Select(p => p["MARKID"].ToString()).ToList());
                //string markid = "''";
                //foreach (DataRow dr in datasouce.Rows)
                //{
                //    markid = markid + ",'" + dr["MARKID"] + "'";
                //}
                if (m_SysTableManger.DoSaveDeptDiag(deptid, markid))
                {
                    DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show("保存成功");
                    m_EditState = EditState.View;
                }
                else
                {
                    DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show("保存失败");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }