feixian_weifajianguan/OpenAuth.WebApi/Controllers/ServiceControllers/DroneCaseinfo2Controller.cs

307 lines
12 KiB
C#

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
{
/// <summary>
/// 无人机执法
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
partial class DroneCaseinfoController
{
IConfiguration _configuration;
DroneCaseinfoApp _app;
WFProcessApp _wfProcessApp;
public DroneCaseinfoController(
IConfiguration configuration,
DroneCaseinfoApp app,
IAuth auth,
ILogger<DroneCaseinfoController> logger,
WFProcessApp wFProcessApp)
{
_configuration = configuration;
_app = app;
_wfProcessApp = wFProcessApp;
}
///// <summary>
///// 同步航飞库数据
///// </summary>
///// <param name="req"></param>
///// <returns></returns>
//[AllowAnonymous]
//[HttpPost]
//public async Task<Response<string>> AsynchDroneCaseDataOld([FromBody] AddOrUpdateAsyncDroneCaseDataReq req)
//{
// Response<string> response = new Response<string>();
// 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<Response<LoginResult>>();
// 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<Response<bool>>();
// 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<Response<bool>>();
// //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;
//}
/// <summary>
/// 案件上报-流程
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[AllowAnonymous]
[HttpPost]
public async Task<Response<string>> AsynchDroneCaseData([FromBody] AddOrUpdateAsyncDroneCaseDataReq req)
{
Response<string> response = new Response<string>();
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;
}
/// <summary>
/// 新案件上报-流程
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[AllowAnonymous]
[HttpPost]
public async Task<Response<string>> AsynchDroneCaseDataLast([FromBody] AddOrUpdateAsyncDroneCaseDataReq req)
{
Response<string> response = new Response<string>();
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;
}
/// <summary>
/// 案件上报-流程 非粮化
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[AllowAnonymous]
[HttpPost]
[NonAction]
public async Task<Response<string>> AsynchDroneCaseDataFLH([FromBody] AddOrUpdateAsyncDroneCaseDataReq req)
{
Response<string> response = new Response<string>();
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;
}
/// <summary>
/// 发起未正常发起流程的案件
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<string>> AsynchAddProcessCaseData()
{
Response<string> response = new Response<string>();
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;
}
/// <summary>
/// 计算点与shp之间的距离
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<Response<bool>> GetPointShpDistance(string lng, string lat, string caseid)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.GetPointShpDistance(lng, lat, caseid);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#region 案件关闭 同步航飞库用
/// <summary>
/// 关闭案件
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public async Task<Response<bool>> CloseDroneCaseInfos([FromBody] ResubmitCloseReq req)
{
Response<bool> response = new Response<bool>();
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
}
}