1298 lines
		
	
	
		
			70 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			1298 lines
		
	
	
		
			70 KiB
		
	
	
	
		
			C#
		
	
	
	
| using Apache.NMS.ActiveMQ;
 | ||
| using Model;
 | ||
| using Newtonsoft.Json;
 | ||
| using Newtonsoft.Json.Linq;
 | ||
| using Quartz.Util;
 | ||
| using System;
 | ||
| using System.Collections;
 | ||
| using System.Collections.Generic;
 | ||
| using System.Globalization;
 | ||
| using System.Linq;
 | ||
| using System.Net;
 | ||
| using System.Reflection;
 | ||
| using System.Runtime.InteropServices;
 | ||
| using System.Security.Cryptography;
 | ||
| using System.Text;
 | ||
| using System.Threading.Tasks;
 | ||
| 
 | ||
| namespace BLL
 | ||
| {
 | ||
|     /// <summary>
 | ||
|     /// IDP平台接口服务
 | ||
|     /// </summary>
 | ||
|     public static class IDPDataService
 | ||
|     {
 | ||
|         ///// <summary>
 | ||
|         ///// 测试环境api地址
 | ||
|         ///// </summary>
 | ||
|         //private static readonly string IDPApiUrl = "http://10.5.6.151:8100/";
 | ||
|         /// <summary>
 | ||
|         /// 正式环境api地址
 | ||
|         /// </summary>
 | ||
|         //private static readonly string IDPApiUrl = "https://idp.cwcec.com/";
 | ||
|         private static readonly string IDPApiUrl = SysConstSetService.WuHuanIDPPath;
 | ||
| 
 | ||
|         #region 试车工作包
 | ||
| 
 | ||
|         #region 管道一览表
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 项目试车工作包——管道一览表
 | ||
|         /// </summary>
 | ||
|         /// <param name="session">session</param>
 | ||
|         /// <param name="projectId">项目Id</param>
 | ||
|         public static string GetIDPProjectPreRunDataPiping(SessionItem session, string projectId)
 | ||
|         {
 | ||
|             string result = string.Empty;
 | ||
|             if (string.IsNullOrWhiteSpace(projectId))
 | ||
|             {
 | ||
|                 result = "请传项目Id";
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 var project = BLL.ProjectService.GetProjectByProjectId(projectId);
 | ||
|                 var mainProjects = BLL.PMPDataService.GetPMPProjectListByCode(project.ProjectCode);
 | ||
| 
 | ||
|                 List<string> idpPipingIds = IDPPreRunDataService.GetIDPPreRunDataPipingIds(projectId);
 | ||
|                 List<IDP_PreRunData_Piping> addItems = new List<IDP_PreRunData_Piping>();
 | ||
|                 List<IDP_PreRunData_Piping> modifyItems = new List<IDP_PreRunData_Piping>();
 | ||
|                 int all = 0;
 | ||
|                 foreach (var pro in mainProjects)
 | ||
|                 {
 | ||
|                     string url = $"{IDPApiUrl}OSS/projects/{pro.Code}/workitems/CP2600/objects/latest";
 | ||
|                     //string url = $"{IDPApiUrl}OSS/projects/100168/workitems/CP2600/objects/latest";
 | ||
| 
 | ||
|                     try
 | ||
|                     {
 | ||
|                         //var session = GetAuthenticationSession();
 | ||
|                         //ErrLogInfo.WriteLog($"Session——name:{session.name};value:{session.value}");
 | ||
|                         Hashtable newToken = new Hashtable { { "Cookie", $"{session.name}={session.value}" } };
 | ||
|                         var returndata = BLL.APIGetHttpService.OutsideHttp(url, "GET", null, newToken, null);
 | ||
|                         if (!string.IsNullOrEmpty(returndata))
 | ||
|                         {
 | ||
|                             if (returndata.Contains("\"code\":404,\"message\":\"资源不存在\""))
 | ||
|                             {
 | ||
|                                 result += $"失败!{returndata}|";
 | ||
|                             }
 | ||
|                             else if (returndata.Contains("\"status\":404,\"error\":\"Not Found\""))
 | ||
|                             {
 | ||
|                                 result += $"失败!{returndata}|";
 | ||
|                             }
 | ||
|                             else
 | ||
|                             {
 | ||
|                                 List<IDPPreRunPiping> responseDatas = IDPPreRunPiping.FromJson(returndata);
 | ||
|                                 all += responseDatas.Count();
 | ||
|                                 foreach (var item in responseDatas)
 | ||
|                                 {
 | ||
|                                     IDP_PreRunData_Piping newItem = new IDP_PreRunData_Piping();
 | ||
|                                     newItem.ItemId = item.ItemId;
 | ||
|                                     newItem.ProjId = pro.Code;//主数据项目Id
 | ||
|                                     newItem.ProjCode = pro.StNum;//主数据项目Code
 | ||
|                                     newItem.ProjectId = project.ProjectId;//智慧施工项目Id
 | ||
|                                     newItem.LastTime = DateTime.Now;//入库时间
 | ||
|                                     newItem.WbsCode = item.WbsCode;//装置工序主项码
 | ||
|                                     newItem.DeviceCode = item.DeviceCode;//装置码
 | ||
|                                     newItem.ProcessesCode = item.ProcessesCode;//工序码
 | ||
|                                     newItem.SubjectCode = item.SubjectCode;//主项码
 | ||
|                                     newItem.Category = item.Category;
 | ||
|                                     newItem.Category = item.Category;
 | ||
|                                     newItem.Tag = item.Tag;
 | ||
|                                     newItem.PipingCode = item.PipingCode;
 | ||
|                                     newItem.Diameter = item.Diameter;
 | ||
|                                     newItem.DiameterUnit = item.DiameterUnit;
 | ||
|                                     newItem.MaterialLevel = item.MaterialLevel;
 | ||
|                                     newItem.AdiabatType = item.AdiabatType;
 | ||
|                                     newItem.AdiabatThickness = item.AdiabatThickness;
 | ||
|                                     newItem.AdiabatThicknessUnit = item.AdiabatThicknessUnit;
 | ||
|                                     newItem.MediumState = item.MediumState;
 | ||
|                                     newItem.DrawingStartNo = item.DrawingStartNo;
 | ||
|                                     newItem.DrawingEndNo = item.DrawingEndNo;
 | ||
|                                     newItem.PipingStart = item.PipingStart;
 | ||
|                                     newItem.PipingEnd = item.PipingEnd;
 | ||
|                                     newItem.PipingLevel = item.PipingLevel;
 | ||
|                                     newItem.NormalTemperature = item.NormalTemperature;
 | ||
|                                     newItem.NormalTemperatureUnit = item.NormalTemperatureUnit;
 | ||
|                                     newItem.NormalPressure = item.NormalPressure;
 | ||
|                                     newItem.NormalPressureUnit = item.NormalPressureUnit;
 | ||
|                                     newItem.DesignTemperature = item.DesignTemperature;
 | ||
|                                     newItem.DesignTemperatureUnit = item.DesignTemperatureUnit;
 | ||
|                                     newItem.DesignPressure = item.DesignPressure;
 | ||
|                                     newItem.DesignPressureUnit = item.DesignPressureUnit;
 | ||
|                                     newItem.PaintLevel = item.PaintLevel;
 | ||
|                                     newItem.Remark = item.Remark;
 | ||
|                                     newItem.DetailInfo = JsonConvert.SerializeObject(item, Formatting.Indented);
 | ||
| 
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.ItemId) && idpPipingIds.Contains(item.ItemId))
 | ||
|                                     {//编辑
 | ||
|                                         modifyItems.Add(newItem);
 | ||
|                                     }
 | ||
|                                     else
 | ||
|                                     {//新增
 | ||
|                                         addItems.Add(newItem);
 | ||
|                                         idpPipingIds.Add(item.ItemId);
 | ||
|                                     }
 | ||
|                                 }
 | ||
|                             }
 | ||
|                         }
 | ||
|                         else
 | ||
|                         {
 | ||
|                             result = "失败!";
 | ||
|                         }
 | ||
|                     }
 | ||
|                     catch (WebException ex)
 | ||
|                     {
 | ||
|                         result = $"程序异常:{ex.Message}";
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|                 if (addItems.Any()) { AddIDPPreRunPiping(addItems); }
 | ||
|                 if (modifyItems.Any()) { ModifyIDPPreRunPiping(modifyItems); }
 | ||
|                 result = $"成功!总数:{all}条;新增:{addItems.Count()}条,维护:{(all - addItems.Count())}条";
 | ||
| 
 | ||
|             }
 | ||
|             return result;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 批量插入数据
 | ||
|         /// </summary>
 | ||
|         /// <param name="list"></param>
 | ||
|         public static void AddIDPPreRunPiping(List<Model.IDP_PreRunData_Piping> list)
 | ||
|         {
 | ||
|             Model.SGGLDB db = Funs.DB;
 | ||
|             db.IDP_PreRunData_Piping.InsertAllOnSubmit(list);
 | ||
|             db.SubmitChanges();
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 更新数据
 | ||
|         /// </summary>
 | ||
|         /// <param name="list"></param>
 | ||
|         public static void ModifyIDPPreRunPiping(List<Model.IDP_PreRunData_Piping> list)
 | ||
|         {
 | ||
|             Model.SGGLDB db = Funs.DB;
 | ||
|             foreach (var obj in list)
 | ||
|             {
 | ||
|                 IDP_PreRunData_Piping newItem = db.IDP_PreRunData_Piping.FirstOrDefault(x => x.ItemId == obj.ItemId);
 | ||
|                 if (newItem != null)
 | ||
|                 {
 | ||
|                     newItem.ProjId = obj.ProjId;//主数据项目Id
 | ||
|                     newItem.ProjCode = obj.ProjCode;//主数据项目Code
 | ||
|                     newItem.ProjectId = obj.ProjectId;//智慧施工项目Id
 | ||
|                     newItem.LastTime = DateTime.Now;//入库时间
 | ||
|                     newItem.WbsCode = obj.WbsCode;//装置工序主项码
 | ||
|                     newItem.DeviceCode = obj.DeviceCode;//装置码
 | ||
|                     newItem.ProcessesCode = obj.ProcessesCode;//工序码
 | ||
|                     newItem.SubjectCode = obj.SubjectCode;//主项码
 | ||
|                     newItem.Category = obj.Category;
 | ||
|                     newItem.Tag = obj.Tag;
 | ||
|                     newItem.PipingCode = obj.PipingCode;
 | ||
|                     newItem.Diameter = obj.Diameter;
 | ||
|                     newItem.DiameterUnit = obj.DiameterUnit;
 | ||
|                     newItem.MaterialLevel = obj.MaterialLevel;
 | ||
|                     newItem.AdiabatType = obj.AdiabatType;
 | ||
|                     newItem.AdiabatThickness = obj.AdiabatThickness;
 | ||
|                     newItem.AdiabatThicknessUnit = obj.AdiabatThicknessUnit;
 | ||
|                     newItem.MediumState = obj.MediumState;
 | ||
|                     newItem.DrawingStartNo = obj.DrawingStartNo;
 | ||
|                     newItem.DrawingEndNo = obj.DrawingEndNo;
 | ||
|                     newItem.PipingStart = obj.PipingStart;
 | ||
|                     newItem.PipingEnd = obj.PipingEnd;
 | ||
|                     newItem.PipingLevel = obj.PipingLevel;
 | ||
|                     newItem.NormalTemperature = obj.NormalTemperature;
 | ||
|                     newItem.NormalTemperatureUnit = obj.NormalTemperatureUnit;
 | ||
|                     newItem.NormalPressure = obj.NormalPressure;
 | ||
|                     newItem.NormalPressureUnit = obj.NormalPressureUnit;
 | ||
|                     newItem.DesignTemperature = obj.DesignTemperature;
 | ||
|                     newItem.DesignTemperatureUnit = obj.DesignTemperatureUnit;
 | ||
|                     newItem.DesignPressure = obj.DesignPressure;
 | ||
|                     newItem.DesignPressureUnit = obj.DesignPressureUnit;
 | ||
|                     newItem.PaintLevel = obj.PaintLevel;
 | ||
|                     newItem.Remark = obj.Remark;
 | ||
|                     newItem.DetailInfo = obj.DetailInfo;
 | ||
|                     db.SubmitChanges();
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 设备一览表
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 项目试车工作包——设备一览表
 | ||
|         /// </summary>
 | ||
|         /// <param name="session"></param>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         public static string GetIDPProjectPreRunDataEquipment(SessionItem session, string projectId)
 | ||
|         {
 | ||
|             string result = string.Empty;
 | ||
|             if (string.IsNullOrWhiteSpace(projectId))
 | ||
|             {
 | ||
|                 result = "请传项目Id";
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 var project = BLL.ProjectService.GetProjectByProjectId(projectId);
 | ||
|                 var mainProjects = BLL.PMPDataService.GetPMPProjectListByCode(project.ProjectCode);
 | ||
| 
 | ||
|                 List<string> idpEquipmentIds = IDPPreRunDataService.GetIDPPreRunDataEquipmentIds(projectId);
 | ||
|                 List<IDP_PreRunData_Equipment> addItems = new List<IDP_PreRunData_Equipment>();
 | ||
|                 List<IDP_PreRunData_Equipment> modifyItems = new List<IDP_PreRunData_Equipment>();
 | ||
|                 int all = 0;
 | ||
|                 foreach (var pro in mainProjects)
 | ||
|                 {
 | ||
|                     string url = $"{IDPApiUrl}OSS/projects/{pro.Code}/workitems/CP2100/objects/latest";
 | ||
|                     //string url = $"{IDPApiUrl}OSS/projects/100168/workitems/CP2100/objects/latest";
 | ||
|                     try
 | ||
|                     {
 | ||
|                         Hashtable newToken = new Hashtable { { "Cookie", $"{session.name}={session.value}" } };
 | ||
|                         var returndata = BLL.APIGetHttpService.OutsideHttp(url, "GET", null, newToken, null);
 | ||
|                         if (!string.IsNullOrEmpty(returndata))
 | ||
|                         {
 | ||
|                             if (returndata.Contains("\"code\":404,\"message\":\"资源不存在\""))
 | ||
|                             {
 | ||
|                                 result += $"失败!{returndata}|";
 | ||
|                             }
 | ||
|                             else if (returndata.Contains("\"status\":404,\"error\":\"Not Found\""))
 | ||
|                             {
 | ||
|                                 result += $"失败!{returndata}|";
 | ||
|                             }
 | ||
|                             else
 | ||
|                             {
 | ||
|                                 List<IDPPreRunEquipment> responseDatas = IDPPreRunEquipment.FromJson(returndata);
 | ||
|                                 all += responseDatas.Count();
 | ||
|                                 foreach (var item in responseDatas)
 | ||
|                                 {
 | ||
|                                     Type type = typeof(IDPPreRunEquipment);
 | ||
| 
 | ||
|                                     IDP_PreRunData_Equipment newItem = new IDP_PreRunData_Equipment();
 | ||
|                                     newItem.ItemId = item.ItemId;
 | ||
|                                     newItem.ProjId = pro.Code;//主数据项目Id
 | ||
|                                     newItem.ProjCode = pro.StNum;//主数据项目Code
 | ||
|                                     newItem.ProjectId = project.ProjectId;//智慧施工项目Id
 | ||
|                                     newItem.LastTime = DateTime.Now;//入库时间
 | ||
|                                     newItem.WbsCode = item.WbsCode;//装置工序主项码
 | ||
|                                     newItem.DeviceCode = item.DeviceCode;//装置码
 | ||
|                                     newItem.ProcessesCode = item.ProcessesCode;//工序码
 | ||
|                                     newItem.SubjectCode = item.SubjectCode;//主项码
 | ||
|                                     newItem.Category = item.Category;
 | ||
|                                     newItem.Tag = item.Tag;
 | ||
|                                     newItem.TagNumber = item.TagNumber;
 | ||
|                                     string nameSpecifications = !string.IsNullOrWhiteSpace(item.NameSpecifications) ? $"{item.NameSpecifications}。" : string.Empty;
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.DrivingType))
 | ||
|                                     {
 | ||
|                                         nameSpecifications = $"{nameSpecifications} {type.GetProperty("DrivingType").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.DrivingType};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.EquipmentType))
 | ||
|                                     {
 | ||
|                                         nameSpecifications = $"{nameSpecifications} {type.GetProperty("EquipmentType").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.EquipmentType};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.EquipmentTypeModel))
 | ||
|                                     {
 | ||
|                                         nameSpecifications = $"{nameSpecifications} {type.GetProperty("EquipmentTypeModel").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.EquipmentTypeModel};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.EquipmentForm))
 | ||
|                                     {
 | ||
|                                         nameSpecifications = $"{nameSpecifications} {type.GetProperty("EquipmentForm").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.EquipmentForm};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.MPaG))
 | ||
|                                     {
 | ||
|                                         nameSpecifications = $"{nameSpecifications} {type.GetProperty("MPaG").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.MPaG} {item.MPaGUnit};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.KPa))
 | ||
|                                     {
 | ||
|                                         nameSpecifications = $"{nameSpecifications} {type.GetProperty("KPa").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.KPa} {item.KPaUnit};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.DimensionsID))
 | ||
|                                     {
 | ||
|                                         nameSpecifications = $"{nameSpecifications} {type.GetProperty("DimensionsID").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.DimensionsID} {item.DimensionsIDUnit};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.DimensionsHTT))
 | ||
|                                     {
 | ||
|                                         nameSpecifications = $"{nameSpecifications} {type.GetProperty("DimensionsHTT").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.DimensionsHTT} {item.DimensionsHTTUnit};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.DesignFlow))
 | ||
|                                     {
 | ||
|                                         nameSpecifications = $"{nameSpecifications} {type.GetProperty("DesignFlow").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.DesignFlow} {item.DesignFlowUnit};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.ShaftPower))
 | ||
|                                     {
 | ||
|                                         nameSpecifications = $"{nameSpecifications} {type.GetProperty("ShaftPower").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.ShaftPower} {item.ShaftPowerUnit};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.RatedPower))
 | ||
|                                     {
 | ||
|                                         nameSpecifications = $"{nameSpecifications} {type.GetProperty("RatedPower").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.RatedPower} {item.RatedPowerUnit};";
 | ||
|                                     }
 | ||
|                                     string materials = string.Empty;
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.Materials))
 | ||
|                                     {
 | ||
|                                         materials = $"{type.GetProperty("Materials").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.Materials};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.ImpellerMaterial))
 | ||
|                                     {
 | ||
|                                         materials = $"{materials} {type.GetProperty("ImpellerMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.ImpellerMaterial};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.ShellMaterial))
 | ||
|                                     {
 | ||
|                                         materials = $"{materials} {type.GetProperty("ShellMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.ShellMaterial};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.CylinderMaterial))
 | ||
|                                     {
 | ||
|                                         materials = $"{materials} {type.GetProperty("CylinderMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.CylinderMaterial};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.TrayMaterial))
 | ||
|                                     {
 | ||
|                                         materials = $"{materials} {type.GetProperty("TrayMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.TrayMaterial};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.PackingMaterial))
 | ||
|                                     {
 | ||
|                                         materials = $"{materials} {type.GetProperty("PackingMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.PackingMaterial};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.PlateMaterial))
 | ||
|                                     {
 | ||
|                                         materials = $"{materials} {type.GetProperty("PlateMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.PlateMaterial};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.TrimMaterial))
 | ||
|                                     {
 | ||
|                                         materials = $"{materials} {type.GetProperty("TrimMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.TrimMaterial};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.CoilMaterial))
 | ||
|                                     {
 | ||
|                                         materials = $"{materials} {type.GetProperty("CoilMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.CoilMaterial};";
 | ||
|                                     }
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.PreheaterMaterial))
 | ||
|                                     {
 | ||
|                                         materials = $"{materials} {type.GetProperty("PreheaterMaterial").GetCustomAttribute<JsonPropertyAttribute>().PropertyName}:{item.PreheaterMaterial};";
 | ||
|                                     }
 | ||
|                                     newItem.NameSpecifications = nameSpecifications;
 | ||
|                                     newItem.Materials = materials;
 | ||
|                                     newItem.NumOperate = item.DeviceNum;
 | ||
|                                     newItem.WeightSingle = item.WeightSingle;
 | ||
|                                     newItem.WeightSingleUnit = item.WeightSingleUnit;
 | ||
|                                     newItem.Remark = item.Remark;
 | ||
|                                     newItem.DetailInfo = JsonConvert.SerializeObject(item, Formatting.Indented);
 | ||
| 
 | ||
|                                     if (!string.IsNullOrWhiteSpace(item.ItemId) && idpEquipmentIds.Contains(item.ItemId))
 | ||
|                                     {//编辑
 | ||
|                                         modifyItems.Add(newItem);
 | ||
|                                     }
 | ||
|                                     else
 | ||
|                                     {//新增
 | ||
|                                         addItems.Add(newItem);
 | ||
|                                         idpEquipmentIds.Add(item.ItemId);
 | ||
|                                     }
 | ||
|                                 }
 | ||
|                             }
 | ||
|                         }
 | ||
|                         else
 | ||
|                         {
 | ||
|                             result = "失败!";
 | ||
|                         }
 | ||
|                     }
 | ||
