270 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			270 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Text; | |||
|  | using System.Threading.Tasks; | |||
|  | using EmitMapper; | |||
|  | 
 | |||
|  | namespace BLL | |||
|  | { | |||
|  |     /// <summary> | |||
|  |     /// 奖励通知单 | |||
|  |     /// </summary> | |||
|  |     public static class APIIncentiveNoticeService | |||
|  |     { | |||
|  |         #region 根据IncentiveNoticeId获取奖励通知单 | |||
|  |         /// <summary> | |||
|  |         ///  根据 IncentiveNoticeId获取奖励通知单 | |||
|  |         /// </summary> | |||
|  |         /// <param name="incentiveNoticeId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static Model.IncentiveNoticeItem getIncentiveNoticeById(string incentiveNoticeId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var getInfo = from x in db.Check_IncentiveNotice | |||
|  |                               where x.IncentiveNoticeId == incentiveNoticeId | |||
|  |                               select new Model.IncentiveNoticeItem | |||
|  |                               { | |||
|  |                                   IncentiveNoticeId = x.IncentiveNoticeId, | |||
|  |                                   ProjectId = x.ProjectId, | |||
|  |                                   IncentiveNoticeCode = x.IncentiveNoticeCode, | |||
|  |                                   IncentiveDate = string.Format("{0:yyyy-MM-dd}", x.IncentiveDate), | |||
|  |                                   RewardTypeId = x.RewardType, | |||
|  |                                   RewardTypeName = db.Sys_Const.First(y => y.GroupId == ConstValue.Group_RewardType && y.ConstValue == x.RewardType).ConstText, | |||
|  |                                   UnitId = x.UnitId, | |||
|  |                                   UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName, | |||
|  |                                   TeamGroupId = x.TeamGroupId, | |||
|  |                                   TeamGroupName = db.ProjectData_TeamGroup.First(u => u.TeamGroupId == x.TeamGroupId).TeamGroupName, | |||
|  |                                   PersonId = x.PersonId, | |||
|  |                                   PersonName = db.SitePerson_Person.First(u => u.PersonId == x.PersonId).PersonName, | |||
|  |                                   BasicItem = x.BasicItem, | |||
|  |                                   IncentiveMoney = x.IncentiveMoney ?? 0, | |||
|  |                                   Currency = x.Currency, | |||
|  |                                   TitleReward = x.TitleReward, | |||
|  |                                   MattleReward = x.MattleReward, | |||
|  |                                   FileContents = System.Web.HttpUtility.HtmlDecode(x.FileContents), | |||
|  |                                   CompileManId = x.CompileMan, | |||
|  |                                   CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName, | |||
|  |                                   CompileDate = string.Format("{0:yyyy-MM-dd}", x.CompileDate), | |||
|  |                                   SignManId = x.SignMan, | |||
|  |                                   SignManName = db.Sys_User.First(u => u.UserId == x.SignMan).UserName, | |||
|  |                                   ApproveManId = x.ApproveMan, | |||
|  |                                   ApproveManName = db.Sys_User.First(u => u.UserId == x.ApproveMan).UserName, | |||
|  |                                   States = x.States, | |||
|  |                                   AttachUrl = x.AttachUrl.Replace('\\', '/'), | |||
|  |                               }; | |||
|  |                 return getInfo.FirstOrDefault(); | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion         | |||
|  | 
 | |||
|  |         #region 获取奖励通知单列表信息 | |||
|  |         /// <summary> | |||
|  |         /// 获取奖励通知单列表信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <param name="unitId"></param> | |||
|  |         /// <param name="strParam"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.IncentiveNoticeItem> getIncentiveNoticeList(string projectId, string unitId, string strParam, string states) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var getIncentiveNotice = from x in db.Check_IncentiveNotice | |||
|  |                                          where x.ProjectId == projectId && (x.UnitId == unitId || unitId == null) | |||
|  |                                         //&& (strParam == null || x.IncentiveNoticeName.Contains(strParam))  | |||
|  |                                         &&  x.States == states | |||
|  |                                          orderby x.IncentiveNoticeCode descending | |||
|  |                                          select new Model.IncentiveNoticeItem | |||
|  |                                          { | |||
|  |                                              IncentiveNoticeId = x.IncentiveNoticeId, | |||
|  |                                              ProjectId = x.ProjectId, | |||
|  |                                              IncentiveNoticeCode = x.IncentiveNoticeCode, | |||
|  |                                              IncentiveDate = string.Format("{0:yyyy-MM-dd}", x.IncentiveDate), | |||
|  |                                              RewardTypeId = x.RewardType, | |||
|  |                                              RewardTypeName = db.Sys_Const.First(y => y.GroupId == ConstValue.Group_RewardType && y.ConstValue == x.RewardType).ConstText, | |||
|  |                                              UnitId = x.UnitId, | |||
|  |                                              UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName, | |||
|  |                                              TeamGroupId = x.TeamGroupId, | |||
|  |                                              TeamGroupName = db.ProjectData_TeamGroup.First(u => u.TeamGroupId == x.TeamGroupId).TeamGroupName, | |||
|  |                                              PersonId = x.PersonId, | |||
|  |                                              PersonName = db.SitePerson_Person.First(u => u.PersonId == x.PersonId).PersonName, | |||
|  |                                              BasicItem = x.BasicItem, | |||
|  |                                              IncentiveMoney = x.IncentiveMoney, | |||
|  |                                              Currency = x.Currency, | |||
|  |                                              TitleReward = x.TitleReward, | |||
|  |                                              MattleReward = x.MattleReward, | |||
|  |                                              // FileContents = System.Web.HttpUtility.HtmlDecode(x.FileContents), | |||
|  |                                              CompileManId = x.CompileMan, | |||
|  |                                              CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName, | |||
|  |                                              CompileDate = string.Format("{0:yyyy-MM-dd}", x.CompileDate), | |||
|  |                                              //SignManId = x.SignMan, | |||
|  |                                              //SignManName = db.Sys_User.First(u => u.UserId == x.SignMan).UserName, | |||
|  |                                              // ApproveManId = x.ApproveMan, | |||
|  |                                              //ApproveManName = db.Sys_User.First(u => u.UserId == x.ApproveMan).UserName, | |||
|  |                                              States = x.States, | |||
|  |                                              //AttachUrl = x.AttachUrl.Replace('\\', '/'), | |||
|  |                                          }; | |||
|  |                 return getIncentiveNotice.ToList(); | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion         | |||
|  | 
 | |||
|  |         #region 保存Check_IncentiveNotice | |||
|  |         /// <summary> | |||
|  |         /// 保存Check_IncentiveNotice | |||
|  |         /// </summary> | |||
|  |         /// <param name="newItem">奖励通知单</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static void SaveIncentiveNotice(Model.IncentiveNoticeItem newItem) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Check_IncentiveNotice newIncentiveNotice = new Model.Check_IncentiveNotice | |||
|  |             { | |||
|  |                 IncentiveNoticeId = newItem.IncentiveNoticeId, | |||
|  |                 IncentiveNoticeCode = newItem.IncentiveNoticeCode, | |||
|  |                 ProjectId = newItem.ProjectId, | |||
|  |                 IncentiveDate = Funs.GetNewDateTime(newItem.IncentiveDate), | |||
|  |                 UnitId = newItem.UnitId,                | |||
|  |                 RewardType = newItem.RewardTypeId, | |||
|  |                 BasicItem = newItem.BasicItem, | |||
|  |                 IncentiveMoney = newItem.IncentiveMoney, | |||
|  |                 Currency = newItem.Currency, | |||
|  |                 TitleReward = newItem.TitleReward, | |||
|  |                 MattleReward = newItem.MattleReward, | |||
|  |                 FileContents = System.Web.HttpUtility.HtmlEncode(newItem.FileContents), | |||
|  |                 CompileMan = newItem.CompileManId, | |||
|  |                 AttachUrl = newItem.AttachUrl, | |||
|  |                 States = newItem.States, | |||
|  |             }; | |||
|  | 
 | |||
|  |             if (!string.IsNullOrEmpty(newItem.TeamGroupId)) | |||
|  |             { | |||
|  |                 newIncentiveNotice.TeamGroupId = newItem.TeamGroupId; | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(newItem.CompileManId)) | |||
|  |             { | |||
|  |                 newIncentiveNotice.CompileMan = newItem.CompileManId; | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(newItem.PersonId)) | |||
|  |             { | |||
|  |                 newIncentiveNotice.PersonId = newItem.PersonId; | |||
|  |             } | |||
|  |             if (newIncentiveNotice.States == Const.State_1) | |||
|  |             { | |||
|  |                 newIncentiveNotice.SignMan = newItem.SignManId; | |||
|  |             } | |||
|  |             var getUpdate = db.Check_IncentiveNotice.FirstOrDefault(x => x.IncentiveNoticeId == newItem.IncentiveNoticeId); | |||
|  |             if (getUpdate == null) | |||
|  |             { | |||
|  |                 newIncentiveNotice.States = Const.State_0; | |||
|  |                 newIncentiveNotice.CompileDate = DateTime.Now; | |||
|  |                 newIncentiveNotice.IncentiveNoticeId = SQLHelper.GetNewID(); | |||
|  |                 newIncentiveNotice.IncentiveNoticeCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectIncentiveNoticeMenuId, newIncentiveNotice.ProjectId, newIncentiveNotice.UnitId); | |||
|  |                 IncentiveNoticeService.AddIncentiveNotice(newIncentiveNotice); | |||
|  |             } | |||
|  |                else | |||
|  |                 { | |||
|  |                 newIncentiveNotice.IncentiveNoticeId = getUpdate.IncentiveNoticeId; | |||
|  |                 getUpdate.States = newItem.States; | |||
|  |                 if (newIncentiveNotice.States == "0" || newIncentiveNotice.States == "1")  ////编制人 修改或提交 | |||
|  |                 { | |||
|  |                     getUpdate.IncentiveDate = newIncentiveNotice.IncentiveDate; | |||
|  |                     getUpdate.UnitId = newIncentiveNotice.UnitId; | |||
|  |                     getUpdate.TeamGroupId = newIncentiveNotice.TeamGroupId; | |||
|  |                     getUpdate.PersonId = newIncentiveNotice.PersonId; | |||
|  |                     getUpdate.RewardType = newIncentiveNotice.RewardType; | |||
|  |                     getUpdate.BasicItem = newIncentiveNotice.BasicItem; | |||
|  |                     getUpdate.IncentiveMoney = newIncentiveNotice.IncentiveMoney; | |||
|  |                     getUpdate.Currency = newIncentiveNotice.Currency; | |||
|  |                     getUpdate.TitleReward = newIncentiveNotice.TitleReward; | |||
|  |                     getUpdate.MattleReward = newIncentiveNotice.MattleReward; | |||
|  |                     getUpdate.FileContents = newIncentiveNotice.FileContents; | |||
|  | 
 | |||
|  |                     if (newIncentiveNotice.States == "1" && !string.IsNullOrEmpty(newItem.SignManId)) | |||
|  |                     { | |||
|  |                         getUpdate.SignMan = newItem.SignManId; | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         newIncentiveNotice.States = getUpdate.States = "0"; | |||
|  |                     } | |||
|  |                     db.SubmitChanges(); | |||
|  |                 } | |||
|  |                 else if (newIncentiveNotice.States == "2") ////【签发】总包安全经理 | |||
|  |                 { | |||
|  |                     /// 不同意 打回 同意抄送专业工程师、施工经理、相关施工分包单位并提交【批准】总包项目经理 | |||
|  |                     if (newItem.IsAgree == false) | |||
|  |                     { | |||
|  |                         newIncentiveNotice.States = getUpdate.States = "0"; | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         if (!string.IsNullOrEmpty(newItem.ProfessionalEngineerId)) | |||
|  |                         { | |||
|  |                             getUpdate.ProfessionalEngineerId = newItem.ProfessionalEngineerId; | |||
|  |                         } | |||
|  |                         if (!string.IsNullOrEmpty(newItem.ConstructionManagerId)) | |||
|  |                         { | |||
|  |                             getUpdate.ConstructionManagerId = newItem.ConstructionManagerId; | |||
|  |                         } | |||
|  |                         if (!string.IsNullOrEmpty(newItem.UnitHeadManId)) | |||
|  |                         { | |||
|  |                             getUpdate.UnitHeadManId = newItem.UnitHeadManId; | |||
|  |                         } | |||
|  |                         if (!string.IsNullOrEmpty(newItem.ApproveManId)) | |||
|  |                         { | |||
|  |                             getUpdate.ApproveMan = newItem.ApproveManId; | |||
|  |                             getUpdate.SignDate = DateTime.Now; | |||
|  |                         } | |||
|  |                         else | |||
|  |                         { | |||
|  |                             newIncentiveNotice.States = getUpdate.States = "1"; | |||
|  |                         } | |||
|  |                     } | |||
|  |                     db.SubmitChanges(); | |||
|  |                 } | |||
|  |                 else if (newIncentiveNotice.States == "3") ////【批准】总包项目经理 | |||
|  |                 { | |||
|  |                     /// 不同意 打回 同意下发【回执】施工分包单位 | |||
|  |                     if (newItem.IsAgree == false) | |||
|  |                     { | |||
|  |                         newIncentiveNotice.States = getUpdate.States = "1"; | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         getUpdate.ApproveDate = DateTime.Now; | |||
|  |                     } | |||
|  |                     db.SubmitChanges(); | |||
|  |                 } | |||
|  |             } | |||
|  |             //// 增加审核记录 | |||
|  |             if (newItem.FlowOperateItem != null && newItem.FlowOperateItem.Count() > 0) | |||
|  |             { | |||
|  |                 var getOperate = newItem.FlowOperateItem.FirstOrDefault(); | |||
|  |                 if (getOperate != null && !string.IsNullOrEmpty(getOperate.OperaterId)) | |||
|  |                 { | |||
|  |                     Model.Check_IncentiveNoticeFlowOperate newOItem = new Model.Check_IncentiveNoticeFlowOperate | |||
|  |                     { | |||
|  |                         FlowOperateId = SQLHelper.GetNewID(), | |||
|  |                        IncentiveNoticeId = newIncentiveNotice.IncentiveNoticeId, | |||
|  |                         OperateName = getOperate.AuditFlowName, | |||
|  |                         OperateManId = getOperate.OperaterId, | |||
|  |                         OperateTime = DateTime.Now, | |||
|  |                         IsAgree = getOperate.IsAgree, | |||
|  |                         Opinion = getOperate.Opinion, | |||
|  |                     }; | |||
|  |                     db.Check_IncentiveNoticeFlowOperate.InsertOnSubmit(newOItem); | |||
|  |                     db.SubmitChanges(); | |||
|  |                 } | |||
|  |             } | |||
|  |             if (newIncentiveNotice.States == "1" || newIncentiveNotice.States == "0") | |||
|  |             { | |||
|  |                 CommonService.btnSaveData(newIncentiveNotice.ProjectId, Const.ProjectIncentiveNoticeMenuId, newIncentiveNotice.IncentiveNoticeId, newIncentiveNotice.CompileMan, true, newIncentiveNotice.IncentiveNoticeCode, "../Check/IncentiveNoticeView.aspx?IncentiveNoticeId={0}"); | |||
|  |             }             | |||
|  |         } | |||
|  |         #endregion | |||
|  |     } | |||
|  | } |