1993 lines
		
	
	
		
			81 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			1993 lines
		
	
	
		
			81 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 
								 | 
							
								using APT.BaseData.Domain.Entities.FM;
							 | 
						|||
| 
								 | 
							
								using APT.Infrastructure.Core;
							 | 
						|||
| 
								 | 
							
								using Microsoft.AspNetCore.Mvc;
							 | 
						|||
| 
								 | 
							
								using APT.Infrastructure.Api;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using APT.Utility;
							 | 
						|||
| 
								 | 
							
								using APT.MS.Domain.Entities.BI;
							 | 
						|||
| 
								 | 
							
								using APT.BaseData.Domain.IServices.BI;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace APT.SC.WebApi.Controllers.Api.BI
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    ///  首页图表
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    [Route("api/BI/BIHome")]
							 | 
						|||
| 
								 | 
							
								    public class BIHomeController : AuthorizeApiController<T_BI_HOME_BSRISKREASON>
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        IBIHomeService BIHomeService { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public BIHomeController(IBIHomeService biHomeService)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            BIHomeService = biHomeService;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 查询所有数据
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="filter">过滤实体</param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("GetHomeInfo1")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<HomeResult> GetHomeInfo1([FromBody] KeywordFilter filter)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return SafeExecute(() =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                //全部 改成 看自己 所在组织
							 | 
						|||
| 
								 | 
							
								                //安环 取公司
							 | 
						|||
| 
								 | 
							
								                //班组 取 车间
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                HomeResult result = new HomeResult();
							 | 
						|||
| 
								 | 
							
								                List<T_FM_DEPARTMENT> listDep = new List<T_FM_DEPARTMENT>();
							 | 
						|||
| 
								 | 
							
								                DateTime dtNow = DateTime.Now;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                Guid? depID = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
							 | 
						|||
| 
								 | 
							
								                if (!depID.HasValue)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    return result;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                var depLogin = GetEntity<T_FM_DEPARTMENT>(APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID.Value);
							 | 
						|||
| 
								 | 
							
								                ////FMDepartmentType 部门=0,  车间=1,   班组=2,  公司=3
							 | 
						|||
| 
								 | 
							
								                //if (depLogin.DEPARTMENT_TYPE == 2)
							 | 
						|||
| 
								 | 
							
								                //{
							 | 
						|||
| 
								 | 
							
								                //    //班组级 因数据少不好看 显示车间信息(功能需求变更)
							 | 
						|||
| 
								 | 
							
								                //    listDep = GetEntities<T_FM_DEPARTMENT>(e => e.PARENT_ID.HasValue && e.PARENT_ID.Value == depLogin.PARENT_ID, null, null).ToList();
							 | 
						|||
| 
								 | 
							
								                //}
							 | 
						|||
| 
								 | 
							
								                //else
							 | 
						|||
| 
								 | 
							
								                //{
							 | 
						|||
| 
								 | 
							
								                //    listDep = GetEntities<T_FM_DEPARTMENT>(e => e.PARENT_ID.HasValue && e.PARENT_ID.Value == depID, null, null).ToList();
							 | 
						|||
| 
								 | 
							
								                //}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if (depLogin.DEPARTMENT_TYPE == 2)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    //班组级 因数据少不好看 显示车间信息(功能需求变更)
							 | 
						|||
| 
								 | 
							
								                    listDep = GetEntities<T_FM_DEPARTMENT>(e => e.ID == depLogin.PARENT_ID.Value, null, null).ToList();
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (depLogin.DEPARTMENT_STATUS == 2)//安环 看公司级
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        listDep.Add(GetEntity<T_FM_DEPARTMENT>(e => e.DEPARTMENT_TYPE == 3 && !e.IS_DELETED));
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        listDep.Add(depLogin);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if (!listDep.Any())
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    return result;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #region //隐患原因
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<T_BI_HOME_BSRISKREASON> listReasonT = BIHomeService.GetHomeReasons(filter.OrgId, listDep).ToList();
							 | 
						|||
| 
								 | 
							
								                List<HomeRISKREASON> listReason = new List<HomeRISKREASON>();
							 | 
						|||
| 
								 | 
							
								                int reasonMax = listReasonT.Max(e => e.NUMS);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //List<int> listEnumVal = new List<int> { 5, 10, 15, 20 };
							 | 
						|||
| 
								 | 
							
								                List<string> LISTNAME = new List<string>();// { "按时整改隐患", "超期整改隐患", "未整改隐患", "隐患整改率" };
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                HomeRISKREASON model = null;
							 | 
						|||
| 
								 | 
							
								                List<int> LISVALUE = null;
							 | 
						|||
| 
								 | 
							
								                for (int i = 0; i < listReasonT.Count; i++)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (i == 0 || listReasonT[i].DEPARTMENT_ID != listReasonT[i - 1].DEPARTMENT_ID)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        model = new HomeRISKREASON();
							 | 
						|||
| 
								 | 
							
								                        model.DEPARTMENTNAME = listReasonT[i].DEPARTMENTNAME;
							 | 
						|||
| 
								 | 
							
								                        model.YEAR = listReasonT[i].YEAR;
							 | 
						|||
| 
								 | 
							
								                        model.SOURCENAME = listReasonT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        LISVALUE = new List<int>();
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    LISVALUE.Add(listReasonT[i].COUNT);
							 | 
						|||
| 
								 | 
							
								                    if (LISTNAME.Count < reasonMax)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        LISTNAME.Add(listReasonT[i].SOURCENAME);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listReasonT[i].NUMS == 1)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        model.NAME1 = listReasonT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								                        model.COUNT1 = listReasonT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    if (listReasonT[i].NUMS == 2)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        model.NAME2 = listReasonT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								                        model.COUNT2 = listReasonT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    if (listReasonT[i].NUMS == 3)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        model.NAME3 = listReasonT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								                        model.COUNT3 = listReasonT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    if (listReasonT[i].NUMS == 4)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        model.NAME4 = listReasonT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								                        model.COUNT4 = listReasonT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    if (listReasonT[i].NUMS == 5)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        model.NAME5 = listReasonT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								                        model.COUNT5 = listReasonT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (reasonMax == listReasonT[i].NUMS)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        model.LISVALUE = LISVALUE;
							 | 
						|||
| 
								 | 
							
								                        model.LISTNAME = LISTNAME;
							 | 
						|||
| 
								 | 
							
								                        listReason.Add(model);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                result.ListR = listReason;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #region //月度 隐患整改情况
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //List<T_FM_DEPARTMENT> listLoginDep = new List<T_FM_DEPARTMENT>();
							 | 
						|||
| 
								 | 
							
								                //if (APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID.HasValue)
							 | 
						|||
| 
								 | 
							
								                //{
							 | 
						|||
| 
								 | 
							
								                //    listLoginDep.Add(depLogin);
							 | 
						|||
| 
								 | 
							
								                //}
							 | 
						|||
| 
								 | 
							
								                //else
							 | 
						|||
| 
								 | 
							
								                //{
							 | 
						|||
| 
								 | 
							
								                //    //公司级
							 | 
						|||
| 
								 | 
							
								                //    //listLoginDep = listDep;
							 | 
						|||
| 
								 | 
							
								                //    listLoginDep = GetEntities<T_FM_DEPARTMENT>(e => e.DEPARTMENT_TYPE == 3 && !e.IS_DELETED && e.ENABLE_STATUS == 0, null, null).ToList();
							 | 
						|||
| 
								 | 
							
								                //}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //List<T_BI_HOME_BSRISKREASON> listCorrectT = BIHomeService.GetHomeCorrect(filter.OrgId, listLoginDep).ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //月度 整改情况
							 | 
						|||
| 
								 | 
							
								                //公司/部门/车间 显示本组织 的数据
							 | 
						|||
| 
								 | 
							
								                //班组 显示 车间的数据
							 | 
						|||
| 
								 | 
							
								                //List<T_FM_DEPARTMENT> listDepC = new List<T_FM_DEPARTMENT>();
							 | 
						|||
| 
								 | 
							
								                //if (depLogin.DEPARTMENT_TYPE == 2)
							 | 
						|||
| 
								 | 
							
								                //{
							 | 
						|||
| 
								 | 
							
								                //    //depLogin
							 | 
						|||
| 
								 | 
							
								                //    listDepC.Add(GetEntity<T_FM_DEPARTMENT>(e => e.ID == depLogin.PARENT_ID.Value));
							 | 
						|||
| 
								 | 
							
								                //}
							 | 
						|||
| 
								 | 
							
								                //else
							 | 
						|||
| 
								 | 
							
								                //{
							 | 
						|||
| 
								 | 
							
								                //    if (depLogin.DEPARTMENT_STATUS == 2)//安环 看公司级
							 | 
						|||
| 
								 | 
							
								                //    {
							 | 
						|||
| 
								 | 
							
								                //        listDepC.Add(GetEntity<T_FM_DEPARTMENT>(e => e.DEPARTMENT_TYPE == 3 && !e.IS_DELETED));
							 | 
						|||
| 
								 | 
							
								                //    }
							 | 
						|||
| 
								 | 
							
								                //    else
							 | 
						|||
| 
								 | 
							
								                //    {
							 | 
						|||
| 
								 | 
							
								                //        listDepC.Add(depLogin);
							 | 
						|||
| 
								 | 
							
								                //    }
							 | 
						|||
| 
								 | 
							
								                //}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //List<T_BI_HOME_BSRISKREASON> listCorrectT = BIHomeService.GetHomeCorrect(filter.OrgId, listDepC).ToList();
							 | 
						|||
| 
								 | 
							
								                ////List<T_BI_HOME_BSRISKREASON> listCorrectT = BIHomeService.GetHomeCorrect(filter.OrgId, listDep).ToList();
							 | 
						|||
| 
								 | 
							
								                List<T_BI_HOME_BSRISKREASON> listCorrectT = BIHomeService.GetHomeCorrect(filter.OrgId, listDep).ToList();
							 | 
						|||
| 
								 | 
							
								                string Val = string.Empty;// 0 ,1,2,3
							 | 
						|||
| 
								 | 
							
								                string NameMonth = dtNow.AddMonths(-5).Month.ToString() + "月," + dtNow.AddMonths(-4).Month.ToString() + "月," + dtNow.AddMonths(-3).Month.ToString() + "月," + dtNow.AddMonths(-2).Month.ToString() + "月," + dtNow.AddMonths(-1).Month.ToString() + "月," + dtNow.Month.ToString() + "月";
							 | 
						|||
| 
								 | 
							
								                List<HomeCorrect> listC = new List<HomeCorrect>();
							 | 
						|||
| 
								 | 
							
								                HomeCorrect modelC = null;
							 | 
						|||
| 
								 | 
							
								                for (int i = 0; i < listCorrectT.Count; i++)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (i == 0 || listCorrectT[i].DEPARTMENT_ID != listCorrectT[i - 1].DEPARTMENT_ID || listCorrectT[i].SOURCEVAL != listCorrectT[i - 1].SOURCEVAL)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        modelC = new HomeCorrect();
							 | 
						|||
| 
								 | 
							
								                        modelC.DEPARTMENTNAME = listCorrectT[i].DEPARTMENTNAME;
							 | 
						|||
| 
								 | 
							
								                        modelC.DEPARTMENT_ID = listCorrectT[i].DEPARTMENT_ID;
							 | 
						|||
| 
								 | 
							
								                        modelC.SOURCENAME = listCorrectT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								                        modelC.YEAR = listCorrectT[i].YEAR;
							 | 
						|||
| 
								 | 
							
								                        modelC.NAME = NameMonth;
							 | 
						|||
| 
								 | 
							
								                        Val = "";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 1)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M1 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M1 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M1 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 2)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M2 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M2 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M2 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 3)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M3 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M3 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M3 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 4)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M4 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M4 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M4 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 5)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M5 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M5 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M5 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 6)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M6 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M6 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M6 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 7)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M7 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M7 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M7 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 8)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M8 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M8 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M8 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 9)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M9 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M9 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M9 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 10)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M10 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M10 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M10 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 11)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M11 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M11 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M11 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 12)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M12 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M12 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M12 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == dtNow.Month)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        modelC.Val = Val.Substring(0, Val.Length - 1);
							 | 
						|||
