/// <summary>
        /// 获取列表
        /// </summary>
        /// <param name="pagination">分页参数</param>
        /// <param name="queryJson">查询参数</param>
        /// <returns>返回分页列表Json</returns>
        //[HandlerMonitor(3, "分页查询用户信息!")]
        public ActionResult GetPageListJson(Pagination pagination, string queryJson)
        {
            queryJson              = queryJson ?? "";
            pagination.p_kid       = "t.Id";
            pagination.p_fields    = "t.EngineerId,t.CREATEUSERID,t.CREATEUSERDEPTCODE,t.CREATEUSERORGCODE,t.CREATEDATE,t.CREATEUSERNAME,o.engineerletdept,o.engineername,p.outsourcingname,t.FLOWNAME,t.FLOWROLE,t.FLOWROLENAME,t.FLOWDEPT,t.FLOWDEPTNAME,t.ISSAVED,t.ISOVER,t.FlowId";
            pagination.p_tablename = "EPG_SAFETYCOLLECT t left join EPG_OUTSOURINGENGINEER o on t.engineerid=o.id left join EPG_OUTSOURCINGPROJECT p on o.outprojectid=p.outprojectid";
            //pagination.conditionJson = "1=1";

            Operator user         = ERCHTMS.Code.OperatorProvider.Provider.Current();
            string   role         = user.RoleName;
            string   allrangedept = "";

            try
            {
                allrangedept = dataitemdetailbll.GetDataItemByDetailCode("SBDept", "SBDeptId").FirstOrDefault().ItemValue;
            }
            catch (Exception)
            {
            }

            if (role.Contains("省级"))
            {
                pagination.conditionJson = string.Format(@" t.createuserorgcode  in (select encode
                from BASE_DEPARTMENT d
                        where d.deptcode like '{0}%' and d.nature = '厂级' and d.description is null)", user.NewDeptCode);
            }
            else if (role.Contains("公司级用户") || role.Contains("厂级部门用户") || allrangedept.Contains(user.DeptId))
            {
                pagination.conditionJson = string.Format(" t.createuserorgcode  = '{0}'", user.OrganizeCode);
            }
            else if (role.Contains("承包商级用户"))
            {
                pagination.conditionJson = string.Format(" (o.outprojectid ='{0}' or o.supervisorid='{0}' or t.createuserid = '{1}')", user.DeptId, user.UserId);
            }
            else
            {
                var deptentity = departmentbll.GetEntity(user.DeptId);
                while (deptentity.Nature == "班组" || deptentity.Nature == "专业")
                {
                    deptentity = departmentbll.GetEntity(deptentity.ParentId);
                }
                pagination.conditionJson = string.Format(" o.engineerletdeptid  in (select departmentid from base_department where encode like '{0}%') ", deptentity.EnCode);
            }

            var watch    = CommonHelper.TimerStart();
            var data     = SafetyCollectbll.GetPageList(pagination, queryJson);
            var JsonData = new
            {
                rows     = data,
                total    = pagination.total,
                page     = pagination.page,
                records  = pagination.records,
                costtime = CommonHelper.TimerEnd(watch)
            };

            return(Content(JsonData.ToJson()));
        }
        public ActionResult GetPageListJson(Pagination pagination, string queryJson)
        {
            try
            {
                var watch = CommonHelper.TimerStart();
                pagination.p_kid = "t.id";
                pagination.p_fields = @"t.outengineerid,e.engineername,e.engineerareaname as districtname,d.itemname engineertype,l.itemname engineerlevel,
                                       e.id eid,t.issaveorcommit,t.nextcheckrolename,
                                       p.outprojectid,t.isauditover,t.nextcheckdeptid,e.engineerarea,
                                       p.outsourcingname,e.engineerstate,
                                       t.createusername,
                                       t.createdate,t.createuserorgcode,t.flowid,
                                       t.createuserid,e.engineerletdept,e.engineerletdeptid,'' as approveuserids ";
                pagination.p_tablename = @" epg_aptitudeinvestigateinfo t
                                          left join epg_outsouringengineer e on e.id = t.outengineerid
                                          left join epg_outsourcingproject p on p.outprojectid = t.outprojectid
                                           left join base_department b on b.departmentid = t.outprojectid 
                                            left join ( select m.itemname,m.itemvalue from base_dataitem t
                                          left join base_dataitemdetail m on m.itemid=t.itemid where t.itemcode='ProjectType') d on d.itemvalue=e.engineertype
                                          left join ( select m.itemname,m.itemvalue from base_dataitem t
                                          left join base_dataitemdetail m on m.itemid=t.itemid where t.itemcode='ProjectLevel') l on l.itemvalue=e.engineerlevel
                                          left join ( select m.itemname,m.itemvalue from base_dataitem t
                                          left join base_dataitemdetail m on m.itemid=t.itemid where t.itemcode='OutProjectState') s on s.itemvalue=e.engineerstate";
                pagination.sidx = "t.createdate";//排序字段
                pagination.sord = "desc";//排序方式
                Operator currUser = OperatorProvider.Provider.Current();
                string allrangedept = "";
                try
                {
                    allrangedept = dataitemdetailbll.GetDataItemByDetailCode("SBDept", "SBDeptId").FirstOrDefault().ItemValue;
                }
                catch (Exception)
                {

                }
                if (currUser.IsSystem)
                {
                    pagination.conditionJson = "  1=1 ";
                }
                else if (currUser.RoleName.Contains("省级"))
                {
                    pagination.conditionJson = string.Format(@" t.createuserorgcode  in (select encode from BASE_DEPARTMENT d
                        where d.deptcode like '{0}%' and d.nature = '厂级' and d.description is null)", currUser.NewDeptCode);
                }
                else if (currUser.RoleName.Contains("厂级部门用户") || currUser.RoleName.Contains("公司级用户") || allrangedept.Contains(currUser.DeptId))
                {
                    pagination.conditionJson = string.Format(" (t.issaveorcommit='1' or t.createuserid='{0}') ", currUser.UserId);
                }
                else if (currUser.RoleName.Contains("承包商级用户"))
                {
                    pagination.conditionJson = string.Format(" ( e.outprojectid ='{0}' or e.supervisorid='{0}' or t.createuserid='{1}') ", currUser.DeptId, currUser.UserId);
                }
                else
                {
                    var deptentity = departmentbll.GetEntity(currUser.DeptId);
                    while (deptentity.Nature == "班组" || deptentity.Nature == "专业")
                    {
                        deptentity = departmentbll.GetEntity(deptentity.ParentId);
                    }
                    pagination.conditionJson = string.Format(" (e.engineerletdeptid in (select departmentid from base_department where encode like '{0}%') and t.issaveorcommit='1' or t.createuserid='{1}') ", deptentity.EnCode, currUser.UserId);
                }
                //pagination.conditionJson += string.Format(" or t.createuserid='{0}' ", currUser.UserId);
                var data = aptitudeinvestigateinfobll.GetPageList(pagination, queryJson);
                for (int i = 0; i < data.Rows.Count; i++)
                {
                    var engineerEntity = Outsouringengineernll.GetEntity(data.Rows[i]["outengineerid"].ToString());
                    var excutdept = departmentbll.GetEntity(engineerEntity.ENGINEERLETDEPTID).DepartmentId;
                    var outengineerdept = departmentbll.GetEntity(engineerEntity.OUTPROJECTID).DepartmentId;
                    var supervisordept = string.IsNullOrEmpty(engineerEntity.SupervisorId) ? "" : departmentbll.GetEntity(engineerEntity.SupervisorId).DepartmentId;
                    //获取下一步审核人
                    string str = manypowercheckbll.GetApproveUserId(data.Rows[i]["flowid"].ToString(), data.Rows[i]["outengineerid"].ToString(), "", "", excutdept, outengineerdept, "", "", "", supervisordept, data.Rows[i]["outengineerid"].ToString());
                    data.Rows[i]["approveuserids"] = str;
                }
                var jsonData = new
                {
                    rows = data,
                    total = pagination.total,
                    page = pagination.page,
                    records = pagination.records,
                    costtime = CommonHelper.TimerEnd(watch)
                };
                return ToJsonResult(jsonData);
            }
            catch (System.Exception ex)
            {
                return Error(ex.ToString());
            }

        }
