using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.Repository.Domain;
using OpenAuth.App.ServiceApp.TaxZongdiManage;
using OpenAuth.App.ServiceApp.TaxZongdiManage.Request;
using OpenAuth.App.ServiceApp.TaxBuildingManage.Request;
using SqlSugar;
using Infrastructure.Helpers.Excel.Model;
using Infrastructure.Helpers.Excel;
namespace OpenAuth.WebApi.Controllers.ServiceController
{
///
/// 用地信息
///
[Route("api/[controller]/[action]")]
[ApiController]
public class TaxZongdiController : ControllerBase
{
TaxZongdiApp _comApp;
public TaxZongdiController(
TaxZongdiApp comApp)
{
_comApp = comApp;
}
#region 获取分页数据列表
///
/// 获取分页列表
///
///
///
[HttpGet]
[AllowAnonymous]
public async Task>>> LoadZongdiPageList([FromQuery] TaxZongdiReq req)
{
var result = new Response>>();
try
{
var data = await _comApp.LoadZongdiPageList(req);
result = data;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
///
/// 根据id获取单个用地信息
///
/// 企业用地gid
///
[HttpGet]
[AllowAnonymous]
public async Task> GetZongdiInfoById(int gid)
{
var result = new Response();
try
{
var data = await _comApp.GetZongdiInfoById(gid);
result.Result = data;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
#endregion
#region
///
/// 添加用地信息
///
///
///
///
[HttpPost]
[AllowAnonymous]
public async Task> AddZongdi(TaxZongdi req)
{
var result = new Response();
try
{
var data = await _comApp.AddZongdi(req);
result = data;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
///
/// 编辑用地信息
///
///
///
///
[HttpPost]
[AllowAnonymous]
public async Task> UpdateZongdi(TaxZongdi req)
{
var result = new Response();
try
{
var data = await _comApp.UpdateZongdi(req);
result = data;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
///
/// 删除用地信息
///
/// 企业用地gid
[HttpPost]
[AllowAnonymous]
public async Task> DeleteZongdi(int[] ids)
{
var result = new Response();
try
{
var data = await _comApp.DeleteZongdi(ids);
result = data;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
#endregion
#region 企业用地数据导入
///
/// 上传企业用地数据
///
/// 文件
///
[HttpPost]
[AllowAnonymous]
public Response ImportZongdiInfo(IFormFileCollection formFiles)
{
Response response = new Response();
try
{
response = _comApp.ImportZongdiInfo(formFiles);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
#region 获取导出数据
///
/// 获取导出数据
///
/// 功能id
/// id数据
/// 查询参数
/// 编号
///
[HttpPost]
[AllowAnonymous]
public async Task ExportZongdi([FromQuery] TaxZongdiReq req)
{
var res = new Response();
//获取列表数据
var result = await _comApp.LoadZongdiPageExport(req);
List columns = new List
{
new ModuleColumn { key = "gid", value = "gid" },
new ModuleColumn { key = "RowNumber", value = "序号" },
new ModuleColumn { key = "zdbm", value = "宗地编号" },
new ModuleColumn { key = "bdcdyh", value = "不动产单元号" },
new ModuleColumn { key = "djqmc", value = "乡镇" },
new ModuleColumn { key = "djzqmc", value = "村" },
new ModuleColumn { key = "zdfzmj", value = "宗地发证面积" },
new ModuleColumn { key = "syqsq", value = "使用起始期" },
new ModuleColumn { key = "tdxz", value = "土地性质" },
new ModuleColumn { key = "jzfzzmj", value = "建筑发证总面积" },
new ModuleColumn { key = "tdqdfs", value = "土地取得方式" },
};
var excelRes = ExcelHelper.ListToExcel(result.Result, columns);
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);
}
#endregion
}
}