/// <summary> /// 展示终端列表(后台)(Zoe) /// </summary> /// <returns></returns> public KeyValuePair<int, IEnumerable<TerminalAll>> GetTerminalList(string SerialNum, int rows, int page) { if (string.IsNullOrWhiteSpace(SerialNum)) SerialNum = ""; IExtensionRepository<NJTerminal> TerminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<NJTerminal>>(); IExtensionRepository<TerminalType> TerminalTypeService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<TerminalType>>(); IExtensionRepository<TerminalUpgradePackage> terminalUpgradePackageRepo = DIFactory.ObjectContainer.Resolve<IExtensionRepository<TerminalUpgradePackage>>(); var TerminalQuery = TerminalService.GetModel(p => p.SerialNum.Contains(SerialNum) ).AsEnumerable(); var TerminalTypeQuery = TerminalTypeService.GetModel().AsEnumerable(); var terminalUpgradePackageQuery = terminalUpgradePackageRepo.GetModel().AsEnumerable(); var query = from u in TerminalQuery from o in TerminalTypeQuery join p in terminalUpgradePackageQuery on o.Id equals p.TerminalTypeId into jop from p in jop.DefaultIfEmpty() where u.TypeId== o.Id orderby u.CreateTime descending select new TerminalAll { Id = u.Id, SerialNum = u.SerialNum, TypeId=o.Id, TypeName=o.TypeName, FirmwareVersion = p!=null? p.Versions:"", SIMNumber = u.SIMNumber!=null?u.SIMNumber.ToString():"", IsDisabled = u.IsDisabled, StartTime = u.StartTime.ToString("yyyy-MM-dd"), AreaId = u.AreaId, OrganizationId = u.OrganizationId, }; IEnumerable<TerminalAll> TerminalList = query.ToList(); int startIndex = (page - 1) * rows; int count = TerminalList.Count(); if (count > rows && rows != -1) { if ((startIndex + rows) > count) TerminalList = TerminalList.Skip(startIndex).Take(count - startIndex); else TerminalList = TerminalList.Skip(startIndex).Take(rows); } KeyValuePair<int, IEnumerable<TerminalAll>> kv = new KeyValuePair<int, IEnumerable<TerminalAll>>(count, TerminalList); return kv; }
public DtoResult<string> InsertTerminal(TerminalInsert model) { DtoResult<string> result = new DtoResult<string>() { Result = false }; IExtensionRepository<AIMS.Model.NJTerminal> TerminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJTerminal>>(); AIMS.Model.NJTerminal Terminal = TerminalService.GetModel().Where(u => u.SerialNum== model.SerialNum).FirstOrDefault(); if (Terminal != null) { result.Message = "该终端序列号已存在!"; return result; } Terminal = TerminalService.GetModel().Where(u => u.SIMNumber== model.SIMNumber).FirstOrDefault(); if (Terminal != null) { result.Message = "该SIM卡号已存在!"; return result; } else { Terminal = new AIMS.Model.NJTerminal() { Id= Guid.NewGuid(), SerialNum =model.SerialNum, TypeId=model.TypeId, SIMNumber=model.SIMNumber, //增加时间项,防止自动生成无效的时间 by:xyong CreateTime=DateTime.Now, StartTime=DateTime.Now, TokenTimesout=DateTime.Now, //end xyong }; } TerminalService.Insert(Terminal); result.Result = true; result.Message = "操作成功!"; return result; }
public TerminalInfo GetTerminalInfo(Guid terId) { TerminalInfo model = null; IExtensionRepository<AIMS.Model.NJTerminal> TerminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJTerminal>>(); var Terminal = TerminalService.Find(terId); if (Terminal!=null) { model = new TerminalInfo(); model.Id = Terminal.Id; model.SerialNum = Terminal.SerialNum; model.TypeId = Terminal.TypeId; model.SIMNumber = Terminal.SIMNumber; } return model; }
/// <summary> ///修改终端(后台)(Zoe) /// </summary> /// <param name="model"></param> /// <returns></returns> public DtoResult<string> UpdateTerminal(TerminalUpdate model) { DtoResult<string> result = new DtoResult<string>() { Result = false }; IExtensionRepository<AIMS.Model.NJTerminal> TerminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJTerminal>>(); AIMS.Model.NJTerminal Terminal = TerminalService.Find(model.Id); if (Terminal != null) { if (Terminal.SerialNum != model.SerialNum&&Terminal.Id!=model.Id) { AIMS.Model.NJTerminal item = TerminalService.GetModel().Where(u => u.SerialNum == model.SerialNum).FirstOrDefault(); if (item != null) { result.Message = "该终端序列号已存在!"; return result; } } if (Terminal.SIMNumber != model.SIMNumber && Terminal.Id != model.Id) { AIMS.Model.NJTerminal item = TerminalService.GetModel().Where(u => u.SIMNumber == model.SIMNumber).FirstOrDefault(); if (item != null) { result.Message = "该SIM卡号已存在!"; return result; } } Terminal.SerialNum = model.SerialNum; Terminal.TypeId = model.TypeId; Terminal.SIMNumber = model.SIMNumber; TerminalService.Update(Terminal); result.Result = true; result.Message = "操作成功!"; return result; } result.Message = "该终端不存在!"; return result; }
/// <summary> /// 删除终端(后台)(Zoe) /// </summary> /// <param name="id"></param> /// <returns></returns> public DtoResult<string> DelTerminal(int id) { DtoResult<string> result = new DtoResult<string>() { Result = false }; IExtensionRepository<AIMS.Model.NJTerminal> TerminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJTerminal>>(); AIMS.Model.NJTerminal item = TerminalService.Find(id); if (item != null) { item.IsDeleted = true; TerminalService.Update(item); result.Result = true; result.Message = "操作成功!"; return result; } result.Message = "终端不存在,传入Id错误!"; return result; }
/// <summary> /// 启用或禁用终端(后台)(Zoe) /// </summary> /// <param name="id"></param> /// <returns></returns> public DtoResult<string> SetTerminalEnabled(Guid id, bool enabled) { DtoResult<string> result = new DtoResult<string>() { Result = false }; IExtensionRepository<AIMS.Model.NJTerminal> TerminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJTerminal>>(); AIMS.Model.NJTerminal item = TerminalService.Find(id); if (item != null) { item.IsDisabled = enabled; TerminalService.Update(item); result.Result = true; result.Message = "操作成功!"; return result; } result.Message = "终端不存在,传入Id错误!"; return result; }
using AIMS.Bussiness.Application.Application.NJTerminalApp; using AIMS.Bussiness.ApplicationDto.Dto; using AIMS.Bussiness.ApplicationDto.NJWorkTasksDto; using AIMS.Bussiness.ApplicationDto.TerminalDto; using AIMS.Bussiness.Interface; using AIMS.Model; using AIMS.Web.Helper; using Common.BaseLibrary.Extension; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Text; using System.Web; using System.Web.Http; namespace AIMS.Web.Api { /// <summary> /// 终端控制器(Zoe) /// </summary> public class NJTerminalController : ApiBaseController { private INJTerminalAppService iNJTerminalAppService = null; public NJTerminalController(INJTerminalAppService njerminalAppService, IAIMSOrganizationService organizationService) : base(organizationService) { this.iNJTerminalAppService = njerminalAppService; } //===================================展示终端列表============================================================ /// <summary> /// 展示终端列表(后台) /// </summary> /// <param name="SerialNum">终端序列号</param> /// <param name="rows">行数</param> /// <param name="page">页码</param> /// <returns></returns> [HttpGet] [Route("api/api/NJTerminal/GetTerminalList")] public DtoResult<GridDto<List<TerminalAll>>> GetTerminalList(string SerialNum, int rows, int page) { KeyValuePair<int, IEnumerable<TerminalAll>> modelList = iNJTerminalAppService.GetTerminalList(SerialNum, rows, page); GridDto<List<TerminalAll>> dto = new GridDto<List<TerminalAll>>(); dto.Total = modelList.Key; dto.Rows = modelList.Value.ToList(); return DtoResultHelper<GridDto<List<TerminalAll>>>.RetDtoResult((int)HttpStatusCode.OK, "成功", true, dto); } /// <summary> /// 展示终端列表(前台)管理员版本 /// </summary> /// <param name="areaId"></param> /// <param name="serialNum"></param> /// <param name="nJNum"></param> /// <param name="rows"></param> /// <param name="page"></param> /// <returns></returns> [HttpGet] [Route("api/api/NJTerminal/ReceptionGetTerminalListM")] public DtoResult<GridDto<List<ReceptionTerminalAll>>> ReceptionGetTerminalListM(string areaId, string serialNum, string nJNum, int rows, int page) { KeyValuePair<int, IEnumerable<ReceptionTerminalAll>> modelList = iNJTerminalAppService.ReceptionGetTerminalListM( areaId, serialNum, nJNum, rows, page); GridDto<List<ReceptionTerminalAll>> dto = new GridDto<List<ReceptionTerminalAll>>(); dto.Total = modelList.Key; dto.Rows = modelList.Value.ToList(); return DtoResultHelper<GridDto<List<ReceptionTerminalAll>>>.RetDtoResult((int)HttpStatusCode.OK, "成功", true, dto); } //------------------------------------------------------------------------------------------------------------------------------------ /// <summary> /// 展示终端列表(前台)合作社版本 /// </summary> /// <param name="orgId"></param> /// <param name="serialNum"></param> /// <param name="nJNum"></param> /// <param name="rows"></param> /// <param name="page"></param> /// <returns></returns> [HttpGet] [Route("api/api/NJTerminal/ReceptionGetTerminalListH")] public DtoResult<GridDto<List<ReceptionTerminalAll>>> ReceptionGetTerminalListH(Guid orgId, string serialNum, string nJNum, int rows, int page) { KeyValuePair<int, IEnumerable<ReceptionTerminalAll>> modelList = iNJTerminalAppService.ReceptionGetTerminalListH(orgId, serialNum, nJNum, rows, page); GridDto<List<ReceptionTerminalAll>> dto = new GridDto<List<ReceptionTerminalAll>>(); dto.Total = modelList.Key; dto.Rows = modelList.Value.ToList(); return DtoResultHelper<GridDto<List<ReceptionTerminalAll>>>.RetDtoResult((int)HttpStatusCode.OK, "成功", true, dto); } //======================================================================================================================= /// <summary> /// 增加前展示通过终端序列号找农机车牌号(前台) /// </summary> /// <param name="serialNum"></param> /// <returns></returns> [HttpGet] [Route("api/api/NJTerminal/ReceptionInsertTerminalFromSerialNum")] public DtoResult<ReceptionBeforeInsertTerminalFromSerialNum> ReceptionInsertTerminalFromSerialNum(string serialNum) { var model = iNJTerminalAppService.ReceptionInsertTerminalFromSerialNum(serialNum); if (model != null) { return DtoResultHelper<ReceptionBeforeInsertTerminalFromSerialNum>.RetDtoResult((int)HttpStatusCode.OK, "成功", true, model); } return DtoResultHelper<ReceptionBeforeInsertTerminalFromSerialNum>.RetDtoResult((int)HttpStatusCode.NotFound, "没有找到对应车牌号", false, null); } /// <summary> /// 增加前展示通过农机车牌号找终端序列号(前台) /// </summary> /// <param name="nJNum"></param> /// <returns></returns> [HttpGet] [Route("api/api/NJTerminal/ReceptionInsertTerminalFromNJNum")] public DtoResult<ReceptionBeforeInsertTerminalFromNJNum> ReceptionInsertTerminalFromNJNum(string nJNum) { var model = iNJTerminalAppService.ReceptionInsertTerminalFromNJNum(nJNum); if (model != null) { return DtoResultHelper<ReceptionBeforeInsertTerminalFromNJNum>.RetDtoResult((int)HttpStatusCode.OK, "成功", true, model); } return DtoResultHelper<ReceptionBeforeInsertTerminalFromNJNum>.RetDtoResult((int)HttpStatusCode.NotFound, "没有找到对应终端序列号", false, null); } //=====================================新增终端====================================================== /// <summary> /// 新增终端(后台) /// </summary> /// <param name="model"></param> /// <returns></returns> [HttpPost] [Route("api/api/NJTerminal/InsertTerminal")] public DtoResult<string> InsertTerminal([FromBody]TerminalInsert model) { DtoResult<string> dtoResult = iNJTerminalAppService.InsertTerminal(model); dtoResult.Code = ((int)(HttpStatusCode.OK)).ToString(); return dtoResult; } /// <summary> /// 新增终端(前台) /// </summary> /// <param name="model"></param> /// <returns></returns> [HttpPost] [Route("api/api/NJTerminal/ReceptionInsertTerminal")] public DtoResult<string> ReceptionInsertTerminal([FromBody]ReceptionTerminalInsert model) { DtoResult<string> dtoResult = iNJTerminalAppService.ReceptionInsertTerminal(model); dtoResult.Code = ((int)(HttpStatusCode.OK)).ToString(); return dtoResult; } //=================================修改前展示终端列表========================================================== /// <summary> /// 修改前展示终端(后台) /// </summary> /// <param name="terId"></param> /// <returns></returns> [HttpGet] [Route("api/api/NJTerminal/GetTerminalInfo")] public DtoResult<TerminalInfo> GetTerminalInfo(string terId) { var id = Guid.Parse(terId); var model = iNJTerminalAppService.GetTerminalInfo(id); if (model != null) { return DtoResultHelper<TerminalInfo>.RetDtoResult((int)HttpStatusCode.OK, "成功", true, model); } return DtoResultHelper<TerminalInfo>.RetDtoResult((int)HttpStatusCode.NotFound, "没有找到对应终端", false, null); } /// <summary> /// 修改前展示终端列表(前台) /// </summary> /// <param name="terId"></param> /// <returns></returns> [HttpGet] [Route("api/api/NJTerminal/GetReceptionTerminalInfo")] public DtoResult<ReceptionTerminalInfo> GetReceptionTerminalInfo(string terId) { var id = Guid.Parse(terId); var model = iNJTerminalAppService.GetReceptionTerminalInfo(id); if (model != null) { return DtoResultHelper<ReceptionTerminalInfo>.RetDtoResult((int)HttpStatusCode.OK, "成功", true, model); } return DtoResultHelper<ReceptionTerminalInfo>.RetDtoResult((int)HttpStatusCode.NotFound, "没有找到对应终端", false, null); } //======================================更改终端=============================================================== /// <summary> /// 更改终端(后台) /// </summary> /// <param name="model"></param> /// <returns></returns> [HttpPost] [Route("api/api/NJTerminal/UpdateTerminal")] public DtoResult<string> UpdateTerminal([FromBody]TerminalUpdate model) { DtoResult<string> dtoResult = iNJTerminalAppService.UpdateTerminal(model); dtoResult.Code = ((int)(HttpStatusCode.OK)).ToString(); return dtoResult; } /// <summary> /// 更改终端(绑定农机)(前台) /// </summary> /// <param name="model"></param> /// <returns></returns> [HttpPost] [Route("api/api/NJTerminal/ReceptionUpdateTerminal")] public DtoResult<string> ReceptionUpdateTerminal([FromBody]ReceptionTerminalUpdate model) { DtoResult<string> dtoResult = iNJTerminalAppService.ReceptionUpdateTerminal(model); dtoResult.Code = ((int)(HttpStatusCode.OK)).ToString(); return dtoResult; } //=======================================删除终端======================================================== /// <summary> /// 删除终端(后台) /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpPost] [Route("api/api/NJTerminal/DelTerminal")] public DtoResult<string> DelTerminal([FromBody]int id) { DtoResult<string> dtoResult = iNJTerminalAppService.DelTerminal(id); dtoResult.Code = ((int)(HttpStatusCode.OK)).ToString(); return dtoResult; } /// <summary> /// 删除终端(前台) /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpPost] [Route("api/api/NJTerminal/ReceptionDelTerminal")] public DtoResult<string> ReceptionDelTerminal([FromBody]int id) { DtoResult<string> dtoResult = iNJTerminalAppService.ReceptionDelTerminal(id); dtoResult.Code = ((int)(HttpStatusCode.OK)).ToString(); return dtoResult; } //===========================================启用或禁用终端========================================================== /// <summary> /// 启用或禁用终端(后台) /// </summary> /// <param name="model">参数{id:终端Id,enabled:是否启用}</param> /// <returns></returns> [HttpPost] [Route("api/api/NJTerminal/SetTerminalEnabled")] public DtoResult<string> SetTerminalEnabled([FromBody]TerminalEnableModel model) { DtoResult<string> dtoResult = iNJTerminalAppService.SetTerminalEnabled(Guid.Parse(model.id), model.enabled); dtoResult.Code = ((int)(HttpStatusCode.OK)).ToString(); return dtoResult; } //=================================================解绑农机(前台)============================================================================ /// <summary> /// 解绑农机(前台) /// </summary> /// <param name="serialNum"></param> /// <returns></returns> [HttpPost] [Route("api/api/NJTerminal/ReceptionUnbindTerminal")] public DtoResult<string> ReceptionUnbindTerminal([FromBody]string serialNum) { DtoResult<string> dtoResult = iNJTerminalAppService.ReceptionUnbindTerminal(serialNum); dtoResult.Code = ((int)(HttpStatusCode.OK)).ToString(); return dtoResult; } /// <summary> /// 通过用户Id,初次加载树,展开第一层节点 /// </summary> /// <param name="userId">用户Id guid</param> /// <returns></returns> [HttpGet] [Route("api/api/NJTerminal/LoadAreaTreeNodeByUserId")] public DtoResult<List<TreeNode>> LoadAreaTreeNodeByUserId(Guid userId) { List<TreeNode> treeNodelList = iNJTerminalAppService.LoadAreaTreeNodeByUserId(userId); return DtoResultHelper<List<TreeNode>>.RetDtoResult((int)HttpStatusCode.OK, "成功", true, treeNodelList); } /// <summary> ///通过区域Id展开树下层节点 /// </summary> /// <param name="code">区域Id</param> /// <returns></returns> [HttpGet] [Route("api/api/NJTerminal/GetAreaTreeNode")] public DtoResult<List<TreeNode>> GetAreaTreeNode(string code) { List<TreeNode> treeNodelList = iNJTerminalAppService.GetAreaTreeNode(code); return DtoResultHelper<List<TreeNode>>.RetDtoResult((int)HttpStatusCode.OK, "成功", true, treeNodelList); } } /// <summary> /// IsTerminalDisabled的参数 /// </summary> public class TerminalEnableModel { /// <summary> /// 终端Id /// </summary> public string id { get; set; } /// <summary> /// 是否启用 /// </summary> public bool enabled { get; set; } } }