update 房屋编码

This commit is contained in:
2021-05-20 16:41:33 +08:00
parent 344b414d97
commit aa958e0a14
3 changed files with 746 additions and 6 deletions

View File

@@ -0,0 +1,408 @@
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ewide.Application.Entity
{
public class BsHouseInfo : Core.DEntityBase
{
/// <summary>
/// HouseCode主键ID
/// </summary>
[Comment("HouseCode主键ID")]
[MaxLength(36)]
[Required]
public string NumberId { get; set; }
/// <summary>
/// 幢名称
/// </summary>
[Comment("幢名称")]
[MaxLength(255)]
public string BuildingName { get; set; }
/// <summary>
/// 土地性质
/// </summary>
[Comment("土地性质")]
public int? LandAttribute { get; set; }
/// <summary>
/// 结构类型
/// </summary>
[Comment("结构类型")]
public int? StructureType { get; set; }
/// <summary>
/// 基础情况
/// </summary>
[Comment("基础情况")]
public int? BaseInfo { get; set; }
/// <summary>
/// 抗震等级
/// </summary>
[Comment("抗震等级")]
public int? SeismicGrade { get; set; }
/// <summary>
/// 竣工日期
/// </summary>
[Comment("竣工日期")]
public DateTime? CompletedDate { get; set; }
/// <summary>
/// 设计使用年限
/// </summary>
[Comment("设计使用年限")]
public int? UsefulYear { get; set; }
/// <summary>
/// 总层数
/// </summary>
[Comment("总层数")]
public int? TotalFloor { get; set; }
/// <summary>
/// 地上层数
/// </summary>
[Comment("地上层数")]
public int? LandFloorCount { get; set; }
/// <summary>
/// 地上商业层数开始
/// </summary>
[Comment("地上商业层数开始")]
public int? LandBsFloorStart { get; set; }
/// <summary>
/// 地上商业层数结束
/// </summary>
[Comment("地上商业层数结束")]
public int? LandBsFloorEnd { get; set; }
/// <summary>
/// 地上车棚层开始
/// </summary>
[Comment("地上车棚层开始")]
public int? LandBikeFloorStart { get; set; }
/// <summary>
/// 地上住宅层开始
/// </summary>
[Comment("地上住宅层开始")]
public int? LandResidenceFloorStart { get; set; }
/// <summary>
/// 地上住宅层结束
/// </summary>
[Comment("地上住宅层结束")]
public int? LandResidenceFloorEnd { get; set; }
/// <summary>
/// 地下层数
/// </summary>
[Comment("地下层数")]
public int? UnderFloorCount { get; set; }
/// <summary>
/// 总建筑面积
/// </summary>
[Comment("总建筑面积")]
public float? TotalArea { get; set; }
/// <summary>
/// 有无建筑幕墙
/// </summary>
[Comment("有无建筑幕墙")]
public int? CurtainWall { get; set; }
/// <summary>
/// 有无面砖
/// </summary>
[Comment("有无面砖")]
public int? FaceBrick { get; set; }
/// <summary>
/// 有无涂料
/// </summary>
[Comment("有无涂料")]
public int? Coating { get; set; }
/// <summary>
/// 有无粉刷
/// </summary>
[Comment("有无粉刷")]
public int? Painting { get; set; }
/// <summary>
/// 电梯
/// </summary>
[Comment("电梯")]
public string Elevator { get; set; }
/// <summary>
/// 总户数(户)
/// </summary>
[Comment("总户数(户)")]
public int? HouseHolds { get; set; }
/// <summary>
/// 房屋单元数
/// </summary>
[Comment("房屋单元数")]
public int? Units { get; set; }
/// <summary>
/// 各单元每层户数(户)
/// </summary>
[Comment("各单元每层户数(户)")]
public int? UnitFloorHolds { get; set; }
/// <summary>
/// 建设单位ID
/// </summary>
[Comment("建设单位ID")]
public string BuildingUnitId { get; set; }
/// <summary>
/// 设计单位ID
/// </summary>
[Comment("设计单位ID")]
public string DesingerUnitId { get; set; }
/// <summary>
/// 施工单位ID
/// </summary>
[Comment("施工单位ID")]
public string ConstructionUnitId { get; set; }
/// <summary>
/// 监理单位ID
/// </summary>
[Comment("监理单位ID")]
public string MonitorUnitId { get; set; }
/// <summary>
/// 产权性质
/// </summary>
[Comment("产权性质")]
public string PropertyRights { get; set; }
/// <summary>
/// 总共套数
/// </summary>
[Comment("总共套数")]
public int? HouseCount { get; set; }
/// <summary>
/// 直管公房套数
/// </summary>
[Comment("直管公房套数")]
public int? StraightHouseCount { get; set; }
/// <summary>
/// 自管公房套数
/// </summary>
[Comment("自管公房套数")]
public int? SelfHouseCount { get; set; }
/// <summary>
/// 私房套数
/// </summary>
[Comment("私房套数")]
public int? PrivateHouseCount { get; set; }
/// <summary>
/// 商品房套数
/// </summary>
[Comment("商品房套数")]
public int? BusinessCount { get; set; }
/// <summary>
/// 房改房套数
/// </summary>
[Comment("房改房套数")]
public int? ChangeHouseCount { get; set; }
/// <summary>
/// 拆迁安置房套数
/// </summary>
[Comment("拆迁安置房套数")]
public int? ResettlementHouseCount { get; set; }
/// <summary>
/// 其它套数
/// </summary>
[Comment("其它套数")]
public int? OtherCount { get; set; }
/// <summary>
/// 产权单位ID
/// </summary>
[Comment("产权单位ID")]
public string PropertyUnitId { get; set; }
/// <summary>
/// 物业单位ID
/// </summary>
[Comment("物业单位ID")]
public string WuYeUnitId { get; set; }
/// <summary>
/// 房屋场地
/// </summary>
[Comment("房屋场地")]
public string HouseSite { get; set; }
/// <summary>
/// 相邻施工
/// </summary>
[Comment("相邻施工")]
public string AdjacentConstruction { get; set; }
/// <summary>
/// 化学侵蚀
/// </summary>
[Comment("化学侵蚀")]
public string ChemicalErosion { get; set; }
/// <summary>
/// 结构拆改
/// </summary>
[Comment("结构拆改")]
public int? StructuralDismantling { get; set; }
/// <summary>
/// 加层改造
/// </summary>
[Comment("加层改造")]
public int? AddingLayer { get; set; }
/// <summary>
/// 修缮加固
/// </summary>
[Comment("修缮加固")]
public string RepairAndReinforce { get; set; }
/// <summary>
/// 历史灾害
/// </summary>
[Comment("历史灾害")]
public string HistoricalCalamity { get; set; }
/// <summary>
/// 使用功能变更
/// </summary>
[Comment("使用功能变更")]
public string FunctionalChange { get; set; }
/// <summary>
/// 其他调查内容
/// </summary>
[Comment("其他调查内容")]
public string OtherContents { get; set; }
/// <summary>
/// 图纸资料存档处
/// </summary>
[Comment("图纸资料存档处")]
public string DrawingMaterial { get; set; }
/// <summary>
/// 其他图纸存档
/// </summary>
[Comment("其他图纸存档")]
public string DrawingMaterialText { get; set; }
/// <summary>
/// 立项文件
/// </summary>
[Comment("立项文件")]
public string AnEntryDocument { get; set; }
/// <summary>
/// 规划许可
/// </summary>
[Comment("规划许可")]
public string PlanningPermission { get; set; }
/// <summary>
/// 竣工验收备案
/// </summary>
[Comment("竣工验收备案")]
public string CompletionRecord { get; set; }
/// <summary>
/// 监理资料
/// </summary>
[Comment("监理资料")]
public string MonitorDocument { get; set; }
/// <summary>
/// 鉴定报告
/// </summary>
[Comment("鉴定报告")]
public string IdentificationReport { get; set; }
/// <summary>
/// 其它资料
/// </summary>
[Comment("其它资料")]
public string OtherDocument { get; set; }
/// <summary>
/// 外立面照片
/// </summary>
[Comment("外立面照片")]
public string FacadePhoto { get; set; }
/// <summary>
/// 房屋等级 1,2,3,4,C,d
/// </summary>
[Comment("房屋等级 1,2,3,4,C,d")]
public int? HouseLevel { get; set; }
/// <summary>
/// 房屋使用状态
/// </summary>
[Comment("房屋使用状态")]
public int? UsedStatus { get; set; }
/// <summary>
/// 1、待建档需要建档的数据未暂存未保存的2、暂存点击了暂存的数据3、待提交点击了保存的数据 4、退回审核被退回的数据5、审核中6、审核通过
/// </summary>
[Comment("1、待建档需要建档的数据未暂存未保存的2、暂存点击了暂存的数据3、待提交点击了保存的数据 4、退回审核被退回的数据5、审核中6、审核通过")]
[Required]
public int State { get; set; }
/// <summary>
/// 调查登记机构
/// </summary>
[Comment("调查登记机构")]
public string InvestigateAgency { get; set; }
/// <summary>
/// 纸质资料调查人
/// </summary>
[Comment("纸质资料调查人")]
public string InvestigateUser { get; set; }
/// <summary>
/// 纸质资料审核人
/// </summary>
[Comment("纸质资料审核人")]
public string OfflineAuditor { get; set; }
/// <summary>
/// 主管部门
/// </summary>
[Comment("主管部门")]
public string CompetentDepartment { get; set; }
}
}

