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
 | |
|     }
 | |
| }
 |