| 
								 | 
							
								                        listC.Add(modelC);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                result.ListC = listC;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #region    年度 各下属组织 隐患整改情况
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<T_BI_HOME_BSRISKREASON> listReasonYearT = BIHomeService.GetHomeCorrectYear(filter.OrgId, listDep).ToList();
							 | 
						|||
| 
								 | 
							
								                List<HomeCorrectYear> ListCYear = new List<HomeCorrectYear>();
							 | 
						|||
| 
								 | 
							
								                HomeCorrectYear modelCY = null;
							 | 
						|||
| 
								 | 
							
								                int CountYearT = listReasonYearT.Count;
							 | 
						|||
| 
								 | 
							
								                for (int i = 0; i < CountYearT; i++)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (i == 0 || listReasonYearT[i].DEPARTMENT_ID != listReasonYearT[i - 1].DEPARTMENT_ID)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        modelCY = new HomeCorrectYear();
							 | 
						|||
| 
								 | 
							
								                        modelCY.DEPARTMENTNAME = listReasonYearT[i].DEPARTMENTNAME;
							 | 
						|||
| 
								 | 
							
								                        modelCY.DEPARTMENT_ID = listReasonYearT[i].DEPARTMENT_ID;
							 | 
						|||
| 
								 | 
							
								                        modelCY.YEAR = listReasonYearT[i].YEAR;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    // 按时整改隐患 5     超期整改隐患 10 未整改隐患 15
							 | 
						|||
| 
								 | 
							
								                    if (listReasonYearT[i].SOURCEVAL == 5)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        modelCY.CountIn += listReasonYearT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else if (listReasonYearT[i].SOURCEVAL == 10)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        modelCY.CountOut += listReasonYearT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else if (listReasonYearT[i].SOURCEVAL == 15)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        modelCY.CountNot += listReasonYearT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (i == CountYearT - 1 || listReasonYearT[i].DEPARTMENT_ID != listReasonYearT[i + 1].DEPARTMENT_ID)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        modelCY.Count = modelCY.CountIn + modelCY.CountOut + modelCY.CountNot;
							 | 
						|||
| 
								 | 
							
								                        ListCYear.Add(modelCY);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                result.ListCYear = ListCYear;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #region      月度 6 个月 安全检查、检查类型 数量 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //按生产单元 获取
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if (!string.IsNullOrEmpty(filter.Keyword))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    int MineType = int.Parse(filter.Keyword.ToString());
							 | 
						|||
| 
								 | 
							
								                    BaseFilter filterD = new BaseFilter();
							 | 
						|||
| 
								 | 
							
								                    filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" };
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 0, filterD, null);//部门就可以了 因为都相向 统计了
							 | 
						|||
| 
								 | 
							
								                    if (listDep1MineType != null && listDep1MineType.Any())
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        List<HomeSafeCheckCountMonth> ListSafeCheckYearMonth = new List<HomeSafeCheckCountMonth>();
							 | 
						|||
| 
								 | 
							
								                        int befoMonth = 12;
							 | 
						|||
| 
								 | 
							
								                        List<T_BI_HOME_BSRISKREASON> ListSafeCheckYearMonthT = BIHomeService.GetHomeCheckCountMonth(filter.OrgId, listDep1MineType.ToList(), befoMonth).ToList();
							 | 
						|||
| 
								 | 
							
								                        var listCheckTypeIDT = ListSafeCheckYearMonthT.Select(e => e.SOURCEID).Distinct().ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        var enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
							 | 
						|||
| 
								 | 
							
								                        if (enums != null)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            var listTypeMine = GetEntities<MS.Domain.Entities.BS.T_BS_CHECK_TYPE_MINETYPE>(e => e.MINETYPE_ENUMS_ID == enums.ID, null, null);
							 | 
						|||
| 
								 | 
							
								                            if (listTypeMine != null && listTypeMine.Any())
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                var listMineCheckTypeID = listTypeMine.Where(e => e.CHECK_TYPE_ID.HasValue).Select(e => e.CHECK_TYPE_ID.Value);
							 | 
						|||
| 
								 | 
							
								                                for (int i = 0; i < listCheckTypeIDT.Count; i++)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    if (!listMineCheckTypeID.Contains(listCheckTypeIDT[i]))
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        listCheckTypeIDT.RemoveAt(i);
							 | 
						|||