View File

@@ -4,6 +4,331 @@
<name>Ewide.Application</name> <name>Ewide.Application</name>
</assembly> </assembly>
<members> <members>
<member name="P:Ewide.Application.Entity.BsHouseInfo.NumberId">
<summary>
HouseCode主键ID
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.BuildingName">
<summary>
幢名称
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.LandAttribute">
<summary>
土地性质
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.StructureType">
<summary>
结构类型
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.BaseInfo">
<summary>
基础情况
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.SeismicGrade">
<summary>
抗震等级
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.CompletedDate">
<summary>
竣工日期
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.UsefulYear">
<summary>
设计使用年限
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.TotalFloor">
<summary>
总层数
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.LandFloorCount">
<summary>
地上层数
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.LandBsFloorStart">
<summary>
地上商业层数开始
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.LandBsFloorEnd">
<summary>
地上商业层数结束
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.LandBikeFloorStart">
<summary>
地上车棚层开始
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.LandResidenceFloorStart">
<summary>
地上住宅层开始
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.LandResidenceFloorEnd">
<summary>
地上住宅层结束
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.UnderFloorCount">
<summary>
地下层数
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.TotalArea">
<summary>
总建筑面积
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.CurtainWall">
<summary>
有无建筑幕墙
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.FaceBrick">
<summary>
有无面砖
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.Coating">
<summary>
有无涂料
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.Painting">
<summary>
有无粉刷
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.Elevator">
<summary>
电梯
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.HouseHolds">
<summary>
总户数(户)
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.Units">
<summary>
房屋单元数
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.UnitFloorHolds">
<summary>
各单元每层户数(户)
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.BuildingUnitId">
<summary>
建设单位ID
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.DesingerUnitId">
<summary>
设计单位ID
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.ConstructionUnitId">
<summary>
施工单位ID
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.MonitorUnitId">
<summary>
监理单位ID
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.PropertyRights">
<summary>
产权性质
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.HouseCount">
<summary>
总共套数
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.StraightHouseCount">
<summary>
直管公房套数
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.SelfHouseCount">
<summary>
自管公房套数
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.PrivateHouseCount">
<summary>
私房套数
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.BusinessCount">
<summary>
商品房套数
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.ChangeHouseCount">
<summary>
房改房套数
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.ResettlementHouseCount">
<summary>
拆迁安置房套数
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.OtherCount">
<summary>
其它套数
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.PropertyUnitId">
<summary>
产权单位ID
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.WuYeUnitId">
<summary>
物业单位ID
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.HouseSite">
<summary>
房屋场地
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.AdjacentConstruction">
<summary>
相邻施工
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.ChemicalErosion">
<summary>
化学侵蚀
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.StructuralDismantling">
<summary>
结构拆改
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.AddingLayer">
<summary>
加层改造
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.RepairAndReinforce">
<summary>
修缮加固
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.HistoricalCalamity">
<summary>
历史灾害
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.FunctionalChange">
<summary>
使用功能变更
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.OtherContents">
<summary>
其他调查内容
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.DrawingMaterial">
<summary>
图纸资料存档处
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.DrawingMaterialText">
<summary>
其他图纸存档
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.AnEntryDocument">
<summary>
立项文件
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.PlanningPermission">
<summary>
规划许可
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.CompletionRecord">
<summary>
竣工验收备案
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.MonitorDocument">
<summary>
监理资料
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.IdentificationReport">
<summary>
鉴定报告
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.OtherDocument">
<summary>
其它资料
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.FacadePhoto">
<summary>
外立面照片
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.HouseLevel">
<summary>
房屋等级 1,2,3,4,C,d
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.UsedStatus">
<summary>
房屋使用状态
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.State">
<summary>
1、待建档需要建档的数据未暂存未保存的2、暂存点击了暂存的数据3、待提交点击了保存的数据 4、退回审核被退回的数据5、审核中6、审核通过
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.InvestigateAgency">
<summary>
调查登记机构
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.InvestigateUser">
<summary>
纸质资料调查人
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.OfflineAuditor">
<summary>
纸质资料审核人
</summary>
</member>
<member name="P:Ewide.Application.Entity.BsHouseInfo.CompetentDepartment">
<summary>
主管部门
</summary>
</member>
<member name="T:Ewide.Application.Service.HouseCode.HouseCodeService"> <member name="T:Ewide.Application.Service.HouseCode.HouseCodeService">
<summary> <summary>
房屋编码相关 房屋编码相关

