using AIMS.Bussiness.ApplicationDto.Dto; using AIMS.Bussiness.ApplicationDto.NJWorkTasksDto; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AIMS.Bussiness.Application.Application.NJTerminalApp { public interface INJTerminalAppService { //=============================================展示终端列表================================================================ /// <summary> /// 显示终端列表(后台)(Zoe) /// </summary> /// <param name="pageRows"></param> /// <param name="page"></param> /// <returns></returns> KeyValuePair<int, IEnumerable<TerminalAll>> GetTerminalList(string SerialNum, int pageRows, int page); /// <summary> /// 展示终端列表(前台) /// </summary> /// <param name="userId"></param> /// <param name="serialNum"></param> /// <param name="nJNum"></param> /// <param name="rows"></param> /// <param name="page"></param> /// <returns></returns> KeyValuePair<int, IEnumerable<ReceptionTerminalAll>> ReceptionGetTerminalListM(string areaId, string serialNum, string nJNum, int rows, int page); KeyValuePair<int, IEnumerable<ReceptionTerminalAll>> ReceptionGetTerminalListH(Guid orgId, string serialNum, string nJNum, int rows, int page); /// <summary> /// 增加终端前展示(前台) /// </summary> /// <param name="model"></param> /// <returns></returns> ReceptionBeforeInsertTerminalFromSerialNum ReceptionInsertTerminalFromSerialNum(string serialNum); ReceptionBeforeInsertTerminalFromNJNum ReceptionInsertTerminalFromNJNum(string nJNum); //=========================================================增加终端======================================================== /// <summary> /// 增加终端(后台)(Zoe) /// </summary> /// <param name="model"></param> /// <returns></returns> DtoResult<string> InsertTerminal(TerminalInsert model); /// <summary> /// 增加终端(前台)(Zoe) /// </summary> /// <param name="model"></param> /// <returns></returns> DtoResult<string> ReceptionInsertTerminal(ReceptionTerminalInsert model); //========================================修改前展示终端列表========================================================================= /// <summary> /// 修改前展示终端列表(后台) /// </summary> /// <param name="terId"></param> /// <returns></returns> TerminalInfo GetTerminalInfo(Guid terId); /// <summary> /// 修改前展示终端列表(前台) /// </summary> /// <param name="terId"></param> /// <returns></returns> ReceptionTerminalInfo GetReceptionTerminalInfo(Guid terId); //============================================修改终端=========================================================== /// <summary> /// 修改终端(后台)(Zoe) /// </summary> /// <param name="model"></param> /// <returns></returns> DtoResult<string> UpdateTerminal(TerminalUpdate model); /// <summary> /// 修改终端(前台)(Zoe) /// </summary> /// <param name="model"></param> /// <returns></returns> DtoResult<string> ReceptionUpdateTerminal(ReceptionTerminalUpdate model); //============================================删除终端==================================================================== /// <summary> /// 删除终端(后台)(Zoe) /// </summary> /// <param name="id"></param> /// <returns></returns> DtoResult<string> DelTerminal(int id); /// <summary> /// 删除终端(前台)(Zoe) /// </summary> /// <param name="id"></param> /// <returns></returns> DtoResult<string> ReceptionDelTerminal(int id); //================================================启用或禁用终端================================================================= /// <summary> /// 启用或禁用终端(后台)(Zoe) /// </summary> /// <param name="id"></param> /// <param name="disabled"></param> /// <returns></returns> DtoResult<string> SetTerminalEnabled(Guid id, bool enabled); //============================================解绑终端=================================================== DtoResult<string> ReceptionUnbindTerminal(string serialNum); #region 区域树 List<TreeNode> LoadAreaTreeNodeByUserId(Guid userId); List<TreeNode> GetAreaTreeNode(string code); #endregion } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using AIMS.Bussiness.Interface; using AIMS.Bussiness.ApplicationDto.NJWorkTasksDto; using AIMS.Bussiness.ApplicationDto.Dto; using Common.BaseLibrary.Unity; using Microsoft.Practices.Unity; using AIMS.Model; using Common.IRepositories; using AIMS.Bussiness.ApplicationDto.Enum; using AIMS.Bussiness.Application.Application.WorkDefaultConfigApp; namespace AIMS.Bussiness.Application.Application.NJTerminalApp { /// <summary> /// 作者:Zoe /// 时间:2017/10/31 /// 描述:终端应用层服务 /// </summary> public class NJTerminalAppService:INJTerminalAppService { /// <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.SerialNum 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.IsDisabled?"": 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; } //========================================================================================================================= /// <summary> /// 展示终端(前台)(Zoe)管理员版本 /// </summary> /// <param name="AreaId"></param> /// <param name="SerialNum"></param> /// <param name="NJNum"></param> /// <param name="pageRows"></param> /// <param name="page"></param> /// <returns></returns> public KeyValuePair<int, IEnumerable<ReceptionTerminalAll>> ReceptionGetTerminalListM(string areaId, string serialNum, string nJNum, int rows, int page) { if (string.IsNullOrWhiteSpace(serialNum)) serialNum = ""; if (string.IsNullOrWhiteSpace(nJNum)) nJNum = ""; IExtensionRepository<NJTerminal> TerminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<NJTerminal>>(); IExtensionRepository<NJ> NJService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<NJ>>(); IExtensionRepository<AIMS.Model.NJWorkDefaultConfig> NJWorkDefaultConfigService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJWorkDefaultConfig>>(); IExtensionRepository<Org> orgService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<Org>>(); IExtensionRepository<User> userService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<User>>(); var TerminalQuery = TerminalService.GetModel(p => p.IsDeleted!=true && p.SerialNum.Contains(serialNum) && p.AreaId==areaId).AsEnumerable(); var NJQuery = NJService.GetModel(p => p.NJNum.Contains(nJNum)).AsEnumerable(); var njWorkDefaultConfigQuery = NJWorkDefaultConfigService.GetModel().AsEnumerable(); var orgList = orgService.GetModel().Where(p => p.IsDisabled != true).ToList(); var userList = userService.GetModel().Where(p => p.IsDeleted != true).ToList(); //var query = from n in NJWorkDefaultConfigQuery join // u in TerminalQuery on n.TaskTerminalID equals u.Id // join p in NJQuery on n.TaskNJID equals p.Id // where n.TaskTerminalID == u.Id && n.TaskNJID== p.Id // select new ReceptionTerminalAll // { // Id = u.Id, // SerialNum = u.SerialNum, // StartTime = u.StartTime.ToString("yyyy-MM-dd"), // IsDisabled = u.IsDisabled, // NJNum=p.NJNum, // AreaId = u.AreaId, // OrganizationId = u.OrganizationId, // Owner=p.Owner, // }; var query = from u in TerminalQuery join c in njWorkDefaultConfigQuery on u.Id equals c.TaskTerminalID into juc from c in juc.DefaultIfEmpty() join n in NJQuery on new { id= (c != null ? c.TaskNJID : 0) } equals new { id = n.Id } into jtn from n in jtn.DefaultIfEmpty() join o in orgList on u.OrganizationId equals o.Id into juo from o in juo.DefaultIfEmpty() join p in userList on u.UserId equals p.Id into jup from p in jup.DefaultIfEmpty() where (nJNum!="" && n!=null && n.NJNum!="") || nJNum=="" select new ReceptionTerminalAll { Id = u.Id, SerialNum = u.SerialNum, StartTime = u.IsDisabled?"": u.StartTime.ToString("yyyy-MM-dd"), IsDisabled = u.IsDisabled, NJNum = n != null ? n.NJNum : "", AreaId = u.AreaId, OrganizationId = u.OrganizationId, Owner = o != null ? o.Name : (p != null ? p.Name : "") }; IEnumerable<ReceptionTerminalAll> 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<ReceptionTerminalAll>> kv = new KeyValuePair<int, IEnumerable<ReceptionTerminalAll>>(count, TerminalList); return kv; } //--------------------------------------------------------------------------------------------------------------------------------------------------------------- /// <summary> /// 展示终端(前台)(Zoe)合作社版本 /// </summary> /// <param name="orgId"></param> /// <param name="serialNum"></param> /// <param name="nJNum"></param> /// <param name="rows"></param> /// <param name="page"></param> /// <returns></returns> public KeyValuePair<int, IEnumerable<ReceptionTerminalAll>> ReceptionGetTerminalListH(Guid orgId, string serialNum, string nJNum, int rows, int page) { if (string.IsNullOrWhiteSpace(serialNum)) serialNum = ""; if (string.IsNullOrWhiteSpace(nJNum)) nJNum = ""; IExtensionRepository<NJTerminal> TerminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<NJTerminal>>(); IExtensionRepository<NJ> NJService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<NJ>>(); IExtensionRepository<AIMS.Model.NJWorkDefaultConfig> NJWorkDefaultConfigService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJWorkDefaultConfig>>(); IExtensionRepository<Org> orgService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<Org>>(); var TerminalQuery = TerminalService.GetModel(p => p.IsDeleted != true && p.SerialNum.Contains(serialNum) && p.OrganizationId == orgId).AsEnumerable(); var org = orgService.Find(orgId); var NJQuery = NJService.GetModel(p => p.NJNum.Contains(nJNum)).AsEnumerable(); var njWorkDefaultConfigQuery = NJWorkDefaultConfigService.GetModel().AsEnumerable(); //var query = from n in NJWorkDefaultConfigQuery // join u in TerminalQuery on n.TaskTerminalID equals u.Id // join p in NJQuery on n.TaskNJID equals p.Id // where n.TaskTerminalID == u.Id && n.TaskNJID == p.Id // select new ReceptionTerminalAll // { // Id = u.Id, // SerialNum = u.SerialNum, // StartTime = u.StartTime.ToString("yyyy-MM-dd"), // IsDisabled = u.IsDisabled, // NJNum = p.NJNum, // AreaId = u.AreaId, // OrganizationId = u.OrganizationId, // Owner = p.Owner, // }; var query = from u in TerminalQuery join c in njWorkDefaultConfigQuery on u.Id equals c.TaskTerminalID into juc from c in juc.DefaultIfEmpty() join n in NJQuery on new { id = (c != null ? c.TaskNJID : 0) } equals new { id = n.Id } into jtn from n in jtn.DefaultIfEmpty() where (nJNum != "" && n != null && n.NJNum != "") || nJNum == "" select new ReceptionTerminalAll { Id = u.Id, SerialNum = u.SerialNum, StartTime = u.IsDisabled ? "" : u.StartTime.ToString("yyyy-MM-dd"), IsDisabled = u.IsDisabled, NJNum = n!=null?n.NJNum:"", AreaId = u.AreaId, OrganizationId = u.OrganizationId, Owner = org!=null?org.Name:"", }; IEnumerable<ReceptionTerminalAll> 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<ReceptionTerminalAll>> kv = new KeyValuePair<int, IEnumerable<ReceptionTerminalAll>>(count, TerminalList); return kv; } //====================================================================================================================== /// <summary> /// 增加前展示通过终端序列号找农机车牌号(前台) /// </summary> /// <param name="serialNum"></param> /// <returns></returns> public ReceptionBeforeInsertTerminalFromSerialNum ReceptionInsertTerminalFromSerialNum(string serialNum) { ReceptionBeforeInsertTerminalFromSerialNum model = null; IExtensionRepository<AIMS.Model.NJ> NJService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJ>>(); var NJ = NJService.GetModel().Where(p => p.NJIDCode == serialNum).FirstOrDefault(); if (NJ == null) { } return model; } //========================================================================================================================================== /// <summary> /// 增加前展示通过农机车牌号找终端序列号(前台) /// </summary> /// <param name="nJNum"></param> /// <returns></returns> public ReceptionBeforeInsertTerminalFromNJNum ReceptionInsertTerminalFromNJNum(string nJNum) { ReceptionBeforeInsertTerminalFromNJNum model = null; IExtensionRepository<NJTerminal> TerminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<NJTerminal>>(); IExtensionRepository<AIMS.Model.NJ> NJService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJ>>(); var NJ = NJService.GetModel().Where(p => p.NJNum == nJNum&&p.NJIDCode!=null && p.NJIDCode != "" && p.NJIDCode != "NJIDCode").FirstOrDefault(); if (NJ != null) { model.SerialNum = NJ.NJIDCode; } return model; } //==================================================================================================================================== /// <summary> /// 增加终端(后台)(Zoe) /// </summary> /// <param name="model"></param> /// <returns></returns> 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, IsDisabled=true, //增加时间项,防止自动生成无效的时间 by:xyong CreateTime=DateTime.Now, StartTime=DateTime.MinValue, TokenTimesout=DateTime.Now, //end xyong }; } TerminalService.Insert(Terminal); result.Result = true; result.Message = "操作成功!"; return result; } //=========================================================================================== /// <summary> /// 增加终端(前台)(Zoe) /// </summary> /// <param name="model"></param> /// <returns></returns> public DtoResult<string> ReceptionInsertTerminal(ReceptionTerminalInsert model) { DtoResult<string> result = new DtoResult<string>() { Result = false }; IExtensionRepository<AIMS.Model.User> userService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.User>>(); IExtensionRepository<Org> orgService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<Org>>(); IExtensionRepository<AIMS.Model.NJTerminal> terminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJTerminal>>(); IExtensionRepository<AIMS.Model.NJ> njService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJ>>(); IExtensionRepository<AIMS.Model.NJWorkDefaultConfig> njWorkDefaultConfigService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJWorkDefaultConfig>>(); IWorkDefaultConfigAppService workDefaultConfigService = DIFactory.ObjectContainer.Resolve<IWorkDefaultConfigAppService>();//接口注入 Org org = null; User user = userService.Find(model.UserId); if (user != null) { org = orgService.Find(user.OrganizationId); } else { result.Message = "无效的用户标识!"; return result; } AIMS.Model.NJTerminal terminal = terminalService.GetModel().Where(u => u.SerialNum == model.SerialNum).FirstOrDefault(); if (terminal == null ) { result.Message = "该终端序列号未在系统中登记!"; return result; } NJWorkDefaultConfig workDefaultConfig = njWorkDefaultConfigService.GetModel().Where(u => u.TaskTerminalID == terminal.Id).FirstOrDefault(); if (workDefaultConfig != null) { result.Message = "该终端序列号已被绑定!"; return result; } AIMS.Model.NJ nj = null; if (!string.IsNullOrWhiteSpace(model.NJNum)) { nj = njService.GetModel().Where(u => u.NJNum == model.NJNum).FirstOrDefault(); if (nj == null) { result.Message = "该农机不存在!"; return result; } if(org!=null && nj.OrganizationId != org.Id) { result.Message = "该农机不属于本组织!"; return result; } if (org == null && nj.OrganizationId == null && nj.Owner != user.Name)//TODO: nj表中没有用户Id,这里用了 { result.Message = "该农机不属于本用户!"; return result; } workDefaultConfig = njWorkDefaultConfigService.GetModel().Where(u => u.TaskNJID == nj.Id).FirstOrDefault(); if (workDefaultConfig != null) { result.Message = "农机已被绑定!"; return result; } } if (org!=null) { //操作人员归属合作社 if((terminal.OrganizationId!=null && terminal.OrganizationId != org.Id) || terminal.UserId!=null) { result.Message = "该终端不属于本组织!"; return result; } if (terminal.OrganizationId == org.Id) { result.Message = "该终端已属于本组织,无需再次添加!"; return result; } terminal.OrganizationId = org.Id; terminal.AreaId = org.AreaId; terminal.UserId = null; terminalService.Update(terminal); } else { //有农机的散户 if ((terminal.UserId != null && terminal.UserId != user.Id) || terminal.OrganizationId!=null) { result.Message = "该终端不属于本用户!"; return result; } if(terminal.UserId==user.Id) { result.Message = "该终端已属于本用户,无需再次添加!"; return result; } terminal.OrganizationId = null; terminal.AreaId = user.AreaId; terminal.UserId = user.Id; terminalService.Update(terminal); } if (nj==null) { result.Result = true; result.Message = "操作成功!"; return result; } var bing = njWorkDefaultConfigService.GetModel().FirstOrDefault(p => p.TaskNJID == nj.Id && p.TaskTerminalID == terminal.Id); if (bing != null && nj.NJIDCode == terminal.Id.ToString()) { result.Message = "此终端号与车牌号原先就是绑定的,无需再次绑定!"; return result; } //var oldBind = njWorkDefaultConfigService.GetModel().FirstOrDefault(p => p.TaskTerminalID == terminal.Id); //if (oldBind != null) //{ // var oldNj = njService.GetModel().FirstOrDefault(p=>p.Id==oldBind.TaskNJID); // oldNj.NJIDCode = ""; // njService.Update(oldNj); //} //AIMS.Model.NJ oldNJOfTeminal = njService.GetModel().Where(u => u.NJIDCode == model.SerialNum).FirstOrDefault(); //if (oldNJOfTeminal != null) //{ // oldNJOfTeminal.NJIDCode = ""; // njService.Update(oldNJOfTeminal); //} //var list = njWorkDefaultConfigService.GetModel().Where(u => u.TaskTerminalID == terminal.Id || u.TaskNJID==nj.Id).ToList(); //if (list.Count > 0) //{ // njWorkDefaultConfigService.Delete(list); //} result = workDefaultConfigService.BingingWorkDefault(nj.Id, terminal.Id); //result.Result = true; //result.Message = "操作成功!"; return result; } //============================================================================================= /// <summary> /// 修改终端前展示(后台) /// </summary> /// <param name="terId"></param> /// <returns></returns> 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> /// 修改终端前展示(前台) /// </summary> /// <param name="terId"></param> /// <returns></returns> public ReceptionTerminalInfo GetReceptionTerminalInfo(Guid terId) { ReceptionTerminalInfo model = null; IExtensionRepository<AIMS.Model.NJTerminal> TerminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJTerminal>>(); IExtensionRepository<AIMS.Model.NJ> NJService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJ>>(); IExtensionRepository<NJWorkDefaultConfig> njWorkDefaultConfigRepo = DIFactory.ObjectContainer.Resolve<IExtensionRepository<NJWorkDefaultConfig>>(); var Terminal = TerminalService.Find(terId); if (Terminal != null) { model = new ReceptionTerminalInfo(); model.Id = Terminal.Id; model.SerialNum = Terminal.SerialNum; model.StartTime = Terminal.IsDisabled ? "" : Terminal.StartTime.ToString("yyyy-MM-dd"); model.IsDisabled = Terminal.IsDisabled; var njWorkDefaultConfig = njWorkDefaultConfigRepo.GetModel().FirstOrDefault(p=>p.TaskTerminalID==Terminal.Id); if (njWorkDefaultConfig != null) { var NJ = NJService.GetModel().Where(p => p.Id == njWorkDefaultConfig.TaskNJID).FirstOrDefault(); if (NJ != null) { model.NJNum = NJ.NJNum; } } } 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="model"></param> /// <returns></returns> public DtoResult<string> ReceptionUpdateTerminal(ReceptionTerminalUpdate model) { DtoResult<string> result = new DtoResult<string>() { Result = false }; IExtensionRepository<AIMS.Model.User> userService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.User>>(); IExtensionRepository<Org> orgService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<Org>>(); IExtensionRepository<AIMS.Model.NJTerminal> terminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJTerminal>>(); IExtensionRepository<AIMS.Model.NJ> njService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJ>>(); IExtensionRepository<AIMS.Model.NJWorkDefaultConfig> njWorkDefaultConfigService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJWorkDefaultConfig>>(); IWorkDefaultConfigAppService workDefaultConfigService = DIFactory.ObjectContainer.Resolve<IWorkDefaultConfigAppService>(); AIMS.Model.NJTerminal oldTerminal = terminalService.Find(model.Id); if (oldTerminal != null) { Org org = null; User user = userService.Find(model.UserId); if (user != null) { org = orgService.Find(user.OrganizationId); } else { result.Message = "无效的用户标识!"; return result; } AIMS.Model.NJTerminal terminal = terminalService.GetModel().Where(u => u.SerialNum == model.SerialNum).FirstOrDefault(); if (terminal == null) { result.Message = "该终端序列号未登记!"; return result; } NJWorkDefaultConfig workDefaultConfig = njWorkDefaultConfigService.GetModel().Where(u => u.TaskTerminalID == terminal.Id && u.TaskTerminalID!=oldTerminal.Id).FirstOrDefault(); if (workDefaultConfig != null) { result.Message = "该终端序列号已被绑定!"; return result; } AIMS.Model.NJ nj = null; if (!string.IsNullOrWhiteSpace(model.NJNum)) { nj = njService.GetModel().Where(u => u.NJNum == model.NJNum).FirstOrDefault(); if (nj == null) { result.Message = "该农机车牌号未登记!"; return result; } if (org != null && nj.OrganizationId != org.Id) { result.Message = "该车牌号不属于本组织!"; return result; } if (org == null && nj.OrganizationId == null && nj.Owner != user.Name)//TODO: nj表中没有用户Id,这里用了 { result.Message = "该车牌号不属于本用户!"; return result; } workDefaultConfig = njWorkDefaultConfigService.GetModel().Where(u => u.TaskNJID == nj.Id && u.TaskTerminalID!=oldTerminal.Id).FirstOrDefault(); if (workDefaultConfig != null) { result.Message = "农机已被绑定!"; return result; } } if (terminal.Id != oldTerminal.Id) { if (org != null) { //操作人员归属合作社 if ((terminal.OrganizationId != null && terminal.OrganizationId != org.Id) || terminal.UserId != null) { result.Message = "该终端序列号不属于本组织!"; return result; } if (terminal.OrganizationId == org.Id) { result.Message = "填写的终端序列号已属于本组织,不允许重复!"; return result; } //解绑原先的绑定 var oldBind0 = njWorkDefaultConfigService.GetModel().FirstOrDefault(p => p.TaskTerminalID == oldTerminal.Id); if (oldBind0 != null) { var oldNj = njService.GetModel().FirstOrDefault(p => p.Id == oldBind0.TaskNJID); oldNj.NJIDCode = ""; njService.Update(oldNj); } var list = njWorkDefaultConfigService.GetModel().Where(u => u.TaskTerminalID == oldTerminal.Id).ToList(); if (list.Count > 0) { njWorkDefaultConfigService.Delete(list); } oldTerminal.OrganizationId = null; oldTerminal.UserId = null; oldTerminal.AreaId = null; terminalService.Update(oldTerminal); //新的 terminal.OrganizationId = org.Id; terminal.AreaId = org.AreaId; terminal.UserId = null; terminalService.Update(terminal); } else { //有农机的散户 if ((terminal.UserId != null && terminal.UserId != user.Id) || terminal.OrganizationId != null) { result.Message = "该终端序列号不属于本用户!"; return result; } if (terminal.UserId == user.Id) { result.Message = "填写的终端序列号已属于本用户,不允许重复!"; return result; } //解绑原先的绑定 var oldBind0 = njWorkDefaultConfigService.GetModel().FirstOrDefault(p => p.TaskTerminalID == oldTerminal.Id); if (oldBind0 != null) { var oldNj = njService.GetModel().FirstOrDefault(p => p.Id == oldBind0.TaskNJID); oldNj.NJIDCode = ""; njService.Update(oldNj); } var list = njWorkDefaultConfigService.GetModel().Where(u => u.TaskTerminalID == oldTerminal.Id).ToList(); if (list.Count > 0) { njWorkDefaultConfigService.Delete(list); } oldTerminal.OrganizationId = null; oldTerminal.UserId = null; oldTerminal.AreaId = null; terminalService.Update(oldTerminal); //新的 terminal.OrganizationId = null; terminal.AreaId = user.AreaId; terminal.UserId = user.Id; terminalService.Update(terminal); } } if (nj==null) { result.Result = true; result.Message = "操作成功!"; return result; } var bing = njWorkDefaultConfigService.GetModel().FirstOrDefault(p => p.TaskNJID == nj.Id && p.TaskTerminalID == terminal.Id); if (bing != null && nj.NJIDCode == terminal.Id.ToString()) { result.Message = "此终端号与车牌号原先就是绑定的,无需再次绑定!"; return result; } var oldBind = njWorkDefaultConfigService.GetModel().FirstOrDefault(p => p.TaskTerminalID == terminal.Id); if (oldBind != null) { var oldNj = njService.GetModel().FirstOrDefault(p => p.Id == oldBind.TaskNJID); oldNj.NJIDCode = ""; njService.Update(oldNj); } var oldlist = njWorkDefaultConfigService.GetModel().Where(u => u.TaskTerminalID == terminal.Id || u.TaskNJID == nj.Id).ToList(); if (oldlist.Count > 0) { njWorkDefaultConfigService.Delete(oldlist); } result = workDefaultConfigService.BingingWorkDefault(nj.Id, terminal.Id); //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> ReceptionDelTerminal(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; item.OrganizationId = null; item.UserId = null; item.AreaId = null; 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; item.StartTime = enabled ? (item.StartTime == DateTime.MinValue?DateTime.Now:item.StartTime) : item.StartTime; TerminalService.Update(item); result.Result = true; result.Message = "操作成功!"; return result; } result.Message = "终端不存在,传入Id错误!"; return result; } //====================================================================================================================== /// <summary> /// 解绑农机(前台) /// </summary> /// <param name="id"></param> /// <returns></returns> public DtoResult<string> ReceptionUnbindTerminal(string serialNum) { DtoResult<string> result = new DtoResult<string>() { Result = false }; IExtensionRepository<AIMS.Model.NJTerminal> TerminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJTerminal>>(); IExtensionRepository<AIMS.Model.NJ> NJService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<NJ>>(); IExtensionRepository<AIMS.Model.NJWorkDefaultConfig> NJWorkDefaultConfigService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AIMS.Model.NJWorkDefaultConfig>>(); //AIMS.Model.NJTerminal item = TerminalService.Find(serialNum); AIMS.Model.NJTerminal terminal = TerminalService.GetModel().Where(u => u.SerialNum == serialNum).FirstOrDefault(); AIMS.Model.NJ NJ = NJService.GetModel().Where(u => u.NJIDCode == serialNum).FirstOrDefault(); AIMS.Model.NJWorkDefaultConfig nJWorkDefaultConfig = NJWorkDefaultConfigService.GetModel().Where(u => u.TaskTerminalID == terminal.Id).FirstOrDefault(); if (NJ != null&& nJWorkDefaultConfig!=null) { NJ.NJIDCode = ""; NJService.Update(NJ); //nJWorkDefaultConfig.TaskTerminalID = new Guid(""); //NJWorkDefaultConfigService.Update(nJWorkDefaultConfig); NJWorkDefaultConfigService.Delete(nJWorkDefaultConfig); result.Result = true; result.Message = "操作成功!"; return result; } result.Message = "未绑定!"; return result; } #region 区域树 public List<TreeNode> LoadAreaTreeNodeByUserId(Guid userId) { IExtensionRepository<AdminArea> areaService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AdminArea>>(); IExtensionRepository<TAreaAdministrator> areaAdministratorService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<TAreaAdministrator>>(); IEnumerable<string> areaAdminIdList = areaAdministratorService.GetModel().Where(u => u.UserId == userId).Select(u => u.AreaId).ToList(); List<AdminArea> areaQuery = areaService.GetModel().Where(u => areaAdminIdList.Contains(u.Id) && u.Level == 0).ToList(); List<AdminArea> areaQuery1 = areaService.GetModel().Where(u => areaAdminIdList.Contains(u.Id) && u.Level == 1).ToList(); List<AdminArea> areaQuery2 = areaService.GetModel().Where(u => areaAdminIdList.Contains(u.Id) && u.Level == 2).ToList(); List<AdminArea> areaQuery3 = areaService.GetModel().Where(u => areaAdminIdList.Contains(u.Id) && u.Level == 3).ToList(); if (areaQuery.Count > 0) areaAdminIdList = areaQuery.Select(u => u.Id).ToList(); else if (areaQuery1.Count > 0) areaAdminIdList = areaQuery1.Select(u => u.Id).ToList(); else if (areaQuery2.Count > 0) areaAdminIdList = areaQuery2.Select(u => u.Id).ToList(); else if (areaQuery3.Count > 0) areaAdminIdList = areaQuery3.Select(u => u.Id).ToList(); if (areaAdminIdList != null && areaAdminIdList.Count() > 0) { List<AdminArea> areaList = areaService.GetModel().Where(u => areaAdminIdList.Contains(u.Id)).ToList(); List<AdminArea> areaAllList = areaService.GetModel().Where(u => areaAdminIdList.Contains(u.ParentId) && u.IsActive == true).ToList(); return ToTreeNodes(areaList, areaAllList, true); } return null; } public List<TreeNode> GetAreaTreeNode(string code) { IExtensionRepository<AdminArea> areaService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AdminArea>>(); List<AdminArea> areaList = new List<AdminArea>(); if (!string.IsNullOrEmpty(code)) { AdminArea area = areaService.Find(code); if (area != null) { if (area.IsActive == false) areaList = null; else areaList = areaService.GetModel().Where(u => u.ParentId == code && u.IsActive == true).ToList(); } } return ToTreeNodes(areaList, null, false); } private List<TreeNode> ToTreeNodes(List<AdminArea> listPer, List<AdminArea> areaAllList, bool isFirstVisit) { List<TreeNode> listNodes = new List<TreeNode>(); if (listPer != null) { LoadTreeNode(listPer, listNodes, areaAllList, isFirstVisit); } return listNodes; } private void LoadTreeNode(List<AdminArea> listPer, List<TreeNode> listNodes, List<AdminArea> areaAllList, bool isFirstVisit) { if (listPer != null) { foreach (AdminArea item in listPer) { TreeNode node = ToNode(item, areaAllList, isFirstVisit); listNodes.Add(node); if (isFirstVisit) { LoadTreeNode(areaAllList, node.children, null, false); } } } } private TreeNode ToNode(AdminArea area, List<AdminArea> areaAllList, bool isFirstVisit) { IExtensionRepository<NJTerminal> njTerminalService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<NJTerminal>>(); IExtensionRepository<AdminArea> areaAppService = DIFactory.ObjectContainer.Resolve<IExtensionRepository<AdminArea>>(); int njTerminalCount = njTerminalService.GetModel().Where(u => u.AreaId == area.Id &&u.IsDisabled==false&& u.IsDeleted != true).ToList().Count(); if (area == null) return null; string nodeState = "closed"; List<AdminArea> areaList = areaAppService.GetModel().Where(u => u.ParentId == area.Id && u.IsActive == true).ToList(); if (areaList == null || areaList.Count <= 0 || isFirstVisit) nodeState = "open"; TreeNode node = new TreeNode() { id = area.Id.ToString(), text = area.Name + "(" + njTerminalCount.ToString() + ")", parentId = area.ParentId.ToString(), level = area.Level, state = nodeState, isActive = area.IsActive, Checked = true, children = new List<TreeNode>() }; return node; } #endregion } }
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; } } }