666 lines
		
	
	
		
			31 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			666 lines
		
	
	
		
			31 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Globalization; | |||
|  | using System.Linq; | |||
|  | using System.Text; | |||
|  | using System.Threading.Tasks; | |||
|  | using System.Web.UI.WebControls; | |||
|  | 
 | |||
|  | namespace BLL | |||
|  | { | |||
|  |     public class DesignService | |||
|  |     { | |||
|  |         public static Model.SGGLDB db = Funs.DB; | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 记录数 | |||
|  |         /// </summary> | |||
|  |         private static int count | |||
|  |         { | |||
|  |             get; | |||
|  |             set; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 定义变量 | |||
|  |         /// </summary> | |||
|  |         private static IQueryable<Model.Check_Design> qq = from x in db.Check_Design orderby x.DesignDate descending select x; | |||
|  | 
 | |||
|  | 
 | |||
|  |         public static string CovBool(bool? b) | |||
|  |         { | |||
|  |             string str = string.Empty; | |||
|  |             if (b == true) | |||
|  |             { | |||
|  |                 str = "是"; | |||
|  |             } | |||
|  |             else if (b == false) | |||
|  |             { | |||
|  |                 str = "否"; | |||
|  |             } | |||
|  |             return str; | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取列表数 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static int getListCount(string projectId, string userId, string roleId, string designType, string startTime, string endTime, string unitId, string mainItemId, string cNProfessionalCode) | |||
|  |         { | |||
|  |             return count; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据设计变更信息Id获取一个设计变更信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="DesignCode">设计变更信息Id</param> | |||
|  |         /// <returns>一个设计变更信息实体</returns> | |||
|  |         public static Model.Check_Design GetDesignByDesignId(string DesignId) | |||
|  |         { | |||
|  |             return Funs.DB.Check_Design.FirstOrDefault(x => x.DesignId == DesignId); | |||
|  |         } | |||
|  |         public static Model.Check_Design GetDesignByDesignIdForApi(string DesignId) | |||
|  |         { | |||
|  |             using (var db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  | 
 | |||
|  |                 Model.Check_Design res = db.Check_Design.FirstOrDefault(x => x.DesignId == DesignId); | |||
|  |                 res.AttachUrl = AttachFileService.getFileUrl(res.DesignId); | |||
|  |                 res.CarryUnitIds = res.CarryUnitIds + "$" + UnitService.getUnitNamesUnitIds(res.CarryUnitIds); | |||
|  |                 var resItem = (from y in db.ProjectData_MainItem where y.MainItemId == res.MainItemId select y.MainItemName).FirstOrDefault(); | |||
|  |                 res.MainItemId = res.MainItemId + "$" + resItem; | |||
|  |                 res.BuyMaterialUnitIds = res.BuyMaterialUnitIds + "$" + UnitService.getUnitNamesUnitIds(res.BuyMaterialUnitIds); | |||
|  |                 res.CNProfessionalCode = res.CNProfessionalCode + "$" + DesignProfessionalService.GetDesignProfessional(res.CNProfessionalCode).ProfessionalName; | |||
|  |                 res.CompileMan = res.CompileMan + "$" + ConvertManAndId(res.DesignId); | |||
|  |                 return res; | |||
|  |             } | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// 增加设计变更信息信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="Design">设计变更信息实体</param> | |||
|  |         public static void AddDesign(Model.Check_Design Design) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Check_Design newDesign = new Model.Check_Design(); | |||
|  |             newDesign.DesignId = Design.DesignId; | |||
|  |             newDesign.ProjectId = Design.ProjectId; | |||
|  |             newDesign.DesignCode = Design.DesignCode; | |||
|  |             newDesign.MainItemId = Design.MainItemId; | |||
|  |             newDesign.CNProfessionalCode = Design.CNProfessionalCode; | |||
|  |             newDesign.DesignType = Design.DesignType; | |||
|  |             newDesign.DesignContents = Design.DesignContents; | |||
|  |             newDesign.DesignDate = Design.DesignDate; | |||
|  |             newDesign.CarryUnitIds = Design.CarryUnitIds; | |||
|  |             newDesign.IsNoChange = Design.IsNoChange; | |||
|  |             newDesign.IsNeedMaterial = Design.IsNeedMaterial; | |||
|  |             newDesign.BuyMaterialUnitIds = Design.BuyMaterialUnitIds; | |||
|  |             newDesign.MaterialPlanReachDate = Design.MaterialPlanReachDate; | |||
|  |             newDesign.PlanDay = Design.PlanDay; | |||
|  |             newDesign.PlanCompleteDate = Design.PlanCompleteDate; | |||
|  |             newDesign.MaterialRealReachDate = Design.MaterialRealReachDate; | |||
|  |             newDesign.RealCompleteDate = Design.RealCompleteDate; | |||
|  |             newDesign.AttachUrl = Design.AttachUrl; | |||
|  |             newDesign.CompileMan = Design.CompileMan; | |||
|  |             newDesign.CompileDate = Design.CompileDate; | |||
|  |             newDesign.State = Design.State; | |||
|  |             newDesign.SaveHandleMan = Design.SaveHandleMan; | |||
|  | 
 | |||
|  |             db.Check_Design.InsertOnSubmit(newDesign); | |||
|  |             db.SubmitChanges(); | |||
|  |         } | |||
|  |         public static void AddDesignForApi(Model.Check_Design Design) | |||
|  |         { | |||
|  |             using (var db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 Model.Check_Design newDesign = new Model.Check_Design(); | |||
|  |                 newDesign.DesignId = Design.DesignId; | |||
|  |                 newDesign.ProjectId = Design.ProjectId; | |||
|  |                 newDesign.DesignCode = Design.DesignCode; | |||
|  |                 newDesign.MainItemId = Design.MainItemId; | |||
|  |                 newDesign.CNProfessionalCode = Design.CNProfessionalCode; | |||
|  |                 newDesign.DesignType = Design.DesignType; | |||
|  |                 newDesign.DesignContents = Design.DesignContents; | |||
|  |                 newDesign.DesignDate = Design.DesignDate; | |||
|  |                 newDesign.CarryUnitIds = Design.CarryUnitIds; | |||
|  |                 newDesign.IsNoChange = Design.IsNoChange; | |||
|  |                 newDesign.IsNeedMaterial = Design.IsNeedMaterial; | |||
|  |                 newDesign.BuyMaterialUnitIds = Design.BuyMaterialUnitIds; | |||
|  |                 newDesign.MaterialPlanReachDate = Design.MaterialPlanReachDate; | |||
|  |                 newDesign.PlanDay = Design.PlanDay; | |||
|  |                 newDesign.PlanCompleteDate = Design.PlanCompleteDate; | |||
|  |                 newDesign.MaterialRealReachDate = Design.MaterialRealReachDate; | |||
|  |                 newDesign.RealCompleteDate = Design.RealCompleteDate; | |||
|  |                 newDesign.AttachUrl = Design.AttachUrl; | |||
|  |                 newDesign.CompileMan = Design.CompileMan; | |||
|  |                 newDesign.CompileDate = Design.CompileDate; | |||
|  |                 newDesign.State = Design.State; | |||
|  |                 newDesign.SaveHandleMan = Design.SaveHandleMan; | |||
|  |                 db.Check_Design.InsertOnSubmit(newDesign); | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 修改设计变更信息信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="Design">设计变更信息实体</param> | |||
|  |         public static void UpdateDesign(Model.Check_Design Design) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Check_Design newDesign = db.Check_Design.First(e => e.DesignId == Design.DesignId); | |||
|  |             newDesign.DesignCode = Design.DesignCode; | |||
|  |             newDesign.MainItemId = Design.MainItemId; | |||
|  |             newDesign.CNProfessionalCode = Design.CNProfessionalCode; | |||
|  |             newDesign.DesignType = Design.DesignType; | |||
|  |             newDesign.DesignContents = Design.DesignContents; | |||
|  |             newDesign.DesignDate = Design.DesignDate; | |||
|  |             newDesign.CarryUnitIds = Design.CarryUnitIds; | |||
|  |             newDesign.IsNoChange = Design.IsNoChange; | |||
|  |             newDesign.IsNeedMaterial = Design.IsNeedMaterial; | |||
|  |             newDesign.BuyMaterialUnitIds = Design.BuyMaterialUnitIds; | |||
|  |             newDesign.MaterialPlanReachDate = Design.MaterialPlanReachDate; | |||
|  |             newDesign.PlanDay = Design.PlanDay; | |||
|  |             newDesign.PlanCompleteDate = Design.PlanCompleteDate; | |||
|  |             newDesign.MaterialRealReachDate = Design.MaterialRealReachDate; | |||
|  |             newDesign.RealCompleteDate = Design.RealCompleteDate; | |||
|  |             newDesign.AttachUrl = Design.AttachUrl; | |||
|  |             newDesign.State = Design.State; | |||
|  |             newDesign.SaveHandleMan = Design.SaveHandleMan; | |||
|  | 
 | |||
|  |             db.SubmitChanges(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据设计变更信息Id删除一个设计变更信息信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="DesignCode">设计变更信息Id</param> | |||
|  |         public static void DeleteDesign(string DesignId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Check_Design Design = db.Check_Design.First(e => e.DesignId == DesignId); | |||
|  | 
 | |||
|  |             db.Check_Design.DeleteOnSubmit(Design); | |||
|  |             db.SubmitChanges(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据项目主键获得设计变更信息的数量 | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId">项目主键</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static int GetDesignCountByProjectId(string projectId) | |||
|  |         { | |||
|  |             var q = (from x in Funs.DB.Check_Design where x.ProjectId == projectId select x).ToList(); | |||
|  |             return q.Count(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据主项主键获得设计变更信息的数量 | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId">项目主键</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static int GetDesignCountByMainItemId(string mainItemId) | |||
|  |         { | |||
|  |             var q = (from x in Funs.DB.Check_Design where x.MainItemId == mainItemId select x).ToList(); | |||
|  |             return q.Count(); | |||
|  |         } | |||
|  |         private static string GetUnitNames(string unitIds) | |||
|  |         { | |||
|  |             string unitNames = string.Empty; | |||
|  |             if (!string.IsNullOrEmpty(unitIds)) | |||
|  |             { | |||
|  |                 string[] ids = unitIds.Split(','); | |||
|  |                 foreach (var id in ids) | |||
|  |                 { | |||
|  |                     Model.Base_Unit unit = BLL.UnitService.GetUnitByUnitId(id); | |||
|  |                     if (unit != null) | |||
|  |                     { | |||
|  |                         unitNames += unit.UnitName + ","; | |||
|  |                     } | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(unitNames)) | |||
|  |                 { | |||
|  |                     unitNames = unitNames.Substring(0, unitNames.LastIndexOf(",")); | |||
|  |                 } | |||
|  |             } | |||
|  |             return unitNames; | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// 根据时间段获取设计变更集合 | |||
|  |         /// </summary> | |||
|  |         /// <param name="startTime">开始时间</param> | |||
|  |         /// <param name="endTime">结束时间</param> | |||
|  |         public static IEnumerable GetDesignListByTime(string projectId, DateTime startTime, DateTime endTime) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             return from x in db.Check_Design | |||
|  |                    where x.ProjectId == projectId && x.DesignDate >= startTime && x.DesignDate < endTime | |||
|  |                    select new | |||
|  |                    { | |||
|  |                        x.DesignId, | |||
|  |                        x.ProjectId, | |||
|  |                        x.DesignCode, | |||
|  |                        MainItemName = (from y in db.ProjectData_MainItem where y.MainItemId == x.MainItemId select y.MainItemName).First(), | |||
|  |                        CNProfessional = (from y in db.Base_DesignProfessional where y.DesignProfessionalId == x.CNProfessionalCode select y.ProfessionalName).First(), | |||
|  |                        x.DesignType, | |||
|  |                        x.DesignContents, | |||
|  |                        x.DesignDate, | |||
|  |                        CarryUnit = GetUnitNames(x.CarryUnitIds), | |||
|  |                        IsNoChange = x.IsNoChange == true ? "是" : "否", | |||
|  |                        IsNeedMaterial = x.IsNeedMaterial == true ? "是" : "否", | |||
|  |                        BuyMaterialUnit = GetUnitNames(x.BuyMaterialUnitIds), | |||
|  |                        x.MaterialPlanReachDate, | |||
|  |                        x.PlanDay, | |||
|  |                        x.PlanCompleteDate, | |||
|  |                        x.MaterialRealReachDate, | |||
|  |                        x.RealCompleteDate, | |||
|  |                        x.CompileMan, | |||
|  |                        x.CompileDate, | |||
|  |                        x.State, | |||
|  |                    }; | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         /// 获取变更类型项 | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId">项目Id</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static ListItem[] GetDesignTypeList() | |||
|  |         { | |||
|  |             ListItem[] lis = new ListItem[10]; | |||
|  |             lis[0] = new ListItem("标准规范升版", "标准规范升版"); | |||
|  |             lis[1] = new ListItem("设计优化", "设计优化"); | |||
|  |             lis[2] = new ListItem("设计不当", "设计不当"); | |||
|  |             lis[3] = new ListItem("设计漏项", "设计漏项"); | |||
|  |             lis[4] = new ListItem("材料代用", "材料代用"); | |||
|  |             lis[5] = new ListItem("业主要求", "业主要求"); | |||
|  |             lis[6] = new ListItem("供货偏离", "供货偏离"); | |||
|  |             lis[7] = new ListItem("施工偏离", "施工偏离"); | |||
|  |             lis[8] = new ListItem("外部条件改变", "外部条件改变"); | |||
|  |             lis[9] = new ListItem("其它", "其它"); | |||
|  |             return lis; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据状态选择下一步办理类型 | |||
|  |         /// </summary> | |||
|  |         /// <param name="state"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static ListItem[] GetDHandleTypeByState(string state) | |||
|  |         { | |||
|  |             if (state == Const.Design_Compile || state == Const.Design_ReCompile) | |||
|  |             { | |||
|  |                 ListItem[] lis = new ListItem[1]; | |||
|  |                 lis[0] = new ListItem("变更分析", Const.Design_Audit1); | |||
|  |                 return lis; | |||
|  |             } | |||
|  |             else if (state == Const.Design_Audit1) | |||
|  |             { | |||
|  |                 ListItem[] lis = new ListItem[2]; | |||
|  |                 lis[0] = new ListItem("变更分析审核", Const.Design_Audit2); | |||
|  |                 lis[1] = new ListItem("重新整理", Const.Design_ReCompile); | |||
|  |                 return lis; | |||
|  |             } | |||
|  |             else if (state == Const.Design_Audit2) | |||
|  |             { | |||
|  |                 ListItem[] lis = new ListItem[2]; | |||
|  |                 lis[0] = new ListItem("变更实施", Const.Design_Audit3); | |||
|  |                 lis[1] = new ListItem("变更分析", Const.Design_Audit1); | |||
|  |                 return lis; | |||
|  |             } | |||
|  |             else if (state == Const.Design_Audit3) | |||
|  |             { | |||
|  |                 ListItem[] lis = new ListItem[2]; | |||
|  |                 lis[0] = new ListItem("变更实施审核", Const.Design_Audit4); | |||
|  |                 lis[1] = new ListItem("变更分析审核", Const.Design_Audit2); | |||
|  |                 return lis; | |||
|  |             } | |||
|  |             else if (state == Const.Design_Audit4) | |||
|  |             { | |||
|  |                 ListItem[] lis = new ListItem[2]; | |||
|  |                 lis[0] = new ListItem("审批完成", Const.Design_Complete); | |||
|  |                 lis[1] = new ListItem("变更实施", Const.Design_Audit3); | |||
|  |                 return lis; | |||
|  |             } | |||
|  |             else | |||
|  |                 return null; | |||
|  |         } | |||
|  |         public static List<Model.Check_Design> getListDataForApi(string projectId, string unitName, int startRowIndex, int maximumRows) | |||
|  |         { | |||
|  |             using (var db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 IQueryable<Model.Check_Design> q = db.Check_Design; | |||
|  |                 if (!string.IsNullOrEmpty(projectId)) | |||
|  |                 { | |||
|  |                     q = q.Where(e => e.ProjectId == projectId); | |||
|  |                 } | |||
|  | 
 | |||
|  |                 if (!string.IsNullOrEmpty(projectId)) | |||
|  |                 { | |||
|  |                     q = q.Where(e => e.ProjectId == projectId); | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(unitName)) | |||
|  |                 { | |||
|  | 
 | |||
|  |                     q = q.Where(e => e.CarryUnitIds != null); | |||
|  |                 } | |||
|  | 
 | |||
|  | 
 | |||
|  |                 var qres = from x in q | |||
|  |                            orderby x.DesignCode descending | |||
|  |                            select new | |||
|  |                            { | |||
|  |                                x.DesignId, | |||
|  |                                x.ProjectId, | |||
|  |                                x.DesignCode, | |||
|  |                                x.MainItemId, | |||
|  |                                x.CNProfessionalCode, | |||
|  |                                MainItemName = (from y in db.ProjectData_MainItem where y.MainItemId == x.MainItemId select y.MainItemName).First(), | |||
|  |                                CNProfessional = (from y in db.Base_DesignProfessional where y.DesignProfessionalId == x.CNProfessionalCode select y.ProfessionalName).First(), | |||
|  |                                CompileManName = (from y in db.Sys_User where y.UserId == x.CompileMan select y.UserName).First(), | |||
|  |                                x.DesignType, | |||
|  |                                x.DesignContents, | |||
|  |                                x.DesignDate, | |||
|  |                                x.CarryUnitIds, | |||
|  |                                CarryUnit = GetUnitNames(x.CarryUnitIds), | |||
|  |                                x.IsNoChange, | |||
|  |                                x.IsNeedMaterial, | |||
|  |                                x.BuyMaterialUnitIds, | |||
|  |                                BuyMaterialUnit = GetUnitNames(x.BuyMaterialUnitIds), | |||
|  |                                x.MaterialPlanReachDate, | |||
|  |                                x.PlanDay, | |||
|  |                                x.PlanCompleteDate, | |||
|  |                                x.MaterialRealReachDate, | |||
|  |                                x.RealCompleteDate, | |||
|  |                                x.CompileMan, | |||
|  |                                x.CompileDate, | |||
|  |                                x.State | |||
|  |                            }; | |||
|  |                 List<Model.Check_Design> res = new List<Model.Check_Design>(); | |||
|  | 
 | |||
|  |                 if (!string.IsNullOrEmpty(unitName)) | |||
|  |                 { | |||
|  |                     List<string> ids; | |||
|  |                     var qids = from x in Funs.DB.Base_Unit where x.UnitName.Contains(unitName) select x.UnitId; | |||
|  |                     ids = qids.ToList(); | |||
|  | 
 | |||
|  | 
 | |||
|  |                     var list = qres.ToList(); | |||
|  |                     foreach (var item in list) | |||
|  |                     { | |||
|  |                         string[] carryIds = item.CarryUnitIds.Split(','); | |||
|  |                         foreach (string id in carryIds) | |||
|  |                         { | |||
|  |                             if (ids.Contains(id)) | |||
|  |                             { | |||
|  |                                 Model.Check_Design cd = new Model.Check_Design(); | |||
|  |                                 cd.DesignId = item.DesignId; | |||
|  |                                 cd.ProjectId = item.ProjectId; | |||
|  |                                 cd.DesignCode = item.DesignCode; | |||
|  |                                 cd.CNProfessionalCode = item.CNProfessionalCode + "$" + item.CNProfessional; | |||
|  |                                 cd.DesignType = item.DesignType; | |||
|  |                                 cd.DesignContents = item.DesignContents; | |||
|  |                                 cd.DesignDate = item.DesignDate; | |||
|  |                                 cd.CarryUnitIds = item.CarryUnitIds + "$" + item.CarryUnit; | |||
|  |                                 cd.IsNoChange = item.IsNoChange; | |||
|  |                                 cd.IsNeedMaterial = item.IsNeedMaterial; | |||
|  |                                 cd.MainItemId = item.MainItemId + "$" + item.MainItemName; | |||
|  |                                 cd.BuyMaterialUnitIds = item.BuyMaterialUnitIds + "$" + item.BuyMaterialUnit; | |||
|  |                                 cd.MaterialPlanReachDate = item.MaterialPlanReachDate; | |||
|  |                                 cd.PlanDay = item.PlanDay; | |||
|  |                                 cd.PlanCompleteDate = item.PlanCompleteDate; | |||
|  |                                 cd.MaterialRealReachDate = item.MaterialRealReachDate; | |||
|  |                                 cd.RealCompleteDate = item.RealCompleteDate; | |||
|  |                                 cd.CompileMan = item.CompileManName + "$" + ConvertMan(item.DesignId); | |||
|  |                                 cd.CompileDate = item.CompileDate; | |||
|  |                                 cd.State = item.State; | |||
|  |                                 cd.AttachUrl = AttachFileService.getFileUrl(item.DesignId); | |||
|  |                                 res.Add(cd); | |||
|  |                                 break; | |||
|  |                             } | |||
|  |                         } | |||
|  | 
 | |||
|  |                     } | |||
|  |                     res = res.Skip(startRowIndex).Take(maximumRows).ToList(); | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     var list = qres.Skip(startRowIndex).Take(maximumRows).ToList(); | |||
|  |                     foreach (var item in list) | |||
|  |                     { | |||
|  |                         Model.Check_Design cd = new Model.Check_Design(); | |||
|  |                         cd.DesignId = item.DesignId; | |||
|  |                         cd.ProjectId = item.ProjectId; | |||
|  |                         cd.DesignCode = item.DesignCode; | |||
|  |                         cd.CNProfessionalCode = item.CNProfessionalCode + "$" + item.CNProfessional; | |||
|  |                         cd.DesignType = item.DesignType; | |||
|  |                         cd.DesignContents = item.DesignContents; | |||
|  |                         cd.DesignDate = item.DesignDate; | |||
|  |                         cd.CarryUnitIds = item.CarryUnitIds + "$" + item.CarryUnit; | |||
|  |                         cd.IsNoChange = item.IsNoChange; | |||
|  |                         cd.IsNeedMaterial = item.IsNeedMaterial; | |||
|  |                         cd.MainItemId = item.MainItemId + "$" + item.MainItemName; | |||
|  |                         cd.BuyMaterialUnitIds = item.BuyMaterialUnitIds + "$" + item.BuyMaterialUnit; | |||
|  |                         cd.MaterialPlanReachDate = item.MaterialPlanReachDate; | |||
|  |                         cd.PlanDay = item.PlanDay; | |||
|  |                         cd.PlanCompleteDate = item.PlanCompleteDate; | |||
|  |                         cd.MaterialRealReachDate = item.MaterialRealReachDate; | |||
|  |                         cd.RealCompleteDate = item.RealCompleteDate; | |||
|  |                         cd.CompileMan = item.CompileManName + "$" + ConvertManAndId(item.DesignId); | |||
|  |                         cd.CompileDate = item.CompileDate; | |||
|  |                         cd.State = item.State; | |||
|  |                         cd.AttachUrl = AttachFileService.getFileUrl(item.DesignId); | |||
|  |                         res.Add(cd); | |||
|  |                     } | |||
|  |                 } | |||
|  |                 return res; | |||
|  |             } | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         public static List<Model.Check_Design> getListDataForApi(string carryUnitIds, string state, string mainItemId, string cNProfessionalCode, string designType, string designDateA, string designDateZ, string projectId, int startRowIndex, int maximumRows) | |||
|  |         { | |||
|  |             using (var db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 IQueryable<Model.Check_Design> q = db.Check_Design; | |||
|  |                 if (!string.IsNullOrEmpty(projectId) && "undefined" != projectId) | |||
|  |                 { | |||
|  |                     q = q.Where(e => e.ProjectId == projectId); | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(carryUnitIds) && "undefined" != carryUnitIds) | |||
|  |                 { | |||
|  |                     q = q.Where(e => e.CarryUnitIds.Contains(carryUnitIds)); | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(state) && "undefined" != state) | |||
|  |                 { | |||
|  |                     if ("已闭合" == state) | |||
|  |                     { | |||
|  |                         q = q.Where(e => e.State == "6"); | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         q = q.Where(e => e.State != "6"); | |||
|  | 
 | |||
|  |                     } | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(mainItemId) && "undefined" != mainItemId) | |||
|  |                 { | |||
|  |                     q = q.Where(e => e.MainItemId == mainItemId); | |||
|  |                 } | |||
|  | 
 | |||
|  |                 if (!string.IsNullOrEmpty(cNProfessionalCode) && "undefined" != cNProfessionalCode) | |||
|  |                 { | |||
|  |                     q = q.Where(e => e.CNProfessionalCode.Contains(cNProfessionalCode)); | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(designType) && "undefined" != designType) | |||
|  |                 { | |||
|  |                     q = q.Where(e => e.DesignType == designType); | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(designDateA) && "undefined" != designDateA) | |||
|  |                 { | |||
|  |                     DateTime date = DateTime.ParseExact(designDateA, "yyyy-MM-dd", new CultureInfo("zh-CN", true)); | |||
|  |                     q = q.Where(e => e.DesignDate >= date); | |||
|  |                 } | |||
|  |                 if (!string.IsNullOrEmpty(designDateZ) && "undefined" != designDateZ) | |||
|  |                 { | |||
|  |                     DateTime date = DateTime.ParseExact(designDateZ + "23:59:59", "yyyy-MM-ddHH:mm:ss", new CultureInfo("zh-CN", true)); | |||
|  |                     q = q.Where(e => e.DesignDate <= date); | |||
|  |                 } | |||
|  | 
 | |||
|  |                 var qres = from x in q.Skip(startRowIndex).Take(maximumRows) | |||
|  |                            select new | |||
|  |                            { | |||
|  |                                x.DesignId, | |||
|  |                                x.ProjectId, | |||
|  |                                x.DesignCode, | |||
|  |                                x.MainItemId, | |||
|  |                                x.CNProfessionalCode, | |||
|  |                                MainItemName = (from y in db.ProjectData_MainItem where y.MainItemId == x.MainItemId select y.MainItemName).First(), | |||
|  |                                CNProfessional = (from y in db.Base_DesignProfessional where y.DesignProfessionalId == x.CNProfessionalCode select y.ProfessionalName).First(), | |||
|  |                                CompileManName = (from y in db.Sys_User where y.UserId == x.CompileMan select y.UserName).First(), | |||
|  |                                x.DesignType, | |||
|  |                                x.DesignContents, | |||
|  |                                x.DesignDate, | |||
|  |                                CarryUnit = GetUnitNames(x.CarryUnitIds), | |||
|  |                                x.IsNoChange, | |||
|  |                                x.IsNeedMaterial, | |||
|  |                                x.BuyMaterialUnitIds, | |||
|  |                                BuyMaterialUnit = GetUnitNames(x.BuyMaterialUnitIds), | |||
|  |                                x.MaterialPlanReachDate, | |||
|  |                                x.PlanDay, | |||
|  |                                x.PlanCompleteDate, | |||
|  |                                x.MaterialRealReachDate, | |||
|  |                                x.RealCompleteDate, | |||
|  |                                x.CompileMan, | |||
|  |                                x.CompileDate, | |||
|  |                                x.State | |||
|  | 
 | |||
|  |                            }; | |||
|  |                 List<Model.Check_Design> res = new List<Model.Check_Design>(); | |||
|  |                 var list = qres.ToList(); | |||
|  |                 foreach (var item in list) | |||
|  |                 { | |||
|  |                     Model.Check_Design cd = new Model.Check_Design(); | |||
|  |                     cd.DesignId = item.DesignId; | |||
|  |                     cd.ProjectId = item.ProjectId; | |||
|  |                     cd.DesignCode = item.DesignCode; | |||
|  |                     cd.CNProfessionalCode = cd.CNProfessionalCode + "$" + item.CNProfessional; | |||
|  |                     cd.DesignType = item.DesignType; | |||
|  |                     cd.DesignContents = item.DesignContents; | |||
|  |                     cd.DesignDate = item.DesignDate; | |||
|  |                     cd.CarryUnitIds = cd.CarryUnitIds + "$" + item.CarryUnit; | |||
|  |                     cd.IsNoChange = item.IsNoChange; | |||
|  |                     cd.IsNeedMaterial = item.IsNeedMaterial; | |||
|  |                     cd.MainItemId = item.MainItemId + "$" + item.MainItemName; | |||
|  |                     cd.BuyMaterialUnitIds = item.BuyMaterialUnitIds + "$" + item.BuyMaterialUnit; | |||
|  |                     cd.MaterialPlanReachDate = item.MaterialPlanReachDate; | |||
|  |                     cd.PlanDay = item.PlanDay; | |||
|  |                     cd.PlanCompleteDate = item.PlanCompleteDate; | |||
|  |                     cd.MaterialRealReachDate = item.MaterialRealReachDate; | |||
|  |                     cd.RealCompleteDate = item.RealCompleteDate; | |||
|  |                     cd.CompileMan = item.CompileManName + "$" + ConvertManAndId(item.DesignId); | |||
|  |                     cd.CompileDate = item.CompileDate; | |||
|  |                     cd.State = item.State; | |||
|  |                     cd.AttachUrl = AttachFileService.getFileUrl(item.DesignId); | |||
|  |                     res.Add(cd); | |||
|  |                 } | |||
|  |                 return res; | |||
|  |             } | |||
|  |         } | |||
|  |         public static string ConvertMan(string id) | |||
|  |         { | |||
|  |             if (id != null) | |||
|  |             { | |||
|  |                 Model.Check_DesignApprove a = BLL.DesignApproveService.getCurrApproveForApi(id); | |||
|  |                 if (a != null) | |||
|  |                 { | |||
|  |                     if (a.ApproveMan != null) | |||
|  |                     { | |||
|  |                         return BLL.UserService.GetUserByUserId(a.ApproveMan).UserName; | |||
|  |                     } | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     return ""; | |||
|  |                 } | |||
|  |             } | |||
|  |             return ""; | |||
|  |         } | |||
|  |         public static string ConvertManAndId(string id) | |||
|  |         { | |||
|  |             if (id != null) | |||
|  |             { | |||
|  |                 Model.Check_DesignApprove a = BLL.DesignApproveService.getCurrApproveForApi(id); | |||
|  |                 if (a != null) | |||
|  |                 { | |||
|  |                     if (a.ApproveMan != null) | |||
|  |                     { | |||
|  |                         var user = BLL.UserService.GetUserByUserId(a.ApproveMan); | |||
|  |                         return user.UserName + "$" + user.UserId; | |||
|  |                     } | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     return ""; | |||
|  |                 } | |||
|  |             } | |||
|  |             return ""; | |||
|  |         } | |||
|  | 
 | |||
|  |         public static void UpdateDesignForApi(Model.Check_Design Design) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 Model.Check_Design newDesign = db.Check_Design.FirstOrDefault(e => e.DesignId == Design.DesignId); | |||
|  |                 if (newDesign != null) | |||
|  |                 { | |||
|  |                     if (!string.IsNullOrEmpty(Design.DesignCode)) | |||
|  |                         newDesign.DesignCode = Design.DesignCode; | |||
|  |                     if (!string.IsNullOrEmpty(Design.MainItemId)) | |||
|  |                         newDesign.MainItemId = Design.MainItemId; | |||
|  |                     if (!string.IsNullOrEmpty(Design.CNProfessionalCode)) | |||
|  |                         newDesign.CNProfessionalCode = Design.CNProfessionalCode; | |||
|  |                     if (!string.IsNullOrEmpty(Design.DesignType)) | |||
|  |                         newDesign.DesignType = Design.DesignType; | |||
|  |                     if (!string.IsNullOrEmpty(Design.DesignContents)) | |||
|  |                         newDesign.DesignContents = Design.DesignContents; | |||
|  |                     if (Design.DesignDate.HasValue) | |||
|  |                         newDesign.DesignDate = Design.DesignDate; | |||
|  |                     if (!string.IsNullOrEmpty(Design.CarryUnitIds)) | |||
|  |                         newDesign.CarryUnitIds = Design.CarryUnitIds; | |||
|  |                     if (Design.IsNoChange.HasValue) | |||
|  |                         newDesign.IsNoChange = Design.IsNoChange; | |||
|  |                     if (Design.IsNeedMaterial.HasValue) | |||
|  |                         newDesign.IsNeedMaterial = Design.IsNeedMaterial; | |||
|  | 
 | |||
|  |                     if (!string.IsNullOrEmpty(Design.BuyMaterialUnitIds)) | |||
|  |                         newDesign.BuyMaterialUnitIds = Design.BuyMaterialUnitIds; | |||
|  |                     if (Design.MaterialPlanReachDate.HasValue) | |||
|  |                         newDesign.MaterialPlanReachDate = Design.MaterialPlanReachDate; | |||
|  |                     if (newDesign.IsNeedMaterial.HasValue && !newDesign.IsNeedMaterial.Value) | |||
|  |                     { | |||
|  |                         newDesign.BuyMaterialUnitIds = null; | |||
|  |                         newDesign.MaterialPlanReachDate = null; | |||
|  |                     } | |||
|  |                     if (Design.PlanDay.HasValue) | |||
|  |                         newDesign.PlanDay = Design.PlanDay; | |||
|  |                     if (Design.PlanCompleteDate.HasValue) | |||
|  |                         newDesign.PlanCompleteDate = Design.PlanCompleteDate; | |||
|  |                     if (Design.MaterialRealReachDate.HasValue) | |||
|  |                         newDesign.MaterialRealReachDate = Design.MaterialRealReachDate; | |||
|  |                     if (Design.RealCompleteDate.HasValue) | |||
|  |                         newDesign.RealCompleteDate = Design.RealCompleteDate; | |||
|  |                     if (!string.IsNullOrEmpty(Design.AttachUrl)) | |||
|  |                         newDesign.AttachUrl = Design.AttachUrl; | |||
|  |                     if (!string.IsNullOrEmpty(Design.State)) | |||
|  |                         newDesign.State = Design.State; | |||
|  | 
 | |||
|  |                     db.SubmitChanges(); | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | } |