200 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			200 lines
		
	
	
		
			9.0 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Text; | |||
|  | 
 | |||
|  | namespace BLL | |||
|  | { | |||
|  |     /// <summary> | |||
|  |     /// 处罚通知单 | |||
|  |     /// </summary> | |||
|  |     public static class PunishNoticeService | |||
|  |     { | |||
|  |         public static Model.SGGLDB db = Funs.DB; | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据主键获取处罚通知单 | |||
|  |         /// </summary> | |||
|  |         /// <param name="punishNoticeId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static Model.Check_PunishNotice GetPunishNoticeById(string punishNoticeId) | |||
|  |         { | |||
|  |             return Funs.DB.Check_PunishNotice.FirstOrDefault(e => e.PunishNoticeId == punishNoticeId); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据日期获取HSE奖励通知单集合 | |||
|  |         /// </summary> | |||
|  |         /// <param name="startTime">开始时间</param> | |||
|  |         /// <param name="endTime">结束时间</param> | |||
|  |         /// <param name="projectId">项目号</param> | |||
|  |         /// <returns>HSE奖励通知单集合</returns> | |||
|  |         public static List<Model.Check_PunishNotice> GetPunishNoticeListsByDate(DateTime startTime, DateTime endTime, string projectId) | |||
|  |         { | |||
|  |             return (from x in Funs.DB.Check_PunishNotice where x.PunishNoticeDate >= startTime && x.PunishNoticeDate <= endTime && x.ProjectId == projectId orderby x.PunishNoticeDate select x).ToList(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据时间段获取HSE处罚通知单集合 | |||
|  |         /// </summary> | |||
|  |         /// <param name="startTime">开始时间</param> | |||
|  |         /// <param name="endTime">结束时间</param> | |||
|  |         /// <param name="projectId">项目Id</param> | |||
|  |         /// <returns>时间段内的HSE处罚通知单集合</returns> | |||
|  |         public static int GetCountByDate(DateTime startTime, DateTime endTime, string projectId) | |||
|  |         { | |||
|  |             return (from x in Funs.DB.Check_PunishNotice where x.PunishNoticeDate >= startTime && x.PunishNoticeDate <= endTime && x.ProjectId == projectId select x).Count(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据时间段获取HSE处罚通知单处罚总金额 | |||
|  |         /// </summary> | |||
|  |         /// <param name="startTime">开始时间</param> | |||
|  |         /// <param name="endTime">结束时间</param> | |||
|  |         /// <param name="projectId">项目Id</param> | |||
|  |         /// <returns>时间段内的HSE处罚通知单处罚总金额</returns> | |||
|  |         public static decimal GetSumMoneyByDate(DateTime startTime, DateTime endTime, string projectId) | |||
|  |         { | |||
|  |             var q = (from x in Funs.DB.Check_PunishNotice where x.PunishNoticeDate >= startTime && x.PunishNoticeDate <= endTime && x.ProjectId == projectId select x).ToList(); | |||
|  |             if (q.Count > 0) | |||
|  |             { | |||
|  |                 return (from x in q select x.PunishMoney ?? 0).Sum(); | |||
|  |             } | |||
|  |             return 0; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取处罚金额总和 | |||
|  |         /// </summary> | |||
|  |         /// <param name="startTime"></param> | |||
|  |         /// <param name="endTime"></param> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static decimal? GetSumMoney(string projectId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             decimal? sumRewardMoney = (from x in db.Check_PunishNotice | |||
|  |                                        where x.ProjectId == projectId && x.States == BLL.Const.State_2 | |||
|  |                                        select x.PunishMoney).Sum(); | |||
|  |             if (sumRewardMoney == null) | |||
|  |             { | |||
|  |                 return 0; | |||
|  |             } | |||
|  |             return sumRewardMoney; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据日期获取处罚金额总和 | |||
|  |         /// </summary> | |||
|  |         /// <param name="startTime"></param> | |||
|  |         /// <param name="endTime"></param> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static decimal? GetSumMoneyByTime(DateTime startTime, DateTime endTime, string projectId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             decimal? sumRewardMoney = (from x in db.Check_PunishNotice | |||
|  |                                        where x.PunishNoticeDate >= startTime && x.PunishNoticeDate < endTime && x.ProjectId == projectId && x.States == BLL.Const.State_2 | |||
|  |                                        select x.PunishMoney).Sum(); | |||
|  |             if (sumRewardMoney == null) | |||
|  |             { | |||
|  |                 return 0; | |||
|  |             } | |||
|  |             return sumRewardMoney; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 添加处罚通知单 | |||
|  |         /// </summary> | |||
|  |         /// <param name="punishNotice"></param> | |||
|  |         public static void AddPunishNotice(Model.Check_PunishNotice punishNotice) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Check_PunishNotice newPunishNotice = new Model.Check_PunishNotice | |||
|  |             { | |||
|  |                 PunishNoticeId = punishNotice.PunishNoticeId, | |||
|  |                 ProjectId = punishNotice.ProjectId, | |||
|  |                 PunishNoticeCode = punishNotice.PunishNoticeCode, | |||
|  |                 UnitId = punishNotice.UnitId, | |||
|  |                 PunishNoticeDate = punishNotice.PunishNoticeDate, | |||
|  |                 BasicItem = punishNotice.BasicItem, | |||
|  |                 PunishMoney = punishNotice.PunishMoney, | |||
|  |                 FileContents = punishNotice.FileContents, | |||
|  |                 AttachUrl = punishNotice.AttachUrl, | |||
|  |                 CompileMan = punishNotice.CompileMan, | |||
|  |                 CompileDate = punishNotice.CompileDate, | |||
|  |                 States = punishNotice.States, | |||
|  |                 PunishStates = punishNotice.PunishStates, | |||
|  |                 SignMan = punishNotice.SignMan, | |||
|  |                 ApproveMan = punishNotice.ApproveMan, | |||
|  |                 ContractNum = punishNotice.ContractNum, | |||
|  |                 IncentiveReason = punishNotice.IncentiveReason, | |||
|  |                 Currency = punishNotice.Currency, | |||
|  |                 PunishName = punishNotice.PunishName, | |||
|  |             }; | |||
|  |             db.Check_PunishNotice.InsertOnSubmit(newPunishNotice); | |||
|  |             db.SubmitChanges(); | |||
|  |             CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectPunishNoticeMenuId, punishNotice.ProjectId, null, punishNotice.PunishNoticeId, punishNotice.CompileDate); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 修改处罚通知单 | |||
|  |         /// </summary> | |||
|  |         /// <param name="punishNotice"></param> | |||
|  |         public static void UpdatePunishNotice(Model.Check_PunishNotice punishNotice) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Check_PunishNotice newPunishNotice = db.Check_PunishNotice.FirstOrDefault(e => e.PunishNoticeId == punishNotice.PunishNoticeId); | |||
|  |             if (newPunishNotice != null) | |||
|  |             { | |||
|  |                 //newPunishNotice.ProjectId = punishNotice.ProjectId; | |||
|  |                 //newPunishNotice.PunishNoticeCode = punishNotice.PunishNoticeCode; | |||
|  |                 newPunishNotice.UnitId = punishNotice.UnitId; | |||
|  |                 newPunishNotice.PunishNoticeDate = punishNotice.PunishNoticeDate; | |||
|  |                 newPunishNotice.BasicItem = punishNotice.BasicItem; | |||
|  |                 newPunishNotice.PunishMoney = punishNotice.PunishMoney; | |||
|  |                 newPunishNotice.FileContents = punishNotice.FileContents; | |||
|  |                 newPunishNotice.AttachUrl = punishNotice.AttachUrl; | |||
|  |                 newPunishNotice.CompileMan = punishNotice.CompileMan; | |||
|  |                 newPunishNotice.CompileDate = punishNotice.CompileDate; | |||
|  |                 newPunishNotice.States = punishNotice.States; | |||
|  |                 newPunishNotice.PunishStates = punishNotice.PunishStates; | |||
|  |                 newPunishNotice.SignMan = punishNotice.SignMan; | |||
|  |                 newPunishNotice.ApproveMan = punishNotice.ApproveMan; | |||
|  |                 newPunishNotice.ContractNum = punishNotice.ContractNum; | |||
|  |                 newPunishNotice.IncentiveReason = punishNotice.IncentiveReason; | |||
|  |                 newPunishNotice.Currency = punishNotice.Currency; | |||
|  |                 newPunishNotice.PunishName = punishNotice.PunishName; | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据主键删除处罚通知单 | |||
|  |         /// </summary> | |||
|  |         /// <param name="punishNoticeId"></param> | |||
|  |         public static void DeletePunishNoticeById(string punishNoticeId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Check_PunishNotice punishNotice = db.Check_PunishNotice.FirstOrDefault(e => e.PunishNoticeId == punishNoticeId); | |||
|  |             if (punishNotice != null) | |||
|  |             { | |||
|  |                 CodeRecordsService.DeleteCodeRecordsByDataId(punishNoticeId); | |||
|  |                 UploadFileService.DeleteFile(Funs.RootPath, punishNotice.AttachUrl); | |||
|  |                 ////删除审核流程表 | |||
|  |                 var getFlow = db.Check_PunishNoticeFlowOperate.Where(x => x.PunishNoticeId == punishNoticeId); | |||
|  |                 if (getFlow.Count() > 0) | |||
|  |                 { | |||
|  |                     db.Check_PunishNoticeFlowOperate.DeleteAllOnSubmit(getFlow); | |||
|  |                 } | |||
|  |                 var PunishItem = db.Check_PunishNoticeItem.Where(x => x.PunishNoticeId == punishNoticeId); | |||
|  |                 if (PunishItem.Count() > 0) | |||
|  |                 { | |||
|  |                     db.Check_PunishNoticeItem.DeleteAllOnSubmit(PunishItem); | |||
|  |                 } | |||
|  |                 db.Check_PunishNotice.DeleteOnSubmit(punishNotice); | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | } |