123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- using AmrControl.ADS;
- using AmrControl.Common;
- using AmrControl.Dto;
- using AmrControl.JGR;
- using AmrControl.services;
- using Microsoft.AspNetCore.Mvc;
- using System.Text;
- namespace AmrControl.Controllers
- {
- [ApiController]
- public class ProductLineController : ControllerBase
- {
- [HttpPost]
- [Route("api/v1/line/start")]
- public HttpStatus<string> Start()
- {
- HttpStatus<string> status = new HttpStatus<string>();
- status.Code = Dto.Code.Success;
- return status;
- }
- [HttpPost]
- [Route("api/v1/line/shutdown")]
- public HttpStatus<string> Shutdown()
- {
- HttpStatus<string> status = new HttpStatus<string>();
- status.Code = Dto.Code.Success;
- return status;
- }
- /// <summary>
- /// 获得所有的小车,不管是否在线
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [Route("api/v1/line/jars")]
- public HttpStatus<List<JGR_Tc_Model>> GetJars()
- {
- HttpStatus<List<JGR_Tc_Model>> status = new HttpStatus<List<JGR_Tc_Model>>();
- status.Code = Dto.Code.Success;
- status.Data = JGRManager.GetInstance().GetJgrs();
- return status;
- }
- /// <summary>
- /// 获得所有的充电桩,不管是否在线
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [Route("api/v1/line/chargingStations")]
- public HttpStatus<List<ChargingStationDataModel>> GetChargingStations()
- {
- HttpStatus<List<ChargingStationDataModel>> status = new HttpStatus<List<ChargingStationDataModel>>();
- status.Code = Dto.Code.Success;
- status.Data = JGRManager.GetInstance().getCharges();
- return status;
- }
- /// <summary>
- /// 获得所有工位
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [Route("api/v1/line/stations")]
- public HttpStatus<List<StationDataModel>> GetStations()
- {
- HttpStatus<List<StationDataModel>> status = new HttpStatus<List<StationDataModel>>();
- status.Code = Dto.Code.Success;
- status.Data = JGRManager.GetInstance().getStations();
- return status;
- }
- /// <summary>
- /// 获得所有工位
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [Route("api/v1/line/get-station")]
- public HttpStatus<StationDataModel> GetStations([FromQuery] String stanCode)
- {
- HttpStatus<StationDataModel> status = new HttpStatus<StationDataModel>();
- StationDataModel? model = JGRManager.GetInstance().getStation(stanCode);
- if(model !=null && model != default)
- {
- status.Code = Dto.Code.Success;
- status.Data = model;
- } else
- {
- status.Code = Dto.Code.Fail;
- }
- return status;
- }
- /// <summary>
- /// 产线设置成调试模式,轨道车可以手动运动
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [Route("api/v1/line/debug")]
- public HttpStatus<string> SetProductLineDebugModel()
- {
- HttpStatus<string> status = new HttpStatus<string>();
- status.Code = Dto.Code.Success;
- return status;
- }
- /// <summary>
- /// 产线设置成正常模式,轨道车全自动控制
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [Route("api/v1/line/normal")]
- public HttpStatus<string> SetProductLineNormalModel()
- {
- HttpStatus<string> status = new HttpStatus<string>();
- status.Code = Dto.Code.Success;
- return status;
- }
- /// <summary>
- /// 仓储设置成调试模式,仓储车可以手动运动
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [Route("api/v1/storage/debug")]
- public HttpStatus<string> SetStorageDebugModel()
- {
- HttpStatus<string> status = new HttpStatus<string>();
- status.Code = Dto.Code.Success;
- return status;
- }
- /// <summary>
- /// 仓储设置成正常模式,仓储车全自动控制
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [Route("api/v1/storage/normal")]
- public HttpStatus<string> SetStorageNormalModel()
- {
- HttpStatus<string> status = new HttpStatus<string>();
- status.Code = Dto.Code.Success;
- return status;
- }
- /// <summary>
- /// 新建或者修改小车或者充电桩,匹配Type和SN
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [Route("api/v1/line/new")]
- public HttpStatus<string> NewJGR([FromBody] NewJgrDto jgrDto)
- {
- HttpStatus<string> status = new HttpStatus<string>();
- status.Code = Dto.Code.Success;
- //目前先处理车的地址修改
- return status;
- }
- /// <summary>
- /// 删除小车或者充电桩,匹配Type和SN
- /// </summary>
- /// <returns></returns>
- [HttpDelete]
- [Route("api/v1/line/delete")]
- public HttpStatus<string> DeleteJGR([FromBody] NewJgrDto jgrDto)
- {
- HttpStatus<string> status = new HttpStatus<string>();
- status.Code = Dto.Code.Success;
- return status;
- }
- /// <summary>
- /// 获取设备类型
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [Route("api/v1/line/deviceType")]
- public HttpStatus<List<KeyValuePair<int, string>>> GetDeviceType()
- {
- HttpStatus<List<KeyValuePair<int, string>>> status = new HttpStatus<List<KeyValuePair<int, string>>>();
- status.Data = new List<KeyValuePair<int, string>>();
- status.Data.Add(new KeyValuePair<int, string>(0, "仓储车"));
- status.Data.Add(new KeyValuePair<int, string>(1, "运输车"));
- status.Data.Add(new KeyValuePair<int, string>(2, "仓储充电桩"));
- status.Data.Add(new KeyValuePair<int, string>(3, "轨道充电桩"));
- status.Code = Dto.Code.Success;
- return status;
- }
- /// <summary>
- /// 获取信道类型
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [Route("api/v1/line/freqChannel")]
- public HttpStatus<List<KeyValuePair<int, string>>> GetFreqChannel()
- {
- HttpStatus<List<KeyValuePair<int, string>>> status = new HttpStatus<List<KeyValuePair<int, string>>>();
- status.Data = new List<KeyValuePair<int, string>>();
- status.Data.Add(new KeyValuePair<int, string>(50, "910MHz"));
- status.Data.Add(new KeyValuePair<int, string>(75, "915MHz"));
- status.Code = Dto.Code.Success;
- return status;
- }
- /// <summary>
- /// 获取信道类型
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [Route("api/v1/line/jgrErrorCode")]
- public HttpStatus<List<KeyValuePair<int, string>>> GetJgrErrorCodes()
- {
- HttpStatus<List<KeyValuePair<int, string>>> status = new HttpStatus<List<KeyValuePair<int, string>>>();
- status.Data = new List<KeyValuePair<int, string>>();
- status.Data.Add(new KeyValuePair<int, string>(0, "正常"));
- status.Data.Add(new KeyValuePair<int, string>(1, "通信失联"));
- status.Data.Add(new KeyValuePair<int, string>(2, "电机掉电"));
- status.Data.Add(new KeyValuePair<int, string>(3, "电量不足"));
- status.Data.Add(new KeyValuePair<int, string>(4, "传感器故障"));
- status.Data.Add(new KeyValuePair<int, string>(5, "充电异常"));
- status.Code = Dto.Code.Success;
- return status;
- }
- /// <summary>
- /// 获取轨道和仓储的配置信息
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [Route("api/v1/line/cells")]
- public HttpStatus<GridCellsDto> GetCells()
- {
- HttpStatus<GridCellsDto> status = new HttpStatus<GridCellsDto>();
- status.Data = JGRManager.GetInstance().getCells();
- status.Code = Dto.Code.Success;
- return status;
- }
- /// <summary>
- /// 获取轨道和仓储的配置信息
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [Route("api/v1/line/cancel-task")]
- public HttpStatus<bool> CancelTask([FromQuery] string taskId)
- {
- HttpStatus<bool> status = new();
- if (TaskExecManager.getInstance().checkTaskIsCompleted(taskId))
- {
- status.Data = false;
- status.Code = Dto.Code.Error;
- status.Msg = "任务已完成,无法取消";
- return status;
- }
- JGRManager.GetInstance().notifyCancelTask(taskId);
- status.Data = true;
- status.Code = Dto.Code.Success;
- return status;
- }
- }
- }
|