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