添加用房相关接口

main
洁 任 4 weeks ago
parent 8c6c45b4e5
commit 11405b36ae

@ -103,6 +103,17 @@ namespace OpenAuth.App.ServiceApp.CompanyManage
var list = await client.Queryable<TaxCompany>().Where(r=>r.Id==id).FirstAsync();
return list;
}
/// <summary>
/// 根据社会信用代码获取单个企业信息
/// </summary>
/// <param name="shxydm">企业社会信用代码</param>
/// <returns></returns>
public async Task<TaxCompany> GetConpanyInfoByshxydm(string shxydm)
{
var list = await client.Queryable<TaxCompany>().Where(r => r.shxydm == shxydm).FirstAsync();
return list;
}
#endregion
#region 编辑企业信息
@ -251,6 +262,10 @@ namespace OpenAuth.App.ServiceApp.CompanyManage
if (sheet != null)
{
IRow firstRow = sheet.GetRow(0);
if(firstRow.GetCell(32)?.ToString() != "djzqmc")
{
throw new Exception("非标准模板文档,请重新整理。");
}
//获取有效数据行数
int lastRow = sheet.LastRowNum;
//int rowCount = 0;

@ -0,0 +1,45 @@
using OpenAuth.App.Request;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OpenAuth.App.ServiceApp.TaxBuildingManage.Request
{
public class TaxBuildingReq:PageReq
{
/// <summary>
/// Desc:建筑物编码
/// Default:
/// Nullable:True
/// </summary>
public string jzwbm { get; set; }
/// <summary>
/// Desc:建筑物名称
/// Default:
/// Nullable:True
/// </summary>
public string jzwmc { get; set; }
/// <summary>
/// Desc:建筑物结构
/// Default:
/// Nullable:True
/// </summary>
public string jzwjg { get; set; }
/// <summary>
/// Desc:竣工日期--大
/// Default:
/// Nullable:True
/// </summary>
public DateTime? jgrqmax { get; set; }
/// <summary>
/// Desc:竣工日期--小
/// Default:
/// Nullable:True
/// </summary>
public DateTime? jgrqmin { get; set; }
}
}

@ -0,0 +1,381 @@
using OpenAuth.App.BaseApp.Base;
using OpenAuth.Repository.Domain;
using OpenAuth.Repository;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Infrastructure;
using Microsoft.AspNetCore.Http;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using OpenAuth.App.BasicQueryService;
using OpenAuth.App.Interface;
using OpenAuth.App.ServiceApp.TaxZongdiManage.Request;
using SqlSugar;
using OpenAuth.App.ServiceApp.TaxBuildingManage.Request;
namespace OpenAuth.App.ServiceApp.TaxBuildingManage
{
public class TaxBuildingApp : SqlSugarBaseApp<TaxBuilding, SugarDbContext>
{
private ISqlSugarClient client;
CommonDataManager _commonDataManager;
#region 构造函数
public TaxBuildingApp(
CommonDataManager commonDataManager,
ISugarUnitOfWork<SugarDbContext> unitWork,
ISimpleClient<TaxBuilding> repository,
IAuth auth,
ISqlSugarClient sqlSugarClient
) : base(unitWork, repository, auth)
{
this.client = sqlSugarClient;
_commonDataManager = commonDataManager;
}
#endregion
#region 获取分页数据列表
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public async Task<Response<PageInfo<List<dynamic>>>> LoadBuildingPageList(TaxBuildingReq req)
{
RefAsync<int> totalCount = 0;
var query = client.Queryable<TaxBuilding>()
.WhereIF(!string.IsNullOrEmpty(req.jzwbm), r => r.jzwbm == req.jzwbm)
.WhereIF(!string.IsNullOrEmpty(req.jzwmc), r => r.jzwmc.Contains(req.jzwmc))
.WhereIF(!string.IsNullOrEmpty(req.jzwjg), r => r.jzwjg == req.jzwjg)
.WhereIF(req.jgrqmax!=null, r => r.jgrq<req.jgrqmax)
.WhereIF(req.jgrqmin!=null, r => r.jgrq>req.jgrqmin)
.Select<dynamic>(r => new
{
RowNumber = SqlFunc.RowNumber(r.gid),
r.gid,
r.jzwbm,
r.jzwmc,
r.jzwjg,
r.jzsyqr,
r.jzwsjmj,
r.jzwfzmj,
r.jgrq,
r.dcrq,
r.bz
});
var result = await query.ToPageListAsync(req.page, req.limit, totalCount);
return new Response<PageInfo<List<dynamic>>>
{
Code = 200,
Message = "success",
Result = new PageInfo<List<dynamic>>
{
Items = result,
Total = totalCount
}
};
}
/// <summary>
/// 根据id获取单个企业用房信息
/// </summary>
/// <param name="gid">用房gid</param>
/// <returns></returns>
public async Task<TaxBuilding> GetBuildingInfoById(int gid)
{
var list = await client.Queryable<TaxBuilding>().Where(r => r.gid == gid).FirstAsync();
return list;
}
#endregion
#region 编辑企业用房信息
/// <summary>
/// 添加企业用房信息
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<Response<bool>> AddBuilding(TaxBuilding req)
{
using (var uow = base.UnitWork.CreateContext())
{
if (uow.TaxBuilding.IsAny(u => u.jzwbm == req.jzwbm))
{
throw new Exception("建筑物编码已存在");
}
//获取主键
string _gid = _commonDataManager.GetMaxKeyVal("gid", "tax_building", 1);
req.gid = int.Parse(_gid);//转为数字类型
//获取objectid
string _objid = _commonDataManager.GetMaxKeyVal("objectid", "tax_building", 1);
req.objectid = int.Parse(_objid);//转为数字类型
bool insert = await uow.TaxBuilding.InsertAsync(req);
bool flag = uow.Commit();
return new Response<bool>
{
Result = flag && insert,
Message = (flag && insert) == true ? "success" : "error"
};
}
}
/// <summary>
/// 修改企业用房信息
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
public async Task<Response<bool>> UpdateBuilding(TaxBuilding req)
{
using (var uow = base.UnitWork.CreateContext())
{
if (uow.TaxBuilding.AsQueryable().Where(u => u.jzwbm == req.jzwbm && u.gid == req.gid).Count() > 1)
{
throw new Exception("建筑物编码已存在");
}
bool update = await uow.TaxBuilding.UpdateAsync(req);
bool flag = uow.Commit();
return new Response<bool>
{
Result = flag && update,
Message = (flag && update) == true ? "success" : "error"
};
}
}
/// <summary>
/// 删除企业用房
/// </summary>
/// <param name="ids"></param>
public async Task<Response<bool>> DeleteBuilding(int[] ids)
{
using (var uow = base.UnitWork.CreateContext())
{
var delete = await uow.TaxBuilding.DeleteAsync(a => ids.Contains(a.gid));
var flag = uow.Commit();
return new Response<bool>
{
Result = flag && delete,
Message = flag && delete == true ? "success" : "error"
};
}
}
#endregion
#region 上传企业用房信息
/// <summary>
/// 上传企业用房信息
/// </summary>
/// <param name="formFiles"></param>
/// <returns></returns>
public Response<bool> ImportBuildingInfo(IFormFileCollection formFiles)
{
IFormFile file = formFiles[0];
//存储文件到服务器
if (file != null)
{
if (file.FileName.IndexOf(".xls") > 0 || file.FileName.IndexOf(".xlsx") > 0)
{
//数据库导入
IWorkbook workbook = null;
if (file.FileName.IndexOf(".xlsx") > 0)
{
using (var stream = file.OpenReadStream())
{
workbook = new XSSFWorkbook(stream);//excel的版本2007
}
}
else if (file.FileName.IndexOf(".xls") > 0)
{
using (var stream = file.OpenReadStream())
{
workbook = new HSSFWorkbook(stream);//excel的版本2003
}
}
//数据处理
using (var uow = base.UnitWork.CreateContext())
{
//获取sheet
ISheet sheet;
sheet = workbook.GetSheetAt(0);
//处理sheet数据
string res = "";
if (sheet != null)
{
IRow firstRow = sheet.GetRow(0);
if (firstRow.GetCell(26)?.ToString() != "jzsyqr")
{
throw new Exception("非标准模板文档,请重新整理。");
}
//获取有效数据行数
int lastRow = sheet.LastRowNum;
//int rowCount = 0;
//具体excel数据解析
for (int i = 1; i <= lastRow; ++i)
{
IRow row = sheet.GetRow(i);
if (row == null || string.IsNullOrEmpty(row.GetCell(0).ToString())) continue;
TaxBuilding cy = new TaxBuilding();
//获取主键
string _gid = _commonDataManager.GetMaxKeyVal("gid", "tax_zongdi", 1);
cy.gid = int.Parse(_gid);//转为数字类型
//获取objectid
string _objid = _commonDataManager.GetMaxKeyVal("objectid", "tax_zongdi", 1);
cy.objectid = int.Parse(_objid);//转为数字类型
if (string.IsNullOrEmpty(row.GetCell(2)?.ToString()))
{
cy.shape_leng = null;
}
else
{
cy.shape_leng = Convert.ToDecimal(row.GetCell(2)?.ToString());
}
if (string.IsNullOrEmpty(row.GetCell(3)?.ToString()))
{
cy.shape_area = null;
}
else
{
cy.shape_area = Convert.ToDecimal(row.GetCell(3)?.ToString());
}
cy.szzdbm = row.GetCell(4)?.ToString();
cy.jzwbm = row.GetCell(5)?.ToString();
cy.jzwjg = row.GetCell(6)?.ToString();
cy.jzwcs = row.GetCell(7)?.ToString();
cy.szcs = row.GetCell(8)?.ToString();
if (string.IsNullOrEmpty(row.GetCell(9)?.ToString()))
{
cy.jgrq = null;
}
else
{
cy.jgrq = Convert.ToDateTime(row.GetCell(9)?.DateCellValue);
}
cy.qdfs = row.GetCell(10)?.ToString();
if (string.IsNullOrEmpty(row.GetCell(11)?.ToString()))
{
cy.symj = null;
}
else
{
cy.symj = Convert.ToDecimal(row.GetCell(11)?.ToString());
}
if (string.IsNullOrEmpty(row.GetCell(12)?.ToString()))
{
cy.mjjsxs = null;
}
else
{
cy.mjjsxs = Convert.ToDecimal(row.GetCell(12)?.ToString());
}
if (string.IsNullOrEmpty(row.GetCell(13)?.ToString()))
{
cy.jzwsjzdmj = null;
}
else
{
cy.jzwsjzdmj = Convert.ToDecimal(row.GetCell(13)?.ToString());
}
if (string.IsNullOrEmpty(row.GetCell(14)?.ToString()))
{
cy.jzwsjmj = null;
}
else
{
cy.jzwsjmj = Convert.ToDecimal(row.GetCell(14)?.ToString());
}
if (string.IsNullOrEmpty(row.GetCell(15)?.ToString()))
{
cy.jzwfzmj = null;
}
else
{
cy.jzwfzmj = Convert.ToDecimal(row.GetCell(15)?.ToString());
}
cy.dcr = row.GetCell(16)?.ToString();
if (string.IsNullOrEmpty(row.GetCell(17)?.ToString()))
{
cy.dcrq = null;
}
else
{
cy.dcrq = Convert.ToDateTime(row.GetCell(17)?.DateCellValue);
}
cy.clr = row.GetCell(18)?.ToString();
if (string.IsNullOrEmpty(row.GetCell(19)?.ToString()))
{
cy.clrq = null;
}
else
{
cy.clrq = Convert.ToDateTime(row.GetCell(19)?.DateCellValue);
}
cy.bz = row.GetCell(20)?.ToString();
cy.bdcdyh=row.GetCell(21)?.ToString();
cy.jzwmc = row.GetCell(22)?.ToString();
cy.fwybh = row.GetCell(23)?.ToString();
if (!string.IsNullOrEmpty(row.GetCell(24)?.ToString()))
{
cy.geom = row.GetCell(24)?.ToString();
}
cy.jzwsyqr = row.GetCell(25)?.ToString();
cy.jzsyqr = row.GetCell(26)?.ToString();
if (uow.TaxBuilding.IsAny(u => u.jzwbm == cy.jzwbm))
{
res += "建筑物编码" + cy.jzwbm + "已存在,";
}
else
{
uow.TaxBuilding.Insert(cy);
}
}
}
var flag = uow.Commit();
return new Response<bool>
{
Result = flag,
Message = flag == true ? "导入成功" + res : "导入失败"
};
}
}
else
{
return new Response<bool>
{
Result = false,
Message = "上传文件类型错误请上传Excel文件"
};
}
}
else
{
return new Response<bool>
{
Result = false,
Message = "文件为空"
};
}
}
#endregion
}
}

@ -234,6 +234,10 @@ namespace OpenAuth.App.ServiceApp.TaxZongdiManage
if (sheet != null)
{
IRow firstRow = sheet.GetRow(0);
if (firstRow.GetCell(35)?.ToString() != "ssnydbamj")
{
throw new Exception("非标准模板文档,请重新整理。");
}
//获取有效数据行数
int lastRow = sheet.LastRowNum;
//int rowCount = 0;
@ -374,7 +378,14 @@ namespace OpenAuth.App.ServiceApp.TaxZongdiManage
{
cy.geom = row.GetCell(34)?.ToString();
}
if (string.IsNullOrEmpty(row.GetCell(35)?.ToString()))
{
cy.ssnydbamj = null;
}
else
{
cy.ssnydbamj = Convert.ToDecimal(row.GetCell(35)?.ToString());
}
if (uow.TaxZongdi.IsAny(u => u.zdbm == cy.zdbm))
{
res += "宗地编码" + cy.zdbm + "已存在,";

@ -191,5 +191,18 @@ namespace OpenAuth.Repository.Domain
/// </summary>
public string geom {get;set;}
/// <summary>
/// Desc:建筑物使用权人
/// Default:
/// Nullable:True
/// </summary>
public string jzwsyqr { get; set; }
/// <summary>
/// Desc:建筑物所有权人
/// Default:
/// Nullable:True
/// </summary>
public string jzsyqr { get; set; }
}
}

@ -261,5 +261,12 @@ namespace OpenAuth.Repository.Domain
/// </summary>
public string geom {get;set;}
/// <summary>
/// Desc:设施农用地备案面积
/// Default:
/// Nullable:True
/// </summary>
public decimal? ssnydbamj { get; set; }
}
}

