public ActionResult GetListJson(Pagination pagination, string queryJson) { var watch = CommonHelper.TimerStart(); pagination.p_kid = "ID"; pagination.p_fields = "INSPECTIONNAME,INSPECTIONTIME,FILEID,FILENAME,FILEPATH";//注:此处要替换成需要查询的列 pagination.p_tablename = "V_INSPECTION"; pagination.conditionJson = "1=1"; pagination.sidx = "INSPECTIONTIME"; pagination.sord = "desc"; ERCHTMS.Code.Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); if (user.IsSystem) { pagination.conditionJson = "1=1"; } else { string where = new ERCHTMS.Busines.AuthorizeManage.AuthorizeBLL().GetModuleDataAuthority(ERCHTMS.Code.OperatorProvider.Provider.Current(), HttpContext.Request.Cookies["currentmoduleId"].Value); pagination.conditionJson += " and " + where; } var data = inspectionbll.GetPageListByProc(pagination, queryJson); var jsonData = new { rows = data, total = pagination.total, page = pagination.page, records = pagination.records, costtime = CommonHelper.TimerEnd(watch) }; return(ToJsonResult(jsonData)); }
/// <summary> /// 风险统计 /// </summary> /// <param name="user"></param> /// <returns></returns> public object GetStat(ERCHTMS.Code.Operator user) { string roleNames = user.RoleName; string sql = "select grade,count(1) from BIS_RISKASSESS where status=1 and deletemark=0 and grade is not null and deptcode like '" + user.OrganizeCode + "%'"; if (!(user.RoleName.Contains("公司级用户") || user.RoleName.Contains("厂级部门用户"))) { sql += string.Format(" and deptcode like '" + user.DeptCode + "%'"); } sql += " group by grade"; List <object> list = new List <object>(); DataTable dt = this.BaseRepository().FindTable(sql); int count1 = dt.Select("grade='一级'").Length == 0 ? 0 : int.Parse(dt.Select("grade='一级'")[0][1].ToString()); int count2 = dt.Select("grade='二级'").Length == 0 ? 0 : int.Parse(dt.Select("grade='二级'")[0][1].ToString()); int count3 = dt.Select("grade='三级'").Length == 0 ? 0 : int.Parse(dt.Select("grade='三级'")[0][1].ToString()); int count4 = dt.Select("grade='四级'").Length == 0 ? 0 : int.Parse(dt.Select("grade='四级'")[0][1].ToString()); int sum = count1 + count2 + count3 + count4; decimal percent = sum == 0 ? 0 : decimal.Parse(count1.ToString()) / decimal.Parse(sum.ToString()); list.Add(new { risklevel = "一级", problemNum = count1, problemrate = Math.Round(percent, 4) }); percent = sum == 0 ? 0 : decimal.Parse(count2.ToString()) / decimal.Parse(sum.ToString()); list.Add(new { risklevel = "二级", problemNum = count2, problemrate = Math.Round(percent, 4) }); percent = sum == 0 ? 0 : decimal.Parse(count3.ToString()) / decimal.Parse(sum.ToString()); list.Add(new { risklevel = "三级", problemNum = count3, problemrate = Math.Round(percent, 4) }); percent = sum == 0 ? 0 : decimal.Parse(count4.ToString()) / decimal.Parse(sum.ToString()); list.Add(new { risklevel = "四级", problemNum = count4, problemrate = Math.Round(percent, 4) }); return(new { risktotalnum = sum, riskList = list }); }
/// <summary> /// 首页待办事项获取辨识评估计划 /// </summary> /// <param name="user"></param> /// <param name="mode"></param> /// <returns></returns> public int GetPlanCount(ERCHTMS.Code.Operator user, int mode) { int count = 0; string sql = string.Format("select planid from BIS_RISKPPLANDATA where datatype=0 and userid='{0}'", user.Account); DataTable dt = this.BaseRepository().FindTable(sql); if (dt.Rows.Count > 0) { StringBuilder sb = new StringBuilder(); foreach (DataRow dr in dt.Rows) { sb.Append(dr[0].ToString() + ","); } sql = "select count(1) from BIS_RISKPLAN where status=0 "; //当前用户待辨识或评估的计划 if (mode == 0) { sql += string.Format(" and id in('{0}') or createuserid='{1}'", sb.ToString().TrimEnd(',').Replace(",", "','"), user.UserId); count = this.BaseRepository().FindObject(sql).ToInt(); } //当前用户所在部门待辨识或评估的计划 else { sql += string.Format(" and (',' || userids || ',' like '{0}' or createuserid='{1}' or deptcode='{2}", user.Account, user.UserId, user.DeptCode); sql += string.Format(" or id in(select planid from BIS_RISKPPLANDATA where deptcode='{0}'))", user.DeptCode); count = this.BaseRepository().FindObject(sql).ToInt(); } } return(count); }
/// <summary> /// 11.2 根据区域ID获取风险清单 /// </summary> /// <param name="areaId">区域ID</param> /// <returns></returns> public DataTable GetRiskList(string areaId, ERCHTMS.Code.Operator user, long type, string grade) { string sql = string.Format("select id riskId,dangersource riskDescribe,grade riskLevel from BIS_RISKASSESS where districtid='{0}' and deletemark=0 and enabledmark=0 ", areaId); if (type == 1) { sql += " and grade is not null and createuserid ='" + user.UserId + "'"; } if (type == 2) { sql += " and grade is not null and gradeval=1"; } if (type == 3) { string roleNames = user.RoleName; if (!(roleNames.Contains("公司级用户") || roleNames.Contains("厂级部门用户"))) { sql += " and deptcode like '" + user.DeptCode + "%'"; } } if (!string.IsNullOrEmpty(areaId)) { sql += " and grade is not null and districtid='" + areaId + "'"; } if (!string.IsNullOrEmpty(grade)) { sql += " and grade='" + grade + "'"; } sql += "order by createdate desc"; return(this.BaseRepository().FindTable(sql)); }
/// <summary> /// 11.1 风险清单列表 /// </summary> /// <param name="type">查询方式,1:我的,2:重大风险,3:全部</param> /// <param name="areaId">区域ID</param> /// <param name="grade">风险级别</param> /// <param name="user">当前用户</param> /// <returns></returns> public DataTable GetAreaList(int type, string areaId, string grade, ERCHTMS.Code.Operator user) { string sql = "select t.districtid identity,t.districtname identityName,nvl(a.identityNum,0) identityNum from BIS_DISTRICT t right join (select districtname identityName,districtid,count(1) identityNum from BIS_RISKASSESS where status=1 and deletemark=0 and deptcode like '" + user.OrganizeCode + "%'"; if (type == 1) { sql += " and grade is not null and createuserid ='" + user.UserId + "'"; } if (type == 2) { sql += " and grade is not null and gradeval=1"; } if (type == 3) { string roleNames = user.RoleName; if (!(roleNames.Contains("公司级用户") || roleNames.Contains("厂级部门用户"))) { sql += " and deptcode like '" + user.DeptCode + "%'"; } } if (!string.IsNullOrEmpty(areaId)) { sql += " and grade is not null and districtid='" + areaId + "'"; } if (!string.IsNullOrEmpty(grade)) { sql += " and grade='" + grade + "'"; } sql += " group by districtname,districtid) a on t.districtid=a.districtid where t.organizeid='" + user.OrganizeId + "' order by t.districtcode,sortcode "; return(this.BaseRepository().FindTable(sql)); }
/// <summary> /// 人员操作换部门时写记录 /// </summary> /// <param name="userId">用户Id</param> /// <param name="deptId">部门Id</param> /// <returns></returns> public int WriteChangeRecord(UserInfoEntity user, ERCHTMS.Code.Operator currUser) { //找到之前没有结尾的工作记录填写结尾 string sql = string.Format("update BIS_WORKRECORD set leavetime=to_date('{1}','yyyy-mm-dd hh24:mi:ss') where id=(select id from (select id from BIS_WORKRECORD t where userid='{0}' and WorkType=1 and LeaveTime =to_date('0001-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss') order by createdate desc) a where rownum=1) ", user.UserId, DateTime.Now); this.BaseRepository().ExecuteBySql(sql); //在新增一条新的工作记录 WorkRecordEntity workEntity = new WorkRecordEntity { Id = Guid.NewGuid().ToString(), DeptCode = user.DepartmentCode, DeptId = user.DepartmentId, EnterDate = DateTime.Now, UserId = user.UserId, UserName = user.RealName, DeptName = user.DeptName, PostName = user.DutyName, CreateDate = DateTime.Now, CreateUserId = currUser.UserId, //LeaveTime = user.DepartureTime.Value, OrganizeName = user.OrganizeName, JobName = user.PostName, WorkType = 1 }; return(new Repository <WorkRecordEntity>(DbFactory.Base()).Insert(workEntity)); }
/// <summary>12.1 获取辨识计划列表</summary> /// <returns></returns> public DataTable GetPlanList(ERCHTMS.Code.Operator user, string condition) { string sql = string.Format("select id riskIdentifyId,t.planname riskIdentifyName,t.startdate riskIdentifyTime,t.enddate,t.deptname,status riskIdentifyDepart,status from BIS_RISKPLAN t where "); sql += condition; sql += " order by createdate desc"; return(this.BaseRepository().FindTable(sql)); }
/// <summary> /// 12.9 获取风险辨识岗位列表 /// </summary> /// <param name="assess">实体</param> /// <param name="user">当前用户</param> /// <returns></returns> public DataTable GetPostList(string deptCode, ERCHTMS.Code.Operator user) { string sql = string.Format("select t.roleid jobId,t.fullname jobStr from base_role t where t.category=2 and t.organizeid='{0}' and t.nature=(select nature from BASE_DEPARTMENT a where a.encode='{1}')", user.OrganizeId, deptCode); if (deptCode.Length == 3) { sql = string.Format("select t.roleid jobId,t.fullname jobStr from base_role t where t.category=2 and t.organizeid='{0}' and t.nature='厂级'", user.OrganizeId); } return(this.BaseRepository().FindTable(sql)); }
/// <summary> /// 首页风险排名 /// </summary> /// <param name="user">当前用户对象</param> /// <returns></returns> public string GetRiskRank(ERCHTMS.Code.Operator user) { string roleNames = user.RoleName; string sql = string.Format("select * from (select t.dangersource,t.itemr,t.risktype,t.result,t.deptname,t.postname,grade from BIS_RISKASSESS t where status=1 and deletemark=0 and deptcode like '{0}%'", user.OrganizeCode); sql += " and t.itemr is not null order by gradeval asc,t.itemr desc) t where rownum<=10"; DataTable dt = this.BaseRepository().FindTable(sql); return(Newtonsoft.Json.JsonConvert.SerializeObject(dt)); }
/// <summary> /// 12.5 获取管控责任单位列表 /// </summary> /// <param name="assess">实体</param> /// <param name="user">当前用户</param> /// <returns></returns> public DataTable GetDeptList(ERCHTMS.Code.Operator user) { string sql = string.Format("select t.departmentid dutyStationId,t.encode DutyStationCode,t.fullname dutyStationName from BASE_DEPARTMENT t"); string roleNames = user.RoleName; if (!(roleNames.Contains("公司级用户") || roleNames.Contains("厂级部门用户"))) { sql += " and deptcode like '" + user.OrganizeCode + "%'"; } return(this.BaseRepository().FindTable(sql)); }
/// <summary> /// 新增危险因素监测数据 /// </summary> /// <param name="assess">实体</param> /// <param name="user">当前用户</param> /// <returns></returns> public int SaveHazard(HazarddetectionEntity hazard, ERCHTMS.Code.Operator user) { try { return(service.SaveHazard(hazard, user)); } catch (Exception) { throw; } }
/// <summary> /// 13.1-13.2获取本人或全部岗位风险卡列表 /// </summary> /// <param name="user"></param> /// <param name="mode">查询方式,0:本人,1:全部</param> /// <returns></returns> public List <object> GetPostCardList(ERCHTMS.Code.Operator user, int mode = 0) { List <object> list = new List <object>(); string sql = "select distinct deptcode,deptname from BIS_RISKASSESS where status=1 and grade is not null"; if (mode == 0) { sql = string.Format("select roleid jobId,fullname jobStr from base_role where roleid in(select t.objectid from BASE_USERRELATION t where userid='{0}' and t.category=3)", user.UserId); DataTable dt = this.BaseRepository().FindTable(sql); foreach (DataRow dr in dt.Rows) { list.Add(new { jobid = dr[0].ToString(), jobstr = dr[1].ToString(), }); } return(list); } else { if (user.RoleName.Contains("公司级用户") || user.RoleName.Contains("厂级部门用户")) { sql += " and deptcode like '" + user.OrganizeCode + "%'"; } else { sql += " and deptcode like '" + user.DeptCode + "%'"; } DataTable dt = this.BaseRepository().FindTable(sql); foreach (DataRow dr in dt.Rows) { DataTable dt1 = this.BaseRepository().FindTable(string.Format("select distinct postid,postname from BIS_RISKASSESS where deptcode='{0}' and status=1 and grade is not null", dr[0].ToString())); StringBuilder sbIds = new StringBuilder(); StringBuilder sbNames = new StringBuilder(); foreach (DataRow post in dt1.Rows) { list.Add(new { departstr = dr[1].ToString(), departcode = dr[0].ToString(), jobstr = post[1].ToString(), jobid = post[0].ToString() }); } } return(list); } }
public List <string> IsPasswordRuleStatus(ERCHTMS.Code.Operator user) { List <string> list = new List <string>(); PasswordSetEntity ps = GetList(user.OrganizeCode).Where(t => t.OrgCode == user.OrganizeCode && t.Status == 1).FirstOrDefault(); if (ps != null) { // var reg1 = /^.*(?=.{8,})(?=.*\d)(?=.*[A-Za-z]{1,})(?=.*[~_!=@#\$%^&\*\?\(\)]).*$/; if (ps.Status == 1) { string reg = "(?=.{" + ps.Len + ",})"; string[] arr = ps.Rule.Split(';'); if (arr[2].Trim().Length > 0) { reg += @"(?=.*\d)"; } if (arr[0].Trim().Length > 0) { reg += @"(?=.*[A-Z]{1,})"; } if (arr[1].Trim().Length > 0) { reg += @"(?=.*[a-z]{1,})"; } if (arr[3].Trim().Length > 0) { reg += @"(?=.*[~_!=@#\$%^&\*\?\(\)])"; } string rule = string.Format("^.*{0}.*$", reg); list.Add("true"); list.Add(ps.Rule); list.Add(ps.Remark); list.Add(ps.Len.ToString()); list.Add(rule); list.Add(ps.Num.ToString()); } } else { list.Add(""); list.Add(""); list.Add(""); list.Add("6"); list.Add(""); list.Add("0"); } return(list); }
/// <summary> /// 获取满足黑名单条件的人员 /// </summary> /// <param name="user"></param> /// <returns></returns> public DataTable GetBlacklistUsers(ERCHTMS.Code.Operator user) { DataTable dtTemp = new DataTable(); dtTemp.Columns.Add("userid"); dtTemp.Columns.Add("realname"); dtTemp.Columns.Add("deptname"); dtTemp.Columns.Add("itemname"); dtTemp.Columns.Add("remark"); DataTable dtItems = BaseRepository().FindTable(string.Format("select itemvalue,itemcode,remark from BIS_BLACKSET where status=1 and deptcode='{0}'", user.OrganizeCode)); foreach (DataRow dr in dtItems.Rows) { DataTable dt = null; string sql = ""; //年龄判断 if (dr[1].ToString() == "01") { string[] arr = dr[0].ToString().Split('|'); sql = string.Format("select userid,realname,u.DEPTNAME,'" + dr[2].ToString() + @"' itemname,('出生日期为:' || to_char(birthday,'yyyy-MM-dd')) remark from v_userinfo u where isblack=0 and gender='{0}' and birthday is not null and u.DEPARTMENTCODE like '{3}%' and (round(sysdate-to_date(to_char(u.birthday,'yyyy-MM-dd'),'yyyy-MM-dd'))/365<{1} or round(sysdate-to_date(to_char(u.birthday,'yyyy-MM-dd'),'yyyy-MM-dd'))/365>{2})", "男", arr[0], arr[1], user.DeptCode); dt = BaseRepository().FindTable(sql); dtTemp.Merge(dt); sql = string.Format("select userid,realname,u.DEPTNAME,'" + dr[2].ToString() + @"' itemname,('出生日期为:' || to_char(birthday,'yyyy-mm-dd')) remark from v_userinfo u where isblack=0 and gender='{0}' and birthday is not null and u.DEPARTMENTCODE like '{3}%' and (round(sysdate-to_date(to_char(u.birthday,'yyyy-mm-dd'),'yyyy-MM-dd'))/365<to_number({1}) or round(sysdate-to_date(to_char(u.birthday,'yyyy-mm-dd'),'yyyy-MM-dd'))/365>to_number({2})) ", "女", arr[2], arr[3], user.DeptCode); dt = BaseRepository().FindTable(sql); dtTemp.Merge(dt); } //一般违章 if (dr[1].ToString() == "03") { sql = string.Format("select t.lllegalpersonid userid,t.lllegalperson realname,'" + dr[2].ToString() + @"' itemname,LLLEGALTEAM deptname,('一般违章次数:' || count(1)) remark from V_LLLEGALBASEINFO t where t.flowstate='流程结束' and LLLEGALLEVEL='fc53ff18-b212-4763-9760-baf476eea5f3' and LLLEGALTEAMcode like '{1}%' and lllegalpersonid in(select userid from v_userinfo where isblack=0 and organizecode='{2}' ) group by lllegalpersonid,lllegalperson,LLLEGALTEAM having count(1)>{0}", dr[0].ToString(), user.DeptCode, user.OrganizeCode); dt = BaseRepository().FindTable(sql); dtTemp.Merge(dt); } //严重违章 if (dr[1].ToString() == "04") { sql = string.Format(@"select t.lllegalpersonid userid,t.lllegalperson realname,'" + dr[2].ToString() + @"' itemname,LLLEGALTEAM deptname,('严重违章:' || count(1)) remark from V_LLLEGALBASEINFO t where t.flowstate='流程结束' and LLLEGALLEVEL='5aae9e88-c06d-4383-afec-6165d5c1a312' and LLLEGALTEAMcode like '{1}%' and lllegalpersonid in(select userid from v_userinfo where isblack=0 and organizecode='{2}' ) group by lllegalpersonid,lllegalperson,LLLEGALTEAM having count(1)>{0}", dr[0].ToString(), user.DeptCode, user.OrganizeCode); dt = BaseRepository().FindTable(sql); dtTemp.Merge(dt); } } return(dtTemp); }
public ActionResult GetDeptSick(string year) { string wheresql = ""; ERCHTMS.Code.Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); if (user.IsSystem) { wheresql = ""; } else { string where = new ERCHTMS.Busines.AuthorizeManage.AuthorizeBLL().GetModuleDataAuthority(ERCHTMS.Code.OperatorProvider.Provider.Current(), HttpContext.Request.Cookies["currentmoduleId"].Value); wheresql += where; } //获取基础数据 DataTable dt = occupationalstaffdetailbll.GetStatisticsDeptTable(year, wheresql); List <OccStatisticsEntity> stlist = new List <OccStatisticsEntity>(); int Sum = 0; foreach (DataRow dr in dt.Rows) { //先获取DataTable中数据 OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = dr[0].ToString(); st.SickUserNum = Convert.ToInt32(dr[1]); st.SickValue = dr[2].ToString(); Sum += Convert.ToInt32(dr[1]); //获取总和 stlist.Add(st); } //求每条数据的比例 for (int i = 0; i < stlist.Count; i++) { stlist[i].Proportion = string.Format("{0:0.00%}", Convert.ToDouble(stlist[i].SickUserNum) / Convert.ToDouble(Sum)); } OccStatisticsEntity occ = new OccStatisticsEntity(); occ.Sicktype = "合计"; occ.SickUserNum = Sum; occ.Proportion = "100%"; occ.SickValue = ""; stlist.Add(occ); return(ToJsonResult(stlist)); }
/// <summary> /// 新增危险因素监测数据 /// </summary> /// <param name="assess">实体</param> /// <param name="user">当前用户</param> /// <returns></returns> public int SaveHazard(HazarddetectionEntity hazard, ERCHTMS.Code.Operator user) { string sql = ""; if (string.IsNullOrEmpty(hazard.HId)) { sql = string.Format(@"insert into BIS_HAZARDDETECTION( HID,AREAID,AREAVALUE,RISKID,RISKVALUE,LOCATION,STARTTIME,ENDTIME,STANDARD,DETECTIONUSERID,DETECTIONUSERNAME, ISEXCESSIVE,CREATEUSERID,CREATEDATE,CREATEUSERDEPTCODE,CREATEUSERORGCODE) values( '{0}','{1}','{2}','{3}','{4}','{5}',to_timestamp('{6}','yyyy-mm-dd hh24:mi:ss'),to_timestamp('{7}','yyyy-mm-dd hh24:mi:ss'),'{8}','{9}','{10}',{11},'{12}',to_timestamp('{13}','yyyy-mm-dd hh24:mi:ss'),'{14}','{15}')", Guid.NewGuid().ToString(), hazard.AreaId, hazard.AreaValue, hazard.RiskId, hazard.RiskValue, hazard.Location, hazard.StartTime, hazard.EndTime, hazard.Standard, hazard.DetectionUserId, hazard.DetectionUserName, hazard.IsExcessive, user.UserId, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), user.DeptCode, user.OrganizeCode); } else { sql = string.Format(@"update BIS_HAZARDDETECTION set AREAID='{1}',AREAVALUE='{2}',RISKID='{3}',RISKVALUE='{4}',LOCATION='{5}', STARTTIME=to_timestamp('{6}','yyyy-mm-dd hh24:mi:ss'),to_timestamp('{7}','yyyy-mm-dd hh24:mi:ss'),STANDARD='{8}',DETECTIONUSERID='{9}',DETECTIONUSERNAME='******', ISEXCESSIVE='{11}',MODIFYUSERID={12},MODIFYDATE=to_timestamp('{13}','yyyy-mm-dd hh24:mi:ss') where HID='{0}'", hazard.HId, hazard.AreaId, hazard.AreaValue, hazard.RiskId, hazard.RiskValue, hazard.Location, hazard.StartTime, hazard.EndTime, hazard.Standard, hazard.DetectionUserId, hazard.DetectionUserName, hazard.IsExcessive, user.UserId, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); } return this.BaseRepository().ExecuteBySql(sql); }
/// <summary> /// 首页待办事项获取辨识评估计划 /// </summary> /// <param name="user"></param> /// <param name="mode">10:待辨识的,0:待辨识或评估的,1:部门所有待辨识或评估的</param> /// <returns></returns> public int GetPlanCount(ERCHTMS.Code.Operator user, int mode) { int count = 0; string sql = string.Format("select distinct planid from BIS_RISKPPLANDATA a left join BIS_RISKPLAN b on a.planid=b.id where b.STATUS=0 and (a.userid='{0}' or b.createuserid='{1}')", user.Account, user.UserId); DataTable dt = this.BaseRepository().FindTable(sql); if (dt.Rows.Count > 0) { StringBuilder sb = new StringBuilder(); foreach (DataRow dr in dt.Rows) { sb.Append(dr[0].ToString() + ","); } sql = "select count(1) from BIS_RISKPLAN a where status=0 "; //当前用户待辨识的计划 if (mode == 10) { sql += string.Format(" and id in(select planid from BIS_RISKPPLANDATA where planid in('{0}') and datatype=0 and userid='{1}') ", sb.ToString().TrimEnd(',').Replace(",", "','"), user.Account); count = this.BaseRepository().FindObject(sql).ToInt(); } //当前用户待辨识或评估的计划 else if (mode == 0) { sql += string.Format(" and (id in('{0}') or createuserid='{1}')", sb.ToString().TrimEnd(',').Replace(",", "','"), user.UserId); count = this.BaseRepository().FindObject(sql).ToInt(); } //当前用户所在部门待辨识或评估的计划 else { sql += string.Format(" and (',' || userids || ',' like '{0}' or createuserid='{1}' or deptcode='{2}'", user.Account, user.UserId, user.DeptCode); if (DbHelper.DbType == DatabaseType.MySql) { sql += string.Format(" and (CONCAT(',',userids,',') like '{0}' or createuserid='{1}' or deptcode='{2}'", user.Account, user.UserId, user.DeptCode); } sql += string.Format(" or id in(select planid from BIS_RISKPPLANDATA where deptcode='{0}' and status=0))", user.DeptCode); count = this.BaseRepository().FindObject(sql).ToInt(); } } return(count); }
public ActionResult GetListJson(Pagination pagination, string queryJson) { var watch = CommonHelper.TimerStart(); pagination.p_kid = "ID"; pagination.p_fields = "LABOROPERATIONUSERNAME,LABOROPERATIONTIME";//注:此处要替换成需要查询的列 pagination.p_tablename = "BIS_LABORISSUE"; pagination.conditionJson = "1=1"; pagination.sidx = "CREATEDATE"; ERCHTMS.Code.Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); if (user.IsSystem) { pagination.conditionJson = "1=1"; } else { if (laborinfobll.GetPer()) { pagination.conditionJson += " and CREATEUSERORGCODE='" + user.OrganizeCode + "'"; } else { string where = new ERCHTMS.Busines.AuthorizeManage.AuthorizeBLL().GetModuleDataAuthority(ERCHTMS.Code.OperatorProvider.Provider.Current(), HttpContext.Request.Cookies["currentmoduleId"].Value); pagination.conditionJson += " and " + where; } } var data = laborissuebll.GetPageListByProc(pagination, queryJson); var jsonData = new { rows = data, total = pagination.total, page = pagination.page, records = pagination.records, costtime = CommonHelper.TimerEnd(watch) }; return(ToJsonResult(jsonData)); }
/// <summary>12.2 根据计划ID获取辨识区域</summary> /// <param name="planId">计划ID</param> /// <param name="user">当前用户</param> /// <returns></returns> public DataTable GetAreaByPlanId(string planId, int status, ERCHTMS.Code.Operator user) { DataTable dt = this.BaseRepository().FindTable(string.Format("select areaid,enddate,status from BIS_RISKPLAN where id='{0}'", planId)); string areaIds = dt.Rows[0][0].ToString(); string endDate = dt.Rows[0][1].ToString(); StringBuilder sb = new StringBuilder(","); dt = this.BaseRepository().FindTable(string.Format("select areaid from BIS_RISKPPLANDATA where datatype=0 and userid='{0}' and planid='{1}'", user.Account, planId)); foreach (DataRow dr in dt.Rows) { if (!sb.ToString().Contains("," + dr[0].ToString() + ",")) { sb.AppendFormat("{0},", dr[0].ToString()); } } if (dt.Rows.Count > 0) { areaIds = sb.ToString().TrimEnd(','); } string sql = string.Format("select t.districtid identifyAreaId,t.districtcode identifyAreaCode,t.districtname identifyAreaName from BIS_DISTRICT t "); if (string.IsNullOrEmpty(planId)) { sql += string.Format(" where t.districtid!='0' and t.organizeid='{0}' order by districtcode,sortcode", user.OrganizeId); } else { sql = string.Format("select t.districtid identifyAreaId,t.districtcode identifyAreaCode,t.districtname identifyAreaName,nvl(identityNum,0) identityNum,t.chargedept,t.chargedeptcode from BIS_DISTRICT t ", user.OrganizeId); if (status == 0) { sql += string.Format("left join (select districtid,count(1) identityNum from BIS_RISKASSESS where status>0 and deletemark=0 and createdate<=to_date('{0}','yyyy-mm-dd hh24:mi:ss') and districtid in('{1}')", endDate, areaIds.Replace(",", "','")); } else { sql += string.Format("left join (select districtid,count(1) identityNum from BIS_RISKHISTORY where status>0 and deletemark=0 and newplanid='{0}'", planId); } sql += " group by districtid) b on t.districtid=b.districtid where organizeid='" + user.OrganizeId + "' and t.districtid in('" + areaIds.Replace(",", "','") + "') and t.districtid!='0' order by districtcode,sortcode"; } return(this.BaseRepository().FindTable(sql)); }
/// <summary> /// 首页风险工作指标统计 /// </summary> /// <param name="user">当前用户对象</param> /// <returns></returns> public string GetHomeStat(ERCHTMS.Code.Operator user) { string roleNames = user.RoleName; string sql = "select grade,count(1) from BIS_RISKASSESS where status=1 and deletemark=0 and to_char(createdate,'yyyy')='" + DateTime.Now.Year + "'"; if (!(user.RoleName.Contains("公司级用户") || user.RoleName.Contains("厂级部门用户"))) { sql += string.Format(" and deptcode like '" + user.DeptCode + "%'"); } else { sql += string.Format(" and deptcode like '" + user.OrganizeCode + "%'"); } sql += " group by grade"; DataTable dt = this.BaseRepository().FindTable(sql); int count1 = dt.Select("grade='一级'").Length == 0 ? 0 : int.Parse(dt.Select("grade='一级'")[0][1].ToString()); int count2 = dt.Select("grade='二级'").Length == 0 ? 0 : int.Parse(dt.Select("grade='二级'")[0][1].ToString()); int count3 = dt.Select("grade='三级'").Length == 0 ? 0 : int.Parse(dt.Select("grade='三级'")[0][1].ToString()); int count4 = dt.Select("grade='四级'").Length == 0 ? 0 : int.Parse(dt.Select("grade='四级'")[0][1].ToString()); int sum = count1 + count2 + count3 + count4; sql = "select count(1) from BIS_RISKASSESS where to_char(createdate,'yyyy')='" + (DateTime.Now.Year - 1) + "'"; if (!(user.RoleName.Contains("公司级用户") || user.RoleName.Contains("厂级部门用户"))) { sql += string.Format(" and deptcode like '" + user.DeptCode + "%'"); } int total = this.BaseRepository().FindObject(sql).ToInt(); decimal percent = sum == 0?0:(decimal.Parse(total.ToString()) / decimal.Parse(sum.ToString())) - 1; percent = Math.Abs(percent) * 100; List <object> list = new List <object>() { sum, count1, count2, count3, count4, Math.Round(percent, 2) }; return(Newtonsoft.Json.JsonConvert.SerializeObject(list)); }
/// <summary> /// 13.3 根据岗位Id获取风险详情 /// </summary> /// <param name="user">当前用户</param> /// <param name="postId">岗位Id</param> /// <returns></returns> public List <object> GetPostRiskList(ERCHTMS.Code.Operator user, string postId, string deptCode = "") { List <object> list = new List <object>(); DataTable dt = this.BaseRepository().FindTable(string.Format("select distinct postname,deptname from BIS_RISKASSESS where postid='{0}' and deptcode='{1}'", postId, deptCode)); string deptname = dt.Rows[0][1].ToString(); string postname = dt.Rows[0][0].ToString(); string sql = string.Format("select id,dangersource,postname,deptname,result from BIS_RISKASSESS where status=1 and postid='{0}'", postId); if (!string.IsNullOrEmpty(deptCode)) { sql += " and deptcode='" + deptCode + "'"; } dt = this.BaseRepository().FindTable(sql); foreach (DataRow dr in dt.Rows) { StringBuilder sb = new StringBuilder(); DataTable dtMeasures = this.BaseRepository().FindTable(string.Format("select content from BIS_MEASURES where riskid='{0}'", dr[0].ToString())); int j = 0; foreach (DataRow measure in dtMeasures.Rows) { sb.AppendFormat("{0}.{1}\r\n", j + 1, measure[0].ToString()); j++; } list.Add(new { jobstr = postname, departstr = deptname, riskDetailsList = new { riskdescribe = dr[1].ToString(), riskresult = dr[4].ToString(), riskcontrolmeasure = sb.ToString() } }); } return(list); }
/// <summary> /// 人员离场时写工作记录 /// </summary> /// <param name="userId">用户Id</param> /// <param name="deptId">部门Id</param> /// <returns></returns> public int WriteWorkRecord(UserInfoEntity user, ERCHTMS.Code.Operator currUser) { //找到之前没有结尾的工作记录填写结尾 string sql = string.Format("select count(1) from BIS_WORKRECORD where userid='{0}' and deptid='{1}' and WorkType=1 and LeaveTime =to_date('0001-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss') ", user.UserId, user.DepartmentId); string count = this.BaseRepository().FindObject(sql).ToString(); if (count == "0") { WorkRecordEntity workEntity = new WorkRecordEntity { Id = Guid.NewGuid().ToString(), DeptCode = user.DepartmentCode, DeptId = user.DepartmentId, //EnterDate = user.EnterTime.Value, UserId = user.UserId, UserName = user.RealName, DeptName = user.DeptName, PostName = user.DutyName, CreateDate = DateTime.Now, CreateUserId = currUser.UserId, LeaveTime = user.DepartureTime.Value, OrganizeName = user.OrganizeName, JobName = user.PostName, WorkType = 1 }; //if (user.EnterTime!=null) // { // workEntity.EnterDate = user.EnterTime.Value; // } return(new Repository <WorkRecordEntity>(DbFactory.Base()).Insert(workEntity)); } else { sql = string.Format("update BIS_WORKRECORD set leavetime=to_date('{2}','yyyy-mm-dd hh24:mi:ss') where id=(select id from (select id from BIS_WORKRECORD t where userid='{0}' and deptid='{1}' and WorkType=1 and LeaveTime =to_date('0001-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss') order by createdate desc) a where rownum=1) ", user.UserId, user.DepartmentId, user.DepartureTime.Value); return(this.BaseRepository().ExecuteBySql(sql)); } }
/// <summary>11.4 区域</summary> /// <param name="user">当前用户</param> /// <returns></returns> public DataTable GetAreas(ERCHTMS.Code.Operator user, string planId) { string sql = string.Format("select t.districtid identifyAreaId,t.districtcode identifyAreaCode,t.districtname identifyAreaName,chargedeptcode deptcode,chargedept deptname from BIS_DISTRICT t where t.districtid!='0' and organizeid='{0}'", user.OrganizeId); if (!user.RoleName.Contains("公司级用户") && !user.RoleName.Contains("厂级部门用户")) { sql += " and chargedeptcode like '" + user.DeptCode + "%'"; } if (!string.IsNullOrEmpty(planId)) { StringBuilder sb = new StringBuilder(","); DataTable dt = this.BaseRepository().FindTable(string.Format("select areaid from BIS_RISKPPLANDATA where datatype=0 and userid='{0}' and planid='{1}'", user.Account, planId)); foreach (DataRow dr in dt.Rows) { if (!sb.ToString().Contains("," + dr[0].ToString() + ",")) { sb.AppendFormat("{0},", dr[0].ToString()); } } sql += string.Format(" and districtid in('{0}')", sb.ToString().Trim(',').Replace(",", "','")); } return(this.BaseRepository().FindTable(sql)); }
/// <summary> /// 12.4 新增风险辨识信息 /// </summary> /// <param name="assess">实体</param> /// <param name="user">当前用户</param> /// <returns></returns> public int SaveRisk(RiskAssessEntity assess, ERCHTMS.Code.Operator user) { string sql = ""; if (string.IsNullOrEmpty(assess.Id)) { sql = string.Format(@"insert into BIS_RISKASSESS(id,dangersource,deptcode,deptname,postid,postname,createuserid,createdate,createusername,createuserdeptcode,createuserorgcode,status,result,harmtype,risktype,DeleteMark,state,districtid,districtname,planid,areacode) values( '{0}','{1}','{2}','{3}','{4}','{5}','{6}',{7},'{8}','{9}','{10}',{11},'{12}','{13}','{14}',{15},{16},'{17}','{18}','{19}','{20}')", Guid.NewGuid().ToString(), assess.DangerSource, assess.DeptCode, assess.DeptName, assess.PostId, assess.PostName, user.UserId, "sysdate", user.UserName, user.DeptCode, user.OrganizeCode, 2, assess.Result, assess.HarmType, assess.RiskType, 0, 1, assess.DistrictId, assess.DistrictName, assess.PlanId, assess.AreaCode); } else { if (assess.Status == 1) { assess.State = 1; } else { assess.State = 0; } sql = string.Format(@"update BIS_RISKASSESS set dangersource='{1}',deptcode='{2}',deptname='{3}',postid='{4}',postname='{5}',result='{6}',harmtype='{7}',risktype='{8}',districtid='{9}',districtname='{10}',areacode='{11}',State={12},planid='{13}' where id='{0}'", assess.Id, assess.DangerSource, assess.DeptCode, assess.DeptName, assess.PostId, assess.PostName, assess.Result, assess.HarmType, assess.RiskType, assess.DistrictId, assess.DistrictName, assess.AreaCode, assess.State, assess.PlanId); } return(this.BaseRepository().ExecuteBySql(sql)); }
/// <summary> /// 人员操作换部门时写记录 /// </summary> /// <param name="userId">用户Id</param> /// <param name="deptId">部门Id</param> /// <returns></returns> public int WriteChangeRecord(UserInfoEntity user, ERCHTMS.Code.Operator currUser) { return(service.WriteChangeRecord(user, currUser)); }
public string GetHazardSickImage(string year, string risk) { string wheresql = ""; ERCHTMS.Code.Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); if (user.IsSystem) { wheresql = ""; } else { string where = new ERCHTMS.Busines.AuthorizeManage.AuthorizeBLL().GetModuleDataAuthority(ERCHTMS.Code.OperatorProvider.Provider.Current(), HttpContext.Request.Cookies["currentmoduleId"].Value); wheresql += " and " + where; } List <string> yValues = new List <string>(); List <object> dic = new List <object>(); List <int> num = new List <int>(); List <int> CBnum = new List <int>(); List <double> Cblist = new List <double>(); HazarddetectionBLL habll = new HazarddetectionBLL(); int years = Convert.ToInt32(year); DataTable dt = habll.GetStatisticsHazardTable(years, risk, true, wheresql); //全部统计数据 DataTable dtCb = habll.GetStatisticsHazardTable(years, risk, false, wheresql); //超标统计数据 int[] Month = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; //先设定月份 int dtRow = 0; //第几行数据 int dtCbRow = 0; for (int i = 0; i < Month.Length; i++) { yValues.Add(Month[i].ToString()); //验证是否有这一年数据 if (dtRow < dt.Rows.Count) { int mon = Convert.ToInt32(dt.Rows[dtRow][0]); if (mon == Month[i]) //如果有这个年份直接添加 { int Sum = Convert.ToInt32(dt.Rows[dtRow][1]); num.Add(Sum); if (dtCbRow < dtCb.Rows.Count) { int monCb = Convert.ToInt32(dtCb.Rows[dtCbRow][0]); if (monCb == Month[i]) { int Cb = Convert.ToInt32(dtCb.Rows[dtCbRow][1]); CBnum.Add(Cb); double c = Convert.ToDouble(string.Format("{0:0.00}", (Convert.ToDouble(Cb) / Sum) * 100)); Cblist.Add(c); dtCbRow++; } else { CBnum.Add(0); Cblist.Add(0); } } else { CBnum.Add(0); Cblist.Add(0); } dtRow++; } else { num.Add(0); CBnum.Add(0); Cblist.Add(0); } } else { num.Add(0); CBnum.Add(0); Cblist.Add(0); } } dic.Add(new { name = "超标数量", type = "column", yAxis = 1, data = CBnum }); dic.Add(new { name = "监测数量", type = "column", yAxis = 1, data = num }); dic.Add(new { name = "超标率%", type = "spline", yAxis = 0, data = Cblist });//, tooltip = "{valueSuffix: ' %'}" return(Newtonsoft.Json.JsonConvert.SerializeObject(new { x = dic, y = yValues })); }
public ActionResult GetHazardSick(string year, string risk) { string wheresql = ""; ERCHTMS.Code.Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); if (user.IsSystem) { wheresql = ""; } else { string where = new ERCHTMS.Busines.AuthorizeManage.AuthorizeBLL().GetModuleDataAuthority(ERCHTMS.Code.OperatorProvider.Provider.Current(), HttpContext.Request.Cookies["currentmoduleId"].Value); wheresql += " and " + where; } HazarddetectionBLL habll = new HazarddetectionBLL(); int years = Convert.ToInt32(year); DataTable dt = habll.GetStatisticsHazardTable(years, risk, true, wheresql); //全部统计数据 DataTable dtCb = habll.GetStatisticsHazardTable(years, risk, false, wheresql); //超标统计数据 List <OccStatisticsEntity> stlist = new List <OccStatisticsEntity>(); int[] Month = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };//先设定月份 int Sum = 0; int CbSum = 0; int dtRow = 0;//第几行数据 int dtCbRow = 0; for (int i = 0; i < Month.Length; i++) { //验证是否有这一年数据 if (dtRow < dt.Rows.Count) { int mon = Convert.ToInt32(dt.Rows[dtRow][0]); if (mon == Month[i]) //如果有这个年份直接添加 { //先获取DataTable中数据 OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = Convert.ToInt32(dt.Rows[dtRow][0]).ToString(); st.SickUserNum = Convert.ToInt32(dt.Rows[dtRow][1]); if (dtCbRow < dtCb.Rows.Count) { int monCb = Convert.ToInt32(dtCb.Rows[dtCbRow][0]); if (monCb == Month[i]) { st.SickValue = dtCb.Rows[dtCbRow][1].ToString(); CbSum += Convert.ToInt32(dtCb.Rows[dtCbRow][1]); dtCbRow++; } else { st.SickValue = "0"; } } else { st.SickValue = "0"; } Sum += Convert.ToInt32(dt.Rows[dtRow][1]); stlist.Add(st); dtRow++; } else { OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = Month[i].ToString(); st.SickUserNum = 0; st.SickValue = "0"; stlist.Add(st); } } else { OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = Month[i].ToString(); st.SickUserNum = 0; st.SickValue = "0"; stlist.Add(st); } } OccStatisticsEntity Hj = new OccStatisticsEntity(); Hj.Sicktype = "合计"; Hj.SickUserNum = Sum; Hj.SickValue = CbSum.ToString(); stlist.Add(Hj); //遍历修改其比例和合计 for (int i = 0; i < stlist.Count; i++) { if (stlist[i].SickValue != "0") { stlist[i].Proportion = string.Format("{0:0.00%}", Convert.ToDouble(stlist[i].SickValue) / Convert.ToDouble(stlist[i].SickUserNum)); } else { stlist[i].Proportion = "0.00%"; } } return(ToJsonResult(stlist)); }
public string GetYearImageSick(string year, string dept) { string wheresql = ""; ERCHTMS.Code.Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); if (user.IsSystem) { wheresql = ""; } else { string where = new ERCHTMS.Busines.AuthorizeManage.AuthorizeBLL().GetModuleDataAuthority(ERCHTMS.Code.OperatorProvider.Provider.Current(), HttpContext.Request.Cookies["currentmoduleId"].Value); wheresql += where; } List <string> yValues = new List <string>(); List <object> dic = new List <object>(); List <int> num = new List <int>(); int yearNum = Convert.ToInt32(year); int NowYear = DateTime.Now.Year; //获取已有年份数据 DataTable dt = occupationalstaffdetailbll.GetStatisticsYearTable(yearNum, dept, wheresql); List <OccStatisticsEntity> stlist = new List <OccStatisticsEntity>(); int dtRow = 0; if (yearNum != 0) { //根据近X年 进行数据补全 for (int i = 1; i <= yearNum; i++) { //验证是否有这一年数据 if (dtRow < dt.Rows.Count) { int y = Convert.ToInt32(dt.Rows[dtRow][0]); if (y == NowYear - (yearNum - i)) //如果有这个年份直接添加 { //先获取DataTable中数据 yValues.Add(dt.Rows[dtRow][0].ToString()); num.Add(Convert.ToInt32(dt.Rows[dtRow][1])); dtRow++; } else { yValues.Add((NowYear - (yearNum - i)).ToString()); num.Add(0); } } else { yValues.Add((NowYear - (yearNum - i)).ToString()); num.Add(0); } } } else { for (int i = 0; i < dt.Rows.Count; i++) { //先获取DataTable中数据 yValues.Add(dt.Rows[i][0].ToString()); num.Add(Convert.ToInt32(dt.Rows[i][1])); dtRow++; } } dic.Add(new { name = "职业病数量", data = num }); return(Newtonsoft.Json.JsonConvert.SerializeObject(new { x = dic, y = yValues })); }
public ActionResult GetYearSick(string year, string dept) { string wheresql = ""; ERCHTMS.Code.Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); if (user.IsSystem) { wheresql = ""; } else { string where = new ERCHTMS.Busines.AuthorizeManage.AuthorizeBLL().GetModuleDataAuthority(ERCHTMS.Code.OperatorProvider.Provider.Current(), HttpContext.Request.Cookies["currentmoduleId"].Value); wheresql += where; } int yearNum = Convert.ToInt32(year); int NowYear = DateTime.Now.Year; //获取已有年份数据 DataTable dt = occupationalstaffdetailbll.GetStatisticsYearTable(yearNum, dept, wheresql); List <OccStatisticsEntity> stlist = new List <OccStatisticsEntity>(); int Sum = 0; int dtRow = 0; if (yearNum != 0) { //根据近X年 进行数据补全 for (int i = 1; i <= yearNum; i++) { //验证是否有这一年数据 if (dtRow < dt.Rows.Count) { int y = Convert.ToInt32(dt.Rows[dtRow][0]); if (y == NowYear - (yearNum - i)) //如果有这个年份直接添加 { //先获取DataTable中数据 OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = dt.Rows[dtRow][0].ToString(); st.SickUserNum = Convert.ToInt32(dt.Rows[dtRow][1]); stlist.Add(st); dtRow++; } else { //先获取DataTable中数据 OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = (NowYear - (yearNum - i)).ToString(); st.SickUserNum = 0; stlist.Add(st); } } else { //先获取DataTable中数据 OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = (NowYear - i).ToString(); st.SickUserNum = 0; stlist.Add(st); } } } else { for (int i = 0; i < dt.Rows.Count; i++) { //先获取DataTable中数据 OccStatisticsEntity st = new OccStatisticsEntity(); st.Sicktype = dt.Rows[i][0].ToString(); st.SickUserNum = Convert.ToInt32(dt.Rows[i][1]); stlist.Add(st); } } return(ToJsonResult(stlist)); }
public DataTable GetDTList() { ERCHTMS.Code.Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); return(this.BaseRepository().FindTable(string.Format("select encode,fullname,organizeid as orgid from BASE_DEPARTMENT where nature='厂级' and deptcode like '{0}%'", user.OrganizeCode))); }