using CsharpHttpHelper; using DeviceRepair.DataAccess; using DeviceRepair.Models; using DeviceRepair.Models.Common; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace DeviceRepairAndOptimization.Biz { /// /// 保养计划 /// public class PlanManager { private static PlanManager manager; public static PlanManager Instance { get { if (manager == null) manager = new PlanManager(); return manager; } } /// /// 保养计划批量新增数据 /// /// /// public APIResponseData InsertDatas(List lst) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "操作失败!" }; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRouteConstValue.PlanDataInsertRange, Method = "Post", ContentType = "application/json;charset=utf-8", Postdata = JsonConvert.SerializeObject(lst) }); break; default: apiResponseData = PlanAccess.Instance.InsertDatas(lst, GlobalInfo.OperationInfo); break; } } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 获取当前年月的待保修项 /// /// public APIResponseData GetCurrentMonthPlanTips() { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "未能获取到数据!" }; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRouteConstValue.GetCurrentMonthPlanItems, Method = "Get", ContentType = "application/json;charset=utf-8" }); break; default: apiResponseData = PlanAccess.Instance.GetCurrentMonthPlanTips(); break; } return apiResponseData; } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 当前年度计划完成进度 /// /// /// public CurrentYearPlanSchedule GetCurrentYearPlanSchedule() { CurrentYearPlanSchedule schedule = null; APIResponseData apiResponseData = new APIResponseData { Code = -1 }; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRouteConstValue.GetCurrentYearPlanSchedule, Method = "GET", ContentType = "application/json;charset=utf-8" }); break; default: apiResponseData = PlanAccess.Instance.GetCurrentYearPlanSchedule(); break; } if (apiResponseData.Code == 1) schedule = JsonConvert.DeserializeObject(apiResponseData.Data + ""); return schedule; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } return schedule; } /// /// 获取当前年月的待保修项数量 /// /// /// public int GetCurrentMonthPlanTipsCount(ResultHandler handler) { int Count = -1; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": ApiHelper.Instance.SendMessageAsync(new HttpItem { URL = ServiceRouteConstValue.GetCurrentMonthPlanItemCount, Method = "GET", ContentType = "application/json;charset=utf-8" }, handler); break; default: APIResponseData apiResponseData = PlanAccess.Instance.GetCurrentMonthPlanTipsCountAsync(); Count = apiResponseData.ToInt(); break; } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } return Count; } /// /// 根据设备主键ID取指定年份计划数据 /// /// /// /// public AnnualMaintenancePlan GetPlanByEquipmentPkAndYear(int Year, int EquipmentAutoID) { APIResponseData apiResponseData = null; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = $"{ServiceRouteConstValue.GetPlanByEquipmentPkAndYear}?Year={Year}&EquipmentAutoID={EquipmentAutoID}", Method = "Get", ContentType = "application/json; charset=utf-8" }); break; default: apiResponseData = PlanAccess.Instance.GetDataByEquipmentAutoIdOnYear(Year, EquipmentAutoID); break; } if (apiResponseData.Code == 1) return JsonConvert.DeserializeObject(apiResponseData.Data + ""); else throw new Exception(apiResponseData.Message); } catch (Exception ex) { throw ex; } } /// /// 获取所有年计划 /// /// public List GetDatas() { APIResponseData apiResponseData = null; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRouteConstValue.GetAllPlans, Method = "Get", ContentType = "application/json; charset=utf-8" }); break; default: apiResponseData = PlanAccess.Instance.GetAllPlans(); break; } if (apiResponseData.Code == 1) return JsonConvert.DeserializeObject>(apiResponseData.Data + ""); else throw new Exception(apiResponseData.Message); } catch (Exception ex) { throw ex; } } /// /// 导出EXCEL的数据 /// /// /// public List ExportXlsxDatas(int Year, string RootName = "KH") { APIResponseData apiResponseData = null; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRouteConstValue.GetExcelExportDatasByYear + "?Year=" + Year + "&RootName=" + RootName, Method = "Get", ContentType = "application/json; charset=utf-8" }); break; default: apiResponseData = PlanAccess.Instance.ExportXlsxDatas(Year, RootName); break; } if (apiResponseData.Code == 1) return JsonConvert.DeserializeObject>(apiResponseData.Data + ""); else throw new Exception(apiResponseData.Message); } catch (Exception ex) { throw ex; } } /// /// 获取当前计划是否存的保养记录 /// /// /// /// public APIResponseData GetPlanRecordProgress(int EquipmentAutoID, int Year) { APIResponseData apiResponseData = null; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": apiResponseData = ApiHelper.Instance.SendMessage( new HttpItem { URL = $"{ServiceRouteConstValue.GetPlanRecordProgress}?EquipmentAutoID={EquipmentAutoID}&Year={Year}", Method = "Get", ContentType = "application/json; charset=utf-8", } ); break; default: apiResponseData = PlanAccess.Instance.GetPlanRecordProgress(EquipmentAutoID, Year); break; } } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 删除计划 /// /// /// /// public APIResponseData DeleteByYearAndEquipmentPk(int Year, int EquipmentAutoID) { APIResponseData apiResponseData = null; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": apiResponseData = ApiHelper.Instance.SendMessage( new HttpItem { URL = $"{ServiceRouteConstValue.DeleteByYearAndEquipmentPk}?Year={Year}&EquipmentAutoID={EquipmentAutoID}", Method = "Post", ContentType = "application/json; charset=utf-8", Postdata = JsonConvert.SerializeObject(new { Year, EquipmentAutoID }) } ); break; default: apiResponseData = PlanAccess.Instance.DeleteByYearAndEquipmentPk(Year, EquipmentAutoID); break; } return apiResponseData; } catch (Exception ex) { throw ex; } } /// /// 获取设备在年度的全部保养信息 /// /// /// /// public APIResponseData GetDeviceInformationPlans(int Year, int EquipmentAutoID) { APIResponseData apiResponseData = null; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": apiResponseData = ApiHelper.Instance.SendMessage( new HttpItem { URL = $"{ServiceRouteConstValue.GetDeviceInformationPlans}?Year={Year}&EquipmentAutoID={EquipmentAutoID}", Method = "Get", ContentType = "application/json; charset=utf-8", Postdata = JsonConvert.SerializeObject(new { Year, EquipmentAutoID }) } ); break; default: apiResponseData = PlanAccess.Instance.GetDeviceInformationPlans(EquipmentAutoID, Year); break; } return apiResponseData; } catch (Exception ex) { throw ex; } } } }