221 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			221 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Text; | |||
|  | using System.Threading.Tasks; | |||
|  | 
 | |||
|  | namespace BLL | |||
|  | { | |||
|  |     /// <summary> | |||
|  |     /// 管理月报 | |||
|  |     /// </summary> | |||
|  |     public static class MonthReportService | |||
|  |     { | |||
|  |         /// <summary> | |||
|  |         /// 根据时间获取最近时间的月报 | |||
|  |         /// </summary> | |||
|  |         /// <param name="date">日期</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static bool GetMonthReportByDate(DateTime date, string projectId) | |||
|  |         { | |||
|  |             var a = Funs.DB.Manager_MonthReport.FirstOrDefault(x => x.ProjectId == projectId && x.ReportMonths.Value.Year == date.Year && x.ReportMonths.Value.Month == date.Month); | |||
|  |             return (a != null); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据时间获取最近时间的月报 | |||
|  |         /// </summary> | |||
|  |         /// <param name="date">日期</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static bool GetFreezeMonthReportByDate(DateTime date, string projectId) | |||
|  |         { | |||
|  |             int setDay = 6; | |||
|  |             var sysSet = BLL.ConstValue.drpConstItemList(BLL.ConstValue.Group_MonthReportFreezeDay).FirstOrDefault(); | |||
|  |             if (sysSet != null) | |||
|  |             { | |||
|  |                 int? sysSetDay = Funs.GetNewInt(sysSet.ConstValue); | |||
|  |                 if (sysSetDay.HasValue) | |||
|  |                 { | |||
|  |                     setDay = sysSetDay.Value; | |||
|  |                 } | |||
|  |             } | |||
|  | 
 | |||
|  |             var a = Funs.DB.Manager_MonthReport.FirstOrDefault(x => x.ProjectId == projectId && x.ReportMonths.Value.AddMonths(1).AddDays(setDay) > date); | |||
|  |             return (a != null); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据日期获得月报告信息集合 | |||
|  |         /// </summary> | |||
|  |         /// <param name="date">日期</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<string> GetMonthReportIdsByDate(DateTime date) | |||
|  |         { | |||
|  |             return (from x in Funs.DB.Manager_MonthReport where x.MonthReportDate < date select x.MonthReportId).ToList(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据日期获得最近的一条月报告信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="date">日期</param> | |||
|  |         /// <returns></returns> | |||
|  |         //public static Model.Manager_MonthReport GetLastMonthReportByDate(DateTime date, string projectId) | |||
|  |         //{ | |||
|  |         //    Model.Manager_MonthReport LastMonth = null; | |||
|  |         //    if (date.Day < 5) | |||
|  |         //    { | |||
|  |         //        LastMonth = (from x in Funs.DB.Manager_MonthReport where x.Months <= date.AddMonths(-2) && x.ProjectId == projectId orderby x.MonthReportDate descending select x).FirstOrDefault(); | |||
|  |         //    } | |||
|  |         //    else | |||
|  |         //    { | |||
|  |         //        LastMonth = (from x in Funs.DB.Manager_MonthReport where x.Months < date.AddMonths(-1) && x.ProjectId == projectId orderby x.MonthReportDate descending select x).FirstOrDefault(); | |||
|  |         //    } | |||
|  |         //    return LastMonth; | |||
|  |         //} | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据月报告主键获取月报告信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="monthReportId">月报告主键</param> | |||
|  |         /// <returns>月报告信息</returns> | |||
|  |         public static Model.Manager_MonthReport GetMonthReportByMonthReportId(string monthReportId) | |||
|  |         { | |||
|  |             return Funs.DB.Manager_MonthReport.FirstOrDefault(x => x.MonthReportId == monthReportId); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据月报告主键获取月报告信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="monthReportId">月报告主键</param> | |||
|  |         /// <returns>月报告信息</returns> | |||
|  |         public static bool GetMonthReportIsCloseDByMonthReportId(string monthReportId) | |||
|  |         { | |||
|  |             int setDay = 6; | |||
|  |             var sysSet = BLL.ConstValue.drpConstItemList(BLL.ConstValue.Group_MonthReportFreezeDay).FirstOrDefault(); | |||
|  |             if (sysSet != null) | |||
|  |             { | |||
|  |                 int? sysSetDay = Funs.GetNewInt(sysSet.ConstValue); | |||
|  |                 if (sysSetDay.HasValue) | |||
|  |                 { | |||
|  |                     setDay = sysSetDay.Value; | |||
|  |                 } | |||
|  |             } | |||
|  |             var monthReport = Funs.DB.Manager_MonthReport.FirstOrDefault(x => x.MonthReportId == monthReportId && x.ReportMonths.Value.AddMonths(1).AddDays(setDay) > System.DateTime.Now); | |||
|  |             return (monthReport != null); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据月份获取月报告信息集合 | |||
|  |         /// </summary> | |||
|  |         /// <param name="monthReportId">月份</param> | |||
|  |         /// <returns>月报告信息</returns> | |||
|  |         public static List<Model.Manager_MonthReport> GetMonthReportsByReportMonths(DateTime? reportMonths) | |||
|  |         { | |||
|  |             return (from x in Funs.DB.Manager_MonthReport where x.ReportMonths == reportMonths select x).ToList(); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据月份获取月报告信息集合 | |||
|  |         /// </summary> | |||
|  |         /// <param name="monthReportId">月份</param> | |||
|  |         /// <returns>月报告信息</returns> | |||
|  |         public static Model.Manager_MonthReport GetMonthReportsByReportMonthsIDProejctID(DateTime reportMonths, string monthReportId, string projectId) | |||
|  |         { | |||
|  |             return Funs.DB.Manager_MonthReport.FirstOrDefault(x => x.ReportMonths.Value.Year == reportMonths.Year && x.ReportMonths.Value.Month == reportMonths.Month && x.ProjectId == projectId && (x.MonthReportId != monthReportId || monthReportId == null)); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据月报告编号获取月报告信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="monthReportCode">月报告编号</param> | |||
|  |         /// <returns>月报告信息</returns> | |||
|  |         public static Model.Manager_MonthReport GetMonthReportByMonthReportCode(string monthReportCode) | |||
|  |         { | |||
|  |             return Funs.DB.Manager_MonthReport.FirstOrDefault(x => x.MonthReportCode == monthReportCode); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 增加月报告信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="monthReport">月报告实体</param> | |||
|  |         public static void AddMonthReport(Model.Manager_MonthReport monthReport) | |||
|  |         { | |||
|  |             Model.Manager_MonthReport newMonthReport = new Model.Manager_MonthReport | |||
|  |             { | |||
|  |                 MonthReportId = monthReport.MonthReportId, | |||
|  |                 MonthReportCode = monthReport.MonthReportCode, | |||
|  |                 ProjectId = monthReport.ProjectId, | |||
|  |                 Months = monthReport.Months, | |||
|  |                 ReportMonths = monthReport.ReportMonths, | |||
|  |                 MonthReportDate = monthReport.MonthReportDate, | |||
|  |                 MonthReportStartDate = monthReport.MonthReportStartDate, | |||
|  |                 ReportMan = monthReport.ReportMan, | |||
|  |                 AllProjectData = monthReport.AllProjectData, | |||
|  |                 ThisMonthKeyPoints = monthReport.ThisMonthKeyPoints, | |||
|  |                 ThisMonthSafetyCost = monthReport.ThisMonthSafetyCost, | |||
|  |                 TotalSafetyCost = monthReport.TotalSafetyCost, | |||
|  |                 ThisMonthSafetyActivity = monthReport.ThisMonthSafetyActivity, | |||
|  |                 NextMonthWorkFocus = monthReport.NextMonthWorkFocus, | |||
|  |                 AllManhoursData = monthReport.AllManhoursData, | |||
|  |                 EquipmentQualityData = monthReport.EquipmentQualityData, | |||
|  |                 FileAttachUrl = monthReport.FileAttachUrl, | |||
|  |                 AttachUrl = monthReport.AttachUrl, | |||
|  |                 Flag = monthReport.Flag | |||
|  |             }; | |||
|  |             Funs.DB.Manager_MonthReport.InsertOnSubmit(newMonthReport); | |||
|  |             Funs.DB.SubmitChanges(); | |||
|  |             ////增加一条编码记录 | |||
|  |             BLL.CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(BLL.Const.ProjectManagerMonthMenuId, monthReport.ProjectId, null, monthReport.MonthReportId, monthReport.MonthReportDate); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 修改月报告信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="monthReport">月报告实体</param> | |||
|  |         public static void UpdateMonthReport(Model.Manager_MonthReport monthReport) | |||
|  |         { | |||
|  |             Model.Manager_MonthReport newMonthReport = Funs.DB.Manager_MonthReport.FirstOrDefault(e => e.MonthReportId == monthReport.MonthReportId); | |||
|  |             if (newMonthReport != null) | |||
|  |             { | |||
|  |                 newMonthReport.MonthReportCode = monthReport.MonthReportCode; | |||
|  |                 newMonthReport.Months = monthReport.Months; | |||
|  |                 newMonthReport.MonthReportDate = monthReport.MonthReportDate; | |||
|  |                 newMonthReport.MonthReportStartDate = monthReport.MonthReportStartDate; | |||
|  |                 newMonthReport.ReportMan = monthReport.ReportMan; | |||
|  |                 newMonthReport.ReportMonths = monthReport.ReportMonths; | |||
|  |                 newMonthReport.AllProjectData = monthReport.AllProjectData; | |||
|  |                 newMonthReport.ThisMonthKeyPoints = monthReport.ThisMonthKeyPoints; | |||
|  |                 newMonthReport.ThisMonthSafetyCost = monthReport.ThisMonthSafetyCost; | |||
|  |                 newMonthReport.TotalSafetyCost = monthReport.TotalSafetyCost; | |||
|  |                 newMonthReport.ThisMonthSafetyActivity = monthReport.ThisMonthSafetyActivity; | |||
|  |                 newMonthReport.NextMonthWorkFocus = monthReport.NextMonthWorkFocus; | |||
|  |                 newMonthReport.AllManhoursData = monthReport.AllManhoursData; | |||
|  |                 newMonthReport.EquipmentQualityData = monthReport.EquipmentQualityData; | |||
|  |                 newMonthReport.FileAttachUrl = monthReport.FileAttachUrl; | |||
|  |                 newMonthReport.AttachUrl = monthReport.AttachUrl; | |||
|  |                 newMonthReport.Flag = monthReport.Flag; | |||
|  |                 Funs.DB.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据月报告主键删除一个月报告信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="monthReportId">月报告主键</param> | |||
|  |         public static void DeleteMonthReportByMonthReportId(string monthReportId) | |||
|  |         { | |||
|  |             Model.Manager_MonthReport monthReport = Funs.DB.Manager_MonthReport.FirstOrDefault(e => e.MonthReportId == monthReportId); | |||
|  |             if (monthReport != null) | |||
|  |             { | |||
|  |                 ///删除编码表记录 | |||
|  |                 BLL.CodeRecordsService.DeleteCodeRecordsByDataId(monthReportId); | |||
|  |                 BLL.CommonService.DeleteAttachFileById(monthReportId);//删除附件 | |||
|  |                 BLL.CommonService.DeleteFlowOperateByID(monthReportId);//删除审核流程 | |||
|  |                 Funs.DB.Manager_MonthReport.DeleteOnSubmit(monthReport); | |||
|  |                 Funs.DB.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | } |