463 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			463 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Linq;
 | |
| using System.Text;
 | |
| 
 | |
| namespace BLL
 | |
| {
 | |
|     /// <summary>
 | |
|     /// 事故调查报告
 | |
|     /// </summary>
 | |
|     public static class AccidentReportService
 | |
|     {
 | |
|         public static Model.SGGLDB db = Funs.DB;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据主键获取事故调查报告
 | |
|         /// </summary>
 | |
|         /// <param name="accidentReportId"></param>
 | |
|         /// <returns></returns>
 | |
|         public static Model.Accident_AccidentReport GetAccidentReportById(string accidentReportId)
 | |
|         {
 | |
|             return Funs.DB.Accident_AccidentReport.FirstOrDefault(e => e.AccidentReportId == accidentReportId);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据时间段获取事故集合
 | |
|         /// </summary>
 | |
|         /// <param name="startTime"></param>
 | |
|         /// <param name="endTime"></param>
 | |
|         /// <param name="projectId"></param>
 | |
|         /// <returns></returns>
 | |
|         public static List<Model.Accident_AccidentReport> GetAccidentReportsByAccidentTime(DateTime startTime, DateTime endTime, string projectId)
 | |
|         {
 | |
|             return (from x in Funs.DB.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x).ToList();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取最近时间的轻重死事故时间
 | |
|         /// </summary>
 | |
|         /// <param name="projectId"></param>
 | |
|         /// <returns></returns>
 | |
|         public static Model.Accident_AccidentReport GetMaxAccidentTimeReport(DateTime time, string projectId)
 | |
|         {
 | |
|             var a = (from x in Funs.DB.Accident_AccidentReport
 | |
|                      where (x.AccidentTypeId == "1" || x.AccidentTypeId == "2" || x.AccidentTypeId == "3")
 | |
|                       && x.ProjectId == projectId
 | |
|                       && x.AccidentDate < time
 | |
|                      orderby x.AccidentDate descending
 | |
|                      select x).FirstOrDefault();
 | |
|             return a;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取时间段内的轻重死事故时间
 | |
|         /// </summary>
 | |
|         /// <param name="startTime"></param>
 | |
|         /// <param name="endTime"></param>
 | |
|         /// <returns></returns>
 | |
|         public static Model.Accident_AccidentReport GetMaxAccidentTimeReportByTime(DateTime startTime, DateTime endTime)
 | |
|         {
 | |
|             var a = (from x in Funs.DB.Accident_AccidentReport
 | |
|                      where (x.AccidentTypeId == "1" || x.AccidentTypeId == "2" || x.AccidentTypeId == "3")
 | |
|                      && x.AccidentDate >= startTime && x.AccidentDate < endTime
 | |
|                      orderby x.AccidentDate descending
 | |
|                      select x).FirstOrDefault();
 | |
|             return a;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据时间段获取可记录事故集合
 | |
|         /// </summary>
 | |
|         /// <param name="startTime"></param>
 | |
|         /// <param name="endTime"></param>
 | |
|         /// <param name="accidentType"></param>
 | |
|         /// <param name="projectId"></param>
 | |
|         /// <returns></returns>
 | |
|         public static List<Model.Accident_AccidentReport> GetRecordAccidentReportsByAccidentTime(DateTime startTime, DateTime endTime, string projectId)
 | |
|         {
 | |
|             return (from x in Funs.DB.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.ProjectId == projectId && (x.AccidentTypeId == "1" || x.AccidentTypeId == "2" || x.AccidentTypeId == "3") && x.States == BLL.Const.State_2 select x).ToList();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据时间段获取事故集合
 | |
|         /// </summary>
 | |
|         /// <param name="startTime"></param>
 | |
|         /// <param name="endTime"></param>
 | |
|         /// <param name="accidentType"></param>
 | |
|         /// <param name="projectId"></param>
 | |
|         /// <returns></returns>
 | |
|         public static List<Model.Accident_AccidentReport> GetAccidentReportsByAccidentTypeAndTime(DateTime startTime, DateTime endTime, string projectId, string accidentType)
 | |
|         {
 | |
|             return (from x in Funs.DB.Accident_AccidentReport
 | |
|                     join y in Funs.DB.Sys_FlowOperate
 | |
|                     on x.AccidentReportId equals y.DataId
 | |
|                     where x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2
 | |
|                     && y.State == BLL.Const.State_2 && y.OperaterTime >= startTime && y.OperaterTime < endTime
 | |
|                     select x).Distinct().ToList();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据时间段和类型获取事故数量
 | |
|         /// </summary>
 | |
|         /// <param name="startTime"></param>
 | |
|         /// <param name="endTime"></param>
 | |
|         /// <param name="accidentType"></param>
 | |
|         /// <param name="projectId"></param>
 | |
|         /// <returns></returns>
 | |
|         public static int GetCountByAccidentTimeAndAccidentType(DateTime startTime, DateTime endTime, string accidentType, string projectId)
 | |
|         {
 | |
|             return (from x in Funs.DB.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x).Count();
 | |
|             //if (accidentType == "1" || accidentType == "2" || accidentType == "3")  //轻重死事故按审批完成时间
 | |
|             //{
 | |
|             //    return (from x in Funs.DB.Accident_AccidentReport
 | |
|             //            join y in Funs.DB.Sys_FlowOperate
 | |
|             //            on x.AccidentReportId equals y.DataId
 | |
|             //            where x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2
 | |
|             //            && y.State == BLL.Const.State_2 && y.OperaterTime >= startTime && y.OperaterTime < endTime
 | |
|             //            select x).Count();
 | |
|             //}
 | |
|             //else
 | |
|             //{
 | |
|             //    return (from x in Funs.DB.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x).Count();
 | |
|             //}
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据时间段和类型获取事故数量
 | |
|         /// </summary>
 | |
|         /// <param name="startTime"></param>
 | |
|         /// <param name="endTime"></param>
 | |
|         /// <param name="accidentType"></param>
 | |
|         /// <param name="projectId"></param>
 | |
|         /// <returns></returns>
 | |
|         public static int GetCountByAccidentType(string accidentType, string projectId)
 | |
|         {
 | |
|             return (from x in Funs.DB.Accident_AccidentReport where x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x).Count();
 | |
|             //if (accidentType == "1" || accidentType == "2" || accidentType == "3")  //轻重死事故按审批完成时间
 | |
|             //{
 | |
|             //    return (from x in Funs.DB.Accident_AccidentReport
 | |
|             //            join y in Funs.DB.Sys_FlowOperate
 | |
|             //            on x.AccidentReportId equals y.DataId
 | |
|             //            where x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2
 | |
|             //            && y.State == BLL.Const.State_2 && y.OperaterTime >= startTime && y.OperaterTime < endTime
 | |
|             //            select x).Count();
 | |
|             //}
 | |
|             //else
 | |
|             //{
 | |
|             //    return (from x in Funs.DB.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x).Count();
 | |
|             //}
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据时间段和类型获取事故人数
 | |
|         /// </summary>
 | |
|         /// <param name="startTime"></param>
 | |
|         /// <param name="endTime"></param>
 | |
|         /// <param name="accidentType"></param>
 | |
|         /// <param name="projectId"></param>
 | |
|         /// <returns></returns>
 | |
|         public static int GetPersonNumByAccidentTimeAndAccidentType(DateTime startTime, DateTime endTime, string accidentType, string projectId)
 | |
|         {
 | |
|             int num = 0;
 | |
|             var q = from x in Funs.DB.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x.PeopleNum;
 | |
|             foreach (var item in q)
 | |
|             {
 | |
|                 if (item != null)
 | |
|                 {
 | |
|                     num += Funs.GetNewIntOrZero(item.ToString());
 | |
|                 }
 | |
|             }
 | |
|             //if (accidentType == "1" || accidentType == "2" || accidentType == "3")  //轻重死事故按审批完成时间
 | |
|             //{
 | |
|             //    var a = from x in Funs.DB.Accident_AccidentReport
 | |
|             //            join y in Funs.DB.Sys_FlowOperate
 | |
|             //            on x.AccidentReportId equals y.DataId
 | |
|             //            where x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2
 | |
|             //            && y.State == BLL.Const.State_2 && y.OperaterTime >= startTime && y.OperaterTime < endTime
 | |
|             //            select x.PeopleNum;
 | |
|             //    foreach (var item in a)
 | |
|             //    {
 | |
|             //        if (item != null)
 | |
|             //        {
 | |
|             //            num += Funs.GetNewIntOrZero(item.ToString());
 | |
|             //        }
 | |
|             //    }
 | |
|             //}
 | |
|             //else
 | |
|             //{
 | |
|             //    var q = from x in Funs.DB.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x.PeopleNum;
 | |
|             //    foreach (var item in q)
 | |
|             //    {
 | |
|             //        if (item != null)
 | |
|             //        {
 | |
|             //            num += Funs.GetNewIntOrZero(item.ToString());
 | |
|             //        }
 | |
|             //    }
 | |
|             //}
 | |
|             return num;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据时间段和类型获取事故损失工时
 | |
|         /// </summary>
 | |
|         /// <param name="startTime"></param>
 | |
|         /// <param name="endTime"></param>
 | |
|         /// <param name="accidentType"></param>
 | |
|         /// <param name="projectId"></param>
 | |
|         /// <returns></returns>
 | |
|         public static decimal GetSumLoseWorkTimeByAccidentTimeAndAccidentType(DateTime startTime, DateTime endTime, string accidentType, string projectId)
 | |
|         {
 | |
|             decimal loseTime = 0;
 | |
|             var q = from x in Funs.DB.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x.WorkingHoursLoss;
 | |
|             foreach (var item in q)
 | |
|             {
 | |
|                 if (item != null)
 | |
|                 {
 | |
|                     loseTime += Funs.GetNewDecimalOrZero(item.ToString());
 | |
|                 }
 | |
|             }
 | |
|             //if (accidentType == "1" || accidentType == "2" || accidentType == "3")  //轻重死事故按审批完成时间
 | |
|             //{
 | |
|             //    var a = from x in Funs.DB.Accident_AccidentReport
 | |
|             //            join y in Funs.DB.Sys_FlowOperate
 | |
|             //            on x.AccidentReportId equals y.DataId
 | |
|             //            where x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2
 | |
|             //            && y.State == BLL.Const.State_2 && y.OperaterTime >= startTime && y.OperaterTime < endTime
 | |
|             //            select x.WorkingHoursLoss;
 | |
|             //    foreach (var item in a)
 | |
|             //    {
 | |
|             //        if (item != null)
 | |
|             //        {
 | |
|             //            loseTime += Funs.GetNewDecimal(item.ToString());
 | |
|             //        }
 | |
|             //    }
 | |
|             //}
 | |
|             //else
 | |
|             //{
 | |
|             //    var q = from x in Funs.DB.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x.WorkingHoursLoss;
 | |
|             //    foreach (var item in q)
 | |
|             //    {
 | |
|             //        if (item != null)
 | |
|             //        {
 | |
|             //            loseTime += Funs.GetNewDecimal(item.ToString());
 | |
|             //        }
 | |
|             //    }
 | |
|             //}
 | |
|             return loseTime;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据时间段和类型获取事故损失金额
 | |
|         /// </summary>
 | |
|         /// <param name="startTime"></param>
 | |
|         /// <param name="endTime"></param>
 | |
|         /// <param name="accidentType"></param>
 | |
|         /// <param name="projectId"></param>
 | |
|         /// <returns></returns>
 | |
|         public static decimal GetSumLosMoneyByAccidentTimeAndAccidentType(DateTime startTime, DateTime endTime, string accidentType, string projectId)
 | |
|         {
 | |
|             decimal loseMoney = 0;
 | |
|             var q = from x in Funs.DB.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x.EconomicLoss;
 | |
|             foreach (var item in q)
 | |
|             {
 | |
|                 if (item != null)
 | |
|                 {
 | |
|                     loseMoney += Funs.GetNewDecimalOrZero(item.ToString());
 | |
|                 }
 | |
|             }
 | |
|             var c = from x in Funs.DB.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x.EconomicOtherLoss;
 | |
|             foreach (var item in c)
 | |
|             {
 | |
|                 if (item != null)
 | |
|                 {
 | |
|                     loseMoney += Funs.GetNewDecimalOrZero(item.ToString());
 | |
|                 }
 | |
|             }
 | |
|             //if (accidentType == "1" || accidentType == "2" || accidentType == "3")  //轻重死事故按审批完成时间
 | |
|             //{
 | |
|             //    var a = from x in Funs.DB.Accident_AccidentReport
 | |
|             //            join y in Funs.DB.Sys_FlowOperate
 | |
|             //            on x.AccidentReportId equals y.DataId
 | |
|             //            where x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2
 | |
|             //            && y.State == BLL.Const.State_2 && y.OperaterTime >= startTime && y.OperaterTime < endTime
 | |
|             //            select x.EconomicLoss;
 | |
|             //    foreach (var item in a)
 | |
|             //    {
 | |
|             //        if (item != null)
 | |
|             //        {
 | |
|             //            loseMoney += Funs.GetNewDecimal(item.ToString());
 | |
|             //        }
 | |
|             //    }
 | |
|             //    var b = from x in Funs.DB.Accident_AccidentReport
 | |
|             //            join y in Funs.DB.Sys_FlowOperate
 | |
|             //            on x.AccidentReportId equals y.DataId
 | |
|             //            where x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2
 | |
|             //            && y.State == BLL.Const.State_2 && y.OperaterTime >= startTime && y.OperaterTime < endTime
 | |
|             //            select x.EconomicOtherLoss;
 | |
|             //    foreach (var item in b)
 | |
|             //    {
 | |
|             //        if (item != null)
 | |
|             //        {
 | |
|             //            loseMoney += Funs.GetNewDecimal(item.ToString());
 | |
|             //        }
 | |
|             //    }
 | |
|             //}
 | |
|             //else
 | |
|             //{
 | |
|             //    var q = from x in Funs.DB.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x.EconomicLoss;
 | |
|             //    foreach (var item in q)
 | |
|             //    {
 | |
|             //        if (item != null)
 | |
|             //        {
 | |
|             //            loseMoney += Funs.GetNewDecimal(item.ToString());
 | |
|             //        }
 | |
|             //    }
 | |
|             //    var c = from x in Funs.DB.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.AccidentTypeId == accidentType && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x.EconomicOtherLoss;
 | |
|             //    foreach (var item in c)
 | |
|             //    {
 | |
|             //        if (item != null)
 | |
|             //        {
 | |
|             //            loseMoney += Funs.GetNewDecimal(item.ToString());
 | |
|             //        }
 | |
|             //    }
 | |
|             //}
 | |
|             return loseMoney;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据时间和事故类型名称获取事故调查报告集合
 | |
|         /// </summary>
 | |
|         /// <param name="startTime"></param>
 | |
|         /// <param name="endTime"></param>
 | |
|         /// <param name="accidentTypeName"></param>
 | |
|         /// <returns></returns>                        
 | |
|         public static List<Model.Accident_AccidentReport> GetAccidentReportsByTimeAndAccidentTypeId(DateTime startTime, DateTime endTime, string projectId, string accidentTypeId)
 | |
|         {
 | |
|             Model.SGGLDB db = Funs.DB;
 | |
|             if (accidentTypeId == "1" || accidentTypeId == "2" || accidentTypeId == "3")  //轻重死事故按审批完成时间
 | |
|             {
 | |
|                 return (from x in db.Accident_AccidentReport
 | |
|                         join y in db.Sys_FlowOperate
 | |
|                         on x.AccidentReportId equals y.DataId
 | |
|                         where x.AccidentTypeId == accidentTypeId && x.ProjectId == projectId && x.States == BLL.Const.State_2
 | |
|                         && y.State == BLL.Const.State_2 && y.OperaterTime >= startTime && y.OperaterTime < endTime
 | |
|                         select x).Distinct().ToList();
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 return (from x in db.Accident_AccidentReport where x.AccidentDate >= startTime && x.AccidentDate < endTime && x.AccidentTypeId == accidentTypeId && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x).ToList();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 添加事故调查报告
 | |
|         /// </summary>
 | |
|         /// <param name="accidentReport"></param>
 | |
|         public static void AddAccidentReport(Model.Accident_AccidentReport accidentReport)
 | |
|         {
 | |
|             Model.SGGLDB db = Funs.DB;
 | |
|             Model.Accident_AccidentReport newAccidentReport = new Model.Accident_AccidentReport
 | |
|             {
 | |
|                 AccidentReportId = accidentReport.AccidentReportId,
 | |
|                 ProjectId = accidentReport.ProjectId,
 | |
|                 AccidentReportCode = accidentReport.AccidentReportCode,
 | |
|                 UnitId = accidentReport.UnitId,
 | |
|                 AccidentReportType = accidentReport.AccidentReportType,
 | |
|                 FileContent = accidentReport.FileContent,
 | |
|                 CompileMan = accidentReport.CompileMan,
 | |
|                 CompileDate = accidentReport.CompileDate,
 | |
|                 States = accidentReport.States,
 | |
|                 AccidentReportName = accidentReport.AccidentReportName,
 | |
|                 AccidentTypeId = accidentReport.AccidentTypeId,
 | |
|                 Abstract = accidentReport.Abstract,
 | |
|                 AccidentDate = accidentReport.AccidentDate,
 | |
|                 WorkAreaId = accidentReport.WorkAreaId,
 | |
|                 PeopleNum = accidentReport.PeopleNum,
 | |
|                 WorkingHoursLoss = accidentReport.WorkingHoursLoss,
 | |
|                 EconomicLoss = accidentReport.EconomicLoss,
 | |
|                 EconomicOtherLoss = accidentReport.EconomicOtherLoss,
 | |
|                 ReportMan = accidentReport.ReportMan,
 | |
|                 ReporterUnit = accidentReport.ReporterUnit,
 | |
|                 ReportDate = accidentReport.ReportDate,
 | |
|                 ProcessDescription = accidentReport.ProcessDescription,
 | |
|                 EmergencyMeasures = accidentReport.EmergencyMeasures,
 | |
|                 WorkArea = accidentReport.WorkArea,
 | |
|                 IsNotConfirm = accidentReport.IsNotConfirm,
 | |
|                 NotConfirmWorkingHoursLoss = accidentReport.NotConfirmWorkingHoursLoss,
 | |
|                 NotConfirmEconomicLoss = accidentReport.NotConfirmEconomicLoss,
 | |
|                 NotConfirmEconomicOtherLoss = accidentReport.NotConfirmEconomicOtherLoss,
 | |
|                 AccidentDegree = accidentReport.AccidentDegree,
 | |
|                 NotConfirmed = accidentReport.NotConfirmed
 | |
|             };
 | |
|             db.Accident_AccidentReport.InsertOnSubmit(newAccidentReport);
 | |
|             db.SubmitChanges();
 | |
|             CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectAccidentReportMenuId, accidentReport.ProjectId, null, accidentReport.AccidentReportId, accidentReport.CompileDate);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 修改事故调查报告
 | |
|         /// </summary>
 | |
|         /// <param name="accidentReport"></param>
 | |
|         public static void UpdateAccidentReport(Model.Accident_AccidentReport accidentReport)
 | |
|         {
 | |
|             Model.SGGLDB db = Funs.DB;
 | |
|             Model.Accident_AccidentReport newAccidentReport = db.Accident_AccidentReport.FirstOrDefault(e => e.AccidentReportId == accidentReport.AccidentReportId);
 | |
|             if (newAccidentReport != null)
 | |
|             {
 | |
|                 //newAccidentReport.ProjectId = accidentReport.ProjectId;
 | |
|                 newAccidentReport.AccidentReportCode = accidentReport.AccidentReportCode;
 | |
|                 newAccidentReport.UnitId = accidentReport.UnitId;
 | |
|                 newAccidentReport.AccidentReportType = accidentReport.AccidentReportType;
 | |
|                 newAccidentReport.FileContent = accidentReport.FileContent;
 | |
|                 newAccidentReport.CompileMan = accidentReport.CompileMan;
 | |
|                 newAccidentReport.CompileDate = accidentReport.CompileDate;
 | |
|                 newAccidentReport.States = accidentReport.States;
 | |
|                 newAccidentReport.AccidentReportName = accidentReport.AccidentReportName;
 | |
|                 newAccidentReport.AccidentTypeId = accidentReport.AccidentTypeId;
 | |
|                 newAccidentReport.Abstract = accidentReport.Abstract;
 | |
|                 newAccidentReport.AccidentDate = accidentReport.AccidentDate;
 | |
|                 newAccidentReport.WorkAreaId = accidentReport.WorkAreaId;
 | |
|                 newAccidentReport.PeopleNum = accidentReport.PeopleNum;
 | |
|                 newAccidentReport.WorkingHoursLoss = accidentReport.WorkingHoursLoss;
 | |
|                 newAccidentReport.EconomicLoss = accidentReport.EconomicLoss;
 | |
|                 newAccidentReport.EconomicOtherLoss = accidentReport.EconomicOtherLoss;
 | |
|                 newAccidentReport.ReportMan = accidentReport.ReportMan;
 | |
|                 newAccidentReport.ReporterUnit = accidentReport.ReporterUnit;
 | |
|                 newAccidentReport.ReportDate = accidentReport.ReportDate;
 | |
|                 newAccidentReport.ProcessDescription = accidentReport.ProcessDescription;
 | |
|                 newAccidentReport.EmergencyMeasures = accidentReport.EmergencyMeasures;
 | |
|                 newAccidentReport.WorkArea = accidentReport.WorkArea;
 | |
|                 newAccidentReport.IsNotConfirm = accidentReport.IsNotConfirm;
 | |
|                 newAccidentReport.NotConfirmWorkingHoursLoss = accidentReport.NotConfirmWorkingHoursLoss;
 | |
|                 newAccidentReport.NotConfirmEconomicLoss = accidentReport.NotConfirmEconomicLoss;
 | |
|                 newAccidentReport.AccidentDegree = accidentReport.AccidentDegree;
 | |
|                 newAccidentReport.NotConfirmEconomicOtherLoss = accidentReport.NotConfirmEconomicOtherLoss;
 | |
|                 db.SubmitChanges();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 根据主键删除事故调查报告
 | |
|         /// </summary>
 | |
|         /// <param name="accidentReportId"></param>
 | |
|         public static void DeleteAccidentReportById(string accidentReportId)
 | |
|         {
 | |
|             Model.SGGLDB db = Funs.DB;
 | |
|             Model.Accident_AccidentReport accidentReport = db.Accident_AccidentReport.FirstOrDefault(e => e.AccidentReportId == accidentReportId);
 | |
|             if (accidentReport != null)
 | |
|             {
 | |
|                 CodeRecordsService.DeleteCodeRecordsByDataId(accidentReportId);
 | |
|                 CommonService.DeleteFlowOperateByID(accidentReportId);
 | |
|                 db.Accident_AccidentReport.DeleteOnSubmit(accidentReport);
 | |
|                 db.SubmitChanges();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public static List<Model.Accident_AccidentReport> GetAccidentReportsByAccidentType(string accidentType,DateTime startTime, DateTime endTime, string projectId)
 | |
|         {
 | |
|             return (from x in Funs.DB.Accident_AccidentReport where x.AccidentTypeId==accidentType && x.AccidentDate >= startTime && x.AccidentDate < endTime && x.ProjectId == projectId && x.States == BLL.Const.State_2 select x).ToList();
 | |
|         }
 | |
|     }
 | |
| }
 |