| 
								 | 
							
								                                        i--;
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        var listCheckType = GetEntities<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(e => listCheckTypeIDT.Contains(e.ID), null, null).OrderBy(e => e.PARENT_ID).ThenBy(e => e.NUM).ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        List<Guid> listCheckTypeID = new List<Guid>();
							 | 
						|||
| 
								 | 
							
								                        List<string> listCheckTypeNAME = new List<string>();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        Guid IDZH = Guid.Empty;//综合检查(只有一个)
							 | 
						|||
| 
								 | 
							
								                        List<Guid> listGUID = new List<Guid>();//综合检查子集
							 | 
						|||
| 
								 | 
							
								                        for (int i = 0; i < listCheckType.Count; i++)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            if (listCheckType[i].PARENT_ID.HasValue)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                if (IDZH == Guid.Empty)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    IDZH = listCheckType[i].PARENT_ID.Value;
							 | 
						|||
| 
								 | 
							
								                                    listCheckTypeID.Add(IDZH);
							 | 
						|||
| 
								 | 
							
								                                    var checkTypeP = GetEntity<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(IDZH);
							 | 
						|||
| 
								 | 
							
								                                    listCheckTypeNAME.Add(checkTypeP.NAME);
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                                listGUID.Add(listCheckType[i].ID);
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            else
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                listCheckTypeID.Add(listCheckType[i].ID);
							 | 
						|||
| 
								 | 
							
								                                listCheckTypeNAME.Add(listCheckType[i].NAME);
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        int year = DateTime.Now.Year;
							 | 
						|||
| 
								 | 
							
								                        int Month = DateTime.Now.Month;
							 | 
						|||
| 
								 | 
							
								                        DateTime dtTemp = DateTime.Now;
							 | 
						|||
| 
								 | 
							
								                        IEnumerable<T_BI_HOME_BSRISKREASON> listPerChearch = null;
							 | 
						|||
| 
								 | 
							
								                        IEnumerable<T_BI_HOME_BSRISKREASON> listPerChearchPer = null;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        //List<int> listListCount = null;
							 | 
						|||
| 
								 | 
							
								                        for (int i = 0; i < befoMonth; i++)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            dtTemp = dtNow.AddMonths(-1 * i);
							 | 
						|||
| 
								 | 
							
								                            year = dtTemp.Year;
							 | 
						|||
| 
								 | 
							
								                            Month = dtTemp.Month;
							 | 
						|||
| 
								 | 
							
								                            listPerChearch = ListSafeCheckYearMonthT.Where(e => e.YEAR == year && e.MONTH == Month);
							 | 
						|||
| 
								 | 
							
								                            HomeSafeCheckCountMonth modelper = new HomeSafeCheckCountMonth();
							 | 
						|||
| 
								 | 
							
								                            modelper.Total = listPerChearch.Count();
							 | 
						|||
| 
								 | 
							
								                            modelper.listSOURCENAME = listCheckTypeNAME;
							 | 
						|||
| 
								 | 
							
								                            modelper.YEAR = year;
							 | 
						|||
| 
								 | 
							
								                            modelper.MONTH = Month;
							 | 
						|||
| 
								 | 
							
								                            List<int> listListCount = new List<int>();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                            for (int j = 0; j < listCheckTypeID.Count; j++)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                if (listCheckTypeID[j] != IDZH)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && e.SOURCEID == listCheckTypeID[j]);//各个检查
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                                else
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && listGUID.Contains(e.SOURCEID));//综合检查
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                                if (listPerChearchPer == null || !listPerChearchPer.Any())
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    listListCount.Add(0);
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                                else
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    listListCount.Add(listPerChearchPer.Sum(e => e.COUNT));
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            modelper.listListCount = listListCount;
							 | 
						|||