View File

@@ -35,10 +35,14 @@ namespace Ewide.Application.Service.HouseCode
[HttpPost("/houseCode/add")] [HttpPost("/houseCode/add")]
public async Task AddHouseCode(AddHouseCodeInput input) public async Task AddHouseCode(AddHouseCodeInput input)
{ {
var houseProjectInfoRep = Db.GetRepository<BsHouseProjectInfo>();
var houseProject = await houseProjectInfoRep.FirstOrDefaultAsync(p => p.Id == input.ProjectId);
if (houseProject == null) throw Oops.Oh("项目参数有误,添加失败");
var areaCodeRep = Db.GetRepository<SysAreaCode>(); var areaCodeRep = Db.GetRepository<SysAreaCode>();
var areaCode = await areaCodeRep.DetachedEntities.FirstOrDefaultAsync(a => a.Code == input.AreaCode && a.LevelType == 4); var areaCode = await areaCodeRep.DetachedEntities.FirstOrDefaultAsync(a => a.Code == input.AreaCode && a.LevelType == 4);
if(areaCode == null) throw Oops.Oh("区域编码有误,添加失败"); if(areaCode == null) throw Oops.Oh("区域编码有误,添加失败");
input.HouseCode = areaCode.AdCode + input.No.ToString().PadLeft(3, '0'); input.HouseCode = areaCode.AdCode + houseProject.Sort.ToString().PadLeft(3, '0') + input.No.ToString().PadLeft(3, '0');
var houseCode = input.Adapt<BsHouseCode>(); var houseCode = input.Adapt<BsHouseCode>();
var isExist = await _houseCodeRep.AnyAsync(p => p.HouseCode == houseCode.HouseCode); var isExist = await _houseCodeRep.AnyAsync(p => p.HouseCode == houseCode.HouseCode);
if (isExist) throw Oops.Oh("房屋编码已存在,不可重复添加"); if (isExist) throw Oops.Oh("房屋编码已存在,不可重复添加");
@@ -73,17 +77,20 @@ LEFT JOIN sys_area_code AA ON AA.AdCode = SUBSTR(CA.AdCode,1,6) WHERE HC.Address
/// <summary> /// <summary>
/// 获取同一区域下的下一个编号 /// 获取同一区域下的下一个编号
/// </summary> /// </summary>
/// <param name="areaCode"></param> /// <param name="projectId"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet("/houseCode/GetNextNoByFullNumber")] [HttpGet("/houseCode/GetNextNoByFullNumber")]
public async Task<dynamic> GetNextNoByFullNumber([Required] string areaCode) public async Task<dynamic> GetNextNoByFullNumber([Required] string projectId)
{ {
var areaCodeRep = Db.GetRepository<SysAreaCode>(); var areaCodeRep = Db.GetRepository<SysAreaCode>();
var houseProjectInfoRep = Db.GetRepository<BsHouseProjectInfo>();
var houseProject = await houseProjectInfoRep.FirstOrDefaultAsync(p => p.Id == projectId);
if(houseProject == null) throw Oops.Oh("项目参数有误,房屋编码生成失败");
//取到社区编码 //取到社区编码
var commAreaCode = await areaCodeRep.FirstOrDefaultAsync(a => a.Code == areaCode && a.LevelType == 4); var commAreaCode = await areaCodeRep.FirstOrDefaultAsync(a => a.Code == houseProject.AreaCode && a.LevelType == 4);
if(commAreaCode == null) throw Oops.Oh("区域编码有误,房屋编码生成失败"); if(commAreaCode == null) throw Oops.Oh("项目区域编码有误,房屋编码生成失败");
var maxNo = await _houseCodeRep.DetachedEntities var maxNo = await _houseCodeRep.DetachedEntities
.Where(h => h.HouseCode.Contains(commAreaCode.AdCode)) .Where(h => h.HouseCode.Contains(commAreaCode.AdCode + houseProject.Sort.ToString().PadLeft(3, '0')))
.MaxAsync(h => (int?)h.No); .MaxAsync(h => (int?)h.No);
return maxNo.GetValueOrDefault(0) + 1; return maxNo.GetValueOrDefault(0) + 1;
} }