Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        /// <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 });
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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));
        }
Esempio n. 5
0
        /// <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));
        }
Esempio n. 6
0
        /// <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));
        }
Esempio n. 7
0
        /// <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));
        }
Esempio n. 8
0
        /// <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));
        }
Esempio n. 9
0
        /// <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));
        }
Esempio n. 10
0
        /// <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));
        }
Esempio n. 11
0
 /// <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;
     }
 }
Esempio n. 12
0
        /// <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);
            }
        }
Esempio n. 13
0
        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);
        }
Esempio n. 14
0
        /// <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);
        }
Esempio n. 15
0
        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));
        }
Esempio n. 16
0
        /// <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);
        }
Esempio n. 17
0
        /// <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);
        }
Esempio n. 18
0
        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));
        }
Esempio n. 19
0
        /// <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));
        }
Esempio n. 20
0
        /// <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));
        }
Esempio n. 21
0
        /// <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);
        }
Esempio n. 22
0
        /// <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));
            }
        }
Esempio n. 23
0
        /// <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));
        }
Esempio n. 24
0
        /// <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));
        }
Esempio n. 25
0
 /// <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));
 }
Esempio n. 26
0
        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 }));
        }
Esempio n. 27
0
        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));
        }
Esempio n. 28
0
        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 }));
        }
Esempio n. 29
0
        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));
        }
Esempio n. 30
0
 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)));
 }