| 
								 | 
							
								                            ListSafeCheckYearMonth.Add(modelper);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        result.ListSafeCheckYearMonth = ListSafeCheckYearMonth.OrderBy(e => e.YEAR).ThenBy(e => e.MONTH).ToList();
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                return result;
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 查询所有数据
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="filter">过滤实体</param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("GetHomeInfo")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<HomeResult> GetHomeInfo([FromBody] KeywordFilter filter)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return SafeExecute(() =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                //按生产单元 获取数据 
							 | 
						|||
| 
								 | 
							
								                HomeResult result = new HomeResult();
							 | 
						|||
| 
								 | 
							
								                if (string.IsNullOrEmpty(filter.Keyword))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    return result;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                int MineType = int.Parse(filter.Keyword);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #region     Collection was modified, enumeration operation may not execute(foreach)   不要   SelectField  看看结果  如果继续报错 返回来
							 | 
						|||
| 
								 | 
							
								                //TODO wyw  SelectField
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //BaseFilter filterD = new BaseFilter();
							 | 
						|||
| 
								 | 
							
								                //filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID", "MineType" };
							 | 
						|||
| 
								 | 
							
								                //var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 0, filterD, null);//部门就可以了 因为都相向 统计了 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 0, null, null);//部门就可以了 因为都相向 统计了
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if (listDep1MineType == null || !listDep1MineType.Any())
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    return result;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<T_FM_DEPARTMENT> listDep = new List<T_FM_DEPARTMENT>();
							 | 
						|||
| 
								 | 
							
								                DateTime dtNow = DateTime.Now;
							 | 
						|||
| 
								 | 
							
								                listDep = listDep1MineType.ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #region //////隐患原因( 不需要了 )
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //List<T_BI_HOME_BSRISKREASON> listReasonT = BIHomeService.GetHomeReasons(filter.OrgId, listDep).ToList();
							 | 
						|||
| 
								 | 
							
								                //List<HomeRISKREASON> listReason = new List<HomeRISKREASON>();
							 | 
						|||
| 
								 | 
							
								                //int reasonMax = listReasonT.Max(e => e.NUMS);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                ////List<int> listEnumVal = new List<int> { 5, 10, 15, 20 };
							 | 
						|||
| 
								 | 
							
								                //List<string> LISTNAME = new List<string>();// { "按时整改隐患", "超期整改隐患", "未整改隐患", "隐患整改率" };
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //HomeRISKREASON model = null;
							 | 
						|||
| 
								 | 
							
								                //List<int> LISVALUE = null;
							 | 
						|||
| 
								 | 
							
								                //for (int i = 0; i < listReasonT.Count; i++)
							 | 
						|||
| 
								 | 
							
								                //{
							 | 
						|||
| 
								 | 
							
								                //    if (i == 0 || listReasonT[i].DEPARTMENT_ID != listReasonT[i - 1].DEPARTMENT_ID)
							 | 
						|||
| 
								 | 
							
								                //    {
							 | 
						|||
| 
								 | 
							
								                //        model = new HomeRISKREASON();
							 | 
						|||
| 
								 | 
							
								                //        model.DEPARTMENTNAME = listReasonT[i].DEPARTMENTNAME;
							 | 
						|||
| 
								 | 
							
								                //        model.YEAR = listReasonT[i].YEAR;
							 | 
						|||
| 
								 | 
							
								                //        model.SOURCENAME = listReasonT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //        LISVALUE = new List<int>();
							 | 
						|||
| 
								 | 
							
								                //    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //    LISVALUE.Add(listReasonT[i].COUNT);
							 | 
						|||
| 
								 | 
							
								                //    if (LISTNAME.Count < reasonMax)
							 | 
						|||
| 
								 | 
							
								                //    {
							 | 
						|||
| 
								 | 
							
								                //        LISTNAME.Add(listReasonT[i].SOURCENAME);
							 | 
						|||
| 
								 | 
							
								                //    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //    if (listReasonT[i].NUMS == 1)
							 | 
						|||
| 
								 | 
							
								                //    {
							 | 
						|||
| 
								 | 
							
								                //        model.NAME1 = listReasonT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								                //        model.COUNT1 = listReasonT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                //    }
							 | 
						|||
| 
								 | 
							
								                //    if (listReasonT[i].NUMS == 2)
							 | 
						|||
| 
								 | 
							
								                //    {
							 | 
						|||
| 
								 | 
							
								                //        model.NAME2 = listReasonT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								                //        model.COUNT2 = listReasonT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                //    }
							 | 
						|||
| 
								 | 
							
								                //    if (listReasonT[i].NUMS == 3)
							 | 
						|||
| 
								 | 
							
								                //    {
							 | 
						|||
| 
								 | 
							
								                //        model.NAME3 = listReasonT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								                //        model.COUNT3 = listReasonT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                //    }
							 | 
						|||
| 
								 | 
							
								                //    if (listReasonT[i].NUMS == 4)
							 | 
						|||
| 
								 | 
							
								                //    {
							 | 
						|||
| 
								 | 
							
								                //        model.NAME4 = listReasonT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								                //        model.COUNT4 = listReasonT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                //    }
							 | 
						|||
| 
								 | 
							
								                //    if (listReasonT[i].NUMS == 5)
							 | 
						|||
| 
								 | 
							
								                //    {
							 | 
						|||
| 
								 | 
							
								                //        model.NAME5 = listReasonT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								                //        model.COUNT5 = listReasonT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                //    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //    if (reasonMax == listReasonT[i].NUMS)
							 | 
						|||
| 
								 | 
							
								                //    {
							 | 
						|||
| 
								 | 
							
								                //        model.LISVALUE = LISVALUE;
							 | 
						|||
| 
								 | 
							
								                //        model.LISTNAME = LISTNAME;
							 | 
						|||
| 
								 | 
							
								                //        listReason.Add(model);
							 | 
						|||
| 
								 | 
							
								                //    }
							 | 
						|||
| 
								 | 
							
								                //}
							 | 
						|||
| 
								 | 
							
								                //result.ListR = listReason;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #region //月度 隐患整改情况
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<T_BI_HOME_BSRISKREASON> listCorrectT = BIHomeService.GetHomeCorrect(filter.OrgId, listDep).ToList();
							 | 
						|||
| 
								 | 
							
								                string Val = string.Empty;// 0 ,1,2,3
							 | 
						|||
| 
								 | 
							
								                //string NameMonth = dtNow.AddMonths(-5).Month.ToString() + "月," + dtNow.AddMonths(-4).Month.ToString() + "月," + dtNow.AddMonths(-3).Month.ToString() + "月," + dtNow.AddMonths(-2).Month.ToString() + "月," + dtNow.AddMonths(-1).Month.ToString() + "月," + dtNow.Month.ToString() + "月";
							 | 
						|||
| 
								 | 
							
								                string NameMonth = dtNow.AddMonths(-5).ToString("yyyy-MM") + "," + dtNow.AddMonths(-4).ToString("yyyy-MM") + "," + dtNow.AddMonths(-3).ToString("yyyy-MM") + "," + dtNow.AddMonths(-2).ToString("yyyy-MM") + "," + dtNow.AddMonths(-1).ToString("yyyy-MM") + "," + dtNow.ToString("yyyy-MM");
							 | 
						|||
| 
								 | 
							
								                List<HomeCorrect> listC = new List<HomeCorrect>();
							 | 
						|||
| 
								 | 
							
								                HomeCorrect modelC = null;
							 | 
						|||
| 
								 | 
							
								                bool isNormal = true;//数据是否正常
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var modelCorr = listCorrectT.Where(e => e.YEAR == dtNow.Year && e.MONTH == dtNow.Month);
							 | 
						|||
| 
								 | 
							
								                if (modelCorr == null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    isNormal = false;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                for (int i = 0; i < listCorrectT.Count; i++)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (i == 0 || listCorrectT[i].DEPARTMENT_ID != listCorrectT[i - 1].DEPARTMENT_ID || listCorrectT[i].SOURCEVAL != listCorrectT[i - 1].SOURCEVAL)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (!isNormal && !string.IsNullOrEmpty(Val) && modelC != null)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.Val = Val + "0";
							 | 
						|||
| 
								 | 
							
								                            listC.Add(modelC);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        modelC = new HomeCorrect();
							 | 
						|||
| 
								 | 
							
								                        modelC.DEPARTMENTNAME = listCorrectT[i].DEPARTMENTNAME;
							 | 
						|||
| 
								 | 
							
								                        modelC.DEPARTMENT_ID = listCorrectT[i].DEPARTMENT_ID;
							 | 
						|||
| 
								 | 
							
								                        modelC.SOURCENAME = listCorrectT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								                        modelC.YEAR = listCorrectT[i].YEAR;
							 | 
						|||
| 
								 | 
							
								                        modelC.NAME = NameMonth;
							 | 
						|||
| 
								 | 
							
								                        Val = "";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 1)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M1 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M1 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M1 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 2)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M2 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M2 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M2 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 3)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M3 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M3 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M3 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 4)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M4 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M4 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M4 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 5)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M5 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M5 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M5 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 6)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M6 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M6 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M6 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 7)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M7 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M7 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M7 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 8)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M8 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M8 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M8 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 9)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M9 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M9 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M9 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 10)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M10 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M10 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M10 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 11)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M11 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M11 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M11 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 12)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M12 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M12 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M12 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (isNormal && listCorrectT[i].MONTH == dtNow.Month && listCorrectT[i].YEAR == dtNow.Year)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        //有当月数据 是当前月的时候 放入数据
							 | 
						|||
| 
								 | 
							
								                        modelC.Val = Val.Substring(0, Val.Length - 1);
							 | 
						|||
| 
								 | 
							
								                        listC.Add(modelC);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                result.ListC = listC;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #region    年度 各下属组织 隐患整改情况
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<T_BI_HOME_BSRISKREASON> listReasonYearT = BIHomeService.GetHomeCorrectYear(filter.OrgId, listDep).ToList();
							 | 
						|||
| 
								 | 
							
								                List<HomeCorrectYear> ListCYear = new List<HomeCorrectYear>();
							 | 
						|||
| 
								 | 
							
								                HomeCorrectYear modelCY = null;
							 | 
						|||
| 
								 | 
							
								                int CountYearT = listReasonYearT.Count;
							 | 
						|||
| 
								 | 
							
								                for (int i = 0; i < CountYearT; i++)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (i == 0 || listReasonYearT[i].DEPARTMENT_ID != listReasonYearT[i - 1].DEPARTMENT_ID)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        modelCY = new HomeCorrectYear();
							 | 
						|||
| 
								 | 
							
								                        modelCY.DEPARTMENTNAME = listReasonYearT[i].DEPARTMENTNAME;
							 | 
						|||
| 
								 | 
							
								                        modelCY.DEPARTMENT_ID = listReasonYearT[i].DEPARTMENT_ID;
							 | 
						|||
| 
								 | 
							
								                        modelCY.YEAR = listReasonYearT[i].YEAR;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    // 按时整改隐患 5     超期整改隐患 10 未整改隐患 15
							 | 
						|||
| 
								 | 
							
								                    if (listReasonYearT[i].SOURCEVAL == 5)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        modelCY.CountIn += listReasonYearT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else if (listReasonYearT[i].SOURCEVAL == 10)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        modelCY.CountOut += listReasonYearT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else if (listReasonYearT[i].SOURCEVAL == 15)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        modelCY.CountNot += listReasonYearT[i].COUNT;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (i == CountYearT - 1 || listReasonYearT[i].DEPARTMENT_ID != listReasonYearT[i + 1].DEPARTMENT_ID)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        modelCY.Count = modelCY.CountIn + modelCY.CountOut + modelCY.CountNot;
							 | 
						|||
| 
								 | 
							
								                        ListCYear.Add(modelCY);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                result.ListCYear = ListCYear;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #region      月度 6 个月 安全检查、检查类型 数量 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //按生产单元 获取
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if (!string.IsNullOrEmpty(filter.Keyword))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    //int MineType = int.Parse(filter.Keyword.ToString());
							 | 
						|||
| 
								 | 
							
								                    //BaseFilter filterD = new BaseFilter();
							 | 
						|||
| 
								 | 
							
								                    //filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" };
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    //var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 0, filterD, null);//部门就可以了 因为都相向 统计了
							 | 
						|||
| 
								 | 
							
								                    if (listDep != null && listDep.Any())
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        List<HomeSafeCheckCountMonth> ListSafeCheckYearMonth = new List<HomeSafeCheckCountMonth>();
							 | 
						|||
| 
								 | 
							
								                        int befoMonth = 12;
							 | 
						|||
| 
								 | 
							
								                        List<T_BI_HOME_BSRISKREASON> ListSafeCheckYearMonthT = BIHomeService.GetHomeCheckCountMonth(filter.OrgId, listDep.ToList(), befoMonth).ToList();
							 | 
						|||
