175 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			175 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using System.Text;
							 | 
						|||
| 
								 | 
							
								using System.Threading.Tasks;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace BLL
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								   public static class CheckNoticeService
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据主键获取检查通知单
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="checkNoticeId"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static Model.ProjectSupervision_CheckNotice GetCheckNoticeById(string checkNoticeId)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return Funs.DB.ProjectSupervision_CheckNotice.FirstOrDefault(e => e.CheckNoticeId == checkNoticeId);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 添加检查通知单
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="checkNotice"></param>
							 | 
						|||
| 
								 | 
							
								        public static void AddCheckNotice(Model.ProjectSupervision_CheckNotice checkNotice)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Model.ProjectSupervision_CheckNotice newCheckNotice = new Model.ProjectSupervision_CheckNotice();
							 | 
						|||
| 
								 | 
							
								            newCheckNotice.CheckNoticeId = checkNotice.CheckNoticeId;
							 | 
						|||
| 
								 | 
							
								            //newCheckNotice.SubjectUnitId = checkNotice.SubjectUnitId;
							 | 
						|||
| 
								 | 
							
								            newCheckNotice.SubjectUnitAdd = checkNotice.SubjectUnitAdd;
							 | 
						|||
| 
								 | 
							
								            newCheckNotice.SubjectUnitMan = checkNotice.SubjectUnitMan;
							 | 
						|||
| 
								 | 
							
								            newCheckNotice.SubjectUnitTel = checkNotice.SubjectUnitTel;
							 | 
						|||
| 
								 | 
							
								            newCheckNotice.CheckStartTime = checkNotice.CheckStartTime;
							 | 
						|||
| 
								 | 
							
								            newCheckNotice.CheckEndTime = checkNotice.CheckEndTime;
							 | 
						|||
| 
								 | 
							
								            //newCheckNotice.SubjectObject = checkNotice.SubjectObject;
							 | 
						|||
| 
								 | 
							
								            newCheckNotice.CheckTeamLeader = checkNotice.CheckTeamLeader;
							 | 
						|||
| 
								 | 
							
								            newCheckNotice.CompileMan = checkNotice.CompileMan;
							 | 
						|||
| 
								 | 
							
								            newCheckNotice.CompileDate = checkNotice.CompileDate;
							 | 
						|||
| 
								 | 
							
								            newCheckNotice.CheckTeamLeaderName = checkNotice.CheckTeamLeaderName;
							 | 
						|||
| 
								 | 
							
								            newCheckNotice.UnitId = checkNotice.UnitId;
							 | 
						|||
| 
								 | 
							
								            newCheckNotice.SexName = checkNotice.SexName;
							 | 
						|||
| 
								 | 
							
								            newCheckNotice.SubjectProjectId = checkNotice.SubjectProjectId;
							 | 
						|||
| 
								 | 
							
								            Funs.DB.ProjectSupervision_CheckNotice.InsertOnSubmit(newCheckNotice);
							 | 
						|||
| 
								 | 
							
								            Funs.DB.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            ////组长不为空时 自动将组长添加到检查组
							 | 
						|||
| 
								 | 
							
								            if (!string.IsNullOrEmpty(newCheckNotice.CheckTeamLeader))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                Model.ProjectSupervision_CheckTeam newCheckTeam = new Model.ProjectSupervision_CheckTeam
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    CheckTeamId = SQLHelper.GetNewID(typeof(Model.ProjectSupervision_CheckTeam))
							 | 
						|||
| 
								 | 
							
								                };
							 | 
						|||
| 
								 | 
							
								                ;
							 | 
						|||
| 
								 | 
							
								                newCheckTeam.CheckNoticeId = newCheckNotice.CheckNoticeId;
							 | 
						|||
| 
								 | 
							
								                newCheckTeam.UserId = newCheckNotice.CheckTeamLeader;
							 | 
						|||
| 
								 | 
							
								                newCheckTeam.SortIndex = 1;
							 | 
						|||
| 
								 | 
							
								                newCheckTeam.CheckPostName = "组长";
							 | 
						|||
| 
								 | 
							
								                newCheckTeam.CheckDate = newCheckNotice.CheckStartTime;
							 | 
						|||
| 
								 | 
							
								                newCheckTeam.UserName = newCheckNotice.CheckTeamLeaderName;
							 | 
						|||
| 
								 | 
							
								                newCheckTeam.UnitId = newCheckNotice.UnitId;
							 | 
						|||
| 
								 | 
							
								                newCheckTeam.SexName = newCheckNotice.SexName;
							 | 
						|||
| 
								 | 
							
								                BLL.CheckTeamService.AddCheckTeam(newCheckTeam);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 修改检查通知单
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="checkNotice"></param>
							 | 
						|||
| 
								 | 
							
								        public static void UpdateCheckNotice(Model.ProjectSupervision_CheckNotice checkNotice)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Model.ProjectSupervision_CheckNotice newCheckNotice = Funs.DB.ProjectSupervision_CheckNotice.FirstOrDefault(e => e.CheckNoticeId == checkNotice.CheckNoticeId);
							 | 
						|||
