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