| 
								 | 
							
								                        var listCheckTypeIDT = ListSafeCheckYearMonthT.Select(e => e.SOURCEID).Distinct().ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        var enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
							 | 
						|||
| 
								 | 
							
								                        if (enums != null)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            var listTypeMine = GetEntities<MS.Domain.Entities.BS.T_BS_CHECK_TYPE_MINETYPE>(e => e.MINETYPE_ENUMS_ID == enums.ID, null, null);
							 | 
						|||
| 
								 | 
							
								                            if (listTypeMine != null && listTypeMine.Any())
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                var listMineCheckTypeID = listTypeMine.Where(e => e.CHECK_TYPE_ID.HasValue).Select(e => e.CHECK_TYPE_ID.Value);
							 | 
						|||
| 
								 | 
							
								                                for (int i = 0; i < listCheckTypeIDT.Count; i++)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    if (!listMineCheckTypeID.Contains(listCheckTypeIDT[i]))
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        listCheckTypeIDT.RemoveAt(i);
							 | 
						|||
| 
								 | 
							
								                                        i--;
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        var listCheckType = GetEntities<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(e => listCheckTypeIDT.Contains(e.ID), null, null).OrderBy(e => e.PARENT_ID).ThenBy(e => e.NUM).ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        List<Guid> listCheckTypeID = new List<Guid>();
							 | 
						|||
| 
								 | 
							
								                        List<string> listCheckTypeNAME = new List<string>();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        Guid IDZH = Guid.Empty;//综合检查(只有一个)
							 | 
						|||
| 
								 | 
							
								                        List<Guid> listGUID = new List<Guid>();//综合检查子集
							 | 
						|||
| 
								 | 
							
								                        for (int i = 0; i < listCheckType.Count; i++)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            if (listCheckType[i].PARENT_ID.HasValue)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                if (IDZH == Guid.Empty)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    IDZH = listCheckType[i].PARENT_ID.Value;
							 | 
						|||
| 
								 | 
							
								                                    listCheckTypeID.Add(IDZH);
							 | 
						|||
| 
								 | 
							
								                                    var checkTypeP = GetEntity<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(IDZH);
							 | 
						|||
| 
								 | 
							
								                                    listCheckTypeNAME.Add(checkTypeP.NAME);
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                                listGUID.Add(listCheckType[i].ID);
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            else
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                listCheckTypeID.Add(listCheckType[i].ID);
							 | 
						|||
| 
								 | 
							
								                                listCheckTypeNAME.Add(listCheckType[i].NAME);
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        int year = DateTime.Now.Year;
							 | 
						|||
| 
								 | 
							
								                        int Month = DateTime.Now.Month;
							 | 
						|||
| 
								 | 
							
								                        DateTime dtTemp = DateTime.Now;
							 | 
						|||
| 
								 | 
							
								                        IEnumerable<T_BI_HOME_BSRISKREASON> listPerChearch = null;
							 | 
						|||
| 
								 | 
							
								                        IEnumerable<T_BI_HOME_BSRISKREASON> listPerChearchPer = null;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        //List<int> listListCount = null;
							 | 
						|||
| 
								 | 
							
								                        for (int i = 0; i < befoMonth; i++)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            dtTemp = dtNow.AddMonths(-1 * i);
							 | 
						|||
| 
								 | 
							
								                            year = dtTemp.Year;
							 | 
						|||
| 
								 | 
							
								                            Month = dtTemp.Month;
							 | 
						|||
| 
								 | 
							
								                            listPerChearch = ListSafeCheckYearMonthT.Where(e => e.YEAR == year && e.MONTH == Month);
							 | 
						|||
| 
								 | 
							
								                            HomeSafeCheckCountMonth modelper = new HomeSafeCheckCountMonth();
							 | 
						|||
| 
								 | 
							
								                            modelper.Total = listPerChearch.Count();
							 | 
						|||
| 
								 | 
							
								                            modelper.listSOURCENAME = listCheckTypeNAME;
							 | 
						|||
| 
								 | 
							
								                            modelper.YEAR = year;
							 | 
						|||
| 
								 | 
							
								                            modelper.MONTH = Month;
							 | 
						|||
| 
								 | 
							
								                            List<int> listListCount = new List<int>();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                            for (int j = 0; j < listCheckTypeID.Count; j++)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                if (listCheckTypeID[j] != IDZH)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && e.SOURCEID == listCheckTypeID[j]);//各个检查
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                                else
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && listGUID.Contains(e.SOURCEID));//综合检查
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                                if (listPerChearchPer == null || !listPerChearchPer.Any())
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    listListCount.Add(0);
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                                else
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    listListCount.Add(listPerChearchPer.Sum(e => e.COUNT));
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            modelper.listListCount = listListCount;
							 | 
						|||
| 
								 | 
							
								                            ListSafeCheckYearMonth.Add(modelper);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        result.ListSafeCheckYearMonth = ListSafeCheckYearMonth.OrderBy(e => e.YEAR).ThenBy(e => e.MONTH).ToList();
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                return result;
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 首页 安全检查次数统计明细(BI054HomeDetail)
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="filter">过滤实体</param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("GetHomeDetailMonthCheckType")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<HomeDetailSafeCheckCountMonth> GetHomeDetailMonthCheckType([FromBody] KeywordFilter filter)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return SafeExecute(() =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                //按生产单元 获取数据 
							 | 
						|||
| 
								 | 
							
								                HomeDetailSafeCheckCountMonth result = new HomeDetailSafeCheckCountMonth();
							 | 
						|||
| 
								 | 
							
								                if (string.IsNullOrEmpty(filter.Keyword))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    return result;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                int MineType = int.Parse(filter.Keyword);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                BaseFilter filterD = new BaseFilter();
							 | 
						|||
| 
								 | 
							
								                filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" };
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && (t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2), filterD, null);
							 | 
						|||
| 
								 | 
							
								                //FMDepartmentType 部门=0,  车间=1,   班组=2,  公司=3
							 | 
						|||
| 
								 | 
							
								                if (listDep1MineType == null || !listDep1MineType.Any())
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    return result;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                List<Guid> listDepIDCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 1).Select(e => e.ID).ToList();//车间ID 用于 统计 每个月各类型的检查数量
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                DateTime dtNow = DateTime.Now;
							 | 
						|||
| 
								 | 
							
								                List<T_FM_DEPARTMENT> listDepCJ = new List<T_FM_DEPARTMENT>();
							 | 
						|||
| 
								 | 
							
								                List<T_FM_DEPARTMENT> listDepBZ = new List<T_FM_DEPARTMENT>();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 1).OrderBy(e => e.NUM).ToList();
							 | 
						|||
| 
								 | 
							
								                listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 2).OrderBy(e => e.NUM).ToList();
							 | 
						|||
| 
								 | 
							
								                T_FM_ENUMS enums = null;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #region      月度 12 个月 安全检查、检查类型 数量 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if (listDepCJ == null || listDepCJ.Count < 1 || listDepBZ == null || listDepBZ.Count < 1)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    //深度查找 部门 MineType 只能存一个值
							 | 
						|||
| 
								 | 
							
								                    enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
							 | 
						|||
| 
								 | 
							
								                    if (enums == null)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        throw new Exception("获取生产类型失败");
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    var listDepID = GetEntities<T_FM_DEPARTMENT_PRODUCTION_UNIT>(e => e.ENUMS_ID == enums.ID, null, null).Select(e => e.DEPARTMENT_ID);
							 | 
						|||
| 
								 | 
							
								                    if (listDepID != null && listDepID.Any())
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => listDepID.Contains(t.ID) && (t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2), filterD, null);
							 | 
						|||
| 
								 | 
							
								                        if (listDep1MineType != null && listDep1MineType.Any())
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 1).ToList();
							 | 
						|||
| 
								 | 
							
								                            listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 2).ToList();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if (listDepCJ == null || listDepCJ.Count < 1 || listDepBZ == null || listDepBZ.Count < 1)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    throw new Exception("获取生产单元组织信息失败!");
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<HomeSafeCheckCountMonth> ListSafeCheckYearMonth = new List<HomeSafeCheckCountMonth>();
							 | 
						|||
| 
								 | 
							
								                int befoMonth = 11;//计算 12 个月 就是提前 11个月
							 | 
						|||
