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