Exemplo n.º 1
0
        /// <summary>
        /// 获取我的下属对象
        /// </summary>
        private string GetMyUnderlingObjects(DataRow row)
        {
            var key = default(string);

            if (row.Table.Columns.Contains("Key") && !string.IsNullOrEmpty(row["Key"].AsString()))
            {
                key = row["Key"].AsString();
            }

            using (var conn = new SqlConnection(PubConstant.hmWyglConnectionString))
            {
                var reportObject = new List <ReportObjectModel>();

                var sql = @"SELECT a.Id,a.MyUserCode AS UserCode,b.UserName AS UserName,b.RoleName,
                                (SELECT STUFF(
                                    (SELECT '--' + Value FROM
                                        (
                                            SELECT TOP 2 * FROM SplitString(b.DepName,'--',1) ORDER BY Id DESC
                                        ) AS t ORDER BY Id
                                    FOR XML PATH('')), 1, 2, '')) AS DepName
                            FROM Tb_OAPublicWork_WorkRecordNoticeUser a
                            LEFT JOIN view_Sys_UserRole_Filter b ON a.ToUserCode=b.UserCode
                            WHERE ToUserCode=@UserCode";

                if (!string.IsNullOrEmpty(key))
                {
                    sql += " AND (UserName LIKE @Key OR RoleName LIKE @Key OR DepName LIKE @Key)";
                }

                var data = conn.Query(sql, new { UserCode = Global_Var.LoginUserCode, Key = $"%{key}%" });
                foreach (var item in data)
                {
                    var tmp = reportObject.Find(obj => obj.UserCode == item.UserCode);
                    if (tmp == null)
                    {
                        tmp = new ReportObjectModel()
                        {
                            Id       = item.Id,
                            UserCode = item.UserCode,
                            UserName = item.UserName,
                            RoleInfo = new List <string>()
                        };

                        reportObject.Add(tmp);
                    }

                    tmp.RoleInfo.Add(((item.DepName ?? "") + "," + item.RoleName).ToString().Trim(','));
                }

                return(new ApiResult(true, reportObject).toJson());
            }
        }
Exemplo n.º 2
0
        public ActionResult ReportTablePartial(string keysJSON)
        {
            //keysJSON - json строка с id объектов и дефектов, выбранных в чекбоксах. В строке подряд идут id объекта, затем id его дефектов
            var keys = JsonConvert.DeserializeObject <Guid[]>(keysJSON);
            List <ReportObjectModel> reportObjects = new List <ReportObjectModel>(); //модель для вьюхи

            foreach (var key in keys)
            {
                Объект pitObject = db.Объект.FirstOrDefault(o => o.id == key);
                //если id из массива принадлежит Объекту
                if (pitObject != null)
                {
                    //добавляем в модель объект, участок газопровода, имя ЛПУ
                    ReportObjectModel tempObj = new ReportObjectModel();
                    tempObj.pitObject   = pitObject;
                    tempObj.sectionTube = db.Участок_газопровода.FirstOrDefault(f => f.id == pitObject.id_участка_газопровода).Наименование;
                    tempObj.lpuName     = db.ЛПУ.FirstOrDefault(f => f.id == pitObject.id_ЛПУ).Наименование;
                    reportObjects.Add(tempObj);
                }
                else // //если id из массива принадлежит Дефекту - добавляем дефекты к ОБъекту
                {
                    ReportDefectModel tempDef = new ReportDefectModel();
                    Дефект            def     = db.Дефект.FirstOrDefault(d => d.id == key);
                    tempDef.defectID = def.id;

                    tempDef.vtd    = db.Внутритрубная_диагностика.FirstOrDefault(v => v.id == def.id_ВТД);
                    tempDef.ddo    = db.ДДО.FirstOrDefault(d => d.id == def.id_ДДО);
                    tempDef.repair = db.емонт.FirstOrDefault(r => r.id == def.id_Ремонта);

                    tempDef.defKind              = db.Виды_дефектов.FirstOrDefault(i => i.id == tempDef.vtd.id_виды_дефектов);
                    tempDef.ddoResult            = db.езультаты_ДДО.FirstOrDefault(i => i.id == tempDef.ddo.id_результаты_ДДО);
                    tempDef.repKind              = db.Виды_ремонта.FirstOrDefault(i => i.id == tempDef.repair.id_виды_ремонта);
                    tempDef.id_признак_состояния = (int)def.id_признак_состояния;

                    reportObjects.Last().defects.Add(tempDef); //добавляем к последнему добавленному объекту дефект
                }
            }
            //ViewBag.reportObjects = reportObjects;
            return(PartialView(reportObjects)); //reportObjects экспортировать в EXEL
        }
Exemplo n.º 3
0
        /// <summary>
        /// 获取我的汇报对象
        /// </summary>
        private string GetMyReportObjects()
        {
            using (var conn = new SqlConnection(PubConstant.hmWyglConnectionString))
            {
                var reportObject = new List <ReportObjectModel>();

                var sql = @"SELECT a.Id,a.ToUserCode AS UserCode,b.UserName AS UserName,b.RoleName,
                                (SELECT STUFF(
                                    (SELECT '--' + Value FROM
                                        (
                                            SELECT TOP 2 * FROM SplitString(b.DepName,'--',1) ORDER BY Id DESC
                                        ) AS t ORDER BY Id
                                    FOR XML PATH('')), 1, 2, '')) AS DepName
                            FROM Tb_OAPublicWork_WorkRecordNoticeUser a
                            LEFT JOIN view_Sys_UserRole_Filter b ON a.ToUserCode=b.UserCode
                            WHERE MyUserCode=@UserCode";

                var data = conn.Query(sql, new { UserCode = Global_Var.LoginUserCode });
                foreach (var item in data)
                {
                    var tmp = reportObject.Find(obj => obj.UserCode == item.UserCode);
                    if (tmp == null)
                    {
                        tmp = new ReportObjectModel()
                        {
                            Id       = item.Id,
                            UserCode = item.UserCode,
                            UserName = item.UserName,
                            RoleInfo = new List <string>()
                        };

                        reportObject.Add(tmp);
                    }

                    tmp.RoleInfo.Add(((item.DepName ?? "") + "," + item.RoleName).ToString().Trim(','));
                }

                return(new ApiResult(true, reportObject).toJson());
            }
        }