@ -0,0 +1,167 @@
using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.ServiceApp.TaxBuildingManage.Request;
using OpenAuth.App.ServiceApp.TaxBuildingManage;
using OpenAuth.Repository.Domain;
namespace OpenAuth.WebApi.Controllers.ServiceController
{
/// <summary>
/// 用房信息
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class TaxBuildingController : ControllerBase
{
TaxBuildingApp _comApp;
public TaxBuildingController(
TaxBuildingApp comApp)
{
_comApp = comApp;
}
#region 获取分页数据列表
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<Response<PageInfo<List<dynamic>>>> LoadBuildingPageList([FromQuery] TaxBuildingReq req)
{
var result = new Response<PageInfo<List<dynamic>>>();
try
{
var data = await _comApp.LoadBuildingPageList(req);
result = data;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 根据id获取单个用房信息
/// </summary>
/// <param name="gid">企业用房gid</param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<Response<TaxBuilding>> GetBuildingInfoById(int gid)
{
var result = new Response<TaxBuilding>();
try
{
var data = await _comApp.GetBuildingInfoById(gid);
result.Result = data;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
#endregion
#region
/// <summary>
/// 添加用房信息
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
[HttpPost]
[AllowAnonymous]
public async Task<Response<bool>> AddBuilding(TaxBuilding req)
{
var result = new Response<bool>();
try
{
var data = await _comApp.AddBuilding(req);
result = data;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 编辑用房信息
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
[HttpPost]
[AllowAnonymous]
public async Task<Response<bool>> UpdateBuilding(TaxBuilding req)
{
var result = new Response<bool>();
try
{
var data = await _comApp.UpdateBuilding(req);
result = data;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
/// <summary>
/// 删除用房信息
/// </summary>
/// <param name="ids">企业用房gid</param>
[HttpPost]
[AllowAnonymous]
public async Task<Response<bool>> DeleteBuilding(int[] ids)
{
var result = new Response<bool>();
try
{
var data = await _comApp.DeleteBuilding(ids);
result = data;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
#endregion
#region 企业用房数据导入
/// <summary>
/// 上传企业用房数据
/// </summary>
/// <param name="formFiles">文件</param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public Response<bool> ImportBuildingInfo(IFormFileCollection formFiles)
{
Response<bool> response = new Response<bool>();
try
{
response = _comApp.ImportBuildingInfo(formFiles);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
}
}

@ -69,6 +69,29 @@ namespace OpenAuth.WebApi.Controllers.ServiceController
}
return result;
}
/// <summary>
/// 根据社会信用代码获取单个企业信息
/// </summary>
/// <param name="id">企业社会信用代码</param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<Response<TaxCompany>> GetConpanyInfoByshxydm(string shxydm)
{
var result = new Response<TaxCompany>();
try
{
var data = await _comApp.GetConpanyInfoByshxydm(shxydm);
result.Result = data;
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return result;
}
#endregion
#region
/// <summary>

Loading…
Cancel
Save