using Flurl.Http; using Infrastructure; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json.Linq; using OpenAuth.App; using OpenAuth.App.Config; using OpenAuth.App.Interface; using OpenAuth.App.Request; using OpenAuth.App.Response; using OpenAuth.App.SSO; using Org.BouncyCastle.Ocsp; namespace OpenAuth.WebApi.Controllers { /// /// 无人机执法 /// [Route("api/[controller]/[action]")] [ApiController] partial class DroneCaseinfoController { IConfiguration _configuration; DroneCaseinfoApp _app; WFProcessApp _wfProcessApp; public DroneCaseinfoController( IConfiguration configuration, DroneCaseinfoApp app, IAuth auth, ILogger logger, WFProcessApp wFProcessApp) { _configuration = configuration; _app = app; _wfProcessApp = wFProcessApp; } ///// ///// 同步航飞库数据 ///// ///// ///// //[AllowAnonymous] //[HttpPost] //public async Task> AsynchDroneCaseDataOld([FromBody] AddOrUpdateAsyncDroneCaseDataReq req) //{ // Response response = new Response(); // try // { // response.Result = _app.AsynchDroneCaseDataNew(req); // if (response.Result == "同步失败") // { // return response; // } // var loginResult = await "http://localhost:1120/api/Check/Login" // .PostJsonAsync(new // { // account = "System", // passWord = "e10adc3949ba59abbe56e057f20f883e" // }).ReceiveJson>(); // var token = loginResult.Result.Token; // var draftResult = await "http://localhost:1120/api/WFProcess/SaveDraftWithUser" // .WithHeader("X-Token", token) // .PostJsonAsync(new // { // processId = req.model.Id, // schemeCode = "754545", // userId = req.model.createusername, // instanceInfo = "{\"schemeId\":\"853793b9-6db7-47a8-b125-faaef20862f7\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", // isChild = 0, // title = "后端发起流程" + req.model.case_description + DateTime.Now.ToString(), // }).ReceiveJson>(); // var creteResult = await "http://localhost:1120/api/WFProcess/CreateWithUser" // .WithHeader("X-Token", token) // .PostJsonAsync(new // { // processId = req.model.Id, // userId = req.model.createusername, // isChild = 0, // title = "后端创建" + req.model.case_description + DateTime.Now.ToString(), // instanceInfo = "{\"schemeId\":\"853793b9-6db7-47a8-b125-faaef20862f7\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", // }).ReceiveJson>(); // //var aaa = await _wfProcessApp.SaveDraft( // // req.model.Id, // // "9", // // "-1", // // "{\"schemeId\":\"3a286ae0-7236-487e-ab93-1ebc03038b4c\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", // // null, // // null, // // null, // // 0, // // "后端发起流程" + DateTime.Now.ToString() // // ); // //var bbb = await _wfProcessApp.Create(req.model.Id, null, "-1", null, "{\"schemeId\":\"3a286ae0-7236-487e-ab93-1ebc03038b4c\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", "后端发起流程" + DateTime.Now.ToString()); // } // catch (Exception ex) // { // response.Code = 500; // response.Message = ex.InnerException?.Message ?? ex.Message; // } // return response; //} /// /// 案件上报-流程 /// /// /// [AllowAnonymous] [HttpPost] public async Task> AsynchDroneCaseData([FromBody] AddOrUpdateAsyncDroneCaseDataReq req) { Response response = new Response(); try { var caseResult = await _app.AsynchDroneCaseDataNew(req); if (caseResult == "同步失败") { response.Code = 500; response.Result = caseResult; return response; } } catch (Exception ex) { response.Result = "流程发起失败"; response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 新案件上报-流程 /// /// /// [AllowAnonymous] [HttpPost] public async Task> AsynchDroneCaseDataLast([FromBody] AddOrUpdateAsyncDroneCaseDataReq req) { Response response = new Response(); try { var caseResult = await _app.AsynchDroneCaseDataLast(req); response.Message = caseResult; response.Result = caseResult; if (caseResult == "同步失败") { response.Code = 500; response.Result = caseResult; return response; } } catch (Exception ex) { response.Result = "流程发起失败"; response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 案件上报-流程 非粮化 /// /// /// [AllowAnonymous] [HttpPost] [NonAction] public async Task> AsynchDroneCaseDataFLH([FromBody] AddOrUpdateAsyncDroneCaseDataReq req) { Response response = new Response(); try { var caseResult = _app.AsynchDroneCaseDataFLH(req); if (caseResult == "同步失败") { response.Code = 500; response.Result = caseResult; return response; } var scode = _configuration.GetSection("AppSetting:DroneCaseInfoNonFoodSchemeCode").Value; var schemeId = "a1d40efb-c530-47cc-94b3-100cafc4c4d8"; var flag = await _wfProcessApp.SaveDraftWithUser(req.model.Id, scode, req.model.createusername, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", null, null, null, 0, (req.model.case_description)); if (flag.Result) { var createFlag = await _wfProcessApp.CreateWithUser(req.model.Id, null, req.model.createusername, null, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + req.model.Id + "\"}", (req.model.case_description)); if (createFlag.Result) { response.Result = "流程发起成功"; } else { response.Code = 500; response.Result = createFlag.Message; } } } catch (Exception ex) { response.Result = "流程发起失败"; response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 发起未正常发起流程的案件 /// /// /// [HttpPost] public async Task> AsynchAddProcessCaseData() { Response response = new Response(); try { var caseResult = _app.LoadNoProcess().Result; foreach (var item in caseResult) { var scode = _configuration.GetSection("AppSetting:SchemeCode").Value; var schemeId = _configuration.GetSection("AppSetting:SchemeId").Value; var flag = await _wfProcessApp.SaveDraftWithUser(item.Id, scode, item.createusername, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + item.Id + "\"}", null, null, null, 0, (item.case_description)); if (flag.Result) { var createFlag = await _wfProcessApp.CreateWithUser(item.Id, null, item.createusername, null, "{\"schemeId\":\"" + schemeId + "\",\"pkey\":\"Id\",\"pkeyValue\":\"" + item.Id + "\"}", (item.case_description)); if (createFlag.Result) { response.Result = "流程发起成功"; } else { response.Code = 500; response.Result = createFlag.Message; } } } } catch (Exception ex) { response.Result = "流程发起失败"; response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } /// /// 计算点与shp之间的距离 /// /// [HttpGet] [AllowAnonymous] public async Task> GetPointShpDistance(string lng, string lat, string caseid) { Response response = new Response(); try { return await _app.GetPointShpDistance(lng, lat, caseid); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } #region 案件关闭 同步航飞库用 /// /// 关闭案件 /// /// /// [HttpPost] [AllowAnonymous] public async Task> CloseDroneCaseInfos([FromBody] ResubmitCloseReq req) { Response response = new Response(); try { response = await _app.CloseDroneCaseInfos(req.no, req.subject); } catch (Exception ex) { response.Code = 500; response.Message = ex.InnerException?.Message ?? ex.Message; } return response; } #endregion } }