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