This commit is contained in:
2025-07-23 10:33:41 +08:00
parent 3e28b8025d
commit 24c5dcdf14
6 changed files with 505 additions and 20 deletions
+316 -1
View File
@@ -1,12 +1,15 @@
using Model;
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.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
@@ -307,6 +310,11 @@ namespace BLL
#region
/// <summary>
/// 数字档案馆webApi地址
/// </summary>
private static readonly string GetApiUrl = "https://getapi.cwcec.com/api/WebApi";
/// <summary>
/// 接收保存数据
/// </summary>
@@ -360,6 +368,313 @@ namespace BLL
}
}
/// <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))
{
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)
{
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))
{
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;
}
}
/// <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