Esempio n. 3
0
        public ActionResult GetIntromissionList(Pagination pagination, string queryJson)
        {
            pagination.p_kid       = "a.id";
            pagination.p_fields    = @"a.createuserid,a.createdate, a.applypeople,a.applytime,
                                    a.investigatestate,a.outengineerid,b.engineername,c.fullname,
                                    a.flowdeptname,a.flowdept,a.flowrolename,a.flowrole,a.flowname,a.flowid,
                                     b.engineerareaname as districtname,d.itemname engineertype,l.itemname engineerlevel,b.engineerletdept,b.engineerletdeptid,'' as approveuserids";
            pagination.p_tablename = @" epg_intromission a  
                                      left join epg_outsouringengineer b on a.outengineerid = b.id 
                                      left join base_department c on b.outprojectid=c.departmentid
                                      left join ( select m.itemname,m.itemvalue from base_dataitem t
                                      left join base_dataitemdetail m on m.itemid=t.itemid where t.itemcode='ProjectType') d on d.itemvalue=b.engineertype
                                      left join ( select m.itemname,m.itemvalue from base_dataitem t
                                      left join base_dataitemdetail m on m.itemid=t.itemid where t.itemcode='ProjectLevel') l on l.itemvalue=b.engineerlevel
                                      left join ( select m.itemname,m.itemvalue from base_dataitem t
                                      left join base_dataitemdetail m on m.itemid=t.itemid where t.itemcode='OutProjectState') s on s.itemvalue=b.engineerstate ";
            Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current();
            string   role = user.RoleName;

            string allrangedept = "";

            try
            {
                allrangedept = dataitemdetailbll.GetDataItemByDetailCode("SBDept", "SBDeptId").FirstOrDefault().ItemValue;
            }
            catch (Exception)
            {
            }
            //公用下不显示登记
            pagination.conditionJson = "(( a.investigatestate !='0' and ";

            if (role.Contains("公司级用户") || role.Contains("厂级部门用户") || allrangedept.Contains(user.DeptId))
            {
                pagination.conditionJson += string.Format(" a.createuserorgcode  = '{0}'", user.OrganizeCode);
            }
            else if (role.Contains("承包商级用户"))
            {
                pagination.conditionJson += string.Format("( c.departmentid = '{0}' or b.supervisorid ='{0}')", user.DeptId);
            }
            else
            {
                var deptentity = departmentbll.GetEntity(user.DeptId);
                while (deptentity.Nature == "班组" || deptentity.Nature == "专业")
                {
                    deptentity = departmentbll.GetEntity(deptentity.ParentId);
                }
                pagination.conditionJson += string.Format(" b.engineerletdeptid in (select departmentid from base_department where encode like '{0}%')  ", deptentity.EnCode);

                // pagination.conditionJson += string.Format(" b.engineerletdeptid = '{0}'", user.DeptId);
            }
            pagination.conditionJson += string.Format(" )  or  (a.investigatestate ='0'  and a.createuserid = '{0}'))", user.UserId);


            var watch = CommonHelper.TimerStart();
            var data  = intromissionbll.GetIntromissionPageList(pagination, queryJson);

            for (int i = 0; i < data.Rows.Count; i++)
            {
                var engineerEntity  = Outsouringengineernll.GetEntity(data.Rows[i]["outengineerid"].ToString());
                var excutdept       = departmentbll.GetEntity(engineerEntity.ENGINEERLETDEPTID).DepartmentId;
                var outengineerdept = departmentbll.GetEntity(engineerEntity.OUTPROJECTID).DepartmentId;
                var supervisordept  = string.IsNullOrEmpty(engineerEntity.SupervisorId) ? "" : departmentbll.GetEntity(engineerEntity.SupervisorId).DepartmentId;
                //获取下一步审核人
                string str = manypowercheckbll.GetApproveUserId(data.Rows[i]["flowid"].ToString(), data.Rows[i]["outengineerid"].ToString(), "", "", excutdept, outengineerdept, "", "", "", supervisordept, data.Rows[i]["outengineerid"].ToString());
                data.Rows[i]["approveuserids"] = str;
            }

            var jsonData = new
            {
                rows     = data,
                total    = pagination.total,
                page     = pagination.page,
                records  = pagination.records,
                costtime = CommonHelper.TimerEnd(watch)
            };

            return(ToJsonResult(jsonData));
        }