149 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			149 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | 
 | |||
|  | namespace BLL | |||
|  | { | |||
|  |     /// <summary> | |||
|  |     /// 施工方案 | |||
|  |     /// </summary> | |||
|  |     public static class APIConstructSolutionService | |||
|  |     { | |||
|  |         #region 根据constructSolutionId获取施工方案 | |||
|  |         /// <summary> | |||
|  |         ///  根据 constructSolutionId获取施工方案 | |||
|  |         /// </summary> | |||
|  |         /// <param name="constructSolutionId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static Model.ConstructSolutionItem getConstructSolutionByConstructSolutionId(string constructSolutionId) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var getInfo = from x in db.Solution_ConstructSolution | |||
|  |                               where x.ConstructSolutionId == constructSolutionId | |||
|  |                               select new Model.ConstructSolutionItem | |||
|  |                               { | |||
|  |                                   ConstructSolutionId = x.ConstructSolutionId, | |||
|  |                                   ProjectId = x.ProjectId, | |||
|  |                                   ConstructSolutionCode = x.ConstructSolutionCode, | |||
|  |                                   ConstructSolutionName = x.ConstructSolutionName, | |||
|  |                                   VersionNo = x.VersionNo, | |||
|  |                                   UnitId = x.UnitId, | |||
|  |                                   UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName, | |||
|  |                                   InvestigateType = x.InvestigateType, | |||
|  |                                   InvestigateTypeName = db.Sys_Const.FirstOrDefault(c => c.GroupId == ConstValue.Group_InvestigateType && c.ConstValue == x.InvestigateType).ConstText, | |||
|  |                                   SolutinTypeId = x.SolutinType, | |||
|  |                                   SolutinTypeName = db.Sys_Const.FirstOrDefault(c => c.GroupId == ConstValue.Group_CNProfessional && c.ConstValue == x.SolutinType).ConstText, | |||
|  |                                   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), | |||
|  |                                   States = x.States, | |||
|  |                                   AttachUrl = db.AttachFile.FirstOrDefault(z => z.ToKeyId == x.ConstructSolutionId).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.ConstructSolutionItem> getConstructSolutionList(string projectId, string unitId, string strParam, string states) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var getConstructSolution = from x in db.Solution_ConstructSolution | |||
|  |                                            where x.ProjectId == projectId && (x.UnitId == unitId || unitId == null) | |||
|  |                                           && (strParam == null || x.ConstructSolutionName.Contains(strParam)) | |||
|  |                                           && (states == null || (states == "0" && (x.States == "0" || x.States == null)) || (states == "1" && (x.States == "1" || x.States == "2"))) | |||
|  |                                            orderby x.ConstructSolutionCode descending | |||
|  |                                            select new Model.ConstructSolutionItem | |||
|  |                                            { | |||
|  |                                                ConstructSolutionId = x.ConstructSolutionId, | |||
|  |                                                ProjectId = x.ProjectId, | |||
|  |                                                ConstructSolutionCode = x.ConstructSolutionCode, | |||
|  |                                                ConstructSolutionName = x.ConstructSolutionName, | |||
|  |                                                VersionNo = x.VersionNo, | |||
|  |                                                UnitId = x.UnitId, | |||
|  |                                                UnitName = db.Base_Unit.First(u => u.UnitId == x.UnitId).UnitName, | |||
|  |                                                InvestigateType = x.InvestigateType, | |||
|  |                                                InvestigateTypeName = db.Sys_Const.FirstOrDefault(c => c.GroupId == ConstValue.Group_InvestigateType && c.ConstValue == x.InvestigateType).ConstText, | |||
|  |                                                SolutinTypeId = x.SolutinType, | |||
|  |                                                SolutinTypeName = db.Sys_Const.FirstOrDefault(c => c.GroupId == ConstValue.Group_CNProfessional && c.ConstValue == x.SolutinType).ConstText, | |||
|  |                                                FileContents = 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), | |||
|  |                                                States = x.States, | |||
|  |                                                AttachUrl = db.AttachFile.FirstOrDefault(z => z.ToKeyId == x.ConstructSolutionId).AttachUrl.Replace('\\', '/'), | |||
|  |                                            }; | |||
|  |                 return getConstructSolution.ToList(); | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion         | |||
|  | 
 | |||
|  |         #region 保存Solution_ConstructSolution | |||
|  |         /// <summary> | |||
|  |         /// 保存Solution_ConstructSolution | |||
|  |         /// </summary> | |||
|  |         /// <param name="newItem">施工方案</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static void SaveConstructSolution(Model.ConstructSolutionItem newItem) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Solution_ConstructSolution newConstructSolution = new Model.Solution_ConstructSolution | |||
|  |             { | |||
|  |                 ConstructSolutionId = newItem.ConstructSolutionId, | |||
|  |                 ProjectId = newItem.ProjectId, | |||
|  |                 ConstructSolutionCode = newItem.ConstructSolutionCode, | |||
|  |                 ConstructSolutionName = newItem.ConstructSolutionName, | |||
|  |                 VersionNo = newItem.VersionNo, | |||
|  |                 UnitId = newItem.UnitId, | |||
|  |                 InvestigateType = newItem.InvestigateType, | |||
|  |                 SolutinType = newItem.SolutinTypeId, | |||
|  |                 FileContents = System.Web.HttpUtility.HtmlEncode(newItem.FileContents), | |||
|  |                 CompileMan = newItem.CompileManId, | |||
|  |                 CompileManName =UserService.GetUserNameByUserId( newItem.CompileManId), | |||
|  |                 States =Const.State_2, | |||
|  |             }; | |||
|  |             if (newItem.States != "1") | |||
|  |             { | |||
|  |                 newConstructSolution.States = Const.State_0; | |||
|  |             } | |||
|  | 
 | |||
|  |             var updateConstructSolution = db.Solution_ConstructSolution.FirstOrDefault(x => x.ConstructSolutionId == newItem.ConstructSolutionId); | |||
|  |             if (updateConstructSolution == null) | |||
|  |             { | |||
|  |                 newConstructSolution.CompileDate = DateTime.Now; | |||
|  |                 newConstructSolution.ConstructSolutionId = SQLHelper.GetNewID(); | |||
|  |                 newConstructSolution.ConstructSolutionCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectConstructSolutionMenuId, newConstructSolution.ProjectId, newConstructSolution.UnitId); | |||
|  |                 ConstructSolutionService.AddConstructSolution(newConstructSolution); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 ConstructSolutionService.UpdateConstructSolution(newConstructSolution); | |||
|  |             } | |||
|  |             if (newConstructSolution.States == "1") | |||
|  |             { | |||
|  |                 CommonService.btnSaveData(newConstructSolution.ProjectId, Const.ProjectConstructSolutionMenuId, newConstructSolution.ConstructSolutionId, newConstructSolution.CompileMan, true, newConstructSolution.CompileManName, "../Solution/ConstructSolutionView.aspx?ConstructSolutionId={0}"); | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(newItem.AttachUrl)) | |||
|  |             { | |||
|  |                 ////保存附件 | |||
|  |                 UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(newItem.AttachUrl, 10, null), newItem.AttachUrl, Const.ProjectConstructSolutionMenuId, newConstructSolution.ConstructSolutionId); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 CommonService.DeleteAttachFileById(newConstructSolution.ConstructSolutionId); | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  |     } | |||
|  | } |