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.
478 lines
16 KiB
C#
478 lines
16 KiB
C#
using Infrastructure;
|
|
using Infrastructure.Utilities.Excel;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using OpenAuth.App.ServiceApp.DroneSsnydManage;
|
|
using OpenAuth.App.ServiceApp.DroneSsnydManage.Export;
|
|
using OpenAuth.App.ServiceApp.DroneSsnydManage.Request;
|
|
using OpenAuth.Repository.Domain;
|
|
|
|
namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|
{
|
|
/// <summary>
|
|
/// 批后监管--项目信息
|
|
/// </summary>
|
|
[Route("api/[controller]/[action]")]
|
|
[ApiController]
|
|
public class DroneSsnyController : ControllerBase
|
|
{
|
|
DroneSsnyApp droneSsnyApp;
|
|
|
|
public DroneSsnyController(DroneSsnyApp droneSsnyApp)
|
|
{
|
|
this.droneSsnyApp = droneSsnyApp;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 到期预警
|
|
/// </summary>
|
|
/// <param name="xiangmumc">项目名称</param>
|
|
/// <param name="countyid">县</param>
|
|
/// <param name="streetid">镇</param>
|
|
/// <param name="xiangmuno">项目编号</param>
|
|
/// <param name="xiangmuyt">项目用途</param>
|
|
/// <param name="pageIndex"></param>
|
|
/// <param name="pageSize"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[AllowAnonymous]
|
|
public Response<PageInfo<List<DroneSsnyd>>> TimeoutWarning(string xiangmumc, string countyid, string streetid,
|
|
string xiangmuno, string xiangmuyt,
|
|
int page, int limit)
|
|
{
|
|
var response = new Response<PageInfo<List<DroneSsnyd>>>();
|
|
try
|
|
{
|
|
response.Result =
|
|
droneSsnyApp.TimeoutWarning(xiangmumc, countyid, streetid, xiangmuno, xiangmuyt, page, limit);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
response.Code = 500;
|
|
response.Message = ex.InnerException?.Message ?? ex.Message;
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 超期报警
|
|
/// </summary>
|
|
/// <param name="xiangmumc">项目名称</param>
|
|
/// <param name="countyid">县</param>
|
|
/// <param name="streetid">镇</param>
|
|
/// <param name="xiangmuno">项目编号</param>
|
|
/// <param name="xiangmuyt">项目用途</param>
|
|
/// <param name="pageIndex"></param>
|
|
/// <param name="pageSize"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[AllowAnonymous]
|
|
public Response<PageInfo<List<DroneSsnyd>>> TimeOutAlarmList(string xiangmumc, string countyid, string streetid,
|
|
string xiangmuno, string xiangmuyt,
|
|
int page, int limit)
|
|
{
|
|
var response = new Response<PageInfo<List<DroneSsnyd>>>();
|
|
try
|
|
{
|
|
response.Result =
|
|
droneSsnyApp.TimeOutAlarmList(xiangmumc, countyid, streetid, xiangmuno, xiangmuyt, page, limit);
|
|
}
|
|
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 Response<PageInfo<List<DroneSsnyd>>> HistoryProject([FromQuery] DroneSsnyAppPageReq req)
|
|
{
|
|
var response = new Response<PageInfo<List<DroneSsnyd>>>();
|
|
try
|
|
{
|
|
response.Result = droneSsnyApp.HistoryProject(req);
|
|
}
|
|
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 Response<PageInfo<List<DroneSsnyd>>> ProjectChange([FromQuery] DroneSsnyAppPageReq req)
|
|
{
|
|
var response = new Response<PageInfo<List<DroneSsnyd>>>();
|
|
try
|
|
{
|
|
response.Result = droneSsnyApp.ProjectChange(req);
|
|
}
|
|
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<DroneSsnydRcjg>>>> ProjectSupervise(
|
|
[FromQuery] DroneSsnydRcjgPageReq req)
|
|
{
|
|
var response = new Response<PageInfo<List<DroneSsnydRcjg>>>();
|
|
try
|
|
{
|
|
response.Result = await droneSsnyApp.ProjectSupervise(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>> ProjectMaintain(DroneSsnydEditReq req)
|
|
{
|
|
var response = new Response<bool>();
|
|
try
|
|
{
|
|
await droneSsnyApp.ProjectMaintain(req);
|
|
response.Result = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
response.Code = 500;
|
|
response.Message = ex.InnerException?.Message ?? ex.Message;
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 编号维护
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <param name="newXiangmuNo"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public async Task<Response<bool>> MaintainNumber(string id, string newXiangmuNo)
|
|
{
|
|
var response = new Response<bool>();
|
|
try
|
|
{
|
|
await droneSsnyApp.MaintainNumber(id, newXiangmuNo);
|
|
response.Result = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
response.Code = 500;
|
|
response.Message = ex.InnerException?.Message ?? ex.Message;
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 名称维护
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <param name="newXiangmuName"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public async Task<Response<bool>> MaintainXianmuName(string id, string newXiangmuName)
|
|
{
|
|
var response = new Response<bool>();
|
|
try
|
|
{
|
|
await droneSsnyApp.MaintainXianmuName(id, newXiangmuName);
|
|
response.Result = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
response.Code = 500;
|
|
response.Message = ex.InnerException?.Message ?? ex.Message;
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 项目续期
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <param name="newEndTime"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public async Task<Response<bool>> ProjectRenewal(string id, DateTime newEndTime)
|
|
{
|
|
var response = new Response<bool>();
|
|
try
|
|
{
|
|
await droneSsnyApp.ProjectRenewal(id, newEndTime);
|
|
response.Result = true;
|
|
}
|
|
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>> CloseProject(string id)
|
|
{
|
|
var response = new Response<bool>();
|
|
try
|
|
{
|
|
await droneSsnyApp.CloseProject(id);
|
|
response.Result = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
response.Code = 500;
|
|
response.Message = ex.InnerException?.Message ?? ex.Message;
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
// 项目移交
|
|
/// <summary>
|
|
/// 项目移交
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <param name="newUserId"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public async Task<Response<bool>> ProjectHandover(ProjectHandoverReq req)
|
|
{
|
|
var response = new Response<bool>();
|
|
try
|
|
{
|
|
await droneSsnyApp.ProjectHandover(req);
|
|
response.Result = true;
|
|
}
|
|
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<DroneSsnyd> ProjectDetail(string id)
|
|
{
|
|
var response = new Response<DroneSsnyd>();
|
|
try
|
|
{
|
|
response.Result = droneSsnyApp.ProjectDetail(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 IActionResult HistoryProjectExport([FromQuery] DroneSnnyAppReq req)
|
|
{
|
|
var data = droneSsnyApp.HistoryProjectList(req);
|
|
var x = ExcelExporter.ExportToExcel(data, "历史项目");
|
|
return File(x.Result.ToArray(),
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
"历史项目导出" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 项目变更导出
|
|
/// </summary>
|
|
/// <param name="req"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public IActionResult ProjectChangeExport([FromQuery] DroneSnnyAppReq req)
|
|
{
|
|
var data = droneSsnyApp.ProjectChangeExport(req);
|
|
var x = ExcelExporter.ExportToExcel(data, "项目变更");
|
|
return File(x.Result.ToArray(),
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
"项目变更导出" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx");
|
|
}
|
|
|
|
#region 预警报警导出
|
|
|
|
/// <summary>
|
|
/// 超期预警数据导出
|
|
/// </summary>
|
|
/// <param name="import"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[AllowAnonymous]
|
|
public IActionResult TimeoutWarningExport([FromQuery] TimeOutReq import)
|
|
{
|
|
var data = new Response();
|
|
List<string> headers = null;
|
|
headers = new List<string>
|
|
{
|
|
"项目编号", "项目名称", "乡镇", "村庄", "权利人", "行政区划", "备案编号", "项目开始时间", "项目结束时间", "项目当前用途", "设施农业申请用地面积", "生产设施用地",
|
|
"辅助设施用地", "下发时间", "项目状态"
|
|
};
|
|
var response = droneSsnyApp.TimeoutWarningExport(import.xiangmumc, import.countyid, import.streetid,
|
|
import.xiangmuno, import.xiangmuyt);
|
|
if (response.Count > 0)
|
|
{
|
|
var excelRes = droneSsnyApp.ListToExcel(response, headers);
|
|
if (excelRes.Code == 200)
|
|
{
|
|
return File(excelRes.Result.ToArray(),
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
"超期预警" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");
|
|
}
|
|
else
|
|
{
|
|
data.Code = excelRes.Code;
|
|
data.Message = "导出失败";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
data.Code = 300;
|
|
data.Message = "暂无数据";
|
|
}
|
|
|
|
return Ok(data);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 超期报警数据导出
|
|
/// </summary>
|
|
/// <param name="import"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[AllowAnonymous]
|
|
public IActionResult TimeoutAlarmExport([FromQuery] TimeOutReq import)
|
|
{
|
|
var data = new Response();
|
|
List<string> headers = null;
|
|
headers = new List<string>
|
|
{
|
|
"项目编号", "项目名称", "乡镇", "村庄", "权利人", "行政区划", "备案编号", "项目开始时间", "项目结束时间", "项目当前用途", "设施农业申请用地面积", "生产设施用地",
|
|
"辅助设施用地", "下发时间", "项目状态"
|
|
};
|
|
var response = droneSsnyApp.TimeOutAlarmExport(import.xiangmumc, import.countyid, import.streetid,
|
|
import.xiangmuno, import.xiangmuyt);
|
|
if (response.Count > 0)
|
|
{
|
|
var excelRes = droneSsnyApp.ListToExcel(response, headers);
|
|
if (excelRes.Code == 200)
|
|
{
|
|
return File(excelRes.Result.ToArray(),
|
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
"超期报警" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");
|
|
}
|
|
else
|
|
{
|
|
data.Code = excelRes.Code;
|
|
data.Message = "导出失败";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
data.Code = 300;
|
|
data.Message = "暂无数据";
|
|
}
|
|
|
|
return Ok(data);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 项目列表
|
|
|
|
/// <summary>
|
|
/// 项目列表
|
|
/// </summary>
|
|
/// <param name="xiangmumc">项目名称</param>
|
|
/// <param name="countyid">县</param>
|
|
/// <param name="streetid">镇</param>
|
|
/// <param name="xiangmuno">项目编号</param>
|
|
/// <param name="xiangmuyt">项目用途</param>
|
|
/// <param name="pageIndex"></param>
|
|
/// <param name="pageSize"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[AllowAnonymous]
|
|
public Response<PageInfo<List<DroneSsnyd>>> GetDronssnydList(string xiangmumc, string countyid, string streetid,
|
|
string xiangmuno, string xiangmuyt,
|
|
int page, int limit)
|
|
{
|
|
var response = new Response<PageInfo<List<DroneSsnyd>>>();
|
|
try
|
|
{
|
|
response.Result =
|
|
droneSsnyApp.GetDronssnydList(xiangmumc, countyid, streetid, xiangmuno, xiangmuyt, page, limit);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
response.Code = 500;
|
|
response.Message = ex.InnerException?.Message ?? ex.Message;
|
|
}
|
|
|
|
return response;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |