Merge branch 'master' of http://47.104.102.122:3000/gaofei/HJGL_DS
This commit is contained in:
commit
22f9b850bb
|
|
@ -39,3 +39,4 @@ bin-release/
|
|||
/HJGL_DS/Model/packages.config
|
||||
/CreateModel2017.bat
|
||||
*.xls
|
||||
/HJGL_DS/FineUIPro.Web/File/PDF/Pipe
|
||||
|
|
|
|||
|
|
@ -95,6 +95,9 @@
|
|||
<Reference Include="System.DirectoryServices" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Management" />
|
||||
<Reference Include="System.Net.Http">
|
||||
<HintPath>E:\工作\集团子公司\CNCEC_SUBQHSE\SUBQHSE\BLL\bin\Debug\System.Net.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.Caching" />
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
|
|
@ -138,6 +141,7 @@
|
|||
<Compile Include="Common\Notice\Common_NoticeService.cs" />
|
||||
<Compile Include="Common\Notice\Common_NoticeSignService.cs" />
|
||||
<Compile Include="Common\NPOIHelper.cs" />
|
||||
<Compile Include="Common\OpenAIhelper.cs" />
|
||||
<Compile Include="Common\ProjectSet\Project_InstallationService.cs" />
|
||||
<Compile Include="Common\ProjectSet\Project_RoleButtonPowerrService.cs" />
|
||||
<Compile Include="Common\ProjectSet\Project_RolePowerService.cs" />
|
||||
|
|
|
|||
|
|
@ -0,0 +1,56 @@
|
|||
|
||||
using FastReport.Utils;
|
||||
using Newtonsoft.Json;
|
||||
using NPOI.POIFS.Crypt;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Net.Http;
|
||||
|
||||
namespace BLL.Common
|
||||
{
|
||||
public class OpenAIhelper
|
||||
{
|
||||
private const string ApiKey = "sk-a5014a22a49049d1b2179a6c0d8eec1c";
|
||||
private const string AIURL = "https://api.deepseek.com/chat/completions";
|
||||
|
||||
public static string ChatCompletion(string content)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (HttpClient client = new HttpClient())
|
||||
{
|
||||
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + ApiKey);
|
||||
|
||||
var requestData = new
|
||||
{
|
||||
model = "deepseek-v4-flash",
|
||||
messages = new[] {
|
||||
new { role = "user", content = content }
|
||||
},
|
||||
temperature = 0.3
|
||||
};
|
||||
|
||||
string json = JsonConvert.SerializeObject(requestData);
|
||||
var chatContent = new StringContent(json, Encoding.UTF8, "application/json");
|
||||
|
||||
// 同步请求
|
||||
var response = client.PostAsync(AIURL, chatContent).Result;
|
||||
string resultJson = response.Content.ReadAsStringAsync().Result;
|
||||
|
||||
// 解析返回
|
||||
dynamic result = JsonConvert.DeserializeObject(resultJson);
|
||||
return result.choices[0].message.content.ToString();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ex.ToString();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -8331,10 +8331,6 @@
|
|||
<Folder Include="WeldMat\res\js\vendor\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\BLL\BLL.csproj">
|
||||
<Project>{BBC7282A-9E2B-4BD6-9C6D-333CEFC6F332}</Project>
|
||||
<Name>BLL</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Model\Model.csproj">
|
||||
<Project>{FD1E1931-1688-4B4A-BCD6-335A81465343}</Project>
|
||||
<Name>Model</Name>
|
||||
|
|
|
|||
|
|
@ -1,12 +1,18 @@
|
|||
using Aspose.Words.Rendering;
|
||||
using BLL;
|
||||
using BLL.Common;
|
||||
using FineUIPro.Web.HJGL.Match;
|
||||
using Model;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using UglyToad.PdfPig;
|
||||
using UglyToad.PdfPig.Content;
|
||||
using UglyToad.PdfPig.Writer;
|
||||
|
|
@ -48,8 +54,18 @@ namespace FineUIPro.Web.HJGL.DataIn
|
|||
ViewState["DataTable"] = value;
|
||||
}
|
||||
}
|
||||
public DataTable dtOther
|
||||
{
|
||||
get
|
||||
{
|
||||
return (DataTable)ViewState["dtOther"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["dtOther"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
|
@ -98,7 +114,7 @@ namespace FineUIPro.Web.HJGL.DataIn
|
|||
string isono = "";
|
||||
foreach (string key in dic.Keys)
|
||||
{
|
||||
if (dic[key].IndexOf(i+1) >= 0)
|
||||
if (dic[key].IndexOf(i + 1) >= 0)
|
||||
{
|
||||
isono = key;
|
||||
outputPath = $"{rootPath}/File/PDF/Pipe/" + key;
|
||||
|
|
@ -106,7 +122,17 @@ namespace FineUIPro.Web.HJGL.DataIn
|
|||
{
|
||||
Directory.CreateDirectory(outputPath);
|
||||
}
|
||||
outputPath = $"{outputPath}/" + key + dic[key].IndexOf(i) + ".pdf";
|
||||
string fileName = key;
|
||||
|
||||
var row = dtOther.Select(" page='" + (i + 1) + "' and region_type='C' ").FirstOrDefault();
|
||||
if (row != null)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(row["text"].ToString()))
|
||||
{
|
||||
fileName = row["text"].ToString();
|
||||
}
|
||||
}
|
||||
outputPath = $"{outputPath}/" + fileName + dic[key].IndexOf(i) + ".pdf";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -128,12 +154,69 @@ namespace FineUIPro.Web.HJGL.DataIn
|
|||
newPage.SetRotation(new PageRotationDegrees(rotation.Value));
|
||||
var newPdf = writer.Build();
|
||||
File.WriteAllBytes(outputPath, newPdf);
|
||||
|
||||
|
||||
var isoInfo = Funs.DB.HJGL_PW_IsoInfo.FirstOrDefault(x => x.ISO_IsoNo == isono && x.ProjectId==CurrUser.LoginProjectId);
|
||||
if (isoInfo != null)
|
||||
{
|
||||
{
|
||||
Regex NumberRegex = new Regex(@"\d+\.?\d*");
|
||||
DataRow[] rows = dt.Select(" pipe_no='" + isono + "' and category='PIPE'");
|
||||
if (rows != null && rows.Length > 0)
|
||||
{
|
||||
string description = rows[0]["description"].ToString();
|
||||
|
||||
if (!isoInfo.ISO_Dia.HasValue || !isoInfo.ISO_Sch.HasValue || string.IsNullOrEmpty(isoInfo.MaterialStandardId))
|
||||
{
|
||||
string res = OpenAIhelper.ChatCompletion("请根据 " + description + ",识别外径,壁厚,材质标准(请严格按照国家标准返回),结果仅以JSON格式返回,不要解释,不要多余文字,不要markdown,例如 {\r\n \"外径\": \"33.4 mm\",\r\n \"壁厚\": \"6.35 mm\",\r\n \"材质标准\": \"GB/T 9948\"\r\n}");
|
||||
|
||||
JObject jobject = JObject.Parse(res);
|
||||
string dia = jobject.Value<string>("外径");
|
||||
string sch = jobject.Value<string>("壁厚");
|
||||
string materialStandard = jobject.Value<string>("材质标准");
|
||||
MatchCollection matchCollection1 = NumberRegex.Matches(dia);
|
||||
foreach (var match in matchCollection1)
|
||||
{
|
||||
// 使用 TryParse 确保转换安全,避免异常
|
||||
if (decimal.TryParse(match.ToString(), out decimal number))
|
||||
{
|
||||
isoInfo.ISO_Dia = number;
|
||||
}
|
||||
}
|
||||
|
||||
MatchCollection matchCollection2 = NumberRegex.Matches(sch);
|
||||
foreach (var match in matchCollection2)
|
||||
{
|
||||
// 使用 TryParse 确保转换安全,避免异常
|
||||
if (decimal.TryParse(match.ToString(), out decimal number))
|
||||
{
|
||||
isoInfo.ISO_Sch = number;
|
||||
}
|
||||
}
|
||||
|
||||
isoInfo.MaterialStandardId = Funs.DB.HJGL_BS_MaterialStandard.Where(x => x.MaterialStandardCode == materialStandard).Select(x => x.MaterialStandardId).FirstOrDefault();
|
||||
}
|
||||
|
||||
|
||||
decimal length = 0;
|
||||
foreach(DataRow row in rows)
|
||||
{
|
||||
|
||||
MatchCollection matches = NumberRegex.Matches(row["qty"].ToString());
|
||||
foreach (var match in matches)
|
||||
{
|
||||
// 使用 TryParse 确保转换安全,避免异常
|
||||
if (decimal.TryParse(match.ToString(), out decimal number))
|
||||
{
|
||||
length += number;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
isoInfo.PipeLineLength = length;
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
|
||||
//保存文件到附件
|
||||
|
||||
|
||||
UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(outputPath.Replace(rootPath, ""), 10, null), outputPath.Replace(rootPath, ""), Const.HJGL_PipelineManageMenuId, isoInfo.ISO_ID);
|
||||
}
|
||||
}
|
||||
|
|
@ -142,6 +225,64 @@ namespace FineUIPro.Web.HJGL.DataIn
|
|||
|
||||
|
||||
}
|
||||
public static string HeaderCorrespondence(string uploadUrl, string data, string method, string contenttype)
|
||||
{
|
||||
// 5. 创建HTTP请求
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uploadUrl);
|
||||
request.Method = string.IsNullOrEmpty(method) ? "GET" : method;
|
||||
request.ContentType = string.IsNullOrEmpty(contenttype) ? "application/json;charset=utf-8" : contenttype;
|
||||
if (uploadUrl.IndexOf("https") >= 0)
|
||||
{
|
||||
request.ProtocolVersion = HttpVersion.Version10;
|
||||
}
|
||||
if (!string.IsNullOrEmpty(data))
|
||||
{
|
||||
Stream RequestStream = request.GetRequestStream();
|
||||
byte[] bytes = Encoding.UTF8.GetBytes(data);
|
||||
RequestStream.Write(bytes, 0, bytes.Length);
|
||||
RequestStream.Close();
|
||||
}
|
||||
|
||||
HttpWebResponse response = null;
|
||||
Stream ResponseStream = null;
|
||||
StreamReader StreamReader = null;
|
||||
try
|
||||
{
|
||||
response = (HttpWebResponse)request.GetResponse();
|
||||
ResponseStream = response.GetResponseStream();
|
||||
StreamReader = new StreamReader(ResponseStream, Encoding.GetEncoding("utf-8"));
|
||||
|
||||
string re = StreamReader.ReadToEnd();
|
||||
StreamReader.Close();
|
||||
ResponseStream.Close();
|
||||
return re;
|
||||
}
|
||||
catch (WebException ex)
|
||||
{
|
||||
response = (HttpWebResponse)ex.Response;
|
||||
ResponseStream = response.GetResponseStream();
|
||||
StreamReader = new StreamReader(ResponseStream, Encoding.GetEncoding("utf-8"));
|
||||
|
||||
string re = StreamReader.ReadToEnd();
|
||||
return re;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (StreamReader != null)
|
||||
{
|
||||
StreamReader.Close();
|
||||
}
|
||||
if (ResponseStream != null)
|
||||
{
|
||||
ResponseStream.Close();
|
||||
}
|
||||
if (response != null)
|
||||
{
|
||||
response.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void btnAudit_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
|
@ -153,6 +294,7 @@ namespace FineUIPro.Web.HJGL.DataIn
|
|||
{
|
||||
JObject jobject = JObject.Parse(resultdata.Value);
|
||||
JArray jArray = jobject.Value<JArray>("material_rows");
|
||||
JArray jArrayOther = jobject.Value<JArray>("other_regions");
|
||||
dt = new DataTable();
|
||||
dt.Columns.Add("id");
|
||||
dt.Columns.Add("pipe_no");
|
||||
|
|
@ -165,6 +307,13 @@ namespace FineUIPro.Web.HJGL.DataIn
|
|||
dt.Columns.Add("page_no");
|
||||
dt.Columns.Add("remark");
|
||||
|
||||
dtOther = new DataTable();
|
||||
dtOther.Columns.Add("id");
|
||||
dtOther.Columns.Add("region_type");
|
||||
dtOther.Columns.Add("region_label");
|
||||
dtOther.Columns.Add("page");
|
||||
dtOther.Columns.Add("text");
|
||||
|
||||
// 遍历并提取数据
|
||||
foreach (JObject item in jArray)
|
||||
{
|
||||
|
|
@ -181,6 +330,17 @@ namespace FineUIPro.Web.HJGL.DataIn
|
|||
row["remark"] = item.Value<string>("remark");
|
||||
dt.Rows.Add(row);
|
||||
}
|
||||
|
||||
foreach (JObject item in jArrayOther)
|
||||
{
|
||||
var row = dtOther.NewRow();
|
||||
row["id"] = item.Value<string>("id");
|
||||
row["region_type"] = item.Value<string>("region_type");
|
||||
row["region_label"] = item.Value<string>("region_label");
|
||||
row["page"] = item.Value<string>("page");
|
||||
row["text"] = item.Value<string>("text");
|
||||
dtOther.Rows.Add(row);
|
||||
}
|
||||
BindGrid();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -313,8 +313,23 @@ namespace FineUIPro.Web.HJGL.DataIn
|
|||
isoInfo.ISO_Executive = execStandards.Where(x => x.ExecStandardName == "GB 50517-2010").Select(x => x.ExecStandardId).FirstOrDefault();
|
||||
}
|
||||
break;
|
||||
case "材质":
|
||||
isoInfo.STE_ID = steels.Where(x => x.STE_Code == row[dataColumn.ColumnName].ToString()).Select(x => x.STE_ID).FirstOrDefault();
|
||||
case "材质":
|
||||
|
||||
var steel = steels.FirstOrDefault(x => x.STE_Code == row[dataColumn.ColumnName].ToString());
|
||||
if (steel != null)
|
||||
{
|
||||
isoInfo.STE_ID = steel.STE_ID;
|
||||
if(steel.STE_SteelType == "FeⅣ")
|
||||
{
|
||||
isoInfo.IsHotType = "1";
|
||||
|
||||
}
|
||||
else if (steel.STE_SteelType == "FeⅠ" || steel.STE_SteelType == "FeⅡ" || steel.STE_SteelType == "FeⅢ" )
|
||||
{
|
||||
isoInfo.IsHotType = "2";
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "材质标准":
|
||||
isoInfo.MaterialStandardId = materialStandards.Where(x => x.MaterialStandardName == row[dataColumn.ColumnName].ToString()||x.MaterialStandardCode == row[dataColumn.ColumnName].ToString()).Select(x => x.MaterialStandardId).FirstOrDefault();
|
||||
|
|
@ -324,6 +339,14 @@ namespace FineUIPro.Web.HJGL.DataIn
|
|||
break;
|
||||
case "管道类别":
|
||||
isoInfo.PipeLineClass = row[dataColumn.ColumnName].ToString();
|
||||
if (!string.IsNullOrEmpty(row[dataColumn.ColumnName].ToString()))
|
||||
{
|
||||
isoInfo.ISO_Executive = execStandards.Where(x => x.ExecStandardName == "SH/T3501-2021").Select(x => x.ExecStandardId).FirstOrDefault();
|
||||
}
|
||||
else
|
||||
{
|
||||
isoInfo.ISO_Executive = execStandards.Where(x => x.ExecStandardName == "GB 50517-2010").Select(x => x.ExecStandardId).FirstOrDefault();
|
||||
}
|
||||
break;
|
||||
case "涂漆类别":
|
||||
isoInfo.ISO_Paint = row[dataColumn.ColumnName].ToString();
|
||||
|
|
@ -353,6 +376,7 @@ namespace FineUIPro.Web.HJGL.DataIn
|
|||
break;
|
||||
case "设计压力":
|
||||
isoInfo.ISO_DesignPress = Funs.GetNewDecimal(row[dataColumn.ColumnName].ToString());
|
||||
isoInfo.LeakageTest = row[dataColumn.ColumnName].ToString();
|
||||
break;
|
||||
case "设计温度":
|
||||
isoInfo.ISO_DesignTemperature = Funs.GetNewDecimal(row[dataColumn.ColumnName].ToString());
|
||||
|
|
@ -503,6 +527,11 @@ namespace FineUIPro.Web.HJGL.DataIn
|
|||
// 创建内存流存储请求内容
|
||||
using (MemoryStream ms = new MemoryStream())
|
||||
{
|
||||
|
||||
|
||||
string header = $"--{boundary}\r\nContent-Disposition: form-data; name=\"extra instructions\"\r\n\r\n注意数据不要少列,不要串列\r\n";
|
||||
byte[] headerBytes = Encoding.UTF8.GetBytes (header);
|
||||
ms.Write(headerBytes, 0, headerBytes.Length);
|
||||
// 1. 写入表单字段头
|
||||
ms.Write(boundaryBytes, 0, boundaryBytes.Length);
|
||||
|
||||
|
|
@ -521,6 +550,8 @@ namespace FineUIPro.Web.HJGL.DataIn
|
|||
byte[] endBoundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n");
|
||||
ms.Write(endBoundaryBytes, 0, endBoundaryBytes.Length);
|
||||
|
||||
|
||||
|
||||
// 5. 创建HTTP请求
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uploadUrl);
|
||||
request.Method = "POST";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<FineUIPro DebugMode="false" Theme="Cupertino"/>
|
||||
<appSettings>
|
||||
<!--连接字符串-->
|
||||
<add key="ConnectionString" value="Server=.\SQL2022;Database=HJGLDB_DS;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Max Pool Size = 1000;Connect Timeout=1200"/>
|
||||
<add key="ConnectionString" value="Server=.\MSSQLSERVER01;Database=HJGLDB_DS;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Max Pool Size = 1000;Connect Timeout=1200"/>
|
||||
<!--系统名称-->
|
||||
<add key="SystemName" value="诺必达焊接管理系统"/>
|
||||
<add key="ChartImageHandler" value="storage=file;timeout=20;url=~/Images/;"/>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,268 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- saved from url=(0014)about:internet -->
|
||||
<html xmlns:msxsl="urn:schemas-microsoft-com:xslt"><head><meta content="en-us" http-equiv="Content-Language" /><meta content="text/html; charset=utf-16" http-equiv="Content-Type" /><title _locID="ConversionReport0">
|
||||
迁移报告
|
||||
</title><style>
|
||||
/* Body style, for the entire document */
|
||||
body
|
||||
{
|
||||
background: #F3F3F4;
|
||||
color: #1E1E1F;
|
||||
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Header1 style, used for the main title */
|
||||
h1
|
||||
{
|
||||
padding: 10px 0px 10px 10px;
|
||||
font-size: 21pt;
|
||||
background-color: #E2E2E2;
|
||||
border-bottom: 1px #C1C1C2 solid;
|
||||
color: #201F20;
|
||||
margin: 0;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
/* Header2 style, used for "Overview" and other sections */
|
||||
h2
|
||||
{
|
||||
font-size: 18pt;
|
||||
font-weight: normal;
|
||||
padding: 15px 0 5px 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Header3 style, used for sub-sections, such as project name */
|
||||
h3
|
||||
{
|
||||
font-weight: normal;
|
||||
font-size: 15pt;
|
||||
margin: 0;
|
||||
padding: 15px 0 5px 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/* Color all hyperlinks one color */
|
||||
a
|
||||
{
|
||||
color: #1382CE;
|
||||
}
|
||||
|
||||
/* Table styles */
|
||||
table
|
||||
{
|
||||
border-spacing: 0 0;
|
||||
border-collapse: collapse;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
table th
|
||||
{
|
||||
background: #E7E7E8;
|
||||
text-align: left;
|
||||
text-decoration: none;
|
||||
font-weight: normal;
|
||||
padding: 3px 6px 3px 6px;
|
||||
}
|
||||
|
||||
table td
|
||||
{
|
||||
vertical-align: top;
|
||||
padding: 3px 6px 5px 5px;
|
||||
margin: 0px;
|
||||
border: 1px solid #E7E7E8;
|
||||
background: #F7F7F8;
|
||||
}
|
||||
|
||||
/* Local link is a style for hyperlinks that link to file:/// content, there are lots so color them as 'normal' text until the user mouse overs */
|
||||
.localLink
|
||||
{
|
||||
color: #1E1E1F;
|
||||
background: #EEEEED;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.localLink:hover
|
||||
{
|
||||
color: #1382CE;
|
||||
background: #FFFF99;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Center text, used in the over views cells that contain message level counts */
|
||||
.textCentered
|
||||
{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* The message cells in message tables should take up all avaliable space */
|
||||
.messageCell
|
||||
{
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Padding around the content after the h1 */
|
||||
#content
|
||||
{
|
||||
padding: 0px 12px 12px 12px;
|
||||
}
|
||||
|
||||
/* The overview table expands to width, with a max width of 97% */
|
||||
#overview table
|
||||
{
|
||||
width: auto;
|
||||
max-width: 75%;
|
||||
}
|
||||
|
||||
/* The messages tables are always 97% width */
|
||||
#messages table
|
||||
{
|
||||
width: 97%;
|
||||
}
|
||||
|
||||
/* All Icons */
|
||||
.IconSuccessEncoded, .IconInfoEncoded, .IconWarningEncoded, .IconErrorEncoded
|
||||
{
|
||||
min-width:18px;
|
||||
min-height:18px;
|
||||
background-repeat:no-repeat;
|
||||
background-position:center;
|
||||
}
|
||||
|
||||
/* Success icon encoded */
|
||||
.IconSuccessEncoded
|
||||
{
|
||||
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
|
||||
/* [---XsltValidateInternal-Base64EncodedImage:IconSuccess#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABcElEQVR4Xq2TsUsCURzHv15g8ZJcBWlyiYYgCIWcb9DFRRwMW5TA2c0/QEFwFkxxUQdxVlBwCYWOi6IhWgQhBLHJUCkhLr/BW8S7gvrAg+N+v8/v+x68Z8MGy+XSCyABQAXgBgHGALoASkIIDWSLeLBetdHryMjd5IxQPWT4rn1c/P7+xxp72Cs9m5SZ0Bq2vPnbPFafK2zDvmNHypdC0BPkLlQhxJsCAhQoZwdZU5mwxh720qGo8MzTxTTKZDPCx2HoVzp6lz0Q9tKhyx0kGs8Ny+TkWRKk8lCROwEduhyg9l/6lunOPSfmH3NUH6uQ0KHLAe7JYvJjevm+DAMGJHToKtigE+vwvIidxLamb8IBY9e+C5LiXREkfho3TSd06HJA13/oh6T51MTsfQbHrsMynQ5dDihFjiK8JJAU9AKIWTp76dCVN7HWHrajmUEGvyF9nkbAE6gLIS7kTUyuf2gscLoJrElZo/Mvj+nPz/kLTmfnEwP3tB0AAAAASUVORK5CYII=);
|
||||
}
|
||||
|
||||
/* Information icon encoded */
|
||||
.IconInfoEncoded
|
||||
{
|
||||
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
|
||||
/* [---XsltValidateInternal-Base64EncodedImage:IconInformation#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABHElEQVR4Xs2TsUoDQRRF7wwoziokjZUKadInhdhukR9YP8DMX1hYW+QvdsXa/QHBbcXC7W0CamWTQnclFutceIQJwwaWNLlwm5k5d94M76mmaeCrrmsLYOocY12FcxZFUeozCqKqqgYA8uevv1H6VuPxcwlfk5N92KHBxfFeCSAxxswlYAW/Xr989x/mv9gkhtyMDhcAxgzRsp7flj8B/HF1RsMXq+NZMkopaHe7lbKxQUEIGbKsYNoGn969060hZBkQex/W8oRQwsQaW2o3Ago2SVcJUzAgY3N0lTCZZm+zPS8HB51gMmS1DEYyOz9acKO1D8JWTlafKIMxdhvlfdyT94Vv5h7P8Ky7nQzACmhvKq3zk3PjW9asz9D/1oigecsioooAAAAASUVORK5CYII=);
|
||||
}
|
||||
|
||||
/* Warning icon encoded */
|
||||
.IconWarningEncoded
|
||||
{
|
||||
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
|
||||
/* [---XsltValidateInternal-Base64EncodedImage:IconWarning#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAx0lEQVR4XpWSMQ7CMAxFf4xAyBMLCxMrO8dhaBcuwdCJS3RJBw7SA/QGTCxdWJgiQYWKXJWKIXHIlyw5lqr34tQgEOdcBsCOx5yZK3hCCKdYXneQkh4pEfqzLfu+wVDSyyzFoJjfz9NB+pAF+eizx2Vruts0k15mPgvS6GYvpVtQhB61IB/dk6AF6fS4Ben0uIX5odtFe8Q/eW1KvFeH4e8khT6+gm5B+t3juyDt7n0jpe+CANTd+oTUjN/U3yVaABnSUjFz/gFq44JaVSCXeQAAAABJRU5ErkJggg==);
|
||||
}
|
||||
|
||||
/* Error icon encoded */
|
||||
.IconErrorEncoded
|
||||
{
|
||||
/* Note: Do not delete the comment below. It is used to verify the correctness of the encoded image resource below before the product is released */
|
||||
/* [---XsltValidateInternal-Base64EncodedImage:IconError#Begin#background-image: url(data:image/png;base64,#Separator#);#End#] */
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABQElEQVR4XqWTvUoEQRCE6wYPZUA80AfwAQz23uCMjA7MDRQEIzPBVEyNTQUFIw00vcQTTMzuAh/AxEQQT8HF/3G/oGGnEUGuoNnd6qoZuqltyKEsyzVJq5I6rnUp6SjGeGhESikzzlc1eL7opfuVbrqbU1Zw9NCgtQMaZpY0eNnaaL2fHusvTK5vKu7sjSS1Y4y3QUA6K3e3Mau5UFDyMP7tYF9o8cAHZv68vipoIJg971PZIZ5HiwdvYGGvFVFHmGmZ2MxwmQYPXubPl9Up0tfoMQGetXd6mRbvhBw+boZ6WF7Mbv1+GsHRk0fQmPAH1GfmZirbCfDJ61tw3Px8/8pZsPAG4jlVhcPgZ7adwNWBB68lkRQWFiTgFlbnLY3DGGM7izIJIyT/jjIvEJw6fdJTc6krDzh6aMwMP9bvDH4ADSsa9uSWVJkAAAAASUVORK5CYII=);
|
||||
}
|
||||
</style><script type="text/javascript" language="javascript">
|
||||
|
||||
// Startup
|
||||
// Hook up the the loaded event for the document/window, to linkify the document content
|
||||
var startupFunction = function() { linkifyElement("messages"); };
|
||||
|
||||
if(window.attachEvent)
|
||||
{
|
||||
window.attachEvent('onload', startupFunction);
|
||||
}
|
||||
else if (window.addEventListener)
|
||||
{
|
||||
window.addEventListener('load', startupFunction, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
document.addEventListener('load', startupFunction, false);
|
||||
}
|
||||
|
||||
// Toggles the visibility of table rows with the specified name
|
||||
function toggleTableRowsByName(name)
|
||||
{
|
||||
var allRows = document.getElementsByTagName('tr');
|
||||
for (i=0; i < allRows.length; i++)
|
||||
{
|
||||
var currentName = allRows[i].getAttribute('name');
|
||||
if(!!currentName && currentName.indexOf(name) == 0)
|
||||
{
|
||||
var isVisible = allRows[i].style.display == '';
|
||||
isVisible ? allRows[i].style.display = 'none' : allRows[i].style.display = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function scrollToFirstVisibleRow(name)
|
||||
{
|
||||
var allRows = document.getElementsByTagName('tr');
|
||||
for (i=0; i < allRows.length; i++)
|
||||
{
|
||||
var currentName = allRows[i].getAttribute('name');
|
||||
var isVisible = allRows[i].style.display == '';
|
||||
if(!!currentName && currentName.indexOf(name) == 0 && isVisible)
|
||||
{
|
||||
allRows[i].scrollIntoView(true);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Linkifies the specified text content, replaces candidate links with html links
|
||||
function linkify(text)
|
||||
{
|
||||
if(!text || 0 === text.length)
|
||||
{
|
||||
return text;
|
||||
}
|
||||
|
||||
// Find http, https and ftp links and replace them with hyper links
|
||||
var urlLink = /(http|https|ftp)\:\/\/[a-zA-Z0-9\-\.]+(:[a-zA-Z0-9]*)?\/?([a-zA-Z0-9\-\._\?\,\/\\\+&%\$#\=~;\{\}])*/gi;
|
||||
|
||||
return text.replace(urlLink, '<a href="$&">$&</a>') ;
|
||||
}
|
||||
|
||||
// Linkifies the specified element by ID
|
||||
function linkifyElement(id)
|
||||
{
|
||||
var element = document.getElementById(id);
|
||||
if(!!element)
|
||||
{
|
||||
element.innerHTML = linkify(element.innerHTML);
|
||||
}
|
||||
}
|
||||
|
||||
function ToggleMessageVisibility(projectName)
|
||||
{
|
||||
if(!projectName || 0 === projectName.length)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
toggleTableRowsByName("MessageRowClass" + projectName);
|
||||
toggleTableRowsByName('MessageRowHeaderShow' + projectName);
|
||||
toggleTableRowsByName('MessageRowHeaderHide' + projectName);
|
||||
}
|
||||
|
||||
function ScrollToFirstVisibleMessage(projectName)
|
||||
{
|
||||
if(!projectName || 0 === projectName.length)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// First try the 'Show messages' row
|
||||
if(!scrollToFirstVisibleRow('MessageRowHeaderShow' + projectName))
|
||||
{
|
||||
// Failed to find a visible row for 'Show messages', try an actual message row
|
||||
scrollToFirstVisibleRow('MessageRowClass' + projectName);
|
||||
}
|
||||
}
|
||||
</script></head><body><h1 _locID="ConversionReport">
|
||||
迁移报告 - </h1><div id="content"><h2 _locID="OverviewTitle">概述</h2><div id="overview"><table><tr><th></th><th _locID="ProjectTableHeader">项目</th><th _locID="PathTableHeader">路径</th><th _locID="ErrorsTableHeader">错误</th><th _locID="WarningsTableHeader">警告</th><th _locID="MessagesTableHeader">消息</th></tr><tr><td class="IconErrorEncoded" /><td><strong><a href="#BLL">BLL</a></strong></td><td>BLL\BLL.csproj</td><td class="textCentered"><a href="#BLLError">1</a></td><td class="textCentered"><a>0</a></td><td class="textCentered"><a href="#">0</a></td></tr></table></div><h2 _locID="SolutionAndProjectsTitle">解决方案和项目</h2><div id="messages"><a name="BLL" /><h3>BLL</h3><table><tr id="BLLHeaderRow"><th></th><th class="messageCell" _locID="MessageTableHeader">消息</th></tr><tr name="ErrorRowClassBLL"><td class="IconErrorEncoded"><a name="BLLError" /></td><td class="messageCell"><strong>BLL\BLL.csproj:
|
||||
</strong><span>行 -252221168 出错。应为“ENCODING”,却发现是“utf-8”。</span></td></tr></table></div></div></body></html>
|
||||
|
|
@ -260,10 +260,6 @@
|
|||
<Content Include="Scripts\jquery-3.3.1.min.map" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\BLL\BLL.csproj">
|
||||
<Project>{bbc7282a-9e2b-4bd6-9c6d-333cefc6f332}</Project>
|
||||
<Name>BLL</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Model\Model.csproj">
|
||||
<Project>{fd1e1931-1688-4b4a-bcd6-335a81465343}</Project>
|
||||
<Name>Model</Name>
|
||||
|
|
|
|||
Loading…
Reference in New Issue