/// <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); } }
/// <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; } }