sync
This commit is contained in:
@ -1,10 +1,11 @@
|
||||
using Foresight.Data;
|
||||
using Foresight.Fleet.Services.AssetHealth;
|
||||
using Foresight.Fleet.Services.AssetHealth.WorkOrder;
|
||||
using Foresight.Fleet.Services.JobSite;
|
||||
using Foresight.Fleet.Services.User;
|
||||
using Foresight.ServiceModel;
|
||||
using IronIntel.Contractor.Machines;
|
||||
using IronIntel.Contractor.Maintenance;
|
||||
using IronIntel.Contractor.Users;
|
||||
using IronIntel.Services;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -33,15 +34,15 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
case "GETMACHINEALERTS":
|
||||
result = GetMachineAlerts();
|
||||
break;
|
||||
case "GETPMALERTSERVICEDESCRIPTIONS":
|
||||
result = GetPMAlertServiceDescriptions();
|
||||
break;
|
||||
case "SAVEACKNOWLEDGEALERT":
|
||||
result = SaveAcknowledgeAlert();
|
||||
break;
|
||||
case "ASSIGNEDALERTSTOWORKORDER":
|
||||
result = AssignedAlertsToWorkOrder();
|
||||
break;
|
||||
case "GETALERTSBYWORKORDER":
|
||||
result = GetAlertsByWorkOrder();
|
||||
break;
|
||||
case "GETALERTSLISENCE":
|
||||
result = GetAlertsLisence();
|
||||
break;
|
||||
@ -60,6 +61,30 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
case "GETACKNOWLEDGEDALERTS":
|
||||
result = GetAcknowledgedAlerts();
|
||||
break;
|
||||
case "GETJOBSITES":
|
||||
result = GetJobsites();
|
||||
break;
|
||||
case "SAVEAUTOACKNOWLEDGEALERTTYPES":
|
||||
result = SaveAutoAcknowledgeAlertTypes();
|
||||
break;
|
||||
case "GETAUTOACKNOWLEDGEALERTTYPES":
|
||||
result = GetAutoAcknowledgeAlertTypes();
|
||||
break;
|
||||
case "GETAUTOACKNOWLEDGEALERTTYPESHISTORY":
|
||||
result = GetAutoAcknowledgeAlertTypesHistory();
|
||||
break;
|
||||
case "GETWORKORDERGENERATORS":
|
||||
result = GetWorkOrderGenerators();
|
||||
break;
|
||||
case "SAVEWORKORDERGENERATOR":
|
||||
result = SaveWorkOrderGenerator();
|
||||
break;
|
||||
case "DELETEWORKORDERGENERATOR":
|
||||
result = DeleteWorkOrderGenerator();
|
||||
break;
|
||||
case "GETASSIGNTOS":
|
||||
result = GetAssignTos();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -90,11 +115,6 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
// beginDate = beginDate.ToUniversalTime();
|
||||
if (!DateTime.TryParse(alertparam.EndDate, out endDate))
|
||||
endDate = DateTime.MaxValue;
|
||||
else
|
||||
endDate = endDate.Date.AddDays(1).AddSeconds(-1);
|
||||
|
||||
beginDate = SystemParams.CustomerDetail.CustomerTimeToUtc(beginDate);
|
||||
endDate = SystemParams.CustomerDetail.CustomerTimeToUtc(endDate);
|
||||
|
||||
int assigned = -1;
|
||||
int completed = -1;
|
||||
@ -106,18 +126,23 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
assigned = 1;
|
||||
|
||||
if (alertparam.AlertStatus.Contains("Completed") && !alertparam.AlertStatus.Contains("Uncompleted"))
|
||||
assigned = 1;
|
||||
completed = 1;
|
||||
if (!alertparam.AlertStatus.Contains("Completed") && alertparam.AlertStatus.Contains("Uncompleted"))
|
||||
assigned = 0;
|
||||
completed = 0;
|
||||
}
|
||||
AssetAlertGridViewItem[] assetalerts = CreateClient<WorkOrderClient>().GetAssetAlertGridViewItems(SystemParams.CompanyID, beginDate, endDate, alertparam.AlertTypes, alertparam.AssetGroups, assigned, completed, alertparam.SearchText, session.User.UID);
|
||||
|
||||
AssetAlertGridViewItem[] assetalerts = null;
|
||||
if (alertparam.AssetID > 0)
|
||||
assetalerts = CreateClient<WorkOrderProvider>().GetAssetAlertGridViewItemsByAsset(SystemParams.CompanyID, alertparam.AssetID, beginDate, endDate, alertparam.AlertTypes, alertparam.JobSites, assigned, completed, alertparam.SearchText, alertparam.IncludeunCompleted);
|
||||
else
|
||||
assetalerts = CreateClient<AlertProvider>().GetAssetAlertGridViewItems(SystemParams.CompanyID, beginDate, endDate, alertparam.AlertTypes, alertparam.AssetGroups, alertparam.JobSites, assigned, completed, alertparam.SearchText, session.User.UID, alertparam.IncludeunCompleted);
|
||||
|
||||
if (assetalerts == null || assetalerts.Length == 0)
|
||||
return new AlertInfo[0];
|
||||
List<AlertInfo> list = new List<AlertInfo>();
|
||||
foreach (AssetAlertGridViewItem item in assetalerts)
|
||||
{
|
||||
AlertInfo ai = ConvertAlertObj(item);
|
||||
ai.AlertTime_UTC = item.LastAlertLocalTime;
|
||||
list.Add(ai);
|
||||
}
|
||||
return list.ToArray();
|
||||
@ -149,11 +174,7 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
// beginDate = beginDate.ToUniversalTime();
|
||||
if (!DateTime.TryParse(alertparam.EndDate, out endDate))
|
||||
endDate = DateTime.MaxValue;
|
||||
else
|
||||
endDate = endDate.Date.AddDays(1).AddSeconds(-1);
|
||||
|
||||
beginDate = SystemParams.CustomerDetail.CustomerTimeToUtc(beginDate);
|
||||
endDate = SystemParams.CustomerDetail.CustomerTimeToUtc(endDate);
|
||||
|
||||
int assigned = -1;
|
||||
int completed = -1;
|
||||
@ -165,12 +186,16 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
assigned = 1;
|
||||
|
||||
if (alertparam.AlertStatus.Contains("Completed") && !alertparam.AlertStatus.Contains("Uncompleted"))
|
||||
assigned = 1;
|
||||
completed = 1;
|
||||
if (!alertparam.AlertStatus.Contains("Completed") && alertparam.AlertStatus.Contains("Uncompleted"))
|
||||
assigned = 0;
|
||||
completed = 0;
|
||||
}
|
||||
|
||||
AssetAlertGridViewItem[] assetalerts = CreateClient<WorkOrderClient>().GetAssetAlertGridViewItems(SystemParams.CompanyID, beginDate, endDate, alertparam.AlertTypes, alertparam.AssetGroups, assigned, completed, alertparam.SearchText, session.User.UID);
|
||||
AssetAlertGridViewItem[] assetalerts = null;
|
||||
if (alertparam.AssetID > 0)
|
||||
assetalerts = CreateClient<WorkOrderProvider>().GetAssetAlertGridViewItemsByAsset(SystemParams.CompanyID, alertparam.AssetID, beginDate, endDate, alertparam.AlertTypes, alertparam.JobSites, assigned, completed, alertparam.SearchText, alertparam.IncludeunCompleted);
|
||||
else
|
||||
assetalerts = CreateClient<AlertProvider>().GetAssetAlertGridViewItems(SystemParams.CompanyID, beginDate, endDate, alertparam.AlertTypes, alertparam.AssetGroups, alertparam.JobSites, assigned, completed, alertparam.SearchText, session.User.UID, alertparam.IncludeunCompleted);
|
||||
|
||||
if (assetalerts == null || assetalerts.Length == 0)
|
||||
return new MachineInfoForAlert[0];
|
||||
@ -205,8 +230,8 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
mi.InspectAlertCount += count;
|
||||
else
|
||||
mi.DTCAlertCount += count;
|
||||
if (ai.AlertTime_UTC > mi.LatestAlertDateTime)
|
||||
mi.LatestAlertDateTime = ai.AlertTime_UTC;
|
||||
if (ai.AlertLocalTime > mi.LatestAlertDateTime)
|
||||
mi.LatestAlertDateTime = ai.AlertLocalTime;
|
||||
}
|
||||
|
||||
return machinealerts.ToArray();
|
||||
@ -221,6 +246,53 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
}
|
||||
}
|
||||
|
||||
private object GetPMAlertServiceDescriptions()
|
||||
{
|
||||
try
|
||||
{
|
||||
var session = GetCurrentLoginSession();
|
||||
if (GetCurrentLoginSession() != null)
|
||||
{
|
||||
var clientdata = Context.Request.Params["ClientData"];
|
||||
long[] alertids = JsonConvert.DeserializeObject<long[]>(clientdata);
|
||||
|
||||
return CreateClient<AlertProvider>().GetAlertServiceDescriptions(SystemParams.CompanyID, alertids);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
AddLog("ERROR", "AlertsBasePage.GetPMAlertServiceDescriptions", ex.Message, ex.ToString());
|
||||
return ex.Message;
|
||||
}
|
||||
}
|
||||
private AlertInfo ConvertAlertObj1(AssetAlertItem item)
|
||||
{
|
||||
AlertInfo ai = new AlertInfo();
|
||||
ai.AlertID = item.ID;
|
||||
ai.AlertType = item.AlertType;
|
||||
ai.AlertLocalTime = item.AlertLocalTime;
|
||||
ai.Completed = item.Completed;
|
||||
ai.MachineID = item.AssetID;
|
||||
ai.Model = item.ModelName;
|
||||
ai.Make = item.MakeName;
|
||||
ai.VIN = item.VIN;
|
||||
ai.MachineName = item.AssetName;
|
||||
ai.EngineHours = item.EngineHours;
|
||||
ai.Description = item.Description;
|
||||
ai.Description = ai.FormatDescription(ai.Description);
|
||||
ai.ServiceDescription = item.ServiceDescription;
|
||||
ai.RepeatedAlerts = item.RepeatedAlerts;
|
||||
ai.AlertCount = item.RepeatedAlerts.Count + 1;
|
||||
ai.ScheduleID = item.ScheduleID;
|
||||
ai.IntervalID = item.IntervalID;
|
||||
ai.Recurring = item.Recurring;
|
||||
ai.Priority = item.Priority;
|
||||
ai.ExpectedCost = item.ExpectedCost;
|
||||
|
||||
return ai;
|
||||
}
|
||||
|
||||
private AlertInfo ConvertAlertObj(AssetAlertGridViewItem item)
|
||||
{
|
||||
AlertInfo ai = new AlertInfo();
|
||||
@ -229,6 +301,7 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
ai.WorkOrderStatus = item.WorkOrderStatus;
|
||||
ai.AlertType = item.AlertType;
|
||||
ai.AlertTime_UTC = item.LastAlertTime;
|
||||
ai.AlertLocalTime = item.AlertLocalTime;
|
||||
ai.Completed = item.Completed;
|
||||
ai.MachineID = item.AssetID;
|
||||
//ai.ModelID = item.ModelName;
|
||||
@ -240,10 +313,42 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
ai.EngineHours = item.EngineHours;
|
||||
ai.CurrentHours = item.CurrentEngineHours;
|
||||
ai.Description = item.Description;
|
||||
ai.ServiceDescription = item.ServiceDescription;
|
||||
ai.Description = ai.FormatDescription(ai.Description);
|
||||
//ai.ServiceDescription = item.ServiceDescription;
|
||||
ai.RepeatedAlerts = item.RepeatedAlerts;
|
||||
ai.AlertCount = item.RepeatedAlerts.Count + 1;
|
||||
ai.OpenWorkOrderCount = item.OpenWorkOrderCount;
|
||||
//ai.ScheduleID = item.ScheduleID;
|
||||
//ai.IntervalID = item.IntervalID;
|
||||
//ai.Recurring = item.Recurring;
|
||||
//ai.Priority = item.Priority;
|
||||
//ai.ExpectedCost = item.ExpectedCost;
|
||||
|
||||
return ai;
|
||||
}
|
||||
private AlertInfo ConvertAlertObj2(AcknowledgedAlertItem item)
|
||||
{
|
||||
AlertInfo ai = new AlertInfo();
|
||||
ai.AlertID = item.ID;
|
||||
ai.WorkOrderID = item.WorkOrderId;
|
||||
ai.AlertType = item.AlertType;
|
||||
ai.AlertTime_UTC = item.LastAlertTime;
|
||||
ai.AlertLocalTime = item.AlertLocalTime;
|
||||
ai.MachineID = item.AssetID;
|
||||
ai.Model = item.ModelName;
|
||||
ai.Make = item.MakeName;
|
||||
ai.VIN = item.VIN;
|
||||
ai.MachineName = item.AssetName;
|
||||
ai.EngineHours = item.EngineHours;
|
||||
ai.Description = item.Description;
|
||||
ai.Description = ai.FormatDescription(ai.Description);
|
||||
ai.RepeatedAlerts = item.RepeatedAlerts;
|
||||
ai.AlertCount = item.RepeatedAlerts.Count + 1;
|
||||
ai.OpenWorkOrderCount = item.OpenWorkOrderCount;
|
||||
ai.AcknowledgedByName = item.AcknowledgedBy;
|
||||
ai.AcknowledgedTime_UTC = item.AcknowledgedTime;
|
||||
ai.AcknowledgedTime_Local = item.AcknowledgedLocalTime;
|
||||
ai.AcknowledgedComment = item.AcknowledgedComment;
|
||||
|
||||
return ai;
|
||||
}
|
||||
@ -265,15 +370,23 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
// beginDate = beginDate.ToUniversalTime();
|
||||
if (!DateTime.TryParse(alertparam.EndDate, out endDate))
|
||||
endDate = DateTime.MaxValue;
|
||||
else
|
||||
endDate = endDate.Date.AddDays(1).AddSeconds(-1);
|
||||
|
||||
|
||||
alertparam.AlertStatus = new string[0];
|
||||
AlertManager am = new AlertManager(SystemParams.DataDbConnectionString);
|
||||
AlertInfo[] alerts = am.SearchAcknowledgedAlerts(session.SessionID, alertparam.SearchText, alertparam.AlertStatus, alertparam.AlertTypes, alertparam.AssetGroups, beginDate, endDate, session.User.UID);
|
||||
if (alerts == null)
|
||||
AcknowledgedAlertItem[] ackalerts = CreateClient<AlertProvider>().GetAcknowledgedAlerts(SystemParams.CompanyID, beginDate, endDate, alertparam.AlertTypes, alertparam.AssetGroups, alertparam.SearchText);
|
||||
if (ackalerts == null || ackalerts.Length == 0)
|
||||
return new AlertInfo[0];
|
||||
return alerts.ToArray();
|
||||
List<AlertInfo> list = new List<AlertInfo>();
|
||||
foreach (AcknowledgedAlertItem item in ackalerts)
|
||||
{
|
||||
AlertInfo ai = ConvertAlertObj2(item);
|
||||
list.Add(ai);
|
||||
}
|
||||
if (list == null)
|
||||
return new AlertInfo[0];
|
||||
if (alertparam.AssetID > 0)
|
||||
list = list.Where(m => m.MachineID == alertparam.AssetID).ToList();
|
||||
|
||||
return list.ToArray();
|
||||
}
|
||||
else
|
||||
return new AlertInfo[0];
|
||||
@ -292,7 +405,7 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
AlertsLisenceItem result = new AlertsLisenceItem();
|
||||
if (GetCurrentLoginSession() != null)
|
||||
{
|
||||
LicenseInfo license = SystemParams.GetLicense();
|
||||
Foresight.Fleet.Services.Customer.LicenseInfo license = SystemParams.GetLicense();
|
||||
if (license != null && license.Items.Count > 0)
|
||||
{
|
||||
var woitem = license.Items.FirstOrDefault(m => m.Key == "WorkOrder");
|
||||
@ -314,7 +427,7 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
{
|
||||
try
|
||||
{
|
||||
Services.Users.LoginSession se = GetCurrentLoginSession();
|
||||
LoginSession se = GetCurrentLoginSession();
|
||||
if (se != null)
|
||||
{
|
||||
var clientdata = Request.Form["ClientData"].Split((char)170);
|
||||
@ -344,10 +457,17 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
var ids = HttpUtility.HtmlDecode(clientdata[1]);
|
||||
long workorderid = Convert.ToInt64(id);
|
||||
long[] alertids = JsonConvert.DeserializeObject<long[]>(ids);
|
||||
if (alertids != null && alertids.Length == 0)
|
||||
alertids = null;
|
||||
AlertManager am = new AlertManager(SystemParams.DataDbConnectionString);
|
||||
am.AssignedAlertsToWorkOrder(workorderid, alertids);
|
||||
if (alertids == null)
|
||||
alertids = new long[0];
|
||||
|
||||
var wp = CreateClient<WorkOrderProvider>();
|
||||
var existsalerts = wp.GetWorkOrderAlerts(SystemParams.CompanyID, workorderid).Select(a => a.ID);
|
||||
var added = alertids.Except(existsalerts).ToArray();
|
||||
var deleted = existsalerts.Except(alertids).ToArray();
|
||||
if (added.Length > 0)
|
||||
wp.AddOrRemoveAlertsFromWorkOrder(SystemParams.CompanyID, workorderid, added, true);
|
||||
if (deleted.Length > 0)
|
||||
wp.AddOrRemoveAlertsFromWorkOrder(SystemParams.CompanyID, workorderid, deleted, false);
|
||||
return "OK";
|
||||
}
|
||||
else
|
||||
@ -359,85 +479,26 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
}
|
||||
}
|
||||
|
||||
private object GetAlertsByWorkOrder()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (GetCurrentLoginSession() != null)
|
||||
{
|
||||
var woid = Request.Form["ClientData"];
|
||||
long workorderid = Convert.ToInt64(woid);
|
||||
AlertManager am = new AlertManager(SystemParams.DataDbConnectionString);
|
||||
AlertInfo[] alerts = am.GetAlertsByWorkOrder(workorderid);
|
||||
if (alerts == null)
|
||||
return new AlertInfo[0];
|
||||
return alerts;
|
||||
}
|
||||
else
|
||||
return new AlertInfo[0];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
AddLog("ERROR", "AlertsBasePage.GetAlertsByWorkOrder", ex.Message, ex.ToString());
|
||||
return ex.Message;
|
||||
}
|
||||
}
|
||||
private object GetWorkOrderAlerts()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (GetCurrentLoginSession() != null)
|
||||
var session = GetCurrentLoginSession();
|
||||
if (session != null)
|
||||
{
|
||||
var clientdata = Request.Form["ClientData"];
|
||||
|
||||
long workorderid = 0;
|
||||
long.TryParse(clientdata, out workorderid);
|
||||
|
||||
AssetAlertItem[] alerts = CreateClient<WorkOrderClient>().GetAssignedAlerts(SystemParams.CompanyID, workorderid);
|
||||
AlertItems items = WorkOrderManager.GetWorkOrderAlerts(workorderid, session.SessionID);
|
||||
if (items == null)
|
||||
return new AlertItems();
|
||||
|
||||
AlertItems items = new AlertItems();
|
||||
if (alerts != null)
|
||||
{
|
||||
var dtcalerts = new List<AlertInfo>();
|
||||
var pmaalerts = new List<AlertInfo>();
|
||||
var inspectalerts = new List<AlertInfo>();
|
||||
var oilalerts = new List<AlertInfo>();
|
||||
foreach (AssetAlertItem alertitem in alerts.OrderByDescending(ai => ai.AlertTime))
|
||||
{
|
||||
List<AlertInfo> tempList = null;
|
||||
if (alertitem.Category == AssetAlertCategory.PMAlert)
|
||||
tempList = pmaalerts;
|
||||
else if (alertitem.Category == AssetAlertCategory.InspectAlert)
|
||||
tempList = inspectalerts;
|
||||
else if (alertitem.Category == AssetAlertCategory.OilSampleAlert)
|
||||
tempList = oilalerts;
|
||||
else
|
||||
tempList = dtcalerts;
|
||||
|
||||
var existalert = tempList.FirstOrDefault((ai) => ai.Description == alertitem.Description);
|
||||
if (existalert != null)
|
||||
{
|
||||
existalert.AlertCount++;
|
||||
if (existalert.RepeatedAlerts == null)
|
||||
existalert.RepeatedAlerts = new List<long>();
|
||||
existalert.RepeatedAlerts.Add(alertitem.ID);
|
||||
}
|
||||
else
|
||||
{
|
||||
var a = ConvertAlert(alertitem);
|
||||
a.AlertCount = 1;
|
||||
tempList.Add(a);
|
||||
}
|
||||
}
|
||||
items.DTCAlerts = dtcalerts.ToArray();
|
||||
items.PMAlerts = pmaalerts.ToArray();
|
||||
items.InspectAlerts = inspectalerts.ToArray();
|
||||
items.OilAlerts = oilalerts.ToArray();
|
||||
}
|
||||
return items;
|
||||
}
|
||||
else
|
||||
return new AlertInfo[0];
|
||||
return new AlertItems();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@ -461,7 +522,8 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
|
||||
long[] alertids = JsonConvert.DeserializeObject<long[]>(ids);
|
||||
|
||||
AssetAlertGridViewItem[] alerts = CreateClient<WorkOrderClient>().GetAssetAlertGridViewItemsByAsset(SystemParams.CompanyID, machineid, Helper.DBMinDateTime, DateTime.MaxValue, null, -1, -1, "");
|
||||
AssetAlertItem[] alerts = CreateClient<WorkOrderProvider>().GetNoneAssignedAlerts(SystemParams.CompanyID, machineid);
|
||||
//AssetAlertGridViewItem[] alerts = CreateClient<WorkOrderProvider>().GetAssetAlertGridViewItemsByAsset(SystemParams.CompanyID, machineid, Helper.DBMinDateTime, DateTime.MaxValue, null, null, -1, -1, "", false);
|
||||
AlertItems items = new AlertItems();
|
||||
if (alerts != null)
|
||||
{
|
||||
@ -469,12 +531,11 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
var pmaalerts = new List<AlertInfo>();
|
||||
var inspectalerts = new List<AlertInfo>();
|
||||
var oilalerts = new List<AlertInfo>();
|
||||
foreach (AssetAlertGridViewItem alertitem in alerts.OrderByDescending(ai => ai.AlertTime))
|
||||
Dictionary<string, List<AlertInfo>> pmalertdic = new Dictionary<string, List<AlertInfo>>();
|
||||
foreach (var alertitem in alerts.OrderByDescending(ai => ai.AlertTime))
|
||||
{
|
||||
if (alertids != null && alertids.Length > 0 && !alertids.Contains(alertitem.ID))
|
||||
continue;
|
||||
if (alertitem.Completed || alertitem.Acknowledged || alertitem.WorkOrderId > 0)
|
||||
continue;
|
||||
|
||||
List<AlertInfo> tempList = null;
|
||||
var category = DetermineAlertCategory(alertitem.AlertType);
|
||||
@ -487,15 +548,33 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
else
|
||||
tempList = dtcalerts;
|
||||
|
||||
var a = ConvertAlertObj(alertitem);
|
||||
var a = ConvertAlertObj1(alertitem);
|
||||
a.RepeatedAlerts = alertitem.RepeatedAlerts;
|
||||
a.AlertCount = alertitem.RepeatedAlerts.Count + 1;
|
||||
tempList.Add(a);
|
||||
|
||||
if (category == AssetAlertCategory.PMAlert)
|
||||
{
|
||||
if (!pmalertdic.ContainsKey(a.ScheduleID))
|
||||
pmalertdic[a.ScheduleID] = new List<AlertInfo>();
|
||||
pmalertdic[a.ScheduleID].Add(a);
|
||||
}
|
||||
}
|
||||
items.DTCAlerts = dtcalerts.ToArray();
|
||||
items.PMAlerts = pmaalerts.ToArray();
|
||||
items.InspectAlerts = inspectalerts.ToArray();
|
||||
items.OilAlerts = oilalerts.ToArray();
|
||||
items.AllExpectedCost = 0;
|
||||
|
||||
foreach (var dic in pmalertdic)
|
||||
{
|
||||
items.AllExpectedCost += dic.Value.Where(m => !m.Recurring).Sum(m => m.ExpectedCost);
|
||||
|
||||
int minPriority = dic.Value.Select(m => m.Priority).Min();
|
||||
var recalerts = dic.Value.Where(m => m.Priority == minPriority && m.Recurring && m.ExpectedCost > 0);
|
||||
if (recalerts != null && recalerts.Count() > 0)
|
||||
items.AllExpectedCost += recalerts.Sum(m => m.ExpectedCost);
|
||||
}
|
||||
}
|
||||
return items;
|
||||
}
|
||||
@ -509,6 +588,77 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
}
|
||||
}
|
||||
|
||||
private string SaveAutoAcknowledgeAlertTypes()
|
||||
{
|
||||
try
|
||||
{
|
||||
LoginSession session = GetCurrentLoginSession();
|
||||
if (session != null)
|
||||
{
|
||||
var clientdata = Request.Form["ClientData"];
|
||||
string[] alerttypes = JsonConvert.DeserializeObject<string[]>(clientdata);
|
||||
CreateClient<WorkOrderProvider>().SaveAutoAcknowledgeAlertTypes(SystemParams.CompanyID, alerttypes, session.User.UID);
|
||||
|
||||
return "OK";
|
||||
}
|
||||
else
|
||||
return "Failed";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
private object GetAutoAcknowledgeAlertTypes()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (GetCurrentLoginSession() != null)
|
||||
{
|
||||
string[] alerttypes = CreateClient<WorkOrderProvider>().GetAutoAcknowledgeAlertTypes(SystemParams.CompanyID, GetCurrentLoginSession().User.UID);
|
||||
return alerttypes;
|
||||
}
|
||||
else
|
||||
return new string[0];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
AddLog("ERROR", "AlertsBasePage.GetAutoAcknowledgeAlertTypes", ex.Message, ex.ToString());
|
||||
return ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
private object GetAutoAcknowledgeAlertTypesHistory()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (GetCurrentLoginSession() != null)
|
||||
{
|
||||
AutoAcknowledgeItem[] items = CreateClient<WorkOrderProvider>().GetAutoAcknowledgeAlertTypesHistory(SystemParams.CompanyID, GetCurrentLoginSession().User.UID);
|
||||
if (items == null || items.Length == 0)
|
||||
return new AutoAcknowledgeInfo[0];
|
||||
|
||||
List<AutoAcknowledgeInfo> ls = new List<AutoAcknowledgeInfo>();
|
||||
foreach (AutoAcknowledgeItem item in items)
|
||||
{
|
||||
AutoAcknowledgeInfo ai = new AutoAcknowledgeInfo();
|
||||
Helper.CloneProperty(ai, item);
|
||||
ai.LocalUpdatedOn = ai.UpdatedOnLocal;
|
||||
ls.Add(ai);
|
||||
}
|
||||
return ls.OrderBy(m => m.LocalUpdatedOn).ToArray();
|
||||
}
|
||||
else
|
||||
return new AutoAcknowledgeInfo[0];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
AddLog("ERROR", "AlertsBasePage.GetAutoAcknowledgeAlertTypesHistory", ex.Message, ex.ToString());
|
||||
return ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
private static readonly string[] PMALERTS = new string[] { "Preventative Maintenance" };
|
||||
private static readonly string[] INSPECT = new string[] { "Red-Inspect", "Yellow-Inspect", "Green-Inspect", "Info-Inspect" };
|
||||
private static readonly string[] OILSAMPLE = new string[] { "Oil Sample Result" };
|
||||
@ -559,6 +709,67 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
}
|
||||
}
|
||||
|
||||
private object GetAssignTos()
|
||||
{
|
||||
try
|
||||
{
|
||||
var session = GetCurrentLoginSession();
|
||||
if (session != null)
|
||||
{
|
||||
var users = Users.UserManagement.GetActiveUsers(session.SessionID, SystemParams.CompanyID);
|
||||
List<StringKeyValue> list = new List<StringKeyValue>();
|
||||
foreach (var u in users)
|
||||
{
|
||||
StringKeyValue kv = new StringKeyValue();
|
||||
kv.Key = u.IID;
|
||||
kv.Value = u.DisplayName;
|
||||
list.Add(kv);
|
||||
}
|
||||
|
||||
list = list.OrderBy((m) => m.Value).ToList();
|
||||
list.Insert(0, new StringKeyValue() { Key = "1", Value = "Alert Creator" });
|
||||
list.Insert(1, new StringKeyValue() { Key = "2", Value = "First Assigned Contact in Managed Assets" });
|
||||
|
||||
return list.ToArray();
|
||||
}
|
||||
else
|
||||
return new StringKeyValue[0];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
AddLog("ERROR", "AlertsBasePage.GetAssignTos", ex.Message, ex.ToString());
|
||||
return ex.Message;
|
||||
}
|
||||
}
|
||||
private object GetJobsites()
|
||||
{
|
||||
try
|
||||
{
|
||||
var session = GetCurrentLoginSession();
|
||||
if (session != null)
|
||||
{
|
||||
JobSiteItem[] jss = CreateClient<JobSiteProvider>().GetJobSiteItems(SystemParams.CompanyID, string.Empty, false);
|
||||
List<StringKeyValue> list = new List<StringKeyValue>();
|
||||
foreach (JobSiteItem js in jss)
|
||||
{
|
||||
StringKeyValue kv = new StringKeyValue();
|
||||
kv.Key = js.ID.ToString();
|
||||
kv.Value = js.Name;
|
||||
list.Add(kv);
|
||||
}
|
||||
|
||||
return list.OrderBy((m) => m.Value).ToArray();
|
||||
}
|
||||
else
|
||||
return new StringKeyValue[0];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
AddLog("ERROR", "AlertsBasePage.GetAssetGroups", ex.Message, ex.ToString());
|
||||
return ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
private object GetAlertTypes()
|
||||
{
|
||||
try
|
||||
@ -578,35 +789,83 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
}
|
||||
}
|
||||
|
||||
#region Work Order Generators
|
||||
|
||||
private AlertInfo ConvertAlert(AssetAlertItem alertitem)
|
||||
private object GetWorkOrderGenerators()
|
||||
{
|
||||
AlertInfo ai = new AlertInfo();
|
||||
ai.AlertID = alertitem.ID;
|
||||
ai.MachineID = alertitem.AssetID;
|
||||
ai.AlertType = alertitem.AlertType;
|
||||
ai.Description = alertitem.Description;
|
||||
ai.AlertTime_UTC = alertitem.AlertTime;
|
||||
ai.EngineHours = alertitem.EngineHours;
|
||||
try
|
||||
{
|
||||
if (GetCurrentLoginSession() != null)
|
||||
{
|
||||
WorkOrderGeneratorInfo[] generators = CreateClient<WorkOrderProvider>().GetWorkOrderGenerators(SystemParams.CompanyID);
|
||||
if (generators == null)
|
||||
return new WorkOrderGeneratorInfo[0];
|
||||
|
||||
return ai;
|
||||
return generators;
|
||||
}
|
||||
else
|
||||
return new WorkOrderGeneratorInfo[0];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
AddLog("ERROR", "AlertsBasePage.GetWorkOrderGenerators", ex.Message, ex.ToString());
|
||||
return ex.Message;
|
||||
}
|
||||
}
|
||||
}
|
||||
public class AlertItems
|
||||
{
|
||||
public AlertInfo[] DTCAlerts { get; set; }
|
||||
public AlertInfo[] PMAlerts { get; set; }
|
||||
public AlertInfo[] InspectAlerts { get; set; }
|
||||
public AlertInfo[] OilAlerts { get; set; }
|
||||
}
|
||||
public class AlertQueryParams
|
||||
{
|
||||
public string SearchText { get; set; }
|
||||
public string[] AlertStatus { get; set; }
|
||||
public string[] AssetGroups { get; set; }
|
||||
public string[] AlertTypes { get; set; }
|
||||
public string BeginDate { get; set; }
|
||||
public string EndDate { get; set; }
|
||||
|
||||
private object SaveWorkOrderGenerator()
|
||||
{
|
||||
try
|
||||
{
|
||||
var session = GetCurrentLoginSession();
|
||||
if (session != null)
|
||||
{
|
||||
var clientdata = Request.Form["ClientData"];
|
||||
WorkOrderGeneratorInfo generator = JsonConvert.DeserializeObject<WorkOrderGeneratorInfo>(clientdata);
|
||||
|
||||
if (generator.Id > 0)
|
||||
{
|
||||
CreateClient<WorkOrderProvider>().UpdateWorkOrderGenerator(SystemParams.CompanyID, generator);
|
||||
}
|
||||
else
|
||||
{
|
||||
generator.Id = CreateClient<WorkOrderProvider>().AddNewWorkOrderGenerator(SystemParams.CompanyID, generator);
|
||||
}
|
||||
|
||||
return new string[] { generator.Id.ToString(), "" };
|
||||
}
|
||||
else
|
||||
return "Failed";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
private object DeleteWorkOrderGenerator()
|
||||
{
|
||||
try
|
||||
{
|
||||
var session = GetCurrentLoginSession();
|
||||
if (session != null)
|
||||
{
|
||||
string id = HttpUtility.HtmlDecode(Request.Form["ClientData"]);
|
||||
|
||||
CreateClient<WorkOrderProvider>().DeleteWorkOrderGenerator(SystemParams.CompanyID, Convert.ToInt32(id));
|
||||
|
||||
return new string[0];
|
||||
}
|
||||
return "Failed";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ex.Message;
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
public class AlertsLisenceItem
|
||||
|
@ -6,15 +6,10 @@ using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
using IronIntel.Contractor.Machines;
|
||||
using IronIntel.Contractor.Maintenance;
|
||||
using IronIntel.Services.Business.Admin;
|
||||
using System.Web;
|
||||
using IronIntel.Contractor.Users;
|
||||
using Foresight.ServiceModel;
|
||||
using Foresight.Fleet.Services.AssetHealth;
|
||||
using Foresight.Fleet.Services.Device;
|
||||
using Foresight.Fleet.Services;
|
||||
using Foresight.Fleet.Services.Attachment;
|
||||
using IronIntel.Contractor.Attachment;
|
||||
|
||||
namespace IronIntel.Contractor.Site.Maintenance
|
||||
{
|
||||
@ -89,23 +84,26 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
var sdatestr = HttpUtility.HtmlDecode(clientdata[1]);
|
||||
var edatestr = HttpUtility.HtmlDecode(clientdata[2]);
|
||||
var searchtxt = HttpUtility.HtmlDecode(clientdata[3]);
|
||||
long assetid = 0;
|
||||
long.TryParse(HttpUtility.HtmlDecode(clientdata[4]), out assetid);
|
||||
|
||||
DateTime beginDate = DateTime.MinValue;
|
||||
DateTime beginDate = Helper.DBMinDateTime;
|
||||
DateTime endDate = DateTime.MaxValue;
|
||||
if (!DateTime.TryParse(sdatestr, out beginDate))
|
||||
beginDate = DateTime.MinValue;
|
||||
beginDate = Helper.DBMinDateTime;
|
||||
if (!DateTime.TryParse(edatestr, out endDate))
|
||||
endDate = DateTime.MaxValue;
|
||||
|
||||
FuelRecord[] fuels = CreateClient<FuelManagementClient>().GetFuelRecords(SystemParams.CompanyID, Convert.ToInt64(type), beginDate, endDate, searchtxt);
|
||||
if (assetid > 0)
|
||||
fuels = fuels.Where(m => m.AssetID == assetid).ToArray();
|
||||
|
||||
List<FuelRecordInfo> list = new List<FuelRecordInfo>();
|
||||
foreach (FuelRecord fuel in fuels)
|
||||
{
|
||||
FuelRecordInfo fi = new FuelRecordInfo();
|
||||
Helper.CloneProperty(fi, fuel);
|
||||
//fi.TransactionDate = fi.TransactionDate.ToLocalTime();
|
||||
fi.TransactionDate = SystemParams.CustomerDetail.UtcToCustomerTime(fi.TransactionDate);
|
||||
fi.TransactionLocalDate = fuel.TransactionLocalDate;
|
||||
list.Add(fi);
|
||||
}
|
||||
|
||||
@ -140,9 +138,7 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
FuelRecordAuditItem fi = new FuelRecordAuditItem();
|
||||
Helper.CloneProperty(fi, fuel);
|
||||
//fi.TransactionDate = fi.TransactionDate.ToLocalTime();
|
||||
fi.TransactionDate=SystemParams.CustomerDetail.UtcToCustomerTime(fi.TransactionDate);
|
||||
fi.AddedOn = fi.AddedOn.ToLocalTime();
|
||||
fi.LastUpdatedOn = fi.LastUpdatedOn.ToLocalTime();
|
||||
fi.TransactionLocalDate = fuel.TransactionLocalDate;
|
||||
list.Add(fi);
|
||||
}
|
||||
|
||||
@ -171,8 +167,6 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
|
||||
FuelRecord record = new FuelRecord();
|
||||
Helper.CloneProperty(record, fuelrecord);
|
||||
//record.TransactionDate = record.TransactionDate.ToUniversalTime();
|
||||
record.TransactionDate = SystemParams.CustomerDetail.CustomerTimeToUtc(record.TransactionDate);
|
||||
long fuleid = record.FuelID;
|
||||
if (record.FuelID == -1)
|
||||
{
|
||||
@ -308,22 +302,21 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
{
|
||||
string fuleid = HttpUtility.HtmlDecode(Request.Form["ClientData"]);
|
||||
|
||||
AttachmentInfo[] atts = CreateClient<AttachmentClient>().GetAttachments(SystemParams.CompanyID, "FuelRecord", fuleid);
|
||||
AttachmentItem[] atts = CreateClient<AttachmentProvider>().GetAttachmentItems(SystemParams.CompanyID, "FuelRecord", fuleid);
|
||||
if (atts == null || atts.Length <= 0)
|
||||
return new AttachmentItem[0];
|
||||
return new AttachmentItemClient[0];
|
||||
|
||||
List<AttachmentItem> list = new List<AttachmentItem>();
|
||||
foreach (AttachmentInfo att in atts)
|
||||
List<AttachmentItemClient> list = new List<AttachmentItemClient>();
|
||||
foreach (Foresight.Fleet.Services.AttachmentItem att in atts)
|
||||
{
|
||||
AttachmentItem item = new AttachmentItem();
|
||||
AttachmentItemClient item = new AttachmentItemClient();
|
||||
Helper.CloneProperty(item, att);
|
||||
item.AddedOn = item.AddedOn.AddHours(SystemParams.GetHoursOffset());
|
||||
list.Add(item);
|
||||
}
|
||||
return list.OrderBy(m => m.AddedOn).ToArray();
|
||||
}
|
||||
else
|
||||
return new AttachmentItem[0];
|
||||
return new AttachmentItemClient[0];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@ -348,15 +341,8 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
iconfilebyte = ConvertFile2bytes(uploadFile);
|
||||
}
|
||||
|
||||
AttachmentInfo attachment = new AttachmentInfo();
|
||||
attachment.StringID = Guid.NewGuid().ToString().ToUpper();
|
||||
attachment.FileName = uploadFile == null ? "" : uploadFile.FileName;
|
||||
attachment.Source = "FuelRecord";
|
||||
attachment.SourceID = fuleid;
|
||||
attachment.FileData = iconfilebyte;
|
||||
attachment.AddedByUserIID = session.User.UID;
|
||||
|
||||
string attid = CreateClient<AttachmentClient>().AddAttachmentLegacy(SystemParams.CompanyID, attachment);
|
||||
string FileName = uploadFile == null ? "" : uploadFile.FileName;
|
||||
long attid = CreateClient<AttachmentProvider>().AddAttachment(SystemParams.CompanyID, "FuelRecord", fuleid, FileName, "", iconfilebyte);
|
||||
|
||||
return "OK";
|
||||
}
|
||||
@ -377,7 +363,7 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
{
|
||||
string attachid = HttpUtility.HtmlDecode(Request.Form["ClientData"]);
|
||||
|
||||
CreateClient<AttachmentClient>().DeleteAttachmentLegacy(SystemParams.CompanyID, attachid, session.User.UID);
|
||||
CreateClient<AttachmentProvider>().DeleteAttachment(SystemParams.CompanyID, long.Parse(attachid));
|
||||
return "OK";
|
||||
}
|
||||
return "Failed";
|
||||
@ -391,4 +377,9 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
#endregion
|
||||
|
||||
}
|
||||
public class AttachmentItemClient : AttachmentItem
|
||||
{
|
||||
public string AddedOnStr { get { return AddedOn.ToString(); } }
|
||||
public byte[] FileData { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +1,13 @@
|
||||
using System;
|
||||
using Foresight.Fleet.Services;
|
||||
using Foresight.Fleet.Services.Asset;
|
||||
using Foresight.ServiceModel;
|
||||
using IronIntel.Contractor.Maintenance;
|
||||
using IronIntel.Contractor.Users;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
using IronIntel.Contractor.Machines;
|
||||
using IronIntel.Contractor.Maintenance;
|
||||
using IronIntel.Services.Business.Admin;
|
||||
using System.Web;
|
||||
using IronIntel.Contractor.Users;
|
||||
using Foresight.ServiceModel;
|
||||
using Foresight.Fleet.Services.Attachment;
|
||||
using IronIntel.Contractor.Attachment;
|
||||
|
||||
namespace IronIntel.Contractor.Site.Maintenance
|
||||
{
|
||||
@ -33,9 +29,6 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
case "GETRECORDS":
|
||||
GetRecords();
|
||||
break;
|
||||
case "GETMACHINES":
|
||||
Getmachines();
|
||||
break;
|
||||
case "GETMACHINEINFO":
|
||||
GetmachineInfo();
|
||||
break;
|
||||
@ -91,9 +84,8 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
{
|
||||
string json = "";
|
||||
List<KeyValuePair<int, string>> typeskeypair = new List<KeyValuePair<int, string>>();
|
||||
MachineServiceClient2 mc = new MachineServiceClient2(SystemParams.SystemServiceAddresses[0]);
|
||||
MachineType[] types = mc.GetMachineTypes();
|
||||
foreach (MachineType item in types)
|
||||
AssetType[] types = CreateClient<AssetClassProvider>().GetAssetTypes(SystemParams.CompanyID);
|
||||
foreach (AssetType item in types)
|
||||
{
|
||||
typeskeypair.Add(new KeyValuePair<int, string>(item.ID, item.Name));
|
||||
}
|
||||
@ -117,7 +109,17 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
string searchtxt = HttpUtility.UrlDecode(Request.Params["searchtxt"]);
|
||||
string sortype = HttpUtility.UrlDecode(Request.Params["sortype"]);
|
||||
string sortdata = HttpUtility.UrlDecode(Request.Params["sortdata"]);
|
||||
MaintenanceLogInfo[] logs = MaintenanceManagement.GetMaintenanceLog(session.SessionID, assetid, maintenanceType, string.IsNullOrWhiteSpace(mtype) ? -1 : Convert.ToInt32(mtype), searchtxt, session.User.UID);
|
||||
string sdatestr = HttpUtility.UrlDecode(Request.Params["startdate"]);
|
||||
string edatestr = HttpUtility.UrlDecode(Request.Params["enddate"]);
|
||||
|
||||
DateTime beginDate = Helper.DBMinDateTime;
|
||||
DateTime endDate = DateTime.MaxValue;
|
||||
if (!DateTime.TryParse(sdatestr, out beginDate))
|
||||
beginDate = Helper.DBMinDateTime;
|
||||
if (!DateTime.TryParse(edatestr, out endDate))
|
||||
endDate = DateTime.MaxValue;
|
||||
|
||||
MaintenanceLogInfo[] logs = MaintenanceManagement.GetMaintenanceLog(session.SessionID, assetid, maintenanceType, string.IsNullOrWhiteSpace(mtype) ? -1 : Convert.ToInt32(mtype), searchtxt, beginDate, endDate, session.User.UID);
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(sortype))
|
||||
{
|
||||
@ -190,19 +192,19 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
string json = "";
|
||||
long mid = -1;
|
||||
long.TryParse(Request.Params["machineID"].ToString(), out mid);
|
||||
MaintenanceMachineInfo machine = MaintenanceManagement.GetmachineByMachineID(mid);
|
||||
json += JsonConvert.SerializeObject(machine);
|
||||
Response.Write(json);
|
||||
Response.End();
|
||||
}
|
||||
private void Getmachines()
|
||||
{
|
||||
var session = GetCurrentLoginSession();
|
||||
string json = "";
|
||||
string mtype = Request.Params["type"];
|
||||
string searchtxt = HttpUtility.UrlDecode(Request.Params["searchtxt"]);
|
||||
MaintenanceMachineInfo[] machines = MaintenanceManagement.GetMaintenanceMachines(session.SessionID, string.IsNullOrWhiteSpace(mtype) ? -1 : Convert.ToInt32(mtype), searchtxt, session.User.UID).OrderBy(t => t.VIN).ToArray();
|
||||
json += JsonConvert.SerializeObject(machines);
|
||||
AssetBasicInfo asset = CreateClient<AssetQueryClient>().GetAssetBasicInfoByID(SystemParams.CompanyID, mid);
|
||||
|
||||
MaintenanceMachineInfo mi = new MaintenanceMachineInfo();
|
||||
mi.MachineID = asset.ID;
|
||||
mi.MachineName = asset.Name;
|
||||
mi.MachineName2 = asset.Name2;
|
||||
mi.VIN = asset.VIN;
|
||||
mi.EngineHours = asset.EngineHours == null ? 0 : asset.EngineHours.Value;
|
||||
mi.Make = asset.MakeName;
|
||||
mi.Model = asset.ModelName;
|
||||
mi.TypeID = asset.TypeID;
|
||||
mi.MachineType = asset.TypeName;
|
||||
json += JsonConvert.SerializeObject(mi);
|
||||
Response.Write(json);
|
||||
Response.End();
|
||||
}
|
||||
@ -211,7 +213,7 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
var session = GetCurrentLoginSession();
|
||||
string json = "";
|
||||
string mtype = Request.Params["type"];
|
||||
string searchtxt = HttpUtility.UrlDecode(Request.Params["searchtxt"]);
|
||||
string searchtxt = HttpUtility.HtmlDecode(Request.Params["searchtxt"]);
|
||||
|
||||
MaintenanceMachineInfo[] machines = MaintenanceManagement.GetMaintenanceMachines(session.SessionID, string.IsNullOrWhiteSpace(mtype) ? -1 : Convert.ToInt32(mtype), searchtxt, session.User.UID);
|
||||
if (machines.Length > 0)
|
||||
@ -230,6 +232,7 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
if (u != null)
|
||||
{
|
||||
var clientdata = Request.Form["ClientData"];
|
||||
clientdata = HttpUtility.HtmlDecode(clientdata);
|
||||
MaintenanceLogInfo m = JsonConvert.DeserializeObject<MaintenanceLogInfo>(clientdata);
|
||||
|
||||
MaintenanceLogInfo oldinfo = null;
|
||||
@ -247,7 +250,7 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
oldinfo.MaintenanceHours = m.MaintenanceHours;
|
||||
oldinfo.ODOMeter = m.ODOMeter;
|
||||
oldinfo.ODOMemterUOM = m.ODOMemterUOM;
|
||||
oldinfo.Notes = HttpUtility.UrlDecode(m.Notes);
|
||||
oldinfo.Notes = HttpUtility.HtmlDecode(m.Notes);
|
||||
oldinfo.LogType = m.LogType;
|
||||
oldinfo.Cost = m.Cost;
|
||||
oldinfo.InvoiceNumber = m.InvoiceNumber;
|
||||
@ -371,16 +374,15 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
var clientdata = Request.Form["ClientData"].Split((char)170);
|
||||
var woid = HttpUtility.HtmlDecode(clientdata[0]);
|
||||
|
||||
AttachmentInfo[] atts = CreateClient<AttachmentClient>().GetAttachments(SystemParams.CompanyID, "MaintenanceLog", woid);
|
||||
AttachmentItem[] atts = CreateClient<AttachmentProvider>().GetAttachmentItems(SystemParams.CompanyID, "MaintenanceLog", woid);
|
||||
if (atts == null || atts.Length <= 0)
|
||||
return new AttachmentItem[0];
|
||||
|
||||
List<AttachmentItem> list = new List<AttachmentItem>();
|
||||
foreach (AttachmentInfo att in atts)
|
||||
foreach (AttachmentItem att in atts)
|
||||
{
|
||||
AttachmentItem item = new AttachmentItem();
|
||||
Helper.CloneProperty(item, att);
|
||||
item.AddedOn = item.AddedOn.ToLocalTime();
|
||||
list.Add(item);
|
||||
}
|
||||
return list.OrderBy(m => m.AddedOn).ToArray();
|
||||
@ -411,15 +413,8 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
iconfilebyte = ConvertFile2bytes(uploadFile);
|
||||
}
|
||||
|
||||
AttachmentInfo attachment = new AttachmentInfo();
|
||||
attachment.StringID = Guid.NewGuid().ToString().ToUpper();
|
||||
attachment.FileName = uploadFile == null ? "" : uploadFile.FileName;
|
||||
attachment.Source = "MaintenanceLog";
|
||||
attachment.SourceID = woid;
|
||||
attachment.FileData = iconfilebyte;
|
||||
attachment.AddedByUserIID = session.User.UID;
|
||||
|
||||
string attid = CreateClient<AttachmentClient>().AddAttachmentLegacy(SystemParams.CompanyID, attachment);
|
||||
string FileName = uploadFile == null ? "" : uploadFile.FileName;
|
||||
long attid = CreateClient<AttachmentProvider>().AddAttachment(SystemParams.CompanyID, "MaintenanceLog", woid, FileName, "", iconfilebyte);
|
||||
|
||||
return "OK";
|
||||
}
|
||||
@ -440,7 +435,7 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
{
|
||||
string attachid = HttpUtility.HtmlDecode(Request.Form["ClientData"]);
|
||||
|
||||
CreateClient<AttachmentClient>().DeleteAttachmentLegacy(SystemParams.CompanyID, attachid, session.User.UID);
|
||||
CreateClient<AttachmentProvider>().DeleteAttachment(SystemParams.CompanyID, long.Parse(attachid));
|
||||
return "OK";
|
||||
}
|
||||
return "Failed";
|
||||
|
@ -1,6 +1,5 @@
|
||||
using Foresight.Fleet.Services.User;
|
||||
using Foresight.ServiceModel;
|
||||
using IronIntel.Services;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -8,6 +7,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
namespace IronIntel.Contractor.Site.Maintenance
|
||||
{
|
||||
public class MaintenanceBasePage : ContractorBasePage
|
||||
@ -33,20 +33,22 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
private MaintenanceNavigateItem[] GetNavigations()
|
||||
{
|
||||
List<MaintenanceNavigateItem> list = GetNavigateItems();
|
||||
LicenseInfo license = SystemParams.GetLicense();
|
||||
Foresight.Fleet.Services.Customer.LicenseInfo license = SystemParams.GetLicense();
|
||||
if (license != null && license.Items.Count > 0)
|
||||
{
|
||||
var alitem = license.Items.FirstOrDefault(m => m.Key == "AlertsManagement");
|
||||
if (alitem == null || !Helper.IsTrue(alitem.Value))
|
||||
{
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_alertsmanagement");
|
||||
list.Remove(item);
|
||||
}
|
||||
var woitem = license.Items.FirstOrDefault(m => m.Key == "WorkOrder");
|
||||
if (woitem == null || !Helper.IsTrue(woitem.Value))
|
||||
{
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_workorder");
|
||||
list.Remove(item);
|
||||
item = list.FirstOrDefault(m => m.ID == "nav_workorderhis");
|
||||
list.Remove(item);
|
||||
}
|
||||
var alitem = license.Items.FirstOrDefault(m => m.Key == "AlertsManagement");
|
||||
if (alitem == null || !Helper.IsTrue(alitem.Value))
|
||||
{
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_alertsmanagement");
|
||||
list.Remove(item);
|
||||
}
|
||||
var fuelitem = license.Items.FirstOrDefault(m => m.Key == "FuelRecords");
|
||||
if (fuelitem == null || !Helper.IsTrue(fuelitem.Value))
|
||||
@ -54,42 +56,66 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_fuelrecord");
|
||||
list.Remove(item);
|
||||
}
|
||||
var critem = license.Items.FirstOrDefault(m => m.Key == "CustomerRecord");
|
||||
if (critem == null || !Helper.IsTrue(critem.Value))
|
||||
{
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_customerrecord");
|
||||
list.Remove(item);
|
||||
item = list.FirstOrDefault(m => m.ID == "nav_customersatisfactionsurveys");
|
||||
list.Remove(item);
|
||||
item = list.FirstOrDefault(m => m.ID == "nav_surveymanagementresult");
|
||||
list.Remove(item);
|
||||
item = list.FirstOrDefault(m => m.ID == "nav_wosurveytemplate");
|
||||
list.Remove(item);
|
||||
item = list.FirstOrDefault(m => m.ID == "nav_wosurveytemplatereport");
|
||||
list.Remove(item);
|
||||
}
|
||||
var pmitem = license.Items.FirstOrDefault(m => m.Key == "PreventativeMaintenance");
|
||||
if (pmitem == null || !Helper.IsTrue(pmitem.Value))
|
||||
{
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_maintenanceschedule");
|
||||
list.Remove(item);
|
||||
}
|
||||
var mritem = license.Items.FirstOrDefault(m => m.Key == "MaintenanceRecord");
|
||||
if (mritem == null || !Helper.IsTrue(mritem.Value))
|
||||
{
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_record");
|
||||
list.Remove(item);
|
||||
}
|
||||
}
|
||||
|
||||
var user = GetCurrentUser();
|
||||
if (user.UserType == Users.UserTypes.Common)
|
||||
{
|
||||
var client = FleetServiceClientHelper.CreateClient<PermissionProvider>();
|
||||
var client = CreateClient<PermissionProvider>();
|
||||
Tuple<Feature, Permissions>[] pmss = client.GetUserPermissions(SystemParams.CompanyID, user.IID);
|
||||
if (pmss.Length > 0)
|
||||
{
|
||||
Tuple<Feature, Permissions> alertpm = pmss.FirstOrDefault(m => m.Item1.Id == Feature.ALERTS_MANAGEMENT);
|
||||
if (alertpm == null)
|
||||
{
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_alertsmanagement");
|
||||
list.Remove(item);
|
||||
}
|
||||
Tuple<Feature, Permissions> wopm = pmss.FirstOrDefault(m => m.Item1.Id == Feature.WORK_ORDER);
|
||||
if (wopm == null)
|
||||
{
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_workorder");
|
||||
list.Remove(item);
|
||||
}
|
||||
Tuple<Feature, Permissions> wohispm = pmss.FirstOrDefault(m => m.Item1.Id == Feature.WORKORDERHISTORY);
|
||||
if (wohispm == null)
|
||||
{
|
||||
MaintenanceNavigateItem itemhis = list.FirstOrDefault(m => m.ID == "nav_workorderhis");
|
||||
list.Remove(itemhis);
|
||||
}
|
||||
Tuple<Feature, Permissions> alertpm = pmss.FirstOrDefault(m => m.Item1.Id == Feature.ALERTS_MANAGEMENT);
|
||||
if (alertpm == null)
|
||||
{
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_alertsmanagement");
|
||||
list.Remove(item);
|
||||
}
|
||||
Tuple<Feature, Permissions> pmpm = pmss.FirstOrDefault(m => m.Item1.Id == Feature.PREVENTATIVE_MAINTENANCE);
|
||||
if (pmpm == null)
|
||||
{
|
||||
MaintenanceNavigateItem item1 = list.FirstOrDefault(m => m.ID == "nav_preventative");
|
||||
list.Remove(item1);
|
||||
MaintenanceNavigateItem item2 = list.FirstOrDefault(m => m.ID == "nav_timebased");
|
||||
list.Remove(item2);
|
||||
MaintenanceNavigateItem item3 = list.FirstOrDefault(m => m.ID == "nav_hours");
|
||||
list.Remove(item3);
|
||||
MaintenanceNavigateItem item4 = list.FirstOrDefault(m => m.ID == "nav_absolutedistance");
|
||||
list.Remove(item4);
|
||||
MaintenanceNavigateItem item5 = list.FirstOrDefault(m => m.ID == "nav_relativedistance");
|
||||
list.Remove(item5);
|
||||
MaintenanceNavigateItem item6 = list.FirstOrDefault(m => m.ID == "nav_record");
|
||||
list.Remove(item6);
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_maintenanceschedule");
|
||||
list.Remove(item);
|
||||
item = list.FirstOrDefault(m => m.ID == "nav_record");
|
||||
list.Remove(item);
|
||||
}
|
||||
Tuple<Feature, Permissions> fuelpm = pmss.FirstOrDefault(m => m.Item1.Id == Feature.FUEL_RECORDS);
|
||||
if (fuelpm == null)
|
||||
@ -97,9 +123,29 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_fuelrecord");
|
||||
list.Remove(item);
|
||||
}
|
||||
Tuple<Feature, Permissions> crpm = pmss.FirstOrDefault(m => m.Item1.Id == Feature.CUSTOMER_RECORD);
|
||||
if (crpm == null)
|
||||
{
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_customerrecord");
|
||||
list.Remove(item);
|
||||
}
|
||||
Tuple<Feature, Permissions> wosurpm = pmss.FirstOrDefault(m => m.Item1.Id == Feature.WORKORDERSURVEYS);
|
||||
if (crpm == null || wosurpm == null)
|
||||
{
|
||||
MaintenanceNavigateItem item = list.FirstOrDefault(m => m.ID == "nav_customersatisfactionsurveys");
|
||||
list.Remove(item);
|
||||
item = list.FirstOrDefault(m => m.ID == "nav_surveymanagementresult");
|
||||
list.Remove(item);
|
||||
item = list.FirstOrDefault(m => m.ID == "nav_wosurveytemplate");
|
||||
list.Remove(item);
|
||||
item = list.FirstOrDefault(m => m.ID == "nav_wosurveytemplatereport");
|
||||
list.Remove(item);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if (user.UserType == Users.UserTypes.Readonly)
|
||||
list.Clear();
|
||||
|
||||
return list.ToArray();
|
||||
}
|
||||
|
||||
@ -108,68 +154,80 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
{
|
||||
List<MaintenanceNavigateItem> list = new List<MaintenanceNavigateItem>();
|
||||
|
||||
MaintenanceNavigateItem item2 = new MaintenanceNavigateItem();
|
||||
item2.ID = "nav_workorder";
|
||||
item2.Title = "Work Order";
|
||||
item2.Url = "WorkOrderMaintenance.aspx";
|
||||
item2.IconPath = "img/workorder.png";
|
||||
list.Add(item2);
|
||||
|
||||
MaintenanceNavigateItem itemhis = new MaintenanceNavigateItem();
|
||||
itemhis.ID = "nav_workorderhis";
|
||||
itemhis.Title = "Work Order History";
|
||||
itemhis.Url = "WorkOrderHistory.aspx";
|
||||
itemhis.IconPath = "img/workorder.png";
|
||||
list.Add(itemhis);
|
||||
|
||||
MaintenanceNavigateItem item1 = new MaintenanceNavigateItem();
|
||||
item1.ID = "nav_alertsmanagement";
|
||||
item1.Title = "Alerts Management **New**";
|
||||
item1.Title = "Alerts Management";
|
||||
item1.Url = "AlertsManagement.aspx";
|
||||
item1.IconPath = "img/alert.png";
|
||||
list.Add(item1);
|
||||
|
||||
MaintenanceNavigateItem item6 = new MaintenanceNavigateItem();
|
||||
item6.ID = "nav_workorder";
|
||||
item6.Title = "Work Order **New**";
|
||||
item6.Url = "WorkOrderMaintenance.aspx";
|
||||
item6.IconPath = "img/workorder.png";
|
||||
list.Add(item6);
|
||||
|
||||
MaintenanceNavigateItem item3 = new MaintenanceNavigateItem();
|
||||
item3.ID = "nav_preventative";
|
||||
item3.Title = "Absolute Hours Maintenance";
|
||||
item3.Url = "PreventativeMaintenance.aspx";
|
||||
item3.ID = "nav_maintenanceschedule";
|
||||
item3.Title = "Maintenance Schedules";
|
||||
item3.Url = "MaintenanceSchedulesManagement.aspx";
|
||||
item3.IconPath = "img/preventative.png";
|
||||
list.Add(item3);
|
||||
|
||||
MaintenanceNavigateItem item4 = new MaintenanceNavigateItem();
|
||||
item4.ID = "nav_timebased";
|
||||
item4.Title = "Relative Time Maintenance";
|
||||
item4.Url = "TimeBasedMaintenance.aspx";
|
||||
item4.IconPath = "img/timebased.png";
|
||||
item4.ID = "nav_record";
|
||||
item4.Title = "Maintenance Record";
|
||||
item4.Url = "MaintanceRecordsManagement.aspx";
|
||||
item4.IconPath = "img/record.png";
|
||||
list.Add(item4);
|
||||
|
||||
MaintenanceNavigateItem item7 = new MaintenanceNavigateItem();
|
||||
item7.ID = "nav_hours";
|
||||
item7.Title = "Relative Hours Maintenance";
|
||||
item7.Url = "HoursMaintenance.aspx";
|
||||
item7.IconPath = "img/hours.png";
|
||||
list.Add(item7);
|
||||
|
||||
MaintenanceNavigateItem item5 = new MaintenanceNavigateItem();
|
||||
item5.ID = "nav_absolutedistance";
|
||||
item5.Title = "Absolute Distance Maintenance";
|
||||
item5.Url = "AbsoluteDistanceMaintenance.aspx";
|
||||
item5.IconPath = "img/preventative.png";
|
||||
item5.ID = "nav_fuelrecord";
|
||||
item5.Title = "Fuel Records";
|
||||
item5.Url = "FuelRecordManagement.aspx";
|
||||
item5.IconPath = "img/fuelrecord.png";
|
||||
list.Add(item5);
|
||||
|
||||
MaintenanceNavigateItem item6 = new MaintenanceNavigateItem();
|
||||
item6.ID = "nav_customerrecord";
|
||||
item6.Title = "Customer Record";
|
||||
item6.Url = "CustomerRecordManagement.aspx";
|
||||
item6.IconPath = "img/customerrecord.png";
|
||||
list.Add(item6);
|
||||
|
||||
MaintenanceNavigateItem item7 = new MaintenanceNavigateItem();
|
||||
item7.ID = "nav_customersatisfactionsurveys";
|
||||
item7.Title = "Customer Satisfaction Surveys";
|
||||
//item7.Url = "SurveyTemplateManagement.aspx";
|
||||
item7.IconPath = "img/customerrecord.png";
|
||||
list.Add(item7);
|
||||
|
||||
MaintenanceNavigateItem item8 = new MaintenanceNavigateItem();
|
||||
item8.ID = "nav_relativedistance";
|
||||
item8.Title = "Relative Distance Maintenance";
|
||||
item8.Url = "RelativeDistanceMaintenance.aspx";
|
||||
item8.IconPath = "img/hours.png";
|
||||
item8.ID = "nav_surveymanagementresult";
|
||||
item8.Title = "Survey Management/Result";
|
||||
item8.Url = "SurveyManagement.aspx";
|
||||
list.Add(item8);
|
||||
|
||||
MaintenanceNavigateItem item2 = new MaintenanceNavigateItem();
|
||||
item2.ID = "nav_record";
|
||||
item2.Title = "Maintenance Record **Legacy**";
|
||||
item2.Url = "MaintanceRecordsManagement.aspx";
|
||||
item2.IconPath = "img/record.png";
|
||||
list.Add(item2);
|
||||
|
||||
MaintenanceNavigateItem item9 = new MaintenanceNavigateItem();
|
||||
item9.ID = "nav_fuelrecord";
|
||||
item9.Title = "Fuel Records";
|
||||
item9.Url = "FuelRecordManagement.aspx";
|
||||
item9.IconPath = "img/fuelrecord.png";
|
||||
item9.ID = "nav_wosurveytemplate";
|
||||
item9.Title = "Templates";
|
||||
item9.Url = "SurveyTemplateManagement.aspx";
|
||||
list.Add(item9);
|
||||
|
||||
MaintenanceNavigateItem item10 = new MaintenanceNavigateItem();
|
||||
item10.ID = "nav_wosurveytemplatereport";
|
||||
item10.Title = "Reports";
|
||||
item10.Url = "SurveyTemplateReport.aspx";
|
||||
list.Add(item10);
|
||||
|
||||
return list;
|
||||
}
|
||||
public class MaintenanceNavigateItem
|
||||
|
@ -1,26 +0,0 @@
|
||||
using IronIntel.Contractor.Maintenance;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace IronIntel.Contractor.Site.Maintenance
|
||||
{
|
||||
public class ScheduleSaveArgs
|
||||
{
|
||||
public string IID { get; set; }
|
||||
public string Name { get; set; }
|
||||
public string ScheduleUom { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string Notes { get; set; }
|
||||
|
||||
public PmIntervalItem[] Intervals { get; set; }
|
||||
}
|
||||
|
||||
public class ScheduleMachineArgs
|
||||
{
|
||||
public string IID { get; set; }
|
||||
public MaintenanceMachineInfo[] Machines { get; set; }
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
using Foresight.Fleet.Services.AssetHealth;
|
||||
using Foresight.Fleet.Services.Asset;
|
||||
using Foresight.Fleet.Services.AssetHealth;
|
||||
using IronIntel.Contractor.Machines;
|
||||
using IronIntel.Contractor.Maintenance;
|
||||
using IronIntel.Services.Business.Admin;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -69,6 +69,9 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
case "GETPMSCHEDULEBYID":
|
||||
result = GetPMScheduleByID();
|
||||
break;
|
||||
case "GETMAINTENANCESCHEDULES":
|
||||
result = GetMaintenanceSchedules();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -116,7 +119,7 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
if (string.IsNullOrWhiteSpace(pmtype))
|
||||
pmtype = "PM";
|
||||
|
||||
return MaintenanceManagement.GetPmSchedule(session.SessionID, pmtype);
|
||||
return MaintenanceManagement.GetPmSchedule(session.SessionID, pmtype, string.Empty, string.Empty);
|
||||
}
|
||||
else
|
||||
return new PmScheduleInfo[0];
|
||||
@ -127,6 +130,32 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
return ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
private object GetMaintenanceSchedules()
|
||||
{
|
||||
try
|
||||
{
|
||||
var session = GetCurrentLoginSession();
|
||||
if (session != null)
|
||||
{
|
||||
var clientdata = Request.Form["ClientData"];
|
||||
string[] param = JsonConvert.DeserializeObject<string[]>(clientdata);
|
||||
var pmtype = param[0];
|
||||
var pmid = param[1];
|
||||
var filter = HttpUtility.HtmlDecode(param[2]);
|
||||
|
||||
return MaintenanceManagement.GetPmSchedule(session.SessionID, pmtype, pmid, filter);
|
||||
}
|
||||
else
|
||||
return new PmScheduleInfo[0];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
AddLog("ERROR", "PreventativeMaintenanceBasePage.GetPmSchedule", ex.Message, ex.ToString());
|
||||
return ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
private object GetPMScheduleByID()
|
||||
{
|
||||
try
|
||||
@ -316,17 +345,7 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
var s = Request.Form["ClientData"];
|
||||
var type = JsonConvert.DeserializeObject<MachineItem>(s);
|
||||
|
||||
//MaintenanceMachineInfo[] selected;
|
||||
//if (!string.IsNullOrWhiteSpace(type.VIN))
|
||||
//{
|
||||
// selected = MaintenanceManagement.GetPmMachinesByScheduleId(type.VIN);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// selected = new MaintenanceMachineInfo[0];
|
||||
//}
|
||||
|
||||
var machines = MaintenanceManagement.GetMaintenanceMachines1(session.SessionID, (int)type.MachineID, type.Name, session.User.UID)
|
||||
var machines = MaintenanceManagement.GetMaintenanceMachines(session.SessionID, (int)type.MachineID, type.Name, session.User.UID)
|
||||
//.Where(m => !selected.Any(t => t.MachineID == m.MachineID))
|
||||
.OrderBy(m => m.VIN)
|
||||
.ToArray();
|
||||
@ -336,18 +355,38 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
|
||||
private PMAssetItem[] GetSelectedMachines()
|
||||
{
|
||||
var iid = Request.Form["ClientData"];
|
||||
List<PMAssetItem> result = new List<PMAssetItem>();
|
||||
var assets = CreateClient<PMClient>().GetPMAssets(SystemParams.CompanyID, iid);
|
||||
foreach (var asset in assets)
|
||||
try
|
||||
{
|
||||
PMAssetItem a = new PMAssetItem();
|
||||
Helper.CloneProperty(a, asset);
|
||||
a.EngineHours = asset.CurrentEngineHours;
|
||||
a.Odometer = asset.CurrentOdometer;
|
||||
result.Add(a);
|
||||
var session = GetCurrentLoginSession();
|
||||
if (session != null)
|
||||
{
|
||||
var iid = Request.Form["ClientData"];
|
||||
List<PMAssetItem> result = new List<PMAssetItem>();
|
||||
var assets = CreateClient<PMClient>().GetPMAssets(SystemParams.CompanyID, iid);
|
||||
if (session.User.UserType < Foresight.Fleet.Services.User.UserTypes.Admin)
|
||||
{
|
||||
AssetBasicInfo[] allassets = CreateClient<AssetQueryClient>(SystemParams.CompanyID).GetAssetBasicInfoByUser(SystemParams.CompanyID, "", session.User.UID, 0);
|
||||
var allassetids = allassets.Select(a => a.ID).ToList();
|
||||
assets = assets.Where(a => allassetids.Contains(a.AssetId)).ToArray();
|
||||
}
|
||||
foreach (var asset in assets)
|
||||
{
|
||||
PMAssetItem a = new PMAssetItem();
|
||||
Helper.CloneProperty(a, asset);
|
||||
a.EngineHours = asset.CurrentEngineHours;
|
||||
a.Odometer = asset.CurrentOdometer;
|
||||
result.Add(a);
|
||||
}
|
||||
return result.ToArray();
|
||||
}
|
||||
else
|
||||
return null;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return result.ToArray();
|
||||
}
|
||||
|
||||
private string SaveMachines()
|
||||
@ -409,7 +448,21 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
{
|
||||
public string ModelName { get; set; }
|
||||
public string Notes { get; set; }
|
||||
public double? StartOdometer { get; set; }
|
||||
private double? _StartOdometer;
|
||||
public double? StartOdometer
|
||||
{
|
||||
get
|
||||
{
|
||||
return _StartOdometer;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value != null)
|
||||
_StartOdometer = Math.Round(value.Value, 2);
|
||||
else
|
||||
_StartOdometer = value;
|
||||
}
|
||||
}
|
||||
public double? StartHours { get; set; }
|
||||
public DateTime? StartDate { get; set; }
|
||||
public string TypeName { get; set; }
|
||||
@ -420,7 +473,22 @@ namespace IronIntel.Contractor.Site.Maintenance
|
||||
public string VIN { get; set; }
|
||||
public long AssetId { get; set; }
|
||||
public double? EngineHours { get; set; }
|
||||
public double? Odometer { get; set; }
|
||||
|
||||
private double? _Odometer;
|
||||
public double? Odometer
|
||||
{
|
||||
get
|
||||
{
|
||||
return _Odometer;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value != null)
|
||||
_Odometer = Math.Round(value.Value, 2);
|
||||
else
|
||||
_Odometer = value;
|
||||
}
|
||||
}
|
||||
public string PMScheduleId { get; set; }
|
||||
public int? StartIntervalValue { get; set; }
|
||||
public string StartDateString
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user