lanlingxian_ziranziyuanhegu.../OpenAuth.WebApi/Controllers/ServiceControllers/DroneCaseinfoController.cs

1363 lines
43 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using OpenAuth.App;
using OpenAuth.App.FormModule;
using OpenAuth.App.FormScheme.Request;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
using OpenAuth.WebApi.Model.CustomAttribute;
using SqlSugar;
namespace OpenAuth.WebApi.Controllers
{
/// <summary>
/// 无人机执法
/// </summary>
//[Route("api/[controller]/[action]")]
//[ApiController]
public partial class DroneCaseinfoController1 : ControllerBase
{
IConfiguration _configuration;
DroneCaseinfoApp _app;
IAuth _auth;
ILogger<DroneCaseinfoController> _logger;
WFProcessApp _wfProcessApp;
public DroneCaseinfoController1(
IConfiguration configuration,
DroneCaseinfoApp app,
IAuth auth,
ILogger<DroneCaseinfoController> logger,
WFProcessApp wFProcessApp)
{
_configuration = configuration;
_app = app;
_auth = auth;
_logger = logger;
_wfProcessApp = wFProcessApp;
}
#region 案件
/// <summary>
/// 收藏案件
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public async Task<Response<bool>> AddCaseFavorite([FromBody] DroneCaseFavorite model)
{
Response<bool> response = new Response<bool>();
try
{
response = await _app.AddCaseFavorite(model);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 加载收藏的案件信息
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<DroneCaseInfo>>>> LoadFavoriteCases([FromQuery] PageReq req)
{
try
{
return await _app.LoadFavoriteCases(req);
}
catch (Exception ex)
{
return new Response<PageInfo<List<DroneCaseInfo>>>()
{
Result = null,
Code = 500,
Message = "获取数据失败"
};
}
}
/// <summary>
/// 获取收藏列表
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<dynamic>> FavoriteCaseList(string uid)
{
try
{
return await _app.FavoriteCaseList(uid);
}
catch (Exception ex)
{
return new Response<dynamic>()
{
Result = null,
Code = 500,
Message = "获取数据失败"
};
}
}
/// <summary>
/// 批量删除收藏的案件
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> DeleteFavoriteCases([FromBody] string[] ids)
{
Response<bool> response = new Response<bool>();
try
{
response = await _app.DeleteFavoriteCases(ids);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 删除收藏的案件
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> DeleteFavoriteCase([FromBody] string id)
{
Response<bool> response = new Response<bool>();
try
{
response = await _app.DeleteFavoriteCase(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 获取案件记录
/// </summary>
/// <param name="caseid"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<Response<List<DroneCaseOperationLog>>> LoadDroneCaseLog(string caseid)
{
Response<List<DroneCaseOperationLog>> response = new Response<List<DroneCaseOperationLog>>();
try
{
response = await _app.LoadDroneCaseLog(caseid);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 无人机添加案件
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public async Task<Response<string>> AddDroneCaseByDrone([FromBody] AddDroneCaseByDroneReq req)
{
Response<string> response = new Response<string>();
try
{
response = await _app.BackhaulDroneCaseByDrone(req);
}
catch (Exception ex)
{
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>> AddDroneCaseInfo([FromBody] AddOrUpdateDroneCaseInfoReq req)
{
Response<string> response = new Response<string>();
try
{
if (string.IsNullOrEmpty(req.info.Id))
{
//新增
response = await _app.AddDroneCaseInfo(req);
}
else
{
//修改
response = await _app.UpdateDroneCaseInfo(req);
}
}
catch (Exception ex)
{
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>> UpdateDroneCaseInfoIntact([FromBody] AddOrUpdateDroneCaseInfoReq req)
{
Response<string> response = new Response<string>();
try
{
response = await _app.UpdateDroneCaseInfoIntact(req);
}
catch (Exception ex)
{
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<bool>> DispenseDroneCaseData([FromBody] AddOrUpdateDispenseDroneCaseDataReq req)
{
Response<bool> response = new Response<bool>();
try
{
response = await _app.DispenseDroneCaseData(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 获取案件绑定关联关系
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<string[]>> GetDispenseDroneCaseData(string id)
{
Response<string[]> response = new Response<string[]>();
try
{
response = await _app.GetDispenseDroneCaseData(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 关闭案件
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<bool>> CloseDroneCaseInfo(string id)
{
Response<bool> response = new Response<bool>();
try
{
response = await _app.CloseDroneCaseInfo(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 审核通过
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<bool>> VerifyCaseInfoSuccess(string id)
{
Response<bool> response = new Response<bool>();
try
{
response = await _app.VerifyCaseInfoSuccess(id);
}
catch (Exception ex)
{
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<bool>> VerifyCaseInfoFailed(AddOrUpdateVerifyCaseSuccessReq req)
{
Response<bool> response = new Response<bool>();
try
{
response = await _app.VerifyCaseInfoFailed(req);
}
catch (Exception ex)
{
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>> AddCaseEvent([FromBody] AddOrUpdateDroneCaseEventReq req)
{
var response = new Response<string>();
try
{
response = await _app.AddCaseEvent(req);
}
catch (Exception ex)
{
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>> AddTemporaryDroneCaseInfo([FromBody] AddOrUpdateDroneCaseInfoReq req)
{
Response<string> response = new Response<string>();
try
{
response = await _app.AddTemporaryDroneCaseInfo(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
#region 案件列表
/// <summary>
/// 查询案件和处理信息列表
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<CaseInfoAndDealInfoResponse>>>> LoadCaseInfoAndDealInfoList([FromQuery] QueryCaseInfoListReq req)
{
try
{
return await _app.LoadCaseInfoAndDealInfoList(req);
}
catch (Exception ex)
{
return new Response<PageInfo<List<CaseInfoAndDealInfoResponse>>>()
{
Code = 500,
Message = "获取数据失败"
};
}
}
/// <summary>
/// 查询案件列表
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<DroneCaseInfoExt>>>> LoadCaseInfoList([FromQuery] QueryCaseInfoListReq req)
{
try
{
return await _app.LoadCaseInfoListInterface(req);
}
catch (Exception ex)
{
return new Response<PageInfo<List<DroneCaseInfoExt>>>()
{
Code = 500,
Message = "获取数据失败"
};
}
}
/// <summary>
/// 查询判读案件列表
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<DroneCaseInfo>>>> LoadIntactCaseInfoList([FromQuery] QueryIntactCaseInfoListReq obj)
{
try
{
QueryCaseInfoListReq req = obj.MapTo<QueryCaseInfoListReq>();
return await _app.LoadCaseInfoList(req);
}
catch (Exception ex)
{
return new Response<PageInfo<List<DroneCaseInfo>>>()
{
Code = 500,
Message = "获取数据失败"
};
}
}
/// <summary>
/// 查询处理案件列表
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<DroneCaseInfoExt>>>> LoadDealCaseInfoList([FromQuery] QueryCaseInfoListReq obj)
{
try
{
return await _app.LoadDealCaseInfoList(obj);
}
catch (Exception ex)
{
return new Response<PageInfo<List<DroneCaseInfoExt>>>()
{
Code = 500,
Message = "获取数据失败"
};
}
}
/// <summary>
/// 根据案件分配查询案件
/// </summary>
/// <param name="handle_status_id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<DroneCaseInfoExt>>>> LoadDealCaseInfoListByLaw([FromQuery] QueryCaseInfoListReq obj)
{
try
{
return await _app.LoadDealCaseInfoListByLaw(obj);
}
catch (Exception ex)
{
return new Response<PageInfo<List<DroneCaseInfoExt>>>()
{
Code = 500,
Message = "获取数据失败"
};
}
}
#endregion
#region 案件数量统计App查询案件 全部 未办理 办理中 已办结数量
/// <summary>
/// 案件数量统计
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<JObject>> CaseCountCensus()
{
Response<JObject> response = new Response<JObject>();
try
{
QueryCaseInfoListReq req = new QueryCaseInfoListReq();
req.is_dealer = 1;
response = await _app.CaseCountCensus(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 待审核案件及未读消息数量
/// </summary>
/// <returns></returns>
[HttpGet]
public Response<JObject> UnreadMsgAndCaseCount()
{
Response<JObject> response = new Response<JObject>();
try
{
return _app.UnreadMsgAndCaseCount();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 首页通知统计数量
/// </summary>
/// <returns></returns>
[HttpGet]
public Response<JObject> GetIndexCensusDataApp()
{
Response<JObject> response = new Response<JObject>();
try
{
return _app.GetIndexCensusDataApp();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 根据分配案件 进行案件数量统计
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<JObject>> CaseCountCensusByLaw()
{
Response<JObject> response = new Response<JObject>();
try
{
//判断是否是乡镇管理员和审核管理员
var currentUser = _auth.GetCurrentUser();
var _count = currentUser.Roles.Where(c => c.Name.Contains("案件处理")).Count();
if (_count == 0)
{
return await CaseCountCensus();
}
else
{
QueryCaseInfoListReq req = new QueryCaseInfoListReq();
req.dispense_dealer = 1;
return await _app.CaseCountCensus(req);
}
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 根据分配案件 进行案件数量统计
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<object>> CaseCountCensusByLawDetail()
{
Response<object> response = new Response<object>();
try
{
return await _app.GetDroneTypeCount("", 1);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 案件详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<AddOrUpdateDroneCaseInfoReqExt>> GetCaseInfo(string id)
{
Response<AddOrUpdateDroneCaseInfoReqExt> response = new Response<AddOrUpdateDroneCaseInfoReqExt>();
try
{
return await _app.GetCaseInfo(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 查询案件和处理信息的详情内容
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<CaseInfoAndDealInfoByIdResponse>> GetCaseInfoAndDealInfo(string id)
{
Response<CaseInfoAndDealInfoByIdResponse> response = new Response<CaseInfoAndDealInfoByIdResponse>();
try
{
return await _app.GetCaseInfoAndDealInfo(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 获取案件处理流程
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<CaseFlowLogModel>>> GetCaseFlowLog(string id)
{
Response<List<CaseFlowLogModel>> response = new Response<List<CaseFlowLogModel>>();
try
{
return await _app.GetCaseFlowLog(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 查询案件
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<object>> LoadCaseInfoData()
{
Response<object> response = new Response<object>();
try
{
return await _app.LoadCaseInfoData();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 删除案件接口
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> DeleteDroneCaseInfo(string[] ids)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.DeleteDroneCaseInfo(ids);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 删除文件
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> DeleteDroneFiles(string[] ids)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.DeleteDroneFiles(ids);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 删除文件 - 通过路径删除
/// </summary>
/// <param name="paths"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> DeleteDroneFilesByPath(string[] paths)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.DeleteDroneFilesByPath(paths);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 获取所有案件中心点
/// APP获取中心点和图层的坐标点集合
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<JToken>> GetAllDroneCaseCenterApp(string id)
{
Response<JToken> response = new Response<JToken>();
try
{
return await _app.GetAllDroneCaseCenterApp(id);
}
catch (Exception ex)
{
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>> AddDroneCasePic([FromBody] AddFroneCasePicReq req)
{
var res = new Response<string>();
try
{
return await _app.AddDroneCasePic(req);
}
catch (Exception ex)
{
res.Code = 500;
res.Message = ex.InnerException?.Message ?? ex.Message;
}
return res;
}
/// <summary>
/// 添加案件处理图片
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<string>> AddDroneDealPic([FromBody] AddDroneDealPicReq req)
{
var res = new Response<string>();
try
{
return await _app.AddDroneDealPic(req);
}
catch (Exception ex)
{
res.Code = 500;
res.Message = ex.InnerException?.Message ?? ex.Message;
}
return res;
}
/// <summary>
/// 删除图片
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> DeleteDroneCasePic(string id)
{
var res = new Response<bool>();
try
{
return await _app.DeleteDroneCasePic(id);
}
catch (Exception ex)
{
res.Code = 500;
res.Message = ex.InnerException?.Message ?? ex.Message;
}
return res;
}
#endregion
#region 通知
/// <summary>
/// 查询所有通知信息
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<JToken>>> LoadMessageList([FromQuery] QueryDroneCaseinfoReq req)
{
try
{
return await _app.LoadMessageList(req);
}
catch (Exception ex)
{
return new Response<PageInfo<JToken>>()
{
Result = null,
Code = 500,
Message = "获取数据失败"
};
}
}
///// <summary>
///// 查询通知详情
///// </summary>
///// <param name="id">通知信息id</param>
///// <returns></returns>
//[HttpGet]
//public async Task<Response<DroneMessage>> LoadMessage(string id)
//{
// var result = new Response<DroneMessage>();
// try
// {
// return await _app.LoadMessage(id);
// }
// catch (Exception ex)
// {
// result.Code = 500;
// result.Message = ex.InnerException?.Message ?? ex.Message;
// }
// return result;
//}
/// <summary>
/// 查询通知详情
/// </summary>
/// <param name="id">通知信息id</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<QueryDroneCaseRecipientUserReq>> LoadMessage(string id)
{
var result = new Response<QueryDroneCaseRecipientUserReq>();
try
{
return await _app.LoadMessage(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 根据权限查看通知详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<DroneMessage>> LoadMessageUser(string id)
{
var result = new Response<DroneMessage>();
try
{
return await _app.LoadMessageUser(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 添加通知
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<string>> AddMessage([FromBody] QueryDroneCaseRecipientUserReq req)
{
var result = new Response<string>();
try
{
return await _app.AddMessage(req);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 添加通知-部门角色
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<string>> AddMessRoleOrg([FromBody] QueryDroneCaseRecipientOrgRoleReq req)
{
var result = new Response<string>();
try
{
return await _app.AddMessRoleOrg(req);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 编辑通知
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<string>> UpdateMessage([FromBody] DroneMessage obj)
{
var result = new Response<string>();
try
{
return await _app.UpdateMessage(obj);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 更新删除通知信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> UpdateDelMessage(string id)
{
var result = new Response<bool>();
try
{
return await _app.UpdateDelMessage(id);
}
catch (Exception ex)
{
result.Code = 500;
result.Result = false;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 设置通知已读
/// </summary>
/// <param name="messageid"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<bool>> SetMessageRead(string messageid)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.SetMessageRead(messageid);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
#region 图层
/// <summary>
/// 根据表名获取矢量切片
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public IActionResult QueryVectorTileByTable([FromQuery] QueryVectorTileByTableReq req)
{
var result = _app.QueryVectorTileByTable(req);
return File(result, "application/octet-stream");
}
/// <summary>
/// 添加违建图层
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<string>> AddIllegalBuildeLayer([FromBody] DroneShpData model)
{
var res = new Response<string>();
try
{
return await _app.AddIllegalBuildeLayer(model);
}
catch (Exception ex)
{
res.Code = 500;
res.Message = ex.InnerException?.Message ?? ex.Message;
}
return res;
}
/// <summary>
/// 编辑违建图层
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<string>> UpdateIllegalBuildeLayer([FromBody] DroneShpData model)
{
var res = new Response<string>();
try
{
return await _app.UpdateIllegalBuildeLayer(model);
}
catch (Exception ex)
{
res.Code = 500;
res.Message = ex.InnerException?.Message ?? ex.Message;
}
return res;
}
/// <summary>
/// 删除图斑
/// </summary>
/// <param name="gid"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<bool>> DeleteDroneLayers(int gid)
{
var res = new Response<bool>();
try
{
return await _app.DeleteDroneLayers(gid);
}
catch (Exception ex)
{
res.Code = 500;
res.Message = ex.InnerException?.Message ?? ex.Message;
}
return res;
}
/// <summary>
/// 查询主页违法图层数据
/// 获取所有图斑,主页用
/// </summary>
/// <param name="reqObj"></param>
/// <returns></returns>
[HttpGet]
public Response<JToken> LoadAllDroneGeoJson([FromQuery] QueryAllDroneGeoJsonReq reqObj)
{
var res = new Response<JToken>();
try
{
res.Result = _app.LoadAllDroneGeoJson(reqObj);
}
catch (Exception ex)
{
res.Code = 500;
res.Message = ex.InnerException?.Message ?? ex.Message;
}
return res;
}
/// <summary>
/// 获取GeoJson
/// PC获取图层的GeoJson判读页面用
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public Response<JToken> GetDroneGeoJson(string id)
{
Response<JToken> response = new Response<JToken>();
try
{
response.Result = _app.GetDroneGeoJson(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// app获取GeoJson
/// 替代app获取中心点和图层坐标点集合
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<JToken>> GetDroneGeoJsonApp(string id)
{
Response<JToken> response = new Response<JToken>();
try
{
return await _app.GetDroneGeoJsonApp(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 根据经纬度获取组织机构
/// </summary>
/// <param name="lng"></param>
/// <param name="lat"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<JObject>> GetOrgAreaByPoint(decimal lng, decimal lat)
{
Response<JObject> response = new Response<JObject>();
try
{
return await _app.GetOrgAreaByPoint(lng, lat);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 计算点与shp之间的距离
/// </summary>
/// <returns></returns>
[HttpGet]
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;
}
#endregion
#region 统计
/// <summary>
/// 综合统计
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<JArray>> CaseSynthesisCensusSingle([FromQuery] QueryCaseInfoListReq req)
{
Response<JArray> response = new Response<JArray>();
try
{
return await _app.CaseSynthesisCensusSingle(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
[HttpPost]
public async Task<IActionResult> ExportCaseSynthesisCensusStreet([FromQuery] QueryCaseInfoListReq req)
{
var res = new Response();
//获取列表数据
Response<JArray> response = await _app.CaseSynthesisCensusSingle(req);
//获取模板数据
List<ModuleColumn> headers = new List<ModuleColumn>();
ModuleColumn m1 = new ModuleColumn();
m1.key = "streetname";
m1.value = "乡镇";
headers.Add(m1);
ModuleColumn m2 = new ModuleColumn();
m2.key = "allCount";
m2.value = "无人机发现数量";
headers.Add(m2);
ModuleColumn m3 = new ModuleColumn();
m3.key = "handleStatus";
m3.value = "完成外业核查数量";
headers.Add(m3);
ModuleColumn m4 = new ModuleColumn();
m4.key = "notDealHour24";
m4.value = "24h内未核查";
headers.Add(m4);
ModuleColumn m5 = new ModuleColumn();
m5.key = "typeFanxinCount";
m5.value = "房屋翻新";
headers.Add(m5);
ModuleColumn m6 = new ModuleColumn();
m6.key = "typeJiagaiCount";
m6.value = "房屋加盖";
headers.Add(m6);
ModuleColumn m7 = new ModuleColumn();
m7.key = "typeFanjianCount";
m7.value = "房屋翻建";
headers.Add(m7);
ModuleColumn m8 = new ModuleColumn();
m8.key = "typeCunliangCount";
m8.value = "存量建设";
headers.Add(m8);
ModuleColumn m9 = new ModuleColumn();
m9.key = "typeTuituCount";
m9.value = "推土";
headers.Add(m9);
ModuleColumn m10 = new ModuleColumn();
m10.key = "typeOtherCount";
m10.value = "其他";
headers.Add(m10);
ModuleColumn m11 = new ModuleColumn();
m11.key = "illegal0Count";
m11.value = "合法";
headers.Add(m11);
ModuleColumn m12 = new ModuleColumn();
m12.key = "illegal1Count";
m12.value = "违法";
headers.Add(m12);
ModuleColumn m13 = new ModuleColumn();
m13.key = "illegal2Count";
m13.value = "伪变化";
headers.Add(m13);
ModuleColumn m14 = new ModuleColumn();
m14.key = "illegalNullCount";
m14.value = "外业核实确定违法数";
headers.Add(m14);
ModuleColumn m15 = new ModuleColumn();
m15.key = "illegalHandleAreaList";
m15.value = "违法面积";
headers.Add(m15);
ModuleColumn m16 = new ModuleColumn();
m16.key = "illegalHandle2Status";
m16.value = "整改销号数";
headers.Add(m16);
ModuleColumn m17 = new ModuleColumn();
m17.key = "illegalHandle01Status";
m17.value = "尚未整改宗数";
headers.Add(m17);
ModuleColumn m18 = new ModuleColumn();
m18.key = "illegalHandle2AreaList";
m18.value = "销号面积";
headers.Add(m18);
ModuleColumn m19 = new ModuleColumn();
m19.key = "illegalHandle01AreaList";
m19.value = "未整改面积";
headers.Add(m19);
ModuleColumn m20 = new ModuleColumn();
m20.key = "notComplete3";
m20.value = "3日内未整改完成";
headers.Add(m20);
ModuleColumn m21 = new ModuleColumn();
m21.key = "notComplete7";
m21.value = "7日内未整改完成";
headers.Add(m21);
ModuleColumn m22 = new ModuleColumn();
m22.key = "notComplete30";
m22.value = "30日内未整改完成";
headers.Add(m22);
ModuleColumn m23 = new ModuleColumn();
m23.key = "notComplete30More";
m23.value = "30日以上未整改完成";
headers.Add(m23);
var excelRes = _app.ListToExcel(response.Result, headers);
if (excelRes.Code == 200)
{
return File(excelRes.Result.ToArray(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"数据导出" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");
}
else
{
res.Code = excelRes.Code;
res.Message = "导出失败";
}
return Ok(res);
}
[HttpGet]
public async Task<Response<JArray>> CaseSynthesisCensus([FromQuery] QueryCaseInfoListReq req)
{
Response<JArray> response = new Response<JArray>();
try
{
return await _app.CaseSynthesisCensus(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 综合统计,统计镇权限
/// </summary>
/// <returns></returns>
[HttpGet]
public Response<JArray> CaseSynthesisCensusStreet([FromQuery] QueryCaseInfoListReq req)
{
Response<JArray> response = new Response<JArray>();
try
{
response.Result = _app.CaseSynthesisCensusStreet(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
}
}