tmp
This commit is contained in:
BIN
ShowTrend_tmp3/.vs/ShowTrend3/DesignTimeBuild/.dtbcache
Normal file
BIN
ShowTrend_tmp3/.vs/ShowTrend3/DesignTimeBuild/.dtbcache
Normal file
Binary file not shown.
BIN
ShowTrend_tmp3/.vs/ShowTrend3/v15/.suo
Normal file
BIN
ShowTrend_tmp3/.vs/ShowTrend3/v15/.suo
Normal file
Binary file not shown.
BIN
ShowTrend_tmp3/.vs/ShowTrend3/v15/Server/sqlite3/storage.ide
Normal file
BIN
ShowTrend_tmp3/.vs/ShowTrend3/v15/Server/sqlite3/storage.ide
Normal file
Binary file not shown.
BIN
ShowTrend_tmp3/.vs/ShowTrend3/v15/Server/sqlite3/storage.ide-shm
Normal file
BIN
ShowTrend_tmp3/.vs/ShowTrend3/v15/Server/sqlite3/storage.ide-shm
Normal file
Binary file not shown.
BIN
ShowTrend_tmp3/.vs/ShowTrend3/v15/Server/sqlite3/storage.ide-wal
Normal file
BIN
ShowTrend_tmp3/.vs/ShowTrend3/v15/Server/sqlite3/storage.ide-wal
Normal file
Binary file not shown.
25
ShowTrend_tmp3/ShowTrend3.sln
Normal file
25
ShowTrend_tmp3/ShowTrend3.sln
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27703.2000
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShowTrend3", "ShowTrend3\ShowTrend3.csproj", "{AC3F23BE-4077-4CC8-BA6D-76E4B385E7B1}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{AC3F23BE-4077-4CC8-BA6D-76E4B385E7B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{AC3F23BE-4077-4CC8-BA6D-76E4B385E7B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{AC3F23BE-4077-4CC8-BA6D-76E4B385E7B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{AC3F23BE-4077-4CC8-BA6D-76E4B385E7B1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {7AA8D112-D707-42B5-B68F-E10DD3EE9959}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
196
ShowTrend_tmp3/ShowTrend3/Controllers/APIController.cs
Normal file
196
ShowTrend_tmp3/ShowTrend3/Controllers/APIController.cs
Normal file
@@ -0,0 +1,196 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using ShowTrend3.Libs;
|
||||
|
||||
namespace ShowTrend3.Controllers
|
||||
{
|
||||
public class APIController : Controller
|
||||
{
|
||||
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult DirBrowse([FromBody] JObject date)
|
||||
{
|
||||
string[] dateArr = date["date"].ToString().Split('-');
|
||||
DateTime dateRequest = new DateTime(Int32.Parse(dateArr[0]), Int32.Parse(dateArr[1]), Int32.Parse(dateArr[2]));
|
||||
string request = dateArr[0] + "/" + dateArr[1] + "/" + dateArr[2];
|
||||
|
||||
NetClient netClient = new NetClient();
|
||||
|
||||
Queue<string> dir1 = netClient.DirBrowse(request);
|
||||
|
||||
Queue<string> dir2 = new Queue<string>();
|
||||
if (dateRequest.Year == DateTime.Now.Year &&
|
||||
dateRequest.Month == DateTime.Now.Month &&
|
||||
dateRequest.Day == DateTime.Now.Day)
|
||||
dir2 = netClient.DirBrowse("current");
|
||||
|
||||
JArray result = new JArray();
|
||||
|
||||
while(dir1.Count != 0)
|
||||
{
|
||||
string r = dir1.Dequeue();
|
||||
if (string.IsNullOrEmpty(r.Split('.')[0]))
|
||||
continue;
|
||||
string name = r.Split('.')[0];
|
||||
string[] temp = name.Split('-');
|
||||
name = temp[1];
|
||||
for (int j = 2; j < temp.Length; j++)
|
||||
name += "-" + temp[j];
|
||||
JObject val = new JObject
|
||||
{
|
||||
["Dir"] = request + "/" + r,
|
||||
["Name"] = name
|
||||
};
|
||||
result.Add(val);
|
||||
}
|
||||
|
||||
List<int> nameTemp = new List<int>();
|
||||
while(dir2.Count != 0)
|
||||
{
|
||||
string r = dir2.Dequeue();
|
||||
if (!string.IsNullOrEmpty(r.Split('.')[1]))
|
||||
nameTemp.Add(Int32.Parse(r.Split('.')[1]));
|
||||
}
|
||||
nameTemp.Sort();
|
||||
for (int i = 0; i < nameTemp.Count; i++)
|
||||
{
|
||||
JObject val = new JObject
|
||||
{
|
||||
["Dir"] = "current/VDP." + nameTemp[i].ToString().PadLeft(2, '0'),
|
||||
["Name"] = "Печь №" + nameTemp[i]
|
||||
};
|
||||
result.Add(val);
|
||||
}
|
||||
|
||||
return Content(result.ToString());
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult Pasport([FromBody] JObject date)
|
||||
{
|
||||
NetClient netClient = new NetClient();
|
||||
PasportVDP pasp = netClient.PaspDownload(date["pasport"].ToString());
|
||||
JObject result = new JObject()
|
||||
{
|
||||
["have_date"] = pasp.HaveDate,
|
||||
["have_pasport"] = pasp.HavePasport,
|
||||
["time_start"] = pasp.TimeStart.ToString(),
|
||||
["time_end"] = pasp.TimeEnd.ToString()
|
||||
};
|
||||
if (!pasp.HavePasport)
|
||||
return Content(result.ToString());
|
||||
result.Add("num_plav", pasp.NPlav);
|
||||
result.Add("splav", pasp.Splav);
|
||||
result.Add("is", pasp._is);
|
||||
result.Add("pereplav", pasp.PrPl);
|
||||
result.Add("naznachenie", pasp.Nazn);
|
||||
result.Add("kategory", pasp.Kat);
|
||||
result.Add("zakaz", pasp.Zakaz);
|
||||
result.Add("ves_slit", pasp.VesSlit);
|
||||
result.Add("kompl", pasp.Kompl);
|
||||
result.Add("diam_krist", pasp.Dkr);
|
||||
result.Add("diam_electr", pasp.Diam);
|
||||
result.Add("num_kontract", pasp.Nkon);
|
||||
result.Add("ukazanie", pasp.Ukaz);
|
||||
|
||||
result.Add("kod_npl", pasp.KodNPlav.ToString());
|
||||
result.Add("rm", pasp.RM);
|
||||
result.Add("notd", pasp.Notd.ToString());
|
||||
result.Add("tin", pasp.Tin);
|
||||
result.Add("dzap", pasp.Dzap);
|
||||
result.Add("dlog", pasp.Dlog.ToString());
|
||||
result.Add("last", pasp.Last.ToString());
|
||||
result.Add("dlper", pasp.Dlper.ToString());
|
||||
result.Add("izl", pasp.Izl.ToString());
|
||||
result.Add("robm", pasp.Robm.ToString());
|
||||
result.Add("rizol", pasp.Rizol.ToString());
|
||||
result.Add("pos", pasp.Pos);
|
||||
result.Add("pril", pasp.Pril);
|
||||
return Content(result.ToString());
|
||||
}
|
||||
public async Task<IActionResult> TechCycle([FromBody] JObject date)
|
||||
{
|
||||
NetClient netClient = new NetClient();
|
||||
if (!int.TryParse(date["vdp"].ToString(), out int vdp) ||
|
||||
!DateTime.TryParse(date["timeStart"].ToString(), out DateTime timeStart) ||
|
||||
!DateTime.TryParse(date["timeEnd"].ToString(), out DateTime timeEnd))
|
||||
return Content("[]");
|
||||
|
||||
var techCycle = await netClient.TechCycle(vdp, timeStart, timeEnd);
|
||||
JArray result = new JArray();
|
||||
|
||||
foreach (var e in techCycle)
|
||||
{
|
||||
if (e.Key < timeStart ||
|
||||
e.Key > timeEnd)
|
||||
continue;
|
||||
var x = new TechCycle();
|
||||
result.Add(new JObject() {
|
||||
["date"] = e.Key.ToString(),
|
||||
["value"] = x.CycleName[e.Value],
|
||||
["color"] = x.ConvertColorHexToRGB(x.CycleColorHex[e.Value])
|
||||
});
|
||||
}
|
||||
|
||||
return Content(result.ToString());
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<IActionResult> Analog([FromBody] JObject date)
|
||||
{
|
||||
TempDir.Clear();
|
||||
NetClient netClient = new NetClient();
|
||||
if (date.Type != JTokenType.Object ||
|
||||
date["vdp"].Type != JTokenType.Integer ||
|
||||
date["timeStart"].Type != JTokenType.String ||
|
||||
date["timeEnd"].Type != JTokenType.String ||
|
||||
date["signals"].Type != JTokenType.Array)
|
||||
return Content("[]");
|
||||
if (!DateTime.TryParse(date.Value<string>("timeStart"), out DateTime timeStart) ||
|
||||
!DateTime.TryParse(date.Value<string>("timeEnd"), out DateTime timeEnd))
|
||||
return Content("[]");
|
||||
|
||||
List<int> vdp = new List<int> { date.Value<int>("vdp") };
|
||||
if (date.Value<int>("vdp") >= 1 && date.Value<int>("vdp") <= 48)
|
||||
{
|
||||
vdp.Add(49);
|
||||
vdp.Add(0);
|
||||
}
|
||||
|
||||
StringBuilder res = new StringBuilder();
|
||||
res.Append("[]");
|
||||
int correct = 0;
|
||||
for (int i = 0; i < vdp.Count; i++)
|
||||
{
|
||||
int analogLength = new AnalogSignals(vdp[i]).analogs.Count;
|
||||
List<int> signals = new List<int>();
|
||||
foreach (var e in date["signals"])
|
||||
if (e.Type == JTokenType.Integer && e.Value<int>() - correct >= 0 && e.Value<int>() - correct < analogLength)
|
||||
signals.Add(e.Value<int>() - correct);
|
||||
var a = await netClient.Analog(vdp[i], timeStart.ToUniversalTime(), timeEnd.ToUniversalTime(), signals.ToArray());
|
||||
CustomConverters.CompareStringBuilder(ref res, a.ReturnResultJson());
|
||||
correct += analogLength;
|
||||
}
|
||||
return Content(res.ToString());
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult ListAnalog([FromBody] JObject date)
|
||||
{
|
||||
if (date.Type != JTokenType.Object || date["vdp"].Type != JTokenType.Integer)
|
||||
return Content("[]");
|
||||
StringBuilder res = new AnalogSignals(date.Value<int>("vdp")).ReturnListJson();
|
||||
if (date.Value<int>("vdp") >= 1 && date.Value<int>("vdp") <= 48)
|
||||
{
|
||||
CustomConverters.CompareStringBuilder(ref res, new AnalogSignals(49).ReturnListJson());
|
||||
CustomConverters.CompareStringBuilder(ref res, new AnalogSignals(0).ReturnListJson());
|
||||
}
|
||||
return Content(res.ToString());
|
||||
}
|
||||
}
|
||||
}
|
21
ShowTrend_tmp3/ShowTrend3/Controllers/SauController.cs
Normal file
21
ShowTrend_tmp3/ShowTrend3/Controllers/SauController.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace ShowTrend3.Controllers
|
||||
{
|
||||
public class SauController : Controller
|
||||
{
|
||||
public IActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
public IActionResult Analog()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
262
ShowTrend_tmp3/ShowTrend3/Libs/AnalogSignals.cs
Normal file
262
ShowTrend_tmp3/ShowTrend3/Libs/AnalogSignals.cs
Normal file
@@ -0,0 +1,262 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ShowTrend3.Libs
|
||||
{
|
||||
public class AnalogSignals
|
||||
{
|
||||
public int VDP = -1;
|
||||
public List<Analog> analogs = new List<Analog>();
|
||||
public int[] retAnalogs = new int[0];
|
||||
public AnalogSignals(int VDP)
|
||||
{
|
||||
this.VDP = VDP;
|
||||
if (VDP == 49)
|
||||
{
|
||||
analogs.Add(new Analog() { id = new int[] { 92, 93 }, v = false, n = "Энергия плавильного пролёта", sn = "Эн.пролёта, МВт", s = "МВт", m = 0.1 });
|
||||
}
|
||||
if (VDP >= 1 && VDP <= 47)
|
||||
{
|
||||
analogs.Add(new Analog() { id = new int[] { 0, 1 }, v = true, s = "кА", m = 0.1, n = "Ток дуги", sn = "I д" });
|
||||
analogs.Add(new Analog() { id = new int[] { 2, 3 }, v = true, s = "В", m = 0.1, n = "Напряжение дуги", sn = "U д" });
|
||||
analogs.Add(new Analog() { id = new int[] { 4, 5 }, v = false, s = "А", m = 0.1, n = "Ток рабочего двигателя", sn = "I рд"});
|
||||
analogs.Add(new Analog() { id = new int[] { 6, 7 }, v = false, s = "В", m = 0.1, n = "U рабочего двигателя", sn = "U рд"});
|
||||
analogs.Add(new Analog() { id = new int[] { 8, 9 }, v = false, s = "А", m = 0.1, n = "Ток соленоида", sn = "I сол"});
|
||||
analogs.Add(new Analog() { id = new int[] { 10, 1 }, v = false, s = "В", m = 0.1, n = "U соленоида", sn = "U сол"});
|
||||
analogs.Add(new Analog() { id = new int[] { 12, 13 }, v = false, s = "кА", m = 0.1, n = "Ток задания", sn = "I рз"});
|
||||
analogs.Add(new Analog() { id = new int[] { 14, 15 }, v = false, s = "гр.С", m = 1, n = "t кристаллизатора на входе", sn = "t кр.вых"});
|
||||
analogs.Add(new Analog() { id = new int[] { 16, 17 }, v = false, s = "гр.С", m = 1, n = "t кристаллизатора на выходе", sn = "t кр.вх"});
|
||||
analogs.Add(new Analog() { id = new int[] { 18, 19 }, v = false, s = "гр.С", m = 1, n = "t вакуум-камеры", sn = "t вак-кам"});
|
||||
analogs.Add(new Analog() { id = new int[] { 20, 21 }, v = false, s = "гр.С", m = 1, n = "t штока", sn = "t шт"});
|
||||
analogs.Add(new Analog() { id = new int[] { 22, 23 }, v = false, s = "В", m = 0.1, n = "U контроля", sn = "U конт"});
|
||||
analogs.Add(new Analog() { id = new int[] { 24, 25 }, v = true, s = "мм", m = 1, n = "Перемещение", sn = "S шт"});
|
||||
analogs.Add(new Analog() { id = new int[] { 26, 27 }, v = true, s = "мкм.рт.с", m = 0.1, n = "Вакуум", sn = "Вакуум"});
|
||||
analogs.Add(new Analog() { id = new int[] { 28, 29 }, v = false, s = "В", m = 0.1, n = "Изоляция шток-крышка", sn = "R шт-кр"});
|
||||
analogs.Add(new Analog() { id = new int[] { 30, 31 }, v = false, s = "В", m = 0.1, n = "Изоляция крышка-камера", sn = "R кр-кам"});
|
||||
analogs.Add(new Analog() { id = new int[] { 32, 33 }, v = false, s = "м^3/ч", m = 1, n = "Расход воды", sn = "Q в.кр"});
|
||||
analogs.Add(new Analog() { id = new int[] { 34, 35 }, v = true, s = "", m = 1, n = "Капельные замыкания", sn = "Кап.зам."});
|
||||
analogs.Add(new Analog() { id = new int[] { 36, 37 }, v = false, s = "", m = 1, n = "Усреднённая ширина импульсов КЗ", sn = "Кап.зым."});
|
||||
analogs.Add(new Analog() { id = new int[] { 38, 39 }, v = false, s = "м^3/ч", m = 0.1, n = "Проток воды фланца", sn = "Qв. фл."});
|
||||
analogs.Add(new Analog() { id = new int[] { 40, 41 }, v = false, s = "м^3/ч", m = 0.1, n = "Проток воды штока", sn = "Qв. шт."});
|
||||
analogs.Add(new Analog() { id = new int[] { 42, 43 }, v = false, s = "кгс/см^2", m = 0.01, n = "Давление воды крист.+1,5", sn = "P в.кр"});
|
||||
analogs.Add(new Analog() { id = new int[] { 44, 45 }, v = false, s = "м^3/ч", m = 0.1, n = "Проток воды камеры", sn = "Qв. кам."});
|
||||
|
||||
analogs.Add(new Analog() { id = new int[] { 58, 59 }, v = false, s = "кА", m = 0.1, n = "Ток задания источника(САУ)", sn = "I з.ист САУ"});
|
||||
|
||||
analogs.Add(new Analog() { id = new int[] { 62, 63 }, v = false, s = "В", m = 0.1, n = "ПИД-рег. основная уставка", sn = "ПИД-осн"});
|
||||
analogs.Add(new Analog() { id = new int[] { 64, 65 }, v = false, s = "В", m = 0.1, n = "ПИД-рег. макс. скорость", sn = "ПИД-макс"});
|
||||
analogs.Add(new Analog() { id = new int[] { 66, 67 }, v = false, s = "гр.С", m = 1, n = "t фланца вакуум-камеры", sn = "t фл."});
|
||||
analogs.Add(new Analog() { id = new int[] { 68, 69 }, v = false, s = "гр.С", m = 1, n = "t подставки", sn = "t под."});
|
||||
analogs.Add(new Analog() { id = new int[] { 70, 71 }, v = false, s = "м^3/ч", m = 1, n = "Проток воды подставки", sn = "Qв. под."});
|
||||
analogs.Add(new Analog() { id = new int[] { 72, 73 }, v = false, s = "А", m = 0.1, n = "Задание соленоида", sn = "Зад. сол."});
|
||||
analogs.Add(new Analog() { id = new int[] { 74, 75 }, v = false, s = "кА", m = 1, n = "Ток задания источника(преобраз.)", sn = "I з.ист. преоб."});
|
||||
|
||||
analogs.Add(new Analog() { id = new int[] { 78, 79 }, v = false, s = "мм.рт.ст", m = 0.1, n = "Вакуум по МЕТРАН-1200", sn = "МЕТРАН-1200"});
|
||||
analogs.Add(new Analog() { id = new int[] { 80, 81 }, v = false, s = "мм.рт.ст", m = 0.001, n = "Вакуум по МЕТРАН-18,75", sn = "МЕТРАН-18,25"});
|
||||
analogs.Add(new Analog() { id = new int[] { 82, 83 }, v = false, s = "кгс/см^2", m = 0.1, n = "Давление газа в баллоне", sn = "P г.балл."});
|
||||
analogs.Add(new Analog() { id = new int[] { 84, 85 }, v = false, s = "кгс/см^2", m = 0.1, n = "Давление воды поддона", sn = "P в.подд."});
|
||||
analogs.Add(new Analog() { id = new int[] { 86, 87 }, v = false, s = "кА", m = 0.1, n = "Задание тока дуги (ЦАП)", sn = "Зад.I, ЦАП"});
|
||||
analogs.Add(new Analog() { id = new int[] { 88, 89 }, v = false, s = "В", m = 0.1, n = "Задкние скорости рабочего двигателя", sn = "Зад.ск.раб.дв"});
|
||||
analogs.Add(new Analog() { id = new int[] { 90, 91 }, v = false, s = "А", m = 0.01, n = "Ток двигателя насоса ARPW", sn = "I дв. ARPW"});
|
||||
|
||||
analogs.Add(new Analog() { id = new int[] { 94, 95 }, v = false, s = "В", m = 1, n = "Среднее напряжение плавления", sn = "U средн, В"});
|
||||
analogs.Add(new Analog() { id = new int[] { 90, 91 }, v = false, s = "А", m = 1, n = "ГМП: ток катушки 1", sn = "I кат1 ГМП"});
|
||||
analogs.Add(new Analog() { id = new int[] { 90, 91 }, v = false, s = "А", m = 1, n = "ГМП: ток катушки 2", sn = "I кат2 ГМП"});
|
||||
analogs.Add(new Analog() { id = new int[] { 90, 91 }, v = false, s = "А", m = 1, n = "ГМП: ток катушки 3", sn = "I кат3 ГМП"});
|
||||
analogs.Add(new Analog() { id = new int[] { 90, 91 }, v = false, s = "Гц", m = 1, n = "ГМП: частота", sn = "Част. ГМП"});
|
||||
}
|
||||
if (VDP == 1)
|
||||
{
|
||||
analogs.Add(new Analog() { id = new int[] { 99, 100 }, v = false, s = "кг", m = 0.1, n = "Масса стружки оставшаяся", sn = "Масс. стр. ост." });
|
||||
}
|
||||
|
||||
if (VDP >= 91 && VDP <= 92)
|
||||
{
|
||||
analogs.Add(new Analog() { id = new int[] { 80, 81 }, v = false, s = "В", m = 0.1, n = "Дельта U", sn = "dU" });
|
||||
for (int i = 0; i < 3; i++) analogs.Add(new Analog() { id = new int[] { i * 2 + 82, i * 2 + 83 }, v = false, s = "кА", m = 0.1, n = "Ток ДБТ" + (i + 1), sn = "I ДБТ" + (i + 1) });
|
||||
analogs.Add(new Analog() { id = new int[] { 104, 105 }, v = false, s = "гр.С", m = 0.1, n = "Температура в точке №41", sn = "t41" });
|
||||
analogs.Add(new Analog() { id = new int[] { 106, 107 }, v = false, s = "кПа", m = 0.1, n = "Давление водооборота", sn = "p водооб" });
|
||||
analogs.Add(new Analog() { id = new int[] { 112, 113 }, v = false, s = "кгс/см^2", m = 0.1, n = "Давление масла над поршнем", sn = "P мнп" });
|
||||
analogs.Add(new Analog() { id = new int[] { 114, 115 }, v = false, s = "кгс/см^2", m = 0.1, n = "Давление масла под поршнем", sn = "P мпп" });
|
||||
}
|
||||
if (VDP >= 93 && VDP <= 94)
|
||||
{
|
||||
for (int i = 0; i < 2; i++) analogs.Add(new Analog() { id = new int[] { i * 2 + 76, i * 2 + 77 }, v = false, s = "кА", m = 0.1, n = "Ток нижних подводов шина " + (i + 1), sn = "I шина" + i });
|
||||
for (int i = 0; i < 4; i++) analogs.Add(new Analog() { id = new int[] { i * 2 + 80, i * 2 + 81 }, v = false, s = "кА", m = 0.1, n = "Ток нижних подводов шина " + (i + 3), sn = "I шина" + (i + 3) });
|
||||
for (int i = 0; i < 2; i++) analogs.Add(new Analog() { id = new int[] { i * 2 + 104, i * 2 + 105 }, v = false, s = "кА", m = 0.1, n = "Ток нижних подводов шина " + (i + 7), sn = "I шина" + (i + 7) });
|
||||
analogs.Add(new Analog() { id = new int[] { 112, 113 }, v = false, s = "кгс/см^2", m = 0.1, n = "Давление в верх. цилиндре прижима", sn = "P в.цил." });
|
||||
analogs.Add(new Analog() { id = new int[] { 114, 115 }, v = false, s = "кгс/см^2", m = 0.1, n = "Давление в нижн. цилиндре прижима", sn = "P в.цил." });
|
||||
}
|
||||
if (VDP >= 91 && VDP <= 94)
|
||||
{
|
||||
for (int i = 0; i < 9; i++) analogs.Add(new Analog() { id = new int[] { i * 2, i * 2 + 1 }, v = false, s = "гр.С", m = 0.1, n = "Температура в точке №" + (i + 1), sn = "t" + (i + 1)});
|
||||
for (int i = 9; i < 18; i++) analogs.Add(new Analog() { id = new int[] { i * 2, i * 2 + 1 }, v = false, s = "гр.С", m = 0.1, n = "Температура в точке №" + (i + 2), sn = "t" + (i + 2)});
|
||||
for (int i = 18; i < 38; i++) analogs.Add(new Analog() { id = new int[] { i * 2, i * 2 + 1 }, v = false, s = "гр.С", m = 0.1, n = "Температура в точке №" + (i + 3), sn = "t" + (i + 3)});
|
||||
|
||||
analogs.Add(new Analog() { id = new int[] { 88, 89}, v = false, s = "А", m = 1, n = "Ток рабочего двигателя", sn = "I рд"});///??? mnoj
|
||||
analogs.Add(new Analog() { id = new int[] { 90, 91 }, v = false, s = "В", m = 0.1, n = "Напряжение рабоч. двигателя", sn = "U рд"});
|
||||
analogs.Add(new Analog() { id = new int[] { 92, 93 }, v = false, s = "В", m = 0.1, n = "Сопротивление изол. на плавке", sn = "U шт-кр"});
|
||||
analogs.Add(new Analog() { id = new int[] { 94, 95 }, v = false, s = "кОм", m = 0.1, n = "Сопротивление изол. шток-крышка", sn = "R изол"});
|
||||
analogs.Add(new Analog() { id = new int[] { 96, 97 }, v = false, s = "В", m = 0.1, n = "Уставка по напряжению дуги", sn = "U уст"});
|
||||
|
||||
analogs.Add(new Analog() { id = new int[] { 100, 101 }, v = false, s = "мкм.рт.с", m = 0.1, n = "Вакуум по Ceravac", sn = "Ceravac"});
|
||||
analogs.Add(new Analog() { id = new int[] { 102, 103 }, v = false, s = "кПа", m = 0.1, n = "Вакуум по МЕТРАН-2.5", sn = "МЕТРАН 2.5"});
|
||||
|
||||
analogs.Add(new Analog() { id = new int[] { 108, 109 }, v = false, s = "гр", m = 0.1, n = "Угол поворота тигля", sn = "П.тиг"});
|
||||
analogs.Add(new Analog() { id = new int[] { 110, 111 }, v = false, s = "кПа", m = 0.1, n = "Вакуум по МЕТРАН-1200", sn = "МЕТРАН 1200"});
|
||||
|
||||
analogs.Add(new Analog() { id = new int[] { 116, 117 }, v = true, s = "мм", m = 0.1, n = "Перемещение штока", sn = "S шт"});
|
||||
analogs.Add(new Analog() { id = new int[] { 118, 119 }, v = false, s = "кВт*ч", m = 1, n = "Затраченная электр. энергия", sn = "Энергия"});
|
||||
analogs.Add(new Analog() { id = new int[] { 120, 121 }, v = true, s = "кА", m = 0.1, n = "Ток дуги", sn = "I д"});
|
||||
analogs.Add(new Analog() { id = new int[] { 122, 123 }, v = true, s = "В", m = 0.1, n = "Напряжение дуги", sn = "U д"});
|
||||
analogs.Add(new Analog() { id = new int[] { 124, 125 }, v = true, s = "мм^3/ч", m = 0.2, n = "Расход воды", sn = "Q в"}); ///???
|
||||
analogs.Add(new Analog() { id = new int[] { 126, 127 }, v = true, s = "мкм.рт.с", m = 0.1, n = "Вакуум", sn = "Вакуум"});
|
||||
analogs.Add(new Analog() { id = new int[] { 128, 129 }, v = false, s = "кг", m = 1, n = "Вес слитого металла", sn = "Вес"});
|
||||
}
|
||||
analogs.Sort(SortDelegate);
|
||||
}
|
||||
public void AddSignals(DateTime d, List<byte?> b)
|
||||
{
|
||||
for (int e = 0; e < analogs.Count; e++)
|
||||
{
|
||||
bool flag = false;
|
||||
for (int i = 0; i < retAnalogs.Length; i++)
|
||||
flag |= (e == retAnalogs[i]);
|
||||
if (!flag)
|
||||
continue;
|
||||
byte?[] temp = new byte?[analogs[e].id.Length];
|
||||
for (int i = 0; i < temp.Length; i++)
|
||||
temp[i] = b[analogs[e].id[i]];
|
||||
analogs[e].AddSignal(d, temp);
|
||||
}
|
||||
}
|
||||
public StringBuilder ReturnListJson()
|
||||
{
|
||||
StringBuilder a = new StringBuilder();
|
||||
a.Append("[");
|
||||
foreach (var e in analogs)
|
||||
{
|
||||
a.Append("{");
|
||||
a.Append("\"fn\":\"" + e.n + "\",");
|
||||
a.Append("\"sn\":\"" + e.sn + "\",");
|
||||
a.Append("\"s\":\"" + e.s + "\",");
|
||||
a.Append("\"v\":");
|
||||
if (e.v)
|
||||
a.Append("true");
|
||||
else
|
||||
a.Append("false");
|
||||
a.Append("},");
|
||||
}
|
||||
if(a.Length > 1)
|
||||
a.Remove(a.Length - 1, 1);
|
||||
a.Append("]");
|
||||
return a;
|
||||
}
|
||||
public StringBuilder ReturnResultJson()
|
||||
{
|
||||
StringBuilder a = new StringBuilder();
|
||||
a.Append("[");
|
||||
for (int e = 0; e < analogs.Count; e++)
|
||||
{
|
||||
bool flag = false;
|
||||
for (int i = 0; i < retAnalogs.Length; i++)
|
||||
flag |= (e == retAnalogs[i]);
|
||||
if (!flag)
|
||||
continue;
|
||||
a.Append("[2,\"x\",\"y\"");
|
||||
if (analogs[e].answer.Length > 0)
|
||||
a.Append("," + analogs[e].answer);
|
||||
a.Append("],");
|
||||
}
|
||||
if(a.Length > 1)
|
||||
a.Remove(a.Length - 1, 1);
|
||||
a.Append("]");
|
||||
return a;
|
||||
}
|
||||
|
||||
private static int SortDelegate(Analog x, Analog y)
|
||||
{
|
||||
if (x.id == null || x.id.Length < 1)
|
||||
if (y.id == null || y.id.Length < 1) return 0;
|
||||
else return 1;
|
||||
else
|
||||
if (y.id == null || y.id.Length < 1) return -1;
|
||||
else return x.id[0].CompareTo(y.id[0]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class Analog
|
||||
{
|
||||
public int[] id = new int[0];
|
||||
public string n = "";
|
||||
public string sn = "";
|
||||
public string s = "";
|
||||
public double m = 1;
|
||||
public bool v = true;
|
||||
public StringBuilder answer = new StringBuilder();
|
||||
public List<(long x, double? y)> Signals = new List<(long, double?)>();
|
||||
public DateTime lastDate;
|
||||
public void AddSignal(DateTime d, byte?[] lh)
|
||||
{
|
||||
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
|
||||
long x = CustomConverters.JStDateConv(d);
|
||||
double? y = lh[0].HasValue && lh[1].HasValue ? n == "Вакуум" ?
|
||||
BitConverter.ToUInt16(new byte[] { (byte)lh[0], (byte)lh[1] }, 0) * m :
|
||||
BitConverter.ToInt16(new byte[] { (byte)lh[0], (byte)lh[1] }, 0) * m :
|
||||
(double?)null;
|
||||
try
|
||||
{
|
||||
if (Signals.Count == 0)
|
||||
{
|
||||
Signals.Add((x, y));
|
||||
return;
|
||||
}
|
||||
if (y == null)
|
||||
{
|
||||
Signals.Add((Signals.Last().x, y));
|
||||
Signals.Add((x, y));
|
||||
return;
|
||||
}
|
||||
|
||||
if (Signals.Count < 2 || y != Signals.Last().y ||
|
||||
y != Signals[Signals.Count - 2].y ||
|
||||
d < lastDate)
|
||||
{
|
||||
Signals.Add((x, y));
|
||||
return;
|
||||
}
|
||||
Signals.Add((x, y));
|
||||
Signals.RemoveAt(Signals.Count - 2);
|
||||
}
|
||||
finally
|
||||
{
|
||||
lastDate = d;
|
||||
while (Signals.Count > 3)
|
||||
{
|
||||
string yy = Signals[0].y.HasValue ? Signals[0].y.ToString() : "null";
|
||||
if (answer.Length != 0)
|
||||
answer.Append(",");
|
||||
answer.Append(Signals[0].x + "," + yy);
|
||||
Signals.RemoveAt(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void Finish()
|
||||
{
|
||||
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
|
||||
while (Signals.Count > 0)
|
||||
{
|
||||
string yy = Signals[0].y.HasValue ? Signals[0].y.ToString() : "null";
|
||||
if (answer.Length != 0)
|
||||
answer.Append(",");
|
||||
answer.Append(Signals[0].x + "," + yy);
|
||||
Signals.RemoveAt(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
67
ShowTrend_tmp3/ShowTrend3/Libs/Converters.cs
Normal file
67
ShowTrend_tmp3/ShowTrend3/Libs/Converters.cs
Normal file
@@ -0,0 +1,67 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ShowTrend3.Libs
|
||||
{
|
||||
public static class CustomConverters
|
||||
{
|
||||
private static DateTime _jan1st1970 = new DateTime(1970, 1, 1);
|
||||
public static long JStDateConv(DateTime from)
|
||||
{
|
||||
return System.Convert.ToInt64((from - _jan1st1970).TotalMilliseconds);
|
||||
}
|
||||
public static DateTime JStDateConv(long from)
|
||||
{
|
||||
return _jan1st1970.AddMilliseconds(from);
|
||||
}
|
||||
public static int ArchNameToNumVDP(string s)
|
||||
{
|
||||
var t = s.Split('.');
|
||||
if (t.Last() != "gz")
|
||||
return int.Parse(t.Last());
|
||||
t = t[0].Split('-');
|
||||
if (t.Length == 2)
|
||||
return int.Parse(t.Last());
|
||||
if (t.Length == 4)
|
||||
return int.Parse(t[2]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
public static bool CompareStringBuilder(ref StringBuilder a, StringBuilder b)
|
||||
{
|
||||
if (a.Length <= 0 || b.Length <= 0)
|
||||
return false;
|
||||
if (a[0] != '[' && a[a.Length - 1] != ']')
|
||||
return false;
|
||||
if (b[0] != '[' && b[b.Length - 1] != ']')
|
||||
return false;
|
||||
if (b.Length > 2)
|
||||
{
|
||||
a.Remove(a.Length - 1, 1);
|
||||
if (a.Length > 1)
|
||||
a.Append(',');
|
||||
a.Append(b, 1, b.Length - 1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static string ExceptionToString(Exception e)
|
||||
{
|
||||
string res = "";
|
||||
char sl = RuntimeInformation.IsOSPlatform(OSPlatform.Linux) ? '/' : '\\';
|
||||
var st = new StackTrace(e, true).GetFrame(0);
|
||||
res = st.GetFileName().Split(sl).Last() + " > " +
|
||||
st.GetMethod().DeclaringType + " > " +
|
||||
st.GetMethod() + " > " +
|
||||
st.GetFileLineNumber() + ":" +
|
||||
st.GetFileColumnNumber() + " > " +
|
||||
e.Message;
|
||||
return res;
|
||||
}
|
||||
}
|
||||
}
|
18
ShowTrend_tmp3/ShowTrend3/Libs/DiscretSignals.cs
Normal file
18
ShowTrend_tmp3/ShowTrend3/Libs/DiscretSignals.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ShowTrend3.Libs
|
||||
{
|
||||
public class DiscretSignals
|
||||
{
|
||||
public int VDP = -1;
|
||||
public List<Discret> discret = new List<Discret>();
|
||||
}
|
||||
|
||||
public class Discret
|
||||
{
|
||||
|
||||
}
|
||||
}
|
703
ShowTrend_tmp3/ShowTrend3/Libs/NetClient.cs
Normal file
703
ShowTrend_tmp3/ShowTrend3/Libs/NetClient.cs
Normal file
@@ -0,0 +1,703 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
|
||||
namespace ShowTrend3.Libs
|
||||
{
|
||||
public class NetClient
|
||||
{
|
||||
private readonly string ServerStr = "10.10.45.152";
|
||||
private readonly int PortStr = 1070;
|
||||
private readonly IPEndPoint IpPoint;
|
||||
private enum Cmd
|
||||
{
|
||||
pasp_download = 4,
|
||||
history = 20,
|
||||
download_nh = 21,
|
||||
dir_browse = 23
|
||||
}
|
||||
|
||||
public NetClient()
|
||||
{
|
||||
IpPoint = new IPEndPoint(IPAddress.Parse(ServerStr), PortStr);
|
||||
}
|
||||
public Queue<string> DirBrowse(string dir)
|
||||
{
|
||||
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
|
||||
{
|
||||
ReceiveTimeout = 5000,
|
||||
SendTimeout = 5000
|
||||
};
|
||||
try
|
||||
{
|
||||
//Connect
|
||||
socket.Connect(IpPoint);
|
||||
//SendRequest
|
||||
socket.Send(CreateCommand(Cmd.dir_browse, dir, 0).ToArray());
|
||||
Queue<string> result = new Queue<string>();
|
||||
//GetRequest
|
||||
byte mark;
|
||||
while (true)
|
||||
{
|
||||
mark = SocketReceiveByte(ref socket);
|
||||
if (mark == 0xff || mark == 0x00)
|
||||
break;
|
||||
if (mark == 0x01)
|
||||
{
|
||||
string r = SocketReceiveString(ref socket);
|
||||
if (r != "" || r != "." || r != "..")
|
||||
result.Enqueue(r);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
return new Queue<string>();
|
||||
}
|
||||
finally
|
||||
{
|
||||
socket.Disconnect(false);
|
||||
}
|
||||
}
|
||||
public PasportVDP PaspDownload(string dir)
|
||||
{
|
||||
PasportVDP result = new PasportVDP();
|
||||
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
|
||||
{
|
||||
ReceiveTimeout = 5000,
|
||||
SendTimeout = 2000
|
||||
};
|
||||
try
|
||||
{
|
||||
//Connect
|
||||
socket.Connect(IpPoint);
|
||||
//SendRequest
|
||||
socket.Send(CreateCommand(Cmd.pasp_download, dir).ToArray());
|
||||
|
||||
//GetRequest1
|
||||
if (SocketReceiveByte(ref socket) != 0x01)
|
||||
return result;
|
||||
byte[] t = SocketReceiveBytes(ref socket, 15);
|
||||
if (t.Length != 15)
|
||||
return result;
|
||||
//ConvertPasport1
|
||||
result.NumberVDP = t[0];
|
||||
result.TimeStart = new DateTime(t[1] + t[2] * 256, t[3], t[4], t[5], t[6], t[7]);
|
||||
result.TimeEnd = new DateTime(t[8] + t[9] * 256, t[10], t[11], t[12], t[13], t[14]);
|
||||
result.HaveDate = true;
|
||||
|
||||
//GetRequest2
|
||||
if (SocketReceiveByte(ref socket) != 0x01)
|
||||
return result;
|
||||
t = SocketReceiveBytes(ref socket, 1512);
|
||||
if (t.Length != 1512)
|
||||
return result;
|
||||
//ConvertPasport2
|
||||
int caret = 0;
|
||||
result.KodNPlav = BitConverter.ToInt32(t, 0); caret += 4;
|
||||
result.NPlav = ConvertBytesToString(t, caret, 12); caret += 12;
|
||||
result.RM = ConvertBytesToString(t, caret, 11); caret += 11;
|
||||
result.Splav = ConvertBytesToString(t, caret, 101); caret += 101;
|
||||
result._is = ConvertBytesToString(t, caret, 51); caret += 51;
|
||||
result.Notd = BitConverter.ToUInt16(t, caret); caret += 2;
|
||||
result.VesSlit = BitConverter.ToUInt16(t, caret); caret += 2;
|
||||
result.Diam = BitConverter.ToUInt16(t, caret); caret += 2;
|
||||
result.PrPl = BitConverter.ToUInt16(t, caret); caret += 2;
|
||||
result.Tin = ConvertBytesToString(t, caret, 9); caret += 9;
|
||||
result.Dzap = ConvertBytesToString(t, caret, 9); caret += 9;
|
||||
result.Dlog = BitConverter.ToUInt16(t, caret); caret += 2;
|
||||
result.Last = BitConverter.ToUInt16(t, caret); caret += 2;
|
||||
result.Dlper = BitConverter.ToUInt16(t, caret); caret += 2;
|
||||
result.Nazn = ConvertBytesToString(t, caret, 51); caret += 51;
|
||||
result.Kompl = BitConverter.ToUInt16(t, caret); caret += 2;
|
||||
result.Izl = BitConverter.ToUInt16(t, caret); caret += 2;
|
||||
result.Robm = BitConverter.ToSingle(t, caret); caret += 4;
|
||||
result.Rizol = BitConverter.ToSingle(t, caret); caret += 4;
|
||||
result.Dkr = BitConverter.ToUInt16(t, caret); caret += 2;
|
||||
result.Nkon = ConvertBytesToString(t, caret, 51); caret += 51;
|
||||
result.Pos = ConvertBytesToString(t, caret, 6); caret += 6;
|
||||
result.Ukaz = ConvertBytesToString(t, caret, 51); caret += 51;
|
||||
result.Zakaz = ConvertBytesToString(t, caret, 51); caret += 51;
|
||||
result.Kat = ConvertBytesToString(t, caret, 51); caret += 51;
|
||||
result.Pril = ConvertBytesToString(t, caret, 3); caret += 3;
|
||||
result.Reserved = ConvertBytesToString(t, caret, 1023); caret += 1023;
|
||||
result.HavePasport = true;
|
||||
return result;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
return result;
|
||||
}
|
||||
finally
|
||||
{
|
||||
socket.Disconnect(false);
|
||||
}
|
||||
}
|
||||
public async Task<SortedList<DateTime, int>> TechCycle(int VDP, DateTime TimeStart, DateTime TimeEnd)
|
||||
{
|
||||
SortedList<DateTime, int> result = new SortedList<DateTime, int>();
|
||||
List<Task<Queue<byte>>> tasks = new List<Task<Queue<byte>>>();
|
||||
try
|
||||
{
|
||||
//Check Params
|
||||
if (VDP < 0 || (VDP > 50 && VDP < 90) || VDP > 94)
|
||||
throw new Exception("Нет печи №" + VDP);
|
||||
if (TimeStart > TimeEnd)
|
||||
throw new Exception("Не верно задано время.");
|
||||
|
||||
//PreStart
|
||||
DateTime tempDateTime = TimeStart;
|
||||
List<string> requests = new List<string>();
|
||||
bool flag = false;
|
||||
while (!flag)
|
||||
{
|
||||
requests.Add(
|
||||
tempDateTime.Year.ToString() + tempDateTime.Month.ToString("D2") +
|
||||
tempDateTime.Day.ToString("D2") + "." + VDP.ToString("D2") + "3");
|
||||
flag = (tempDateTime.Year >= TimeEnd.Year &&
|
||||
tempDateTime.Month >= TimeEnd.Month &&
|
||||
tempDateTime.Day >= TimeEnd.Day);
|
||||
tempDateTime = tempDateTime.AddDays(1);
|
||||
}
|
||||
|
||||
//LoadAllList
|
||||
if (TimeStart <= DateTime.Now.AddDays(-9) &&
|
||||
!await UploadArchiveToServer(VDP, 3, TimeStart, TimeEnd))
|
||||
throw new Exception("Не загружен архив.");
|
||||
|
||||
//SendRequests
|
||||
foreach (var e in requests)
|
||||
tasks.Add(DownloadAllPackage(CreateCommand(Cmd.download_nh, e).ToArray()));
|
||||
|
||||
//ConvertResult
|
||||
foreach (var e in tasks)
|
||||
{
|
||||
e.Wait();
|
||||
var r = e.Result;
|
||||
while (true)
|
||||
{
|
||||
if (r.Count == 0)
|
||||
break;
|
||||
string x = "";
|
||||
while (r.Peek() != 0x09 && r.Peek() != 0x0a)
|
||||
x += ConvertByteToChar(r.Dequeue());
|
||||
int value = int.Parse(x);
|
||||
r.Dequeue();
|
||||
|
||||
while (r.Peek() != 0x09 && r.Peek() != 0x0a)
|
||||
r.Dequeue();
|
||||
r.Dequeue();
|
||||
|
||||
x = "";
|
||||
while (r.Peek() != 0x09 && r.Peek() != 0x0a)
|
||||
x += ConvertByteToChar(r.Dequeue());
|
||||
DateTime key = ConvertUnixTimeToDateTime(int.Parse(x));
|
||||
r.Dequeue();
|
||||
if (result.ContainsKey(key))
|
||||
result[key] = value;
|
||||
else
|
||||
result.Add(key, value);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
return new SortedList<DateTime, int>();
|
||||
}
|
||||
}
|
||||
public async Task<AnalogSignals> Analog(int VDP, DateTime TimeStart, DateTime TimeEnd, int[] listSignals)
|
||||
{
|
||||
Queue<Task> tasks = new Queue<Task>();
|
||||
List<string> requests = new List<string>();
|
||||
try
|
||||
{
|
||||
//Check Params
|
||||
if (VDP < 0 || (VDP > 50 && VDP < 90) || VDP > 94)
|
||||
throw new Exception("Нет печи №" + VDP);
|
||||
if (TimeStart > TimeEnd)
|
||||
throw new Exception("Не верно задано время.");
|
||||
//PreStart
|
||||
DateTime tempDateTime = TimeStart;
|
||||
bool flag = false;
|
||||
while (!flag)
|
||||
{
|
||||
requests.Add(
|
||||
tempDateTime.Year.ToString() + tempDateTime.Month.ToString("D2") +
|
||||
tempDateTime.Day.ToString("D2") + "." + VDP.ToString("D2") + "1");
|
||||
flag = (tempDateTime.Year == TimeEnd.Year &&
|
||||
tempDateTime.Month == TimeEnd.Month &&
|
||||
tempDateTime.Day == TimeEnd.Day);
|
||||
tempDateTime = tempDateTime.AddDays(1);
|
||||
TempDir.LockRead(requests.Last());
|
||||
}
|
||||
|
||||
//Load All List
|
||||
if (TimeStart <= DateTime.Now.AddDays(-9) &&
|
||||
!await UploadArchiveToServer(VDP, 1, TimeStart, TimeEnd))
|
||||
throw new Exception("Не загружен архив.");
|
||||
|
||||
//Send Requests
|
||||
foreach (var e in requests)
|
||||
tasks.Enqueue(DownloadAllPackage(e));
|
||||
|
||||
//Result
|
||||
AnalogSignals result = new AnalogSignals(VDP){ retAnalogs = listSignals};
|
||||
double step = (VDP >= 0 && VDP <= 50) ? 0.5 : 1;
|
||||
for (int e = 0; e < requests.Count; e++)
|
||||
{
|
||||
|
||||
await tasks.Dequeue();
|
||||
Console.WriteLine("read_" + (e + 1) + ": " + DateTime.Now.ToLongTimeString());
|
||||
double secondsCount = 0;
|
||||
List<byte?> row = new List<byte?>();
|
||||
DateTime d = DateTime.ParseExact(requests[e].Substring(0, 8), "yyyyMMdd", CultureInfo.InvariantCulture).ToUniversalTime();
|
||||
int tic = 60;
|
||||
while (!TempDir.CanRead(requests[e]))
|
||||
{
|
||||
await Task.Delay(1000);
|
||||
if (tic-- == 0)
|
||||
throw new Exception("Занят локальный архив: " + requests[e]);
|
||||
}
|
||||
using (FileStream r = TempDir.StartRead(requests[e]))
|
||||
{
|
||||
while (r.Position < r.Length)
|
||||
{
|
||||
var t = r.ReadByte();
|
||||
switch (t)
|
||||
{
|
||||
case 0xfb:
|
||||
if (row.Count != 0 &&
|
||||
d.AddSeconds((double)secondsCount) > TimeStart &&
|
||||
d.AddSeconds((double)secondsCount) < TimeEnd)
|
||||
result.AddSignals(d.AddSeconds((double)secondsCount), row);
|
||||
secondsCount = step * BitConverter.ToInt32(new byte[] { (byte)r.ReadByte(), (byte)r.ReadByte(), (byte)r.ReadByte(), (byte)r.ReadByte() }, 0);
|
||||
break;
|
||||
case 0xfc:
|
||||
if (row.Count == 0)
|
||||
row.Add(null);
|
||||
if (d.AddSeconds((double)secondsCount) > TimeStart &&
|
||||
d.AddSeconds((double)secondsCount) < TimeEnd)
|
||||
result.AddSignals(d.AddSeconds((double)secondsCount), row);
|
||||
for (var j = 0; j < row.Count; j++)
|
||||
row[j] = null;
|
||||
secondsCount = step * BitConverter.ToInt32(new byte[] { (byte)r.ReadByte(), (byte)r.ReadByte(), (byte)r.ReadByte(), (byte)r.ReadByte() }, 0);
|
||||
if (d.AddSeconds((double)secondsCount) > TimeStart &&
|
||||
d.AddSeconds((double)secondsCount) < TimeEnd)
|
||||
result.AddSignals(d.AddSeconds((double)secondsCount), row);
|
||||
break;
|
||||
case 0xfe:
|
||||
if (row.Count != 0 &&
|
||||
d.AddSeconds((double)secondsCount) > TimeStart &&
|
||||
d.AddSeconds((double)secondsCount) < TimeEnd)
|
||||
result.AddSignals(d.AddSeconds((double)secondsCount), row);
|
||||
secondsCount += step * BitConverter.ToInt16(new byte[] { (byte)r.ReadByte(), (byte)r.ReadByte() }, 0);
|
||||
break;
|
||||
case 0xff:
|
||||
if (row.Count != 0 &&
|
||||
d.AddSeconds((double)secondsCount) > TimeStart &&
|
||||
d.AddSeconds((double)secondsCount) < TimeEnd)
|
||||
result.AddSignals(d.AddSeconds((double)secondsCount), row);
|
||||
secondsCount += step;
|
||||
break;
|
||||
default:
|
||||
while (row.Count <= t)
|
||||
row.Add(null);
|
||||
row[t] = (byte)r.ReadByte();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
return new AnalogSignals(VDP) { retAnalogs = listSignals };
|
||||
}
|
||||
finally
|
||||
{
|
||||
foreach(var e in requests)
|
||||
TempDir.FreeRead(e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private Queue<byte> CreateCommand(Cmd cmd, string val, int dir = 0)
|
||||
{
|
||||
Queue<byte> q = new Queue<byte>();
|
||||
foreach (var e in BitConverter.GetBytes((uint)cmd))
|
||||
q.Enqueue(e);
|
||||
if (cmd == Cmd.dir_browse)
|
||||
q.Enqueue((byte)dir);
|
||||
foreach (var e in BitConverter.GetBytes((uint)val.Length))
|
||||
q.Enqueue(e);
|
||||
foreach (var e in val)
|
||||
q.Enqueue((byte)e);
|
||||
q.Enqueue(0x00);
|
||||
return q;
|
||||
}
|
||||
private byte SocketReceiveByte(ref Socket socket)
|
||||
{
|
||||
try
|
||||
{
|
||||
byte[] t = new byte[1];
|
||||
int countbyte = socket.Receive(t);
|
||||
if (countbyte != 1)
|
||||
throw new Exception("Ошибка получение Байта");
|
||||
return t[0];
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
return 0xff;
|
||||
}
|
||||
}
|
||||
private bool SocketReceiveBytes(ref Socket socket, ref Queue<byte> q, int length)
|
||||
{
|
||||
try
|
||||
{
|
||||
while (length != 0)
|
||||
{
|
||||
byte[] b = new byte[length];
|
||||
int countbytes = socket.Receive(b);
|
||||
for (int i = 0; i < countbytes; i++)
|
||||
q.Enqueue(b[i]);
|
||||
length -= countbytes;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
private byte[] SocketReceiveBytes(ref Socket socket, int length)
|
||||
{
|
||||
List<byte> result = new List<byte>();
|
||||
try
|
||||
{
|
||||
while (result.Count != length)
|
||||
{
|
||||
int count = length - result.Count;
|
||||
byte[] t = new byte[count];
|
||||
int countbytes = socket.Receive(t);
|
||||
if (countbytes > 0)
|
||||
result.AddRange(t.Take(countbytes));
|
||||
}
|
||||
return result.ToArray();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
return new byte[0];
|
||||
}
|
||||
}
|
||||
private string SocketReceiveString(ref Socket socket)
|
||||
{
|
||||
Queue<byte> q = new Queue<byte>();
|
||||
if (SocketReceiveBytes(ref socket, ref q, (int)BitConverter.ToUInt32(SocketReceiveBytes(ref socket, 4), 0) + 1))
|
||||
return ConvertBytesToString(ref q);
|
||||
return "";
|
||||
}
|
||||
|
||||
private async Task<bool> UploadArchiveToServer(int vdp, int type, DateTime tStart, DateTime tEnd)
|
||||
{
|
||||
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
|
||||
{
|
||||
ReceiveTimeout = 5000,
|
||||
SendTimeout = 5000
|
||||
};
|
||||
socket.Connect(IpPoint);
|
||||
try
|
||||
{
|
||||
int caret = 0;
|
||||
byte[] t = new byte[15];
|
||||
foreach (var e in BitConverter.GetBytes((uint)Cmd.history))
|
||||
t[caret++] = e;
|
||||
t[caret++] = (byte)vdp;
|
||||
t[caret++] = (byte)type;
|
||||
t[caret++] = 0x01;
|
||||
t[caret++] = Convert.ToByte(tStart.Year % 256);
|
||||
t[caret++] = Convert.ToByte(tStart.Year / 256);
|
||||
t[caret++] = (byte)tStart.Month;
|
||||
t[caret++] = (byte)tStart.Day;
|
||||
t[caret++] = Convert.ToByte(tEnd.Year % 256);
|
||||
t[caret++] = Convert.ToByte(tEnd.Year / 256);
|
||||
t[caret++] = (byte)tEnd.Month;
|
||||
t[caret++] = (byte)tEnd.Day;
|
||||
socket.Send(t);
|
||||
while (true)
|
||||
{
|
||||
byte mark = SocketReceiveByte(ref socket);
|
||||
switch (mark)
|
||||
{
|
||||
case 0x03:
|
||||
await Task.Delay(100);
|
||||
continue;
|
||||
case 0x01:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
private async Task<Queue<byte>> DownloadAllPackage(byte[] cmd)
|
||||
{
|
||||
await Task.Delay(0);
|
||||
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
|
||||
{
|
||||
ReceiveTimeout = 5000,
|
||||
SendTimeout = 5000
|
||||
};
|
||||
Queue<byte> result = new Queue<byte>();
|
||||
try
|
||||
{
|
||||
int TotlalLength = 0;
|
||||
socket.Connect(IpPoint);
|
||||
socket.Send(cmd);
|
||||
byte mark = 0x00;
|
||||
do
|
||||
{
|
||||
mark = SocketReceiveByte(ref socket);
|
||||
switch (mark)
|
||||
{
|
||||
case 0x01:
|
||||
if (!SocketReceiveBytes(ref socket, ref result,
|
||||
BitConverter.ToInt32(
|
||||
SocketReceiveBytes(ref socket, 4), 0)))
|
||||
throw new Exception("Ошибка получения части пакета.");
|
||||
break;
|
||||
case 0x02:
|
||||
TotlalLength = BitConverter.ToInt32(SocketReceiveBytes(ref socket, 4), 0);
|
||||
break;
|
||||
}
|
||||
} while (mark != 0xFF);
|
||||
return result;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
return new Queue<byte>();
|
||||
}
|
||||
finally
|
||||
{
|
||||
socket.Disconnect(false);
|
||||
}
|
||||
}
|
||||
private async Task DownloadAllPackage(string name)
|
||||
{
|
||||
if (TempDir.CheckFileExist(name))
|
||||
return;
|
||||
var stream = TempDir.StartWrite(name);
|
||||
await Task.Delay(0);
|
||||
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
|
||||
{
|
||||
ReceiveTimeout = 5000,
|
||||
SendTimeout = 5000
|
||||
};
|
||||
try
|
||||
{
|
||||
int TotlalLength = 0;
|
||||
socket.Connect(IpPoint);
|
||||
socket.Send(CreateCommand(Cmd.download_nh, name).ToArray());
|
||||
byte mark = 0x00;
|
||||
do
|
||||
{
|
||||
mark = SocketReceiveByte(ref socket);
|
||||
switch (mark)
|
||||
{
|
||||
case 0x01:
|
||||
int size = BitConverter.ToInt32(SocketReceiveBytes(ref socket, 4), 0);
|
||||
stream.Write(SocketReceiveBytes(ref socket, size), 0, size);
|
||||
break;
|
||||
case 0x02:
|
||||
TotlalLength = BitConverter.ToInt32(SocketReceiveBytes(ref socket, 4), 0);
|
||||
break;
|
||||
}
|
||||
} while (mark != 0xFF);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
return;
|
||||
}
|
||||
finally
|
||||
{
|
||||
TempDir.EndWrite(name);
|
||||
stream.Close();
|
||||
socket.Disconnect(false);
|
||||
}
|
||||
}
|
||||
|
||||
private string ConvertBytesToString(ref Queue<byte> q)
|
||||
{
|
||||
StringBuilder result = new StringBuilder();
|
||||
while (q.Count != 0)
|
||||
result.Append(ConvertByteToChar(q.Dequeue()));
|
||||
return result.ToString().Trim();
|
||||
}
|
||||
private string ConvertBytesToString(byte[] b, int caret, int length)
|
||||
{
|
||||
StringBuilder result = new StringBuilder();
|
||||
for (int i = caret; i < length + caret; i++)
|
||||
result.Append(ConvertByteToChar(b[i]));
|
||||
return result.ToString().Trim();
|
||||
}
|
||||
private char ConvertByteToChar(byte b)
|
||||
{
|
||||
char temp;
|
||||
switch (b)
|
||||
{
|
||||
case 0x00: temp = ' '; break;
|
||||
case 0x80: temp = 'А'; break;
|
||||
case 0x81: temp = 'Б'; break;
|
||||
case 0x82: temp = 'В'; break;
|
||||
case 0x83: temp = 'Г'; break;
|
||||
case 0x84: temp = 'Д'; break;
|
||||
case 0x85: temp = 'Е'; break;
|
||||
case 0x86: temp = 'Ж'; break;
|
||||
case 0x87: temp = 'З'; break;
|
||||
case 0x88: temp = 'И'; break;
|
||||
case 0x89: temp = 'Й'; break;
|
||||
case 0x8a: temp = 'К'; break;
|
||||
case 0x8b: temp = 'Л'; break;
|
||||
case 0x8c: temp = 'М'; break;
|
||||
case 0x8d: temp = 'Н'; break;
|
||||
case 0x8e: temp = 'О'; break;
|
||||
case 0x8f: temp = 'П'; break;
|
||||
case 0x90: temp = 'Р'; break;
|
||||
case 0x91: temp = 'С'; break;
|
||||
case 0x92: temp = 'Т'; break;
|
||||
case 0x93: temp = 'У'; break;
|
||||
case 0x94: temp = 'Ф'; break;
|
||||
case 0x95: temp = 'Х'; break;
|
||||
case 0x96: temp = 'Ц'; break;
|
||||
case 0x97: temp = 'Ч'; break;
|
||||
case 0x98: temp = 'Ш'; break;
|
||||
case 0x99: temp = 'Щ'; break;
|
||||
case 0x9a: temp = 'Ъ'; break;
|
||||
case 0x9b: temp = 'Ы'; break;
|
||||
case 0x9c: temp = 'Ь'; break;
|
||||
case 0x9d: temp = 'Э'; break;
|
||||
case 0x9e: temp = 'Ю'; break;
|
||||
case 0x9f: temp = 'Я'; break;
|
||||
case 0xa0: temp = 'а'; break;
|
||||
case 0xa1: temp = 'б'; break;
|
||||
case 0xa2: temp = 'в'; break;
|
||||
case 0xa3: temp = 'г'; break;
|
||||
case 0xa4: temp = 'д'; break;
|
||||
case 0xa5: temp = 'е'; break;
|
||||
case 0xa6: temp = 'ж'; break;
|
||||
case 0xa7: temp = 'з'; break;
|
||||
case 0xa8: temp = 'и'; break;
|
||||
case 0xa9: temp = 'й'; break;
|
||||
case 0xaa: temp = 'к'; break;
|
||||
case 0xab: temp = 'л'; break;
|
||||
case 0xac: temp = 'м'; break;
|
||||
case 0xad: temp = 'н'; break;
|
||||
case 0xae: temp = 'о'; break;
|
||||
case 0xaf: temp = 'п'; break;
|
||||
case 0xe0: temp = 'р'; break;
|
||||
case 0xe1: temp = 'c'; break;
|
||||
case 0xe2: temp = 'т'; break;
|
||||
case 0xe3: temp = 'у'; break;
|
||||
case 0xe4: temp = 'ф'; break;
|
||||
case 0xe5: temp = 'х'; break;
|
||||
case 0xe6: temp = 'ц'; break;
|
||||
case 0xe7: temp = 'ч'; break;
|
||||
case 0xe8: temp = 'ш'; break;
|
||||
case 0xe9: temp = 'щ'; break;
|
||||
case 0xea: temp = 'ъ'; break;
|
||||
case 0xeb: temp = 'ы'; break;
|
||||
case 0xec: temp = 'ь'; break;
|
||||
case 0xed: temp = 'э'; break;
|
||||
case 0xee: temp = 'ю'; break;
|
||||
case 0xef: temp = 'я'; break;
|
||||
case 0xf0: temp = 'Ё'; break;
|
||||
case 0xf1: temp = 'ё'; break;
|
||||
default: temp = Convert.ToChar(b); break;
|
||||
}
|
||||
return temp;
|
||||
}
|
||||
private DateTime ConvertUnixTimeToDateTime(int unixTimeStamp)
|
||||
{
|
||||
DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
|
||||
dtDateTime = dtDateTime.AddSeconds(unixTimeStamp).AddHours(5);
|
||||
return dtDateTime;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Old
|
||||
{
|
||||
private enum Cmd
|
||||
{
|
||||
pasp_download = 4,
|
||||
history = 20,
|
||||
download_nh = 21,
|
||||
dir_browse = 23
|
||||
}
|
||||
private void CreateCommand(ref Queue<Byte> q, Cmd cmd, string val, int dir = 0)
|
||||
{
|
||||
q.Clear();
|
||||
foreach (var e in BitConverter.GetBytes((uint)cmd))
|
||||
q.Enqueue(e);
|
||||
if (cmd == Cmd.dir_browse)
|
||||
q.Enqueue((byte)dir);
|
||||
foreach (var e in val)
|
||||
q.Enqueue((byte)e);
|
||||
q.Enqueue(0x00);
|
||||
}
|
||||
private bool SocketSendCommand(ref Socket socket, Cmd cmd, string val, int dir = 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
int l = 5 + val.Length;
|
||||
if (cmd == Cmd.dir_browse)
|
||||
l++;
|
||||
byte[] s = new byte[l];
|
||||
l = 0;
|
||||
foreach (var e in BitConverter.GetBytes((uint)cmd))
|
||||
s[l++] = e;
|
||||
if (cmd == Cmd.dir_browse)
|
||||
s[l++] = (byte)dir;
|
||||
foreach (var e in val)
|
||||
s[l++] = (byte)e;
|
||||
socket.Send(s);
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
private string ConvertBytesToString(ref Queue<byte> q, int l)
|
||||
{
|
||||
StringBuilder result = new StringBuilder();
|
||||
//for (int i = 0; i < l; i++)
|
||||
// result.Append(ConvertByteToChar(q.Dequeue()));
|
||||
return result.ToString().Trim();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
130
ShowTrend_tmp3/ShowTrend3/Libs/TempDirectory.cs
Normal file
130
ShowTrend_tmp3/ShowTrend3/Libs/TempDirectory.cs
Normal file
@@ -0,0 +1,130 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace ShowTrend3.Libs
|
||||
{
|
||||
public static class TempDirectory
|
||||
{
|
||||
private static readonly char sl = RuntimeInformation.IsOSPlatform(OSPlatform.Linux) ? '/' : '\\';
|
||||
private static readonly string td = Directory.GetCurrentDirectory() + sl + "temp";
|
||||
private static Dictionary<string, int> readFiles = new Dictionary<string, int>();
|
||||
private static List<string> writeFiles = new List<string>();
|
||||
|
||||
private static long DirectorySize(DirectoryInfo d)
|
||||
{
|
||||
long Size = 0;
|
||||
FileInfo[] fis = d.GetFiles();
|
||||
foreach (FileInfo fi in fis)
|
||||
Size += fi.Length;
|
||||
DirectoryInfo[] dis = d.GetDirectories();
|
||||
foreach (DirectoryInfo di in dis)
|
||||
Size += DirectorySize(di);
|
||||
return (Size);
|
||||
}
|
||||
public static bool Clear(long maxSize = 1073741824)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!Directory.Exists(td)) Directory.CreateDirectory(td);
|
||||
var files = new DirectoryInfo(td).GetFiles();
|
||||
foreach (var f in files)
|
||||
{
|
||||
var t = f.Name.Split('.');
|
||||
var dateData = new DateTime(int.Parse(t[0]), int.Parse(t[1]), int.Parse(t[2]));
|
||||
if (readFiles.ContainsKey(f.Name) ||
|
||||
writeFiles.Contains(f.Name) ||
|
||||
(f.CreationTime - dateData).TotalHours > 25 ||
|
||||
(DateTime.Now - f.CreationTime).TotalMinutes <= 2)
|
||||
continue;
|
||||
f.Delete();
|
||||
}
|
||||
|
||||
if (DirectorySize(new DirectoryInfo(td)) < maxSize)
|
||||
return true;
|
||||
|
||||
files = new DirectoryInfo(td).GetFiles();
|
||||
foreach(var f in files)
|
||||
{
|
||||
if (readFiles.ContainsKey(f.Name) ||
|
||||
writeFiles.Contains(f.Name))
|
||||
continue;
|
||||
f.Delete();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(CustomConverters.ExceptionToString(e));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public static async Task<bool> Delete(string name)
|
||||
{
|
||||
bool flag = false;
|
||||
try
|
||||
{
|
||||
if ( !writeFiles.Contains(name) && !File.Exists(td + sl + name))
|
||||
return true;
|
||||
while (writeFiles.Contains(name))
|
||||
await Task.Delay(100);
|
||||
writeFiles.Add(name);
|
||||
flag = true;
|
||||
while (readFiles.ContainsKey(name))
|
||||
await Task.Delay(100);
|
||||
File.Delete(td + sl + name);
|
||||
writeFiles.Remove(name);
|
||||
return true;
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
Console.WriteLine(CustomConverters.ExceptionToString(e));
|
||||
if(flag) writeFiles.Remove(name);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public static bool IsFileExist(string name)
|
||||
{
|
||||
return File.Exists(td + sl + name);
|
||||
}
|
||||
public static FileStream StartWrite(string name)
|
||||
{
|
||||
writeFiles.Add(name);
|
||||
return new FileStream(td + sl + name, FileMode.CreateNew);
|
||||
}
|
||||
public static void EndWrite(string name)
|
||||
{
|
||||
writeFiles.Remove(name);
|
||||
}
|
||||
public static void LockRead(string name)
|
||||
{
|
||||
if (!readFiles.ContainsKey(name))
|
||||
readFiles.Add(name, 0);
|
||||
readFiles[name]++;
|
||||
}
|
||||
public static bool CanRead(string name)
|
||||
{
|
||||
if (!IsFileExist(name))
|
||||
return false;
|
||||
return !writeFiles.Contains(name);
|
||||
}
|
||||
public static FileStream StartRead(string name)
|
||||
{
|
||||
return new FileStream(td + sl + name, FileMode.Open);
|
||||
}
|
||||
public static void EndRead(string name)
|
||||
{
|
||||
if (!readFiles.ContainsKey(name))
|
||||
return;
|
||||
if (readFiles[name] > 0)
|
||||
readFiles[name]--;
|
||||
else
|
||||
readFiles.Remove(name);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
91
ShowTrend_tmp3/ShowTrend3/Libs/Tempdir.cs
Normal file
91
ShowTrend_tmp3/ShowTrend3/Libs/Tempdir.cs
Normal file
@@ -0,0 +1,91 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ShowTrend3.Libs
|
||||
{
|
||||
public static class TempDir
|
||||
{
|
||||
//private const char Slash = '\\';
|
||||
private const char Slash = '/';
|
||||
public enum Status { free, write, read };
|
||||
private static Dictionary<string, int> readFile = new Dictionary<string, int>();
|
||||
private static List<string> writeFile = new List<string>();
|
||||
|
||||
public static void Clear()
|
||||
{
|
||||
try
|
||||
{
|
||||
var tempDir = Directory.GetCurrentDirectory() + Slash + "temp";
|
||||
if (!Directory.Exists(tempDir))
|
||||
Directory.CreateDirectory(tempDir);
|
||||
string[] files = Directory.GetFiles(tempDir, "*");
|
||||
foreach (var e in files)
|
||||
{
|
||||
if (readFile.ContainsKey(e.Split(Slash).Last()) || writeFile.Contains(e.Split(Slash).Last()))
|
||||
continue;
|
||||
|
||||
DateTime createDate = File.GetCreationTime(e);
|
||||
bool flag = createDate.Year == DateTime.Now.Year &&
|
||||
createDate.Month == DateTime.Now.Month &&
|
||||
createDate.Day == DateTime.Now.Day &&
|
||||
(DateTime.Now - createDate).TotalMinutes > 2;
|
||||
flag |= createDate.Day == DateTime.Now.AddDays(-1).Day &&
|
||||
DateTime.Now.Hour == 0 &&
|
||||
(DateTime.Now - createDate).TotalMinutes > 2;
|
||||
flag |= (DateTime.Now - createDate).TotalHours > 1;
|
||||
if (flag)
|
||||
File.Delete(e);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public static bool CheckFileExist(string onlyName)
|
||||
{
|
||||
return writeFile.Contains(onlyName) ||
|
||||
File.Exists(Directory.GetCurrentDirectory() + Slash + "temp" + Slash + onlyName);
|
||||
}
|
||||
|
||||
public static FileStream StartWrite(string onlyName)
|
||||
{
|
||||
writeFile.Add(onlyName);
|
||||
return new FileStream(Directory.GetCurrentDirectory() + Slash + "temp" + Slash + onlyName, FileMode.CreateNew);
|
||||
}
|
||||
public static void EndWrite(string onlyName)
|
||||
{
|
||||
writeFile.Remove(onlyName);
|
||||
}
|
||||
|
||||
public static void LockRead(string onlyName)
|
||||
{
|
||||
if (!readFile.ContainsKey(onlyName))
|
||||
readFile.Add(onlyName, 0);
|
||||
readFile[onlyName]++;
|
||||
}
|
||||
public static bool CanRead(string onlyName)
|
||||
{
|
||||
if (!CheckFileExist(onlyName))
|
||||
return false;
|
||||
return !writeFile.Contains(onlyName);
|
||||
}
|
||||
public static FileStream StartRead(string onlyName)
|
||||
{
|
||||
return new FileStream(Directory.GetCurrentDirectory() + Slash + "temp" + Slash + onlyName, FileMode.Open);
|
||||
}
|
||||
public static void FreeRead(string onlyName)
|
||||
{
|
||||
if (!readFile.ContainsKey(onlyName))
|
||||
return;
|
||||
if (readFile[onlyName] > 0)
|
||||
readFile[onlyName]--;
|
||||
if (readFile[onlyName] == 0)
|
||||
readFile.Remove(onlyName);
|
||||
}
|
||||
}
|
||||
}
|
85
ShowTrend_tmp3/ShowTrend3/Libs/VDP.cs
Normal file
85
ShowTrend_tmp3/ShowTrend3/Libs/VDP.cs
Normal file
@@ -0,0 +1,85 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace ShowTrend3.Libs
|
||||
{
|
||||
public class PasportVDP
|
||||
{
|
||||
public int NumberVDP;
|
||||
public bool HaveDate = false;
|
||||
public DateTime TimeStart;
|
||||
public DateTime TimeEnd;
|
||||
public bool HavePasport = false;
|
||||
public int KodNPlav;
|
||||
public string NPlav;
|
||||
public string RM;
|
||||
public string Splav;
|
||||
public string _is;
|
||||
public ushort Notd;
|
||||
public ushort VesSlit;
|
||||
public ushort Diam;
|
||||
public ushort PrPl;
|
||||
public string Tin;
|
||||
public string Dzap;
|
||||
public ushort Dlog;
|
||||
public ushort Last;
|
||||
public ushort Dlper;
|
||||
public string Nazn;
|
||||
public ushort Kompl;
|
||||
public ushort Izl;
|
||||
public Single Robm;
|
||||
public Single Rizol;
|
||||
public ushort Dkr;
|
||||
public string Nkon;
|
||||
public string Pos;
|
||||
public string Ukaz;
|
||||
public string Zakaz;
|
||||
public string Kat;
|
||||
public string Pril;
|
||||
public string Reserved;
|
||||
|
||||
public JArray JsonFormat()
|
||||
{
|
||||
JArray result = new JArray();
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
public class TechCycle
|
||||
{
|
||||
public readonly string[] CycleName =
|
||||
{
|
||||
"Конец технологического цикла", "Выгрузка-загрузка", "Вакуумирование на приварку", "Цикл 3",
|
||||
"Цикл 4", "Приварка", "Охлаждение приварки", "Осмотр приварки", "Вакуумирование на плавку",
|
||||
"Разведение ванны", "Плавка (основной режим)", "ВУР", "Охлаждение слитка", "Выгрузка комплекта",
|
||||
"Вакуумирование на оплавление", "Оплавление", "Охлаждение оплавыша", "Слив металла",
|
||||
"Цикл 18", "Цикл 19", "Цикл 20", "Цикл 21", "Цикл 22", "Цикл 23", "Цикл 24", "Проверка защит"
|
||||
};
|
||||
|
||||
public readonly string[] CycleColorHex =
|
||||
{
|
||||
"00ffff", "00ffff", "0000ff", "000000", "000000", "ff0000", "00ff00", "00ffff", "0000ff",
|
||||
"800080", "ff0000", "ff00ff", "00ff00", "00ffff", "0000ff", "ff0000", "00ff00", "ff00ff",
|
||||
"000000", "000000", "000000", "000000", "000000", "000000", "000000", "ffff00"
|
||||
};
|
||||
|
||||
public string ConvertColorHexToRGB(string hex)
|
||||
{
|
||||
string result = "";
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
byte t = Convert.ToByte(hex.Substring(i * 2, 2), 16);
|
||||
result += t.ToString();
|
||||
if (i < 2)
|
||||
result += ",";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
11
ShowTrend_tmp3/ShowTrend3/Models/ErrorViewModel.cs
Normal file
11
ShowTrend_tmp3/ShowTrend3/Models/ErrorViewModel.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using System;
|
||||
|
||||
namespace ShowTrend3.Models
|
||||
{
|
||||
public class ErrorViewModel
|
||||
{
|
||||
public string RequestId { get; set; }
|
||||
|
||||
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
|
||||
}
|
||||
}
|
30
ShowTrend_tmp3/ShowTrend3/Program.cs
Normal file
30
ShowTrend_tmp3/ShowTrend3/Program.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace ShowTrend3
|
||||
{
|
||||
public class Program
|
||||
{
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
BuildWebHost(args).Run();
|
||||
}
|
||||
|
||||
public static IWebHost BuildWebHost(string[] args) =>
|
||||
WebHost.CreateDefaultBuilder(args)
|
||||
.UseKestrel()
|
||||
//.UseUrls("Http://*:90")
|
||||
//.UseUrls("Http://10.10.45.244:5010")
|
||||
.UseUrls("Http://127.0.0.1:5010")
|
||||
//.UseUrls("Http://10.10.2.66:90")
|
||||
.UseStartup<Startup>()
|
||||
.Build();
|
||||
}
|
||||
}
|
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Этот файл используется процессом публикации или упаковки вашего веб-проекта. Можно настроить поведение этого процесса,
|
||||
изменив этот файл MSBuild. Подробности см. на странице https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<WebPublishMethod>FileSystem</WebPublishMethod>
|
||||
<PublishProvider>FileSystem</PublishProvider>
|
||||
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
|
||||
<LastUsedPlatform>Any CPU</LastUsedPlatform>
|
||||
<SiteUrlToLaunchAfterPublish />
|
||||
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
|
||||
<ExcludeApp_Data>False</ExcludeApp_Data>
|
||||
<ProjectGuid>ac3f23be-4077-4cc8-ba6d-76e4b385e7b1</ProjectGuid>
|
||||
<publishUrl>bin\Result</publishUrl>
|
||||
<DeleteExistingFiles>False</DeleteExistingFiles>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<SelfContained>false</SelfContained>
|
||||
<_IsPortable>true</_IsPortable>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Этот файл используется процессом публикации или упаковки вашего веб-проекта. Можно настроить поведение этого процесса,
|
||||
изменив этот файл MSBuild. Подробности см. на странице https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<TimeStampOfAssociatedLegacyPublishXmlFile />
|
||||
<_PublishTargetUrl>D:\Projects\ShowTrend3\bin\Result</_PublishTargetUrl>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Этот файл используется процессом публикации или упаковки вашего веб-проекта. Можно настроить поведение этого процесса,
|
||||
изменив этот файл MSBuild. Подробности см. на странице https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<WebPublishMethod>FileSystem</WebPublishMethod>
|
||||
<PublishProvider>FileSystem</PublishProvider>
|
||||
<LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
|
||||
<LastUsedPlatform>Any CPU</LastUsedPlatform>
|
||||
<SiteUrlToLaunchAfterPublish />
|
||||
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
|
||||
<ExcludeApp_Data>False</ExcludeApp_Data>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<ProjectGuid>ac3f23be-4077-4cc8-ba6d-76e4b385e7b1</ProjectGuid>
|
||||
<SelfContained>false</SelfContained>
|
||||
<_IsPortable>true</_IsPortable>
|
||||
<publishUrl>bin\remotedebug</publishUrl>
|
||||
<DeleteExistingFiles>False</DeleteExistingFiles>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Этот файл используется процессом публикации или упаковки вашего веб-проекта. Можно настроить поведение этого процесса,
|
||||
изменив этот файл MSBuild. Подробности см. на странице https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<TimeStampOfAssociatedLegacyPublishXmlFile />
|
||||
<_PublishTargetUrl>D:\Projects\ShowTrend3\bin\remotedebug</_PublishTargetUrl>
|
||||
</PropertyGroup>
|
||||
</Project>
|
27
ShowTrend_tmp3/ShowTrend3/Properties/launchSettings.json
Normal file
27
ShowTrend_tmp3/ShowTrend3/Properties/launchSettings.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:53512/",
|
||||
"sslPort": 0
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"ShowTrend3": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"applicationUrl": "http://localhost:53513/"
|
||||
}
|
||||
}
|
||||
}
|
28
ShowTrend_tmp3/ShowTrend3/ShowTrend3.csproj
Normal file
28
ShowTrend_tmp3/ShowTrend3/ShowTrend3.csproj
Normal file
@@ -0,0 +1,28 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<TypeScriptToolsVersion>2.8</TypeScriptToolsVersion>
|
||||
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
|
||||
<DebugType>portable</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AdoNetCore.AseClient" Version="0.10.1" />
|
||||
<PackageReference Include="bootstrap" Version="4.1.1" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.0" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.5.0" />
|
||||
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="wwwroot\images\" />
|
||||
<Folder Include="wwwroot\lib\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
11
ShowTrend_tmp3/ShowTrend3/ShowTrend3.csproj.user
Normal file
11
ShowTrend_tmp3/ShowTrend3/ShowTrend3.csproj.user
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ActiveDebugProfile>ShowTrend3</ActiveDebugProfile>
|
||||
<WebStackScaffolding_ViewDialogWidth>600</WebStackScaffolding_ViewDialogWidth>
|
||||
<NameOfLastUsedPublishProfile>FolderProfile1</NameOfLastUsedPublishProfile>
|
||||
</PropertyGroup>
|
||||
</Project>
|
39
ShowTrend_tmp3/ShowTrend3/Startup.cs
Normal file
39
ShowTrend_tmp3/ShowTrend3/Startup.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace ShowTrend3
|
||||
{
|
||||
public class Startup
|
||||
{
|
||||
public Startup(IConfiguration configuration)
|
||||
{ Configuration = configuration; }
|
||||
public IConfiguration Configuration { get; }
|
||||
public void ConfigureServices(IServiceCollection services)
|
||||
{ services.AddMvc(); }
|
||||
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
|
||||
{
|
||||
app.UseStaticFiles();
|
||||
app.UseMvc(routes =>
|
||||
{
|
||||
routes.MapRoute("Index", "index",
|
||||
new { controller = "Sau", action = "Index" });
|
||||
|
||||
routes.MapRoute("Analog", "analog",
|
||||
new { controller = "Sau", action = "Analog" });
|
||||
|
||||
routes.MapRoute("Show", "show",
|
||||
new { controller = "Sau", action = "Show" });
|
||||
|
||||
routes.MapRoute(
|
||||
name: "default",
|
||||
template: "{controller=Sau}/{action=Index}/{id?}");
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
234
ShowTrend_tmp3/ShowTrend3/Views/Sau/Index.cshtml
Normal file
234
ShowTrend_tmp3/ShowTrend3/Views/Sau/Index.cshtml
Normal file
@@ -0,0 +1,234 @@
|
||||
@{
|
||||
ViewData["Title"] = "РМТ";
|
||||
}
|
||||
<header class="row align-items-center justify-content-center">
|
||||
<div class="col text-center pt-2">
|
||||
<h3>РМТ "САУ ВДП" и "КОРПУС"</h3>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="row pt-2 pb-3">
|
||||
<div class="col-sm-12 col-md-5 border">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<strong>Поиск по дате:</strong>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control" id="Search1_date" type="date">
|
||||
</div>
|
||||
<div class="col">
|
||||
<button class="btn btn-primary" id="Search1_button" type="button">
|
||||
Поиск
|
||||
</button>
|
||||
</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col-12">
|
||||
<strong>Список паспортов:</strong>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-control" id="Search1_list_pasport"></select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<button class="btn btn-primary" id="Pasport_button_LoadAll" type="button" hidden>
|
||||
Загрузка
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-7 border">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<strong>Загрузка по печи:</strong>
|
||||
</div>
|
||||
<div class="col-auto pt-2">
|
||||
Печь №
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-control" id="Search2_select_vdp"></select>
|
||||
</div>
|
||||
<div class="w-100"></div>
|
||||
|
||||
<div class="col-auto pt-2">
|
||||
Начало:
|
||||
</div>
|
||||
|
||||
<div class="col-auto">
|
||||
<input class="form-control" type="date" id="Search2_date_start">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control" type="time" id="Search2_time_start" step="1">
|
||||
</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col-auto pt-2">
|
||||
Конец:
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control" id="Search2_date_end" type="date">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control" type="time" id="Search2_time_end" step="1">
|
||||
</div>
|
||||
<div class="w-100"></div>
|
||||
<div class="col-auto pt-1">
|
||||
<button class="btn btn-primary" id="Search2_button_load" type="button">
|
||||
Загрузка
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border-top" id="Pasport_Lable" hidden>
|
||||
<div class="col-12 text-center">
|
||||
<h5>Паспорт</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="Pasport_Date" hidden>
|
||||
<div class="col-sm-12 col-md-6 col-lg-4">
|
||||
Время начала: <span></span>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-6 col-lg-4">
|
||||
Время конца: <span></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border-bottom pb-1" id="Pasport_Info" hidden>
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
Сплав: <span></span>
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
Переплав № <span></span>
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
Назначение: <span></span>
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
Категория продукции: <span></span>
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
Заказчик: <span></span>
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
Вес слитка: <span></span>
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
Комплект № <span></span>
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
Диаметр кристализатора: <span></span>
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
Диаметр электрода: <span></span>
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
Контракт № <span></span>
|
||||
</div>
|
||||
<div class="col-sm-12 col-lg-6">
|
||||
Указание: <span></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row p-3" id="AnalogChart_Load_Element" style="display: none;">
|
||||
<div class="col-12 text-center">
|
||||
<i class="fas fa-spinner fa-spin" style="font-size: 30px; color:#0094ff"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border-top" id="AnalogChart_label" hidden>
|
||||
<div class="col-12 text-center">
|
||||
<h5>Аналоговые сигналы</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div id="AnalogChart_Global" class="row" hidden>
|
||||
<div class="col-sm-12 col-md-2" style="font-size:12px">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<input id="AnalogChart_Update" class="btn btn-primary" type="button" value="Обновить" />
|
||||
</div>
|
||||
<div class="col-12" style=" max-height: 570px; overflow: auto;">
|
||||
<div id="AnalogChart_Checkbox" class="form-check"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-10">
|
||||
<div id="AnalogChart" style="height: 600px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row border-top" id="Discret_label" hidden>
|
||||
<div class="col-12 text-center">
|
||||
<h5>Дискретные сигналы</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div id="Discret_Global" class="row" hidden>
|
||||
<div class="col-sm-12 col-md-2" style="font-size:12px">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<input id="Discret_Update" class="btn btn-primary" type="button" value="Обновить" />
|
||||
</div>
|
||||
<div class="col-12" style=" max-height: 570px; overflow: auto;">
|
||||
<div id="Discret_Checkbox" class="form-check"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-10" style="overflow : auto; max-height : 600px">
|
||||
<table class="table table-active">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<button class="btn btn-primary fas fa-sort-amount-down" id="Discret_Sort" type="button"></button>
|
||||
</th>
|
||||
<th>Время начала</th>
|
||||
<th>Название</th>
|
||||
<th>Статус</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row" hidden>
|
||||
<div class="col-auto">
|
||||
<button class="btn btn-primary" id="test_button" type="button">
|
||||
Тест
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row border-top" id="Tech_Cycle_Lable" hidden>
|
||||
<div class="col-12 text-center">
|
||||
<h5>Технологический цикл</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border-bottom pb-1" id="Tech_Cycle_Table" hidden>
|
||||
<div class="col-12" style="overflow : auto; max-height : 600px">
|
||||
<table class="table table-active">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<button class="btn btn-primary fas fa-sort-amount-down" id="Tech_Cycle_Sort" type="button"></button>
|
||||
</th>
|
||||
<th>Время начала</th>
|
||||
<th>Операция</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@section Insert_Styles{
|
||||
<link rel="stylesheet" href="~/lib/Font-Awesome/css/fontawesome-all.css" />
|
||||
<link rel="stylesheet" href="~/css/MainSau.css">
|
||||
|
||||
}
|
||||
|
||||
@section Scripts{
|
||||
<script src="~/lib/canvasjs.min.js"></script>
|
||||
<script src="~/js/Pasport.js"></script>
|
||||
<script src="~/js/AnalogChart.js"></script>
|
||||
<script src="~/js/main.js"></script>
|
||||
|
||||
}
|
16
ShowTrend_tmp3/ShowTrend3/Views/Sau/Index.cshtml.cs
Normal file
16
ShowTrend_tmp3/ShowTrend3/Views/Sau/Index.cshtml.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
|
||||
namespace ShowTrend3.Views.Sau
|
||||
{
|
||||
public class IndexModel : PageModel
|
||||
{
|
||||
public void OnGet()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
14
ShowTrend_tmp3/ShowTrend3/Views/Sau/analog.cshtml
Normal file
14
ShowTrend_tmp3/ShowTrend3/Views/Sau/analog.cshtml
Normal file
@@ -0,0 +1,14 @@
|
||||
@{
|
||||
ViewData["Title"] = "analog";
|
||||
}
|
||||
<canvas id="myChart" width="400" height="400"></canvas>
|
||||
|
||||
|
||||
@section Insert_Styles{
|
||||
|
||||
}
|
||||
|
||||
@section Scripts{
|
||||
<script src="~/lib/Chart.bundle.js"></script>
|
||||
<script src="~/js/AnalogChart.js"></script>
|
||||
}
|
16
ShowTrend_tmp3/ShowTrend3/Views/Sau/analog.cshtml.cs
Normal file
16
ShowTrend_tmp3/ShowTrend3/Views/Sau/analog.cshtml.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
|
||||
namespace ShowTrend3.Views.Sau
|
||||
{
|
||||
public class Index1Model : PageModel
|
||||
{
|
||||
public void OnGet()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
19
ShowTrend_tmp3/ShowTrend3/Views/Shared/_Layout.cshtml
Normal file
19
ShowTrend_tmp3/ShowTrend3/Views/Shared/_Layout.cshtml
Normal file
@@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta charset="utf-8" />
|
||||
<title>@ViewData["Title"]</title>
|
||||
<link rel="stylesheet" href="~/lib/Bootstrap/css/bootstrap.css">
|
||||
@RenderSection("Insert_Styles", required: false)
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
@RenderBody()
|
||||
</div>
|
||||
<script src="~/lib/JQuery/jquery-3.3.1.js"></script>
|
||||
<script src="~/lib/Popper/umd/popper.js"></script>
|
||||
<script src="~/lib/Bootstrap/js/bootstrap.bundle.js"></script>
|
||||
@RenderSection("Scripts", required: false)
|
||||
</body>
|
||||
</html>
|
3
ShowTrend_tmp3/ShowTrend3/Views/_ViewImports.cshtml
Normal file
3
ShowTrend_tmp3/ShowTrend3/Views/_ViewImports.cshtml
Normal file
@@ -0,0 +1,3 @@
|
||||
@using ShowTrend3
|
||||
@using ShowTrend3.Models
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
3
ShowTrend_tmp3/ShowTrend3/Views/_ViewStart.cshtml
Normal file
3
ShowTrend_tmp3/ShowTrend3/Views/_ViewStart.cshtml
Normal file
@@ -0,0 +1,3 @@
|
||||
@{
|
||||
Layout = "_Layout";
|
||||
}
|
10
ShowTrend_tmp3/ShowTrend3/appsettings.Development.json
Normal file
10
ShowTrend_tmp3/ShowTrend3/appsettings.Development.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"Logging": {
|
||||
"IncludeScopes": false,
|
||||
"LogLevel": {
|
||||
"Default": "Debug",
|
||||
"System": "Information",
|
||||
"Microsoft": "Information"
|
||||
}
|
||||
}
|
||||
}
|
8
ShowTrend_tmp3/ShowTrend3/appsettings.json
Normal file
8
ShowTrend_tmp3/ShowTrend3/appsettings.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Logging": {
|
||||
"IncludeScopes": false,
|
||||
"LogLevel": {
|
||||
"Default": "Warning"
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
ShowTrend_tmp3/ShowTrend3/bin/Debug/netcoreapp2.1/ShowTrend3.dll
Normal file
BIN
ShowTrend_tmp3/ShowTrend3/bin/Debug/netcoreapp2.1/ShowTrend3.dll
Normal file
Binary file not shown.
BIN
ShowTrend_tmp3/ShowTrend3/bin/Debug/netcoreapp2.1/ShowTrend3.pdb
Normal file
BIN
ShowTrend_tmp3/ShowTrend3/bin/Debug/netcoreapp2.1/ShowTrend3.pdb
Normal file
Binary file not shown.
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"additionalProbingPaths": [
|
||||
"C:\\Users\\Admin\\.dotnet\\store\\|arch|\\|tfm|",
|
||||
"C:\\Users\\Admin\\.nuget\\packages",
|
||||
"C:\\ProgramData\\Xamarin\\NuGet",
|
||||
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
|
||||
]
|
||||
}
|
||||
}
|
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "netcoreapp2.1",
|
||||
"framework": {
|
||||
"name": "Microsoft.AspNetCore.All",
|
||||
"version": "2.1.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"System.GC.Server": true
|
||||
}
|
||||
}
|
||||
}
|
24
ShowTrend_tmp3/ShowTrend3/bundleconfig.json
Normal file
24
ShowTrend_tmp3/ShowTrend3/bundleconfig.json
Normal file
@@ -0,0 +1,24 @@
|
||||
// Configure bundling and minification for the project.
|
||||
// More info at https://go.microsoft.com/fwlink/?LinkId=808241
|
||||
[
|
||||
{
|
||||
"outputFileName": "wwwroot/css/site.min.css",
|
||||
// An array of relative input file paths. Globbing patterns supported
|
||||
"inputFiles": [
|
||||
"wwwroot/css/site.css"
|
||||
]
|
||||
},
|
||||
{
|
||||
"outputFileName": "wwwroot/js/site.min.js",
|
||||
"inputFiles": [
|
||||
"wwwroot/js/site.js"
|
||||
],
|
||||
// Optionally specify minification options
|
||||
"minify": {
|
||||
"enabled": true,
|
||||
"renameLocals": true
|
||||
},
|
||||
// Optionally generate .map file
|
||||
"sourceMap": false
|
||||
}
|
||||
]
|
@@ -0,0 +1,423 @@
|
||||
#pragma checksum "D:\Projects\ShowTrend3.0\ShowTrend3\Views\Sau\Index.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "4e531ea8d2a043d26b985f3162791cb8abdbe8d2"
|
||||
// <auto-generated/>
|
||||
#pragma warning disable 1591
|
||||
[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(AspNetCore.Views_Sau_Index), @"mvc.1.0.view", @"/Views/Sau/Index.cshtml")]
|
||||
[assembly:global::Microsoft.AspNetCore.Mvc.Razor.Compilation.RazorViewAttribute(@"/Views/Sau/Index.cshtml", typeof(AspNetCore.Views_Sau_Index))]
|
||||
namespace AspNetCore
|
||||
{
|
||||
#line hidden
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
using Microsoft.AspNetCore.Mvc.ViewFeatures;
|
||||
#line 1 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\_ViewImports.cshtml"
|
||||
using ShowTrend3;
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
#line 2 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\_ViewImports.cshtml"
|
||||
using ShowTrend3.Models;
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"4e531ea8d2a043d26b985f3162791cb8abdbe8d2", @"/Views/Sau/Index.cshtml")]
|
||||
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"9e69e93380106bb986359f24304dbb7f798605da", @"/Views/_ViewImports.cshtml")]
|
||||
public class Views_Sau_Index : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage<dynamic>
|
||||
{
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("rel", new global::Microsoft.AspNetCore.Html.HtmlString("stylesheet"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("href", new global::Microsoft.AspNetCore.Html.HtmlString("~/lib/Font-Awesome/css/fontawesome-all.css"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("href", new global::Microsoft.AspNetCore.Html.HtmlString("~/css/MainSau.css"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_3 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("src", new global::Microsoft.AspNetCore.Html.HtmlString("~/lib/canvasjs.min.js"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_4 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("src", new global::Microsoft.AspNetCore.Html.HtmlString("~/js/Pasport.js"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_5 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("src", new global::Microsoft.AspNetCore.Html.HtmlString("~/js/AnalogChart.js"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_6 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("src", new global::Microsoft.AspNetCore.Html.HtmlString("~/js/main.js"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
#line hidden
|
||||
#pragma warning disable 0169
|
||||
private string __tagHelperStringValueBuffer;
|
||||
#pragma warning restore 0169
|
||||
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
|
||||
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
|
||||
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
|
||||
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if (__backed__tagHelperScopeManager == null)
|
||||
{
|
||||
__backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
|
||||
}
|
||||
return __backed__tagHelperScopeManager;
|
||||
}
|
||||
}
|
||||
private global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper __Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 1 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\Sau\Index.cshtml"
|
||||
|
||||
ViewData["Title"] = "РМТ";
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
BeginContext(39, 7288, true);
|
||||
WriteLiteral(@"<header class=""row align-items-center justify-content-center"">
|
||||
<div class=""col text-center pt-2"">
|
||||
<h3>РМТ ""САУ ВДП"" и ""КОРПУС""</h3>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class=""row pt-2 pb-3"">
|
||||
<div class=""col-sm-12 col-md-5 border"">
|
||||
<div class=""row"">
|
||||
<div class=""col-12"">
|
||||
<strong>Поиск по дате:</strong>
|
||||
</div>
|
||||
<div class=""col-auto"">
|
||||
<input class=""form-control"" id=""Search1_date"" type=""date"">
|
||||
</div>
|
||||
<div class=""col"">
|
||||
<button class=""btn btn-primary"" id=""Search1_button"" type=""button"">
|
||||
Поиск
|
||||
</button>
|
||||
</div>
|
||||
<div class=""w-100""></div>
|
||||
<div class=""col-12"">
|
||||
<strong>Список паспортов:</strong>
|
||||
</div>
|
||||
<div class=""col-auto"">
|
||||
<select class=""form-control"" id=""Search1_list_pasport""></select>
|
||||
</div>
|
||||
<div class=""col-auto"">
|
||||
");
|
||||
WriteLiteral(@" <button class=""btn btn-primary"" id=""Pasport_button_LoadAll"" type=""button"" hidden>
|
||||
Загрузка
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-md-7 border"">
|
||||
<div class=""row"">
|
||||
<div class=""col-12"">
|
||||
<strong>Загрузка по печи:</strong>
|
||||
</div>
|
||||
<div class=""col-auto pt-2"">
|
||||
Печь №
|
||||
</div>
|
||||
<div class=""col-auto"">
|
||||
<select class=""form-control"" id=""Search2_select_vdp""></select>
|
||||
</div>
|
||||
<div class=""w-100""></div>
|
||||
|
||||
<div class=""col-auto pt-2"">
|
||||
Начало:
|
||||
</div>
|
||||
|
||||
<div class=""col-auto"">
|
||||
<input class=""form-control"" type=""date"" id=""Search2_date_start"">
|
||||
</div>
|
||||
<div class=""col-auto"">
|
||||
<input class=""form-control"" type=""time"" id=""Search2_time_start"" step=""1"">
|
||||
</div>
|
||||
<di");
|
||||
WriteLiteral(@"v class=""w-100""></div>
|
||||
<div class=""col-auto pt-2"">
|
||||
Конец:
|
||||
</div>
|
||||
<div class=""col-auto"">
|
||||
<input class=""form-control"" id=""Search2_date_end"" type=""date"">
|
||||
</div>
|
||||
<div class=""col-auto"">
|
||||
<input class=""form-control"" type=""time"" id=""Search2_time_end"" step=""1"">
|
||||
</div>
|
||||
<div class=""w-100""></div>
|
||||
<div class=""col-auto pt-1"">
|
||||
<button class=""btn btn-primary"" id=""Search2_button_load"" type=""button"">
|
||||
Загрузка
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class=""row border-top"" id=""Pasport_Lable"" hidden>
|
||||
<div class=""col-12 text-center"">
|
||||
<h5>Паспорт</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class=""row"" id=""Pasport_Date"" hidden>
|
||||
<div class=""col-sm-12 col-md-6 col-lg-4"">
|
||||
Время начала: <span></span>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-md-6 col-lg-4"">
|
||||
Время конца: <spa");
|
||||
WriteLiteral(@"n></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class=""row border-bottom pb-1"" id=""Pasport_Info"" hidden>
|
||||
<div class=""col-sm-12 col-lg-6"">
|
||||
Сплав: <span></span>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-lg-6"">
|
||||
Переплав № <span></span>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-lg-6"">
|
||||
Назначение: <span></span>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-lg-6"">
|
||||
Категория продукции: <span></span>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-lg-6"">
|
||||
Заказчик: <span></span>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-lg-6"">
|
||||
Вес слитка: <span></span>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-lg-6"">
|
||||
Комплект № <span></span>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-lg-6"">
|
||||
Диаметр кристализатора: <span></span>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-lg-6"">
|
||||
Диаметр электрода: <span></span>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-lg-6"">
|
||||
Контракт № <span></span>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-lg-6"">
|
||||
Указание: <span>");
|
||||
WriteLiteral(@"</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class=""row p-3"" id=""AnalogChart_Load_Element"" style=""display: none;"">
|
||||
<div class=""col-12 text-center"">
|
||||
<i class=""fas fa-spinner fa-spin"" style=""font-size: 30px; color:#0094ff""></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class=""row border-top"" id=""AnalogChart_label"" hidden>
|
||||
<div class=""col-12 text-center"">
|
||||
<h5>Аналоговые сигналы</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div id=""AnalogChart_Global"" class=""row"" hidden>
|
||||
<div class=""col-sm-12 col-md-2"" style=""font-size:12px"">
|
||||
<div class=""row"">
|
||||
<div class=""col-12"">
|
||||
<input id=""AnalogChart_Update"" class=""btn btn-primary"" type=""button"" value=""Обновить"" />
|
||||
</div>
|
||||
<div class=""col-12"" style="" max-height: 570px; overflow: auto;"">
|
||||
<div id=""AnalogChart_Checkbox"" class=""form-check""></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-md-10"">
|
||||
<div id=""AnalogChart"" style=""height: 600px;""></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
");
|
||||
WriteLiteral(@"
|
||||
|
||||
<div class=""row border-top"" id=""Discret_label"" hidden>
|
||||
<div class=""col-12 text-center"">
|
||||
<h5>Дискретные сигналы</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div id=""Discret_Global"" class=""row"" hidden>
|
||||
<div class=""col-sm-12 col-md-2"" style=""font-size:12px"">
|
||||
<div class=""row"">
|
||||
<div class=""col-12"">
|
||||
<input id=""Discret_Update"" class=""btn btn-primary"" type=""button"" value=""Обновить"" />
|
||||
</div>
|
||||
<div class=""col-12"" style="" max-height: 570px; overflow: auto;"">
|
||||
<div id=""Discret_Checkbox"" class=""form-check""></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class=""col-sm-12 col-md-10"" style=""overflow : auto; max-height : 600px"">
|
||||
<table class=""table table-active"">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<button class=""btn btn-primary fas fa-sort-amount-down"" id=""Discret_Sort"" type=""button""></button>
|
||||
</th>
|
||||
<th>Время начала</");
|
||||
WriteLiteral(@"th>
|
||||
<th>Название</th>
|
||||
<th>Статус</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class=""row"" hidden>
|
||||
<div class=""col-auto"">
|
||||
<button class=""btn btn-primary"" id=""test_button"" type=""button"">
|
||||
Тест
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class=""row border-top"" id=""Tech_Cycle_Lable"" hidden>
|
||||
<div class=""col-12 text-center"">
|
||||
<h5>Технологический цикл</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class=""row border-bottom pb-1"" id=""Tech_Cycle_Table"" hidden>
|
||||
<div class=""col-12"" style=""overflow : auto; max-height : 600px"">
|
||||
<table class=""table table-active"">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<button class=""btn btn-primary fas fa-sort-amount-down"" id=""Tech_Cycle_Sort"" type=""button""></button>
|
||||
</th>
|
||||
<th>Время начала</th>
|
||||
<th>Операция</t");
|
||||
WriteLiteral("h>\r\n </tr>\r\n </thead>\r\n <tbody></tbody>\r\n </table>\r\n </div>\r\n</div>\r\n\r\n\r\n");
|
||||
EndContext();
|
||||
DefineSection("Insert_Styles", async() => {
|
||||
BeginContext(7350, 6, true);
|
||||
WriteLiteral("\r\n ");
|
||||
EndContext();
|
||||
BeginContext(7356, 75, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("link", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "89ffea7a3f13465a8d3f9e867d2df2f5", async() => {
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(7431, 6, true);
|
||||
WriteLiteral("\r\n ");
|
||||
EndContext();
|
||||
BeginContext(7437, 48, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("link", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagOnly, "6c513b90ad234eeeba5e51b8727ceb78", async() => {
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(7485, 4, true);
|
||||
WriteLiteral("\r\n\r\n");
|
||||
EndContext();
|
||||
}
|
||||
);
|
||||
BeginContext(7492, 2, true);
|
||||
WriteLiteral("\r\n");
|
||||
EndContext();
|
||||
DefineSection("Scripts", async() => {
|
||||
BeginContext(7511, 6, true);
|
||||
WriteLiteral("\r\n ");
|
||||
EndContext();
|
||||
BeginContext(7517, 45, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("script", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "727cf6c24d6f47b6a7b5decddd246c48", async() => {
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_3);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(7562, 6, true);
|
||||
WriteLiteral("\r\n ");
|
||||
EndContext();
|
||||
BeginContext(7568, 39, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("script", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "d50c1239b39f46e6bd293392ba0ae59b", async() => {
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_4);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(7607, 6, true);
|
||||
WriteLiteral("\r\n ");
|
||||
EndContext();
|
||||
BeginContext(7613, 43, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("script", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "3ffd113c6a3c4b36ad566da945840705", async() => {
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_5);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(7656, 6, true);
|
||||
WriteLiteral("\r\n ");
|
||||
EndContext();
|
||||
BeginContext(7662, 36, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("script", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "11ea9c2c340c41e78b0b976d17e62145", async() => {
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_6);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(7698, 4, true);
|
||||
WriteLiteral("\r\n\r\n");
|
||||
EndContext();
|
||||
}
|
||||
);
|
||||
}
|
||||
#pragma warning restore 1998
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper<dynamic> Html { get; private set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,128 @@
|
||||
#pragma checksum "D:\Projects\ShowTrend3.0\ShowTrend3\Views\Sau\analog.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "52a83490a3a8b9a1df5a4018534426df61dbadff"
|
||||
// <auto-generated/>
|
||||
#pragma warning disable 1591
|
||||
[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(AspNetCore.Views_Sau_analog), @"mvc.1.0.view", @"/Views/Sau/analog.cshtml")]
|
||||
[assembly:global::Microsoft.AspNetCore.Mvc.Razor.Compilation.RazorViewAttribute(@"/Views/Sau/analog.cshtml", typeof(AspNetCore.Views_Sau_analog))]
|
||||
namespace AspNetCore
|
||||
{
|
||||
#line hidden
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
using Microsoft.AspNetCore.Mvc.ViewFeatures;
|
||||
#line 1 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\_ViewImports.cshtml"
|
||||
using ShowTrend3;
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
#line 2 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\_ViewImports.cshtml"
|
||||
using ShowTrend3.Models;
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"52a83490a3a8b9a1df5a4018534426df61dbadff", @"/Views/Sau/analog.cshtml")]
|
||||
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"9e69e93380106bb986359f24304dbb7f798605da", @"/Views/_ViewImports.cshtml")]
|
||||
public class Views_Sau_analog : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage<dynamic>
|
||||
{
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("src", new global::Microsoft.AspNetCore.Html.HtmlString("~/lib/Chart.bundle.js"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("src", new global::Microsoft.AspNetCore.Html.HtmlString("~/js/AnalogChart.js"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
#line hidden
|
||||
#pragma warning disable 0169
|
||||
private string __tagHelperStringValueBuffer;
|
||||
#pragma warning restore 0169
|
||||
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
|
||||
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
|
||||
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
|
||||
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if (__backed__tagHelperScopeManager == null)
|
||||
{
|
||||
__backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
|
||||
}
|
||||
return __backed__tagHelperScopeManager;
|
||||
}
|
||||
}
|
||||
private global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper __Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 1 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\Sau\analog.cshtml"
|
||||
|
||||
ViewData["Title"] = "analog";
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
BeginContext(42, 61, true);
|
||||
WriteLiteral("<canvas id=\"myChart\" width=\"400\" height=\"400\"></canvas>\r\n\r\n\r\n");
|
||||
EndContext();
|
||||
DefineSection("Insert_Styles", async() => {
|
||||
BeginContext(126, 4, true);
|
||||
WriteLiteral("\r\n\r\n");
|
||||
EndContext();
|
||||
}
|
||||
);
|
||||
BeginContext(133, 2, true);
|
||||
WriteLiteral("\r\n");
|
||||
EndContext();
|
||||
DefineSection("Scripts", async() => {
|
||||
BeginContext(152, 6, true);
|
||||
WriteLiteral("\r\n ");
|
||||
EndContext();
|
||||
BeginContext(158, 45, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("script", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "b0f931c3cd7642e9b6eefa18e6d6f435", async() => {
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(203, 6, true);
|
||||
WriteLiteral("\r\n ");
|
||||
EndContext();
|
||||
BeginContext(209, 43, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("script", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "ac33b8f735fb4eea9bbd7aec80b226c4", async() => {
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(252, 2, true);
|
||||
WriteLiteral("\r\n");
|
||||
EndContext();
|
||||
}
|
||||
);
|
||||
}
|
||||
#pragma warning restore 1998
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper<dynamic> Html { get; private set; }
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
@@ -0,0 +1,229 @@
|
||||
#pragma checksum "D:\Projects\ShowTrend3.0\ShowTrend3\Views\Shared\_Layout.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "1c74fa492d0750c288f18cd4a7871355940d5687"
|
||||
// <auto-generated/>
|
||||
#pragma warning disable 1591
|
||||
[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(AspNetCore.Views_Shared__Layout), @"mvc.1.0.view", @"/Views/Shared/_Layout.cshtml")]
|
||||
[assembly:global::Microsoft.AspNetCore.Mvc.Razor.Compilation.RazorViewAttribute(@"/Views/Shared/_Layout.cshtml", typeof(AspNetCore.Views_Shared__Layout))]
|
||||
namespace AspNetCore
|
||||
{
|
||||
#line hidden
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
using Microsoft.AspNetCore.Mvc.ViewFeatures;
|
||||
#line 1 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\_ViewImports.cshtml"
|
||||
using ShowTrend3;
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
#line 2 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\_ViewImports.cshtml"
|
||||
using ShowTrend3.Models;
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"1c74fa492d0750c288f18cd4a7871355940d5687", @"/Views/Shared/_Layout.cshtml")]
|
||||
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"9e69e93380106bb986359f24304dbb7f798605da", @"/Views/_ViewImports.cshtml")]
|
||||
public class Views_Shared__Layout : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage<dynamic>
|
||||
{
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("rel", new global::Microsoft.AspNetCore.Html.HtmlString("stylesheet"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("href", new global::Microsoft.AspNetCore.Html.HtmlString("~/lib/Bootstrap/css/bootstrap.css"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("src", new global::Microsoft.AspNetCore.Html.HtmlString("~/lib/JQuery/jquery-3.3.1.js"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_3 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("src", new global::Microsoft.AspNetCore.Html.HtmlString("~/lib/Popper/umd/popper.js"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_4 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("src", new global::Microsoft.AspNetCore.Html.HtmlString("~/lib/Bootstrap/js/bootstrap.bundle.js"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
|
||||
#line hidden
|
||||
#pragma warning disable 0169
|
||||
private string __tagHelperStringValueBuffer;
|
||||
#pragma warning restore 0169
|
||||
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
|
||||
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
|
||||
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
|
||||
private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if (__backed__tagHelperScopeManager == null)
|
||||
{
|
||||
__backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
|
||||
}
|
||||
return __backed__tagHelperScopeManager;
|
||||
}
|
||||
}
|
||||
private global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.HeadTagHelper __Microsoft_AspNetCore_Mvc_Razor_TagHelpers_HeadTagHelper;
|
||||
private global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper __Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper;
|
||||
private global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.BodyTagHelper __Microsoft_AspNetCore_Mvc_Razor_TagHelpers_BodyTagHelper;
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
BeginContext(0, 35, true);
|
||||
WriteLiteral("<!DOCTYPE html>\r\n<html lang=\"ru\">\r\n");
|
||||
EndContext();
|
||||
BeginContext(35, 300, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("head", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "6600e8ee0c6b4dd8af055f54f81c9268", async() => {
|
||||
BeginContext(41, 135, true);
|
||||
WriteLiteral("\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\r\n <meta charset=\"utf-8\" />\r\n <title>");
|
||||
EndContext();
|
||||
BeginContext(177, 17, false);
|
||||
#line 6 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\Shared\_Layout.cshtml"
|
||||
Write(ViewData["Title"]);
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
EndContext();
|
||||
BeginContext(194, 14, true);
|
||||
WriteLiteral("</title>\r\n ");
|
||||
EndContext();
|
||||
BeginContext(208, 64, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("link", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagOnly, "c93939972b2c4c03894e8ef27ca51613", async() => {
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(272, 6, true);
|
||||
WriteLiteral("\r\n ");
|
||||
EndContext();
|
||||
BeginContext(279, 47, false);
|
||||
#line 8 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\Shared\_Layout.cshtml"
|
||||
Write(RenderSection("Insert_Styles", required: false));
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
EndContext();
|
||||
BeginContext(326, 2, true);
|
||||
WriteLiteral("\r\n");
|
||||
EndContext();
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_HeadTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.HeadTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_HeadTagHelper);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(335, 2, true);
|
||||
WriteLiteral("\r\n");
|
||||
EndContext();
|
||||
BeginContext(337, 309, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("body", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "8672b9ca12a64cb591b3344bcafb3d6b", async() => {
|
||||
BeginContext(343, 39, true);
|
||||
WriteLiteral("\r\n <div class=\"container\">\r\n ");
|
||||
EndContext();
|
||||
BeginContext(383, 12, false);
|
||||
#line 12 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\Shared\_Layout.cshtml"
|
||||
Write(RenderBody());
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
EndContext();
|
||||
BeginContext(395, 18, true);
|
||||
WriteLiteral("\r\n </div>\r\n ");
|
||||
EndContext();
|
||||
BeginContext(413, 52, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("script", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "0b909515959d4dcb9d57d883cc770d48", async() => {
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(465, 6, true);
|
||||
WriteLiteral("\r\n ");
|
||||
EndContext();
|
||||
BeginContext(471, 50, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("script", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "a6cc926cd9174df2b65b4b232fb36196", async() => {
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_3);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(521, 6, true);
|
||||
WriteLiteral("\r\n ");
|
||||
EndContext();
|
||||
BeginContext(527, 62, false);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.Begin("script", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "0f50a363a488411f825d42a8d5138d50", async() => {
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_UrlResolutionTagHelper);
|
||||
__tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_4);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(589, 6, true);
|
||||
WriteLiteral("\r\n ");
|
||||
EndContext();
|
||||
BeginContext(596, 41, false);
|
||||
#line 17 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\Shared\_Layout.cshtml"
|
||||
Write(RenderSection("Scripts", required: false));
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
EndContext();
|
||||
BeginContext(637, 2, true);
|
||||
WriteLiteral("\r\n");
|
||||
EndContext();
|
||||
}
|
||||
);
|
||||
__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_BodyTagHelper = CreateTagHelper<global::Microsoft.AspNetCore.Mvc.Razor.TagHelpers.BodyTagHelper>();
|
||||
__tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_Razor_TagHelpers_BodyTagHelper);
|
||||
await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
|
||||
if (!__tagHelperExecutionContext.Output.IsContentModified)
|
||||
{
|
||||
await __tagHelperExecutionContext.SetOutputContentAsync();
|
||||
}
|
||||
Write(__tagHelperExecutionContext.Output);
|
||||
__tagHelperExecutionContext = __tagHelperScopeManager.End();
|
||||
EndContext();
|
||||
BeginContext(646, 11, true);
|
||||
WriteLiteral("\r\n</html>\r\n");
|
||||
EndContext();
|
||||
}
|
||||
#pragma warning restore 1998
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper<dynamic> Html { get; private set; }
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
@@ -0,0 +1,46 @@
|
||||
#pragma checksum "D:\Projects\ShowTrend3.0\ShowTrend3\Views\_ViewImports.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "9e69e93380106bb986359f24304dbb7f798605da"
|
||||
// <auto-generated/>
|
||||
#pragma warning disable 1591
|
||||
[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(AspNetCore.Views__ViewImports), @"mvc.1.0.view", @"/Views/_ViewImports.cshtml")]
|
||||
[assembly:global::Microsoft.AspNetCore.Mvc.Razor.Compilation.RazorViewAttribute(@"/Views/_ViewImports.cshtml", typeof(AspNetCore.Views__ViewImports))]
|
||||
namespace AspNetCore
|
||||
{
|
||||
#line hidden
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
using Microsoft.AspNetCore.Mvc.ViewFeatures;
|
||||
#line 1 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\_ViewImports.cshtml"
|
||||
using ShowTrend3;
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
#line 2 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\_ViewImports.cshtml"
|
||||
using ShowTrend3.Models;
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"9e69e93380106bb986359f24304dbb7f798605da", @"/Views/_ViewImports.cshtml")]
|
||||
public class Views__ViewImports : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage<dynamic>
|
||||
{
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
}
|
||||
#pragma warning restore 1998
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper<dynamic> Html { get; private set; }
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
@@ -0,0 +1,53 @@
|
||||
#pragma checksum "D:\Projects\ShowTrend3.0\ShowTrend3\Views\_ViewStart.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "7091c65830b0329e613be026ede8a57552863778"
|
||||
// <auto-generated/>
|
||||
#pragma warning disable 1591
|
||||
[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(AspNetCore.Views__ViewStart), @"mvc.1.0.view", @"/Views/_ViewStart.cshtml")]
|
||||
[assembly:global::Microsoft.AspNetCore.Mvc.Razor.Compilation.RazorViewAttribute(@"/Views/_ViewStart.cshtml", typeof(AspNetCore.Views__ViewStart))]
|
||||
namespace AspNetCore
|
||||
{
|
||||
#line hidden
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
using Microsoft.AspNetCore.Mvc.ViewFeatures;
|
||||
#line 1 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\_ViewImports.cshtml"
|
||||
using ShowTrend3;
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
#line 2 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\_ViewImports.cshtml"
|
||||
using ShowTrend3.Models;
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"7091c65830b0329e613be026ede8a57552863778", @"/Views/_ViewStart.cshtml")]
|
||||
[global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"9e69e93380106bb986359f24304dbb7f798605da", @"/Views/_ViewImports.cshtml")]
|
||||
public class Views__ViewStart : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage<dynamic>
|
||||
{
|
||||
#pragma warning disable 1998
|
||||
public async override global::System.Threading.Tasks.Task ExecuteAsync()
|
||||
{
|
||||
#line 1 "D:\Projects\ShowTrend3.0\ShowTrend3\Views\_ViewStart.cshtml"
|
||||
|
||||
Layout = "_Layout";
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
}
|
||||
#pragma warning restore 1998
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; }
|
||||
[global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute]
|
||||
public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper<dynamic> Html { get; private set; }
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
@@ -0,0 +1,23 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Этот код создан программой.
|
||||
// Исполняемая версия:4.0.30319.42000
|
||||
//
|
||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||
// повторной генерации кода.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("ShowTrend3")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("ShowTrend3")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("ShowTrend3")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// Создано классом WriteCodeFragment MSBuild.
|
||||
|
@@ -0,0 +1 @@
|
||||
e3337b718dcef3831082c28b4786bae14c73f924
|
@@ -0,0 +1 @@
|
||||
85b2f9b420bce56b9ef3ba8010ab03745dd935f8
|
@@ -0,0 +1,20 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Этот код создан программой.
|
||||
// Исполняемая версия:4.0.30319.42000
|
||||
//
|
||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||
// повторной генерации кода.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.RelatedAssemblyAttribute("ShowTrend3.Views")]
|
||||
[assembly: Microsoft.AspNetCore.Razor.Hosting.RazorLanguageVersionAttribute("2.1")]
|
||||
[assembly: Microsoft.AspNetCore.Razor.Hosting.RazorConfigurationNameAttribute("MVC-2.1")]
|
||||
[assembly: Microsoft.AspNetCore.Razor.Hosting.RazorExtensionAssemblyNameAttribute("MVC-2.1", "Microsoft.AspNetCore.Mvc.Razor.Extensions")]
|
||||
|
||||
// Создано классом WriteCodeFragment MSBuild.
|
||||
|
@@ -0,0 +1 @@
|
||||
f5524b9973687b7347b9302b0dc99fdf2be1e56d
|
@@ -0,0 +1 @@
|
||||
5ddf91c2881b738fd45ac9c45dd731d0703478a8
|
@@ -0,0 +1,25 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Этот код создан программой.
|
||||
// Исполняемая версия:4.0.30319.42000
|
||||
//
|
||||
// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
|
||||
// повторной генерации кода.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ProvideApplicationPartFactoryAttribute("Microsoft.AspNetCore.Mvc.ApplicationParts.CompiledRazorAssemblyApplicationPartFac" +
|
||||
"tory, Microsoft.AspNetCore.Mvc.Razor")]
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("ShowTrend3")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("ShowTrend3")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("ShowTrend3.Views")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// Создано классом WriteCodeFragment MSBuild.
|
||||
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
e41e88dc176b2a9623402a94395f0857994dbaf9
|
@@ -0,0 +1,33 @@
|
||||
D:\Projects\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.csprojAssemblyReference.cache
|
||||
D:\Projects\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.csproj.CoreCompileInputs.cache
|
||||
D:\Projects\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.RazorAssemblyInfo.cache
|
||||
D:\Projects\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.RazorAssemblyInfo.cs
|
||||
D:\Projects\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.AssemblyInfoInputs.cache
|
||||
D:\Projects\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.AssemblyInfo.cs
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.csprojAssemblyReference.cache
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.csproj.CoreCompileInputs.cache
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.RazorAssemblyInfo.cache
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.RazorAssemblyInfo.cs
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.AssemblyInfoInputs.cache
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.AssemblyInfo.cs
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\bin\Debug\netcoreapp2.1\ShowTrend3.deps.json
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\bin\Debug\netcoreapp2.1\ShowTrend3.runtimeconfig.json
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\bin\Debug\netcoreapp2.1\ShowTrend3.runtimeconfig.dev.json
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\bin\Debug\netcoreapp2.1\ShowTrend3.dll
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\bin\Debug\netcoreapp2.1\ShowTrend3.pdb
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\bin\Debug\netcoreapp2.1\ShowTrend3.Views.dll
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\bin\Debug\netcoreapp2.1\ShowTrend3.Views.pdb
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.TagHelpers.input.cache
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.TagHelpers.output.cache
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.RazorCoreGenerate.cache
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\Razor\Views\Sau\analog.g.cshtml.cs
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\Razor\Views\Sau\Index.g.cshtml.cs
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\Razor\Views\Shared\_Layout.g.cshtml.cs
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\Razor\Views\_ViewImports.g.cshtml.cs
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\Razor\Views\_ViewStart.g.cshtml.cs
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.RazorTargetAssemblyInfo.cache
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.RazorTargetAssemblyInfo.cs
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.Views.pdb
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.dll
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.pdb
|
||||
D:\Projects\ShowTrend3.0\ShowTrend3\obj\Debug\netcoreapp2.1\ShowTrend3.csproj.CopyComplete
|
Binary file not shown.
BIN
ShowTrend_tmp3/ShowTrend3/obj/Debug/netcoreapp2.1/ShowTrend3.dll
Normal file
BIN
ShowTrend_tmp3/ShowTrend3/obj/Debug/netcoreapp2.1/ShowTrend3.dll
Normal file
Binary file not shown.
BIN
ShowTrend_tmp3/ShowTrend3/obj/Debug/netcoreapp2.1/ShowTrend3.pdb
Normal file
BIN
ShowTrend_tmp3/ShowTrend3/obj/Debug/netcoreapp2.1/ShowTrend3.pdb
Normal file
Binary file not shown.
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 1,
|
||||
"dgSpecHash": "X5MGwY57SB3Grf7+BDhigX8nm6/tQbjv1JPi2cmjxnQmjUihSQXNe4g7AaK5so1bQAT09GEZRe7zmv4YrhQmYA==",
|
||||
"success": true
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">D:\Projects\ShowTrend3.0\ShowTrend3\obj\project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Admin\.nuget\packages\;C:\ProgramData\Xamarin\NuGet\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">4.9.3</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
</PropertyGroup>
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.1.0\build\netcoreapp2.1\Microsoft.NETCore.App.props" Condition="Exists('C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.1.0\build\netcoreapp2.1\Microsoft.NETCore.App.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.embedded\2.1.0\build\netstandard2.0\Microsoft.Extensions.FileProviders.Embedded.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.embedded\2.1.0\build\netstandard2.0\Microsoft.Extensions.FileProviders.Embedded.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\2.1.0\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\2.1.0\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore.design\2.1.0\build\netcoreapp2.0\Microsoft.EntityFrameworkCore.Design.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore.design\2.1.0\build\netcoreapp2.0\Microsoft.EntityFrameworkCore.Design.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.mvc.razor.extensions\2.1.0\build\netstandard2.0\Microsoft.AspNetCore.Mvc.Razor.Extensions.props" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.mvc.razor.extensions\2.1.0\build\netstandard2.0\Microsoft.AspNetCore.Mvc.Razor.Extensions.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.razor.design\2.1.0\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.razor.design\2.1.0\build\netstandard2.0\Microsoft.AspNetCore.Razor.Design.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.all\2.1.0\build\netcoreapp2.1\Microsoft.AspNetCore.All.props" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.all\2.1.0\build\netcoreapp2.1\Microsoft.AspNetCore.All.props')" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<PkgMicrosoft_EntityFrameworkCore_Tools Condition=" '$(PkgMicrosoft_EntityFrameworkCore_Tools)' == '' ">C:\Users\Admin\.nuget\packages\microsoft.entityframeworkcore.tools\2.1.0</PkgMicrosoft_EntityFrameworkCore_Tools>
|
||||
<PkgMicrosoft_AspNetCore_Razor_Design Condition=" '$(PkgMicrosoft_AspNetCore_Razor_Design)' == '' ">C:\Users\Admin\.nuget\packages\microsoft.aspnetcore.razor.design\2.1.0</PkgMicrosoft_AspNetCore_Razor_Design>
|
||||
<PkgjQuery Condition=" '$(PkgjQuery)' == '' ">C:\Users\Admin\.nuget\packages\jquery\3.0.0</PkgjQuery>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
</PropertyGroup>
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\netstandard.library\2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('C:\Program Files\dotnet\sdk\NuGetFallbackFolder\netstandard.library\2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
|
||||
<Import Project="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.1.0\build\netcoreapp2.1\Microsoft.NETCore.App.targets" Condition="Exists('C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.1.0\build\netcoreapp2.1\Microsoft.NETCore.App.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.embedded\2.1.0\build\netstandard2.0\Microsoft.Extensions.FileProviders.Embedded.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.embedded\2.1.0\build\netstandard2.0\Microsoft.Extensions.FileProviders.Embedded.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\2.1.0\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.usersecrets\2.1.0\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.mvc.razor.extensions\2.1.0\build\netstandard2.0\Microsoft.AspNetCore.Mvc.Razor.Extensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.mvc.razor.extensions\2.1.0\build\netstandard2.0\Microsoft.AspNetCore.Mvc.Razor.Extensions.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.mvc.razor.viewcompilation\2.1.0\build\netstandard2.0\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.mvc.razor.viewcompilation\2.1.0\build\netstandard2.0\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.all\2.1.0\build\netcoreapp2.1\Microsoft.AspNetCore.All.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.all\2.1.0\build\netcoreapp2.1\Microsoft.AspNetCore.All.targets')" />
|
||||
</ImportGroup>
|
||||
</Project>
|
14061
ShowTrend_tmp3/ShowTrend3/obj/project.assets.json
Normal file
14061
ShowTrend_tmp3/ShowTrend3/obj/project.assets.json
Normal file
File diff suppressed because it is too large
Load Diff
BIN
ShowTrend_tmp3/ShowTrend3/temp/20190603.001
Normal file
BIN
ShowTrend_tmp3/ShowTrend3/temp/20190603.001
Normal file
Binary file not shown.
BIN
ShowTrend_tmp3/ShowTrend3/temp/20190603.011
Normal file
BIN
ShowTrend_tmp3/ShowTrend3/temp/20190603.011
Normal file
Binary file not shown.
BIN
ShowTrend_tmp3/ShowTrend3/temp/20190603.491
Normal file
BIN
ShowTrend_tmp3/ShowTrend3/temp/20190603.491
Normal file
Binary file not shown.
BIN
ShowTrend_tmp3/ShowTrend3/temp/20190604.001
Normal file
BIN
ShowTrend_tmp3/ShowTrend3/temp/20190604.001
Normal file
Binary file not shown.
BIN
ShowTrend_tmp3/ShowTrend3/temp/20190604.011
Normal file
BIN
ShowTrend_tmp3/ShowTrend3/temp/20190604.011
Normal file
Binary file not shown.
BIN
ShowTrend_tmp3/ShowTrend3/temp/20190604.491
Normal file
BIN
ShowTrend_tmp3/ShowTrend3/temp/20190604.491
Normal file
Binary file not shown.
11
ShowTrend_tmp3/ShowTrend3/wwwroot/css/MainSau.css
Normal file
11
ShowTrend_tmp3/ShowTrend3/wwwroot/css/MainSau.css
Normal file
@@ -0,0 +1,11 @@
|
||||
body {
|
||||
background-color: #808080;
|
||||
}
|
||||
|
||||
.container {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
header {
|
||||
background-color: #dfdfdf;
|
||||
}
|
BIN
ShowTrend_tmp3/ShowTrend3/wwwroot/favicon.ico
Normal file
BIN
ShowTrend_tmp3/ShowTrend3/wwwroot/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
BIN
ShowTrend_tmp3/ShowTrend3/wwwroot/favicon.png
Normal file
BIN
ShowTrend_tmp3/ShowTrend3/wwwroot/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 36 KiB |
313
ShowTrend_tmp3/ShowTrend3/wwwroot/js/AnalogChart.js
Normal file
313
ShowTrend_tmp3/ShowTrend3/wwwroot/js/AnalogChart.js
Normal file
@@ -0,0 +1,313 @@
|
||||
class AnalogChart {
|
||||
constructor(vdp, tstart, tend) {
|
||||
function ValueDateFormatter(e) {
|
||||
var hours = 1000 * 60 * 60;
|
||||
if (e.trigger === "reset") {
|
||||
e.chart.options.axisX.valueFormatString = "MM.DD HH";
|
||||
}
|
||||
else if (e.trigger === "zoom") {
|
||||
//Hour (Comparing Hours)
|
||||
if ((((e.axisX[0].viewportMaximum - e.axisX[0].viewportMinimum) / (hours)) < 24)) {
|
||||
e.chart.options.axisX.valueFormatString = "HH:mm:ss";
|
||||
}
|
||||
//Day (Comparing Days)
|
||||
else if (((e.axisX.viewportMaximum - e.axisX.viewportMinimum) / (hours)) < 48) {
|
||||
e.chart.options.axisX.valueFormatString = "HH:mm";
|
||||
}
|
||||
//Year (Comparing Years)
|
||||
else if (((e.axisX[0].viewportMaximum - e.axisX[0].viewportMinimum) / (hours * 24)) < 2) {
|
||||
e.chart.options.axisX.valueFormatString = "MM.DD HH";
|
||||
}
|
||||
else {
|
||||
e.chart.options.axisX.valueFormatString = "MM.DD";
|
||||
}
|
||||
}
|
||||
}
|
||||
this._vdp = vdp;
|
||||
this._tstart = tstart;
|
||||
this._tend = tend;
|
||||
this._chart_global = $("#AnalogChart_Global");
|
||||
this._chart_checkbox = $("#AnalogChart_Checkbox");
|
||||
this._chart_label = $("#AnalogChart_label");
|
||||
this._chart_buttonUpdate = $("#AnalogChart_Update");
|
||||
var self = this;
|
||||
this._chart_buttonUpdate.unbind("click");
|
||||
this._chart_buttonUpdate.click(function () {
|
||||
self.Update();
|
||||
});
|
||||
this._chart_conteiner = $("#AnalogChart");
|
||||
this._data = [];
|
||||
this._axisYList = [
|
||||
{
|
||||
labelFontSize: 12, labelAngle: -90,
|
||||
margin: 1, tickLength: 3, tickThickness: 1, lineThickness: 1, gridThickness: 0.1,
|
||||
suffix: "кА", logarithmic: false
|
||||
},
|
||||
{
|
||||
labelFontSize: 12, labelAngle: -90,
|
||||
margin: 1, tickLength: 3, tickThickness: 1, lineThickness: 1, gridThickness: 0.1,
|
||||
suffix: "кПа", logarithmic: false
|
||||
},
|
||||
{
|
||||
labelFontSize: 12, labelAngle: -90,
|
||||
margin: 1, tickLength: 3, tickThickness: 1, lineThickness: 1, gridThickness: 0.1,
|
||||
suffix: "А", logarithmic: false
|
||||
},
|
||||
{
|
||||
labelFontSize: 12, labelAngle: -90,
|
||||
margin: 1, tickLength: 3, tickThickness: 1, lineThickness: 1, gridThickness: 0.1,
|
||||
suffix: "В", logarithmic: false
|
||||
},
|
||||
{
|
||||
labelFontSize: 12, labelAngle: -90,
|
||||
margin: 1, tickLength: 3, tickThickness: 1, lineThickness: 1, gridThickness: 0.1,
|
||||
suffix: "гр.С", logarithmic: false
|
||||
},
|
||||
{
|
||||
labelFontSize: 12, labelAngle: -90,
|
||||
margin: 1, tickLength: 3, tickThickness: 1, lineThickness: 1, gridThickness: 0.1,
|
||||
suffix: "гр", logarithmic: false
|
||||
},
|
||||
{
|
||||
labelFontSize: 12, labelAngle: -90,
|
||||
margin: 1, tickLength: 3, tickThickness: 1, lineThickness: 1, gridThickness: 0.1,
|
||||
suffix: "мм", logarithmic: false
|
||||
},
|
||||
{
|
||||
labelFontSize: 12, labelAngle: -90,
|
||||
margin: 1, tickLength: 3, tickThickness: 1, lineThickness: 1, gridThickness: 0.1,
|
||||
suffix: "мкм.рт.с", logarithmic: true
|
||||
},
|
||||
{
|
||||
labelFontSize: 12, labelAngle: -90,
|
||||
margin: 1, tickLength: 3, tickThickness: 1, lineThickness: 1, gridThickness: 0.1,
|
||||
suffix: "м^3/ч", logarithmic: false
|
||||
},
|
||||
{
|
||||
labelFontSize: 12, labelAngle: -80,
|
||||
margin: 1, tickLength: 3, tickThickness: 1, lineThickness: 1, gridThickness: 0.1,
|
||||
suffix: "кгс/см^2", logarithmic: false
|
||||
}
|
||||
];
|
||||
|
||||
this._chart = new CanvasJS.Chart("AnalogChart", {
|
||||
toolTip: {
|
||||
fontSize: 12,
|
||||
shared: true,
|
||||
contentFormatter: function (e) {
|
||||
var str = "";
|
||||
if (e.entries.length < 1)
|
||||
return str;
|
||||
var lastdate = e.entries[0].dataPoint.x;
|
||||
var data = e.chart._dataInRenderedOrder;
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var y = null;
|
||||
|
||||
for (var j = 0; j < data[i].dataPoints.length; j++) {
|
||||
var t = data[i].dataPoints[j].x - lastdate;
|
||||
if (t <= 0)
|
||||
y = data[i].dataPoints[j].y;
|
||||
else
|
||||
break;
|
||||
t = data[i].dataPoints[(data[i].dataPoints.length - 1) - j].x - lastdate;
|
||||
if (t <= 0) {
|
||||
y = data[i].dataPoints[(data[i].dataPoints.length - 1) - j].y;
|
||||
break;
|
||||
}
|
||||
}
|
||||
var temp =
|
||||
data[i].name + ': <strong style="color:' +
|
||||
data[i].color + ';">' +
|
||||
y + ' </strong>' + data[i].axisY.suffix + "<br/>";
|
||||
str = str.concat(temp);
|
||||
}
|
||||
return (str);
|
||||
}
|
||||
},
|
||||
animationEnabled: true,
|
||||
animationDuration: 1000,
|
||||
exportFileName: "Analog Signals",
|
||||
exportEnabled: true,
|
||||
zoomEnabled: true,
|
||||
theme: "light1",
|
||||
backgroundColor: "#FFFFFF",
|
||||
colorSet: "colorSet1",
|
||||
culture: "ru",
|
||||
title: {},
|
||||
legend: {},
|
||||
|
||||
rangeChanging: ValueDateFormatter,
|
||||
axisX: {
|
||||
labelFontSize: 12,
|
||||
margin: 1,
|
||||
tickLength: 3,
|
||||
tickThickness: 1,
|
||||
lineThickness: 1,
|
||||
gridThickness: 0.3,
|
||||
valueFormatString: "MM.DD HH"
|
||||
},
|
||||
axisY: [
|
||||
{
|
||||
labelFontSize: 12, labelAngle: -90,
|
||||
margin: 1, tickLength: 3, tickThickness: 1, lineThickness: 1, gridThickness: 0.1,
|
||||
suffix: "", logarithmic: false
|
||||
}
|
||||
],
|
||||
data: []
|
||||
});
|
||||
var self = this;
|
||||
}
|
||||
|
||||
LoadData() {
|
||||
this.Clear();
|
||||
$("#AnalogChart_Load_Element").show();
|
||||
var self = this;
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: 'http://' + document.URL.split("/")[2] + '/api/listanalog',
|
||||
contentType: "application/json; charset=utf-8",
|
||||
dataType: "json",
|
||||
data: JSON.stringify({
|
||||
"vdp": self._vdp
|
||||
}),
|
||||
success: function (date) {
|
||||
self.AddList(date);
|
||||
self.Update();
|
||||
self.Show();
|
||||
},
|
||||
complete: function () {
|
||||
$("#AnalogChart_Load_Element").hide();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
AddList(d) {
|
||||
if (d == undefined || d.length <= 0)
|
||||
return;
|
||||
for (var i = 0; i < d.length; i++) {
|
||||
var data = {
|
||||
type: "line",
|
||||
markerType: "none",
|
||||
name: d[i].sn == undefined ? "" : d[i].sn,
|
||||
suffix: d[i].s,
|
||||
axisYIndex: 0,
|
||||
}
|
||||
this._data.push(data);
|
||||
|
||||
var vischk = d[i].v ? 'checked' : '';
|
||||
this._chart_checkbox.append('<label class="form-check-label">' +
|
||||
'<input type = "checkbox" class= "form-check-input"' + vischk + '>' +
|
||||
d[i].fn + '</label><br />');
|
||||
}
|
||||
}
|
||||
|
||||
Update() {
|
||||
this._chart_buttonUpdate.attr('disabled', true);
|
||||
while (this._chart.options.axisY.length > 1)
|
||||
this._chart.options.axisY.pop();
|
||||
while (this._chart.options.data.length > 0)
|
||||
this._chart.options.data.pop();
|
||||
var chkList = this._chart_checkbox.find('input');
|
||||
var sendmass = [];
|
||||
for (var i = 0; i < chkList.length; i++) {
|
||||
if (chkList[i].checked)
|
||||
sendmass.push(i);
|
||||
}
|
||||
var self = this;
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: 'http://' + document.URL.split("/")[2] + '/api/analog',
|
||||
contentType: "application/json; charset=utf-8",
|
||||
dataType: "json",
|
||||
data: JSON.stringify({
|
||||
"vdp": self._vdp,
|
||||
"timeStart": self._tstart,
|
||||
"timeEnd": self._tend,
|
||||
"signals": sendmass
|
||||
}),
|
||||
success: function (date) {
|
||||
for (var i = 0; i < date.length; i++) {
|
||||
date[i] = self.Hunpack(date[i]);
|
||||
}
|
||||
var caret = 0;
|
||||
var chkList = self._chart_checkbox.find('input');
|
||||
for (var i = 0; i < chkList.length; i++) {
|
||||
if (!chkList[i].checked)
|
||||
continue;
|
||||
|
||||
var d = self._data[i];
|
||||
d.dataPoints = [];
|
||||
for (var j = 0; j < date[caret].length; j++)
|
||||
d.dataPoints.push({
|
||||
x: new Date(date[caret][j].x),
|
||||
y: date[caret][j].y
|
||||
});
|
||||
caret++;
|
||||
|
||||
var idx = -1;
|
||||
for (var j = 0; j < self._chart.options.axisY.length; j++)
|
||||
if (self._chart.options.axisY[j].suffix == d.suffix)
|
||||
idx = j;
|
||||
if (idx != -1) {
|
||||
d.axisYIndex = idx;
|
||||
self._chart.options.data.push(d);
|
||||
continue;
|
||||
}
|
||||
|
||||
for (var j = 0; j < self._axisYList.length; j++) {
|
||||
if (self._axisYList[j].suffix == d.suffix)
|
||||
idx = j;
|
||||
}
|
||||
if (idx != -1) {
|
||||
self._chart.options.axisY.push(self._axisYList[idx]);
|
||||
d.axisYIndex = self._chart.options.axisY.length - 1;
|
||||
self._chart.options.data.push(d);
|
||||
continue;
|
||||
}
|
||||
d.axisYIndex = 0;
|
||||
self._chart.options.data.push(d);
|
||||
}
|
||||
self._chart.render();
|
||||
},
|
||||
complete: function () {
|
||||
self._chart_buttonUpdate.removeAttr('disabled');
|
||||
//$("#AnalogChart_Load_Element").hide();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Show() {
|
||||
//this.Update();
|
||||
this._chart_global.removeAttr('hidden');
|
||||
this._chart_label.removeAttr('hidden');
|
||||
this._chart.render();
|
||||
}
|
||||
|
||||
Clear() {
|
||||
this._data = [];
|
||||
this._chart_global.attr('hidden', true);
|
||||
this._chart_label.attr('hidden', true);
|
||||
this._chart_checkbox.empty();
|
||||
this._chart.options.data = [];
|
||||
}
|
||||
|
||||
Hunpack(hlist) {
|
||||
for (var
|
||||
length = hlist.length,
|
||||
klength = hlist[0],
|
||||
result = Array(((length - klength - 1) / klength) || 0),
|
||||
i = 1 + klength,
|
||||
j = 0,
|
||||
ki, o;
|
||||
i < length;
|
||||
) {
|
||||
for (
|
||||
result[j++] = (o = {}), ki = 0;
|
||||
ki < klength;
|
||||
o[hlist[++ki]] = hlist[i++]
|
||||
);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
272
ShowTrend_tmp3/ShowTrend3/wwwroot/js/Pasport.js
Normal file
272
ShowTrend_tmp3/ShowTrend3/wwwroot/js/Pasport.js
Normal file
@@ -0,0 +1,272 @@
|
||||
class Pasport {
|
||||
constructor() {
|
||||
//html Elements
|
||||
this._ajax;
|
||||
this._pasp_lable = $('#Pasport_Lable');
|
||||
this._pasp_date = $('#Pasport_Date');
|
||||
this._pasp_info = $('#Pasport_Info');
|
||||
this._pasp_button = $('#Pasport_button_LoadAll');
|
||||
|
||||
|
||||
//private Elements
|
||||
this._server_dir = "";
|
||||
|
||||
|
||||
//public Elements
|
||||
this.have_date = false;
|
||||
this.have_pasport = false;
|
||||
this.time_start = "";
|
||||
this.time_end = "";
|
||||
this.num_vdp = -1;
|
||||
this.num_plav = "";
|
||||
this.splav = "";
|
||||
this.is = "";
|
||||
this.pereplav = -1;
|
||||
this.naznachenie = "";
|
||||
this.kategory = "";
|
||||
this.zakaz = "";
|
||||
this.ves_slit = -1;
|
||||
this.kompl = -1;
|
||||
this.diam_krist = -1;
|
||||
this.diam_electr = -1;
|
||||
this.num_kontract = "";
|
||||
this.ukazanie = "";
|
||||
this.kod_npl = "";
|
||||
this.rm = "";
|
||||
this.notd = -1;
|
||||
this.tin = "";
|
||||
this.dzap = "";
|
||||
this.dlog = -1;
|
||||
this.last = -1;
|
||||
this.dlper = -1;
|
||||
this.izl = -1;
|
||||
this.robm = -1;
|
||||
this.rizol = 6;
|
||||
this.pos = -1;
|
||||
this.pril = 1;
|
||||
}
|
||||
|
||||
Download(dir) {
|
||||
if (dir == this._server_dir)
|
||||
return;
|
||||
var self = this;
|
||||
this._server_dir = dir;
|
||||
this.num_vdp = this._ParseDirToNumVDP(dir);
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: 'http://' + document.URL.split("/")[2] + '/api/pasport',
|
||||
contentType: "application/json; charset=utf-8",
|
||||
dataType: "json",
|
||||
|
||||
data: JSON.stringify({ "pasport": this._server_dir }),
|
||||
|
||||
beforeSend: function (jqXHR, settings) {
|
||||
self._pasp_button.attr('hidden', true);
|
||||
},
|
||||
success: function (date) {
|
||||
self.have_date = date.have_date;
|
||||
self.have_pasport = date.have_pasport;
|
||||
self.time_start = date.time_start;
|
||||
self.time_end = date.time_end;
|
||||
if (!self.have_pasport)
|
||||
return;
|
||||
self.num_plav = date.num_plav;
|
||||
self.splav = date.splav;
|
||||
self.is = date.is;
|
||||
self.pereplav = date.pereplav;
|
||||
self.naznachenie = date.naznachenie;
|
||||
self.kategory = date.kategory;
|
||||
self.zakaz = date.zakaz;
|
||||
self.ves_slit = date.ves_slit;
|
||||
self.kompl = date.kompl;
|
||||
self.diam_krist = date.diam_krist;
|
||||
self.diam_electr = date.diam_electr;
|
||||
self.num_kontract = date.num_kontract;
|
||||
self.ukazanie = date.ukazanie;
|
||||
self.kod_npl = date.kod_npl;
|
||||
self.rm = date.rm;
|
||||
self.notd = date.notd;
|
||||
self.tin = date.tin;
|
||||
self.dzap = date.dzap;
|
||||
self.dlog = date.dlog;
|
||||
self.last = date.last;
|
||||
self.dlper = date.dlper;
|
||||
self.izl = date.izl;
|
||||
self.robm = date.robm;
|
||||
self.rizol = date.rizol;
|
||||
self.pos = date.pos;
|
||||
self.pril = date.pril;
|
||||
self.Show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_ParseDirToNumVDP(dir) {
|
||||
var t = dir.split('.');
|
||||
if (t[t.length - 1] != "gz")
|
||||
return parseInt(t[t.length - 1]);
|
||||
t = t[0].split('-');
|
||||
if (t.length == 2)
|
||||
return parseInt(t[t.length - 1]);
|
||||
if (t.length == 4)
|
||||
return parseInt(t[2]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
Show() {
|
||||
this._pasp_lable.removeAttr('hidden');
|
||||
if (this.have_date == undefined || !this.have_date) {
|
||||
this._pasp_lable.find('h5').html('Ошибка получения паспорта');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (this.have_pasport == undefined || !this.have_pasport)
|
||||
this._pasp_lable.find('h5').html('Паспорта нет');
|
||||
else
|
||||
this._pasp_lable.find('h5').html('Плавка №' + this.num_plav);
|
||||
|
||||
this._pasp_date.removeAttr('hidden');
|
||||
this._pasp_date.find('span').eq(0).html(this.time_start);
|
||||
this._pasp_date.find('span').eq(1).html(this.time_end);
|
||||
|
||||
this._pasp_button.removeAttr('hidden');
|
||||
if (this.have_pasport == undefined || !this.have_pasport)
|
||||
return;
|
||||
|
||||
this._pasp_info.removeAttr('hidden');
|
||||
var temp = this._pasp_info.find('span');
|
||||
temp.empty();
|
||||
if (this.is != '-')
|
||||
temp.eq(0).html(this.splav + ' ' + this.is);
|
||||
else
|
||||
temp.eq(0).html(this.splav);
|
||||
temp.eq(1).html(this.pereplav);
|
||||
temp.eq(2).html(this.naznachenie);
|
||||
temp.eq(3).html(this.kategory);
|
||||
temp.eq(4).html(this.zakaz);
|
||||
temp.eq(5).html(this.ves_slit);
|
||||
temp.eq(6).html(this.kompl);
|
||||
temp.eq(7).html(this.diam_krist);
|
||||
temp.eq(8).html(this.diam_electr);
|
||||
temp.eq(9).html(this.num_kontract);
|
||||
temp.eq(10).html(this.ukazanie);
|
||||
}
|
||||
|
||||
Clear() {
|
||||
this._pasp_lable.find('h5').empty();
|
||||
this._pasp_lable.attr('hidden', true);
|
||||
|
||||
this._pasp_date.find('span').empty();
|
||||
this._pasp_date.attr('hidden', true);
|
||||
|
||||
this._pasp_info.find('span').empty();
|
||||
this._pasp_info.attr('hidden', true);
|
||||
|
||||
this._pasp_button.attr('hidden', true);
|
||||
}
|
||||
}
|
||||
|
||||
class TechCycle {
|
||||
constructor() {
|
||||
this._sort = false;
|
||||
this._modal_load = $('#Modal_load');
|
||||
this._tech_lable = $('#Tech_Cycle_Lable');
|
||||
this._tech_table = $('#Tech_Cycle_Table');
|
||||
this._tech_sort = $('#Tech_Cycle_Sort');
|
||||
this._info_arr = [];
|
||||
|
||||
var self = this;
|
||||
this._tech_sort.click(function () {
|
||||
if (self._sort == undefined)
|
||||
self._sort == true;
|
||||
self._sort = !self._sort;
|
||||
self._tech_table.find('tbody').empty();
|
||||
self.Show();
|
||||
});
|
||||
}
|
||||
Download(pasp) {
|
||||
var self = this;
|
||||
this._info_arr = [];
|
||||
this.Clear();
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: 'http://' + document.URL.split("/")[2] + '/api/techcycle',
|
||||
contentType: "application/json; charset=utf-8",
|
||||
dataType: "json",
|
||||
|
||||
data: JSON.stringify({
|
||||
"vdp": pasp.num_vdp,
|
||||
"timeStart": pasp.time_start,
|
||||
"timeEnd": pasp.time_end
|
||||
}),
|
||||
success: function (date) {
|
||||
if (date == undefined || date.length == 0)
|
||||
return;
|
||||
self._info_arr = date;
|
||||
self.Show();
|
||||
}
|
||||
//complete: function () { }
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
DownloadFormTime(vdp, tStart, tEnd) {
|
||||
var self = this;
|
||||
this._modal_load.modal('show');
|
||||
this._info_arr = [];
|
||||
this.Clear();
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: 'http://' + document.URL.split("/")[2] + '/api/techcycle',
|
||||
contentType: "application/json; charset=utf-8",
|
||||
dataType: "json",
|
||||
|
||||
data: JSON.stringify({
|
||||
"vdp": vdp,
|
||||
"timeStart": tStart,
|
||||
"timeEnd": tEnd
|
||||
}),
|
||||
success: function (date) {
|
||||
if (date == undefined || date.length == 0)
|
||||
return;
|
||||
self._info_arr = date;
|
||||
self.Show();
|
||||
}
|
||||
//complete: function () { }
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
Show() {
|
||||
if (this._info_arr == undefined || this._info_arr.length == 0)
|
||||
return;
|
||||
|
||||
this._tech_sort.removeClass('fa-sort-amount-down fa-sort-amount-up');
|
||||
this._tech_sort.addClass(this._sort ? 'fa-sort-amount-up' : 'fa-sort-amount-down');
|
||||
|
||||
for (var i = 0; i < this._info_arr.length; i++) {
|
||||
var j = this._sort ? this._info_arr.length - 1 - i : i;
|
||||
this._tech_table.find('tbody').append(
|
||||
'<tr style="background-color : rgba(' + this._info_arr[j].color + ', 0.15);">' +
|
||||
'<td>' + (j + 1) +
|
||||
'</td>' +
|
||||
'<td>' + this._info_arr[j].date +
|
||||
'</td>' +
|
||||
'<td>' + this._info_arr[j].value +
|
||||
'</td>' +
|
||||
'</tr>');
|
||||
}
|
||||
this._tech_table.find('td').addClass('p-1');
|
||||
this._tech_lable.removeAttr('hidden');
|
||||
this._tech_table.removeAttr('hidden');
|
||||
}
|
||||
Clear() {
|
||||
this._tech_lable.attr('hidden', true);
|
||||
|
||||
this._tech_table.find('tbody').empty();
|
||||
this._tech_table.attr('hidden', true);
|
||||
}
|
||||
}
|
||||
|
154
ShowTrend_tmp3/ShowTrend3/wwwroot/js/main.js
Normal file
154
ShowTrend_tmp3/ShowTrend3/wwwroot/js/main.js
Normal file
@@ -0,0 +1,154 @@
|
||||
var pasport_vdp = new Pasport();
|
||||
var tech_cycle = new TechCycle();
|
||||
|
||||
var search1_date = $('#Search1_date');
|
||||
var search1_list_pasport = $('#Search1_list_pasport');
|
||||
var search1_button = $('#Search1_button');
|
||||
var button_load_all = $('#Pasport_button_LoadAll');
|
||||
|
||||
var search2_select_vdp = $('#Search2_select_vdp');
|
||||
var search2_date_start = $('#Search2_date_start');
|
||||
var search2_date_end = $('#Search2_date_end');
|
||||
var search2_time_start = $('#Search2_time_start');
|
||||
var search2_time_end = $('#Search2_time_end');
|
||||
var search2_button_load = $('#Search2_button_load');
|
||||
|
||||
var analog_Chart = new AnalogChart();
|
||||
$(document).ready(function () {
|
||||
var d = new Date();
|
||||
var t = d.getFullYear() + "-" +
|
||||
("0" + (d.getMonth() + 1)).slice(-2) + "-" +
|
||||
("0" + d.getDate()).slice(-2);
|
||||
search1_date.val(t);
|
||||
search2_date_end.val(t);
|
||||
|
||||
t = ("0" + d.getHours()).slice(-2) + ":" +
|
||||
("0" + d.getMinutes()).slice(-2) + ":" +
|
||||
("0" + d.getSeconds()).slice(-2);
|
||||
search2_time_end.val(t);
|
||||
search2_time_start.val(t);
|
||||
|
||||
d.setDate(d.getDate() - 3);
|
||||
t = d.getFullYear() + "-" +
|
||||
("0" + (d.getMonth() + 1)).slice(-2) + "-" +
|
||||
("0" + d.getDate()).slice(-2);
|
||||
search2_date_start.val(t);
|
||||
|
||||
for (var i = 1; i < 51; i++)
|
||||
search2_select_vdp.append('<option>' + i + '</option>');
|
||||
for (var i = 91; i < 95; i++)
|
||||
search2_select_vdp.append('<option>' + i + '</option>');
|
||||
});
|
||||
|
||||
search1_date.change(function () {
|
||||
search1_list_pasport.empty();
|
||||
pasport_vdp.Clear();
|
||||
tech_cycle.Clear();
|
||||
analog_Chart.Clear();
|
||||
var value = search1_date.val();
|
||||
value = value.split('-');
|
||||
value = new Date(value[0], value[1] - 1, value[2]);
|
||||
if (value < new Date(2001, 01, 21))
|
||||
search1_date.val("2001-02-21");
|
||||
|
||||
if (value > new Date()) {
|
||||
var date = new Date();
|
||||
date =
|
||||
date.getFullYear() + "-" +
|
||||
("0" + (date.getMonth() + 1)).slice(-2) + "-" +
|
||||
("0" + date.getDate()).slice(-2);
|
||||
search1_date.val(date);
|
||||
}
|
||||
});
|
||||
|
||||
search1_button.click(function () {
|
||||
if (!search1_date.val())
|
||||
return;
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: 'http://' + document.URL.split("/")[2] + '/api/dirbrowse',
|
||||
contentType: "application/json; charset=utf-8",
|
||||
dataType: "json",
|
||||
data: JSON.stringify({ "date": search1_date.val() }),
|
||||
failure: function (errMsg) {
|
||||
alert(errMsg);
|
||||
},
|
||||
beforeSend: function (jqXHR, settings) {
|
||||
pasport_vdp.Clear();
|
||||
search1_list_pasport.empty();
|
||||
},
|
||||
success: function (date) {
|
||||
if (date.length == 0)
|
||||
search1_list_pasport.append('<option>Плавок нет</option>');
|
||||
for (var i = 0; i < date.length; i++)
|
||||
search1_list_pasport.append('<option value="' + date[i].Dir + '">' + date[i].Name + '</option>');
|
||||
search1_list_pasport.change();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
search1_list_pasport.change(function () {
|
||||
var chk = search1_list_pasport.find(":selected").val();
|
||||
if (chk == undefined || chk == "" || chk == "Плавок нет")
|
||||
return;
|
||||
if (chk != pasport_vdp._server_dir) {
|
||||
pasport_vdp.Download(chk);
|
||||
}
|
||||
tech_cycle.Clear();
|
||||
analog_Chart.Clear();
|
||||
});
|
||||
|
||||
button_load_all.click(function () {
|
||||
tech_cycle.Download(pasport_vdp);
|
||||
analog_Chart = new AnalogChart(pasport_vdp.num_vdp, pasport_vdp.time_start, pasport_vdp.time_end);
|
||||
analog_Chart.LoadData();
|
||||
});
|
||||
|
||||
search2_button_load.click(function () {
|
||||
if (search2_date_start.val() == undefined ||
|
||||
search2_date_end.val() == undefined ||
|
||||
search2_time_start.val() == undefined ||
|
||||
search2_time_end.val() == undefined) {
|
||||
alert("Не верно указаны даты.");
|
||||
return;
|
||||
}
|
||||
pasport_vdp.Clear();
|
||||
tech_cycle.Clear();
|
||||
analog_Chart.Clear();
|
||||
var d = search2_date_start.val().split('-');
|
||||
var t = search2_time_start.val().split(':');
|
||||
var r_start = new Date(d[0], d[1], d[2], t[0], t[1], t[2]);
|
||||
|
||||
d = search2_date_end.val().split('-');
|
||||
t = search2_time_end.val().split(':');
|
||||
var r_end = new Date(d[0], d[1], d[2], t[0], t[1], t[2]);
|
||||
var delta = r_end - r_start;
|
||||
delta = Math.round(delta / 1000 / 60 / 60 / 24);
|
||||
if (delta < 0) {
|
||||
alert("Не верно указаны даты.");
|
||||
return;
|
||||
}
|
||||
if (delta > 3) {
|
||||
alert("Временной интервал больше 4 дней.");
|
||||
return;
|
||||
}
|
||||
var ds = search2_date_start.val().split('-');
|
||||
var ts = search2_time_start.val().split(':');
|
||||
var de = search2_date_end.val().split('-');
|
||||
var te = search2_time_end.val().split(':');
|
||||
tech_cycle.DownloadFormTime(
|
||||
search2_select_vdp.find(":selected").val(),
|
||||
ds[2] + '.' + ds[1] + '.' + ds[0] + ' ' + ts[0] + ':' + ts[1] + ':' + ts[2],
|
||||
de[2] + '.' + de[1] + '.' + de[0] + ' ' + te[0] + ':' + te[1] + ':' + te[2]);
|
||||
analog_Chart = new AnalogChart(search2_select_vdp.find(":selected").val(),
|
||||
ds[2] + '.' + ds[1] + '.' + ds[0] + ' ' + ts[0] + ':' + ts[1] + ':' + ts[2],
|
||||
de[2] + '.' + de[1] + '.' + de[0] + ' ' + te[0] + ':' + te[1] + ':' + te[2]);
|
||||
analog_Chart.LoadData();
|
||||
})
|
||||
|
||||
$("#test_button").click(function () {
|
||||
analog_Chart.LoadData();
|
||||
});
|
||||
|
||||
|
||||
|
1912
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/css/bootstrap-grid.css
vendored
Normal file
1912
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/css/bootstrap-grid.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
7
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/css/bootstrap-grid.min.css
vendored
Normal file
7
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/css/bootstrap-grid.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
330
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/css/bootstrap-reboot.css
vendored
Normal file
330
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/css/bootstrap-reboot.css
vendored
Normal file
@@ -0,0 +1,330 @@
|
||||
/*!
|
||||
* Bootstrap Reboot v4.1.1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2018 The Bootstrap Authors
|
||||
* Copyright 2011-2018 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
line-height: 1.15;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-ms-overflow-style: scrollbar;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
@-ms-viewport {
|
||||
width: device-width;
|
||||
}
|
||||
|
||||
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
color: #212529;
|
||||
text-align: left;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
[tabindex="-1"]:focus {
|
||||
outline: 0 !important;
|
||||
}
|
||||
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
abbr[title],
|
||||
abbr[data-original-title] {
|
||||
text-decoration: underline;
|
||||
-webkit-text-decoration: underline dotted;
|
||||
text-decoration: underline dotted;
|
||||
cursor: help;
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
address {
|
||||
margin-bottom: 1rem;
|
||||
font-style: normal;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul,
|
||||
dl {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
ol ol,
|
||||
ul ul,
|
||||
ol ul,
|
||||
ul ol {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-bottom: .5rem;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
position: relative;
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -.5em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #007bff;
|
||||
text-decoration: none;
|
||||
background-color: transparent;
|
||||
-webkit-text-decoration-skip: objects;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #0056b3;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]) {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]):focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
pre,
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
overflow: auto;
|
||||
-ms-overflow-style: scrollbar;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
img {
|
||||
vertical-align: middle;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
caption {
|
||||
padding-top: 0.75rem;
|
||||
padding-bottom: 0.75rem;
|
||||
color: #6c757d;
|
||||
text-align: left;
|
||||
caption-side: bottom;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: inherit;
|
||||
}
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
outline: 1px dotted;
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
}
|
||||
|
||||
input,
|
||||
button,
|
||||
select,
|
||||
optgroup,
|
||||
textarea {
|
||||
margin: 0;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
button,
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
button,
|
||||
html [type="button"],
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
button::-moz-focus-inner,
|
||||
[type="button"]::-moz-focus-inner,
|
||||
[type="reset"]::-moz-focus-inner,
|
||||
[type="submit"]::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
input[type="radio"],
|
||||
input[type="checkbox"] {
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
input[type="date"],
|
||||
input[type="time"],
|
||||
input[type="datetime-local"],
|
||||
input[type="month"] {
|
||||
-webkit-appearance: listbox;
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
min-width: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
legend {
|
||||
display: block;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
padding: 0;
|
||||
margin-bottom: .5rem;
|
||||
font-size: 1.5rem;
|
||||
line-height: inherit;
|
||||
color: inherit;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
progress {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
[type="number"]::-webkit-inner-spin-button,
|
||||
[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[type="search"] {
|
||||
outline-offset: -2px;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
[type="search"]::-webkit-search-cancel-button,
|
||||
[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
font: inherit;
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
output {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
/*# sourceMappingURL=bootstrap-reboot.css.map */
|
File diff suppressed because one or more lines are too long
8
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/css/bootstrap-reboot.min.css
vendored
Normal file
8
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/css/bootstrap-reboot.min.css
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
/*!
|
||||
* Bootstrap Reboot v4.1.1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2018 The Bootstrap Authors
|
||||
* Copyright 2011-2018 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
|
||||
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
|
File diff suppressed because one or more lines are too long
8981
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/css/bootstrap.css
vendored
Normal file
8981
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/css/bootstrap.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
7
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/css/bootstrap.min.css
vendored
Normal file
7
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
6444
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/js/bootstrap.bundle.js
vendored
Normal file
6444
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/js/bootstrap.bundle.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
7
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/js/bootstrap.bundle.min.js
vendored
Normal file
7
ShowTrend_tmp3/ShowTrend3/wwwroot/lib/Bootstrap/js/bootstrap.bundle.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user