| 
								 | 
							
								            if (newCheckNotice != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                //newCheckNotice.SubjectUnitId = checkNotice.SubjectUnitId;
							 | 
						|||
| 
								 | 
							
								                newCheckNotice.SubjectUnitAdd = checkNotice.SubjectUnitAdd;
							 | 
						|||
| 
								 | 
							
								                newCheckNotice.SubjectUnitMan = checkNotice.SubjectUnitMan;
							 | 
						|||
| 
								 | 
							
								                newCheckNotice.SubjectUnitTel = checkNotice.SubjectUnitTel;
							 | 
						|||
| 
								 | 
							
								                newCheckNotice.CheckStartTime = checkNotice.CheckStartTime;
							 | 
						|||
| 
								 | 
							
								                newCheckNotice.CheckEndTime = checkNotice.CheckEndTime;
							 | 
						|||
| 
								 | 
							
								                //newCheckNotice.SubjectObject = checkNotice.SubjectObject;
							 | 
						|||
| 
								 | 
							
								                newCheckNotice.CheckTeamLeader = checkNotice.CheckTeamLeader;
							 | 
						|||
| 
								 | 
							
								                newCheckNotice.CompileMan = checkNotice.CompileMan;
							 | 
						|||
| 
								 | 
							
								                newCheckNotice.CompileDate = checkNotice.CompileDate;
							 | 
						|||
| 
								 | 
							
								                newCheckNotice.CheckTeamLeaderName = checkNotice.CheckTeamLeaderName;
							 | 
						|||
| 
								 | 
							
								                newCheckNotice.UnitId = checkNotice.UnitId;
							 | 
						|||
| 
								 | 
							
								                newCheckNotice.SexName = checkNotice.SexName;
							 | 
						|||
| 
								 | 
							
								                newCheckNotice.SubjectProjectId = checkNotice.SubjectProjectId;
							 | 
						|||
| 
								 | 
							
								                Funs.DB.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据检查通知Id删除检查通知信息
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="checkNoticeId"></param>
							 | 
						|||
| 
								 | 
							
								        public static void DeleteCheckNoticeByCheckNoticeId(string checkNoticeId)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Model.ProjectSupervision_CheckNotice checkNotice = Funs.DB.ProjectSupervision_CheckNotice.FirstOrDefault(e => e.CheckNoticeId == checkNoticeId);
							 | 
						|||
| 
								 | 
							
								            if (checkNotice != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                //var checkFiles = from x in db.Check_CheckInfo_CheckFile where x.CheckInfoId == checkInfoId select x;
							 | 
						|||
| 
								 | 
							
								                //if (checkFiles.Count() > 0)
							 | 
						|||
| 
								 | 
							
								                //{
							 | 
						|||
| 
								 | 
							
								                //    foreach (var item in checkFiles)
							 | 
						|||
| 
								 | 
							
								                //    {
							 | 
						|||
| 
								 | 
							
								                //        BLL.CheckFileService.DeleteCheckFileByCheckFileId(item.CheckFileId);
							 | 
						|||
| 
								 | 
							
								                //    }
							 | 
						|||
| 
								 | 
							
								                //}
							 | 
						|||
| 
								 | 
							
								                var checkTeams = from x in Funs.DB.ProjectSupervision_CheckTeam where x.CheckNoticeId == checkNoticeId select x;
							 | 
						|||
| 
								 | 
							
								                if (checkTeams.Count() > 0)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    foreach (var item in checkTeams)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        BLL.CheckTeamService.DeleteCheckTeamByCheckTeamId(item.CheckTeamId);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                Funs.DB.ProjectSupervision_CheckNotice.DeleteOnSubmit(checkNotice);
							 | 
						|||
| 
								 | 
							
								                Funs.DB.SubmitChanges();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取监督检查信息
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="CheckInfoName"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        public static List<Model.ProjectSupervision_CheckNotice> GetCheckInfoList(string unitId, string userId, string roleId)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            List<Model.ProjectSupervision_CheckNotice> checkInfoLists = new List<Model.ProjectSupervision_CheckNotice>();
							 | 
						|||
| 
								 | 
							
								            var role = BLL.RoleService.GetRoleByRoleId(roleId);
							 | 
						|||
| 
								 | 
							
								            if (userId == BLL.Const.sysglyId || (BLL.CommonService.IsMainUnitOrAdmin(unitId) && role != null))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                checkInfoLists = (from x in Funs.DB.ProjectSupervision_CheckNotice orderby x.CheckStartTime select x).ToList();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var sysUser = BLL.UserService.GetUserByUserId(userId);
							 | 
						|||
| 
								 | 
							
								                if (sysUser != null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    var checkInfoIdList = (from x in Funs.DB.ProjectSupervision_CheckTeam
							 | 
						|||
| 
								 | 
							
								                                           where x.UserName == sysUser.UserName && x.UnitId == sysUser.UnitId
							 | 
						|||
| 
								 | 
							
								                                           select x.CheckNoticeId).Distinct().ToList();
							 | 
						|||
| 
								 | 
							
								                    if (checkInfoIdList.Count() > 0)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        checkInfoLists = (from x in Funs.DB.ProjectSupervision_CheckNotice
							 | 
						|||
| 
								 | 
							
								                                          where checkInfoIdList.Contains(x.CheckNoticeId)
							 | 
						|||
| 
								 | 
							
								                                          orderby x.CheckStartTime
							 | 
						|||
| 
								 | 
							
								                                          select x).ToList();
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    var checkInfoIdList1 = (from x in Funs.DB.ProjectSupervision_CheckNotice
							 | 
						|||
| 
								 | 
							
								                                            where x.CompileMan == userId
							 | 
						|||
| 
								 | 
							
								                                            orderby x.CheckStartTime
							 | 
						|||
| 
								 | 
							
								                                            select x).ToList();
							 | 
						|||
| 
								 | 
							
								                    if (checkInfoIdList1.Count() > 0)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (checkInfoLists.Count() > 0)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            checkInfoLists.AddRange(checkInfoIdList1);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            checkInfoLists = checkInfoIdList1;
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    checkInfoLists = checkInfoLists.Distinct().ToList();
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            return checkInfoLists;
							 | 
						|||
| 
								 | 
							
								        }        
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |