201 lines
9.1 KiB
C#
201 lines
9.1 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,
|
|||
|
PunishPersonId = punishNotice.PunishPersonId,
|
|||
|
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();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|