1188 lines
49 KiB
C#
1188 lines
49 KiB
C#
using Service.MeterProcessState.Data;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using System.Web.Http;
|
|
using Xylem.Common.Service.MeterProcessState.Data;
|
|
|
|
|
|
|
|
// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
|
|
|
|
namespace Service.MeterProcessState.Controllers
|
|
{
|
|
[RoutePrefix("api/TempFlange")]
|
|
|
|
public class TempFlangeController : ApiController
|
|
{
|
|
[Route("GetLut"),HttpGet]
|
|
public async Task<List<CordonelTempLut>> GetLut(Int32 PcbId)
|
|
{
|
|
try
|
|
{
|
|
|
|
using (AuftragContext ctx = new AuftragContext())
|
|
{
|
|
|
|
|
|
|
|
var query = from lut in ctx.CordonelTempLut
|
|
where lut.PcbId == PcbId && lut.Active
|
|
|
|
orderby lut.RefTempC ascending
|
|
|
|
select lut;
|
|
return query.ToList(); ;
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
throw ex;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
[Route("AddLut"), HttpPost]
|
|
public async Task<Boolean> AddLut(Int32 PcbId, Double RefTempC, Double AvgTof)
|
|
{
|
|
try
|
|
{
|
|
using (AuftragContext ctx = new AuftragContext())
|
|
{
|
|
|
|
|
|
var newItem = ctx.CordonelTempLut.Add(new CordonelTempLut() { PcbId = PcbId, RefTempC = RefTempC, AvgTof = AvgTof, Active = true });
|
|
return await ctx.SaveChangesAsync() > 0;
|
|
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
throw ex;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
//[Route("GetErrorCurve")]
|
|
//[HttpGet]
|
|
//public async Task<IHttpActionResult> Get(int SerialNumber, int lastXRounds = 1, int? testbench = null, bool LoadDisplay = true, bool LoadPath1 = false, bool LoadPath2 = false, bool LoadPath3 = false) // todo add date , testbench and more filters
|
|
//{
|
|
// bool showPaths = true;
|
|
// if (!testbench.HasValue)
|
|
// {
|
|
// testbench = 0;
|
|
// }
|
|
// using (var ctx = new AuftragContext())
|
|
// {
|
|
// try
|
|
// {
|
|
|
|
|
|
// var query = from aps in ctx.AuftragPositionSerienNr
|
|
// join pg in ctx.Pruefgang on aps.Pruefgangnr equals pg.PruefgangNr
|
|
// join pf in ctx.Prueffehler on new { pg = aps.Pruefgangnr, aps.SerienNr } equals new { pg = pf.PruefgangNr, pf.SerienNr }
|
|
// join pfc1 in ctx.PrueffehlerGenesisPfade on new { pf.PruefgangNr, pf.SerienNr, Pfad = (short)1 } equals new { pfc1.PruefgangNr, pfc1.SerienNr, pfc1.Pfad }
|
|
// join pfc2 in ctx.PrueffehlerGenesisPfade on new { pf.PruefgangNr, pf.SerienNr, Pfad = (short)2 } equals new { pfc2.PruefgangNr, pfc2.SerienNr, pfc2.Pfad }
|
|
// join pfc3 in ctx.PrueffehlerGenesisPfade on new { pf.PruefgangNr, pf.SerienNr, Pfad = (short)3 } equals new { pfc3.PruefgangNr, pfc3.SerienNr, pfc3.Pfad }
|
|
// where aps.SerienNr == SerialNumber
|
|
// && (testbench.Value == 0 || pg.PruefstationNr == testbench.Value)
|
|
|
|
// orderby pg.PruefgangNr descending
|
|
// select new List<ErrorCurve>() {
|
|
// //Display
|
|
// new ErrorCurve() { SerialNumber = $"{SerialNumber}", TestNr = pg.PruefgangNr,
|
|
// Flows = new List<float?>() { pg.Pp1Soll,pg.Pp2Soll,pg.Pp3Soll,pg.Pp4Soll,pg.Pp5Soll,pg.Pp6Soll,pg.Pp7Soll,pg.Pp8Soll,pg.Pp9Soll,pg.Pp10Soll },
|
|
// Deviations = new List<double?>() { pf.Pp1Fehler,pf.Pp2Fehler,pf.Pp3Fehler,pf.Pp4Fehler,pf.Pp5Fehler,pf.Pp6Fehler,pf.Pp7Fehler,pf.Pp8Fehler,pf.Pp9Fehler,pf.Pp10Fehler }
|
|
// },
|
|
// //Path1
|
|
// new ErrorCurve() { SerialNumber = $"{SerialNumber}_Path1", TestNr = pg.PruefgangNr,
|
|
// Flows = new List<float?>() { pg.Pp1Soll,pg.Pp2Soll,pg.Pp3Soll,pg.Pp4Soll,pg.Pp5Soll,pg.Pp6Soll,pg.Pp7Soll,pg.Pp8Soll,pg.Pp9Soll,pg.Pp10Soll },
|
|
// Deviations = new List<double?>() { pfc1.Pp1Fehler,pfc1.Pp2Fehler,pfc1.Pp3Fehler,pfc1.Pp4Fehler,pfc1.Pp5Fehler,pfc1.Pp6Fehler,pfc1.Pp7Fehler,pfc1.Pp8Fehler,pfc1.Pp9Fehler,pfc1.Pp10Fehler }
|
|
// },
|
|
// //Path2
|
|
// new ErrorCurve() { SerialNumber = $"{SerialNumber}_Path2", TestNr = pg.PruefgangNr,
|
|
// Flows = new List<float?>() { pg.Pp1Soll,pg.Pp2Soll,pg.Pp3Soll,pg.Pp4Soll,pg.Pp5Soll,pg.Pp6Soll,pg.Pp7Soll,pg.Pp8Soll,pg.Pp9Soll,pg.Pp10Soll },
|
|
// Deviations = new List<double?>() { pfc2.Pp1Fehler,pfc2.Pp2Fehler,pfc2.Pp3Fehler,pfc2.Pp4Fehler,pfc2.Pp5Fehler,pfc2.Pp6Fehler,pfc2.Pp7Fehler,pfc2.Pp8Fehler,pfc2.Pp9Fehler,pfc2.Pp10Fehler }
|
|
// },
|
|
// //Path3
|
|
// new ErrorCurve() { SerialNumber = $"{SerialNumber}_Path3", TestNr = pg.PruefgangNr,
|
|
// Flows = new List<float?>() { pg.Pp1Soll,pg.Pp2Soll,pg.Pp3Soll,pg.Pp4Soll,pg.Pp5Soll,pg.Pp6Soll,pg.Pp7Soll,pg.Pp8Soll,pg.Pp9Soll,pg.Pp10Soll },
|
|
// Deviations = new List<double?>() { pfc3.Pp1Fehler,pfc3.Pp2Fehler,pfc3.Pp3Fehler,pfc3.Pp4Fehler,pfc3.Pp5Fehler,pfc3.Pp6Fehler,pfc3.Pp7Fehler,pfc3.Pp8Fehler,pfc3.Pp9Fehler,pfc3.Pp10Fehler }
|
|
// }
|
|
// };
|
|
|
|
|
|
// var listOfResults = new List<List<ErrorCurve>>();
|
|
// var listOfFlows = new List<float?>();
|
|
|
|
// var c = 0;
|
|
|
|
// var ds = new List<Dataset>();
|
|
// var MyArray = new List<MyArray>();
|
|
|
|
// var listOfCurve = query.Take(lastXRounds).ToList();
|
|
// var listOfAllFlows = new List<float>();
|
|
// var listOfAllFlowsNullable = new List<float?>();
|
|
|
|
// listOfCurve.Select(f => f.First().Flows).Distinct().ToList().ForEach(a => listOfAllFlowsNullable.AddRange(a));
|
|
// listOfAllFlows = listOfAllFlowsNullable.Where(f => f.HasValue).Select(f => f.Value).Distinct().OrderByDescending(a => a).ToList();
|
|
|
|
|
|
// var sb = new StringBuilder();
|
|
|
|
// sb.AppendLine($"<button onclick=\"exportTableToCSV('MeterDataCenterExport_{SerialNumber}.csv')\">Export To CSV</button>");
|
|
// sb.AppendLine("<table class=\"table\" style=\"font-size:12px; \"> ".Trim());
|
|
// sb.AppendLine("<thead> ".Trim());
|
|
// sb.AppendLine(" <tr> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(" SerialNumber ".Trim());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(" TestNr ".Trim());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// foreach (var flow in listOfAllFlows)
|
|
// {
|
|
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine($" Deviation for {flow } m³/ h ".Trim());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
|
|
// }
|
|
// sb.AppendLine(" </tr> ".Trim());
|
|
// sb.AppendLine("</thead> ".Trim());
|
|
// sb.AppendLine("<tbody> ".Trim());
|
|
|
|
// foreach (var ecs in listOfCurve)
|
|
// {
|
|
// var p = 0;
|
|
// foreach (var ec in ecs)
|
|
// {
|
|
// //ec.HexColor = getSingleMeterColor(p, c);
|
|
// if ((!LoadDisplay && p == 0)
|
|
// || (!LoadPath1 && p == 1)
|
|
// || (!LoadPath2 && p == 2)
|
|
// || (!LoadPath3 && p == 3))
|
|
|
|
// {
|
|
|
|
// p = p + 1;
|
|
// //skip this path
|
|
// break;
|
|
// }
|
|
|
|
// var mappedFlows = new List<double?>();
|
|
// listOfAllFlows.ForEach(a => mappedFlows.Add(null));
|
|
|
|
// bool hasReservFlow = false;
|
|
// foreach (var f in ec.Flows)
|
|
// {
|
|
// if (f != null)
|
|
// {
|
|
|
|
|
|
// var indexOfFlowAndDiviation = ec.Flows.IndexOf(f);
|
|
// var currentDeviation = ec.Deviations[indexOfFlowAndDiviation];
|
|
|
|
|
|
|
|
|
|
|
|
// if (p != 0)
|
|
// {
|
|
// // mappedFlows.ForEach(changeError => changeError = changeError < -180 ? changeError + 200 : changeError);
|
|
|
|
|
|
// if (currentDeviation <= -180)
|
|
// {
|
|
// currentDeviation = (currentDeviation + 200) * -1;
|
|
// hasReservFlow = true;
|
|
// }
|
|
// }
|
|
|
|
// mappedFlows[indexOfFlowAndDiviation] = currentDeviation;
|
|
// }
|
|
// }
|
|
// var AxisID = $"y-axis-1";
|
|
|
|
// ds.Add(new Dataset()
|
|
// {
|
|
// label = ec.GetIdent(),
|
|
// borderColor = getSingleMeterColor(p, c),
|
|
// backgroundColor = getSingleMeterColor(p, c),
|
|
// fill = false,
|
|
// data = mappedFlows.ToList(),
|
|
// yAxisID = AxisID,
|
|
|
|
// borderDash = hasReservFlow ? new int[] { 12, 3, 3 } : new int[] { },
|
|
// spanGaps = true
|
|
// });
|
|
// if (ds.Count == 1)
|
|
// {
|
|
// MyArray.Add(new MyArray() { type = "linear", display = ds.Count == 1, position = "left", id = AxisID, gridLines = new GridLines() { drawOnChartArea = ds.Count == 1 } });
|
|
|
|
// }
|
|
|
|
// sb.AppendLine(" <tr> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine($" {ec.SerialNumber}".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine($" {ec.GetIdent()} ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// foreach (var dev in mappedFlows)
|
|
// {
|
|
// sb.AppendLine(" <td>".Trim());
|
|
// sb.AppendLine(" <a>".Trim());
|
|
|
|
// if (dev.HasValue)
|
|
// {
|
|
// sb.AppendLine($" {dev.Value } % ".Trim());
|
|
// }
|
|
// else
|
|
// {
|
|
// sb.AppendLine($" not tested ".Trim());
|
|
// }
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// }
|
|
|
|
// sb.AppendLine(" </tr> ".Trim());
|
|
|
|
// p = p + 1;
|
|
|
|
// }
|
|
|
|
// listOfFlows.AddRange(ecs.First().Flows);
|
|
// listOfResults.Add(ecs);
|
|
// c = c + 1;
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// sb.AppendLine("</tbody> ".Trim());
|
|
// sb.AppendLine("</table> ".Trim());
|
|
|
|
// var date = listOfFlows.Where(f => f.HasValue).Select(f => f.Value).Distinct().OrderByDescending(a => a).ToList();
|
|
|
|
|
|
|
|
|
|
|
|
// var r = new Root()
|
|
// {
|
|
// labels = date,
|
|
// datasets = ds
|
|
// };
|
|
|
|
|
|
// return new JsonResult(new { raw = r, axes = MyArray, table = sb.ToString() });
|
|
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
|
|
// throw;
|
|
// }
|
|
// }
|
|
// throw new Exception();
|
|
|
|
//}
|
|
|
|
|
|
//[Route("GetErrorCurveMulti")]
|
|
//[HttpGet]
|
|
//public async Task<IHttpActionResult> GetMulti(string SerialNumbers, int lastXRounds = 1, int? testbench = null) // todo add date , testbench and more filters
|
|
//{
|
|
// bool showPaths = true;
|
|
// if (!testbench.HasValue)
|
|
// {
|
|
// testbench = 0;
|
|
// }
|
|
// using (var ctx = new AuftragContext())
|
|
// {
|
|
// try
|
|
// {
|
|
// List<int> allSrns = new List<int>();
|
|
// List<ErrorCurve> listOfCurve = new List<ErrorCurve>();
|
|
// var meterCount = SerialNumbers.Split(',').Count();
|
|
// foreach (var srn in SerialNumbers.Split(','))
|
|
// {
|
|
// int tmp = 0;
|
|
// if (int.TryParse(srn, out tmp))
|
|
// {
|
|
// allSrns.Add(tmp);
|
|
|
|
|
|
|
|
// var query = from aps in ctx.AuftragPositionSerienNr
|
|
// join pg in ctx.Pruefgang on aps.Pruefgangnr equals pg.PruefgangNr
|
|
// join pf in ctx.Prueffehler on new { pg = aps.Pruefgangnr, aps.SerienNr } equals new { pg = pf.PruefgangNr, pf.SerienNr }
|
|
// where aps.SerienNr == tmp
|
|
// && (testbench.Value == 0 || pg.PruefstationNr == testbench.Value)
|
|
// orderby pg.PruefgangNr descending
|
|
// select new ErrorCurve()
|
|
// {
|
|
// SerialNumber = $"{tmp}",
|
|
// TestNr = pg.PruefgangNr,
|
|
// Flows = new List<float?>() { pg.Pp1Soll, pg.Pp2Soll, pg.Pp3Soll, pg.Pp4Soll, pg.Pp5Soll, pg.Pp6Soll, pg.Pp7Soll, pg.Pp8Soll, pg.Pp9Soll, pg.Pp10Soll },
|
|
// Deviations = new List<double?>() { pf.Pp1Fehler, pf.Pp2Fehler, pf.Pp3Fehler, pf.Pp4Fehler, pf.Pp5Fehler, pf.Pp6Fehler, pf.Pp7Fehler, pf.Pp8Fehler, pf.Pp9Fehler, pf.Pp10Fehler }
|
|
|
|
|
|
// };
|
|
|
|
|
|
// listOfCurve.AddRange(query.Take(lastXRounds).ToList());
|
|
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// var listOfResults = new List<ErrorCurve>();
|
|
// var listOfFlows = new List<float?>();
|
|
|
|
// var c = 0;
|
|
|
|
// var ds = new List<Dataset>();
|
|
// var MyArray = new List<MyArray>();
|
|
|
|
|
|
// var listOfAllFlows = new List<float>();
|
|
// var listOfAllFlowsNullable = new List<float?>();
|
|
|
|
// listOfCurve.Select(f => f.Flows).Distinct().ToList().ForEach(a => listOfAllFlowsNullable.AddRange(a));
|
|
// listOfAllFlows = listOfAllFlowsNullable.Where(f => f.HasValue).Select(f => f.Value).Distinct().OrderByDescending(a => a).ToList();
|
|
|
|
|
|
// var sb = new StringBuilder();
|
|
|
|
// sb.AppendLine("<button onclick=\"exportTableToCSV('MeterDataCenterExport.csv')\">Export To CSV</button>");
|
|
// sb.AppendLine("<table class=\"table\" style=\"font-size:12px; \"> ".Trim());
|
|
// sb.AppendLine("<thead> ".Trim());
|
|
// sb.AppendLine(" <tr> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(" SerialNumber ".Trim());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(" TestNr ".Trim());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// foreach (var flow in listOfAllFlows)
|
|
// {
|
|
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine($" Deviation for {flow } m³/ h ".Trim());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
|
|
// }
|
|
// sb.AppendLine(" </tr> ".Trim());
|
|
// sb.AppendLine("</thead> ".Trim());
|
|
// sb.AppendLine("<tbody> ".Trim());
|
|
|
|
// var lastStr = "";
|
|
// int meterC = 0;
|
|
// var repCount = 0;
|
|
// foreach (var ec in listOfCurve)
|
|
// {
|
|
// var p = 0;
|
|
|
|
// var mappedFlows = new List<double?>();
|
|
// listOfAllFlows.ForEach(a => mappedFlows.Add(null));
|
|
|
|
// bool hasReservFlow = false;
|
|
// foreach (var f in ec.Flows)
|
|
// {
|
|
// if (f != null)
|
|
// {
|
|
|
|
|
|
// var indexOfFlowAndDiviation = ec.Flows.IndexOf(f);
|
|
// var currentDeviation = ec.Deviations[indexOfFlowAndDiviation];
|
|
|
|
|
|
// mappedFlows[indexOfFlowAndDiviation] = currentDeviation;
|
|
// }
|
|
// }
|
|
// var AxisID = $"y-axis-1";
|
|
// if (lastStr != ec.SerialNumber)
|
|
// {
|
|
// meterC = meterC + 1;
|
|
// lastStr = ec.SerialNumber;
|
|
// repCount = 0;
|
|
// }
|
|
// else
|
|
// {
|
|
// repCount = repCount + 1;
|
|
// }
|
|
|
|
// ds.Add(new Dataset()
|
|
// {
|
|
// label = ec.GetIdent(),
|
|
// borderColor = getMeterColor(meterC, meterCount, repCount),
|
|
// backgroundColor = getMeterColor(meterC, meterCount, repCount),
|
|
// fill = false,
|
|
// data = mappedFlows.ToList(),
|
|
// yAxisID = AxisID,
|
|
|
|
// borderDash = hasReservFlow ? new int[] { 12, 3, 3 } : new int[] { },
|
|
// spanGaps = true
|
|
// });
|
|
// if (ds.Count == 1)
|
|
// {
|
|
// MyArray.Add(new MyArray() { type = "linear", display = ds.Count == 1, position = "left", id = AxisID, gridLines = new GridLines() { drawOnChartArea = ds.Count == 1 } });
|
|
|
|
// }
|
|
|
|
// sb.AppendLine(" <tr> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine($" {ec.SerialNumber}".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine($" {ec.TestNr.ToString()} ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// foreach (var dev in mappedFlows)
|
|
// {
|
|
// sb.AppendLine(" <td>".Trim());
|
|
// sb.AppendLine(" <a>".Trim());
|
|
|
|
// if (dev.HasValue)
|
|
// {
|
|
// sb.AppendLine($" {dev.Value } % ".Trim());
|
|
// }
|
|
// else
|
|
// {
|
|
// sb.AppendLine($" not tested ".Trim());
|
|
// }
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// }
|
|
|
|
// sb.AppendLine(" </tr> ".Trim());
|
|
|
|
|
|
|
|
// listOfFlows.AddRange(ec.Flows);
|
|
// listOfResults.Add(ec);
|
|
// c = c + 1;
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// sb.AppendLine("</tbody> ".Trim());
|
|
// sb.AppendLine("</table> ".Trim());
|
|
|
|
// var date = listOfFlows.Where(f => f.HasValue).Select(f => f.Value).Distinct().OrderByDescending(a => a).ToList();
|
|
|
|
|
|
|
|
|
|
|
|
// var r = new Root()
|
|
// {
|
|
// labels = date,
|
|
// datasets = ds
|
|
// };
|
|
|
|
|
|
// return new JsonResult(new { raw = r, axes = MyArray, table = sb.ToString() });
|
|
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
|
|
// throw;
|
|
// }
|
|
// }
|
|
// throw new Exception();
|
|
|
|
//}
|
|
|
|
|
|
//[Route("GetOrderDetails")]
|
|
//[HttpGet]
|
|
//public async Task<ActionResult> GetOrderDetails(int OrderNr)
|
|
//{
|
|
|
|
// var sb = new StringBuilder();
|
|
// sb.AppendLine("<table class=\"table\"> ".Trim());
|
|
// sb.AppendLine("<thead> ".Trim());
|
|
// sb.AppendLine(" <tr> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(" SerialNumber ".Trim());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(" Frequenz ".Trim());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(" Adresse ".Trim());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(" PcbId ".Trim());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(" Picked ".Trim());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(" Married ".Trim());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" </tr> ".Trim());
|
|
// sb.AppendLine("</thead> ".Trim());
|
|
// sb.AppendLine("<tbody> ".Trim());
|
|
|
|
|
|
|
|
|
|
// var client = new RestClient($"http://sla12iis01/MeterProcessState/api/Order/GetCordonelOrderDetails?OrderNr={OrderNr}");
|
|
|
|
// var request = new RestRequest(Method.GET);
|
|
// ServicePointManager.Expect100Continue = false;
|
|
|
|
|
|
|
|
// request.AddHeader("Accept", "application/json");
|
|
|
|
// var r = await client.ExecuteGetAsync(request);
|
|
|
|
// if (r.StatusCode == HttpStatusCode.OK)
|
|
// {
|
|
|
|
// foreach (var item in JsonConvert.DeserializeObject<List<OrderDetailsData>>(r.Content))
|
|
// {
|
|
// sb.AppendLine(" <tr>");
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(item.SerienNr.ToString());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(item.Frequenz.ToString());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(item.Adresse.ToString());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(item.CordonelAssignedPicking_PcbId.ToString());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(item.CordonelAssignedPicking_Date.ToString());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine(item.MapPcbIdToSerialNumber_DateUtc.ToString());
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
|
|
|
|
// sb.AppendLine(" <td> ".Trim());
|
|
// sb.AppendLine(" <a> ".Trim());
|
|
// sb.AppendLine($" <a href=\"/Meter/Detail?SerialNr={item.SerienNr.ToString()}\">Chart</a>");
|
|
// sb.AppendLine(" </a> ".Trim());
|
|
// sb.AppendLine(" </td> ".Trim());
|
|
|
|
|
|
|
|
|
|
// sb.AppendLine(" </tr> ".Trim());
|
|
// sb.AppendLine("</thead> ".Trim());
|
|
// sb.AppendLine("<tbody> ".Trim());
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
// sb.AppendLine("</tbody> ".Trim());
|
|
// sb.AppendLine("</table> ".Trim());
|
|
|
|
|
|
// return new JsonResult(new { table = sb.ToString() });
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
// Root myDeserializedClass = JsonConvert.DeserializeObject<Root>(myJsonResponse);
|
|
public class OrderDetailsData
|
|
{
|
|
public Int32 AuftragNr { get; set; }
|
|
public Int32 PositionNr { get; set; }
|
|
public Int32 FertigungsauftragNr { get; set; }
|
|
public Int32 SerienNr { get; set; }
|
|
public Int32 Frequenz { get; set; }
|
|
public Int64 Adresse { get; set; }
|
|
public Int32? CordonelAssignedPicking_PcbId { get; set; }
|
|
public DateTimeOffset? CordonelAssignedPicking_Date { get; set; }
|
|
public Int32? MapPcbIdToSerialNumber_SerialNumber { get; set; }
|
|
public DateTimeOffset? MapPcbIdToSerialNumber_DateUtc { get; set; }
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Root myDeserializedClass = JsonConvert.DeserializeObject<Root>(myJsonResponse);
|
|
public class Dataset
|
|
{
|
|
public Int32[] borderDash;
|
|
|
|
public String label { get; set; }
|
|
public String borderColor { get; set; }
|
|
public String backgroundColor { get; set; }
|
|
public Boolean fill { get; set; }
|
|
public List<Double?> data { get; set; }
|
|
public String yAxisID { get; set; }
|
|
public Boolean spanGaps { get; set; }
|
|
}
|
|
|
|
public class Root
|
|
{
|
|
public List<Single> labels { get; set; }
|
|
public List<Dataset> datasets { get; set; }
|
|
|
|
}
|
|
|
|
// Root myDeserializedClass = JsonConvert.DeserializeObject<Root>(myJsonResponse);
|
|
public class GridLines
|
|
{
|
|
public Boolean drawOnChartArea { get; set; }
|
|
|
|
}
|
|
|
|
public class MyArray
|
|
{
|
|
public String type { get; set; }
|
|
public Boolean display { get; set; }
|
|
public String position { get; set; }
|
|
public String id { get; set; }
|
|
public GridLines gridLines { get; set; }
|
|
|
|
}
|
|
|
|
|
|
|
|
private String getSingleMeterColor(Int32 Path = 0, Int32? Repnullbale = 0)
|
|
{
|
|
Int32 Rep = Repnullbale.HasValue ? Repnullbale.Value : 0;
|
|
|
|
var index = ((Path * 10) + Rep);
|
|
return new String[] {
|
|
//Display offset 0
|
|
"#BFD200",
|
|
"#007F5F",
|
|
"#FFFF3F",
|
|
"#2B9348",
|
|
"#EEEF20",
|
|
"#55A630",
|
|
"#DDDF00",
|
|
"#80B918",
|
|
"#AACC00",
|
|
"#D4D700",
|
|
//PATH 1 OFFSET 10
|
|
"#6930C3",
|
|
"#7400B8",
|
|
"#5E60CE",
|
|
"#80FFDB",
|
|
"#5390D9",
|
|
"#72EFDD",
|
|
"#4EA8DE",
|
|
"#64DFDF",
|
|
"#48BFE3",
|
|
"#56CFE1",
|
|
//PATH 2 OFFSET 20
|
|
"#994D74",
|
|
"#34091E",
|
|
"#F3DBEA",
|
|
"#430C27",
|
|
"#ECC5DD",
|
|
"#CC9AB5",
|
|
"#55062D",
|
|
"#660033",
|
|
"#802754",
|
|
"#B37495",
|
|
//PATH 3 OFFSET 30
|
|
"#FF8500",
|
|
"#FF4800",
|
|
"#FFB600",
|
|
"#FF5400",
|
|
"#FFAA00",
|
|
"#FF6000",
|
|
"#FF9E00",
|
|
"#FF6D00",
|
|
"#FF9100",
|
|
"#FF7900"
|
|
}[index];
|
|
}
|
|
|
|
|
|
private String getMeterColor(Int32 Meter, Int32 metercount, Int32 Rep)
|
|
{
|
|
var maxRep = 400 / metercount;
|
|
var index = ((Meter - 1) * maxRep) + Rep;
|
|
|
|
return new String[] {
|
|
"#B0171F",
|
|
"#FFAEB9",
|
|
"#8B8386",
|
|
"#DC143C",
|
|
"#FFB6C1",
|
|
"#CD8C95",
|
|
"#D02090",
|
|
"#EE799F",
|
|
"#FFB5C5",
|
|
"#CD3278",
|
|
"#EEA2AD",
|
|
"#8B008B",
|
|
"#CDC1C5",
|
|
"#AB82FF",
|
|
"#EE7AE9",
|
|
"#CD919E",
|
|
"#3D59AB",
|
|
"#FFC0CB",
|
|
"#8B0A50",
|
|
"#1874CD",
|
|
"#E066FF",
|
|
"#DB7093",
|
|
"#8B5F65",
|
|
"#009ACD",
|
|
"#CD6090",
|
|
"#FF69B4",
|
|
"#C71585",
|
|
"#EEA9B8",
|
|
"#8B668B",
|
|
"#5D478B",
|
|
"#CD6889",
|
|
"#008080",
|
|
"#FF82AB",
|
|
"#43CD80",
|
|
"#EE3A8C",
|
|
"#436EEE",
|
|
"#8B636C",
|
|
"#228B22",
|
|
"#8A2BE2",
|
|
"#CD00CD",
|
|
"#C0FF3E",
|
|
"#EED2EE",
|
|
"#4682B4",
|
|
"#872657",
|
|
"#BDB76B",
|
|
"#FF3E96",
|
|
"#CD2990",
|
|
"#8B4789",
|
|
"#FFF8DC",
|
|
"#0000FF",
|
|
"#ADD8E6",
|
|
"#8B2252",
|
|
"#F5DEB3",
|
|
"#9370DB",
|
|
"#8B8378",
|
|
"#EEE0E5",
|
|
"#8B475D",
|
|
"#EE1289",
|
|
"#CD853F",
|
|
"#C6E2FF",
|
|
"#9932CC",
|
|
"#FF6103",
|
|
"#EE6AA7",
|
|
"#03A89E",
|
|
"#CD7054",
|
|
"#FF83FA",
|
|
"#B452CD",
|
|
"#FF34B3",
|
|
"#191970",
|
|
"#BC8F8F",
|
|
"#7EC0EE",
|
|
"#FF00FF",
|
|
"#BDFCC9",
|
|
"#8B7B8B",
|
|
"#836FFF",
|
|
"#00CD00",
|
|
"#00E5EE",
|
|
"#CD1076",
|
|
"#1C86EE",
|
|
"#8B3A62",
|
|
"#698B22",
|
|
"#DA70D6",
|
|
"#FF6EB4",
|
|
"#8470FF",
|
|
"#79CDCD",
|
|
"#CDC673",
|
|
"#EEAEEE",
|
|
"#CD69C9",
|
|
"#CAE1FF",
|
|
"#7D26CD",
|
|
"#00B2EE",
|
|
"#BA55D3",
|
|
"#8B8878",
|
|
"#B23AEE",
|
|
"#FF1493",
|
|
"#00EE76",
|
|
"#CDBA96",
|
|
"#DDA0DD",
|
|
"#27408B",
|
|
"#98FB98",
|
|
"#87CEFA",
|
|
"#EEC591",
|
|
"#8B1C62",
|
|
"#00008B",
|
|
"#FFDAB9",
|
|
"#EE30A7",
|
|
"#CAFF70",
|
|
"#008B8B",
|
|
"#FF8247",
|
|
"#6959CD",
|
|
"#68228B",
|
|
"#800080",
|
|
"#B0E0E6",
|
|
"#8968CD",
|
|
"#5CACEE",
|
|
"#CD96CD",
|
|
"#FFFF00",
|
|
"#EE6A50",
|
|
"#D15FEE",
|
|
"#4EEE94",
|
|
"#CDB5CD",
|
|
"#CD9B9B",
|
|
"#8B814C",
|
|
"#6C7B8B",
|
|
"#9B30FF",
|
|
"#AEEEEE",
|
|
"#B2DFEE",
|
|
"#32CD32",
|
|
"#9400D3",
|
|
"#FFA500",
|
|
"#A2B5CD",
|
|
"#D8BFD8",
|
|
"#4876FF",
|
|
"#F8F8FF",
|
|
"#FFBBFF",
|
|
"#9C661F",
|
|
"#76EEC6",
|
|
"#6B8E23",
|
|
"#87CEEB",
|
|
"#9F79EE",
|
|
"#B4CDCD",
|
|
"#EE00EE",
|
|
"#EE7600",
|
|
"#483D8B",
|
|
"#4B0082",
|
|
"#808000",
|
|
"#838B83",
|
|
"#A4D3EE",
|
|
"#0000EE",
|
|
"#FF7F24",
|
|
"#EE82EE",
|
|
"#5F9EA0",
|
|
"#808A87",
|
|
"#8B7500",
|
|
"#BF3EFF",
|
|
"#CD3700",
|
|
"#778899",
|
|
"#6A5ACD",
|
|
"#7CFC00",
|
|
"#CDB7B5",
|
|
"#FDF5E6",
|
|
"#8EE5EE",
|
|
"#4169E1",
|
|
"#F0FFF0",
|
|
"#CD3333",
|
|
"#00EEEE",
|
|
"#3A5FCD",
|
|
"#7A378B",
|
|
"#B9D3EE",
|
|
"#CDC0B0",
|
|
"#33A1C9",
|
|
"#9A32CD",
|
|
"#E6E6FA",
|
|
"#607B8B",
|
|
"#551A8B",
|
|
"#EEE9BF",
|
|
"#008000",
|
|
"#EE9A49",
|
|
"#668B8B",
|
|
"#3CB371",
|
|
"#B0C4DE",
|
|
"#FF7D40",
|
|
"#7A67EE",
|
|
"#8B6914",
|
|
"#912CEE",
|
|
"#104E8B",
|
|
"#838B8B",
|
|
"#EEEEE0",
|
|
"#6CA6CD",
|
|
"#63B8FF",
|
|
"#EE8262",
|
|
"#7CCD7C",
|
|
"#458B74",
|
|
"#53868B",
|
|
"#FFDEAD",
|
|
"#F0E68C",
|
|
"#708090",
|
|
"#8B8989",
|
|
"#CDB79E",
|
|
"#20B2AA",
|
|
"#7B68EE",
|
|
"#473C8B",
|
|
"#36648B",
|
|
"#6E8B3D",
|
|
"#CD2626",
|
|
"#000080",
|
|
"#C1FFC1",
|
|
"#00688B",
|
|
"#FFC125",
|
|
"#00C5CD",
|
|
"#97FFFF",
|
|
"#BFEFFF",
|
|
"#BCD2EE",
|
|
"#8B8B00",
|
|
"#00C957",
|
|
"#FFE4B5",
|
|
"#0000CD",
|
|
"#EE9572",
|
|
"#76EE00",
|
|
"#87CEFF",
|
|
"#68838B",
|
|
"#F5FFFA",
|
|
"#528B8B",
|
|
"#C1CDCD",
|
|
"#EE5C42",
|
|
"#EEC900",
|
|
"#8B7355",
|
|
"#D1EEEE",
|
|
"#00EE00",
|
|
"#EEEED1",
|
|
"#6E7B8B",
|
|
"#1E90FF",
|
|
"#6495ED",
|
|
"#EE6363",
|
|
"#CDAF95",
|
|
"#B0E2FF",
|
|
"#8B5A00",
|
|
"#9BCD9B",
|
|
"#00CD66",
|
|
"#00F5FF",
|
|
"#8B8970",
|
|
"#48D1CC",
|
|
"#BBFFFF",
|
|
"#9ACD32",
|
|
"#CD6839",
|
|
"#40E0D0",
|
|
"#9FB6CD",
|
|
"#FFEFDB",
|
|
"#8B3E2F",
|
|
"#FFB90F",
|
|
"#458B00",
|
|
"#00BFFF",
|
|
"#FF8000",
|
|
"#EEE685",
|
|
"#9AFF9A",
|
|
"#8DB6CD",
|
|
"#98F5FF",
|
|
"#4F94CD",
|
|
"#2E8B57",
|
|
"#F08080",
|
|
"#8DEEEE",
|
|
"#7FFFD4",
|
|
"#3D9140",
|
|
"#CDB38B",
|
|
"#8B4513",
|
|
"#8B8B7A",
|
|
"#CDC8B1",
|
|
"#BCEE68",
|
|
"#4A708B",
|
|
"#E9967A",
|
|
"#E3A869",
|
|
"#00FF00",
|
|
"#008B00",
|
|
"#00CED1",
|
|
"#C1CDC1",
|
|
"#00FF7F",
|
|
"#96CDCD",
|
|
"#EED8AE",
|
|
"#EEDC82",
|
|
"#7AC5CD",
|
|
"#EEE9E9",
|
|
"#9AC0CD",
|
|
"#8B8682",
|
|
"#EEEE00",
|
|
"#B3EE3A",
|
|
"#FFD39B",
|
|
"#FF3030",
|
|
"#CD950C",
|
|
"#FFFFF0",
|
|
"#308014",
|
|
"#8B5742",
|
|
"#00868B",
|
|
"#698B69",
|
|
"#E3CF57",
|
|
"#66CDAA",
|
|
"#00CDCD",
|
|
"#FAF0E6",
|
|
"#2F4F4F",
|
|
"#8B3626",
|
|
"#FCE6C9",
|
|
"#FFF68F",
|
|
"#7A8B8B",
|
|
"#8B864E",
|
|
"#8B8B83",
|
|
"#EE9A00",
|
|
"#A0522D",
|
|
"#ADFF2F",
|
|
"#CD5555",
|
|
"#FF8C00",
|
|
"#8FBC8F",
|
|
"#00FFFF",
|
|
"#54FF9F",
|
|
"#EEE8CD",
|
|
"#DAA520",
|
|
"#FF7256",
|
|
"#00FA9A",
|
|
"#FF9912",
|
|
"#FFFACD",
|
|
"#C76114",
|
|
"#00C78C",
|
|
"#FAFAD2",
|
|
"#FFE7BA",
|
|
"#EEB4B4",
|
|
"#8B7E66",
|
|
"#7FFF00",
|
|
"#CD6600",
|
|
"#548B54",
|
|
"#FF4500",
|
|
"#008B45",
|
|
"#CD9B1D",
|
|
"#B4EEB4",
|
|
"#CDBE70",
|
|
"#DEB887",
|
|
"#CDAA7D",
|
|
"#EE7621",
|
|
"#FFEBCD",
|
|
"#556B2F",
|
|
"#8B5A2B",
|
|
"#8B6508",
|
|
"#90EE90",
|
|
"#FF4040",
|
|
"#8B2500",
|
|
"#EECBAD",
|
|
"#66CD00",
|
|
"#EED5B7",
|
|
"#006400",
|
|
"#CDC9A5",
|
|
"#8A360F",
|
|
"#8B7D7B",
|
|
"#EE7942",
|
|
"#D2B48C",
|
|
"#808069",
|
|
"#A2CD5A",
|
|
"#CDCDB4",
|
|
"#8B2323",
|
|
"#8B4C39",
|
|
"#CD5B45",
|
|
"#B8860B",
|
|
"#FF7F00",
|
|
"#CDCDC1",
|
|
"#CDAD00",
|
|
"#FFA07A",
|
|
"#FFC1C1",
|
|
"#8B6969",
|
|
"#CDCD00",
|
|
"#FFEC8B",
|
|
"#D2691E",
|
|
"#EECFA1",
|
|
"#FF6347",
|
|
"#EEE8AA",
|
|
"#EE4000",
|
|
"#EEAD0E",
|
|
"#FFD700",
|
|
"#8B7D6B",
|
|
"#FF6A6A",
|
|
"#EEDFCC",
|
|
"#EEB422",
|
|
"#CDC5BF",
|
|
"#8B795E",
|
|
"#CD8500",
|
|
"#FFA54F",
|
|
"#EE3B3B",
|
|
"#FFEFD5",
|
|
"#CD8162",
|
|
"#ED9121",
|
|
"#FAEBD7",
|
|
"#292421",
|
|
"#FFE4C4",
|
|
"#CD4F39",
|
|
"#F4A460",
|
|
"#8B4500",
|
|
"#FF8C69",
|
|
"#8B3A3A",
|
|
"#8B7765",
|
|
"#FF7F50",
|
|
"#CDC9C9",
|
|
"#CD661D",
|
|
"#8B4726",
|
|
"#FA8072",
|
|
"#EE2C2C",
|
|
"#5E2612",
|
|
"#8A3324",
|
|
"#A52A2A",
|
|
"#CD5C5C",
|
|
"#B22222"
|
|
|
|
|
|
}
|
|
[index];
|
|
}
|
|
|
|
}
|
|
}
|