| 
								 | 
							
								                List<T_BI_HOME_BSRISKREASON> ListSafeCheckYearMonthT = BIHomeService.GetHomeCheckCountMonth(filter.OrgId, listDep1MineType.ToList(), befoMonth).ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var listCheckTypeIDT = ListSafeCheckYearMonthT.Select(e => e.SOURCEID).Distinct().ToList();
							 | 
						|||
| 
								 | 
							
								                if (enums == null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    enums = GetEntity<T_FM_ENUMS>(e => e.VALUE == MineType && e.CODE == "BSMineTypeEnum");
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                if (enums != null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    var listTypeMine = GetEntities<MS.Domain.Entities.BS.T_BS_CHECK_TYPE_MINETYPE>(e => e.MINETYPE_ENUMS_ID == enums.ID, null, null);
							 | 
						|||
| 
								 | 
							
								                    if (listTypeMine != null && listTypeMine.Any())
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        var listMineCheckTypeID = listTypeMine.Where(e => e.CHECK_TYPE_ID.HasValue).Select(e => e.CHECK_TYPE_ID.Value);
							 | 
						|||
| 
								 | 
							
								                        for (int i = 0; i < listCheckTypeIDT.Count; i++)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            if (!listMineCheckTypeID.Contains(listCheckTypeIDT[i]))
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                listCheckTypeIDT.RemoveAt(i);
							 | 
						|||
| 
								 | 
							
								                                i--;
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var listCheckType = GetEntities<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(e => listCheckTypeIDT.Contains(e.ID), null, null).OrderBy(e => e.PARENT_ID).ThenBy(e => e.NUM).ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<Guid> listCheckTypeID = new List<Guid>();
							 | 
						|||
| 
								 | 
							
								                List<string> listCheckTypeNAME = new List<string>();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                Guid IDZH = Guid.Empty;//综合检查(只有一个)
							 | 
						|||
| 
								 | 
							
								                List<Guid> listGUID = new List<Guid>();//综合检查子集
							 | 
						|||
| 
								 | 
							
								                for (int i = 0; i < listCheckType.Count; i++)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (listCheckType[i].PARENT_ID.HasValue)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (IDZH == Guid.Empty)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            IDZH = listCheckType[i].PARENT_ID.Value;
							 | 
						|||
| 
								 | 
							
								                            listCheckTypeID.Add(IDZH);
							 | 
						|||
| 
								 | 
							
								                            var checkTypeP = GetEntity<MS.Domain.Entities.BS.T_BS_CHECK_TYPE>(IDZH);
							 | 
						|||
| 
								 | 
							
								                            listCheckTypeNAME.Add(checkTypeP.NAME);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        listGUID.Add(listCheckType[i].ID);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        listCheckTypeID.Add(listCheckType[i].ID);
							 | 
						|||
| 
								 | 
							
								                        listCheckTypeNAME.Add(listCheckType[i].NAME);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                int year = DateTime.Now.Year;
							 | 
						|||
| 
								 | 
							
								                int Month = DateTime.Now.Month;
							 | 
						|||
| 
								 | 
							
								                DateTime dtTemp = DateTime.Now;
							 | 
						|||
| 
								 | 
							
								                IEnumerable<T_BI_HOME_BSRISKREASON> listPerChearch = null;
							 | 
						|||
| 
								 | 
							
								                IEnumerable<T_BI_HOME_BSRISKREASON> listPerChearchPer = null;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                for (int i = 0; i <= befoMonth; i++)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    dtTemp = dtNow.AddMonths(-1 * i);
							 | 
						|||
| 
								 | 
							
								                    year = dtTemp.Year;
							 | 
						|||
| 
								 | 
							
								                    Month = dtTemp.Month;
							 | 
						|||
| 
								 | 
							
								                    listPerChearch = ListSafeCheckYearMonthT.Where(e => e.YEAR == year && e.MONTH == Month && listDepIDCJ.Contains(e.DEPARTMENT_ID));//只统计到车间
							 | 
						|||
| 
								 | 
							
								                    HomeSafeCheckCountMonth modelper = new HomeSafeCheckCountMonth();
							 | 
						|||
| 
								 | 
							
								                    modelper.Total = listPerChearch.Count();
							 | 
						|||
| 
								 | 
							
								                    modelper.listSOURCENAME = listCheckTypeNAME;
							 | 
						|||
| 
								 | 
							
								                    modelper.YEAR = year;
							 | 
						|||
| 
								 | 
							
								                    modelper.MONTH = Month;
							 | 
						|||
| 
								 | 
							
								                    List<int> listListCount = new List<int>();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    for (int j = 0; j < listCheckTypeID.Count; j++)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCheckTypeID[j] != IDZH)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && e.SOURCEID == listCheckTypeID[j]);//各个检查
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            listPerChearchPer = listPerChearch.Where(e => e.YEAR == year && e.MONTH == Month && listGUID.Contains(e.SOURCEID));//综合检查
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        if (listPerChearchPer == null || !listPerChearchPer.Any())
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            listListCount.Add(0);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            listListCount.Add(listPerChearchPer.Sum(e => e.COUNT));
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    modelper.listListCount = listListCount;
							 | 
						|||
| 
								 | 
							
								                    ListSafeCheckYearMonth.Add(modelper);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                result.ListSafeCheckYearMonth = ListSafeCheckYearMonth.OrderBy(e => e.YEAR).ThenBy(e => e.MONTH).ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #region    表数据
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<DetailSafeCheckCountDepartment> listCheckDepCountCJ = new List<DetailSafeCheckCountDepartment>();
							 | 
						|||
| 
								 | 
							
								                List<DetailSafeCheckCountDepartment> listCheckDepCountBZ = new List<DetailSafeCheckCountDepartment>();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<int> listCheckTypeCount = null;
							 | 
						|||
| 
								 | 
							
								                DetailSafeCheckCountDepartment modelCountDep = null;
							 | 
						|||
| 
								 | 
							
								                int checkTypeCount = listCheckTypeID.Count;
							 | 
						|||
| 
								 | 
							
								                foreach (var item in listDepCJ)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    modelCountDep = new DetailSafeCheckCountDepartment();
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.listName = listCheckTypeNAME;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.PARENT_ID = item.PARENT_ID.Value;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.Department_ID = item.ID;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.NUM = item.NUM;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.RowCount = listDepBZ.Where(e => e.PARENT_ID.HasValue && e.PARENT_ID.Value == item.ID).Count();
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.DepartmentName = item.NAME;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.DepartmentType = item.DEPARTMENT_TYPE;
							 | 
						|||
| 
								 | 
							
								                    listCheckTypeCount = new List<int>();
							 | 
						|||
| 
								 | 
							
								                    for (int i = 0; i < checkTypeCount; i++)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        listCheckTypeCount.Add(ListSafeCheckYearMonthT.Where(e => e.SOURCEID == listCheckTypeID[i] && e.DEPARTMENT_ID == item.ID).Sum(e => e.COUNT));
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.listCount = listCheckTypeCount;
							 | 
						|||
| 
								 | 
							
								                    listCheckDepCountCJ.Add(modelCountDep);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                foreach (var item in listDepBZ)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    modelCountDep = new DetailSafeCheckCountDepartment();
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.listName = listCheckTypeNAME;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.PARENT_ID = item.PARENT_ID.Value;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.Department_ID = item.ID;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.NUM = item.NUM;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.RowCount = 1;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.DepartmentName = item.NAME;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.DepartmentType = item.DEPARTMENT_TYPE;
							 | 
						|||
| 
								 | 
							
								                    listCheckTypeCount = new List<int>();
							 | 
						|||
| 
								 | 
							
								                    for (int i = 0; i < checkTypeCount; i++)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        listCheckTypeCount.Add(ListSafeCheckYearMonthT.Where(e => e.SOURCEID == listCheckTypeID[i] && e.DEPARTMENT_ID == item.ID).Sum(e => e.COUNT));
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.listCount = listCheckTypeCount;
							 | 
						|||
| 
								 | 
							
								                    listCheckDepCountBZ.Add(modelCountDep);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //result.ListSafeCheckCountDepartmentBZ = listCheckDepCountBZ;
							 | 
						|||
