diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/BIAnalysisController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/BIAnalysisController.cs index 228ad07..797360d 100644 --- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/BIAnalysisController.cs +++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/BIAnalysisController.cs @@ -3144,8 +3144,11 @@ namespace APT.PP.WebApi.Controllers.Api.PP sum.NORMAL_FINISH_RATE = temp2.ToString("0"); departSummary.Add(sum); }); - } - //折线图 + } + //折线图 + var deleteIds = new List(); + var deletemouIds = new List(); + var deletemonthIds = new List(); List monthRuns = new List(); var ksDepartId = departmentInfos.FirstOrDefault(t => t.NAME == "矿山部")?.ID; var xkDepartId = departmentInfos.FirstOrDefault(t => t.NAME == "选矿部")?.ID; @@ -3154,108 +3157,112 @@ namespace APT.PP.WebApi.Controllers.Api.PP ksDepartId = departmentInfos.FirstOrDefault(t => t.NAME == "选矿一部")?.ID; xkDepartId = departmentInfos.FirstOrDefault(t => t.NAME == "选矿二部")?.ID; } - var currentMonth = DateTime.Now.Month; //获取当月 - var currentDay = DateTime.Now.Day; //...........天 - for (DateTime i = year; i <= dt; i = i.AddMonths(1)) //for (int i = 1; i <= 12; i++) - { - //var monthStart = DateTime.Now.AddMonths(i - currentMonth).AddDays(1 - currentDay); - //var monthEnd = DateTime.Now.AddMonths(i - currentMonth + 1).AddDays(1 - currentDay - 1); - var monthStart = Convert.ToDateTime(i.Year + "-" + i.Month + "-01 00:00:00"); - var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59")); - if (i.Date == year.Date) - { - monthStart = year; - } - if (i.Date == dt.Date) - { - monthEnd = dt; - } - var ksJantask = taskYear.Where(t => t.CREATE_DATE >= monthStart && t.CREATE_DATE <= monthEnd && t.DEPT_DEPARTMENT_ID == ksDepartId).ToList(); - if (ksJantask.Any()) - { - T_BI_DEPARTMENT_MONTH_RUN run = new T_BI_DEPARTMENT_MONTH_RUN(); - run.DEPARTMENT_ID = ksDepartId.Value; - run.ORG_ID = pageFilter.OrgId; - var depart = departmentInfos.FirstOrDefault(m => m.ID == ksDepartId.Value); - run.DEPARTMENT_NAME = depart?.NAME; - run.MONTH = monthStart; - run.MONTHStr = monthStart.Year + "年" + monthStart.Month + "月"; - var total = ksJantask.Count(); - var finish = ksJantask.Where(t => t.NOTICE_STATUS == 1).Count(); - var overFinish = ksJantask.Where(t => t.NOTICE_STATUS == 2).Count(); - var temp = total == 0 ? 0 : (double)(finish + overFinish) / total * 100; - run.FINISH_RATE = temp.ToString("0"); - var temp2 = total == 0 ? 0 : (double)finish / total * 100; - run.NORMAL_FINISH_RATE = temp2.ToString("0"); - monthRuns.Add(run); - } - else - { - T_BI_DEPARTMENT_MONTH_RUN run = new T_BI_DEPARTMENT_MONTH_RUN(); - run.DEPARTMENT_ID = ksDepartId.Value; - run.ORG_ID = pageFilter.OrgId; - var depart = departmentInfos.FirstOrDefault(m => m.ID == ksDepartId.Value); - run.DEPARTMENT_NAME = depart?.NAME; - run.MONTH = monthStart; - run.MONTHStr = monthStart.Year + "年" + monthStart.Month + "月"; - run.FINISH_RATE = "0"; - run.NORMAL_FINISH_RATE = "0"; - //if (i == 12) - //{ - // var lastInfo = monthRuns.FirstOrDefault(t => t.DEPARTMENT_ID == ksDepartId.Value && t.MONTHStr == monthStart.Year + "年" + monthStart.AddMonths(-1).Month + "月"); - // if (lastInfo != null) - // { - // run.FINISH_RATE = lastInfo.FINISH_RATE; - // run.NORMAL_FINISH_RATE = lastInfo.NORMAL_FINISH_RATE; - // } - //} - monthRuns.Add(run); - } - var xkJantask = taskYear.Where(t => t.CREATE_DATE >= monthStart && t.CREATE_DATE <= monthEnd && t.DEPT_DEPARTMENT_ID == xkDepartId).ToList(); - if (xkJantask.Any()) - { - T_BI_DEPARTMENT_MONTH_RUN run = new T_BI_DEPARTMENT_MONTH_RUN(); - run.DEPARTMENT_ID = xkDepartId.Value; - run.ORG_ID = pageFilter.OrgId; - var depart = departmentInfos.FirstOrDefault(m => m.ID == xkDepartId.Value); - run.DEPARTMENT_NAME = depart?.NAME; - run.MONTH = monthStart; - run.MONTHStr = monthStart.Year + "年" + monthStart.Month + "月"; - var total = xkJantask.Count(); - var finish = xkJantask.Where(t => t.NOTICE_STATUS == 1).Count(); - var overFinish = xkJantask.Where(t => t.NOTICE_STATUS == 2).Count(); - var temp = total == 0 ? 0 : (double)(finish + overFinish) / total * 100; - run.FINISH_RATE = temp.ToString("0"); - var temp2 = total == 0 ? 0 : (double)finish / total * 100; - run.NORMAL_FINISH_RATE = temp2.ToString("0"); - monthRuns.Add(run); - } - else - { - T_BI_DEPARTMENT_MONTH_RUN run = new T_BI_DEPARTMENT_MONTH_RUN(); - run.DEPARTMENT_ID = xkDepartId.Value; - run.ORG_ID = pageFilter.OrgId; - var depart = departmentInfos.FirstOrDefault(m => m.ID == xkDepartId.Value); - run.DEPARTMENT_NAME = depart?.NAME; - run.MONTH = monthStart; - run.MONTHStr = monthStart.Year + "年" + monthStart.Month + "月"; - run.FINISH_RATE = "0"; - run.NORMAL_FINISH_RATE = "0"; - //if (i == 12) - //{ - // var lastInfo = monthRuns.FirstOrDefault(t => t.DEPARTMENT_ID == xkDepartId.Value && t.MONTHStr == monthStart.Year + "年" + monthStart.AddMonths(-1).Month + "月"); - // if (lastInfo != null) - // { - // run.FINISH_RATE = lastInfo.FINISH_RATE; - // run.NORMAL_FINISH_RATE = lastInfo.NORMAL_FINISH_RATE; - // } - //} - monthRuns.Add(run); - } - } - var deleteIds = this.GetEntities(t => true, new BaseFilter(pageFilter.OrgId)).Select(m => m.ID).ToList(); - var deletemouIds = this.GetEntities(t => true, new BaseFilter(pageFilter.OrgId)).Select(m => m.ID).ToList(); - var deletemonthIds = this.GetEntities(t => true, new BaseFilter(pageFilter.OrgId)).Select(m => m.ID).ToList(); + if (ksDepartId != null && xkDepartId != null) + { + var currentMonth = DateTime.Now.Month; //获取当月 + var currentDay = DateTime.Now.Day; //...........天 + for (DateTime i = year; i <= dt; i = i.AddMonths(1)) //for (int i = 1; i <= 12; i++) + { + //var monthStart = DateTime.Now.AddMonths(i - currentMonth).AddDays(1 - currentDay); + //var monthEnd = DateTime.Now.AddMonths(i - currentMonth + 1).AddDays(1 - currentDay - 1); + var monthStart = Convert.ToDateTime(i.Year + "-" + i.Month + "-01 00:00:00"); + var monthEnd = Convert.ToDateTime(monthStart.AddMonths(1).AddDays(-1).ToString().Replace("0:00:00", "23:59:59")); + if (i.Date == year.Date) + { + monthStart = year; + } + if (i.Date == dt.Date) + { + monthEnd = dt; + } + var ksJantask = taskYear.Where(t => t.CREATE_DATE >= monthStart && t.CREATE_DATE <= monthEnd && t.DEPT_DEPARTMENT_ID == ksDepartId).ToList(); + if (ksJantask.Any()) + { + T_BI_DEPARTMENT_MONTH_RUN run = new T_BI_DEPARTMENT_MONTH_RUN(); + run.DEPARTMENT_ID = ksDepartId.Value; + run.ORG_ID = pageFilter.OrgId; + var depart = departmentInfos.FirstOrDefault(m => m.ID == ksDepartId.Value); + run.DEPARTMENT_NAME = depart?.NAME; + run.MONTH = monthStart; + run.MONTHStr = monthStart.Year + "年" + monthStart.Month + "月"; + var total = ksJantask.Count(); + var finish = ksJantask.Where(t => t.NOTICE_STATUS == 1).Count(); + var overFinish = ksJantask.Where(t => t.NOTICE_STATUS == 2).Count(); + var temp = total == 0 ? 0 : (double)(finish + overFinish) / total * 100; + run.FINISH_RATE = temp.ToString("0"); + var temp2 = total == 0 ? 0 : (double)finish / total * 100; + run.NORMAL_FINISH_RATE = temp2.ToString("0"); + monthRuns.Add(run); + } + else + { + T_BI_DEPARTMENT_MONTH_RUN run = new T_BI_DEPARTMENT_MONTH_RUN(); + run.DEPARTMENT_ID = ksDepartId.Value; + run.ORG_ID = pageFilter.OrgId; + var depart = departmentInfos.FirstOrDefault(m => m.ID == ksDepartId.Value); + run.DEPARTMENT_NAME = depart?.NAME; + run.MONTH = monthStart; + run.MONTHStr = monthStart.Year + "年" + monthStart.Month + "月"; + run.FINISH_RATE = "0"; + run.NORMAL_FINISH_RATE = "0"; + //if (i == 12) + //{ + // var lastInfo = monthRuns.FirstOrDefault(t => t.DEPARTMENT_ID == ksDepartId.Value && t.MONTHStr == monthStart.Year + "年" + monthStart.AddMonths(-1).Month + "月"); + // if (lastInfo != null) + // { + // run.FINISH_RATE = lastInfo.FINISH_RATE; + // run.NORMAL_FINISH_RATE = lastInfo.NORMAL_FINISH_RATE; + // } + //} + monthRuns.Add(run); + } + var xkJantask = taskYear.Where(t => t.CREATE_DATE >= monthStart && t.CREATE_DATE <= monthEnd && t.DEPT_DEPARTMENT_ID == xkDepartId).ToList(); + if (xkJantask.Any()) + { + T_BI_DEPARTMENT_MONTH_RUN run = new T_BI_DEPARTMENT_MONTH_RUN(); + run.DEPARTMENT_ID = xkDepartId.Value; + run.ORG_ID = pageFilter.OrgId; + var depart = departmentInfos.FirstOrDefault(m => m.ID == xkDepartId.Value); + run.DEPARTMENT_NAME = depart?.NAME; + run.MONTH = monthStart; + run.MONTHStr = monthStart.Year + "年" + monthStart.Month + "月"; + var total = xkJantask.Count(); + var finish = xkJantask.Where(t => t.NOTICE_STATUS == 1).Count(); + var overFinish = xkJantask.Where(t => t.NOTICE_STATUS == 2).Count(); + var temp = total == 0 ? 0 : (double)(finish + overFinish) / total * 100; + run.FINISH_RATE = temp.ToString("0"); + var temp2 = total == 0 ? 0 : (double)finish / total * 100; + run.NORMAL_FINISH_RATE = temp2.ToString("0"); + monthRuns.Add(run); + } + else + { + T_BI_DEPARTMENT_MONTH_RUN run = new T_BI_DEPARTMENT_MONTH_RUN(); + run.DEPARTMENT_ID = xkDepartId.Value; + run.ORG_ID = pageFilter.OrgId; + var depart = departmentInfos.FirstOrDefault(m => m.ID == xkDepartId.Value); + run.DEPARTMENT_NAME = depart?.NAME; + run.MONTH = monthStart; + run.MONTHStr = monthStart.Year + "年" + monthStart.Month + "月"; + run.FINISH_RATE = "0"; + run.NORMAL_FINISH_RATE = "0"; + //if (i == 12) + //{ + // var lastInfo = monthRuns.FirstOrDefault(t => t.DEPARTMENT_ID == xkDepartId.Value && t.MONTHStr == monthStart.Year + "年" + monthStart.AddMonths(-1).Month + "月"); + // if (lastInfo != null) + // { + // run.FINISH_RATE = lastInfo.FINISH_RATE; + // run.NORMAL_FINISH_RATE = lastInfo.NORMAL_FINISH_RATE; + // } + //} + monthRuns.Add(run); + } + } + deleteIds = this.GetEntities(t => true, new BaseFilter(pageFilter.OrgId)).Select(m => m.ID).ToList(); + deletemouIds = this.GetEntities(t => true, new BaseFilter(pageFilter.OrgId)).Select(m => m.ID).ToList(); + deletemonthIds = this.GetEntities(t => true, new BaseFilter(pageFilter.OrgId)).Select(m => m.ID).ToList(); + + } this.UnifiedCommit(() => { if (deleteIds != null && deleteIds.Any())