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 } }