| 
								 | 
							
								                foreach (var item in listCheckDepCountCJ)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    item.listChild = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID).OrderBy(e => e.NUM).ToList();
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //result.ListSafeCheckCountDepartment = listCheckDepCountCJ;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //取明细
							 | 
						|||
| 
								 | 
							
								                List<DetailSafeCheckCountDepartment> ListSafeCheckYearMonthLast = new List<DetailSafeCheckCountDepartment>();
							 | 
						|||
| 
								 | 
							
								                int allIndex = 0;
							 | 
						|||
| 
								 | 
							
								                foreach (var item in listCheckDepCountCJ)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    foreach (var itemC in item.listChild)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        allIndex++;
							 | 
						|||
| 
								 | 
							
								                        itemC.NUM = allIndex;
							 | 
						|||
| 
								 | 
							
								                        itemC.Parent = item;
							 | 
						|||
| 
								 | 
							
								                        ListSafeCheckYearMonthLast.Add(itemC);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                result.ListSafeCheckCountDepartment = ListSafeCheckYearMonthLast;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                return result;
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 月度隐患整改情况(BI055HomeDetail)
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="filter">过滤实体</param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("GetHomeDetailMonthRisk")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<HomeDetailRiskCountMonth> GetHomeDetailMonthRisk([FromBody] KeywordFilter filter)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return SafeExecute(() =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                //按生产单元 获取数据 
							 | 
						|||
| 
								 | 
							
								                HomeDetailRiskCountMonth result = new HomeDetailRiskCountMonth();
							 | 
						|||
| 
								 | 
							
								                if (string.IsNullOrEmpty(filter.Keyword))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    return result;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                int MineType = int.Parse(filter.Keyword);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                BaseFilter filterD = new BaseFilter();
							 | 
						|||
| 
								 | 
							
								                filterD.SelectField = new List<string> { "ID", "NAME", "DEPARTMENT_TYPE", "PARENT_ID" };
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                ///部门
							 | 
						|||
| 
								 | 
							
								                //var listDep1MineTypeSum = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && t.DEPARTMENT_TYPE == 0, filterD, null);
							 | 
						|||
| 
								 | 
							
								                ///车间 班组
							 | 
						|||
| 
								 | 
							
								                var listDep1MineType = GetEntities<T_FM_DEPARTMENT>(t => t.MineType.HasValue && t.MineType == MineType && (t.DEPARTMENT_TYPE == 1 || t.DEPARTMENT_TYPE == 2 || t.DEPARTMENT_TYPE == 0), filterD, null);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //FMDepartmentType 部门=0,  车间=1,   班组=2,  公司=3
							 | 
						|||
| 
								 | 
							
								                if (listDep1MineType == null || !listDep1MineType.Any())
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    return result;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                DateTime dtNow = DateTime.Now;
							 | 
						|||
| 
								 | 
							
								                List<T_FM_DEPARTMENT> listDepCJ = new List<T_FM_DEPARTMENT>();
							 | 
						|||
| 
								 | 
							
								                List<T_FM_DEPARTMENT> listDepBZ = new List<T_FM_DEPARTMENT>();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                listDepCJ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 1).OrderBy(e => e.NUM).ToList();
							 | 
						|||
| 
								 | 
							
								                listDepBZ = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 2).OrderBy(e => e.NUM).ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #region //月度 隐患整改情况
							 | 
						|||
| 
								 | 
							
								                int MonthBefo = 11;//计算12个月 就是提前 11个月
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<T_BI_HOME_BSRISKREASON> listCorrectT = BIHomeService.GetHomeCorrect(filter.OrgId, listDep1MineType.ToList(), MonthBefo).ToList();
							 | 
						|||
| 
								 | 
							
								                string Val = string.Empty;// 0 ,1,2,3
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //string NameMonth = dtNow.AddMonths(-5).Month.ToString() + "月," + dtNow.AddMonths(-4).Month.ToString() + "月," + dtNow.AddMonths(-3).Month.ToString() + "月," + dtNow.AddMonths(-2).Month.ToString() + "月," + dtNow.AddMonths(-1).Month.ToString() + "月," + dtNow.Month.ToString() + "月";
							 | 
						|||
| 
								 | 
							
								                string NameMonth = String.Empty;
							 | 
						|||
| 
								 | 
							
								                for (int i = MonthBefo; i > -1; i--)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    NameMonth += dtNow.AddMonths(-1 * i).ToString("yy-MM") + ",";
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                NameMonth = NameMonth.Substring(0, NameMonth.Length - 1);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<HomeCorrect> listC = new List<HomeCorrect>();
							 | 
						|||
| 
								 | 
							
								                HomeCorrect modelC = null;
							 | 
						|||
| 
								 | 
							
								                bool isNormal = true;//数据是否正常
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var modelCorr = listCorrectT.Where(e => e.YEAR == dtNow.Year && e.MONTH == dtNow.Month);
							 | 
						|||
| 
								 | 
							
								                if (modelCorr == null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    isNormal = false;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                for (int i = 0; i < listCorrectT.Count; i++)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (i == 0 || listCorrectT[i].DEPARTMENT_ID != listCorrectT[i - 1].DEPARTMENT_ID || listCorrectT[i].SOURCEVAL != listCorrectT[i - 1].SOURCEVAL)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (!isNormal && !string.IsNullOrEmpty(Val) && modelC != null)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.Val = Val + "0";
							 | 
						|||
| 
								 | 
							
								                            listC.Add(modelC);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        modelC = new HomeCorrect();
							 | 
						|||
| 
								 | 
							
								                        modelC.DEPARTMENTNAME = listCorrectT[i].DEPARTMENTNAME;
							 | 
						|||
| 
								 | 
							
								                        modelC.DEPARTMENT_ID = listCorrectT[i].DEPARTMENT_ID;
							 | 
						|||
| 
								 | 
							
								                        modelC.SOURCENAME = listCorrectT[i].SOURCENAME;
							 | 
						|||
| 
								 | 
							
								                        modelC.YEAR = listCorrectT[i].YEAR;
							 | 
						|||
| 
								 | 
							
								                        modelC.NAME = NameMonth;
							 | 
						|||
| 
								 | 
							
								                        Val = "";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 1)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M1 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M1 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M1 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 2)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M2 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M2 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M2 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 3)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M3 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M3 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M3 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 4)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M4 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M4 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M4 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 5)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M5 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M5 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M5 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 6)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M6 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M6 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M6 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 7)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M7 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M7 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M7 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 8)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M8 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M8 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M8 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 9)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M9 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M9 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M9 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 10)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M10 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M10 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M10 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 11)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M11 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M11 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M11 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (listCorrectT[i].MONTH == 12)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (listCorrectT[i].SOURCEVAL == 20)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M12 = listCorrectT[i].PERCENT.ToString("0.00");
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            modelC.M12 = listCorrectT[i].COUNT.ToString();
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Val += modelC.M12 + ",";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (isNormal && listCorrectT[i].MONTH == dtNow.Month && listCorrectT[i].YEAR == dtNow.Year)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        //有当月数据 是当前月的时候 放入数据
							 | 
						|||
| 
								 | 
							
								                        modelC.Val = Val.Substring(0, Val.Length - 1);
							 | 
						|||
| 
								 | 
							
								                        listC.Add(modelC);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var listDepID = listDep1MineType.Where(e => e.DEPARTMENT_TYPE == 0).Select(e => e.ID);//部门ID
							 | 
						|||
| 
								 | 
							
								                result.ListC = listC.Where(e => listDepID.Contains(e.DEPARTMENT_ID)).ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #region    子表信息
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //BSCorrectType
							 | 
						|||
| 
								 | 
							
								                List<EnumsResult> enums = DataHelper.GetEnum("BSCorrectType");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<string> listName = new List<string>();
							 | 
						|||
| 
								 | 
							
								                List<int> listVal = new List<int>();
							 | 
						|||
| 
								 | 
							
								                foreach (var item in enums)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    listVal.Add(item.ID);
							 | 
						|||
| 
								 | 
							
								                    listName.Add(item.NAME);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<DetailSafeCheckCountDepartment> listCheckDepCountCJ = new List<DetailSafeCheckCountDepartment>();
							 | 
						|||
| 
								 | 
							
								                List<DetailSafeCheckCountDepartment> listCheckDepCountBZ = new List<DetailSafeCheckCountDepartment>();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<int> listCheckTypeCount = null;
							 | 
						|||
