using DeviceRepairAndOptimization.Data.Plan; using DeviceRepairAndOptimization.Models; using DeviceRepairAndOptimization.Utils; using Newtonsoft.Json; using System; using System.Collections.Generic; namespace DeviceRepairAndOptimization.Data { public class PlanMaintenance { private static PlanMaintenance manager; public static PlanMaintenance Instance { get { if (manager == null) manager = new PlanMaintenance(); return manager; } } /// /// 获取全部数据 /// /// public List GetAll() { List lst = null; try { switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api APIResponseData result = ApiHelper.Instance.SendMessage(new CsharpHttpHelper.HttpItem { URL = ServiceRoute.GetAllPlans, Method = "Post", ContentType = "application/json; charset=utf-8" }); if (result.Code == 1) { lst = JsonConvert.DeserializeObject>(result.Data + ""); } else { throw new Exception(result.Message); } #endregion break; case "sql": #region sql lst = PlanAccess.Instance().GetAll(); #endregion break; default: break; } } catch (Exception ex) { throw ex; } return lst; } public APIResponseData Single(int AutoID) { APIResponseData api = new APIResponseData { Code = -1, Message = "获取数据失败!" }; try { switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api api = ApiHelper.Instance.SendMessage(new CsharpHttpHelper.HttpItem { URL = ServiceRoute.GetSinglePlan, Method = "Post", ContentType = "application/json; charset=utf-8", Postdata = JsonConvert.SerializeObject(new { autoid = AutoID }), }); #endregion break; case "sql": #region sql api = PlanAccess.Instance().Single(AutoID); #endregion break; default: break; } } catch (Exception ex) { throw ex; } return api; } /// /// 获取本月保养计划 /// /// public List GetTipsPlan() { List lst = null; try { switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api APIResponseData result = ApiHelper.Instance.SendMessage(new CsharpHttpHelper.HttpItem { URL = ServiceRoute.GetCurrentMonthPlanByYear, Method = "Post", ContentType = "application/json; charset=utf-8" }); if (result.Code == 1) { lst = JsonConvert.DeserializeObject>(result.Data + ""); } else { throw new Exception(result.Message); } #endregion break; case "sql": #region sql lst = PlanAccess.Instance().GetTipsPlan(); #endregion break; default: break; } } catch (Exception ex) { throw ex; } return lst; } /// /// 批量插入数据 /// /// /// public int InsertDatas(List lst) { int Count = 0; try { switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": string postData = JsonConvert.SerializeObject(new { datas = lst }); APIResponseData result = ApiHelper.Instance.PostWebRequest(ServiceRoute.InsertDataBulk, postData, GlobalInfo.token); if (result.Code == 1) { int.TryParse(result.Data + "", out Count); } else { throw new Exception(result.Message); } break; case "sql": Count = PlanAccess.Instance().InsertDatas(lst); break; default: break; } } catch (Exception ex) { throw ex; } return Count; } /// /// 删除 /// /// /// public int Delete(int Year, int EquipmentAutoID) { int Count = 0; try { switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": APIResponseData result = ApiHelper.Instance.SendMessage( new CsharpHttpHelper.HttpItem { URL = ServiceRoute.DeletePlanByPrimaryKey, Method = "Post", ContentType = "application/json; charset=utf-8", Postdata = JsonConvert.SerializeObject(new { Year = Year, EquipmentAutoID = EquipmentAutoID }) } ); if (result.Code == 1) { int.TryParse(result.Data + "", out Count); } else { throw new Exception(result.Message); } break; case "sql": Count = PlanAccess.Instance().Delete(Year, EquipmentAutoID); break; default: break; } } catch (Exception ex) { throw ex; } return Count; } /// /// 根据设备主键ID取指定年份计划数据 /// /// /// /// public View_AnnualMaintenancePlan GetDataByEquipmentAutoIdOnYear(int Year, int EquipmentAutoID) { View_AnnualMaintenancePlan view = null; try { switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": APIResponseData result = ApiHelper.Instance.SendMessage( new CsharpHttpHelper.HttpItem { URL = ServiceRoute.GetDataByEquipmentAutoIdOnYear, Method = "Post", ContentType = "application/json; charset=utf-8", Postdata = JsonConvert.SerializeObject(new { Year = Year, EquipmentAutoID = EquipmentAutoID }) } ); if (result.Code == 1) { view = JsonConvert.DeserializeObject(result.Data + ""); } else { throw new Exception(result.Message); } break; case "sql": view = PlanAccess.Instance().GetDataByEquipmentAutoIdOnYear(Year, EquipmentAutoID); break; default: break; } } catch (Exception ex) { throw ex; } return view; } /// /// 获取所有年计划 /// /// public List GetList() { List lst = null; try { switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api APIResponseData result = ApiHelper.Instance.SendMessage(new CsharpHttpHelper.HttpItem { URL = ServiceRoute.GetAllPlans2, Method = "Post", ContentType = "application/json; charset=utf-8" }); if (result.Code == 1) { lst = JsonConvert.DeserializeObject>(result.Data + ""); } else { throw new Exception(result.Message); } #endregion break; case "sql": #region sql lst = PlanAccess.Instance().GetList(); #endregion break; default: break; } } catch (Exception ex) { throw ex; } return lst; } /// /// 导出EXCEL的数据 /// /// public List ExportXlsxDatas(int Year) { List lst = null; try { switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api APIResponseData result = ApiHelper.Instance.SendMessage(new CsharpHttpHelper.HttpItem { URL = ServiceRoute.GetExcelDatas, Method = "Post", ContentType = "application/json; charset=utf-8",//返回类型 可选项有默认值 Postdata = JsonConvert.SerializeObject(new { Year = Year }) }); if (result.Code == 1) { lst = JsonConvert.DeserializeObject>(result.Data + ""); } else { throw new Exception(result.Message); } #endregion break; case "sql": #region sql lst = PlanAccess.Instance().ExportXlsxDatas(); #endregion break; default: break; } } catch (Exception ex) { throw ex; } return lst; } } }