Esempio n. 1
0
        /// <summary>
        /// 调用摄像头门卫录入拜访人脸照片
        /// </summary>
        /// <param name="keyValue"></param>
        /// <returns></returns>
        public void SaveFileImgForm(CarUserFileImgEntity entity)
        {
            Repository <CarUserFileImgEntity> inlogdb = new Repository <CarUserFileImgEntity>(DbFactory.Base());
            CarUserFileImgEntity old = inlogdb.FindEntity(entity.ID);

            if (old != null)
            {
                if (string.IsNullOrEmpty(old.Userimg))
                {//人脸信息未录入
                    #region 获取海康地址和秘钥
                    DataItemDetailService data = new DataItemDetailService();
                    var    pitem     = data.GetItemValue("Hikappkey");  //海康服务器密钥
                    var    baseurl   = data.GetItemValue("HikBaseUrl"); //海康服务器地址
                    string Key       = string.Empty;
                    string Signature = string.Empty;
                    if (!string.IsNullOrEmpty(pitem))
                    {
                        Key       = pitem.Split('|')[0];
                        Signature = pitem.Split('|')[1];
                    }
                    #endregion
                    FacedataEntity        face     = new FacedataEntity();
                    List <FacedataEntity> FaceList = new List <FacedataEntity>();
                    face.UserId  = old.ID;
                    face.ImgData = entity.Imgdata;
                    FaceList.Add(face);
                    SocketHelper.UploadFace(FaceList, baseurl, Key, Signature);
                }
                old.Userimg = entity.Userimg;
                old.Imgdata = entity.Imgdata;
                inlogdb.Update(old);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 获取人员来自培训平台的考试记录
        /// </summary>
        /// <param name="userAccount"></param>
        /// <returns></returns>
        public string GetExamRecord(string userId, string userAccount, string deptId, string idCard = "")
        {
            string fileName = "Train_" + DateTime.Now.ToString("yyyyMMdd") + ".log";

            try
            {
                if (string.IsNullOrEmpty(deptId))
                {
                    var user = GetUserInfoEntity(userId);
                    deptId = BaseRepository().FindObject(string.Format("select px_deptid from xss_dept where deptid='{0}'", user.DepartmentId)).ToString();
                }
                WebClient wc = new WebClient();
                wc.Credentials = CredentialCache.DefaultCredentials;
                wc.Headers.Add("Content-Type", "text/json; charset=utf-8");
                System.Collections.Specialized.NameValueCollection nc = new System.Collections.Specialized.NameValueCollection();
                //发送请求到web api并获取返回值,默认为post方式
                string url  = new DataItemDetailService().GetItemValue("TrainServiceUrl");
                string json = Newtonsoft.Json.JsonConvert.SerializeObject(new { business = "GetExamRecord", idcard = idCard, DeptId = deptId, userAccount = userAccount });
                nc.Add("json", json);
                string result = wc.DownloadString(new Uri(url + "?json=" + json));
                System.IO.File.AppendAllText(HttpContext.Current.Server.MapPath("~/logs/" + fileName), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " :获取人员考试记录,远程服务器返回信息:" + result + "\r\n");
                return(result);
            }
            catch (Exception ex)
            {
                System.IO.File.AppendAllText(HttpContext.Current.Server.MapPath("~/logs/" + fileName), DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " :获取人员考试记录异常,信息:" + ex.Message + "\r\n");
                return("");
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 获取通行岗唯一标示(即车库)
        /// </summary>
        /// <param name="name"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public string GetTrafficPost(string currentid, int type)
        {
            string res = string.Empty;

            try
            {
                switch (type)
                {
                case 1:    //私家车
                    res = currentid;
                    break;

                case 6:    //临时通行车辆
                    res = currentid;
                    break;

                default:
                    DataItemDetailService       itembll = new DataItemDetailService();
                    IEnumerable <DataItemModel> list    = itembll.GetDataItemListByItemCode("KmCarType");
                    var entity = list.Where(a => a.ItemValue == type.ToString()).FirstOrDefault();
                    if (entity != null && entity.Description != null)
                    {    //编码管理中设置
                        res = entity.Description.Replace("<p>", "").Replace("</p>", "").Trim();;
                    }
                    break;
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(res);
        }
Esempio n. 4
0
 /// <summary>
 /// 离场或拒绝入场删除海康平台人员信息
 /// </summary>
 /// <param name="list">离厂人员</param>
 /// <param name="type">0拒绝入场 1人员离厂</param>
 public void DeleteUserHiK(List <CarUserFileImgEntity> list, int type = 0)
 {
     if (list.Count > 0)
     {
         DataItemDetailService data = new DataItemDetailService();
         var    pitem     = data.GetItemValue("Hikappkey");  //海康服务器密钥
         var    baseurl   = data.GetItemValue("HikBaseUrl"); //海康服务器地址
         string Key       = string.Empty;
         string Signature = string.Empty;
         if (!string.IsNullOrEmpty(pitem))
         {
             Key       = pitem.Split('|')[0];
             Signature = pitem.Split('|')[1];
         }
         string        Url     = "/artemis/api/resource/v1/person/batch/delete";//接口地址
         List <string> dellist = new List <string>();
         foreach (var item in list)
         {
             dellist.Add(item.ID);
         }
         if (type == 1)
         {
             DeleteUserlimits(list, baseurl, Key, Signature);
         }
         ;
         var model = new
         {
             personIds = dellist
         };
         SocketHelper.LoadCameraList(model, baseurl, Url, Key, Signature);
     }
 }
Esempio n. 5
0
        /// <summary>
        /// 普通设备离场
        /// </summary>
        /// <param name="equipmentId">用户Id</param>
        /// <param name="leaveTime">离场时间</param>
        /// <returns></returns>
        public int SetLeave(string equipmentId, string leaveTime, string DepartureReason)
        {
            DataItemDetailService service = new DataItemDetailService();

            leaveTime = "to_date('" + leaveTime + " 00:00:00','yyyy-mm-dd hh24:mi:ss')";
            return(this.BaseRepository().ExecuteBySql(string.Format("update BIS_EQUIPMENT set state={0},DepartureTime={1},DepartureReason='{3}' where id in('{2}')", service.GetItemValue("离厂", "EQUIPMENTSTATE"), leaveTime, equipmentId.Replace(",", "','"), DepartureReason)));
        }
Esempio n. 6
0
        /// <summary>
        /// 单个添加人脸
        /// </summary>
        public void SaveSingleFace(TemporaryUserEntity insert)
        {
            DataItemDetailService data = new DataItemDetailService();
            var    pitem     = data.GetItemValue("Hikappkey");  //密钥
            var    baseurl   = data.GetItemValue("HikBaseUrl"); //海康地址
            string Key       = string.Empty;
            string Signature = string.Empty;
            string url       = "/artemis/api/resource/v1/face/single/add";

            if (!string.IsNullOrEmpty(pitem))
            {
                Key       = pitem.Split('|')[0];
                Signature = pitem.Split('|')[1];
            }

            var model = new
            {
                personId = insert.USERID,
                faceData = insert.ImgData
            };

            HttpUtillibKbs.SetPlatformInfo(Key, Signature, baseurl, 443, true);
            byte[] result = HttpUtillibKbs.HttpPost(url, JsonConvert.SerializeObject(model), 20);
            //string msg = System.Text.Encoding.UTF8.GetString(result);

            //string msg = SocketHelper.LoadCameraList(model, baseurl, url, Key, Signature);
        }
Esempio n. 7
0
        /// <summary>
        ///根据辨识计划ID获取相关风险点的各状态数量信息
        /// </summary>
        /// <param name="planId">计划ID</param>
        /// <param name="startDate">计划开始时间</param>
        /// <param name="endDate">计划结束时间</param>
        /// <returns>依次为原有风险数量,新增风险数量,完善风险数量,删除风险数量和现有风险数量</returns>
        public List <int> GetNumbers(string planId, string startDate, string endDate, int status, string areaId)
        {
            DataItemDetailService detailservice = new DataItemDetailService();
            string     gxhs      = detailservice.GetItemValue("广西华昇版本");
            string     tableName = status == 0 ? "BIS_RISKASSESS" : "BIS_RISKHISTORY";
            List <int> list      = new List <int>();
            //原有风险数量
            string sql  = string.Format("select risknumbers from BIS_RISKPLAN where  id='{0}'", planId);
            int    num1 = this.BaseRepository().FindObject(sql).ToInt();

            list.Add(num1);
            //新增风险数量
            int num2 = this.BaseRepository().FindObject(string.Format("select count(1) from {1} where planid='{0}' and EnabledMark=0 and deletemark=0 and status=2", planId, tableName)).ToInt();

            list.Add(num2);
            //完善风险数量
            int num3 = this.BaseRepository().FindObject(string.Format("select count(1) from {1} where planid='{0}' and state=1 and status=1", planId, tableName)).ToInt();

            list.Add(num3);
            //消除风险数量
            int num4 = this.BaseRepository().FindObject(string.Format("select count(1) from {1} where planid='{0}' and status=1 and state=2", planId, tableName)).ToInt();

            list.Add(num4);
            //现有风险数量
            if (!string.IsNullOrWhiteSpace(gxhs))
            {
                sql = string.Format("select count(1) from {1} where  deletemark=0 and createdate<=to_date('{0}','yyyy-mm-dd hh24:mi:ss')  and deptcode in (select DEPTCODE from bis_riskpplandata t where t.planid ='{2}') ", DateTime.Parse(endDate.ToString()).ToString("yyyy-MM-dd 23:59:59"), tableName, planId);
                if (status == 1)
                {
                    sql = string.Format("select count(1) from {1} where  deletemark=0 and createdate<=to_date('{0}','yyyy-mm-dd hh24:mi:ss')  and newplanid='{2}'", DateTime.Parse(endDate.ToString()).ToString("yyyy-MM-dd 23:59:59"), tableName, planId);
                }
                num4 = this.BaseRepository().FindObject(sql).ToInt();
                list.Add(num4);
            }
            else
            {
                sql = string.Format("select count(1) from {1} where  deletemark=0 and createdate<=to_date('{0}','yyyy-mm-dd hh24:mi:ss')  and districtid in('{2}')", DateTime.Parse(endDate.ToString()).ToString("yyyy-MM-dd 23:59:59"), tableName, areaId.Replace(",", "','"));
                if (DbHelper.DbType == DatabaseType.MySql)
                {
                    sql = string.Format("select count(1) from {1} where  deletemark=0 and createdate<='{0}'  and districtid in('{2}')", DateTime.Parse(endDate.ToString()).ToString("yyyy-MM-dd 23:59:59"), tableName, areaId.Replace(",", "','"));
                }
                if (status == 1)
                {
                    sql = string.Format("select count(1) from {1} where  deletemark=0 and createdate<=to_date('{0}','yyyy-mm-dd hh24:mi:ss')  and newplanid='{2}'", DateTime.Parse(endDate.ToString()).ToString("yyyy-MM-dd 23:59:59"), tableName, planId);
                    if (DbHelper.DbType == DatabaseType.MySql)
                    {
                        sql = string.Format("select count(1) from {1} where  deletemark=0 and createdate<='{0}' and newplanid='{2}'", DateTime.Parse(endDate.ToString()).ToString("yyyy-MM-dd 23:59:59"), tableName, planId);
                    }
                }
                num4 = this.BaseRepository().FindObject(sql).ToInt();
                list.Add(num4);
            }

            //辨识部门、评估部门原有风险数量
            sql = string.Format("select count(1) from BIS_RISKASSESS where createdate<to_date('{0}','yyyy-mm-dd hh24:mi:ss') and status=1 and deletemark=0 and EnabledMark=0 and deptcode in (select DEPTCODE from bis_riskpplandata t where t.planid ='{1}') ", DateTime.Parse(startDate).ToString("yyyy-MM-dd 00:00:01"), planId);
            int num5 = this.BaseRepository().FindObject(sql).ToInt();

            list.Add(num5);
            return(list);
        }
Esempio n. 8
0
        /// <summary>
        /// 将临时人员信息上传到海康平台
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="list"></param>
        public AddJurisdictionEntity InsertTempUserHiK(TemporaryUserEntity entity, List <TemporaryUserEntity> list)
        {
            DataItemDetailService data = new DataItemDetailService();
            var    pitem     = data.GetItemValue("Hikappkey");  //密钥
            var    baseurl   = data.GetItemValue("HikBaseUrl"); //海康地址
            string Key       = string.Empty;
            string Signature = string.Empty;
            string no        = new Random().Next(10, 888888).ToString();

            if (!string.IsNullOrEmpty(pitem))
            {
                Key       = pitem.Split('|')[0];
                Signature = pitem.Split('|')[1];
            }
            string Url = "/artemis/api/resource/v1/person/single/add";

            foreach (var item in list)
            {
                //人脸信息(base64必须为jpg格式)
                List <FaceEntity> faces = new List <FaceEntity>();
                FaceEntity        face  = new FaceEntity();
                face.faceData = item.ImgData;
                faces.Add(face);
                string orgcode = "root000000";
                if (item.Istemporary == 0)
                {
                    orgcode = item.Groupsid;
                }
                var model = new
                {
                    personId        = item.USERID,
                    personName      = item.UserName,
                    gender          = "1",
                    orgIndexCode    = orgcode,
                    birthday        = "1990-01-01",
                    phoneNo         = item.Tel,
                    email           = "*****@*****.**",
                    certificateType = "990",
                    certificateNo   = no,
                    jobNo           = item.Tel,
                    faces
                };
                //string msg = SocketHelper.LoadCameraList(model, baseurl, Url, Key, Signature);
                HttpUtillibKbs.SetPlatformInfo(Key, Signature, baseurl, 443, true);
                byte[] result = HttpUtillibKbs.HttpPost(Url, JsonConvert.SerializeObject(model), 20);
                if (result != null)
                {
                    string    msg = System.Text.Encoding.UTF8.GetString(result);
                    parkList1 pl  = JsonConvert.DeserializeObject <parkList1>(msg);
                    if (pl != null && pl.code == "0")
                    {
                        SetLoadUserCarNo(item, baseurl, Key, Signature);
                    }
                }
            }
            //添加权限
            return(UploadUserlimits(list, baseurl, Key, Signature));
        }
Esempio n. 9
0
        /// <summary>
        /// 获取分页列表
        /// </summary>
        /// <param name="pagination"></param>
        /// <param name="queryJson"></param>
        /// <returns></returns>
        public DataTable GetList(Pagination pagination, string queryJson)
        {
            DatabaseType dataType = DbHelper.DbType;
            Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current();
            var queryParam = queryJson.ToJObject();
            if (pagination.p_fields.IsEmpty())
            {
                pagination.p_fields = @"createdate,createuserid,createuserdeptcode,createuserorgcode,createusername,modifydate,modifyuserid,infoname,require,starttime,endtime,submituserid,submiteduserid,submituseraccount,submitusername,submitdepartid,submitdepartname,pct,remnum,remusername,remdepartname,issubmit,infotype";
            }
            pagination.p_kid = "id";
            pagination.p_tablename = @"hrs_infosubmit";
            pagination.conditionJson = "1=1";

            //公司级用户、EHS部门用户查看全厂数据
            DataItemModel ehsDepart = new DataItemDetailService().GetDataItemListByItemCode("'EHSDepartment'").Where(p => p.ItemName == user.OrganizeId).ToList().FirstOrDefault();
            if (user.RoleName.Contains("公司级用户") || (ehsDepart != null && ehsDepart.ItemValue == user.DeptCode))
            {
                pagination.conditionJson += string.Format(" and createuserorgcode='{0}' and (issubmit='是' or createuserid='{1}')", user.OrganizeCode, user.UserId);
            }
            else if (user.RoleName.Contains("负责人") || user.RoleName.Contains("安全管理员"))
            {//本部门及子部门数据
                //pagination.conditionJson += string.Format(@" and issubmit='是' and instr(submitdepartid,'{0}')>0", user.DeptId);//本部门数据
                pagination.conditionJson += string.Format(@" and issubmit='是' and id in(select distinct(id) from hrs_infosubmit join base_department d on instr(submitdepartid,d.departmentid)>0 where d.encode like '{0}%')", user.DeptCode);
            }
            else
            {//其他人员查看自己相关的数据
                pagination.conditionJson += string.Format(@" and issubmit='是' and instr(submituserid,'{0}')>0", user.UserId);
            }
            //开始时间
            if (!queryParam["starttime"].IsEmpty())
            {
                pagination.conditionJson += string.Format(@" and starttime >= to_date('{0}','yyyy-mm-dd hh24:mi:ss')", queryParam["starttime"].ToString());
            }
            //结束时间
            if (!queryParam["endtime"].IsEmpty())
            {
                pagination.conditionJson += string.Format(@" and starttime < to_date('{0}','yyyy-mm-dd hh24:mi:ss')", Convert.ToDateTime(queryParam["endtime"].ToString()).AddDays(1).ToString("yyyy-MM-dd"));
            }
            //类型
            if (!queryParam["infotype"].IsEmpty())
            {
                pagination.conditionJson += string.Format(@" and infotype = '{0}'", queryParam["infotype"].ToString());
            }
            //报送名称
            if (!queryParam["infoname"].IsEmpty())
            {
                pagination.conditionJson += string.Format(@" and infoname like '%{0}%'", queryParam["infoname"].ToString());
            }
            //首页跳转
            if (!queryParam["indextype"].IsEmpty() && queryParam["indextype"].ToString()=="1")
            {
                pagination.conditionJson += string.Format(@" and instr(submituserid,'{0}')>0 and (submiteduserid is null or instr(submiteduserid,'{0}')<=0)", user.UserId);
            }
            var dt = this.BaseRepository().FindTableByProcPager(pagination, dataType);

            return dt;
        }
Esempio n. 10
0
        /// <summary>
        /// 批量权限设置
        /// </summary>
        /// <param name="list"></param>
        public List <AddJurisdictionEntity> SaveCycle(List <TemporaryUserEntity> list)
        {
            //开始事物
            var res = DbFactory.Base().BeginTrans();
            List <AddJurisdictionEntity> taskIds = new List <AddJurisdictionEntity>();

            try
            {
                List <TemporaryUserEntity>       list1      = new List <TemporaryUserEntity>();
                List <TemporaryUserEntity>       addlist    = new List <TemporaryUserEntity>();
                List <TemporaryUserEntity>       updatelist = new List <TemporaryUserEntity>();
                Repository <TemporaryUserEntity> inlogdb    = new Repository <TemporaryUserEntity>(DbFactory.Base());
                DataItemDetailService            data       = new DataItemDetailService();
                var    pitem     = data.GetItemValue("Hikappkey");  //密钥
                var    baseurl   = data.GetItemValue("HikBaseUrl"); //海康地址
                string Key       = string.Empty;
                string Signature = string.Empty;
                if (!string.IsNullOrEmpty(pitem))
                {
                    Key       = pitem.Split('|')[0];
                    Signature = pitem.Split('|')[1];
                }
                foreach (var entity in list)
                {
                    TemporaryUserEntity old = inlogdb.FindEntity(entity.USERID);
                    if (old != null)
                    {
                        old.EndTime   = entity.EndTime;
                        old.startTime = entity.startTime;
                        if (old.Istemporary == 0 && string.IsNullOrEmpty(old.PassPost))
                        {//添加权限
                            old.PassPost = entity.PassPost;
                            addlist.Add(old);
                        }
                        else
                        {//更改权限
                            updatelist.Add(old);
                            old.PassPost = entity.PassPost;
                        }
                        list1.Add(old);
                    }
                }
                SetLoadUserCarNo1(addlist, baseurl, Key, Signature);
                var delEntity = DelEquipmentRecord(updatelist, baseurl, Key, Signature);
                var addEntity = UploadUserlimits(list1, baseurl, Key, Signature);
                taskIds.Add(delEntity); //删除权限集
                taskIds.Add(addEntity); //添加权限集

                res.Update <TemporaryUserEntity>(list1);
                res.Commit();
            }
            catch (Exception er)
            {
                res.Rollback();
            }
            return(taskIds);
        }
Esempio n. 11
0
        /// <summary>
        /// 加入禁入名单
        /// </summary>
        /// <param name="list"></param>
        public List <AddJurisdictionEntity> SaveForbidden(List <TemporaryUserEntity> list)
        {
            //开始事物
            var res = DbFactory.Base().BeginTrans();
            List <AddJurisdictionEntity> taskIds = new List <AddJurisdictionEntity>();

            try
            {
                Repository <TemporaryUserEntity>   inlogdb = new Repository <TemporaryUserEntity>(DbFactory.Base());
                Repository <ForbiddenRecordEntity> Frecord = new Repository <ForbiddenRecordEntity>(DbFactory.Base());
                DataItemDetailService data = new DataItemDetailService();
                var    pitem     = data.GetItemValue("Hikappkey");  //密钥
                var    baseurl   = data.GetItemValue("HikBaseUrl"); //海康地址
                string Key       = string.Empty;
                string Signature = string.Empty;
                if (!string.IsNullOrEmpty(pitem))
                {
                    Key       = pitem.Split('|')[0];
                    Signature = pitem.Split('|')[1];
                }
                List <TemporaryUserEntity>   list1 = new List <TemporaryUserEntity>();
                List <ForbiddenRecordEntity> list2 = new List <ForbiddenRecordEntity>();
                foreach (var entity in list)
                {
                    TemporaryUserEntity old = inlogdb.FindEntity(entity.USERID);
                    if (old != null)
                    {
                        old.ISDebar = 1;
                        old.Remark  = entity.Remark;
                        list1.Add(old);
                        //禁入记录
                        ForbiddenRecordEntity RecordEntity = new ForbiddenRecordEntity();
                        RecordEntity.Create();
                        RecordEntity.StartTime = DateTime.Now;
                        RecordEntity.Remark    = entity.Remark;
                        RecordEntity.UserId    = old.USERID;
                        list2.Add(RecordEntity);
                    }
                }
                res.Update <TemporaryUserEntity>(list1);
                res.Insert <ForbiddenRecordEntity>(list2);
                res.Commit();
                if (list1.Count > 0)
                {
                    list1.ForEach(a => a.EndTime = DateTime.Now.AddDays(-1));
                }
                ;
                var Invalidentity = UploadUserlimits(list1, baseurl, Key, Signature);
                taskIds.Add(Invalidentity);
            }
            catch (Exception er)
            {
                res.Rollback();
            }
            return(taskIds);
        }
Esempio n. 12
0
        /// <summary>
        /// 单条记录授权或重新授权
        /// </summary>
        /// <param name="entity1"></param>
        /// <param name="keyValue"></param>
        /// <param name="Power">是否受过权 true 更改权限 false 添加权限</param>
        public List <AddJurisdictionEntity> SaveUserFace(TemporaryUserEntity entity1, string keyValue, bool Power)
        {
            List <AddJurisdictionEntity> taskIds = new List <AddJurisdictionEntity>();
            var res = DbFactory.Base().BeginTrans();

            try
            {
                DataItemDetailService data = new DataItemDetailService();
                var    pitem     = data.GetItemValue("Hikappkey");  //密钥
                var    baseurl   = data.GetItemValue("HikBaseUrl"); //海康地址
                string Key       = string.Empty;
                string Signature = string.Empty;
                if (!string.IsNullOrEmpty(pitem))
                {
                    Key       = pitem.Split('|')[0];
                    Signature = pitem.Split('|')[1];
                }
                Repository <TemporaryUserEntity> inlogdb = new Repository <TemporaryUserEntity>(DbFactory.Base());
                TemporaryUserEntity entity = inlogdb.FindEntity(keyValue);
                if (entity != null)
                {
                    List <TemporaryUserEntity> dellist = new List <TemporaryUserEntity>();
                    dellist.Add(entity);
                    entity.UserImg    = entity1.UserImg;
                    entity.ImgData    = entity1.ImgData;
                    entity.PassPost   = entity1.PassPost;
                    entity.PassPostId = entity1.PassPostId;
                    entity.startTime  = entity1.startTime;
                    entity.EndTime    = entity1.EndTime;
                    res.Update(entity);
                    res.Commit();
                    List <TemporaryUserEntity> list = new List <TemporaryUserEntity>();
                    list.Add(entity);
                    if (Power)
                    {     //更改权限
                        if (entity1.Remark == "1")
                        { //更换人脸(仅用于页面状态临时判断)
                            string msg = UpdateHumanFace(entity, baseurl, Key, Signature);
                        }
                        var delEntity = DelEquipmentRecord(dellist, baseurl, Key, Signature);
                        taskIds.Add(delEntity);//删除权限集
                    }
                    else
                    {//添加权限
                        SetLoadUserCarNo(entity, baseurl, Key, Signature);
                    }
                    var addEntity = UploadUserlimits(list, baseurl, Key, Signature);
                    taskIds.Add(addEntity);//添加权限集
                }
            }
            catch (Exception)
            {
                res.Rollback();
            }
            return(taskIds);
        }
Esempio n. 13
0
        /// <summary>
        /// 移除禁入名单
        /// </summary>
        /// <param name="list"></param>
        public List <AddJurisdictionEntity> RemoveForbidden(string list)
        {
            //开始事物
            var res = DbFactory.Base().BeginTrans();
            List <AddJurisdictionEntity> taskIds = new List <AddJurisdictionEntity>();

            try
            {
                Repository <TemporaryUserEntity>   inlogdb = new Repository <TemporaryUserEntity>(DbFactory.Base());
                Repository <ForbiddenRecordEntity> Frecord = new Repository <ForbiddenRecordEntity>(DbFactory.Base());
                DataItemDetailService data = new DataItemDetailService();
                var    pitem     = data.GetItemValue("Hikappkey");  //密钥
                var    baseurl   = data.GetItemValue("HikBaseUrl"); //海康地址
                string Key       = string.Empty;
                string Signature = string.Empty;
                if (!string.IsNullOrEmpty(pitem))
                {
                    Key       = pitem.Split('|')[0];
                    Signature = pitem.Split('|')[1];
                }
                List <TemporaryUserEntity>   list1 = new List <TemporaryUserEntity>();
                List <ForbiddenRecordEntity> list2 = new List <ForbiddenRecordEntity>();
                foreach (var UserId in list.Split(','))
                {
                    if (string.IsNullOrEmpty(UserId))
                    {
                        continue;
                    }
                    TemporaryUserEntity old = inlogdb.FindEntity(UserId);
                    if (old != null)
                    {
                        old.ISDebar = 0;
                        list1.Add(old);
                        //移除禁入记录
                        List <ForbiddenRecordEntity> Rlist = Frecord.IQueryable(it => it.UserId == UserId).OrderByDescending(t => t.CreateDate).ToList();
                        if (Rlist != null)
                        {
                            Rlist[0].EndTime = DateTime.Now;
                            list2.Add(Rlist[0]);
                        }
                    }
                }
                var Invalidentity = UploadUserlimits(list1, baseurl, Key, Signature);
                taskIds.Add(Invalidentity);
                res.Update <TemporaryUserEntity>(list1);
                res.Update <ForbiddenRecordEntity>(list2);
                res.Commit();
            }
            catch (Exception er)
            {
                res.Rollback();
            }
            return(taskIds);
        }
Esempio n. 14
0
        /// <summary>
        /// 根据条件获取班组任务分配信息
        /// </summary>
        /// <param name="queryJson"></param>
        /// <returns></returns>
        public IEnumerable <TeamsInfoEntity> GetList(string queryJson)
        {
            Operator curUser     = OperatorProvider.Provider.Current();
            var      queryParam  = JObject.Parse(queryJson);
            var      parameter   = new List <DbParameter>();
            string   sql         = "select * from bis_teamsinfo  where  taskshareid= @taskshareid";
            string   taskshareid = queryParam["taskshareid"].ToString();

            parameter.Add(DbParameters.CreateDbParameter("@taskshareid", taskshareid));
            if (!queryParam["teamid"].IsEmpty())//班组id
            {
                sql += " and teamid= @teamid";
                parameter.Add(DbParameters.CreateDbParameter("@teamid", queryParam["teamid"].ToString()));
            }
            var               data      = this.BaseRepository().FindList(sql, parameter.ToArray()).ToList();
            var               taskshare = new TaskShareService().GetEntity(taskshareid);
            string            userids   = "";
            List <UserEntity> users     = new List <UserEntity>();

            if (taskshare != null)
            {
                if (!string.IsNullOrEmpty(taskshare.TaskType) && !string.IsNullOrEmpty(taskshare.FlowStep))
                {
                    if (taskshare.TaskType != "2" && (taskshare.FlowStep == "2" || taskshare.FlowStep == "3"))
                    {
                        if (taskshare.TaskType == "0")
                        {
                            string rolenames = new DataItemDetailService().GetItemValue(curUser.OrganizeId, "deptsuperviserole");
                            if (!string.IsNullOrEmpty(rolenames))
                            {
                                rolenames = "'" + rolenames.Replace(",", "','") + "'";
                                users     = new UserService().GetUserListByRoleName("'" + taskshare.SuperviseDeptId + "'", rolenames, true, string.Empty).ToList();
                            }
                        }
                        var userEntity = new UserService().GetEntity(taskshare.CreateUserId);
                        if (userEntity != null)
                        {
                            users.Add(userEntity);
                        }
                    }
                }
            }
            if (users != null && users.Count > 0)
            {
                userids = string.Join(",", users.Select(x => x.UserId).ToArray());
            }
            data.ForEach(t =>
            {
                t.ModifyUserId = userids;//modifyuserid借用该字段
            });
            return(data);
        }
Esempio n. 15
0
        /// <summary>
        /// 获取前几个曝光的数据(取当前年的)
        /// </summary>
        /// <param name="num"></param>
        /// <returns></returns>
        public DataTable QueryExposureLllegal(string num)
        {
            string sql = string.Empty;
            DataItemDetailService dataitemdetailservice = new DataItemDetailService();
            Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current();

            sql = string.Format(@"   select a.* from (
                                                  select distinct a.id ,a.id lllegalid,a.lllegalnumber ,a.reformrequire,a.lllegaldescribe,a.createdate,a.flowstate,a.addtype,a.reformdeptcode,
                                                   f.filepath  filepic, (case when f.filepath is not null then ('{3}'||substr(f.filepath,2)) else '' end)  filepath ,a.createuserorgcode from v_lllegalbaseinfo a
                                                  left join v_imageview f on a.lllegalpic = f.recid  where a.isexposure ='1' and 
                                                  a.reformdeptcode like '{1}%' and to_char(a.createdate,'yyyy') ='{2}' ) a where rownum <= {0} order by createdate  ", int.Parse(num), user.OrganizeCode, DateTime.Now.Year.ToString(), dataitemdetailservice.GetItemValue("imgUrl"));

            var dt = this.BaseRepository().FindTable(sql);

            return(dt);
        }
Esempio n. 16
0
        /// <summary>
        /// 将拜访人员信息上传到海康平台
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="list"></param>
        public void UploadUserHiK(VisitcarEntity entity, List <CarUserFileImgEntity> list)
        {
            DataItemDetailService data = new DataItemDetailService();
            var    pitem     = data.GetItemValue("Hikappkey");
            var    baseurl   = data.GetItemValue("HikBaseUrl");
            string Key       = string.Empty;
            string Signature = string.Empty;

            //string no = new Random().Next(10, 888888).ToString();
            if (!string.IsNullOrEmpty(pitem))
            {
                Key       = pitem.Split('|')[0];
                Signature = pitem.Split('|')[1];
            }
            string Url = "/artemis/api/resource/v1/person/single/add";

            foreach (var item in list)
            {
                string time = DateTime.Now.ToString("yyyyMMddHHmmss");
                var    no   = Str.PinYin(item.Username).ToUpper() + time;//卡号唯一
                //人脸信息(base64必须为jpg格式)
                List <FaceEntity> faces = new List <FaceEntity>();
                FaceEntity        face  = new FaceEntity();
                face.faceData = item.Imgdata;
                faces.Add(face);
                var model = new
                {
                    personId        = item.ID,
                    personName      = item.Username,
                    gender          = "1",
                    orgIndexCode    = "root000000",
                    birthday        = "1990-01-01",
                    phoneNo         = entity.Phone,
                    email           = "*****@*****.**",
                    certificateType = "990",
                    certificateNo   = no,
                    faces
                };

                string    msg = SocketHelper.LoadCameraList(model, baseurl, Url, Key, Signature);
                parkList1 pl  = JsonConvert.DeserializeObject <parkList1>(msg);
                if (pl != null && pl.code == "0")
                {
                    SetLoadUserCarNo(item, baseurl, Key, Signature);
                }
            }
        }
Esempio n. 17
0
        /// <summary>
        /// 获取计划原有风险数量
        /// </summary>
        /// <param name="planId">计划ID</param>
        /// <param name="areaIds">计划关联区域</param>
        /// <param name="startDate">计划开始时间</param>
        /// <returns></returns>
        public int GetRiskNumbers(string areaIds, string startDate, string planId)
        {
            DataItemDetailService detailservice = new DataItemDetailService();
            string gxhs = detailservice.GetItemValue("广西华昇版本");
            string sql  = "";

            if (!string.IsNullOrWhiteSpace(gxhs))
            {
                sql = string.Format("select count(1) from BIS_RISKASSESS where createdate<to_date('{0}','yyyy-mm-dd hh24:mi:ss') and status=1 and deletemark=0 and EnabledMark=0 and deptcode in (select DEPTCODE from bis_riskpplandata t where t.planid='{1}' )", DateTime.Parse(startDate).ToString("yyyy-MM-dd 00:00:01"), planId);
            }
            else
            {
                sql = string.Format("select count(1) from BIS_RISKASSESS where createdate<to_date('{0}','yyyy-mm-dd hh24:mi:ss') and status=1 and deletemark=0 and EnabledMark=0 and districtid in('{1}')", DateTime.Parse(startDate).ToString("yyyy-MM-dd 00:00:01"), areaIds.Replace(",", "','"));
            }
            if (DbHelper.DbType == DatabaseType.MySql)
            {
                sql = string.Format("select count(1) from BIS_RISKASSESS where createdate<'{0}' and status=1 and deletemark=0 and EnabledMark=0 and districtid in('{1}')", DateTime.Parse(startDate).ToString("yyyy-MM-dd 00:00:01"), areaIds.Replace(",", "','"));
            }
            return(this.BaseRepository().FindObject(sql).ToInt());
        }
Esempio n. 18
0
        /// <summary>
        /// 获取车辆群组信息
        /// </summary>
        /// <returns></returns>
        public string GetGroupInfo(int type)
        {
            string res = string.Empty;

            try
            {
                DataItemDetailService       itembll = new DataItemDetailService();
                IEnumerable <DataItemModel> list    = itembll.GetDataItemListByItemCode("KmCarType");
                var entity = list.Where(a => a.ItemValue == type.ToString()).FirstOrDefault();
                if (entity != null)
                {//编码管理中设置
                    res = entity.ItemCode;
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(res);
        }
Esempio n. 19
0
        /// <summary>
        /// 获取编号
        /// </summary>
        /// <returns></returns>
        public string GetSno(string orgCode)
        {
            string    code = "001";
            string    sql  = string.Format("select APPLYSNO from BIS_THREEPEOPLECHECK where CreateUserOrgCode='{1}' and APPLYSNO like '%{0}%' order by CREATETIME desc", DateTime.Now.ToString("yyyyMMdd"), orgCode);
            DataTable tb   = this.BaseRepository().FindTable(sql);

            if (tb.Rows.Count > 0)
            {
                int number = tb.Rows.Count + 1;
                if (number < 10)
                {
                    code = "00" + number.ToString();
                }
                else if (number < 100)
                {
                    code = "0" + number.ToString();
                }
                else
                {
                    code = number.ToString();
                }
            }
            else
            {
                code = "001";
            }
            string val = new DataItemDetailService().GetItemValue("三种人编号");

            if (string.IsNullOrEmpty(val))
            {
                code = "Q/CRPHZHB 2203.01.02-JL11-" + DateTime.Now.ToString("yyyyMMdd") + code;
            }
            else
            {
                code = val + "-" + DateTime.Now.ToString("yyyyMMdd") + code;
            }
            return(code);
        }
Esempio n. 20
0
        /// <summary>
        /// 获取分页列表
        /// </summary>
        /// <param name="pagination"></param>
        /// <param name="queryJson"></param>
        /// <returns></returns>
        public DataTable GetList(Pagination pagination, string queryJson)
        {
            DatabaseType dataType   = DbHelper.DbType;
            Operator     user       = ERCHTMS.Code.OperatorProvider.Provider.Current();
            var          queryParam = queryJson.ToJObject();

            if (pagination.p_fields.IsEmpty())
            {
                pagination.p_fields  = @"createdate,createuserid,createuserdeptcode,createuserorgcode,modifydate,modifyuserid,name,according,ratenum,enddate,dutyuserid,dutyusername,dutydepartid,dutydepartname,submituserid,submitusername,eleno,elename,eledutyuserid,eledutyusername,eledutydepartname,issubmited,pct,dutyuserhtml,dutydeparthtml";
                pagination.p_fields += ",(select wm_concat(to_char(name)) from HRS_NOSAWorkResult r where r.workid=HRS_NOSAWorks.Id) workresult";
                //pagination.p_fields += ",(select wm_concat(to_char(dutyusername)) from HRS_NOSAWorkitem r where r.workid=HRS_NOSAWorks.Id and r.state='通过') checkedusername";
                pagination.p_fields += ",(select count(1) from HRS_NOSAWorkitem r where r.workid=HRS_NOSAWorks.Id and r.state='待审核') checkcount";
                pagination.p_fields += ",(select case when (state='待上传' or state='不通过') then 1 when state='待审核' then 2 else 3 end from hrs_nosaworkitem i where i.workid=hrs_nosaworks.id and i.dutyuserid='" + user.UserId + "' and rownum<=1) as state";
                pagination.p_fields += ",(select state || '|' || to_char(uploaddate,'YYYY-MM-DD') from hrs_nosaworkitem i where i.workid=hrs_nosaworks.id and i.dutyuserid='" + user.UserId + "' and rownum<=1) as itemcol";
            }
            pagination.p_kid         = "id";
            pagination.p_tablename   = @"hrs_nosaworks";
            pagination.conditionJson = "1=1";

            if (!queryParam["datascope"].IsEmpty() && queryParam["datascope"].ToString() == "1")
            {//我上传时的数据范围
                pagination.conditionJson += string.Format(" and createuserorgcode='{0}' and issubmited='是' and instr(dutyuserid,'{1}')>0", user.OrganizeCode, user.UserId);
                if (!queryParam["waitforupload"].IsEmpty())
                {
                    pagination.conditionJson += string.Format(" and (submituserid is null or instr(submituserid,'{0}')<=0)", user.UserId);
                }
            }
            else
            {//NOSA工作清单列表默认数据范围
                DataItemModel ehsDepart = new DataItemDetailService().GetDataItemListByItemCode("'EHSDepartment'").Where(p => p.ItemName == user.OrganizeId).ToList().FirstOrDefault();
                if (user.RoleName.Contains("公司级用户") || (ehsDepart != null && ehsDepart.ItemValue == user.DeptCode))
                {//公司级用户、EHS部门用户查看全厂数据
                    pagination.conditionJson += string.Format(" and ((createuserorgcode='{0}' and issubmited='是') or createuserid='{1}')", user.OrganizeCode, user.UserId);
                }
                else if (user.RoleName.Contains("负责人") || user.RoleName.Contains("安全管理员"))
                {//本部门及子部门数据
                    //pagination.conditionJson += string.Format(@" and createuserdeptcode like '{0}%' and (issubmited='是' or createuserid='{1}')", user.DeptCode, user.UserId);
                    pagination.conditionJson += string.Format(@" and (((createuserdeptcode like '{0}%' or instr(dutyuserid,'{1}')>0) and issubmited='是') or createuserid='{1}')", user.DeptCode, user.UserId);
                }
                else
                {//自己创建或审核的数据
                    //pagination.conditionJson += string.Format(@" and createuserid='{0}'", user.UserId);
                    pagination.conditionJson += string.Format(@" and (createuserid='{0}' or (issubmited='是' and instr(dutyuserid,'{0}')>0))", user.UserId);
                }
            }
            //文件名称
            if (!queryParam["name"].IsEmpty())
            {
                pagination.conditionJson += string.Format(@" and name like '%{0}%'", queryParam["name"].ToString());
            }
            //引用id
            if (!queryParam["eleid"].IsEmpty())
            {
                pagination.conditionJson += string.Format(@" and eleid = '{0}'", queryParam["eleid"].ToString());
            }
            //开始时间
            if (!queryParam["starttime"].IsEmpty())
            {
                pagination.conditionJson += string.Format(@" and enddate >= to_date('{0}','yyyy-mm-dd hh24:mi:ss')", queryParam["starttime"].ToString());
            }
            //结束时间
            if (!queryParam["endtime"].IsEmpty())
            {
                pagination.conditionJson += string.Format(@" and enddate < to_date('{0}','yyyy-mm-dd hh24:mi:ss')", Convert.ToDateTime(queryParam["endtime"].ToString()).AddDays(1).ToString("yyyy-MM-dd"));
            }
            //数据范围
            if (!queryParam["datascope"].IsEmpty())
            {
                var datascope = queryParam["datascope"].ToString();
                if (datascope == "2")
                {//我创建的数据
                    pagination.conditionJson += string.Format(" and createuserid='{0}'", user.UserId);
                }
                else if (datascope == "3")
                {//我应审核的数据
                    pagination.conditionJson += string.Format(" and issubmited='是' and eledutyuserid='{0}' and exists(select 1 from hrs_nosaworkitem i where i.workid=hrs_nosaworks.id and i.state='待审核')", user.UserId);
                }
            }
            var dt = this.BaseRepository().FindTableByProcPager(pagination, dataType);

            return(dt);
        }
Esempio n. 21
0
        public DataTable DrillplanStatList(string drillmode, bool isCompany, string deptCode, string starttime, string endtime)
        {
            string strWhere  = string.Empty;
            string strWhere1 = string.Empty;

            if (!string.IsNullOrWhiteSpace(deptCode))
            {
                strWhere += string.Format("and m.encode like'{0}%'", deptCode);
            }
            if (!string.IsNullOrWhiteSpace(starttime))
            {
                strWhere1 += string.Format("and to_char(t.drilltime,'yyyy-MM-dd') >='{0}'", starttime);
            }
            if (!string.IsNullOrWhiteSpace(endtime))
            {
                strWhere1 += string.Format("and to_char(t.drilltime,'yyyy-MM-dd') <='{0}'", endtime);
            }
            string strWhere2 = string.Empty;
            string selWhere  = string.Empty;
            string strWhere3 = string.Empty;
            string sumWhere  = string.Empty;
            var    datamode  = new DataItemDetailService().GetDataItemListByItemCode("'MAE_DirllMode'").ToList();

            if (datamode.Count > 0)
            {
                for (int i = 0; i < datamode.Count; i++)
                {
                    strWhere2 += "'" + datamode[i].ItemName + "' mode" + (i + 1) + ",";
                    selWhere  += "nvl(sum(p.mode" + (i + 1) + "),0) recordnum" + (i + 1) + ",";
                    sumWhere  += "nvl(p.mode" + (i + 1) + ",0)+";
                    strWhere3 += "mode" + (i + 1) + ",";
                }
                if (strWhere2.Length > 0)
                {
                    strWhere2 = strWhere2.Substring(0, strWhere2.Length - 1);
                    selWhere  = selWhere.Substring(0, selWhere.Length - 1);
                    sumWhere  = sumWhere.Substring(0, sumWhere.Length - 1);
                    strWhere3 = strWhere3.Substring(0, strWhere3.Length - 1);
                }
            }
            else
            {
                strWhere2 = "'桌面演练' mode1,'实战演练' mode2";
                selWhere  = "nvl(sum(p.mode1),0) recordnum1,nvl(sum(p.mode2),0) recordnum2";
                sumWhere  = "(nvl(p.mode1,0)+nvl(p.mode2,0))";
                strWhere3 = "mode1,mode2";
            }
            string sql = string.Empty;

            if (isCompany)
            {
                sql = string.Format(@"select * from (select m.fullname,{0},nvl(sum({1}),0) total,max(m.sortcode) sortcode,
                                m.encode,max(m.departmentid) departmentid,max(m.parentid) parentid from base_department m 
                                left join(select {5},fullname,encode from(select count(1) total,d.fullname,d.encode,t.drillmodename from mae_drillplanrecord t
                                left join base_department d on d.encode = t.orgdeptcode 
                                where d.nature='厂级' and t.iscommit=1 {2}
                                group by d.fullname,d.encode,t.drillmodename
                                union 
                                select count(1) total,d.fullname,d.encode,t.drillmodename from mae_drillplanrecord t
                                left join base_department d on d.encode = substr(t.orgdeptcode,0,length(d.encode))
                                where d.nature='部门' and t.iscommit=1    {2}
                                group by d.fullname,d.encode,t.drillmodename) pivot(max(total)for drillmodename in({4}))) p on p.encode=m.encode
                                where 1=1 and m.nature in ('厂级','部门')  {3}
                                group by m.fullname,m.encode
                                union
                                select m.fullname,{0},nvl(sum({1}),0) total,max(m.sortcode) sortcode,m.encode,
                                max(m.departmentid) departmentid,max(m.parentid) parentid from base_department m 
                                left join(select {5},orgdept,orgdeptcode from
                                (select count(1) total,t.orgdept,t.orgdeptcode,t.drillmodename from mae_drillplanrecord t
                                left join base_department d on d.encode = t.orgdeptcode
                                where t.iscommit=1  {2}
                                group by t.orgdept,t.orgdeptcode,t.drillmodename)pivot(max(total)for drillmodename in({4}))) p on p.orgdeptcode=m.encode
                                where 1=1 and m.nature not in('厂级','根','集团','省级','部门') {3}
                                group by m.fullname,m.encode)  order by sortcode ", selWhere, sumWhere, strWhere1, strWhere, strWhere2, strWhere3);
//                sql = string.Format(@"select * from (select m.fullname,nvl(sum(p.total),0) recordnum,nvl(sum(p.total),0) total,max(m.sortcode) sortcode,
//                                m.encode,max(m.departmentid) departmentid,max(m.parentid) parentid from base_department m
//                                left join(select count(1) total,d.fullname,d.encode from mae_drillplanrecord t
//                                left join base_department d on d.encode = t.orgdeptcode
//                                where d.nature='厂级' and t.iscommit=1
//                                group by d.fullname,d.encode
//                                union
//                                select count(1) total,d.fullname,d.encode from mae_drillplanrecord t
//                                left join base_department d on d.encode = substr(t.orgdeptcode,0,length(d.encode))
//                                where d.nature='部门' and t.iscommit=1   {0}
//                                group by d.fullname,d.encode) p on p.encode=m.encode
//                                where 1=1 and m.nature in ('厂级','部门') {1}
//                                group by m.fullname,m.encode
//                                union
//                                select m.fullname,nvl(sum(p.total),0) recordnum,nvl(sum(p.total),0) total,max(m.sortcode) sortcode,m.encode,
//                                max(m.departmentid) departmentid,max(m.parentid) parentid from base_department m
//                                left join(
//                                select count(1) total,t.orgdept,t.orgdeptcode from mae_drillplanrecord t
//                                left join base_department d on d.encode = t.orgdeptcode
//                                where t.iscommit=1  {0}
//                                group by t.orgdept,t.orgdeptcode) p on p.orgdeptcode=m.encode
//                                where 1=1 and m.nature not in('厂级','根','集团','省级','部门') {1}
//                                group by m.fullname,m.encode) order by sortcode", strWhere1, strWhere);
            }
            else
            {
                sql = string.Format(@"select * from (select m.fullname,{3},nvl(sum({4}),0) total,max(m.sortcode) sortcode,
                                m.encode,max(m.departmentid) departmentid,max(m.parentid) parentid from base_department m 
                                left join(select {5},orgdept,orgdeptcode from(
                                select count(1) total,t.orgdept,t.orgdeptcode,t.drillmodename from mae_drillplanrecord t
                                left join base_department d on d.encode = substr(t.orgdeptcode,0,length(d.encode))
                                where d.nature='部门' and t.iscommit=1  {0}
                                group by t.orgdept,t.orgdeptcode,t.drillmodename)pivot(max(total)for drillmodename in({2}))) p on p.orgdeptcode=m.encode
                                where 1=1  {1}
                                group by m.fullname,m.encode) order by sortcode", strWhere1, strWhere, strWhere2, selWhere, sumWhere, strWhere3);
//                sql = string.Format(@"select * from (select m.fullname,nvl(sum(p.total),0) recordnum,nvl(sum(p.total),0) total,max(m.sortcode) sortcode,
//                                m.encode,max(m.departmentid) departmentid,max(m.parentid) parentid from base_department m
//                                left join(
//                                select count(1) total,t.orgdept,t.orgdeptcode from mae_drillplanrecord t
//                                left join base_department d on d.encode = substr(t.orgdeptcode,0,length(d.encode))
//                                where d.nature='部门' and t.iscommit=1 {0}
//                                group by t.orgdept,t.orgdeptcode) p on p.orgdeptcode=m.encode
//                                where 1=1 {1}
//                                group by m.fullname,m.encode) order by sortcode", strWhere1, strWhere);
            }

            return(this.BaseRepository().FindTable(sql));
        }
Esempio n. 22
0
        /// <summary>
        /// 提交审批
        /// </summary>
        /// <param name="keyValue">主键值</param>
        /// <param name="entity">实体对象</param>
        /// <returns></returns>
        public void CommitApply(string keyValue, AptitudeinvestigateauditEntity aentity)
        {
            if (!string.IsNullOrEmpty(keyValue))
            {
                SafepunishEntity entity     = GetEntity(keyValue);
                UserInfoEntity   createuser = new UserInfoService().GetUserInfoEntity(entity.CreateUserId);
                Operator         curUser    = ERCHTMS.Code.OperatorProvider.Provider.Current();
                entity.Modify(keyValue);
                DataItemModel ehsDepart     = new DataItemDetailService().GetDataItemListByItemCode("'EHSDepartment'").Where(p => p.ItemName == curUser.OrganizeId).ToList().FirstOrDefault();
                string        ehsDepartCode = "";
                if (ehsDepart != null)
                {
                    ehsDepartCode = ehsDepart.ItemValue;
                }
                if (entity.FlowState != "1")
                {
                    if (!string.IsNullOrEmpty(entity.ApplyState))
                    {
                        #region                                      //审核信息表
                        AptitudeinvestigateauditEntity aidEntity = new AptitudeinvestigateauditEntity();
                        aidEntity.AUDITRESULT = aentity.AUDITRESULT; //通过
                        if (aentity.AUDITTIME != null)
                        {
                            aidEntity.AUDITTIME =
                                Convert.ToDateTime(aentity.AUDITTIME.Value.ToString("yyyy-MM-dd") + " " +
                                                   DateTime.Now.ToString("HH:mm:ss")); //审核时间
                        }
                        aidEntity.AUDITPEOPLE   = aentity.AUDITPEOPLE;                 //审核人员姓名
                        aidEntity.AUDITPEOPLEID = aentity.AUDITPEOPLEID;               //审核人员id
                        aidEntity.APTITUDEID    = keyValue;                            //关联的业务ID
                        aidEntity.AUDITDEPTID   = aentity.AUDITDEPTID;                 //审核部门id
                        aidEntity.AUDITDEPT     = aentity.AUDITDEPT;                   //审核部门
                        aidEntity.AUDITOPINION  = aentity.AUDITOPINION;                //审核意见
                        aidEntity.AUDITSIGNIMG  = aentity.AUDITSIGNIMG;                //个人签名
                        aidEntity.Disable       = "1";                                 //流程图的最新记录
                        if (entity.ApplyState != null)
                        {
                            aidEntity.REMARK = (entity.ApplyState).ToString();                            //备注 存流程的顺序号
                        }
                        new AptitudeinvestigateauditService().SaveForm(aidEntity.ID, aidEntity);
                        #endregion
                    }

                    if (entity.AmerceType == "1" || entity.AmerceType == "2") //事故事件跟其他类型
                    {
                        switch (entity.ApplyState ?? "0")
                        {
                        case "0":
                            if (createuser.RoleName.Contains("厂级部门用户") && !createuser.RoleName.Contains("负责人"))
                            {
                                entity.ApplyState        = "1";
                                entity.FlowState         = "0";
                                entity.ApproverPeopleIds = GetEhsUserId() ?? "";
                            }
                            else if (createuser.RoleName.Contains("厂级部门用户") && createuser.RoleName.Contains("负责人"))
                            {
                                entity.ApplyState        = "2";
                                entity.FlowState         = "0";
                                entity.ApproverPeopleIds = GetLeaderId() ?? "";
                            }
                            else if (GetLeaderId().Contains(entity.CreateUserId))
                            {
                                entity.ApplyState        = "3";
                                entity.FlowState         = "1";
                                entity.ApproverPeopleIds = "";
                            }

                            break;

                        case "1":
                            if (aentity.AUDITRESULT == "0")
                            {
                                entity.ApplyState        = "2";
                                entity.ApproverPeopleIds = GetLeaderId() ?? "";
                                entity.DeptManagerId     = entity.ApproverPeopleIds;
                            }
                            else
                            {
                                entity.ApplyState        = "0";
                                entity.FlowState         = "2";
                                entity.ApproverPeopleIds = "";
                                string strsql = string.Format("update EPG_APTITUDEINVESTIGATEAUDIT set Disable = 0 where APTITUDEID ='{0}'", keyValue);
                                this.BaseRepository().ExecuteBySql(strsql);
                            }

                            break;

                        case "2":
                            if (aentity.AUDITRESULT == "0")
                            {
                                entity.ApplyState = "3";
                                entity.FlowState  = "1";
                            }
                            else
                            {
                                entity.ApplyState        = "0";
                                entity.FlowState         = "2";
                                entity.ApproverPeopleIds = "";
                                string strsql = string.Format("update EPG_APTITUDEINVESTIGATEAUDIT set Disable = 0 where APTITUDEID ='{0}'", keyValue);
                                this.BaseRepository().ExecuteBySql(strsql);
                            }
                            break;
                        }
                    }
                    if (entity.AmerceType == "3" || entity.AmerceType == "4")  //日常考核跟隐患排查治理
                    {
                        switch (entity.ApplyState ?? "0")
                        {
                        case "0":
                            if ((createuser.Nature == "专业" || createuser.Nature == "班组") && !createuser.RoleName.Contains("负责人"))
                            {
                                entity.ApplyState        = "1";
                                entity.FlowState         = "0";
                                entity.ApproverPeopleIds = GetMajorUserId(createuser.DepartmentId);
                            }
                            else if (((createuser.Nature == "专业" || createuser.Nature == "班组") && createuser.RoleName.Contains("负责人")) || (createuser.Nature == "部门" && !createuser.RoleName.Contains("负责人")))
                            {
                                entity.ApplyState        = "2";
                                entity.FlowState         = "0";
                                entity.ApproverPeopleIds = GetRoleUserId(entity.CreateUserId) ?? "";
                            }
                            else if (createuser.Nature == "部门" && createuser.RoleName.Contains("负责人"))
                            {
                                entity.ApplyState        = "3";
                                entity.FlowState         = "1";
                                entity.ApproverPeopleIds = "";
                            }
                            break;

                        case "1":
                            if (aentity.AUDITRESULT == "0")
                            {
                                entity.ApplyState        = "2";
                                entity.ApproverPeopleIds = GetRoleUserId(entity.CreateUserId) ?? "";
                                entity.DeptManagerId     = entity.ApproverPeopleIds;
                            }
                            else
                            {
                                entity.ApplyState        = "0";
                                entity.FlowState         = "2";
                                entity.ApproverPeopleIds = "";
                                string strsql = string.Format("update EPG_APTITUDEINVESTIGATEAUDIT set Disable = 0 where APTITUDEID ='{0}'", keyValue);
                                this.BaseRepository().ExecuteBySql(strsql);
                            }

                            break;

                        case "2":
                            if (aentity.AUDITRESULT == "0")
                            {
                                entity.ApplyState = "3";
                                entity.FlowState  = "1";
                            }
                            else
                            {
                                entity.ApplyState        = "0";
                                entity.FlowState         = "2";
                                entity.ApproverPeopleIds = "";
                                string strsql = string.Format("update EPG_APTITUDEINVESTIGATEAUDIT set Disable = 0 where APTITUDEID ='{0}'", keyValue);
                                this.BaseRepository().ExecuteBySql(strsql);
                            }
                            break;
                        }
                    }


                    this.BaseRepository().Update(entity);
                }
            }
        }
Esempio n. 23
0
 /// <summary>
 /// 海康平台数据同步信息
 /// </summary>
 /// <param name="entity">实体</param>
 /// <param name="type">0新增 1修改 2删除</param>
 /// <param name="NewCar">旧车牌</param>
 public void OperHaiKangRecord(CarinfoEntity entity, int type, string OldCar)
 {
     try
     {
         #region 获取海康地址和秘钥
         DataItemDetailService data = new DataItemDetailService();
         var    pitem     = data.GetItemValue("Hikappkey");  //海康服务器密钥
         var    baseurl   = data.GetItemValue("HikBaseUrl"); //海康服务器地址
         string Key       = string.Empty;
         string Signature = string.Empty;
         if (!string.IsNullOrEmpty(pitem))
         {
             Key       = pitem.Split('|')[0];
             Signature = pitem.Split('|')[1];
         }
         #endregion
         #region 添加车辆
         if (type == 0)
         {//添加
             string        addurl = "/artemis/api/v1/vehicle/addVehicle";
             List <object> mllist = new List <object>();
             var           user   = new UserService().GetEntity(entity.DirverId);
             if (user != null)
             {
                 var model = new
                 {//有车主
                     personId      = entity.DirverId,
                     plateNo       = entity.CarNo,
                     parkIndexCode = GetTrafficPost(entity.Currentgid, entity.Type),//停车场唯一标识
                     plateType     = 0,
                     plateColor    = 0,
                     carType       = 0,
                     carColor      = 0,
                     startTime     = DateTime.Parse(entity.Starttime.ToString()).ToString("yyyy-MM-dd"),
                     endTime       = DateTime.Parse(entity.Endtime.ToString()).ToString("yyyy-MM-dd"),
                     vehicleGroup  = GetGroupInfo(entity.Type)//群组唯一标识
                 };
                 mllist.Add(model);
             }
             else
             {
                 var model = new
                 {//无车主
                     //personId = entity.DirverId,
                     plateNo       = entity.CarNo,
                     parkIndexCode = GetTrafficPost(entity.Currentgid, entity.Type),//停车场唯一标识
                     plateType     = 0,
                     plateColor    = 0,
                     carType       = 0,
                     carColor      = 0,
                     startTime     = DateTime.Parse(entity.Starttime.ToString()).ToString("yyyy-MM-dd"),
                     endTime       = DateTime.Parse(entity.Endtime.ToString()).ToString("yyyy-MM-dd"),
                     vehicleGroup  = GetGroupInfo(entity.Type)//群组唯一标识
                 };
                 mllist.Add(model);
             }
             SocketHelper.LoadCameraList(mllist, baseurl, addurl, Key, Signature);
         }
         #endregion
         #region 修改车辆
         else if (type == 1)
         {//修改
             string        updateurl = "/artemis/api/v1/vehicle/updateVehicle";
             List <object> mllist    = new List <object>();
             var           user      = new UserService().GetEntity(entity.DirverId);
             if (user != null)
             {
                 var model = new
                 {                                                                      //有车主
                     plateNo          = entity.CarNo,                                   //新车牌
                     oldPlateNo       = OldCar,                                         //旧车牌
                     ownerId          = entity.DirverId,
                     parkIndexCode    = GetTrafficPost(entity.Currentgid, entity.Type), //停车场唯一标识
                     plateType        = 0,
                     plateColor       = 0,
                     carType          = 0,
                     carColor         = 0,
                     startTime        = DateTime.Parse(entity.Starttime.ToString()).ToString("yyyy-MM-dd"),
                     endTime          = DateTime.Parse(entity.Endtime.ToString()).ToString("yyyy-MM-dd"),
                     isUpdateFunction = 1,
                     vehicleGroup     = GetGroupInfo(entity.Type)//群组唯一标识
                 };
                 mllist.Add(model);
             }
             else
             {
                 var model = new
                 {                                                                      //无车主
                     plateNo          = entity.CarNo,                                   //新车牌
                     oldPlateNo       = OldCar,                                         //旧车牌
                     parkIndexCode    = GetTrafficPost(entity.Currentgid, entity.Type), //停车场唯一标识
                     plateType        = 0,
                     plateColor       = 0,
                     carType          = 0,
                     carColor         = 0,
                     startTime        = DateTime.Parse(entity.Starttime.ToString()).ToString("yyyy-MM-dd"),
                     endTime          = DateTime.Parse(entity.Endtime.ToString()).ToString("yyyy-MM-dd"),
                     isUpdateFunction = 1,
                     vehicleGroup     = GetGroupInfo(entity.Type)//群组唯一标识
                 };
                 mllist.Add(model);
             }
             SocketHelper.LoadCameraList(mllist, baseurl, updateurl, Key, Signature);
         }
         #endregion
         #region  除车辆
         else if (type == 2)
         {//删除
             string selurl = "/artemis/api/v1/vehicle/fetchVehicle";
             var    model  = new
             {
                 plateNo  = entity.CarNo,
                 pageNo   = 1,
                 pageSize = 10
             };
             //查询车辆记录唯一标识
             string          msg = SocketHelper.LoadCameraList(model, baseurl, selurl, Key, Signature);
             CarSelectEntity pl  = JsonConvert.DeserializeObject <CarSelectEntity>(msg);
             if (pl != null && pl.code == "0")
             {
                 string carid = pl.data.rows[0].vehicleId;
                 //删除车辆
                 string        delurl = "/artemis/api/resource/v1/vehicle/batch/delete";
                 List <string> list   = new List <string>();
                 list.Add(carid);
                 var delmodel = new
                 {
                     vehicleIds = list
                 };
                 SocketHelper.LoadCameraList(delmodel, baseurl, delurl, Key, Signature);
             }
         }
         #endregion
     }
     catch (Exception)
     {
         throw;
     }
 }
Esempio n. 24
0
        /// <summary>
        /// 获取安全惩罚流程图对象
        /// </summary>
        /// <param name="keyValue"></param>
        /// <returns></returns>
        public Flow GetFlow(string keyValue)
        {
            List <nodes>     nlist      = new List <nodes>();
            List <lines>     llist      = new List <lines>();
            SafepunishEntity safereward = GetEntity(keyValue);

            string flowname = "惩罚流程";

            if (safereward.AmerceType == "1" || safereward.AmerceType == "2")
            {
                flowname = "事故事件考核流程";
            }
            else if (safereward.AmerceType == "3" || safereward.AmerceType == "4")
            {
                flowname = "惩罚流程";
            }
            Operator user     = ERCHTMS.Code.OperatorProvider.Provider.Current();
            string   node_sql = string.Format(@"select a.itemvalue id,a.itemname flowname, b.approverpeopleids,b.AUDITDEPT auditdeptname,b.AUDITPEOPLE auditusername,b.AUDITTIME auditdate,b.AUDITRESULT auditstate,b.AUDITOPINION auditremark
            from ( select itemvalue,itemname from base_dataitemdetail  where itemid =  (select itemid from base_dataitem where itemname = '{1}')) a
            left join (  select t.* , c.approverpeopleids  from  epg_aptitudeinvestigateaudit t left join bis_safepunish c on  t.APTITUDEID = c.id
            where   t.disable ='1' and  t.audittime in (select  max(audittime) audittime  from epg_aptitudeinvestigateaudit  where APTITUDEID = '{0}'    group by  APTITUDEID,remark )  )   b  on   a.itemvalue =b.REMARK order by id", keyValue, flowname);

            DataTable nodeDt = this.BaseRepository().FindTable(node_sql);

            UserInfoEntity createuser    = new UserInfoService().GetUserInfoEntity(safereward.CreateUserId);
            Operator       curUser       = ERCHTMS.Code.OperatorProvider.Provider.Current();
            DataItemModel  ehsDepart     = new DataItemDetailService().GetDataItemListByItemCode("'EHSDepartment'").Where(p => p.ItemName == curUser.OrganizeId).ToList().FirstOrDefault();
            string         ehsDepartCode = "";

            if (ehsDepart != null)
            {
                ehsDepartCode = ehsDepart.ItemValue;
            }


            if (safereward.AmerceType == "1" || safereward.AmerceType == "2") //事故事件跟其他类型
            {
                if (createuser.RoleName.Contains("厂级部门用户") && createuser.RoleName.Contains("负责人"))
                {
                    nodeDt.Rows.RemoveAt(1);
                }
                else if (GetLeaderId().Contains(safereward.CreateUserId))
                {
                    nodeDt.Rows.RemoveAt(2);
                    nodeDt.Rows.RemoveAt(1);
                }
            }
            if (safereward.AmerceType == "3" || safereward.AmerceType == "4")  //日常考核跟隐患排查治理
            {
                if (((createuser.Nature == "专业" || createuser.Nature == "班组") && createuser.RoleName.Contains("负责人")) || (createuser.Nature == "部门" && !createuser.RoleName.Contains("负责人")))
                {
                    nodeDt.Rows.RemoveAt(1);
                }
                else if (createuser.Nature == "部门" && createuser.RoleName.Contains("负责人"))
                {
                    nodeDt.Rows.RemoveAt(2);
                    nodeDt.Rows.RemoveAt(1);
                }
            }

            Flow flow = new Flow();

            flow.title    = "";
            flow.initNum  = 22;
            flow.activeID = safereward.ApplyState;
            if (nodeDt != null && nodeDt.Rows.Count > 0)
            {
                #region 创建node对象
                int Taged = 0;
                for (int i = 0; i < nodeDt.Rows.Count; i++)
                {
                    DataRow dr    = nodeDt.Rows[i];
                    nodes   nodes = new nodes();
                    nodes.alt     = true;
                    nodes.isclick = false;
                    nodes.css     = "";
                    nodes.id      = dr["id"].ToString(); //主键
                    nodes.img     = "";
                    nodes.name    = dr["flowname"].ToString();
                    nodes.type    = "stepnode";
                    nodes.width   = 150;
                    nodes.height  = 60;
                    //位置
                    int m = i % 4;
                    int n = i / 4;
                    if (m == 0)
                    {
                        nodes.left = 120;
                    }
                    else
                    {
                        nodes.left = 120 + ((150 + 60) * m);
                    }
                    if (n == 0)
                    {
                        nodes.top = 54;
                    }
                    else
                    {
                        nodes.top = (n * 100) + 54;
                    }


                    setInfo sinfo = new setInfo();
                    sinfo.NodeName = nodes.name;
                    //审核记录
                    if (dr["auditdeptname"] != null && !string.IsNullOrEmpty(dr["auditdeptname"].ToString()))
                    {
                        Taged = 1;
                        List <NodeDesignateData> nodelist          = new List <NodeDesignateData>();
                        NodeDesignateData        nodedesignatedata = new NodeDesignateData();
                        DateTime auditdate;
                        DateTime.TryParse(dr["auditdate"].ToString(), out auditdate);
                        nodedesignatedata.createdate = auditdate.ToString("yyyy-MM-dd HH:mm");
                        nodedesignatedata.creatdept  = dr["auditdeptname"].ToString();
                        nodedesignatedata.createuser = dr["auditusername"].ToString();
                        nodedesignatedata.status     = dr["auditstate"].ToString() == "0" ? "已处理" : "未处理";
                        if (i == 0)
                        {
                            nodedesignatedata.prevnode = "无";
                        }
                        else
                        {
                            nodedesignatedata.prevnode = nodeDt.Rows[i - 1]["flowname"].ToString();
                        }

                        nodelist.Add(nodedesignatedata);
                        sinfo.Taged             = Taged;
                        sinfo.NodeDesignateData = nodelist;
                        nodes.setInfo           = sinfo;

                        if (dr["auditstate"].ToString() == "1")
                        {
                            Taged = 0;
                        }
                    }
                    else if (Taged == 1)
                    {
                        if (i == (nodeDt.Rows.Count - 1))
                        {
                            Taged = 1;
                            //List<NodeDesignateData> nodelist = new List<NodeDesignateData>();
                            //NodeDesignateData nodedesignatedata = new NodeDesignateData();
                            //nodelist.Add(nodedesignatedata);
                            sinfo.Taged = Taged;
                            //sinfo.NodeDesignateData = nodelist;
                            nodes.setInfo = sinfo;
                        }
                        else
                        {
                            Taged = 0;
                            List <NodeDesignateData> nodelist          = new List <NodeDesignateData>();
                            NodeDesignateData        nodedesignatedata = new NodeDesignateData();
                            nodedesignatedata.createdate = "待定";
                            var      userid = nodeDt.Rows[i - 1]["approverpeopleids"].ToString();
                            string[] ids = userid.Split(',');
                            string   DeptName = "", RealName = "";
                            if (ids.Length > 0)
                            {
                                for (int j = 0; j < ids.Length; j++)
                                {
                                    if (!string.IsNullOrEmpty(ids[j]))
                                    {
                                        UserInfoEntity uInfor = new UserInfoService().GetUserInfoEntity(ids[j]);
                                        DeptName += uInfor.DeptName + ",";
                                        RealName += uInfor.RealName + ",";
                                    }
                                }
                                nodedesignatedata.creatdept  = DeptName.Length > 0 ? DeptName.Substring(0, DeptName.Length - 1) : "";
                                nodedesignatedata.createuser = RealName.Length > 0 ? RealName.Substring(0, RealName.Length - 1) : "";
                            }
                            else
                            {
                                nodedesignatedata.creatdept  = "无";
                                nodedesignatedata.createuser = "******";
                            }
                            nodedesignatedata.status = "正在处理...";
                            if (i == 0)
                            {
                                nodedesignatedata.prevnode = "无";
                            }
                            else
                            {
                                nodedesignatedata.prevnode = nodeDt.Rows[i - 1]["flowname"].ToString();
                            }

                            nodelist.Add(nodedesignatedata);
                            sinfo.Taged             = Taged;
                            sinfo.NodeDesignateData = nodelist;
                            nodes.setInfo           = sinfo;
                        }
                    }
                    else if (safereward.ApplyState == "0" && i == 0)
                    {
                        List <NodeDesignateData> nodelist          = new List <NodeDesignateData>();
                        NodeDesignateData        nodedesignatedata = new NodeDesignateData();
                        nodedesignatedata.createdate = "待定";
                        UserInfoEntity uInfor = new UserInfoService().GetUserInfoEntity(safereward.ApproverPeopleIds);
                        if (uInfor != null)
                        {
                            nodedesignatedata.creatdept  = uInfor.DeptName;
                            nodedesignatedata.createuser = uInfor.RealName;
                        }
                        else
                        {
                            nodedesignatedata.creatdept  = safereward.ApplyUserDeptName;
                            nodedesignatedata.createuser = safereward.ApplyUserName;
                        }

                        nodedesignatedata.status = "正在处理...";
                        if (i == 0)
                        {
                            nodedesignatedata.prevnode = "无";
                        }
                        else
                        {
                            nodedesignatedata.prevnode = nodeDt.Rows[i - 1]["flowname"].ToString();
                        }

                        nodelist.Add(nodedesignatedata);
                        sinfo.Taged             = Taged;
                        sinfo.NodeDesignateData = nodelist;
                        nodes.setInfo           = sinfo;
                    }
                    nlist.Add(nodes);
                }



                #endregion

                #region 创建line对象

                for (int i = 0; i < nodeDt.Rows.Count; i++)
                {
                    lines lines = new lines();
                    lines.alt  = true;
                    lines.id   = Guid.NewGuid().ToString();
                    lines.from = nodeDt.Rows[i]["id"].ToString();
                    if (i < nodeDt.Rows.Count - 1)
                    {
                        lines.to = nodeDt.Rows[i + 1]["id"].ToString();
                    }
                    lines.name = "";
                    lines.type = "sl";
                    llist.Add(lines);
                }

                #endregion

                flow.nodes = nlist;
                flow.lines = llist;
            }
            return(flow);
        }
Esempio n. 25
0
        /// <summary>
        /// 获取列表
        /// </summary>
        /// <param name="pagination">分页</param>
        /// <param name="queryJson">查询参数</param>
        /// <returns>返回分页列表</returns>
        public DataTable GetPageList(Pagination pagination, string queryJson)
        {
            DatabaseType dataType   = DbHelper.DbType;
            Operator     user       = ERCHTMS.Code.OperatorProvider.Provider.Current();
            string       role       = user.RoleName;
            var          queryParam = queryJson.ToJObject();

            #region 查表
            pagination.p_kid       = "t.id";
            pagination.p_fields    = @"t.createuserid,t.createdate,t.createusername,t.modifyuserid,t.modifydate,t.modifyusername,t.createuserdeptcode,t.createuserorgcode,t.dangerjobname,t.numberofpeoplename,
                       t.deptids, t.deptnames,t.jobfrequency,t.dangerfactors,t.accidentcategories,t.safetymeasures,t.joblevelname,t.principalnames";
            pagination.p_tablename = @"BIS_DANGERJOBLIST t ";
            if (pagination.sidx == null)
            {
                pagination.sidx = "t.createdate";
            }
            if (pagination.sord == null)
            {
                pagination.sord = "desc";
            }
            #endregion


            //关键字
            if (!queryParam["keyword"].IsEmpty())
            {
                pagination.conditionJson += string.Format(" and (t.dangerjobname like '%{0}%' or t.deptnames like '%{0}%' or t.dangerfactors like '%{0}%' or t.accidentcategories like '%{0}%') ", queryParam["keyword"].ToString());
            }

            DepartmentService     departmentDll  = new DepartmentService();
            DataItemDetailService dataItemDetail = new DataItemDetailService();
            string codes    = user.OrganizeCode;
            var    spdepart = dataItemDetail.GetDataItemListByItemCode("spdepart").Select(p => p.ItemValue).FirstOrDefault();

            //树节点code
            var deptCode = !queryParam["code"].IsEmpty() ? queryParam["code"].ToString() : user.DeptCode;
            if (deptCode == user.OrganizeCode || ((!string.IsNullOrEmpty(spdepart) && spdepart.Contains(deptCode)) && queryParam["code"].IsEmpty()))
            {
                if (!string.IsNullOrEmpty(spdepart) && spdepart.Contains(deptCode))
                {
                    List <string> deptCodes = spdepart.Split(',').ToList();
                    deptCodes.Add(user.OrganizeCode);
                    codes = string.Join("','", deptCodes);
                }
                pagination.conditionJson += string.Format(" and (t.createuserdeptcode in ('{0}') ) ", codes);
            }
            else
            {
                pagination.conditionJson += string.Format(" and t.createuserdeptcode='{0}' ", deptCode);
            }

            //危险作业级别
            if (!queryParam["joblevel"].IsEmpty())
            {
                var joblevel = queryParam["joblevel"].ToString();
                pagination.conditionJson += string.Format(" and t.joblevel='{0}' ", joblevel);
            }
            //作业人数
            if (!queryParam["numberofpeople"].IsEmpty())
            {
                var numberofpeople = queryParam["numberofpeople"].ToString();
                pagination.conditionJson += string.Format(" and t.numberofpeople='{0}' ", numberofpeople);
            }
            DataTable data = this.BaseRepository().FindTableByProcPager(pagination, dataType);
            foreach (DataRow dr in data.Rows)
            {
                string deptNames = "";
                var    deptids   = dr["deptids"].ToString().Split(',');
                for (int i = 0; i < deptids.Length; i++)
                {
                    var dept = departmentDll.GetEntity(deptids[i]);
                    if (dept != null)
                    {
                        if (dept.Nature == "专业" || dept.Nature == "班组")
                        {
                            DataTable dt = departmentDll.GetDataTable(string.Format(
                                                                          "select fullname from BASE_DEPARTMENT where encode=(select encode from BASE_DEPARTMENT t where instr('{0}',encode)=1 and nature='{1}' and organizeid='{2}') or encode='{0}' order by deptcode",
                                                                          dept.EnCode, "部门", dept.OrganizeId));
                            if (dt.Rows.Count > 0)
                            {
                                string name = "";
                                foreach (DataRow dr1 in dt.Rows)
                                {
                                    name += dr1["fullname"].ToString() + "/";
                                }

                                deptNames += name.TrimEnd('/') + ",";
                            }
                        }
                        else
                        {
                            deptNames += dept.FullName + ",";
                        }
                    }
                }
                if (!string.IsNullOrEmpty(deptNames) && deptNames.Length > 1)
                {
                    dr["deptNames"] = deptNames.TrimEnd(',');
                }
            }

            return(data);
        }
Esempio n. 26
0
        /// <summary>
        /// 获取列表
        /// </summary>
        /// <param name="pagination">分页</param>
        /// <param name="queryJson">查询参数</param>
        /// <returns>返回列表</returns>
        public DataTable GetList(Pagination pagination, string queryJson, string authType, Operator user)
        {
            DatabaseType dataTye = DatabaseType.Oracle;

            #region 查表
            pagination.p_kid         = "a.id";
            pagination.p_fields      = @"a.flowdeptname,a.flowname,a.flowrolename,a.flowdept,a.investigatestate,a.workdeptid,a.engineeringid,a.flowid,b.outtransferuseraccount,b.intransferuseraccount,
                                    a.workdepttype,a.workdeptname,a.applynumber,a.createdate,a.applystate,a.workplace,a.workcontent,a.workuserids,a.workareaname,a.workareacode,
                                    a.workstarttime,a.workendtime,a.applyusername,a.applydeptname,a.createuserid,a.createuserdeptcode,nvl(a.conditionstate,0) conditionstate,
                                    a.createuserorgcode,a.flowremark,a.specialtytype,'' as approveuserid,'' as approveusername,'' as approveuseraccount,case when a.applystate='3' and (a.conditionstate='0' or a.conditionstate is null) then '1' else '0' end appconditionstate";
            pagination.p_tablename   = " bis_firewater a left join (select recid,flowid,outtransferuseraccount,intransferuseraccount,row_number()  over(partition by recid,flowid order by createdate desc) as num from BIS_TRANSFERRECORD where disable=0) b on a.id=b.recid and a.flowid=b.flowid and b.num=1";
            pagination.conditionJson = " 1=1 ";
            if (!string.IsNullOrEmpty(authType))
            {
                //配置的部门拥有特殊查看权限
                string specialDeptId  = new DataItemDetailService().GetItemValue(user.OrganizeId, "FireDept");
                var    IsHrdl         = new DataItemDetailService().GetItemValue("IsOpenPassword");
                string isAllDataRange = dataitemdetailservice.GetEnableItemValue("HighRiskWorkDataRange"); //特殊标记,高风险作业模块是否看全厂数据
                if (!string.IsNullOrEmpty(specialDeptId) && specialDeptId.Contains(user.DeptId) || IsHrdl == "true" || !string.IsNullOrWhiteSpace(isAllDataRange))
                {
                    pagination.conditionJson += " and a.createuserorgcode='" + user.OrganizeCode + "'";
                }
                else
                {
                    switch (authType)
                    {
                    case "1":
                        pagination.conditionJson += " and a.applyuserid='" + user.UserId + "'";
                        break;

                    case "2":
                        pagination.conditionJson += " and a.workdeptid='" + user.DeptId + "'";
                        break;

                    case "3":    //本子部门
                        pagination.conditionJson += string.Format(" and ((a.workdeptid in(select departmentid from base_department where encode like '{0}%'))  or (a.engineeringid in(select id from epg_outsouringengineer a where a.engineerletdeptid = '{1}')))", user.DeptCode, user.DeptId);
                        break;

                    case "4":
                        pagination.conditionJson += " and a.createuserorgcode='" + user.OrganizeCode + "'";
                        break;

                    case "app":
                        if (user.RoleName.Contains("公司") || user.RoleName.Contains("厂级"))
                        {
                            pagination.conditionJson += " and a.createuserorgcode='" + user.OrganizeCode + "'";
                        }
                        else
                        {
                            pagination.conditionJson += string.Format(" and ((a.workdeptid in(select departmentid from base_department where encode like '{0}%'))  or (a.engineeringid in(select id from epg_outsouringengineer a where a.engineerletdeptid = '{1}')))", user.DeptCode, user.DeptId);
                        }
                        break;
                    }
                }
            }
            else
            {
                pagination.conditionJson += " and 0=1";
            }
            #endregion

            #region  筛选条件
            var queryParam = JObject.Parse(queryJson);
            //查询条件
            if (!queryParam["applynumber"].IsEmpty())//申请编号
            {
                pagination.conditionJson += string.Format(" and applynumber like '%{0}%'", queryParam["applynumber"].ToString());
            }
            //查询条件
            if (!queryParam["status"].IsEmpty())//许可状态
            {
                pagination.conditionJson += string.Format(" and applystate='{0}'", queryParam["status"].ToString());
            }
            //时间选择
            if (!queryParam["st"].IsEmpty())//开始时间
            {
                string from = queryParam["st"].ToString().Trim();
                pagination.conditionJson += string.Format(" and workstarttime>=to_date('{0}','yyyy-mm-dd')", from);
            }
            if (!queryParam["et"].IsEmpty())//结束时间
            {
                string to = Convert.ToDateTime(queryParam["et"].ToString().Trim()).AddDays(1).ToString("yyyy-MM-dd");
                pagination.conditionJson += string.Format(" and workendtime<=to_date('{0}','yyyy-mm-dd')", to);
            }
            if (!queryParam["workdept"].IsEmpty() && !queryParam["workdeptid"].IsEmpty())//使用消防水单位
            {
                pagination.conditionJson += string.Format(" and ((workdeptcode in(select encode from base_department where encode like '{0}%'))  or (engineeringid in(select id from epg_outsouringengineer a where a.engineerletdeptid = '{1}')))", queryParam["workdept"].ToString(), queryParam["workdeptid"].ToString());
            }
            //查询条件
            if (!queryParam["workdeptcode"].IsEmpty())//使用消防水单位code
            {
                pagination.conditionJson += string.Format(" and workdeptcode='{0}'", queryParam["workdeptcode"].ToString());
            }
            if (!queryParam["viewrange"].IsEmpty())
            {
                //本人
                if (queryParam["viewrange"].ToString().ToLower() == "self")
                {
                    pagination.conditionJson += string.Format(" and a.applyuserid='{0}'", user.UserId);
                }
                else if (queryParam["viewrange"].ToString().ToLower() == "selfaudit")
                {
                    string    strCondition = " and a.applystate ='1'";
                    DataTable dt           = BaseRepository().FindTable("select " + pagination.p_kid + "," + pagination.p_fields + " from " + pagination.p_tablename + " where " + pagination.conditionJson + strCondition);
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        string executedept = string.Empty;
                        highriskcommonapplyservice.GetExecutedept(dt.Rows[i]["workdepttype"].ToString(), dt.Rows[i]["workdeptid"].ToString(), dt.Rows[i]["engineeringid"].ToString(), out executedept);
                        string createdetpid           = departmentservice.GetEntityByCode(dt.Rows[i]["createuserdeptcode"].ToString()).IsEmpty() ? "" : departmentservice.GetEntityByCode(dt.Rows[i]["createuserdeptcode"].ToString()).DepartmentId;
                        string outsouringengineerdept = string.Empty;
                        highriskcommonapplyservice.GetOutsouringengineerDept(dt.Rows[i]["workdeptid"].ToString(), out outsouringengineerdept);
                        string str = manypowercheckservice.GetApproveUserAccount(dt.Rows[i]["flowid"].ToString(), dt.Rows[i]["id"].ToString(), "", dt.Rows[i]["specialtytype"].ToString(), executedept, outsouringengineerdept, createdetpid, "", "");
                        dt.Rows[i]["approveuseraccount"] = str;
                    }
                    string[] applyids = dt.Select(" (outtransferuseraccount is null or outtransferuseraccount not like '%" + user.Account + ",%') and (approveuseraccount like '%" + user.Account + ",%' or intransferuseraccount like '%" + user.Account + ",%')").AsEnumerable().Select(d => d.Field <string>("id")).ToArray();

                    pagination.conditionJson += string.Format(" and a.id in ('{0}') {1}", string.Join("','", applyids), strCondition);
                }
                else
                {
                    //排除其他人申请保存的数据
                    pagination.conditionJson += string.Format("  and a.id  not in(select id from bis_firewater where applystate='0' and  applyuserid!='{0}')", user.UserId);
                }
            }
            #endregion
            DataTable data = this.BaseRepository().FindTableByProcPager(pagination, dataTye);
            for (int i = 0; i < data.Rows.Count; i++)
            {
                string executedept = string.Empty;
                highriskcommonapplyservice.GetExecutedept(data.Rows[i]["workdepttype"].ToString(), data.Rows[i]["workdeptid"].ToString(), data.Rows[i]["engineeringid"].ToString(), out executedept);                                            //获取执行部门
                string createdetpid           = departmentservice.GetEntityByCode(data.Rows[i]["createuserdeptcode"].ToString()).IsEmpty() ? "" : departmentservice.GetEntityByCode(data.Rows[i]["createuserdeptcode"].ToString()).DepartmentId; //获取创建部门
                string outsouringengineerdept = string.Empty;
                highriskcommonapplyservice.GetOutsouringengineerDept(data.Rows[i]["workdeptid"].ToString(), out outsouringengineerdept);
                string   str = manypowercheckservice.GetApproveUserAccount(data.Rows[i]["flowid"].ToString(), data.Rows[i]["id"].ToString(), "", data.Rows[i]["specialtytype"].ToString(), executedept, outsouringengineerdept, createdetpid, "", "");
                string   outtransferuseraccount     = data.Rows[i]["outtransferuseraccount"].IsEmpty() ? "" : data.Rows[i]["outtransferuseraccount"].ToString(); //转交申请人
                string   intransferuseraccount      = data.Rows[i]["intransferuseraccount"].IsEmpty() ? "" : data.Rows[i]["intransferuseraccount"].ToString();   //转交接收人
                string[] outtransferuseraccountlist = outtransferuseraccount.Split(',');
                string[] intransferuseraccountlist  = intransferuseraccount.Split(',');
                foreach (var item in intransferuseraccountlist)
                {
                    if (!item.IsEmpty() && !str.Contains(item + ","))
                    {
                        str += (item + ",");//将转交接收人加入审核账号中
                    }
                }
                foreach (var item in outtransferuseraccountlist)
                {
                    if (!item.IsEmpty() && str.Contains(item + ","))
                    {
                        str = str.Replace(item + ",", "");//将转交申请人从审核账号中移除
                    }
                }
                data.Rows[i]["approveuseraccount"] = str;
                DataTable dtuser    = userservice.GetUserTable(str.Split(','));
                string[]  usernames = dtuser.AsEnumerable().Select(d => d.Field <string>("realname")).ToArray();
                data.Rows[i]["approveusername"] = usernames.Length > 0 ? string.Join(",", usernames) : "";
            }
            return(data);
        }
Esempio n. 27
0
        /// <summary>
        /// 获取使用消防水台账
        /// </summary>
        /// <param name="pagination">分页</param>
        /// <param name="queryJson">查询参数</param>
        /// <returns>返回分页列表</returns>
        public DataTable GetLedgerList(Pagination pagination, string queryJson, Operator user)
        {
            DatabaseType dataType = DatabaseType.Oracle;

            #region 数据权限
            string curUserId = user.UserId;
            #endregion

            /*
             * 即将作业:审批通过且实际作业时间为空
             * 作业中:审批通过且实际作业开始时间不为空且实际作业结束时间为空
             * 已结束:审批通过且实际作业结束时间不为空
             */
            #region 查表
            pagination.p_kid         = "Id as workid";
            pagination.p_fields      = "case when workdepttype=0 then '单位内部' when workdepttype=1 then '外包单位' end workdepttypename,workdepttype,workdeptid,workdeptname,workdeptcode,applynumber,a.createdate,workplace,workcontent,workstarttime,workendtime,applyusername,engineeringname,engineeringid,case when a.workoperate='1' then '作业暂停' when realityworkstarttime is not null and realityworkendtime is null then '作业中' when realityworkendtime is not null then '已结束'  else '即将作业' end ledgertype,a.workuserids,a.RealityWorkStartTime,a.RealityWorkEndTime,'' as isoperate,a.createuserid";
            pagination.p_tablename   = " bis_firewater a";
            pagination.conditionJson = "applystate='3'";
            if (!user.IsSystem)
            {
                //配置的部门拥有特殊查看权限
                string specialDeptId = new DataItemDetailService().GetItemValue(user.OrganizeId, "FireDept");
                if (!string.IsNullOrEmpty(specialDeptId) && specialDeptId.Contains(user.DeptId))
                {
                    pagination.conditionJson += " and a.createuserorgcode='" + user.OrganizeCode + "'";
                }
                else
                {
                    if (user.RoleName.Contains("公司") || user.RoleName.Contains("厂级"))
                    {
                        pagination.conditionJson += " and a.createuserorgcode='" + user.OrganizeCode + "'";
                    }
                    else
                    {
                        pagination.conditionJson += string.Format(" and ((workdeptcode in(select encode from base_department where encode like '{0}%'))  or (engineeringid in(select id from epg_outsouringengineer a where a.engineerletdeptid = '{1}')))", user.DeptCode, user.DeptId);
                    }
                }
            }
            #endregion

            #region  筛选条件
            var queryParam = JObject.Parse(queryJson);
            //时间选择
            if (!queryParam["st"].IsEmpty())//使用消防水开始时间
            {
                string from = queryParam["st"].ToString().Trim();
                pagination.conditionJson += string.Format(" and WorkStartTime>=to_date('{0}','yyyy-mm-dd')", from);
            }
            if (!queryParam["et"].IsEmpty())//使用消防水结束时间
            {
                string to = Convert.ToDateTime(queryParam["et"].ToString().Trim()).AddDays(1).ToString("yyyy-MM-dd");
                pagination.conditionJson += string.Format(" and WorkEndTime<=to_date('{0}','yyyy-mm-dd')", to);
            }
            //查询条件
            if (!queryParam["workdeptcode"].IsEmpty())//使用消防水单位code
            {
                pagination.conditionJson += string.Format(" and workdeptcode='{0}'", queryParam["workdeptcode"].ToString());
            }
            if (!queryParam["ledgertype"].IsEmpty())
            {
                var ledgertype = queryParam["ledgertype"].ToString();
                if (ledgertype == "0")// 即将作业
                {
                    pagination.conditionJson += " and RealityWorkStartTime is null";
                }
                else if (ledgertype == "1")//作业中
                {
                    pagination.conditionJson += " and RealityWorkStartTime is not null and RealityWorkEndTime is null";
                }
                else if (ledgertype == "3")
                {
                    pagination.conditionJson += " and workoperate='1'";
                }
                else//已结束
                {
                    pagination.conditionJson += " and RealityWorkEndTime is not null and workoperate is null";
                }
            }
            if (!queryParam["keyname"].IsEmpty())
            {
                pagination.conditionJson += string.Format("  and (workdeptname like '%{0}%' or engineeringname like '%{0}%')", queryParam["keyname"].ToString());
            }
            if (!queryParam["applynumber"].IsEmpty())
            {
                pagination.conditionJson += string.Format(" and applynumber like '%{0}%'", queryParam["applynumber"].ToString());
            }
            #endregion
            var data = this.BaseRepository().FindTableByProcPager(pagination, dataType);
            #region 操作权限
            if (data != null)
            {
                string strRole       = dataitemdetailservice.GetItemValue(user.OrganizeId, "LedgerSendDept");   //责任部门角色
                string strManageRole = dataitemdetailservice.GetItemValue(user.OrganizeId, "LedgerManageDept"); //安全主管部门监管角色
                string strWorkRole   = dataitemdetailservice.GetItemValue(user.OrganizeId, "LedgerWorkDept");   //作业单位
                for (int i = 0; i < data.Rows.Count; i++)
                {
                    string str           = "0";
                    string workUserIds   = data.Rows[i]["workuserids"].ToString();                   //作业人员
                    string applyUserId   = data.Rows[i]["createuserid"].ToString();
                    string engineeringid = data.Rows[i]["engineeringid"].ToString();                 //工程id
                    string workDeptType  = data.Rows[i]["workdepttype"].ToString();
                    string workdeptid    = data.Rows[i]["workdeptid"].ToString();                    //作业单位id
                    var    dept          = new OutsouringengineerService().GetEntity(engineeringid); //获取工程id对应的责任部门
                    if (user.RoleName.Contains("厂级") && !string.IsNullOrEmpty(strManageRole))        //安全主管部门
                    {
                        string[] arrrolename = strManageRole.Split(',');
                        for (int j = 0; j < arrrolename.Length; j++)
                        {
                            if (user.RoleName.Contains(arrrolename[j]))
                            {
                                str = "1";
                                break;
                            }
                        }
                    }
                    if (str != "1" && !string.IsNullOrEmpty(workdeptid))
                    {
                        string[] arrrolename = strWorkRole.Split(',');
                        for (int j = 0; j < arrrolename.Length; j++)
                        {
                            if (user.RoleName.Contains(arrrolename[j]))
                            {
                                str = "1";
                                break;
                            }
                        }
                    }
                    if (str != "1" && ((!string.IsNullOrEmpty(workUserIds) && workUserIds.Contains(curUserId)) || curUserId == applyUserId))//作业人员或申请人
                    {
                        str = "1";
                    }
                    if (str != "1" && dept != null)
                    {
                        if (workDeptType == "1")//责任部门
                        {
                            if (dept.ENGINEERLETDEPTID == user.DeptId && !string.IsNullOrEmpty(strRole))
                            {
                                string[] arrrolename = strRole.Split(',');
                                for (int j = 0; j < arrrolename.Length; j++)
                                {
                                    if (user.RoleName.Contains(arrrolename[j]))
                                    {
                                        str = "1";
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    data.Rows[i]["isoperate"] = str;
                }
            }
            #endregion
            return(data);
        }
Esempio n. 28
0
        /// <summary>
        /// 出入权限配置
        /// </summary>
        /// <param name="codes">用户或组织id集合</param>
        /// <param name="ParentAccess">控制器id集合</param>
        /// <param name="Access">门禁点id集合</param>
        /// <param name="StartTime">开始时间</param>
        /// <param name="EndTime">结束时间</param>
        /// <param name="Type">0组织 1人员</param>
        /// <param name="baseUrl"></param>
        /// <param name="Key"></param>
        /// <param name="Signature"></param>
        private void DeleteUserlimits(List <string> codes, List <HikAccessNo> ParentAccess, List <HikAccessNo> Access, int Type, string baseUrl, string Key, string Signature)
        {
            var url = "/artemis/api/acps/v1/auth_config/delete";
            List <personDatas1> personDatas = new List <personDatas1>();
            personDatas1        entity      = new personDatas1();

            entity.indexCodes = codes;
            if (Type == 0)
            {
                entity.personDataType = "org";
            }
            else
            {
                entity.personDataType = "person";
            }
            personDatas.Add(entity);

            List <resourceInfos1> AllresourceInfos = new List <resourceInfos1>();//设备信息集合

            for (int i = 0; i < ParentAccess.Count; i++)
            {
                //List<int> nos = new List<int>();
                //nos.Add(1);
                //nos.Add(2);


                resourceInfos1 entity1 = new resourceInfos1();
                entity1.resourceIndexCode = ParentAccess[i].AccId;//设备唯一编号
                entity1.resourceType      = "acsDevice";
                entity1.channelNos        = ParentAccess[i].No;
                AllresourceInfos.Add(entity1);
            }
            //这里门禁控制器固定为设备类型门禁点类型采取数据编码配置
            DataItemDetailService itemBll = new DataItemDetailService();
            string doorType = itemBll.GetItemValue("doorType");

            foreach (var item in Access)
            {
                //List<int> nos = new List<int>();
                //nos.Add(1);
                resourceInfos1 entity1 = new resourceInfos1();
                entity1.resourceIndexCode = item.AccId;//设备唯一编号
                entity1.resourceType      = doorType;
                entity1.channelNos        = item.No;
                AllresourceInfos.Add(entity1);
            }
            var model = new
            {
                personDatas,
                resourceInfos = AllresourceInfos
            };
            string msg  = SocketHelper.LoadCameraList(model, baseUrl, url, Key, Signature);
            var    tsk  = JsonConvert.DeserializeObject <JurisdictionEntity>(msg);
            bool   flag = QuerySpeedofprogress(tsk.data.taskId, baseUrl, Key, Signature);

            if (flag)
            {
                //将删除卡号下发到所有设备
                downloadUserlimits(AllresourceInfos, 1, baseUrl, Key, Signature);
            }
        }
Esempio n. 29
0
        /// <summary>
        /// 出入权限配置
        /// </summary>
        /// <param name="codes">用户或组织id集合</param>
        /// <param name="ParentAccess">控制器id集合</param>
        /// <param name="Access">门禁点id集合</param>
        /// <param name="StartTime">开始时间</param>
        /// <param name="EndTime">结束时间</param>
        /// <param name="Type">0组织 1人员</param>
        /// <param name="baseUrl"></param>
        /// <param name="Key"></param>
        /// <param name="Signature"></param>
        private void UploadUserlimits(List <string> codes, List <HikAccessNo> ParentAccess, List <HikAccessNo> Access, string StartTime, string EndTime, int Type, string baseUrl, string Key, string Signature)
        {
            var url = "/artemis/api/acps/v1/auth_config/add";
            List <personDatas1> personDatas = new List <personDatas1>();
            personDatas1        entity      = new personDatas1();

            entity.indexCodes = codes;
            if (Type == 0)
            {
                entity.personDataType = "org";
            }
            else
            {
                entity.personDataType = "person";
            }
            personDatas.Add(entity);

            List <resourceInfos1> AllresourceInfos = new List <resourceInfos1>(); //设备信息集合
            List <resourceInfos1> resourceInfos    = new List <resourceInfos1>(); //设备信息集合

            for (int i = 0; i < ParentAccess.Count; i++)
            {
                resourceInfos1 entity1 = new resourceInfos1();
                entity1.resourceIndexCode = ParentAccess[i].AccId;//设备唯一编号
                entity1.resourceType      = "acsDevice";
                entity1.channelNos        = ParentAccess[i].No;
                AllresourceInfos.Add(entity1);
            }
            //这里门禁控制器固定为设备类型门禁点类型采取数据编码配置
            DataItemDetailService itemBll = new DataItemDetailService();
            string doorType = itemBll.GetItemValue("doorType");

            foreach (var item in Access)
            {
                resourceInfos1 entity1 = new resourceInfos1();
                entity1.resourceIndexCode = item.AccId;//设备唯一编号
                entity1.resourceType      = doorType;
                entity1.channelNos        = item.No;
                AllresourceInfos.Add(entity1);
                resourceInfos.Add(entity1);
            }
            string stime = Convert.ToDateTime(StartTime).ToString("yyyy-MM-ddTHH:mm:ss+08:00", DateTimeFormatInfo.InvariantInfo);//ISO8601时间格式
            string etime = Convert.ToDateTime(EndTime).ToString("yyyy-MM-ddTHH:mm:ss+08:00", DateTimeFormatInfo.InvariantInfo);
            var    model = new
            {
                personDatas,
                resourceInfos = AllresourceInfos,
                startTime     = stime, // "2019-12-01T17:30:08+08:00",
                endTime       = etime  //"2019-12-19T17:30:08+08:00"
            };
            string msg  = SocketHelper.LoadCameraList(model, baseUrl, url, Key, Signature);
            var    tsk  = JsonConvert.DeserializeObject <JurisdictionEntity>(msg);
            bool   flag = QuerySpeedofprogress(tsk.data.taskId, baseUrl, Key, Signature);

            if (flag)
            {
                //先将卡号下发到所有设备
                downloadUserlimits(AllresourceInfos, 1, baseUrl, Key, Signature);
                //再讲指纹单独下发到设备
                downloadUserlimits(resourceInfos, 2, baseUrl, Key, Signature);
            }
        }
Esempio n. 30
0
        /// <summary>
        /// 设置计划完成状态并同步相关联风险记录到历史记录表
        /// </summary>
        /// <param name="planId">计划ID</param>
        /// <param name="areaIds">区域ID(多个用逗号分隔)</param>
        /// <returns></returns>
        public bool SetComplate(string planId, string areaIds)
        {
            this.BaseRepository().BeginTrans();
            DataItemDetailService detailservice = new DataItemDetailService();
            var gxhs = detailservice.GetItemValue("广西华昇版本");

            try
            {
                string sql = string.Format("update BIS_RISKPLAN set status=1,modifydate=sysdate where id='{0}'", planId);
                if (this.BaseRepository().ExecuteBySql(sql) > 0)
                {
                    string id   = Guid.NewGuid().ToString();
                    string guid = string.Format("'{0}'", id);
                    if (DbHelper.DbType == DatabaseType.MySql)
                    {
                        guid = "uuid()";
                    }
                    if (!string.IsNullOrWhiteSpace(gxhs)) //广西华昇版本查询管控部门是辨识部门、评估部门的数据
                    {
                        sql = string.Format(@"insert into BIS_RISKHISTORY(
                    id,areaid,areaname,dangersource,way,itema,itemb,itemc,itemr,
                                    grade,deptcode,deptname,postid,postname,createuserid,createdate,
                                    createusername,createuserdeptcode,createuserorgcode,status,
                                    gradeval,result,accidentname,harmtype,risktype,DeleteMark,
                                    planid,state,districtid,districtname,areacode,newplanid,
                                    WorkTask,Process,EquipmentName,Parts,RiskDesc,ResultType,
                                    measure,majorname,Description,HarmProperty,levelname,faulttype,
                                    jobname,toolordanger,dangersourcetype,hjsystem,hjequpment,
                                    project,dutyperson,dutypersonid,element,faultcategory,majornametype,
                                    packuntil,packnum,storagespace,postdept,postdeptid,postperson,postpersonid,postdeptcode,name,listingid,harmname,hazardtype,harmdescription,typesofrisk,riskcategory,exposedrisk,existingmeasures,isspecialequ,checkprojectname,checkstandard,consequences,advicemeasures,effectiveness,costfactor,measuresresult,isadopt,measuresresultval,isconventional,remark,workcontent)
                                    select id || {0},areaid,t.areaname,t.dangersource,way,itema,
                                    itemb,itemc,itemr,grade,deptcode,deptname,postid,postname,
                                    createuserid,createdate,createusername,createuserdeptcode,
                                    createuserorgcode,status,gradeval,result,accidentname,harmtype,
                                    risktype,DeleteMark,planid,state,districtid,districtname,
                                    areacode,'{1}',WorkTask,Process,EquipmentName,Parts,RiskDesc,
                                    ResultType,measure,majorname,Description,HarmProperty,levelname,
                                    faulttype,jobname,toolordanger,dangersourcetype,hjsystem,hjequpment,
                                    project,dutyperson,dutypersonid,element,faultcategory,majornametype,
                                    packuntil,packnum,storagespace,postdept,postdeptid,postperson,postpersonid,postdeptcode,name,listingid,harmname,hazardtype,harmdescription,typesofrisk,riskcategory,exposedrisk,existingmeasures,isspecialequ,checkprojectname,checkstandard,consequences,advicemeasures,effectiveness,costfactor,measuresresult,isadopt,measuresresultval,isconventional,remark,workcontent
                                    from bis_riskassess t
where (t.deptcode in(select DEPTCODE from bis_riskpplandata t where t.planid ='{1}' ) and status=1) or (planid='{1}' and status=2) order by id", guid, planId, areaIds.Replace(",", "','"));
                    }
                    else
                    {
                        sql = string.Format(@"insert into BIS_RISKHISTORY(
                    id,areaid,areaname,dangersource,way,itema,itemb,itemc,itemr,
                                    grade,deptcode,deptname,postid,postname,createuserid,createdate,
                                    createusername,createuserdeptcode,createuserorgcode,status,
                                    gradeval,result,accidentname,harmtype,risktype,DeleteMark,
                                    planid,state,districtid,districtname,areacode,newplanid,
                                    WorkTask,Process,EquipmentName,Parts,RiskDesc,ResultType,
                                    measure,majorname,Description,HarmProperty,levelname,faulttype,
                                    jobname,toolordanger,dangersourcetype,hjsystem,hjequpment,
                                    project,dutyperson,dutypersonid,element,faultcategory,majornametype,
                                    packuntil,packnum,storagespace,postdept,postdeptid,postperson,postpersonid,postdeptcode,name,listingid,harmname,hazardtype,harmdescription,typesofrisk,riskcategory,exposedrisk,existingmeasures,isspecialequ,checkprojectname,checkstandard,consequences,advicemeasures,effectiveness,costfactor,measuresresult,isadopt,measuresresultval,isconventional,remark)
                                    select id || {0},areaid,t.areaname,t.dangersource,way,itema,
                                    itemb,itemc,itemr,grade,deptcode,deptname,postid,postname,
                                    createuserid,createdate,createusername,createuserdeptcode,
                                    createuserorgcode,status,gradeval,result,accidentname,harmtype,
                                    risktype,DeleteMark,planid,state,districtid,districtname,
                                    areacode,'{1}',WorkTask,Process,EquipmentName,Parts,RiskDesc,
                                    ResultType,measure,majorname,Description,HarmProperty,levelname,
                                    faulttype,jobname,toolordanger,dangersourcetype,hjsystem,hjequpment,
                                    project,dutyperson,dutypersonid,element,faultcategory,majornametype,
                                    packuntil,packnum,storagespace,postdept,postdeptid,postperson,postpersonid,postdeptcode,name,listingid,harmname,hazardtype,harmdescription,typesofrisk,riskcategory,exposedrisk,existingmeasures,isspecialequ,checkprojectname,checkstandard,consequences,advicemeasures,effectiveness,costfactor,measuresresult,isadopt,measuresresultval,isconventional,remark
                                    from bis_riskassess t
where (t.districtid in('{2}') and status=1) or (planid='{1}' and status=2) order by id", guid, planId, areaIds.Replace(",", "','"));
                    }

                    this.BaseRepository().ExecuteBySql(sql);
                    //DataTable dt = this.BaseRepository().FindTable(string.Format("select id from bis_riskassess where (districtid in('{1}') and status=1) or (planid='{0}' and status=2) and id in(select riskid from BIS_MEASURES)",planId, areaIds.Replace(",", "','")));
                    //foreach(DataRow dr in dt.Rows)
                    //{
                    //id = Guid.NewGuid().ToString();
                    sql = string.Format("insert into BIS_MEASURES(id,content,riskid,typename) select  '{0}' || rownum,content,riskid || {3},typename from BIS_MEASURES where riskid in(select id from bis_riskassess where (districtid in('{2}') and status=1) or (planid='{1}' and status=2)) order by riskid", id, planId, areaIds.Replace(",", "','"), guid);
                    this.BaseRepository().ExecuteBySql(sql);

                    //sql = string.Format("insert into BIS_MEASURES(id,content,riskid,typename) select '{0}' || rownum,t.content,'{1}',typename from BIS_MEASURES t where t.riskid='{2}'", Guid.NewGuid().ToString(), dr[0].ToString() + id, dr[0].ToString());
                    //this.BaseRepository().ExecuteBySql(sql);
                    //}
                    sql = string.Format("update bis_riskassess set status=1,planId='' where planId='{0}'", planId);
                    this.BaseRepository().ExecuteBySql(sql);

                    this.BaseRepository().Commit();
                }
                return(true);
            }
            catch
            {
                this.BaseRepository().Rollback();
                return(false);
            }
        }