| 
								 | 
							
								                DetailSafeCheckCountDepartment modelCountDep = null;
							 | 
						|||
| 
								 | 
							
								                int checkTypeCount = listVal.Count;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                int Percent = 3;//第4项 是辈分比
							 | 
						|||
| 
								 | 
							
								                int All = 0;
							 | 
						|||
| 
								 | 
							
								                foreach (var item in listDepCJ)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    modelCountDep = new DetailSafeCheckCountDepartment();
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.listName = listName;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.PARENT_ID = item.PARENT_ID.Value;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.Department_ID = item.ID;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.NUM = item.NUM;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.RowCount = listDepBZ.Where(e => e.PARENT_ID.HasValue && e.PARENT_ID.Value == item.ID).Count();
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.DepartmentName = item.NAME;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.DepartmentType = item.DEPARTMENT_TYPE;
							 | 
						|||
| 
								 | 
							
								                    listCheckTypeCount = new List<int>();
							 | 
						|||
| 
								 | 
							
								                    for (int i = 0; i < checkTypeCount; i++)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (Percent == i)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            All = listCheckTypeCount[0] + listCheckTypeCount[1] + listCheckTypeCount[2];
							 | 
						|||
| 
								 | 
							
								                            if (All == 0)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                listCheckTypeCount.Add(10000);
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            else
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                listCheckTypeCount.Add((int)(10000 * (listCheckTypeCount[0] + listCheckTypeCount[1]) / All));
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            listCheckTypeCount.Add(listCorrectT.Where(e => e.SOURCEVAL == listVal[i] && e.DEPARTMENT_ID == item.ID).Sum(e => e.COUNT));
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.listCount = listCheckTypeCount;
							 | 
						|||
| 
								 | 
							
								                    listCheckDepCountCJ.Add(modelCountDep);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                foreach (var item in listDepBZ)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    modelCountDep = new DetailSafeCheckCountDepartment();
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.listName = listName;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.PARENT_ID = item.PARENT_ID.Value;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.Department_ID = item.ID;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.NUM = item.NUM;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.RowCount = 1;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.DepartmentName = item.NAME;
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.DepartmentType = item.DEPARTMENT_TYPE;
							 | 
						|||
| 
								 | 
							
								                    listCheckTypeCount = new List<int>();
							 | 
						|||
| 
								 | 
							
								                    for (int i = 0; i < checkTypeCount; i++)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (Percent == i)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            All = listCheckTypeCount[0] + listCheckTypeCount[1] + listCheckTypeCount[2];
							 | 
						|||
| 
								 | 
							
								                            if (All == 0)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                listCheckTypeCount.Add(10000);
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            else
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                listCheckTypeCount.Add((int)(10000 * (listCheckTypeCount[0] + listCheckTypeCount[1]) / All));
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            listCheckTypeCount.Add(listCorrectT.Where(e => e.SOURCEVAL == listVal[i] && e.DEPARTMENT_ID == item.ID).Sum(e => e.COUNT));
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    modelCountDep.listCount = listCheckTypeCount;
							 | 
						|||
| 
								 | 
							
								                    listCheckDepCountBZ.Add(modelCountDep);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                foreach (var item in listCheckDepCountCJ)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    item.listChild = listCheckDepCountBZ.Where(e => e.PARENT_ID == item.Department_ID).OrderBy(e => e.NUM).ToList();
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //result.ListSafeCheckYearMonth = listCheckDepCountCJ;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //取明细
							 | 
						|||
| 
								 | 
							
								                List<DetailSafeCheckCountDepartment> ListSafeCheckYearMonth = new List<DetailSafeCheckCountDepartment>();
							 | 
						|||
| 
								 | 
							
								                int allIndex = 0;
							 | 
						|||
| 
								 | 
							
								                foreach (var item in listCheckDepCountCJ)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    foreach (var itemC in item.listChild)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        allIndex++;
							 | 
						|||
| 
								 | 
							
								                        itemC.NUM = allIndex;
							 | 
						|||
| 
								 | 
							
								                        itemC.Parent = item;
							 | 
						|||
| 
								 | 
							
								                        ListSafeCheckYearMonth.Add(itemC);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                result.ListSafeCheckYearMonth = ListSafeCheckYearMonth;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                return result;
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    /// 隐患原因 数据
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    public class HomeRISKREASON
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 年
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int YEAR { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 组织ID
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public Guid DEPARTMENT_ID { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 组织ID
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string DEPARTMENTNAME { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 类型
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string SOURCENAME { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 隐患原因
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public List<string> LISTNAME { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 隐患原因数量
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public List<int> LISVALUE { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 数据源排序
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int NUMS { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 数据1
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int COUNT1 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 名称1
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string NAME1 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 数据2
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int COUNT2 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 名称2
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string NAME2 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 数据3
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int COUNT3 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 名称3
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string NAME3 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 数据4
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int COUNT4 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 名称4
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string NAME4 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 数据5
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int COUNT5 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 名称5
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string NAME5 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    /// 整改情况
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    public class HomeCorrect
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 年
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int YEAR { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int MONTH { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 组织ID
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public Guid DEPARTMENT_ID { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 组织ID
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string DEPARTMENTNAME { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 类型
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string SOURCENAME { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 1月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string M1 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 1月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string M2 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 1月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string M3 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 1月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string M4 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 1月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string M5 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 1月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string M6 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 1月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string M7 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 1月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string M8 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 1月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string M9 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 1月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string M10 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 1月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string M11 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 1月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string M12 { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public string Val { get; set; }
							 | 
						|||
| 
								 | 
							
								        public string NAME { get; set; }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    /// 组织 年度 隐患整改情况
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    public class HomeCorrectYear
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 年
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int YEAR { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 组织ID
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public Guid DEPARTMENT_ID { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 组织名称
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string DEPARTMENTNAME { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 按时整改
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int CountIn { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 超时整改
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int CountOut { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 未整改
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int CountNot { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 未整改
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int Count { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    /// 安全检查 月度 检查类型 数量
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    public class HomeSafeCheckCountMonth
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 年
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int YEAR { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 月
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int MONTH { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 总数
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int Total { get; set; }
							 | 
						|||
| 
								 | 
							
								        public List<int> listListCount { get; set; }
							 | 
						|||
| 
								 | 
							
								        public List<string> listSOURCENAME { get; set; }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    /// 首页数据组合
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    public class HomeResult
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 隐患原因
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public List<HomeRISKREASON> ListR { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 月度隐患整改情况
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public List<HomeCorrect> ListC { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 年度隐患整改情况
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public List<HomeCorrectYear> ListCYear { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 安全检查 月度 数量
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public List<HomeSafeCheckCountMonth> ListSafeCheckYearMonth { get; set; }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    /// 组织 安全检查类型 对应次数  
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    public class DetailSafeCheckCountDepartment
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 组织名称
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public string DepartmentName { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 父级ID
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public Guid PARENT_ID { get; set; }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 部门ID
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public Guid Department_ID { get; set; }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 排序
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int NUM { get; set; }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 组织类型
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int DepartmentType { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 数据占行数(班组为1 车间为下一级班组数量)
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public int RowCount { get; set; } = 1;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 数量集合(每次传参 集合顺序一致)
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public List<int> listCount { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 隐患整改率(月度隐患整改情况明细 专属)
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public decimal Percent { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 名称集合 (每次传参 集合顺序一致)
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public List<string> listName { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 子信息
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public List<DetailSafeCheckCountDepartment> listChild { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 父项
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public DetailSafeCheckCountDepartment Parent { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    /// 安全检查次数统计
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    public class HomeDetailSafeCheckCountMonth
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 安全检查 月度 数量
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public List<HomeSafeCheckCountMonth> ListSafeCheckYearMonth { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 每个组织 每种检查 对应次数
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public List<DetailSafeCheckCountDepartment> ListSafeCheckCountDepartment { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /// <summary>
							 | 
						|||
| 
								 | 
							
								    /// 安全检查次数统计
							 | 
						|||
| 
								 | 
							
								    /// </summary>
							 | 
						|||
| 
								 | 
							
								    public class HomeDetailRiskCountMonth
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 月度隐患整改情况
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public List<HomeCorrect> ListC { get; set; }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 安全检查 月度 数量
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        public List<DetailSafeCheckCountDepartment> ListSafeCheckYearMonth { get; set; }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |