You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1734 lines
53 KiB
C#

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 Microsoft.Extensions.Hosting.Internal;
using Newtonsoft.Json.Linq;
using OpenAuth.App;
using OpenAuth.App.FormModule;
using OpenAuth.App.Request;
using OpenAuth.App.ServiceApp;
using OpenAuth.App.ServiceApp.DroneCaseInfo;
using OpenAuth.App.ServiceApp.DroneCaseInfo.Request;
using OpenAuth.App.ServiceApp.DroneCaseInfo.Response;
using OpenAuth.App.ServiceApp.Request;
using OpenAuth.App.ServiceApp.Response;
using OpenAuth.App.WorkFlow;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers;
[Route("api/[controller]/[action]")]
[ApiController]
public class DroneCaseInfoSingleController : ControllerBase
{
readonly DroneCaseInfoSingleApp _app;
readonly ToNonGrainWorkMethod _toNonGrainWorkMethod;
private readonly IWebHostEnvironment _hostingEnvironment;
public DroneCaseInfoSingleController(DroneCaseInfoSingleApp app, ToNonGrainWorkMethod toNonGrainWorkMethod, IWebHostEnvironment hostingEnvironment)
{
_app = app;
_toNonGrainWorkMethod = toNonGrainWorkMethod;
_hostingEnvironment = hostingEnvironment;
}
/// <summary>
/// 查询案件列表
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<DroneCaseInfoSingle>>>> LoadCaseInfoList(
[FromQuery] QueryCaseInfoListReq req)
{
return await _app.LoadCaseInfoListInterface(req);
}
/// <summary>
/// 案件详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<AddOrUpdateDroneCaseInfoReqExtCurrent>> GetCaseInfo(string id)
{
var response = new Response<AddOrUpdateDroneCaseInfoReqExtCurrent>();
try
{
return await _app.GetCaseInfo(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
[HttpGet]
public async Task<Response<DroneCaseInfoSingle>> GetCaseInfoById(string id)
{
var response = new Response<DroneCaseInfoSingle>();
try
{
return await _app.GetCaseInfoById(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 Response<string> DroneCaseInfoExport(string id)
{
Response<string> response = new Response<string>();
try
{
response.Result = _app.DroneCaseInfoExport(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
[HttpGet]
[AllowAnonymous]
public void GenModel()
{
_app.GenModel();
}
/// <summary>
/// 查询待办任务统计数据(审核监督第一层接口) 审核监督/填报审核illegal 1/整改审核
/// </summary>
/// <param name="year">年份</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<CaseInfoStatisticResp>>> LoadTaskCount(int year, string tubanlaiyuan, string picihao, int illegal)
{
return await _app.LoadTaskCount(year, tubanlaiyuan, picihao, illegal);
}
/// <summary>
/// 测试测试
/// </summary>
/// <param name="year"></param>
/// <param name="tubanlaiyuan"></param>
/// <param name="picihao"></param>
/// <param name="illegal"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<dynamic>>> LoadTaskCountTBSHTest(int year, string tubanlaiyuan, string picihao, int illegal)
{
return await _app.LoadTaskCountTBSHTest(year, tubanlaiyuan, picihao, illegal);
}
/// <summary>
/// 查询任务列表数据(原审核监督第二层接口) 审核监督-填报审核
/// </summary>
/// <param name="areaid">区域id</param>
/// <param name="level">等级</param>
/// <param name="year">年</param>
/// <param name="is_build_complete">标注类型</param>
/// <param name="geomid">图斑号</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<dynamic>>>> LoadTaskDetailList([FromQuery] TaskDetailReq req)
{
return await _app.LoadTaskDetailList(req);
}
/// <summary>
/// 查询案件信息统计数据
/// </summary>
/// <param name="year">年份</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<dynamic>>> LoadDroneCaseInfoCount(int year)
{
return await _app.LoadDroneCaseInfoCount(year);
}
/// <summary>
/// 分页获取案件信息列表数据
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<dynamic>>>> LoadDroneCaseInfoDetail([FromQuery] DroneInfoStatisticsReq req)
{
return await _app.LoadDroneCaseInfoDetail(req);
}
[HttpPost]
public Response<string> UpdateDroneCaseInfo(DronCaseSingleCityUpdateReq req)
{
Response<string> response = new Response<string>();
try
{
_app.UpdateDroneCaseInfo(req);
response.Result = "修改成功";
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
[HttpGet]
public Response<string> DroneCaseInfoFavorite(string CaseNo, int type)
{
Response<string> response = new Response<string>();
try
{
response.Result = _app.dronecaseinfoFavarite(CaseNo, type);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
[HttpGet]
public async Task<Response<PageInfo<List<DroneCaseFavorite>>>> getFavoriteList(int page = 1, int limit = 10)
{
return await _app.getFavariteList(page, limit);
}
[HttpPost]
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;
}
[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;
}
[HttpPost]
public async Task<Response<bool>> AddtaskFavorite([FromBody] DroneTaskFavorite model)
{
Response<bool> response = new Response<bool>();
try
{
response = await _app.AddTaskFavorite(model);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
[HttpPost]
public async Task<Response<bool>> DeleteTaskCase([FromBody] string id)
{
Response<bool> response = new Response<bool>();
try
{
response = await _app.DeleteTaskFavoriteCase(id);
}
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<dynamic>>>> LoadTasklList([FromQuery] TaskListReq req)
{
return await _app.LoadTaskList(req);
}
[HttpGet]
public async Task<Response<Dictionary<string, object>>> LoadMyUncompletedTask([FromQuery] TaskUncompletReq req)
{
return await _app.LoadMyUncompletedTask(req);
}
[HttpGet]
public async Task<Response<Dictionary<string, object>>> LoadLanLingMyUncompletedTask([FromQuery] TaskUncompletReq req)
{
return await _app.LoadLanLingMyUncompletedTask(req);
}
[HttpGet]
public async Task<Response<Dictionary<string, object>>> LoadLanLingChildTask(string caseid)
{
return await _app.LoadLanLingChildTask(caseid);
}
[HttpGet]
public async Task<Response<Dictionary<string, object>>> LoadLanLingMyTask([FromQuery] TaskUncompletReq req)
{
return await _app.LoadLanLingMyTask(req);
}
[HttpGet]
public Response<List<dynamic>> loadStreet()
{
return _app.loadStreet();
}
/// <summary>
/// 整改审核第二层接口
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<dynamic>>>> LoadTaskIllegalDetailList([FromQuery] TaskDetailReq req)
{
return await _app.LoadTaskIllegalDetailList(req);
}
/// <summary>
/// 图斑列表
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<dynamic>>>> LoadCaseInfoTuBanList([FromQuery] CaseInfoTuBanReq req)
{
return await _app.LoadCaseInfoTuBanList(req);
}
[HttpGet]
[AllowAnonymous]
public async Task<Response<PageInfo<List<dynamic>>>> LoadCaseInfoTuBanListTest([FromQuery] CaseInfoTuBanReq req)
{
return await _app.LoadCaseInfoTuBanList1(req);
}
[HttpGet]
public async Task<Response<Dictionary<string, object>>> LoadCaseInfoTuBanListApp([FromQuery] CaseInfoTuBanReq req)
{
return await _app.LoadCaseInfoTuBanListApp(req);
}
/// <summary>
/// 导出案件shp文件
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpPost]
public IActionResult ExportCaseInfoShapefile([FromQuery] CaseInfoTuBanReq req)
{
try
{
string shpFilePath = Path.Combine(Path.GetTempPath(), $"图斑信息{DateTime.Now:yyyyMMddHHmmss}.shp");
string shpFilePathzip = Path.Combine(Path.GetTempPath(), $"图斑信息{DateTime.Now:yyyyMMddHHmmss}.zip");
_app.ExportCaseInfoShapefile(req, shpFilePath, shpFilePathzip);
byte[] fileBytes = System.IO.File.ReadAllBytes(shpFilePathzip);
return File(fileBytes, "application/octet-stream", $"图斑信息{DateTime.Now:yyyyMMddHHmmss}.zip");
}
catch (Exception ex)
{
return StatusCode(500, $"Internal server error: {ex.Message}");
}
}
/// <summary>
/// 违法用地待审核shape导出
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpPost]
public IActionResult ExportApprovalCaseInfoShapefile([FromQuery] CaseInfoTypeName req)
{
string shpFilePath = Path.Combine(Path.GetTempPath(), $"图斑信息{DateTime.Now:yyyyMMddHHmmss}.shp");
string shpFilePathzip = Path.Combine(Path.GetTempPath(), $"图斑信息{DateTime.Now:yyyyMMddHHmmss}.zip");
_app.ExportApprovalCaseInfoShapefile(req, shpFilePath, shpFilePathzip);
byte[] fileBytes = System.IO.File.ReadAllBytes(shpFilePathzip);
return File(fileBytes, "application/octet-stream", $"图斑信息{DateTime.Now:yyyyMMddHHmmss}.zip");
}
[HttpGet]
public async Task<Response<PageInfo<List<dynamic>>>> LoadCaseInfoIllegalList([FromQuery] CaseInfoTuBanReq req)
{
return await _app.LoadCaseInfoIllegalList(req);
}
/// <summary>
/// 图斑列表exel导出
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpPost]
public IActionResult ExportCaseInfoTuBanList([FromQuery] CaseInfoTuBanReq req)
{
var res = new Response();
//获取列表数
Response<List<CaseInfoTubanExport>> response = _app.ExprotLoadCaseInfoTuBanList(req);
//获取模板数据
List<ModuleColumn> headers = new List<ModuleColumn>();
ModuleColumn m01 = new ModuleColumn();
m01.key = "xuhao";
m01.value = "序号";
headers.Add(m01);
ModuleColumn m1 = new ModuleColumn();
m1.key = "tubanlaiyuan";
m1.value = "图斑来源";
headers.Add(m1);
ModuleColumn m411 = new ModuleColumn();
m411.key = "picihao";
m411.value = "批次";
headers.Add(m411);
ModuleColumn m2 = new ModuleColumn();
m2.key = "countyname";
m2.value = "县区名称";
headers.Add(m2);
ModuleColumn m3 = new ModuleColumn();
m3.key = "streetname";
m3.value = "乡镇名称";
headers.Add(m3);
ModuleColumn m31 = new ModuleColumn();
m31.key = "communityname";
m31.value = "社区/村名称";
headers.Add(m31);
ModuleColumn m4 = new ModuleColumn();
m4.key = "caseNo";
m4.value = "图斑编号";
headers.Add(m4);
ModuleColumn m41 = new ModuleColumn();
m41.key = "typename";
m41.value = "图斑类型";
headers.Add(m41);
ModuleColumn m5 = new ModuleColumn();
m5.key = "identificationTime";
m5.value = "下发时间";
headers.Add(m5);
ModuleColumn m6 = new ModuleColumn();
m6.key = "area";
m6.value = "图斑面积";
headers.Add(m6);
ModuleColumn m711 = new ModuleColumn();
m711.key = "nongyongdiarea";
m711.value = "农用地面积";
headers.Add(m711);
ModuleColumn m7 = new ModuleColumn();
m7.key = "gengdiArea";
m7.value = "耕地面积";
headers.Add(m7);
ModuleColumn m71 = new ModuleColumn();
m71.key = "yongjiujibennongtianarea";
m71.value = "永农面积";
headers.Add(m71);
ModuleColumn m72 = new ModuleColumn();
m72.key = "shengtaibaohuhongxianarea";
m72.value = "生态保护红线面积";
headers.Add(m72);
ModuleColumn m8 = new ModuleColumn();
m8.key = "isillegal";
m8.value = "判定结果";
headers.Add(m8);
ModuleColumn m9 = new ModuleColumn();
m9.key = "handleStatusName";
m9.value = "当前状态";
headers.Add(m9);
ModuleColumn m111 = new ModuleColumn();
m111.key = "jieshou_people";
m111.value = "接收人";
headers.Add(m111);
ModuleColumn m121 = new ModuleColumn();
m121.key = "jieshou_time";
m121.value = "接收时间";
headers.Add(m121);
ModuleColumn m11 = new ModuleColumn();
m11.key = "xiangmumc";
m11.value = "项目名称";
headers.Add(m11);
ModuleColumn m12 = new ModuleColumn();
m12.key = "xiangmuzhuti";
m12.value = "项目主体";
headers.Add(m12);
ModuleColumn m13 = new ModuleColumn();
m13.key = "actualUseTo";
m13.value = "实际用途";
headers.Add(m13);
ModuleColumn m14 = new ModuleColumn();
m14.key = "weifaleixing";
m14.value = "违法类型";
headers.Add(m14);
ModuleColumn m221 = new ModuleColumn();
m221.key = "pandingyijushuoming";
m221.value = "判定依据说明";
headers.Add(m221);
ModuleColumn m131 = new ModuleColumn();
m131.key = "examiner_name";
m131.value = "填报人";
headers.Add(m131);
ModuleColumn m141 = new ModuleColumn();
m141.key = "examine_time";
m141.value = "填报时间";
headers.Add(m141);
ModuleColumn m10 = new ModuleColumn();
m10.key = "measureName";
m10.value = "整改措施";
headers.Add(m10);
ModuleColumn m15 = new ModuleColumn();
m15.key = "transactor_name";
m15.value = "办理人";
headers.Add(m15);
ModuleColumn m151 = new ModuleColumn();
m151.key = "transact_time";
m151.value = "办理时间";
headers.Add(m151);
ModuleColumn m152 = new ModuleColumn();
m152.key = "remark";
m152.value = "备注";
headers.Add(m152);
ModuleColumn m23 = new ModuleColumn();
m23.key = "xjshenhejieguo";
m23.value = "县级审核结果";
headers.Add(m23);
ModuleColumn m24 = new ModuleColumn();
m24.key = "xianjiyijian";
m24.value = "县级审核意见";
headers.Add(m24);
ModuleColumn m25 = new ModuleColumn();
m25.key = "verifyuser";
m25.value = "县级审核人";
headers.Add(m25);
ModuleColumn m26 = new ModuleColumn();
m26.key = "verifytime";
m26.value = "县级审核时间";
headers.Add(m26);
ModuleColumn m27 = new ModuleColumn();
m27.key = "sjshenhejieguo";
m27.value = "市级审核结果";
headers.Add(m27);
ModuleColumn m28 = new ModuleColumn();
m28.key = "shijiyijian";
m28.value = "市级审核意见";
headers.Add(m28);
ModuleColumn m29 = new ModuleColumn();
m29.key = "hexiaoren";
m29.value = "市级审核人";
headers.Add(m29);
ModuleColumn m30 = new ModuleColumn();
m30.key = "hexiaotime";
m30.value = "市级审核时间";
headers.Add(m30);
ModuleColumn m301 = new ModuleColumn();
m301.key = "case_description";
m301.value = "图斑描述";
headers.Add(m301);
var excelRes = _app.ListToExcelTuban(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);
}
[HttpPost]
public IActionResult ExportCaseInfoIllegalList([FromQuery] CaseInfoTuBanReq req)
{
var res = new Response();
//获取列表数
Response<List<CaseInfoTubanExport>> response = _app.ExprotLoadCaseInfoIllegalList(req);
//获取模板数据
List<ModuleColumn> headers = new List<ModuleColumn>();
ModuleColumn m2 = new ModuleColumn();
m2.key = "countyname";
m2.value = "区县";
headers.Add(m2);
ModuleColumn m3 = new ModuleColumn();
m3.key = "streetname";
m3.value = "乡镇";
headers.Add(m3);
ModuleColumn m4 = new ModuleColumn();
m4.key = "caseNo";
m4.value = "图斑编号";
headers.Add(m4);
ModuleColumn m5 = new ModuleColumn();
m5.key = "identificationTime";
m5.value = "下发时间";
headers.Add(m5);
ModuleColumn m6 = new ModuleColumn();
m6.key = "area";
m6.value = "图斑面积";
headers.Add(m6);
ModuleColumn m7 = new ModuleColumn();
m7.key = "gengdiArea";
m7.value = "耕地面积";
headers.Add(m7);
ModuleColumn m8 = new ModuleColumn();
m8.key = "isillegal";
m8.value = "判定结果";
headers.Add(m8);
ModuleColumn m9 = new ModuleColumn();
m9.key = "handleStatusName";
m9.value = "当前状态";
headers.Add(m9);
ModuleColumn m11 = new ModuleColumn();
m11.key = "xiangmumc";
m11.value = "项目名称";
headers.Add(m11);
ModuleColumn m12 = new ModuleColumn();
m12.key = "xiangmuzhuti";
m12.value = "项目主体";
headers.Add(m12);
ModuleColumn m14 = new ModuleColumn();
m14.key = "weifaleixing";
m14.value = "违法类型";
headers.Add(m14);
ModuleColumn m13 = new ModuleColumn();
m13.key = "measureName";
m13.value = "整改措施";
headers.Add(m13);
ModuleColumn m15 = new ModuleColumn();
m15.key = "resultName";
m15.value = "处理方式";
headers.Add(m15);
ModuleColumn m16 = new ModuleColumn();
m16.key = "registrNumber";
m16.value = "立案号";
headers.Add(m16);
ModuleColumn m17 = new ModuleColumn();
m17.key = "illegalContact";
m17.value = "违法联系人";
headers.Add(m17);
ModuleColumn m18 = new ModuleColumn();
m18.key = "illegalShenfenzhenghao";
m18.value = "违法人身份证号";
headers.Add(m18);
var excelRes = _app.ListToExcelIllegal(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);
}
[HttpPost]
public Response<string> dealIllegalCaseInfo([FromBody] DealIllegalCaseInfo model)
{
Response<string> response = new Response<string>();
try
{
response.Result = _app.dealIllegalCaseInfo(model);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
[HttpPost]
[AllowAnonymous]
public Response<string> getShpDataInfo(QueryShpDataInfo shpDataInfo)
{
_app.getShpDataInfo(shpDataInfo);
return null;
}
#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
#region 无人机发现违法行为情况统计明细表
/// <summary>
/// 无人机发现违法行为情况统计明细表
/// </summary>
/// <returns></returns>
[HttpGet]
public Response<List<OffenceResp>> CaseOffence(DateTime startTime, DateTime endTime, string tubanlaiyuan)
{
Response<List<OffenceResp>> response = new Response<List<OffenceResp>>();
try
{
response = _app.CaseOffence(startTime, endTime, tubanlaiyuan);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 获取穿透案件信息 // 1 - 下发图斑2 - 合法3 - 违法小计4 - 其他5 - 非粮化6 - 补办手续7 - 拆除 ,8 - 核实后, 9 - 整改后10 - 非农化
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<DroneCaseInfoSingle>>>> LoadCaseInfoListOffence(
[FromQuery] QueryCaseOffencetReq req)
{
return await _app.LoadCaseInfoListOffence(req);
}
/// <summary>
/// 导出无人机全域巡查图斑核查情况统计表
/// </summary>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
[HttpPost]
public IActionResult CaseOffenceToExcel(DateTime startTime, DateTime endTime, string tubanlaiyuan)
{
var res = new Response();
var data = _app.CaseOffence(startTime, endTime, tubanlaiyuan).Result;
var excelRes = _app.CaseOffenceToExcel(data);
if (excelRes.Code == 200)
{
return File(excelRes.Result.ToArray(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"无人机全域巡查图斑核查情况统计表.xls");
}
else
{
res.Code = excelRes.Code;
res.Message = excelRes.Message;
}
return Ok(res);
}
/// <summary>
/// 导出图斑明细
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpPost]
public IActionResult ExprotCaseListByType([FromQuery] QueryCaseOffencetReq req)
{
var res = new Response();
// 获取列表数据
Response<List<DroneCaseByTypeResp>> response = _app.ExprotCaseListByType(req);
if (response.Code != 200)
{
res.Code = response.Code;
res.Message = "获取数据失败";
return Ok(res);
}
// 获取模板数据
List<ModuleColumn> headers = GetHeaders();
// 导出Excel
var excelRes = _app.ListToExcelByCaseType(response.Result, headers);
if (excelRes.Code == 200)
{
return File(excelRes.Result.ToArray(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
$"图斑信息{DateTime.Now:yyyyMMddHHmmss}.xls");
}
else
{
res.Code = excelRes.Code;
res.Message = "导出失败";
}
return Ok(res);
}
private List<ModuleColumn> GetHeaders()
{
var headers = new List<ModuleColumn>
{
new() { key = "xuhao", value = "序号" },
new() { key = "tubanlaiyuan", value = "图斑来源" },
new() { key = "picihao", value = "批次号" },
new() { key = "caseNo", value = "图斑编号" },
new() { key = "countyname", value = "县区名称" },
new() { key = "streetname", value = "乡镇名称" },
new() { key = "communityname", value = "村名称" },
new() { key = "case_description", value = "图斑描述" },
new() { key = "typename", value = "图斑类型" },
new() { key = "synchronoustime", value = "下发时间" },
new() { key = "area", value = "图斑面积" },
new() { key = "nongyongdiArea", value = "农用地面积" },
new() { key = "gengdiArea", value = "耕地面积" },
new() { key = "yongnongArea", value = "永农面积" },
new() { key = "isillegal", value = "判定结果" },
new() { key = "handleStatusName", value = "当前状态" },
new() { key = "jieshou_people", value = "接收人" },
new() { key = "jieshou_time", value = "接收时间" },
new() { key = "xiangmumc", value = "项目名称" },
new() { key = "xiangmuzhuti", value = "项目主体" },
new() { key = "qtsjyt", value = "实际用途" },
new() { key = "weifaleixing", value = "违法类型" },
new() { key = "pandingyijushuoming", value = "判定依据说明" },
new() { key = "examiner_name", value = "填报人" },
new() { key = "examine_time", value = "填报时间" },
new() { key = "measureName", value = "整改措施" },
new() { key = "transactor_name", value = "办理人" },
new() { key = "transact_time", value = "办理时间" },
new() { key = "remark", value = "备注" },
new() { key = "xjshenhejieguo", value = "县级审核结果" },
new() { key = "xianjiyijian", value = "县级审核意见" },
new() { key = "verifyuser", value = "县级审核人" },
new() { key = "verifytime", value = "县级审核时间" },
new() { key = "sjshenhejieguo", value = "市级审核结果" },
new() { key = "shijiyijian", value = "市级审核意见" },
new() { key = "hexiaoren", value = "市级审核人" },
new() { key = "hexiaotime", value = "市级审核时间" },
};
return headers;
}
/// <summary>
/// 导出shp文件
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpPost]
public IActionResult ExportShapefile([FromQuery] QueryCaseOffencetReq req)
{
try
{
// 获取列表数据
Response<List<DroneCaseByTypeResp>> response = _app.ExprotCaseListByType(req);
string shpFilePath = Path.Combine(Path.GetTempPath(), $"图斑信息{DateTime.Now:yyyyMMddHHmmss}.shp");
string shpFilePathzip = Path.Combine(Path.GetTempPath(), $"图斑信息{DateTime.Now:yyyyMMddHHmmss}.zip");
_app.ExportToShapefile(req, shpFilePath, shpFilePathzip);
byte[] fileBytes = System.IO.File.ReadAllBytes(shpFilePathzip);
return File(fileBytes, "application/octet-stream", $"图斑信息{DateTime.Now:yyyyMMddHHmmss}.zip");
}
catch (Exception ex)
{
return StatusCode(500, $"Internal server error: {ex.Message}");
}
}
/// <summary>
/// 导出土地卫片新增违法占用等地情况统计表
/// </summary>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
[HttpPost]
public IActionResult CaseOffenceSimpleToExcel(DateTime startTime, DateTime endTime, string tubanlaiyuan)
{
var res = new Response();
var excelRes = _app.CaseOffenceSimpleToExcel(startTime, endTime, tubanlaiyuan);
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 = excelRes.Message;
}
return Ok(res);
}
/// <summary>
/// 导出无人机全域巡查违法用地情况统计表
/// </summary>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
[HttpPost]
public IActionResult CaseOffenceSimpleToExcel2(DateTime startTime, DateTime endTime, string tubanlaiyuan)
{
var res = new Response();
var excelRes = _app.CaseOffenceSimpleToExcel2(startTime, endTime, tubanlaiyuan);
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 = excelRes.Message;
}
return Ok(res);
}
/// <summary>
/// 导出无人机全域巡查图斑下发情况统计表
/// </summary>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
[HttpPost]
public IActionResult CaseOfWrjqyxctbxfqktjbToExcel(DateTime startTime, DateTime endTime, string tubanlaiyuan)
{
var res = new Response();
var excelRes = _app.CaseOfWrjqyxctbxfqktjbToExcel(startTime, endTime, tubanlaiyuan);
if (excelRes.Code == 200)
{
return File(excelRes.Result.ToArray(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"无人机全域巡查图斑下发情况统计表.xls");
}
else
{
res.Code = excelRes.Code;
res.Message = excelRes.Message;
}
return Ok(res);
}
/// <summary>
/// 导出无人机全域巡查图斑整改情况统计表
/// </summary>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <returns></returns>
[HttpPost]
public IActionResult CaseOfWrjqyxctbzgqktjbToExcel(DateTime startTime, DateTime endTime, string tubanlaiyuan)
{
var res = new Response();
var excelRes = _app.CaseOfWrjqyxctbzgqktjbToExcel(startTime, endTime, tubanlaiyuan);
if (excelRes.Code == 200)
{
return File(excelRes.Result.ToArray(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"无人机全域巡查图斑整改情况统计表.xls");
}
else
{
res.Code = excelRes.Code;
res.Message = excelRes.Message;
}
return Ok(res);
}
/// <summary>
/// 案件分宗/图斑分割/图斑拆分/案件分割
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<string>> CaseSplit([FromBody] CaseSplitReq req)
{
Response<string> response = new Response<string>();
try
{
return await _app.CaseSplit(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>> CaseRecover([FromBody] CaseRecoverReq req)
{
Response<string> response = new Response<string>();
return await _app.CaseRecover(req);
/*try
{
return await _app.CaseRecover(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;*/
}
#endregion
#region 添加案件图片
[HttpPost]
[AllowAnonymous]
public Response<bool> AddCaseImg(List<DroneImageRef> info)
{
Response<bool> response = new Response<bool>();
try
{
return _app.AddCaseImg(info);
}
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<DroneImageRef>>> LoadCaseImgList(string caseid, string category)
{
return await _app.LoadCaseImgList(caseid, category);
}
[HttpGet]
[AllowAnonymous]
public Response<bool> DeleteCaseImg(string path, string fieldName, string caseid, string dataTable)
{
Response<bool> response = new Response<bool>();
try
{
return _app.DeleteCaseImg(path, fieldName, caseid, dataTable);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
#region 获取图斑
[HttpGet]
[AllowAnonymous]
public async Task<Response<List<DroneShpData>>> LoadDroneShpDataById(string caseid)
{
return await _app.LoadDroneShpDataById(caseid);
}
/// <summary>
/// 获取图斑中心点
/// </summary>
/// <param name="tablename">表名</param>
/// <param name="filter">筛选条件</param>
/// <returns></returns>
[HttpGet]
public Response<dynamic> GetCenterPoints(string tablename, string filter)
{
Response<dynamic> response = new Response<dynamic>();
try
{
response.Result = _app.GetCenterPoints(tablename, filter);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 根据表名获取矢量切片
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public IActionResult QueryVectorTileByTableold([FromQuery] QueryVectorTileByTableReq req)
{
var result = _app.QueryVectorTileByTable(req);
return File(result, "application/octet-stream");
}
[HttpGet]
[AllowAnonymous]
public async Task<IActionResult> QueryVectorTileByTable([FromQuery] QueryVectorTileByTableReq req)
{
var result = await _app.QueryVectorTileByTableAsync(req);
return File(result, "application/octet-stream");
}
#endregion
#region 案件操作历史记录
/// <summary>
/// 获取案件列表
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<DroneCaseInfoSingle>>>> LoadCaseInfoListForUpdate(
[FromQuery] DroneCaseForChangeReq req)
{
return await _app.LoadCaseInfoListForUpdate(req);
}
/// <summary>
/// 获取单个案件信息
/// </summary>
/// <param name="id">案件id</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<DroneCaseInfoSingle>> LoadCaseInfoById(string id)
{
return await _app.LoadCaseInfoById(id);
}
/// <summary>
/// 获取案件历史信息
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<DroneCaseInfoSingleHistory>>>> LoadCaseHistoryInfoList(
[FromQuery] PageReq req)
{
return await _app.LoadCaseHistoryInfoList(req);
}
/// <summary>
/// 更新案件信息
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> UpdateCaseInfo(DroneCaseInfoSingle info, string shppath)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.UpdateCaseInfo(info, shppath);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 根据专题更新案件信息
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> UpdateCaseInfoBySubject(UpdateDroneCaseDataForAllReq info)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.UpdateCaseInfoForAll(info);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 根据专题更新案件编号
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> UpdateCaseNoBySubject(UpdateDroneCaseNoReq info)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.UpdateCaseNo(info);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 查询是否有复提案件
/// </summary>
/// <param name="originalcaseno">案件原始编号</param>
/// <param name="subjectkey">专题</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<bool>> IsReSubmit(string originalcaseno, string subjectkey)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.IsReSubmit(originalcaseno, subjectkey);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
#region xiugai
[HttpPost]
[NonAction]
public Response<bool> UpdateYijian()
{
Response<bool> response = new Response<bool>();
try
{
return _app.UpdateYijian();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
[HttpPost]
[NonAction]
public Response<bool> UpdateYijianwpxf()
{
Response<bool> response = new Response<bool>();
try
{
return _app.UpdateYijianwpxf();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
//查找案件的图片信息
[HttpGet]
[AllowAnonymous]
public async Task<Response<bool>> SynchronousImg()
{
Response<bool> response = new Response<bool>();
try
{
return await _app.SynchronousImg();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 修改案件图片
/// </summary>
/// <param name="newpath"></param>
/// <param name="oldpath"></param>
/// <param name="newcaseid"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public Response<bool> UpdateCaseImg(string newpath, string oldpath, string newcaseid)
{
Response<bool> response = new Response<bool>();
try
{
return _app.UpdateCaseImg(newpath, oldpath, newcaseid);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 更新案件信息
/// </summary>
/// <param name="newpath"></param>
/// <param name="newcaseid"></param>
/// <param name="field"></param>
/// <param name="tablename"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public Response<bool> UpdateCase(string newpath, string newcaseid, string field, string tablename)
{
Response<bool> response = new Response<bool>();
try
{
return _app.UpdateCase(newpath, newcaseid, field, tablename);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
/// <summary>
/// 案件信息列表
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<PageInfo<List<dynamic>>>> LoadCaseInfoCheckTuBanList([FromQuery] CaseInfoTypeName req)
{
return await _app.LoadCaseInfoCheckTuBanList(req);
}
[HttpGet]
public async Task<Response<List<dynamic>>> Test(int year, string tubanlaiyuan, string picihao, int illegal)
{
return await _app.Test(year, tubanlaiyuan, picihao, illegal);
}
#region 案件关闭
/// <summary>
/// 案件关闭
/// </summary>
/// <param name="id">案件id</param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> CloseSingleCaseInfo(CloseCaseInfoReq req)
{
Response<bool> response = new Response<bool>();
try
{
response = await _app.CloseSingleCaseInfo(req.id, req.closereason);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
/// <summary>
///
/// </summary>
/// <param name="code"></param>
[HttpPost]
public async void TestToNonGrain(string code)
{
WfMethodParameter x = new WfMethodParameter();
x.ProcessId = code;
await _toNonGrainWorkMethod.Execute(x);
}
[HttpPost]
public Response<TubanSplit> CalTubanArea([FromBody] TubanSplit split)
{
Response<TubanSplit> response = new Response<TubanSplit>();
try
{
response.Result = _app.CalTubanArea(split);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
[HttpPost]
public Response<TubanSplit> SplitAndCalTubanArea([FromBody] TubanSplit split)
{
Response<TubanSplit> response = new Response<TubanSplit>();
try
{
response.Result = _app.SplitAndCalTubanArea(split);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
[HttpPost]
public Response<TubanSplit> SplitTubanBackYuan([FromBody] TubanSplit split)
{
Response<TubanSplit> response = new Response<TubanSplit>();
try
{
response.Result = _app.SplitTubanBackYuan(split);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
[HttpGet]
public Response<List<Dictionary<string, object>>> rebackzhuantipic(string zhuanti, string caseid)
{
Response<List<Dictionary<string, object>>> response = new Response<List<Dictionary<string, object>>>();
try
{
response.Result = _app.rebackzhuantipic(zhuanti, caseid);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
[HttpPost]
public async Task<Response<List<string>>> CopyImg(CopyImageReq req)
{
Response<List<string>> response = new Response<List<string>>();
try
{
response = await _app.CopyImg(req);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
}
return response;
}
[HttpGet]
public Response<List<Dictionary<string, object>>> rebackzhuantifujian(string zhuanti, string caseid)
{
Response<List<Dictionary<string, object>>> response = new Response<List<Dictionary<string, object>>>();
try
{
response.Result = _app.rebackzhuantifujian(zhuanti, caseid);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
[HttpPost]
public async Task<Response<List<string>>> Copyfujian(List<string> paths)
{
Response<List<string>> response = new Response<List<string>>();
try
{
response = await _app.Copyfujian(paths);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException != null ? ex.InnerException.Message : ex.Message;
}
return response;
}
}