update 实现添加房屋编码

This commit is contained in:
2021-05-19 23:15:22 +08:00
parent 3aff5a4413
commit 9bd6446a76
21 changed files with 885 additions and 113 deletions

View File

@@ -0,0 +1,42 @@
using Ewide.Core;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ewide.Application.Service.HouseCode.Dto
{
public class HouseCodeInput
{
}
public class AddHouseCodeInput : PageInputBase
{
[Required(ErrorMessage = "区域编码不能为空")]
public string AreaCode { get; set; }
[Required(ErrorMessage = "项目Id不能为空")]
public string ProjectId { get; set; }
[Required(ErrorMessage = "房屋编号不能为空")]
public string No { get; set; }
[Required(ErrorMessage = "片区Id不能为空")]
public string ZoneId { get; set; }
[Required(ErrorMessage = "房屋地址不能为空")]
public string Address { get; set; }
[Required(ErrorMessage = "房屋性质不能为空")]
public int Type { get; set; }
[Required(ErrorMessage = "所属行业不能为空")]
public int Industry { get; set; }
[Required(ErrorMessage = "经度不能为空")]
public string Lng { get; set; }
[Required(ErrorMessage = "纬度不能为空")]
public string Lat { get; set; }
}
public class EditHouseCodeInput : AddHouseCodeInput
{
[Required(ErrorMessage = "房屋编码Id不能为空")]
public string Id { get; set; }
}
}

View File

@@ -0,0 +1,35 @@
using Ewide.Application.Entity;
using Ewide.Application.Service.HouseCode.Dto;
using Furion.DatabaseAccessor;
using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Furion.FriendlyException;
using Mapster;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ewide.Application.Service.HouseCode
{
public class HouseCodeService : IHouseCodeService, IDynamicApiController, ITransient
{
private readonly IRepository<BsHouseCode> _houseCodeRep;
public HouseCodeService(IRepository<BsHouseCode> HouseCodeRep)
{
_houseCodeRep = HouseCodeRep;
}
[HttpPost("/houseCode/add")]
public async Task AddHouseCode(AddHouseCodeInput input)
{
var houseCode = input.Adapt<BsHouseCode>();
var isExist = await _houseCodeRep.AnyAsync(p => p.AreaCode == houseCode.AreaCode && p.ProjectId == houseCode.ProjectId && p.No == houseCode.No);
if (isExist) throw Oops.Oh("房屋编码已存在,不可重复添加");
await _houseCodeRep.InsertAsync(houseCode);
}
}
}

View File

@@ -0,0 +1,14 @@
using Ewide.Application.Service.HouseCode.Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ewide.Application.Service.HouseCode
{
public interface IHouseCodeService
{
Task AddHouseCode(AddHouseCodeInput input);
}
}

View File

@@ -41,4 +41,12 @@ namespace Ewide.Application.Service.HouseProjectInfo.Dto
{
public string pid { get; set; }
}
public class ListHouseProjectInfoInput
{
[Required(ErrorMessage = "区域编码不可为空")]
public string AreaCode { get; set; }
[Required(ErrorMessage = "性质不可为空")]
public int Type { get; set; }
}
}

View File

@@ -121,7 +121,7 @@ namespace Ewide.Application.Service.HouseProjectInfo
}
[HttpGet("/houseProjectInfo/nextSort")]
public async Task<int> GetNextProjectSortByAreaCode([FromQuery] HouseProjectInfoInput input)
public async Task<int> GetNextProjectSortByAreaCode([FromQuery] ListHouseProjectInfoInput input)
{
//var projects = await _houseProjectInfoRep.DetachedEntities
// .Where(p => p.AreaCode == input.AreaCode && p.Type == input.Type)
@@ -138,5 +138,19 @@ namespace Ewide.Application.Service.HouseProjectInfo
return p.GetValueOrDefault(0) + 1;
}
/// <summary>
/// 获取项目下拉列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpGet("houseProjectInfo/list")]
public async Task<dynamic> GetProjectList([FromQuery] ListHouseProjectInfoInput input)
{
return await _houseProjectInfoRep.DetachedEntities
.Where(p => p.AreaCode == input.AreaCode && p.Type == input.Type)
.OrderBy(p => p.Sort)
.ToListAsync();
}
}
}

View File

@@ -18,6 +18,7 @@ namespace Ewide.Application.Service.HouseProjectInfo
Task<dynamic> GetProject([FromQuery] QueryProjectInput input);
Task<dynamic> QueryProjectPageList([FromQuery] PageProjectInput input);
Task<int> GetNextProjectSortByAreaCode([FromQuery] HouseProjectInfoInput input);
Task<int> GetNextProjectSortByAreaCode([FromQuery] ListHouseProjectInfoInput input);
Task<dynamic> GetProjectList([FromQuery] ListHouseProjectInfoInput input);
}
}