|                     catch (WebException ex)
 | ||
|                     {
 | ||
|                         result = $"程序异常:{ex.Message}";
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|                 if (addItems.Any()) { AddIDPPreRunEquipment(addItems); }
 | ||
|                 if (modifyItems.Any()) { ModifyIDPPreRunEquipment(modifyItems); }
 | ||
|                 result = $"成功!总数:{all}条;新增:{addItems.Count()}条,维护:{(all - addItems.Count())}条";
 | ||
| 
 | ||
|             }
 | ||
|             return result;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 批量插入数据
 | ||
|         /// </summary>
 | ||
|         /// <param name="list"></param>
 | ||
|         public static void AddIDPPreRunEquipment(List<Model.IDP_PreRunData_Equipment> list)
 | ||
|         {
 | ||
|             Model.SGGLDB db = Funs.DB;
 | ||
|             db.IDP_PreRunData_Equipment.InsertAllOnSubmit(list);
 | ||
|             db.SubmitChanges();
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 更新数据
 | ||
|         /// </summary>
 | ||
|         /// <param name="list"></param>
 | ||
|         public static void ModifyIDPPreRunEquipment(List<Model.IDP_PreRunData_Equipment> list)
 | ||
|         {
 | ||
|             Model.SGGLDB db = Funs.DB;
 | ||
|             foreach (var obj in list)
 | ||
|             {
 | ||
|                 IDP_PreRunData_Equipment newItem = db.IDP_PreRunData_Equipment.FirstOrDefault(x => x.ItemId == obj.ItemId);
 | ||
|                 if (newItem != null)
 | ||
|                 {
 | ||
|                     newItem.ProjId = obj.ProjId;//主数据项目Id
 | ||
|                     newItem.ProjCode = obj.ProjCode;//主数据项目Code
 | ||
|                     newItem.ProjectId = obj.ProjectId;//智慧施工项目Id
 | ||
|                     newItem.LastTime = DateTime.Now;//入库时间
 | ||
|                     newItem.WbsCode = obj.WbsCode;//装置工序主项码
 | ||
|                     newItem.DeviceCode = obj.DeviceCode;//装置码
 | ||
|                     newItem.ProcessesCode = obj.ProcessesCode;//工序码
 | ||
|                     newItem.SubjectCode = obj.SubjectCode;//主项码
 | ||
|                     newItem.Category = obj.Category;
 | ||
|                     newItem.Tag = obj.Tag;
 | ||
|                     newItem.TagNumber = obj.TagNumber;
 | ||
|                     newItem.NameSpecifications = obj.NameSpecifications;
 | ||
|                     newItem.Materials = obj.Materials;
 | ||
|                     newItem.WeightSingle = obj.WeightSingle;
 | ||
|                     newItem.WeightSingleUnit = obj.WeightSingleUnit;
 | ||
|                     newItem.Remark = obj.Remark;
 | ||
|                     newItem.DetailInfo = obj.DetailInfo;
 | ||
|                     db.SubmitChanges();
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 仪表索引
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 项目试车工作包——仪表索引
 | ||
|         /// </summary>
 | ||
|         /// <param name="session"></param>
 | ||
|         /// <param name="projectId"></param>
 | ||
|         public static string GetIDPProjectPreRunDataInstrumentation(SessionItem session, string projectId)
 | ||
|         {
 | ||
|             string result = string.Empty;
 | ||
|             if (string.IsNullOrWhiteSpace(projectId))
 | ||
|             {
 | ||
|                 result = "请传项目Id";
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 var project = BLL.ProjectService.GetProjectByProjectId(projectId);
 | ||
|                 var mainProjects = BLL.PMPDataService.GetPMPProjectListByCode(project.ProjectCode);
 | ||
| 
 | ||
|                 List<string> idpInstrumentationIds = IDPPreRunDataService.GetIDPPreRunDataInstrumentationIds(projectId);
 | ||
|                 List<IDP_PreRunData_Instrumentation> addItems = new List<IDP_PreRunData_Instrumentation>();
 | ||
|                 List<IDP_PreRunData_Instrumentation> modifyItems = new List<IDP_PreRunData_Instrumentation>();
 | ||
|                 int all = 0;
 | ||
|                 foreach (var pro in mainProjects)
 | ||
|                 {
 | ||
|                     string urlCP7601 = $"{IDPApiUrl}OSS/projects/{pro.Code}/workitems/CP7601/objects/latest";
 | ||
|                     string urlCP7603 = $"{IDPApiUrl}OSS/projects/{pro.Code}/workitems/CP7603/objects/latest";
 | ||
|                     //string url = $"{IDPApiUrl}OSS/projects/{pro.Code}/workitems/IN1000/objects/latest";
 | ||
|                     //string url = $"{IDPApiUrl}OSS/projects/100168/workitems/IN1000/objects/latest";
 | ||
|                     //string urlCP7601 = $"{IDPApiUrl}OSS/projects/100168/workitems/CP7601/objects/latest";
 | ||
|                     //string urlCP7603 = $"{IDPApiUrl}OSS/projects/100168/workitems/CP7603/objects/latest";
 | ||
|                     try
 | ||
|                     {
 | ||
|                         Hashtable newToken = new Hashtable { { "Cookie", $"{session.name}={session.value}" } };
 | ||
|                         var returndataCP7601 = BLL.APIGetHttpService.OutsideHttp(urlCP7601, "GET", null, newToken, null);
 | ||
|                         var returndataCP7603 = BLL.APIGetHttpService.OutsideHttp(urlCP7603, "GET", null, newToken, null);
 | ||
|                         List<IDPPreRunInstrumentation> results = new List<IDPPreRunInstrumentation>();
 | ||
|                         if (!string.IsNullOrEmpty(returndataCP7601))
 | ||
|                         {
 | ||
|                             if (returndataCP7601.Contains("\"code\":404,\"message\":\"资源不存在\""))
 | ||
|                             {
 | ||
|                                 result += $"失败!{returndataCP7601}|";
 | ||
|                             }
 | ||
|                             else if (returndataCP7601.Contains("\"status\":404,\"error\":\"Not Found\""))
 | ||
|                             {
 | ||
|                                 result += $"失败!{returndataCP7601}|";
 | ||
|                             }
 | ||
|                             else
 | ||
|                             {
 | ||
|                                 List<IDPPreRunInstrumentation> responseDatas = IDPPreRunInstrumentation.FromJson(returndataCP7601);
 | ||
|                                 results.AddRange(responseDatas);
 | ||
|                             }
 | ||
|                         }
 | ||
|                         if (!string.IsNullOrEmpty(returndataCP7603))
 | ||
|                         {
 | ||
|                             if (returndataCP7603.Contains("\"code\":404,\"message\":\"资源不存在\""))
 | ||
|                             {
 | ||
|                                 result += $"失败!{returndataCP7603}|";
 | ||
|                             }
 | ||
|                             else if (returndataCP7603.Contains("\"status\":404,\"error\":\"Not Found\""))
 | ||
|                             {
 | ||
|                                 result += $"失败!{returndataCP7603}|";
 | ||
|                             }
 | ||
|                             else
 | ||
|                             {
 | ||
|                                 List<IDPPreRunInstrumentation> responseDatas = IDPPreRunInstrumentation.FromJson(returndataCP7603);
 | ||
|                                 results.AddRange(responseDatas);
 | ||
|                             }
 | ||
|                         }
 | ||
|                         if (results.Any())
 | ||
|                         {
 | ||
|                             all += results.Count();
 | ||
|                             foreach (var item in results)
 | ||
|                             {
 | ||
|                                 Type type = typeof(IDPPreRunInstrumentation);
 | ||
| 
 | ||
|                                 IDP_PreRunData_Instrumentation newItem = new IDP_PreRunData_Instrumentation();
 | ||
|                                 newItem.ItemId = item.ItemId;
 | ||
|                                 newItem.ProjId = pro.Code;//主数据项目Id
 | ||
|                                 newItem.ProjCode = pro.StNum;//主数据项目Code
 | ||
|                                 newItem.ProjectId = project.ProjectId;//智慧施工项目Id
 | ||
|                                 newItem.LastTime = DateTime.Now;//入库时间
 | ||
|                                 newItem.WbsCode = item.WbsCode;//装置工序主项码
 | ||
|                                 newItem.DeviceCode = item.DeviceCode;//装置码
 | ||
|                                 newItem.ProcessesCode = item.ProcessesCode;//工序码
 | ||
|                                 newItem.SubjectCode = item.SubjectCode;//主项码
 | ||
|                                 newItem.Category = item.Category;
 | ||
|                                 newItem.Tag = item.Tag;
 | ||
|                                 newItem.InstrumentTag = item.InstrumentTag;
 | ||
|                                 newItem.UseTo = item.UseTo;
 | ||
|                                 newItem.InstrumentName = item.InstrumentName;
 | ||
|                                 newItem.Supplier = item.Supplier;
 | ||
|                                 newItem.InstallationPosition = item.InstallationPosition;
 | ||
|                                 newItem.SignalType = item.SignalType;
 | ||
|                                 newItem.AssociatedSystem = item.AssociatedSystem;
 | ||
|                                 newItem.Cp25 = item.Cp25;
 | ||
|                                 newItem.In11 = item.In11;
 | ||
|                                 newItem.In40 = item.In40;
 | ||
|                                 newItem.Remark = item.Remark;
 | ||
|                                 newItem.DetailInfo = JsonConvert.SerializeObject(item, Formatting.Indented);
 | ||
| 
 | ||
|                                 if (!string.IsNullOrWhiteSpace(item.ItemId) && idpInstrumentationIds.Contains(item.ItemId))
 | ||
|                                 {//编辑
 | ||
|                                     modifyItems.Add(newItem);
 | ||
|                                 }
 | ||
|                                 else
 | ||
|                                 {//新增
 | ||
|                                     addItems.Add(newItem);
 | ||
|                                     idpInstrumentationIds.Add(item.ItemId);
 | ||
|                                 }
 | ||
|                             }
 | ||
|                         }
 | ||
|                     }
 | ||
|                     catch (WebException ex)
 | ||
|                     {
 | ||
|                         result = $"程序异常:{ex.Message}";
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|                 if (addItems.Any()) { AddIDPPreRunInstrumentation(addItems); }
 | ||
|                 if (modifyItems.Any()) { ModifyIDPPreRunInstrumentation(modifyItems); }
 | ||
|                 result = $"成功!总数:{all}条;新增:{addItems.Count()}条,维护:{(all - addItems.Count())}条";
 | ||
| 
 | ||
|             }
 | ||
|             return result;
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 批量插入数据
 | ||
|         /// </summary>
 | ||
|         /// <param name="list"></param>
 | ||
|         public static void AddIDPPreRunInstrumentation(List<Model.IDP_PreRunData_Instrumentation> list)
 | ||
|         {
 | ||
|             Model.SGGLDB db = Funs.DB;
 | ||
|             db.IDP_PreRunData_Instrumentation.InsertAllOnSubmit(list);
 | ||
|             db.SubmitChanges();
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 更新数据
 | ||
|         /// </summary>
 | ||
|         /// <param name="list"></param>
 | ||
|         public static void ModifyIDPPreRunInstrumentation(List<Model.IDP_PreRunData_Instrumentation> list)
 | ||
|         {
 | ||
|             Model.SGGLDB db = Funs.DB;
 | ||
|             foreach (var obj in list)
 | ||
|             {
 | ||
|                 IDP_PreRunData_Instrumentation newItem = db.IDP_PreRunData_Instrumentation.FirstOrDefault(x => x.ItemId == obj.ItemId);
 | ||
|                 if (newItem != null)
 | ||
|                 {
 | ||
|                     newItem.ProjId = obj.ProjId;//主数据项目Id
 | ||
|                     newItem.ProjCode = obj.ProjCode;//主数据项目Code
 | ||
|                     newItem.ProjectId = obj.ProjectId;//智慧施工项目Id
 | ||
|                     newItem.LastTime = DateTime.Now;//入库时间
 | ||
|                     newItem.WbsCode = obj.WbsCode;//装置工序主项码
 | ||
|                     newItem.DeviceCode = obj.DeviceCode;//装置码
 | ||
|                     newItem.ProcessesCode = obj.ProcessesCode;//工序码
 | ||
|                     newItem.SubjectCode = obj.SubjectCode;//主项码
 | ||
|                     newItem.Category = obj.Category;
 | ||
|                     newItem.Tag = obj.Tag;
 | ||
|                     newItem.InstrumentTag = obj.InstrumentTag;
 | ||
|                     newItem.UseTo = obj.UseTo;
 | ||
|                     newItem.InstrumentName = obj.InstrumentName;
 | ||
|                     newItem.Supplier = obj.Supplier;
 | ||
|                     newItem.InstallationPosition = obj.InstallationPosition;
 | ||
|                     newItem.SignalType = obj.SignalType;
 | ||
|                     newItem.AssociatedSystem = obj.AssociatedSystem;
 | ||
|                     newItem.Cp25 = obj.Cp25;
 | ||
|                     newItem.In11 = obj.In11;
 | ||
|                     newItem.In40 = obj.In40;
 | ||
|                     newItem.Remark = obj.Remark;
 | ||
|                     newItem.DetailInfo = obj.DetailInfo;
 | ||
|                     db.SubmitChanges();
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         #endregion
 | ||
| 
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 质量管理设计图纸
 | ||
| 
 | ||
|         #region IDP
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 质量管理设计图纸
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId">项目Id</param>
 | ||
|         /// <param name="startDate">获取指定时间之后到现在的异动数据</param>
 | ||
|         public static void GetIDPProjectDesignDrawingData(string projectId = "", string startDate = "")
 | ||
|         {
 | ||
|             try
 | ||
|             {
 | ||
|                 //五环主数据项目Code
 | ||
|                 string projectCode = string.Empty;
 | ||
|                 if (!string.IsNullOrWhiteSpace(projectId))
 | ||
|                 {//根据施工平台项目Id获取主数据项目Code
 | ||
|                     var getPro = ProjectService.GetProjectByProjectId(projectId);
 | ||
|                     projectCode = getPro.ProjectCode;
 | ||
|                 }
 | ||
| 
 | ||
|                 string timeStampStr = string.Empty;
 | ||
|                 if (!string.IsNullOrWhiteSpace(startDate))
 | ||
|                 {
 | ||
|                     string format = "yyyy-MM-dd";
 | ||
|                     DateTimeOffset dateTimeOffset = DateTimeOffset.ParseExact(startDate, format, CultureInfo.InvariantCulture);
 | ||
|                     long timeStamp = Funs.GetDateTimeStamp(dateTimeOffset, 13);
 | ||
|                     timeStampStr = timeStamp.ToString();
 | ||
|                 }
 | ||
| 
 | ||
|                 var session = GetAuthenticationSession();
 | ||
|                 //ErrLogInfo.WriteLog($"【Session】name:{session.name};value:{session.value}");
 | ||
|                 Hashtable newToken = new Hashtable { { "Cookie", $"{session.name}={session.value}" } };
 | ||
| 
 | ||
|                 List<IDP_DesignDrawing> listAdd = new List<IDP_DesignDrawing>();
 | ||
|                 List<IDP_DesignDrawing> listModify = new List<IDP_DesignDrawing>();
 | ||
| 
 | ||
|                 int pageSize = 1000;//一次性最多返回1000条数据
 | ||
|                 int maxPageNum = 100;
 | ||
|                 List<string> idpFileIds = DesignDrawingService.GetIDPDesignDrawingFileId();
 | ||
|                 List<IDP_DesignDrawing> idpFiles = DesignDrawingService.GetIDPDesignDrawingFile();
 | ||
|                 for (int pageNum = 1; pageNum < 100000; pageNum++)
 | ||
|                 {
 | ||
|                     if (pageNum > maxPageNum) { break; }
 | ||
|                     string url = $"{IDPApiUrl}EDC/third/workitems?pageNum={pageNum}&pageSize={pageSize}";
 | ||
|                     if (!string.IsNullOrWhiteSpace(timeStampStr)) { url = $"{url}&lastTimestamp={timeStampStr}"; }
 | ||
|                     if (!string.IsNullOrWhiteSpace(projectCode)) { url = $"{url}&projectCode={projectCode}"; }
 | ||
| 
 | ||
|                     ErrLogInfo.WriteLog($"{url}【Cookie】{session.name}={session.value}");
 | ||
|                     var returndata = BLL.APIGetHttpService.OutsideHttp(url, "GET", null, newToken, null);
 | ||
|                     if (!string.IsNullOrEmpty(returndata) && returndata != "{}")
 | ||
|                     {
 | ||
|                         ErrLogInfo.WriteLog($"【{startDate}请求结果】{returndata}");
 | ||
|                         IDPDesignDrawingResponseData responseData = IDPDesignDrawingResponseData.FromJson(returndata);
 | ||
|                         maxPageNum = responseData.page.pages;
 | ||
|                         foreach (var item in responseData.page.results)
 | ||
|                         {
 | ||
|                             IDP_DesignDrawing newItem = new IDP_DesignDrawing();
 | ||
|                             if (!string.IsNullOrWhiteSpace(projectId))
 | ||
|                             {
 | ||
|                                 newItem.ProjectId = projectId;
 | ||
|                             }
 | ||
|                             else
 | ||
|                             {
 | ||
|                                 if (string.IsNullOrWhiteSpace(item.projectCode))
 | ||
|                                 {
 | ||
|                                     continue;
 | ||
|                                 }
 | ||
|                                 var getProject = ProjectService.GetProjectByProjectCode(item.projectCode);
 | ||
|                                 if (getProject == null)
 | ||
|                                 {
 | ||
|                                     continue;
 | ||
|                                 }
 | ||
|                                 newItem.ProjectId = getProject.ProjectId;
 | ||
|                             }
 | ||
|                             newItem.IdpfileId = item.fileId;
 | ||
|                             newItem.StockId = item.stockId;
 | ||
|                             newItem.ThirdId = item.thirdId;
 | ||
|                             newItem.ProjectCode = item.projectCode;
 | ||
|                             newItem.DisplayProjectName = item.displayProjectName;
 | ||
|                             newItem.ProjectDeviceProcedureSubjectCode = item.projectDeviceProcedureSubjectCode;
 | ||
|                             newItem.WbsFullPath = item.wbsFullPath;
 | ||
|                             newItem.FormatFileCode = item.formatFileCode;
 | ||
|                             newItem.FormatFileName = item.formatFileName;
 | ||
|                             newItem.FileVersion = item.fileVersion;
 | ||
|                             newItem.MajorNo = item.majorNo;
 | ||
|                             newItem.MajorName = item.majorName;
 | ||
|                             newItem.Status = item.status;
 | ||
|                             newItem.DesignUserName = item.designUserName;
 | ||
|                             newItem.JiaoheUserName = item.jiaoheUserName;
 | ||
|                             newItem.ShenheUserName = item.shenheUserName;
 | ||
|                             newItem.ShendingUserName = item.shendingUserName;
 | ||
|                             newItem.MajorResponsibleUserName = item.majorResponsibleUserName;
 | ||
|                             newItem.ClassificationLevelInProject = item.classificationLevelInProject;
 | ||
|                             newItem.UpdateTime = item.updateTime;
 | ||
|                             newItem.Remark = item.remark;
 | ||
| 
 | ||
|                             if (!string.IsNullOrWhiteSpace(item.fileId) && idpFileIds.Contains(item.fileId))
 | ||
|                             {//编辑
 | ||
|                                 newItem.Id = idpFiles.Where(x => x.IdpfileId == item.fileId).FirstOrDefault().Id;
 | ||
|                                 listModify.Add(newItem);
 | ||
|                             }
 | ||
|                             else
 | ||
|                             {//新增
 | ||
|                                 newItem.Id = SQLHelper.GetNewID(typeof(IDP_DesignDrawing));
 | ||
|                                 newItem.CreateTime = DateTime.Now;
 | ||
|                                 listAdd.Add(newItem);
 | ||
|                             }
 | ||
|                         }
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         break;
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|                 if (listAdd.Any())
 | ||
|                 {
 | ||
|                     AddIDP_DesignDrawing(listAdd);
 | ||
|                 }
 | ||
|                 if (listModify.Any())
 | ||
|                 {
 | ||
|                     ModifyIDP_DesignDrawing(listModify);
 | ||
|                 }
 | ||
|             }
 | ||
|             catch (WebException ex)
 | ||
|             {
 | ||
|                 ErrLogInfo.WriteLog($"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}获取IDP质量管理设计图纸】{ex.Message}");
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 批量插入数据
 | ||
|         /// </summary>
 | ||
|         /// <param name="list"></param>
 | ||
|         public static void AddIDP_DesignDrawing(List<Model.IDP_DesignDrawing> list)
 | ||
|         {
 | ||
|             Model.SGGLDB db = Funs.DB;
 | ||
|             db.IDP_DesignDrawing.InsertAllOnSubmit(list);
 | ||
|             db.SubmitChanges();
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 更新数据
 | ||
|         /// </summary>
 | ||
|         /// <param name="list"></param>
 | ||
|         public static void ModifyIDP_DesignDrawing(List<Model.IDP_DesignDrawing> list)
 | ||
|         {
 | ||
|             Model.SGGLDB db = Funs.DB;
 | ||
|             foreach (var obj in list)
 | ||
|             {
 | ||
|                 IDP_DesignDrawing newItem = db.IDP_DesignDrawing.FirstOrDefault(x => x.Id == obj.Id);
 | ||
|                 if (newItem != null)
 | ||
|                 {
 | ||
|                     newItem.StockId = obj.StockId;
 | ||
|                     newItem.ThirdId = obj.ThirdId;
 | ||
|                     newItem.ProjectId = obj.ProjectId;
 | ||
|                     newItem.ProjectCode = obj.ProjectCode;
 | ||
|                     newItem.DisplayProjectName = obj.DisplayProjectName;
 | ||
|                     newItem.ProjectDeviceProcedureSubjectCode = obj.ProjectDeviceProcedureSubjectCode;
 | ||
|                     newItem.WbsFullPath = obj.WbsFullPath;
 | ||
|                     newItem.FormatFileCode = obj.FormatFileCode;
 | ||
|                     newItem.FormatFileName = obj.FormatFileName;
 | ||
|                     newItem.FileVersion = obj.FileVersion;
 | ||
|                     newItem.MajorNo = obj.MajorNo;
 | ||
|                     newItem.MajorName = obj.MajorName;
 | ||
|                     newItem.Status = obj.Status;
 | ||
|                     newItem.DesignUserName = obj.DesignUserName;
 | ||
|                     newItem.JiaoheUserName = obj.JiaoheUserName;
 | ||
|                     newItem.ShenheUserName = obj.ShenheUserName;
 | ||
|                     newItem.ShendingUserName = obj.ShendingUserName;
 | ||
|                     newItem.MajorResponsibleUserName = obj.MajorResponsibleUserName;
 | ||
|                     newItem.ClassificationLevelInProject = obj.ClassificationLevelInProject;
 | ||
|                     newItem.UpdateTime = obj.UpdateTime;
 | ||
|                     newItem.Remark = obj.Remark;
 | ||
|                     db.SubmitChanges();
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 数字档案馆
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 数字档案馆webApi地址
 | ||
|         /// </summary>
 | ||
|         private static readonly string GetApiUrl = "https://getapi.cwcec.com/api/WebApi";
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 接收保存数据
 | ||
|         /// </summary>
 | ||
|         /// <param name="items"></param>
 | ||
|         public static string SaveDesignDrawingData(List<OADesignDrawingDataItem> items)
 | ||
|         {
 | ||
|             try
 | ||
|             {
 | ||
|                 ErrLogInfo.WriteLog($"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}接收保存数字档案馆推送数据】{JsonConvert.SerializeObject(items)}");
 | ||
|                 string message = string.Empty;
 | ||
|                 int succ = 0;
 | ||
|                 int err = 0;
 | ||
|                 using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|                 {
 | ||
|                     foreach (var item in items)
 | ||
|                     {
 | ||
|                         if (!string.IsNullOrWhiteSpace(item.RdpId) && !string.IsNullOrWhiteSpace(item.fileid))
 | ||
|                         {
 | ||
|                             IDP_DesignDrawing newItem = db.IDP_DesignDrawing.FirstOrDefault(x => x.StockId == item.RdpId && x.ThirdId == item.fileid);
 | ||
|                             if (newItem != null)
 | ||
|                             {
 | ||
|                                 newItem.RdpId = item.RdpId;
 | ||
|                                 newItem.Fileid = item.fileid;
 | ||
|                                 //newItem.StockId = item.RdpId;
 | ||
|                                 //newItem.ThirdId = item.fileid;
 | ||
|                                 newItem.Upfileid = item.upfileid;
 | ||
|                                 newItem.Maintitle = item.maintitle;
 | ||
|                                 newItem.Doc_no = item.doc_no;
 | ||
|                                 newItem.Bc = item.bc;
 | ||
|                                 newItem.Archnumber = item.archnumber;
 | ||
|                                 newItem.Sendtime = item.sendtime;
 | ||
|                                 newItem.Printtime = item.printtime;
 | ||
|                                 newItem.Ifmail = item.ifmail;
 | ||
|                                 db.SubmitChanges();
 | ||
|                                 succ++;
 | ||
|                             }
 | ||
|                             else
 | ||
|                             {
 | ||
|                                 err++;
 | ||
|                             }
 | ||
|                         }
 | ||
|                         else
 | ||
|                         {
 | ||
|                             err++;
 | ||
|                         }
 | ||
|                     }
 | ||
|                     message = $"总数{(succ + err)}条;失败{err}条,成功{succ}条!";
 | ||
|                 }
 | ||
|                 return message;
 | ||
|             }
 | ||
|             catch (WebException ex)
 | ||
|             {
 | ||
|                 return ex.Message;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 质量管理设计图纸——更新蓝图寄出信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId">项目Id</param>
 | ||
|         /// <param name="startDate">开始时间</param>
 | ||
|         /// <param name="endDate">结束时间</param>
 | ||
|         public static string GetDesignDrawingDataBlueprintInfo(string projectId = "", string startDate = "", string endDate = "")
 | ||
|         {
 | ||
|             try
 | ||
|             {
 | ||
|                 string message = string.Empty;
 | ||
|                 //五环主数据项目Code
 | ||
|                 string projectCode = string.Empty;
 | ||
|                 if (!string.IsNullOrWhiteSpace(projectId))
 | ||
|                 {//根据施工平台项目Id获取主数据项目Code
 | ||
|                     var getPro = ProjectService.GetProjectByProjectId(projectId);
 | ||
|                     projectCode = getPro.ProjectCode;
 | ||
|                 }
 | ||
| 
 | ||
|                 if (string.IsNullOrWhiteSpace(startDate))
 | ||
|                 {
 | ||
|                     startDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
 | ||
|                 }
 | ||
|                 if (string.IsNullOrWhiteSpace(endDate))
 | ||
|                 {
 | ||
|                     endDate = DateTime.Now.AddDays(+1).ToString("yyyy-MM-dd");
 | ||
|                 }
 | ||
| 
 | ||
|                 string url = $"{GetApiUrl}/GetBlueprintInfo?BeginTime={startDate}&EndTime={endDate}";
 | ||
|                 if (!string.IsNullOrWhiteSpace(projectCode)) { url = $"{url}&item_id={projectCode}"; }
 | ||
|                 ////folderNo:文件包号(示例:18063-40401-AR15)
 | ||
|                 //if (!string.IsNullOrWhiteSpace(folderNo)) { url = $"{url}&folderNo={folderNo}"; }
 | ||
|                 ////IsUpgrade:文件版次(示例:9)
 | ||
|                 //if (!string.IsNullOrWhiteSpace(IsUpgrade)) { url = $"{url}&IsUpgrade={IsUpgrade}"; }
 | ||
| 
 | ||
|                 //ErrLogInfo.WriteLog($"接口地址{url}");
 | ||
|                 //var returndata = "[{\"item_id\":\"22150\",\"modifiedTime\":\"2022/3/9 15:21:32\",\"folderNo\":\"22150-21000-WT2501-001\",\"isUpgrade\":\"D00\",\"fileType\":\"非设备蓝图\",\"senderName\":\"吴荟\",\"receiverAddress\":\"新疆哈密市伊吾县淖毛湖镇广汇生活区12号楼\",\"receiverName\":\"李娟\",\"receiverType\":\"业主\",\"receiverUnit\":\"哈密广汇环保科技有限公司\"},{\"item_id\":\"22150\",\"modifiedTime\":\"2022/3/9 15:21:33\",\"folderNo\":\"22150-21000-WT4401-001\",\"isUpgrade\":\"D00\",\"fileType\":\"非设备蓝图\",\"senderName\":\"吴荟\",\"receiverAddress\":\"新疆哈密市伊吾县淖毛湖镇广汇生活区12号楼\",\"receiverName\":\"李娟\",\"receiverType\":\"业主\",\"receiverUnit\":\"哈密广汇环保科技有限公司\"},{\"item_id\":\"22150\",\"modifiedTime\":\"2022/3/19 15:23:33\",\"folderNo\":\"22150-21000-WT4401-001\",\"isUpgrade\":\"D00\",\"fileType\":\"非设备蓝图\",\"senderName\":\"吴荟\",\"receiverAddress\":\"新疆哈密市伊吾县淖毛湖镇广汇生活区12号楼\",\"receiverName\":\"李娟\",\"receiverType\":\"业主\",\"receiverUnit\":\"哈密广汇环保科技有限公司\"}]";
 | ||
|                 var returndata = BLL.APIGetHttpService.OutsideHttp(url, "GET", null, null, null);
 | ||
| 
 | ||
|                 //ErrLogInfo.WriteLog($"返回结果:{returndata}");
 | ||
|                 if (!string.IsNullOrEmpty(returndata))
 | ||
|                 {
 | ||
|                     ErrLogInfo.WriteLog($"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}更新蓝图寄出信息】{returndata}");
 | ||
|                     int succ = 0;
 | ||
|                     int err = 0;
 | ||
|                     using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|                     {
 | ||
|                         List<BlueprintInfoItem> responseData = BlueprintInfoItems.FromJson(returndata);
 | ||
|                         if (responseData.Any())
 | ||
|                         {
 | ||
|                             //ErrLogInfo.WriteLog($"序列化对象:ok");
 | ||
|                             responseData = responseData.OrderByDescending(x => x.modifiedTime).ToList();
 | ||
|                             responseData = responseData.GroupBy(p => new { p.item_id, p.folderNo, p.isUpgrade }).Select(g => g.First()).ToList();
 | ||
|                             foreach (var item in responseData)
 | ||
|                             {
 | ||
|                                 IDP_DesignDrawing newItem = db.IDP_DesignDrawing.FirstOrDefault(x => x.ProjectCode == item.item_id && x.FormatFileCode == item.folderNo && x.FileVersion == item.isUpgrade);
 | ||
|                                 if (newItem == null)
 | ||
|                                 {
 | ||
|                                     err++;
 | ||
|                                     continue;
 | ||
|                                 }
 | ||
|                                 newItem.Sendtime = item.modifiedTime;
 | ||
|                                 db.SubmitChanges();
 | ||
|                                 succ++;
 | ||
|                             }
 | ||
|                         }
 | ||
|                     }
 | ||
|                     message = $"成功。总数:{(succ + err)}条;成功更新{succ}条,失败{err}条。";
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     message = "无数据";
 | ||
|                 }
 | ||
|                 return message;
 | ||
|             }
 | ||
|             catch (WebException ex)
 | ||
|             {
 | ||
|                 ErrLogInfo.WriteLog($"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}更新蓝图寄出信息】{ex.Message}");
 | ||
|                 return ex.Message;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 质量管理设计图纸——更新蓝图打印信息
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId">项目Id</param>
 | ||
|         /// <param name="startDate">开始时间</param>
 | ||
|         /// <param name="endDate">结束时间</param>
 | ||
|         public static string GetDesignDrawingDataPrintInfo(string projectId = "", string startDate = "", string endDate = "")
 | ||
|         {
 | ||
|             try
 | ||
|             {
 | ||
|                 string message = string.Empty;
 | ||
|                 //五环主数据项目Code
 | ||
|                 string projectCode = string.Empty;
 | ||
|                 if (!string.IsNullOrWhiteSpace(projectId))
 | ||
|                 {//根据施工平台项目Id获取主数据项目Code
 | ||
|                     var getPro = ProjectService.GetProjectByProjectId(projectId);
 | ||
|                     projectCode = getPro.ProjectCode;
 | ||
|                 }
 | ||
|                 if (string.IsNullOrWhiteSpace(startDate))
 | ||
|                 {
 | ||
|                     startDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
 | ||
|                 }
 | ||
|                 if (string.IsNullOrWhiteSpace(endDate))
 | ||
|                 {
 | ||
|                     endDate = DateTime.Now.AddDays(+1).ToString("yyyy-MM-dd");
 | ||
|                 }
 | ||
| 
 | ||
|                 string url = $"{GetApiUrl}/GetPrintInfo?BeginTime={startDate}&EndTime={endDate}";
 | ||
|                 if (!string.IsNullOrWhiteSpace(projectCode)) { url = $"{url}&item_id={projectCode}"; }
 | ||
|                 ////folderNo:文件包号(示例:18063-40401-AR15)
 | ||
|                 //if (!string.IsNullOrWhiteSpace(folderNo)) { url = $"{url}&folderNo={folderNo}"; }
 | ||
|                 ////IsUpgrade:文件版次(示例:9)
 | ||
|                 //if (!string.IsNullOrWhiteSpace(IsUpgrade)) { url = $"{url}&IsUpgrade={IsUpgrade}"; }
 | ||
| 
 | ||
|                 //var returndata = "[{\"recorder\":\"姚曙光\",\"item_id\":\"22150\",\"item_name\":\"哈密广汇环保科技有限公司荒煤气综合利用年产40万吨乙二醇项目\",\"folderNo\":\"22150-21000-WT2501-001\",\"folder_name\":\"文件目录-202203091052472988\",\"isUpgrade\":\"D00\",\"createTime\":\"2022/3/10 10:52:47\",\"doc_printtime\":\"2022/3/10 15:30:46\",\"isPrint\":\"是\",\"project_id\":\"3288\"},{\"recorder\":\"姚曙光\",\"item_id\":\"22150\",\"item_name\":\"哈密广汇环保科技有限公司荒煤气综合利用年产40万吨乙二醇项目\",\"folderNo\":\"22150-21000-WT4401-001\",\"folder_name\":\"门窗表-202203091052527479\",\"isUpgrade\":\"D00\",\"createTime\":\"2022/3/12 10:52:53\",\"doc_printtime\":\"2022/3/12 15:30:46\",\"isPrint\":\"是\",\"project_id\":\"3288\"}]";
 | ||
|                 var returndata = BLL.APIGetHttpService.OutsideHttp(url, "GET", null, null, null);
 | ||
|                 if (!string.IsNullOrEmpty(returndata))
 | ||
|                 {
 | ||
|                     ErrLogInfo.WriteLog($"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}更新蓝图打印信息】{returndata}");
 | ||
|                     int succ = 0;
 | ||
|                     int err = 0;
 | ||
|                     using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|                     {
 | ||
|                         List<PrintInfoItem> responseData = PrintInfoItems.FromJson(returndata);
 | ||
|                         if (responseData.Any())
 | ||
|                         {
 | ||
|                             responseData = responseData.OrderByDescending(x => x.doc_printtime).ToList();
 | ||
|                             responseData = responseData.GroupBy(p => new { p.item_id, p.folderNo, p.isUpgrade }).Select(g => g.First()).ToList();
 | ||
|                             foreach (var item in responseData)
 | ||
|                             {
 | ||
|                                 IDP_DesignDrawing newItem = db.IDP_DesignDrawing.FirstOrDefault(x => x.ProjectCode == item.item_id && x.FormatFileCode == item.folderNo && x.FileVersion == item.isUpgrade);
 | ||
|                                 if (newItem == null)
 | ||
|                                 {
 | ||
|                                     err++;
 | ||
|                                     continue;
 | ||
|                                 }
 | ||
|                                 newItem.Printtime = item.doc_printtime;
 | ||
|                                 db.SubmitChanges();
 | ||
|                                 succ++;
 | ||
|                             }
 | ||
|                         }
 | ||
|                     }
 | ||
|                     message = $"成功。总数:{(succ + err)}条;成功更新{succ}条,失败{err}条。";
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     message = "无数据";
 | ||
|                 }
 | ||
|                 return message;
 | ||
|             }
 | ||
|             catch (WebException ex)
 | ||
|             {
 | ||
|                 ErrLogInfo.WriteLog($"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}更新蓝图打印信息】{ex.Message}");
 | ||
|                 return ex.Message;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 质量管理设计图纸——更新蓝图寄出信息【暂时不用,同步历史数据时,可调整方法】
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId">项目Id</param>
 | ||
|         /// <param name="startDate">开始时间</param>
 | ||
|         /// <param name="endDate">结束时间</param>
 | ||
|         public static void GetDesignDrawingDataBlueprintInfo1(DateTime startDate, DateTime endDate)
 | ||
|         {
 | ||
|             try
 | ||
|             {
 | ||
|                 string message = string.Empty;
 | ||
|                 string url = $"{GetApiUrl}/GetBlueprintInfo?BeginTime={startDate}&EndTime={endDate}";
 | ||
|                 //if (!string.IsNullOrWhiteSpace(projectCode)) { url = $"{url}&item_id={projectCode}"; }
 | ||
|                 ////folderNo:文件包号(示例:18063-40401-AR15)
 | ||
|                 //if (!string.IsNullOrWhiteSpace(folderNo)) { url = $"{url}&folderNo={folderNo}"; }
 | ||
|                 ////IsUpgrade:文件版次(示例:9)
 | ||
|                 //if (!string.IsNullOrWhiteSpace(IsUpgrade)) { url = $"{url}&IsUpgrade={IsUpgrade}"; }
 | ||
| 
 | ||
|                 //ErrLogInfo.WriteLog($"接口地址{url}");
 | ||
|                 //var returndata = "[{\"item_id\":\"22150\",\"modifiedTime\":\"2022/3/9 15:21:32\",\"folderNo\":\"22150-21000-WT2501-001\",\"isUpgrade\":\"D00\",\"fileType\":\"非设备蓝图\",\"senderName\":\"吴荟\",\"receiverAddress\":\"新疆哈密市伊吾县淖毛湖镇广汇生活区12号楼\",\"receiverName\":\"李娟\",\"receiverType\":\"业主\",\"receiverUnit\":\"哈密广汇环保科技有限公司\"},{\"item_id\":\"22150\",\"modifiedTime\":\"2022/3/9 15:21:33\",\"folderNo\":\"22150-21000-WT4401-001\",\"isUpgrade\":\"D00\",\"fileType\":\"非设备蓝图\",\"senderName\":\"吴荟\",\"receiverAddress\":\"新疆哈密市伊吾县淖毛湖镇广汇生活区12号楼\",\"receiverName\":\"李娟\",\"receiverType\":\"业主\",\"receiverUnit\":\"哈密广汇环保科技有限公司\"},{\"item_id\":\"22150\",\"modifiedTime\":\"2022/3/19 15:23:33\",\"folderNo\":\"22150-21000-WT4401-001\",\"isUpgrade\":\"D00\",\"fileType\":\"非设备蓝图\",\"senderName\":\"吴荟\",\"receiverAddress\":\"新疆哈密市伊吾县淖毛湖镇广汇生活区12号楼\",\"receiverName\":\"李娟\",\"receiverType\":\"业主\",\"receiverUnit\":\"哈密广汇环保科技有限公司\"}]";
 | ||
|                 var returndata = BLL.APIGetHttpService.OutsideHttp(url, "GET", null, null, null);
 | ||
| 
 | ||
|                 //ErrLogInfo.WriteLog($"返回结果:{returndata}");
 | ||
|                 if (!string.IsNullOrEmpty(returndata))
 | ||
|                 {
 | ||
|                     int succ = 0;
 | ||
|                     int err = 0;
 | ||
|                     using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|                     {
 | ||
|                         List<BlueprintInfoItem> responseData = BlueprintInfoItems.FromJson(returndata);
 | ||
|                         if (responseData.Any())
 | ||
|                         {
 | ||
|                             //ErrLogInfo.WriteLog($"序列化对象:ok");
 | ||
|                             responseData = responseData.OrderByDescending(x => x.modifiedTime).ToList();
 | ||
|                             responseData = responseData.GroupBy(p => new { p.item_id, p.folderNo, p.isUpgrade }).Select(g => g.First()).ToList();
 | ||
|                             foreach (var item in responseData)
 | ||
|                             {
 | ||
|                                 IDP_DesignDrawing newItem = db.IDP_DesignDrawing.FirstOrDefault(x => x.ProjectCode == item.item_id && x.FormatFileCode == item.folderNo && x.FileVersion == item.isUpgrade);
 | ||
|                                 if (newItem == null)
 | ||
|                                 {
 | ||
|                                     err++;
 | ||
|                                     continue;
 | ||
|                                 }
 | ||
|                                 newItem.Sendtime = item.modifiedTime;
 | ||
|                                 db.SubmitChanges();
 | ||
|                                 succ++;
 | ||
|                             }
 | ||
|                         }
 | ||
|                     }
 | ||
|                     message = $"成功。总数:{(succ + err)}条;成功更新{succ}条,失败{err}条。";
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     message = "无数据";
 | ||
|                 }
 | ||
| 
 | ||
|                 if (startDate > DateTime.Now)
 | ||
|                 {
 | ||
|                     //return message;
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     GetDesignDrawingDataBlueprintInfo1(startDate.AddDays(1), startDate.AddDays(2));
 | ||
|                 }
 | ||
| 
 | ||
|             }
 | ||
|             catch (WebException ex)
 | ||
|             {
 | ||
|                 //return ex.Message;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 质量管理设计图纸——更新蓝图打印信息【暂时不用,同步历史数据时,可调整方法】
 | ||
|         /// </summary>
 | ||
|         /// <param name="projectId">项目Id</param>
 | ||
|         /// <param name="startDate">开始时间</param>
 | ||
|         /// <param name="endDate">结束时间</param>
 | ||
|         public static string GetDesignDrawingDataPrintInfo1(string projectId = "", string startDate = "", string endDate = "")
 | ||
|         {
 | ||
|             try
 | ||
|             {
 | ||
|                 string message = string.Empty;
 | ||
|                 //五环主数据项目Code
 | ||
|                 string projectCode = string.Empty;
 | ||
|                 if (!string.IsNullOrWhiteSpace(projectId))
 | ||
|                 {//根据施工平台项目Id获取主数据项目Code
 | ||
|                     var getPro = ProjectService.GetProjectByProjectId(projectId);
 | ||
|                     projectCode = getPro.ProjectCode;
 | ||
|                 }
 | ||
|                 if (string.IsNullOrWhiteSpace(startDate))
 | ||
|                 {
 | ||
|                     startDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
 | ||
|                 }
 | ||
|                 else
 | ||
|                 if (string.IsNullOrWhiteSpace(endDate))
 | ||
|                 {
 | ||
|                     endDate = DateTime.Now.AddDays(+1).ToString("yyyy-MM-dd");
 | ||
|                 }
 | ||
| 
 | ||
|                 string url = $"{GetApiUrl}/GetPrintInfo?BeginTime={startDate}&EndTime={endDate}";
 | ||
|                 if (!string.IsNullOrWhiteSpace(projectCode)) { url = $"{url}&item_id={projectCode}"; }
 | ||
|                 ////folderNo:文件包号(示例:18063-40401-AR15)
 | ||
|                 //if (!string.IsNullOrWhiteSpace(folderNo)) { url = $"{url}&folderNo={folderNo}"; }
 | ||
|                 ////IsUpgrade:文件版次(示例:9)
 | ||
|                 //if (!string.IsNullOrWhiteSpace(IsUpgrade)) { url = $"{url}&IsUpgrade={IsUpgrade}"; }
 | ||
| 
 | ||
|                 //var returndata = "[{\"recorder\":\"姚曙光\",\"item_id\":\"22150\",\"item_name\":\"哈密广汇环保科技有限公司荒煤气综合利用年产40万吨乙二醇项目\",\"folderNo\":\"22150-21000-WT2501-001\",\"folder_name\":\"文件目录-202203091052472988\",\"isUpgrade\":\"D00\",\"createTime\":\"2022/3/10 10:52:47\",\"doc_printtime\":\"2022/3/10 15:30:46\",\"isPrint\":\"是\",\"project_id\":\"3288\"},{\"recorder\":\"姚曙光\",\"item_id\":\"22150\",\"item_name\":\"哈密广汇环保科技有限公司荒煤气综合利用年产40万吨乙二醇项目\",\"folderNo\":\"22150-21000-WT4401-001\",\"folder_name\":\"门窗表-202203091052527479\",\"isUpgrade\":\"D00\",\"createTime\":\"2022/3/12 10:52:53\",\"doc_printtime\":\"2022/3/12 15:30:46\",\"isPrint\":\"是\",\"project_id\":\"3288\"}]";
 | ||
|                 var returndata = BLL.APIGetHttpService.OutsideHttp(url, "GET", null, null, null);
 | ||
|                 if (!string.IsNullOrEmpty(returndata))
 | ||
|                 {
 | ||
|                     int succ = 0;
 | ||
|                     int err = 0;
 | ||
|                     using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|                     {
 | ||
|                         List<PrintInfoItem> responseData = PrintInfoItems.FromJson(returndata);
 | ||
|                         if (responseData.Any())
 | ||
|                         {
 | ||
|                             responseData = responseData.OrderByDescending(x => x.doc_printtime).ToList();
 | ||
|                             responseData = responseData.GroupBy(p => new { p.item_id, p.folderNo, p.isUpgrade }).Select(g => g.First()).ToList();
 | ||
|                             foreach (var item in responseData)
 | ||
|                             {
 | ||
|                                 IDP_DesignDrawing newItem = db.IDP_DesignDrawing.FirstOrDefault(x => x.ProjectCode == item.item_id && x.FormatFileCode == item.folderNo && x.FileVersion == item.isUpgrade);
 | ||
|                                 if (newItem == null)
 | ||
|                                 {
 | ||
|                                     err++;
 | ||
|                                     continue;
 | ||
|                                 }
 | ||
|                                 newItem.Printtime = item.doc_printtime;
 | ||
|                                 db.SubmitChanges();
 | ||
|                                 succ++;
 | ||
|                             }
 | ||
|                         }
 | ||
|                     }
 | ||
|                     message = $"成功。总数:{(succ + err)}条;成功更新{succ}条,失败{err}条。";
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     message = "无数据";
 | ||
|                 }
 | ||
|                 return message;
 | ||
|             }
 | ||
|             catch (WebException ex)
 | ||
|             {
 | ||
|                 return ex.Message;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         #endregion
 | ||
| 
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region IDP平台接口授权认证
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 加密公钥
 | ||
|         /// </summary>
 | ||
|         private static readonly string publicKey = "<RSAKeyValue><Modulus>g1sk7Xtc1TJouHdY4+FAe5atGCu2n17NhoKVDV57pki1IL+9+S7BY4gxAjmMkUU2/cbCCdbPoUJLBrCBCjX7yI3UJW6FZwQWkn3kVoeulLEwdPCIq/GUjMXaWf3Iaaad5wBUFbfXAzv15VN6z48Nt1IY/O8YEzhIpuZdtEgDdos=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";
 | ||
|         //private static readonly string publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChnc2YD0YzJPx6QTh+/n7XzjR1ugFzrsmPolJhpCfWMKrSGbT7iX/Kgcm1AI+T95K4Jzv3KS42QTecZ1ziJ4Rr9Luzw+9ZCSjMZgrmAUbY5IeBaA6GzaSk8UWHZ4n5PL+GUGq+2f+COL7+KCS2AxEpaqDZVrJrIfg/UektdgNyzwIDAQAB";
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 第三方加密认证接口
 | ||
|         /// </summary>
 | ||
|         /// 五环IDP系统SessionId有效期30分钟
 | ||
|         /// <returns></returns>
 | ||
|         public static SessionItem GetAuthenticationSession()
 | ||
|         {
 | ||
|             SessionItem session = new SessionItem();
 | ||
|             try
 | ||
|             {
 | ||
|                 //// 创建RSA加密服务提供者
 | ||
|                 ////using (RSA rsa = RSA.Create())
 | ||
|                 //using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
 | ||
|                 //{
 | ||
|                 //// 获取公钥false表示只导出公钥
 | ||
|                 //string publicKey = rsa.ToXmlString(false);
 | ||
|                 //// 获取私钥true表示导出公钥和私钥
 | ||
|                 //string privateKey = rsa.ToXmlString(true);
 | ||
| 
 | ||
| 
 | ||
|                 ////用户名加密
 | ||
|                 //string encryptedUsername = EncryptData("dataviewer", publicKey);
 | ||
|                 ////密码加密
 | ||
|                 //string encryptedPassword = EncryptData("a3365$!", publicKey);
 | ||
| 
 | ||
|                 //用户名加密后的密文
 | ||
|                 string encryptedUsername = "k0N0tx/hfRPY0v2lq1G8eH6hCO+UiMqlSZi1PD6bhGf4YpP/koJq5hfMsDSzdn3dZjzExrwyrjFWp/1jZLde0+gRbQ0D7tzm0R5D6AmriodD2cJvrEiwtDy7SeGNloSaNmpTEMuycpuueiOeGhMkKnTwWfRkEw73lxEpTmaahq4=";
 | ||
|                 //密码加密后的密文
 | ||
|                 string encryptedPassword = "HLLroiNJJzyTWJt9td1xgChbVzyQkoxWCGGXqdwI2cvlUF/A30FAPaInszSwEhNRQlJZZ01EODElemkgv36DMF+XGwfDi0BfIq9jKG+/+wq0TVOHNhiu2NPzpn5Ji2X3yXIXpH1zv6XEtkvx/qiLToZYfRQCufsl5vH1cZxk2fQ=";
 | ||
| 
 | ||
|                 string url = $"{IDPApiUrl}UAMS/authEncrypt";
 | ||
|                 //string url = $"http://10.5.6.151:8100/UAMS/authEncrypt";
 | ||
|                 string contenttype = "application/json;charset=utf-8";
 | ||
|                 var body = new
 | ||
|                 {
 | ||
|                     encryptedUsername = encryptedUsername,
 | ||
|                     encryptedPassword = encryptedPassword
 | ||
|                 };
 | ||
| 
 | ||
|                 string pushContent = JsonConvert.SerializeObject(body);
 | ||
|                 string strJosn = APIGetHttpService.Http(url, "POST", contenttype, null, pushContent);
 | ||
|                 //string strJosn = HttpHelper.Post(url, null, pushContent);
 | ||
|                 JObject obj = JObject.Parse(strJosn);
 | ||
|                 if (!string.IsNullOrEmpty(strJosn))
 | ||
|                 {
 | ||
|                     string value = obj["value"].ToString();
 | ||
|                     string name = obj["name"].ToString();
 | ||
|                     session.value = value;
 | ||
|                     session.name = name;
 | ||
|                 }
 | ||
|                 //}
 | ||
|             }
 | ||
|             catch (WebException ex)
 | ||
|             {
 | ||
|                 return null;
 | ||
|             }
 | ||
|             finally
 | ||
|             {
 | ||
| 
 | ||
|             }
 | ||
|             return session;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 加密字符串
 | ||
|         /// </summary>
 | ||
|         /// <param name="data">加密信息</param>
 | ||
|         /// <param name="publicKey">公钥</param>
 | ||
|         /// <returns></returns>
 | ||
|         public static string EncryptData(string data, string publicKey)
 | ||
|         {
 | ||
|             using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
 | ||
|             {
 | ||
|                 string result = string.Empty;
 | ||
|                 try
 | ||
|                 {
 | ||
|                     rsa.FromXmlString(publicKey); //从字符串加载公钥
 | ||
|                     byte[] dataBytes = Encoding.UTF8.GetBytes(data);
 | ||
|                     byte[] encryptedBytes = rsa.Encrypt(dataBytes, false); //使用公钥加密数据,false表示使用OAEP填充方式
 | ||
|                     result = Convert.ToBase64String(encryptedBytes); //返回Base64编码的加密数据
 | ||
|                 }
 | ||
|                 catch (Exception ex)
 | ||
|                 {
 | ||
|                     Console.WriteLine("Error encrypting: {0}", ex.Message);
 | ||
|                 }
 | ||
|                 return result;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         #endregion
 | ||
| 
 | ||
|     }
 | ||
| }
 |