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; }
 | 
						||
    }
 | 
						||
} |