第2章 房源生成

上次我们说了第一种房源生成方式,主要是针对建筑性质为住宅-多层-多层的,现在我们来说一下第二种生成房间的方式

2.2.1.2 第二种生成楼栋的方法:这种生成的主要是生成车位或商铺,这是根据号码生成的。

第一步:界面效果

从界面上看我们这里用到的控件有:

控件名称

说明

单行文本框(easyui-textbox)

第一要设置每个控件的id,第二可以设置每个控件的大小,不设置也有默认值,第三(data-options)是数据的操作可以设置控件的属性和事件。

下拉框(easyui-combobox)

按钮(easyui-linkbutton)

树形控件(easyui-tree)

复选框(checkbox)

第二步:生成车位或商铺的时候需要在某个已经生成房间的楼栋下生成,数据库表与表的关系如下:

表的说明:

1、房间资料表:

用于存放房间资料信息

dbo.SYS_RoomDataTable

Primary Key(s):  RoomDataID

Field

Type

主键/外键

说明

RoomDataID

int - Identity

主键

房间资料ID

HouseID

int

楼栋ID

RoomCode

nchar (50)

房间代码

RoomUnit

nchar (10)

房间单元

RoomNumber

nchar (20)

房号

natureNumber

nchar (20)

自然号

Floor

nchar (20)

楼层

ColumnNumber

nchar (20)

列号

CoveredArea

decimal (18, 3)

建筑面积

BuilDingExceptArea

decimal (18, 3)

套内面积

AreaShare

decimal (18, 3)

分摊面积

BalconyArea

decimal (18, 3)

阳台面积

RoomFaceDirectionID

int

外键

房间朝向ID

LandscapeID

int

外键

景观ID

HouseTypeID

int

外键

户型ID

RoomTypeID

int

外键

房间类型ID

RoomRanking

nchar (20)

房间排号

OnbuildingExceptAreaCountNot

bit

是否按套内面积计算

LockNot

bit

是否锁定

CountWayID

int

外键

计算方法ID

RoomDescribeID

int

外键

房间描述ID

SellStatusID

int

外键

销售状态ID

AffiliatedHousePropertyNot

bit

附属房产否

BuildingPropertiesID

int

外键

建筑性质ID

BuildingNot

bit

绑定否

ZhuangTaiWeiZhenFou

bit

状态为真否

用于存放房间基本描述信息。2、房间描述表:

dbo.SYS_ RoomDescribeTable

Primary Key(s):  RoomDescribeID

Field

Type

主键/外键

说明

RoomDescribeID

int - Identity

主键

房间描述ID

UnitActionNumber

nchar (100)

单元开始号

UnitFinishNumber

nchar (100)

单元结束号

StoreyActionNumber

nchar (100)

楼层开始号

StoreyFinishNumber

nchar (100)

楼层结束号

NatureStoreyActionNumber

int

自然层开始号

NatureStoreyFinishNumber

int

自然层结束号

ListActionNumber

nchar (100)

列开始号

ListFinishNumber

nchar (100)

列结束号

UnitEveryStoreyTotalDoor

nchar (100)

单元每层总户数

HouseID

int

外键

楼栋ID

用于存放项目资料。3、项目表:

dbo.SYS_ProjectTable

Primary Key(s):  ProjectID

Field

Type

主键/外键

说明

ProjectID

int - Identity

主键

项目ID

PremisesName

nchar (100)

大楼名称

ProjectCode

nchar (100)

项目代码

ProjectName

nchar (100)

项目名称

BuildingPropertyID

int

外键

建筑性质ID

StructureID

int

外键

结构ID

PlotRatio

decimal (18, 3)

容积率

RealEstateNumber

nchar (100)

项目房地产证号

DomesticLicence

nchar (100)

内销许可证

ExportLicence

nchar (100)

外销许可证

SupervisionInstitutionID

int

外键

监理机构ID

ProjectRowNumber

int

项目排号

MassifNumber

nchar (100)

项目地块编号

LandArea

nchar (100)

项目土地面积

LandSellContractNumber

nchar (100)

项目土地出让合同号

LandUserBeginTime

nchar (100)

项目土地使用开始时间

LandUserEndTime

nchar (100)

项目土地使用结束时间

LandPurpose

nchar (100)

项目土地用途

AreaTypeID

int

外键

项目面积类型ID

用于存放项目分区信息。4、项目分区表:

dbo.SYS_ProjectSubregionTable

Primary Key(s):  ProjectSubregionID

Field

Type

主键/外键

说明

ProjectSubregionID

int - Identity

主键

项目分区ID

ProjectSubregionName

nchar (100)

项目分区名称

ProjectID

int

项目ID

用于存放楼栋信息。5、楼栋表:

dbo.SYS_HouseTable

Primary Key(s):  HouseID

Field

Type

主键/外键

说明

HouseID

int - Identity

主键

楼栋ID

HouseCode

nchar (40)

楼栋代码

HouseName

nchar (40)

楼栋名称

RoomNumberModelTypeID

int

外键

房间编号模式类型ID

ContractHouseName

nchar (40)

合同栋号名称

GiveHouseStandardID

int

外键

交屋标准ID

ShouldGiveHouseDate

date

应交房日期

BriefRemarks

nchar (80)

简要备注

NumberOfPlies

int

层数

BuildingPropertyID

int

外键

建筑性质ID

SupervisionInstitutionID

int

外键

监理机构ID

EstateNumber

nchar (80)

楼栋房地产证号

MassifNumber

nchar (80)

楼栋地块编号

LandArea

decimal (18, 3)

楼栋土地面积

LandSellAgreementNumber

nchar (80)

楼栋土地出让合同号

LandUserBeginDate

date

楼栋土地使用开始时间

LandUserEndDate

date

楼栋土地使用结束时间

HouseLandUse

nchar (80)

楼栋土地用途

HouseAreaTypeID

int

外键

楼栋面积类型ID

ProjectSubregionID

int

外键

项目分区ID

StructureID

int

外键

结构ID

用于存放各种属性明细信息。6、属性明细表:

dbo.SYS_AttributeAssembleDetailTable

Primary Key(s):  AttributeAssembleDetailID

Field

Type

主键/外键

说明

AttributeAssembleDetailID

int - Identity

主键

属性明细ID

AttributeAssembleDetailName

nchar (100)

属性明细名称

AttributeAssembleID

int

外键

属性集合ID

AttributeAssembleDetailFar_ID

int

属性明细Far_ID

第三步:首先生成车位的时候主要包括有:新增房间资料表,新增房间单价表,新增实测面积表。还有一些绑定下拉框之类的就不说了,我们先来看新增的存储过程。
if @SN='InsertRoomUnivalent'--新增房间单价表begininsert SYS_UnivalentTable(RoomDatumID)values (@RoomDatumID)endif @SN='InsertAreaMeasurement'--新增实测面积表begininsert SYS_AreaMeasurementTable(RoomDataID)values (@RoomDataID)Endif @SN='InsertAffiliatedHouseProperty'--新增车位beginInsert SYS_RoomDataTable(HouseID, RoomNumber, natureNumber, Floor, CoveredArea, BuilDingExceptArea, AreaShare, BalconyArea, RoomFaceDirectionID,LandscapeID, HouseTypeID, RoomTypeID, RoomRanking, AffiliatedHousePropertyNot, BuildingPropertiesID, RoomCode,BuildingNot)values (@HouseID, @RoomNumber, @natureNumber, @Floor, @CoveredArea, @BuilDingExceptArea, @AreaShare, @BalconyArea, @RoomFaceDirectionID,@LandscapeID, @HouseTypeID, @RoomTypeID, @RoomRanking, @AffiliatedHousePropertyNot, @BuildingPropertiesID, @RoomCode,'false')select @@IDENTITYend
第四步:BLL层。
public int InsertRoomUnivalent(int RoomDatumID)//新增房间单价{SqlParameter[] SQLCMDpas = {new SqlParameter("@SN",SqlDbType.Char),new SqlParameter("@RoomDatumID",SqlDbType.Int)};SQLCMDpas[0].Value = "InsertRoomUnivalent";SQLCMDpas[1].Value = RoomDatumID;int i = myDALMethod.DAL_OPTableDB_Par("SYS_RoomData",SQLCMDpas);return i;}public int InsertAreaMeasurement(int RoomDataID)//新增实测面积{SqlParameter[] SQLCMDpas = {new SqlParameter("@SN",SqlDbType.Char),new SqlParameter("@RoomDataID",SqlDbType.Int)};SQLCMDpas[0].Value = "InsertAreaMeasurement";SQLCMDpas[1].Value = RoomDataID;int i = myDALMethod.DAL_OPTableDB_Par("SYS_RoomData",SQLCMDpas);return i;}
public DataTable InsertAffiliatedHouseProperty(int HouseID, string RoomNumber, string natureNumber, int Floor, string CoveredArea, string BuilDingExceptArea, string AreaShare, string BalconyArea, int RoomFaceDirectionID,int LandscapeID, int HouseTypeID, int RoomTypeID, string RoomRanking, Boolean AffiliatedHousePropertyNot,int BuildingPropertiesID,string RoomCode)//新增车位信息{SqlParameter[] SQLCMDpas = {new SqlParameter("@SN",SqlDbType.Char),new SqlParameter("@HouseID",SqlDbType.Int),new SqlParameter("@RoomNumber",SqlDbType.Char),new SqlParameter("@natureNumber",SqlDbType.Char),new SqlParameter("@Floor",SqlDbType.Int),new SqlParameter("@CoveredArea",SqlDbType.Char),new SqlParameter("@BuilDingExceptArea",SqlDbType.Char),new SqlParameter("@AreaShare",SqlDbType.Char),new SqlParameter("@BalconyArea",SqlDbType.Char),new SqlParameter("@RoomFaceDirectionID",SqlDbType.Int),new SqlParameter("@LandscapeID",SqlDbType.Int),new SqlParameter("@HouseTypeID",SqlDbType.Int),new SqlParameter("@RoomTypeID",SqlDbType.Int),new SqlParameter("@RoomRanking",SqlDbType.Char),new SqlParameter("@AffiliatedHousePropertyNot",SqlDbType.Bit),new SqlParameter("@BuildingPropertiesID",SqlDbType.Int),new SqlParameter("@RoomCode",SqlDbType.Char)};SQLCMDpas[0].Value = "InsertAffiliatedHouseProperty";SQLCMDpas[1].Value=HouseID;SQLCMDpas[2].Value = RoomNumber;SQLCMDpas[3].Value=natureNumber;SQLCMDpas[4].Value=Floor;SQLCMDpas[5].Value=CoveredArea;SQLCMDpas[6].Value=BuilDingExceptArea;SQLCMDpas[7].Value=AreaShare;SQLCMDpas[8].Value=BalconyArea;SQLCMDpas[9].Value=RoomFaceDirectionID;SQLCMDpas[10].Value=LandscapeID;SQLCMDpas[11].Value=HouseTypeID;SQLCMDpas[12].Value=RoomTypeID;SQLCMDpas[13].Value=RoomRanking;SQLCMDpas[14].Value=AffiliatedHousePropertyNot;SQLCMDpas[15].Value=BuildingPropertiesID;SQLCMDpas[16].Value = RoomCode;DataTable dt = myDALMethod.DAL_SelectDB_Par("SYS_RoomData",SQLCMDpas);return dt;}

第五步:Controller

public ActionResult InsertRoomUnivalent(int RoomDatumID)//新增房间单价{int i = myFangJianZiLiao.InsertRoomUnivalent(RoomDatumID);return Content(i.ToString());}public ActionResult InsertAreaMeasurement(int RoomDataID)//新增实测面积{int i = myFangJianZiLiao.InsertAreaMeasurement(RoomDataID);return Content(i.ToString());}
public ActionResult InsertAffiliatedHouseProperty(int HouseID, string RoomNumber, string natureNumber, int Floor,string CoveredArea, string BuilDingExceptArea, string AreaShare, string BalconyArea, int RoomFaceDirectionID,int LandscapeID, int HouseTypeID, int RoomTypeID, string RoomRanking, Boolean AffiliatedHousePropertyNot,int BuildingPropertiesID, string RoomCode)//新增车位信息{DataTable dt = myFangJianZiLiao.InsertAffiliatedHouseProperty(HouseID, RoomNumber, natureNumber, Floor,CoveredArea, BuilDingExceptArea, AreaShare, BalconyArea, RoomFaceDirectionID,LandscapeID, HouseTypeID, RoomTypeID, RoomRanking, AffiliatedHousePropertyNot, BuildingPropertiesID, RoomCode);string FangJianZiLiaoID = dt.Rows[0][0].ToString();return Content(FangJianZiLiaoID);}

第六步:界面,当然这里也跟之前第一种生成模式一样需要新增楼栋,这里既有不说新增楼栋了。

  var XuanZe;var RoomCode;function HaoMaInsert() {var node = $('#treXiangMuMingCheng').tree('getSelected');var JianzhuXingZhi = $('#tb建筑性质').datagrid('getSelected');if (confirm("是否增加?")) {if (document.getElementById('chkFuShuFangChan').checked) {XuanZe = true;} else {XuanZe = false;}if (PanDuan == "2") {$.getJSON("/XiangMuZiLiao/XingZengLouDongZiLiao?LouDongDaiMa=" + $('#txtLouDongDaiMa1').val() + "&"+ "LouDongMingCheng=" + $('#txtLouDongMingCheng1').val() + "&"+ "CengShu=" + $('#txtJianZhuCengShu1').val() + "&"+ "FangJianBianHaoMoShiLeiXingID=" + $("#cboFangJianBianHaoMuShi1").combobox('getValue') + "&"+ "HeTongDongHaoMingCheng=" + $('#txtHeTongLouDongMingCheng1').val() + "&"+ "JianLiJiGouID=" + $('#cboJianLiJiGou1').combobox('getValue') + "&"+ "JianYaoBeiZhu=" + $('#txtJianYaoBeiZhu1').val() + "&"+ "JianZhuXingZhiID=" + JianzhuXingZhi.BuildingPropertyID + "&"+ "JiaoWuBiaoZhunID=" + $('#cboJiaoWuBiaoZhun1').combobox('getValue') + "&"+ "LouDongDiKuaiBianHao=" + $('#txtDiKuaiBianHao1').val() + "&"+ "LouDongFangDiChangZhengHao=" + $('#txtFangDiChanZhengHao1').val() + "&"+ "LouDongTuDiChuRangHeTongHao=" + $('#txtTuDiChuRangHeTong1').val() + "&"+ "LouDongTuDiMianJi=" + $('#txtTuDiMianJi1').val() + "&"+ "LouDongTuDiShiYongJieShuShiJian=" + $('#datTuDiShiYongEdd1').datebox('getValue') + "&"+ "LouDongTuDiShiYongKaiShiShiJian=" + $('#datTuDiShiYongCong1').datebox('getValue') + "&"+ "LouDongTuDiYongTu=" + $('#txtTuDiYongTu1').val() + "&"+ "YingJiaoFangRiQi=" + $('#datYingJiaoFangRiQi1').datebox('getValue') + "&"+ "JieGouID=" + $('#cboJieGou1').combobox('getValue') + "&"+ "XiangMuFenQuID=" + node.id + "&",function (data5) {HouseID = data5;for (var i = $('#txtRoomNumberFollow1').val(); i <= $('#txtRoomNumberTo1').val(); i++) {RoomCode = ($('#txtLouDongDaiMa1').val()).toString().trim() + "0" + i;$.getJSON("/FangJianZiLiao/InsertAffiliatedHouseProperty?HouseID=" + HouseID + "&"+ "RoomNumber=" + i + "&"+ "natureNumber=" + $('#txtNatureFollow1').val() + "&"+ "Floor=" + $('#txtStoreyFollow1').val() + "&"+ "CoveredArea=" + $('#txtFloorArea1').val() + "&"+ "BuilDingExceptArea=" + $('#txtRoomArea1').val() + "&"+ "AreaShare=" + $('#txtShareArea1').val() + "&"+ "BalconyArea=" + $('#txtBalconyArea1').val() + "&"+ "RoomFaceDirectionID=" + $('#cboOrientations1').combobox('getValue') + "&"+ "LandscapeID=" + $('#cboLandscape1').combobox('getValue') + "&"+ "HouseTypeID=" + $('#cboHouseType1').combobox('getValue') + "&"+ "RoomTypeID=" + $('#cboRoomType1').combobox('getValue') + "&"+ "RoomRanking=" + i + "&"+ "AffiliatedHousePropertyNot=" + XuanZe + "&"+ "BuildingPropertiesID=" + JianzhuXingZhi.BuildingPropertyID + "&"+ "RoomCode=" + RoomCode, function (data) {RoomDataID = data;$.getJSON("/FangJianZiLiao/InsertRoomUnivalent?RoomDatumID=" + RoomDataID, function (data2) {if (data2 > 0) {}});$.getJSON("/FangJianZiLiao/InsertAreaMeasurement?RoomDataID=" + RoomDataID, function (data3) {if (data3 > 0) {}});});}});} else {$.getJSON("/XiangMuZiLiao/InsertProjectSubregion?ProjectSubregionName=" + $('#txtXiangMuFenQu1').val() + "&"+ "ProjectID=" + XiangMu, function (data6) {XiangMuFenQuID = data6;$.getJSON("/XiangMuZiLiao/XingZengLouDongZiLiao?LouDongDaiMa=" + $('#txtLouDongDaiMa1').val() + "&"+ "LouDongMingCheng=" + $('#txtLouDongMingCheng1').val() + "&"+ "CengShu=" + $('#txtJianZhuCengShu1').val() + "&"+ "FangJianBianHaoMoShiLeiXingID=" + $("#cboFangJianBianHaoMuShi1").combobox('getValue') + "&"+ "HeTongDongHaoMingCheng=" + $('#txtHeTongLouDongMingCheng1').val() + "&"+ "JianLiJiGouID=" + $('#cboJianLiJiGou1').combobox('getValue') + "&"+ "JianYaoBeiZhu=" + $('#txtJianYaoBeiZhu1').val() + "&"+ "JianZhuXingZhiID=" + JianzhuXingZhi.BuildingPropertyID + "&"+ "JiaoWuBiaoZhunID=" + $('#cboJiaoWuBiaoZhun1').combobox('getValue') + "&"+ "LouDongDiKuaiBianHao=" + $('#txtDiKuaiBianHao1').val() + "&"+ "LouDongFangDiChangZhengHao=" + $('#txtFangDiChanZhengHao1').val() + "&"+ "LouDongTuDiChuRangHeTongHao=" + $('#txtTuDiChuRangHeTong1').val() + "&"+ "LouDongTuDiMianJi=" + $('#txtTuDiMianJi1').val() + "&"+ "LouDongTuDiShiYongJieShuShiJian=" + $('#datTuDiShiYongEdd1').datebox('getValue') + "&"+ "LouDongTuDiShiYongKaiShiShiJian=" + $('#datTuDiShiYongCong1').datebox('getValue') + "&"+ "LouDongTuDiYongTu=" + $('#txtTuDiYongTu1').val() + "&"+ "YingJiaoFangRiQi=" + $('#datYingJiaoFangRiQi1').datebox('getValue') + "&"+ "JieGouID=" + $('#cboJieGou1').combobox('getValue') + "&"+ "XiangMuFenQuID=" + XiangMuFenQuID + "&",function (data5) {HouseID = data5;for (var i = $('#txtRoomNumberFollow1').val(); i <= $('#txtRoomNumberTo1').val(); i++) {RoomCode = ($('#txtLouDongDaiMa1').val()).toString().trim() + "0" + i;$.getJSON("/FangJianZiLiao/InsertAffiliatedHouseProperty?HouseID=" + HouseID + "&"+ "RoomNumber=" + i + "&"+ "natureNumber=" + $('#txtNatureFollow1').val() + "&"+ "Floor=" + $('#txtStoreyFollow1').val() + "&"+ "CoveredArea=" + $('#txtFloorArea1').val() + "&"+ "BuilDingExceptArea=" + $('#txtRoomArea1').val() + "&"+ "AreaShare=" + $('#txtShareArea1').val() + "&"+ "BalconyArea=" + $('#txtBalconyArea1').val() + "&"+ "RoomFaceDirectionID=" + $('#cboOrientations1').combobox('getValue') + "&"+ "LandscapeID=" + $('#cboLandscape1').combobox('getValue') + "&"+ "HouseTypeID=" + $('#cboHouseType1').combobox('getValue') + "&"+ "RoomTypeID=" + $('#cboRoomType1').combobox('getValue') + "&"+ "RoomRanking=" + i + "&"+ "AffiliatedHousePropertyNot=" + XuanZe + "&"+ "BuildingPropertiesID=" + JianzhuXingZhi.BuildingPropertyID + "&"+ "RoomCode=" + RoomCode, function (data) {RoomDataID = data;$.getJSON("/FangJianZiLiao/InsertRoomUnivalent?RoomDatumID=" + RoomDataID, function (data2) {if (data2 > 0) {}});$.getJSON("/FangJianZiLiao/InsertAreaMeasurement?RoomDataID=" + RoomDataID, function (data3) {if (data3 > 0) {}});});}});});}alert("新增成功!!!");$('#w增加楼栋').window('close');$("#frmGeneratePreview").window('close');$('#wHaoMaXinZengFangJianMiaoShu').window('close');}}

这样我们就生成了车位。

2.2.1.3   单元+楼层+号码的方式生成房间,它对应的是北方常见的有单元的楼房的情况。
首先界面效果如下:

从界面上看我们这里用到的控件有:

控件名称

说明

单行文本框(easyui-textbox)

第一要设置每个控件的id,第二可以设置每个控件的大小,不设置也有默认值,第三(data-options)是数据的操作可以设置控件的属性和事件。

下拉框(easyui-combobox)

按钮(easyui-linkbutton)

树形控件(easyui-tree)

复选框(checkbox)

第二步:生成车位或商铺的时候需要在某个已经生成房间的楼栋下生成,数据库表与表的关系跟上面的一样,如果不记得了请参考上面的的关系图。

然后就说下数据库,BLL,Controller和界面的代码。

第三步:数据库存储过程。

 if @SN='InsertHouseData'--新增楼栋beginINSERT SYS_HouseTable(HouseCode,HouseName,NumberOfPlies,RoomNumberModelTypeID,ContractHouseName,SupervisionInstitutionID,BriefRemarks,BuildingPropertyID,GiveHouseStandardID,MassifNumber,EstateNumber,LandSellAgreementNumber,LandArea,LandUserEndDate,LandUserBeginDate,HouseLandUse,ProjectSubregionID,ShouldGiveHouseDate,StructureID)VALUES (@HouseCode,@HouseName,@NumberOfPlies,@RoomNumberModelTypeID,@ContractHouseName,@SupervisionInstitutionID,@BriefRemarks,@BuildingPropertyID,@GiveHouseStandardID,@MassifNumber,@EstateNumber,@LandSellAgreementNumber,@LandArea,@LandUserEndDate,@LandUserBeginDate,@HouseLandUse,@ProjectSubregionID,@ShouldGiveHouseDate,@StructureID)select @@IDENTITYendif @SN='InsertRoomUnivalent'--新增房间单价表begininsert SYS_UnivalentTable(RoomDatumID)values (@RoomDatumID)endif @SN='InsertAreaMeasurement'--新增实测面积表begininsert SYS_AreaMeasurementTable(RoomDataID)values (@RoomDataID)endif @SN='InsertRoomDescribe'--新增房间描述begininsert [SYS_ RoomDescribeTable](StoreyActionNumber,StoreyFinishNumber,NatureStoreyActionNumber,NatureStoreyFinishNumber,HouseID)values (@StoreyActionNumber,@StoreyFinishNumber,@NatureStoreyActionNumber,@NatureStoreyFinishNumber,@HouseID)select @@IDENTITYendif @SN='InsertUnitRoomData'--单元+楼栋+号码生成房间begininsert  SYS_RoomDataTable(HouseID,RoomCode,RoomNumber,RoomUnit,natureNumber,Floor,CoveredArea,BuilDingExceptArea,AreaShare,BalconyArea,RoomFaceDirectionID,LandscapeID,HouseTypeID,RoomTypeID,RoomRanking,RoomDescribeID,BuildingPropertiesID,BuildingNot,ZhuangTaiWeiZhenFou)values (@HouseID,@RoomCode,@RoomNumber,@RoomUnit,@natureNumber,@Floor,@CoveredArea,@BuilDingExceptArea,@AreaShare,@BalconyArea,@RoomFaceDirectionID,@LandscapeID,@HouseTypeID,@RoomTypeID,@RoomRanking,@RoomDescribeID,@BuildingPropertiesID,'false','true')select @@IDENTITYend

第四步:BLL

public DataTable InsertRoomDescribe(string StoreyActionNumber, string StoreyFinishNumber,int NatureStoreyActionNumber, int NatureStoreyFinishNumber, int HouseID)//新增房间描述{SqlParameter[] SQLCMDpas = {new SqlParameter("@SN",SqlDbType.Char),new SqlParameter("@StoreyActionNumber",SqlDbType.Char),new SqlParameter("@StoreyFinishNumber",SqlDbType.Char),new SqlParameter("@NatureStoreyActionNumber",SqlDbType.Int),new SqlParameter("@NatureStoreyFinishNumber",SqlDbType.Int),new SqlParameter("@HouseID",SqlDbType.Int)};SQLCMDpas[0].Value = "InsertRoomDescribe";SQLCMDpas[1].Value=StoreyActionNumber;SQLCMDpas[2].Value=StoreyFinishNumber;SQLCMDpas[3].Value=NatureStoreyActionNumber;SQLCMDpas[4].Value=NatureStoreyFinishNumber;SQLCMDpas[5].Value=HouseID;DataTable dt = myDALMethod.DAL_SelectDB_Par("SYS_RoomData", SQLCMDpas);return dt;}public int InsertRoomUnivalent(int RoomDatumID)//新增房间单价{SqlParameter[] SQLCMDpas = {new SqlParameter("@SN",SqlDbType.Char),new SqlParameter("@RoomDatumID",SqlDbType.Int)};SQLCMDpas[0].Value = "InsertRoomUnivalent";SQLCMDpas[1].Value = RoomDatumID;int i = myDALMethod.DAL_OPTableDB_Par("SYS_RoomData",SQLCMDpas);return i;}public int InsertAreaMeasurement(int RoomDataID)//新增实测面积{SqlParameter[] SQLCMDpas = {new SqlParameter("@SN",SqlDbType.Char),new SqlParameter("@RoomDataID",SqlDbType.Int)};SQLCMDpas[0].Value = "InsertAreaMeasurement";SQLCMDpas[1].Value = RoomDataID;int i = myDALMethod.DAL_OPTableDB_Par("SYS_RoomData",SQLCMDpas);return i;}public int InsertStatusChange(int RoomDatumID)//新增状态更改{SqlParameter[] SQLCMDpas = {new SqlParameter("@SN",SqlDbType.Char),new SqlParameter("@RoomDatumID",SqlDbType.Int)};SQLCMDpas[0].Value = "InsertStatusChange";SQLCMDpas[1].Value = RoomDatumID;int i = myDALMethod.DAL_OPTableDB_Par("SYS_RoomData", SQLCMDpas);return i;}public DataTable InsertUnitRoomData(int HouseID, string RoomCode, string RoomNumber, string RoomUnit, string natureNumber,string Floor, decimal CoveredArea, decimal BuilDingExceptArea, decimal AreaShare,decimal BalconyArea, int RoomFaceDirectionID, int LandscapeID, int HouseTypeID,int RoomTypeID, string RoomRanking, int RoomDescribeID, int BuildingPropertiesID)//单元+楼层+号码生成房间{SqlParameter[] SQLCMDpas = {new SqlParameter("@SN",SqlDbType.Char),new SqlParameter("@HouseID",SqlDbType.Int),new SqlParameter("@RoomCode",SqlDbType.Char),new SqlParameter("@RoomNumber",SqlDbType.Char),new SqlParameter("@RoomUnit",SqlDbType.Char),new SqlParameter("@natureNumber",SqlDbType.Char),new SqlParameter("@Floor",SqlDbType.Char),new SqlParameter("@CoveredArea",SqlDbType.Decimal),new SqlParameter("@BuilDingExceptArea",SqlDbType.Decimal),new SqlParameter("@AreaShare",SqlDbType.Decimal),new SqlParameter("@BalconyArea",SqlDbType.Decimal),new SqlParameter("@RoomFaceDirectionID",SqlDbType.Int),new SqlParameter("@LandscapeID",SqlDbType.Int),new SqlParameter("@HouseTypeID",SqlDbType.Int),new SqlParameter("@RoomTypeID",SqlDbType.Int),new SqlParameter("@RoomRanking",SqlDbType.Char),new SqlParameter("@RoomDescribeID",SqlDbType.Int),new SqlParameter("@BuildingPropertiesID",SqlDbType.Int)};SQLCMDpas[0].Value = "InsertUnitRoomData";SQLCMDpas[1].Value = HouseID;SQLCMDpas[2].Value = RoomCode;SQLCMDpas[3].Value = RoomNumber;SQLCMDpas[4].Value = RoomUnit;SQLCMDpas[5].Value = natureNumber;SQLCMDpas[6].Value = Floor;SQLCMDpas[7].Value = CoveredArea;SQLCMDpas[8].Value = BuilDingExceptArea;SQLCMDpas[9].Value = AreaShare;SQLCMDpas[10].Value = BalconyArea;SQLCMDpas[11].Value = RoomFaceDirectionID;SQLCMDpas[12].Value = LandscapeID;SQLCMDpas[13].Value = HouseTypeID;SQLCMDpas[14].Value = RoomTypeID;SQLCMDpas[15].Value = RoomRanking;SQLCMDpas[16].Value = RoomDescribeID;SQLCMDpas[17].Value = BuildingPropertiesID;DataTable dt = myDALMethod.DAL_SelectDB_Par("SYS_RoomData", SQLCMDpas);return dt;}

第五步:Controller

 public ActionResult InsertRoomDescribe(string StoreyActionNumber, string StoreyFinishNumber,int NatureStoreyActionNumber, int NatureStoreyFinishNumber, int HouseID)//新增房间描述{DataTable dt = myFangJianZiLiao.InsertRoomDescribe(StoreyActionNumber, StoreyFinishNumber, NatureStoreyActionNumber,NatureStoreyFinishNumber, HouseID);string RoomDescribeID = dt.Rows[0][0].ToString();return Content(RoomDescribeID);}public ActionResult InsertRoomUnivalent(int RoomDatumID)//新增房间单价{int i = myFangJianZiLiao.InsertRoomUnivalent(RoomDatumID);return Content(i.ToString());}public ActionResult InsertAreaMeasurement(int RoomDataID)//新增实测面积{int i = myFangJianZiLiao.InsertAreaMeasurement(RoomDataID);return Content(i.ToString());}public ActionResult InsertStatusChange(int RoomDatumID)//新增状态更改{int i = myFangJianZiLiao.InsertStatusChange(RoomDatumID);return Content(i.ToString());}public ActionResult InsertUnitRoomData(int HouseID, string RoomCode, string RoomNumber, string RoomUnit, string natureNumber,string Floor, decimal CoveredArea, decimal BuilDingExceptArea, decimal AreaShare,decimal BalconyArea, int RoomFaceDirectionID, int LandscapeID, int HouseTypeID, int RoomTypeID, string RoomRanking, int RoomDescribeID, int BuildingPropertiesID)//单元+楼层+号码新增房间资料{DataTable dt = myFangJianZiLiao.InsertUnitRoomData(HouseID, RoomCode, RoomNumber,RoomUnit, natureNumber, Floor, CoveredArea,BuilDingExceptArea, AreaShare, BalconyArea, RoomFaceDirectionID, LandscapeID, HouseTypeID, RoomTypeID, RoomRanking, RoomDescribeID, BuildingPropertiesID);string RoomDataID = dt.Rows[0][0].ToString();return Content(RoomDataID);}

第六步:界面

 var XiaoLouCeng;var ZiRanCeng;function ShengChengFangJianXinXiOne() {//生成预览跟绑定数据var ZiRanLouCeng = ($('#txtNatureTo2').val()).toString().trim();ZiRanCeng = ZiRanLouCeng;var ZuiXiaoLouCeng = ($('#txtStoreyFollow2').val()).toString().trim();XiaoLouCeng = ZuiXiaoLouCeng;var ZuiDaLouCengShu = ($('#txtStoreyTo2').val()).toString().trim();var ZuiXiaoFangHaoShu = ($('#txtRoomNumberFollow2').val()).toString().trim();var ZuiDaFangHaoShu = ($('#txtRoomNumberTo2').val()).toString().trim();var length = ((ZuiDaLouCengShu - ZuiXiaoLouCeng) + 1) * ((ZuiDaFangHaoShu - ZuiXiaoFangHaoShu) + 1);for (var i = 0; i < length; i++) {if (XiaoLouCeng > ZuiDaFangHaoShu) {ZuiXiaoLouCeng++;XiaoLouCeng = ($('#txtStoreyFollow2').val()).toString().trim();}XiaoLouCeng++;if (ZuiXiaoFangHaoShu > ZuiDaFangHaoShu) {ZuiXiaoFangHaoShu = ($('#txtRoomNumberFollow2').val()).toString().trim();}if (ZiRanLouCeng > ($('#txtNatureTo2').val()).toString().trim()) {ZiRanLouCeng++;ZiRanCeng = ($('#txtNatureTo2').val()).toString().trim();}ZiRanCeng++;var FangJianDaiMa = ($('#txtBuildingCode').val()).toString().trim() + "-" + $('#txtDanYuanFollow2').val().toString().trim() + "-" + ZuiXiaoLouCeng +<span style="font-family: Arial, Helvetica, sans-serif;"> (ZuiXiaoFangHaoShu < 10 ? ('0' + ZuiXiaoFangHaoShu) : ZuiXiaoFangHaoShu);</span><span style="font-family: Arial, Helvetica, sans-serif;">                              </span>
                        var FangHao =$('#txtDanYuanFollow2').val().toString().trim()+"-"+ ZuiXiaoLouCeng + (ZuiXiaoFangHaoShu < 10 ? ('0' + ZuiXiaoFangHaoShu) : ZuiXiaoFangHaoShu);$('#dgRoomListing').datagrid("appendRow", {HouseName: $('#txtBuildingName').val(), ProjectSubregionName: $('#txtProjectSubregion').val(),RoomCode: FangJianDaiMa, Floor: ZuiXiaoLouCeng, NatureFloor: (ZiRanLouCeng < 10 ? ('0' + ZiRanLouCeng) : ZiRanLouCeng), Number: (ZuiXiaoFangHaoShu < 10 ? ('0' + ZuiXiaoFangHaoShu) : ZuiXiaoFangHaoShu), RoomNumber: FangHao,BuildingProperties: $('#txtBuildingProperty').val(), RoomType: $('#cboRoomType2').combobox('getText'), HouseType: $('#cboHouseType2').combobox('getText'), RoomRanking: (B < 10 ? ('0' + B) : B),Landscape: $('#cboLandscape2').combobox('getText'), Orientations: $('#cboOrientations2').combobox('getText'), Structure: $('#cboStructure2').combobox('getText'), Unit: $('#txtDanYuanFollow2').val()});ZuiXiaoFangHaoShu++;}var row2 = $('#dgRoomListing').datagrid('getData');$('#txtXiangMuMingCheng').attr('value', $('#txtProjectName').val());$('#txtXiangMuFenQu').attr('value', $('#txtProjectSubregion').val());$('#txtLouDongMingCheng').attr('value', $('#txtBuildingName').val());$('#txtFangJianDaiMa').attr('value', row2.rows[0].RoomCode);$('#txtLouCeng').attr('value', row2.rows[0].Floor);$('#txtZiRanLouCeng').attr('value', row2.rows[0].NatureFloor);$('#txtFangHao').attr('value', row2.rows[0].RoomNumber);$('#txtChaoXiang').attr('value', row2.rows[0].Orientations);$('#txtHuXing').attr('value', row2.rows[0].HouseType);$('#txtFangJianLeiXing').attr('value', row2.rows[0].RoomType);$('#txtJieGou').attr('value', row2.rows[0].Structure);$('#txtJianZhuMianJi').attr('value', $('#txtFloorArea2').val());$('#txtTaoNeiMianJi').attr('value', $('#txtRoomArea2').val());$('#txtFenTanMianJi').attr('value', $('#txtShareArea2').val());$('#txtDanYuan').attr('value', $('#txtDanYuanFollow2').val());//绑定每一个数据}function onChangeHouse1() {//生成动态外观图var y;var options = {};var String1 = "[[{ field:'LouChen', title: '楼层', width: 40},";for (var i = 0; i < ($('#txtRoomNumberTo2').val()).toString().trim(); i++) {y = i + 1;if (i < ($('#txtRoomNumberTo2').val()).toString().trim() - 1) {var s = "{ field:'F" + i + "', title: '0" + y + "', width: 80,formatter:myformatterOne},";String1 = String1 + s;} else {var s = "{ field:'F" + i + "', title: '0" + y + "', width: 80,formatter:myformatterOne}";String1 = String1 + s + "]]";}}options.columns = eval(String1);$('#dgRoomAppearancePicture').datagrid(options);for (var j = ($('#txtStoreyTo2').val()).toString().trim(); j >= ($('#txtStoreyFollow2').val()).toString().trim(); j--) {$('#dgRoomAppearancePicture').datagrid("appendRow", {LouChen: (j < 10 ? ('0' + j) : j)});}}var ssss = 0;var tt = 0;function myformatterOne(value, rowData, rowIndex) {//绑定外观图数据ssss++;tt = $('#txtStoreyTo2').val() - rowIndex;if (ssss > ($('#txtRoomNumberTo2').val()).toString().trim()) {ssss = 1;}if (ssss < 10) {ssss = '0' + ssss;}if (tt >= ($('#txtStoreyFollow2').val()).toString().trim()) {return $('#txtDanYuanFollow2').val().toString().trim()+"-"+tt.toString() + ssss.toString();}}function InsertUnitRoomData() {//生成房间方法if (confirm('是否生成房间?')) {var node = $('#treXiangMuMingCheng').tree('getSelected');var JianzhuXingZhi = $('#tb建筑性质').datagrid('getSelected');var row = $('#dgRoomListing').datagrid('getChanges', 'inserted');if (PanDuan == "2") {$.getJSON("/XiangMuZiLiao/XingZengLouDongZiLiao?LouDongDaiMa=" + $('#txtLouDongDaiMa1').val() + "&"+ "LouDongMingCheng=" + $('#txtLouDongMingCheng1').val() + "&"+ "CengShu=" + $('#txtJianZhuCengShu1').val() + "&"+ "FangJianBianHaoMoShiLeiXingID=" + $("#cboFangJianBianHaoMuShi1").combobox('getValue') + "&"+ "HeTongDongHaoMingCheng=" + $('#txtHeTongLouDongMingCheng1').val() + "&"+ "JianLiJiGouID=" + $('#cboJianLiJiGou1').combobox('getValue') + "&"+ "JianYaoBeiZhu=" + $('#txtJianYaoBeiZhu1').val() + "&"+ "JianZhuXingZhiID=" + JianzhuXingZhi.BuildingPropertyID + "&"+ "JiaoWuBiaoZhunID=" + $('#cboJiaoWuBiaoZhun1').combobox('getValue') + "&"+ "LouDongDiKuaiBianHao=" + $('#txtDiKuaiBianHao1').val() + "&"+ "LouDongFangDiChangZhengHao=" + $('#txtFangDiChanZhengHao1').val() + "&"+ "LouDongTuDiChuRangHeTongHao=" + $('#txtTuDiChuRangHeTong1').val() + "&"+ "LouDongTuDiMianJi=" + $('#txtTuDiMianJi1').val() + "&"+ "LouDongTuDiShiYongJieShuShiJian=" + $('#datTuDiShiYongEdd1').datebox('getValue') + "&"+ "LouDongTuDiShiYongKaiShiShiJian=" + $('#datTuDiShiYongCong1').datebox('getValue') + "&"+ "LouDongTuDiYongTu=" + $('#txtTuDiYongTu1').val() + "&"+ "YingJiaoFangRiQi=" + $('#datYingJiaoFangRiQi1').datebox('getValue') + "&"+ "JieGouID=" + $('#cboJieGou1').combobox('getValue') + "&"+ "XiangMuFenQuID=" + node.id + "&",function (data5) {if (data5 != null) {HouseID = data5;$.getJSON("/FangJianZiLiao/InsertRoomDescribe?StoreyActionNumber=" + $('#txtStoreyFollow2').val() + "&"+ "StoreyFinishNumber=" + $('#txtStoreyTo2').val() + "&"+ "NatureStoreyActionNumber=" + $('#txtNatureFollow2').val() + "&"+ "NatureStoreyFinishNumber=" + $('#txtNatureTo2').val() + "&"+ "HouseID=" + HouseID, function (data) {if (data > 0) {RoomDescribeID = data;for (var i = 0; i < row.length; i++) {$.getJSON("/FangJianZiLiao/InsertUnitRoomData?HouseID=" + HouseID + "&"+ "RoomCode=" + row[i].RoomCode + "&"+ "RoomNumber=" + row[i].RoomNumber + "&"+ "RoomUnit=" + row[i].Unit + "&"+ "natureNumber=" + row[i].NatureFloor + "&"+ "Floor=" + row[i].Floor + "&"+ "CoveredArea=" + $('#txtFloorArea2').val() + "&"+ "BuilDingExceptArea=" + $('#txtRoomArea2').val() + "&"+ "AreaShare=" + $('#txtShareArea2').val() + "&"+ "BalconyArea=" + $('#txtBalconyArea2').val() + "&"+ "RoomFaceDirectionID=" + $('#cboOrientations2').combobox('getValue') + "&"+ "LandscapeID=" + $('#cboLandscape2').combobox('getValue') + "&"+ "HouseTypeID=" + $('#cboHouseType2').combobox('getValue') + "&"+ "RoomTypeID=" + $('#cboRoomType2').combobox('getValue') + "&"+ "RoomRanking=" + row[i].RoomRanking + "&"+ "RoomDescribeID=" + RoomDescribeID + "&"+ "BuildingPropertiesID=" + JianzhuXingZhi.BuildingPropertyID, function (data1) {if (data1 > 0) {RoomDataID = data1;$.getJSON("/FangJianZiLiao/InsertRoomUnivalent?RoomDatumID=" + RoomDataID, function (data2) {if (data2 > 0) {}});$.getJSON("/FangJianZiLiao/InsertAreaMeasurement?RoomDataID=" + RoomDataID, function (data3) {if (data3 > 0) {}});$.getJSON("/FangJianZiLiao/InsertStatusChange?RoomDatumID=" + RoomDataID, function (data4) {if (data4 > 0) {}});}});}}alert("生成成功!!!");$('#w增加楼栋').window('close');$("#frmGeneratePreview").window('close');$('#w新增房间描述').window('close');});} else {}});} else {$.getJSON("/XiangMuZiLiao/InsertProjectSubregion?ProjectSubregionName=" + $('#txtXiangMuFenQu1').val() + "&"+ "ProjectID=" + XiangMu, function (data6) {XiangMuFenQuID = data6;$.getJSON("/XiangMuZiLiao/XingZengLouDongZiLiao?LouDongDaiMa=" + $('#txtLouDongDaiMa1').val() + "&"+ "LouDongMingCheng=" + $('#txtLouDongMingCheng1').val() + "&"+ "CengShu=" + $('#txtJianZhuCengShu1').val() + "&"+ "FangJianBianHaoMoShiLeiXingID=" + $("#cboFangJianBianHaoMuShi1").combobox('getValue') + "&"+ "HeTongDongHaoMingCheng=" + $('#txtHeTongLouDongMingCheng1').val() + "&"+ "JianLiJiGouID=" + $('#cboJianLiJiGou1').combobox('getValue') + "&"+ "JianYaoBeiZhu=" + $('#txtJianYaoBeiZhu1').val() + "&"+ "JianZhuXingZhiID=" + JianzhuXingZhi.BuildingPropertyID + "&"+ "JiaoWuBiaoZhunID=" + $('#cboJiaoWuBiaoZhun1').combobox('getValue') + "&"+ "LouDongDiKuaiBianHao=" + $('#txtDiKuaiBianHao1').val() + "&"+ "LouDongFangDiChangZhengHao=" + $('#txtFangDiChanZhengHao1').val() + "&"+ "LouDongTuDiChuRangHeTongHao=" + $('#txtTuDiChuRangHeTong1').val() + "&"+ "LouDongTuDiMianJi=" + $('#txtTuDiMianJi1').val() + "&"+ "LouDongTuDiShiYongJieShuShiJian=" + $('#datTuDiShiYongEdd1').datebox('getValue') + "&"+ "LouDongTuDiShiYongKaiShiShiJian=" + $('#datTuDiShiYongCong1').datebox('getValue') + "&"+ "LouDongTuDiYongTu=" + $('#txtTuDiYongTu1').val() + "&"+ "YingJiaoFangRiQi=" + $('#datYingJiaoFangRiQi1').datebox('getValue') + "&"+ "JieGouID=" + $('#cboJieGou1').combobox('getValue') + "&"+ "XiangMuFenQuID=" + XiangMuFenQuID + "&",function (data5) {if (data5 != null) {HouseID = data5;$.getJSON("/FangJianZiLiao/InsertRoomDescribe?StoreyActionNumber=" + $('#txtStoreyFollow2').val() + "&"+ "StoreyFinishNumber=" + $('#txtStoreyTo2').val() + "&"+ "NatureStoreyActionNumber=" + $('#txtNatureFollow2').val() + "&"+ "NatureStoreyFinishNumber=" + $('#txtNatureTo2').val() + "&"+ "HouseID=" + HouseID, function (data) {if (data > 0) {RoomDescribeID = data;for (var i = 0; i < row.length; i++) {$.getJSON("/FangJianZiLiao/InsertUnitRoomData?HouseID=" + HouseID + "&"+ "RoomCode=" + row[i].RoomCode + "&"+ "RoomNumber=" + row[i].RoomNumber + "&"+ "RoomUnit=" + row[i].Unit + "&"+ "natureNumber=" + row[i].NatureFloor + "&"+ "Floor=" + row[i].Floor + "&"+ "CoveredArea=" + $('#txtFloorArea2').val() + "&"+ "BuilDingExceptArea=" + $('#txtRoomArea2').val() + "&"+ "AreaShare=" + $('#txtShareArea2').val() + "&"+ "BalconyArea=" + $('#txtBalconyArea2').val() + "&"+ "RoomFaceDirectionID=" + $('#cboOrientations2').combobox('getValue') + "&"+ "LandscapeID=" + $('#cboLandscape2').combobox('getValue') + "&"+ "HouseTypeID=" + $('#cboHouseType2').combobox('getValue') + "&"+ "RoomTypeID=" + $('#cboRoomType2').combobox('getValue') + "&"+ "RoomRanking=" + row[i].RoomRanking + "&"+ "RoomDescribeID=" + RoomDescribeID + "&"+ "BuildingPropertiesID=" + JianzhuXingZhi.BuildingPropertyID, function (data1) {if (data1 > 0) {RoomDataID = data1;$.getJSON("/FangJianZiLiao/InsertRoomUnivalent?RoomDatumID=" + RoomDataID, function (data2) {if (data2 > 0) {}});$.getJSON("/FangJianZiLiao/InsertAreaMeasurement?RoomDataID=" + RoomDataID, function (data3) {if (data3 > 0) {}});$.getJSON("/FangJianZiLiao/InsertStatusChange?RoomDatumID=" + RoomDataID, function (data4) {if (data4 > 0) {}});}});}}alert("生成成功!!!");$('#w增加楼栋').window('close');$("#frmGeneratePreview").window('close');$('#w新增房间描述').window('close');});} else {}});});}}}

生成房间之后,如果发现有一些错误或者客户的特殊要求,那么我们可以在房间资料里面进行维护。楼栋出现错误可以在项目资料模块进行维护。

楼栋资料界面效果图如下:
房间资料维护界面效果图:
在这里我们可以通过查询出默一栋楼的房间资料进行维护。在这里可以进行新增、修改、删除的维护。
首先说一下修改:
修改界面如下:

从界面上看我们这里用到的控件有:

控件名称

说明

单行文本框(easyui-textbox)

第一要设置每个控件的id,第二可以设置每个控件的大小,不设置也有默认值,第三(data-options)是数据的操作可以设置控件的属性和事件。

下拉框(easyui-combobox)

按钮(easyui-linkbutton)

复选框(checkbox)

这里涉及到的是房间资料表上面有,请参考上面的房源的生成。
第一步:数据库的存储过程
if @SN='UpdateRoomData'--修改房间资料beginupdate SYS_RoomDataTableset Floor=@Floor,natureNumber=@natureNumber,RoomNumber=@RoomNumber,CoveredArea=@CoveredArea,BuilDingExceptArea=@BuilDingExceptArea,AreaShare=@AreaShare,BalconyArea=@BalconyArea,RoomFaceDirectionID=@RoomFaceDirectionID,LandscapeID=@LandscapeID,HouseTypeID=@HouseTypeID,RoomTypeID=@RoomTypeID,BuildingPropertiesID=@BuildingPropertiesIDwhere RoomDataID=@RoomDataIDend

第二步:BLL

 public int UpdateFangJianZiLiao(int Floor, string natureNumber, string RoomNumber, decimal CoveredArea, decimal BuilDingExceptArea, decimal AreaShare,decimal BalconyArea, int RoomFaceDirectionID, int LandscapeID, int HouseTypeID, int RoomTypeID, int BuildingPropertiesID,int RoomDataID){SqlParameter[] SQLCMDpas = {new SqlParameter("@SN",SqlDbType.Char),new SqlParameter("@Floor",SqlDbType.Int),new SqlParameter("@natureNumber",SqlDbType.Char),new SqlParameter("@RoomNumber",SqlDbType.Char),new SqlParameter("@CoveredArea",SqlDbType.Decimal),new SqlParameter("@BuilDingExceptArea",SqlDbType.Decimal),new SqlParameter("@AreaShare",SqlDbType.Decimal),new SqlParameter("@BalconyArea",SqlDbType.Decimal),new SqlParameter("@RoomFaceDirectionID",SqlDbType.Int),new SqlParameter("@LandscapeID",SqlDbType.Int),new SqlParameter("@HouseTypeID",SqlDbType.Int),new SqlParameter("@RoomTypeID",SqlDbType.Int),new SqlParameter("@BuildingPropertiesID",SqlDbType.Int),new SqlParameter("@RoomDataID",SqlDbType.Int)};SQLCMDpas[0].Value = "UpdateRoomData";SQLCMDpas[1].Value=Floor;SQLCMDpas[2].Value=natureNumber;SQLCMDpas[3].Value=RoomNumber;SQLCMDpas[4].Value=CoveredArea;SQLCMDpas[5].Value=BuilDingExceptArea;SQLCMDpas[6].Value=AreaShare;SQLCMDpas[7].Value=BalconyArea;SQLCMDpas[8].Value=RoomFaceDirectionID;SQLCMDpas[9].Value=LandscapeID;SQLCMDpas[10].Value=HouseTypeID;SQLCMDpas[11].Value=RoomTypeID;SQLCMDpas[12].Value=BuildingPropertiesID;SQLCMDpas[13].Value = RoomDataID;int i = myDALMethod.DAL_OPTableDB_Par("SYS_RoomData",SQLCMDpas);return i;}

第三步:Controller

 public ActionResult UpdateRoomData(int Floor, string natureNumber, string RoomNumber, decimal CoveredArea, decimal BuilDingExceptArea, decimal AreaShare,decimal BalconyArea, int RoomFaceDirectionID, int LandscapeID, int HouseTypeID, int RoomTypeID, int BuildingPropertiesID,int RoomDataID){int i = myFangJianZiLiao.UpdateFangJianZiLiao(Floor, natureNumber, RoomNumber, CoveredArea, BuilDingExceptArea, AreaShare,BalconyArea, RoomFaceDirectionID, LandscapeID, HouseTypeID, RoomTypeID, BuildingPropertiesID, RoomDataID);return Content(i.ToString());}

第四步:界面

 function UpdateFangJianZiLiao(){var row = $('#tb建筑性质').datagrid('getSelected');var row1 = $('#tb房间资料').datagrid('getSelected');if(row==null){JianZhuXingZhiID;}else{JianZhuXingZhiID=row.BuildingPropertyID;}if (confirm("是否修改?")) {$.getJSON("/FangJianZiLiao/UpdateRoomData?Floor=" + $('#txtXStoreyFollow').val() + "&"+ "natureNumber=" + $('#txtXNatureFollow').val() + "&"+ "RoomNumber=" + $('#txtXRoomNumberFollow').val() + "&"+ "CoveredArea=" + $('#txtXFloorArea').val() + "&"+ "BuilDingExceptArea=" + $('#txtXRoomArea').val() + "&"+ "AreaShare=" + $('#txtXShareArea').val() + "&"+ "BalconyArea=" + $('#txtXBalconyArea').val() + "&"+ "RoomFaceDirectionID=" + $('#cboXOrientations').combobox('getValue') + "&"+ "LandscapeID=" + $('#cboXLandscape').combobox('getValue') + "&"+ "HouseTypeID=" + $('#cboXHouseType').combobox('getValue') + "&"+ "RoomTypeID=" + $('#cboXRoomType').combobox('getValue') + "&"+ "BuildingPropertiesID=" + JianZhuXingZhiID + "&"+ "RoomDataID=" + row1.RoomDataID, function (data) {if (data > 0) {alert("修改成功!");$('#w修改房间描述').window('close');$.getJSON("/FangJianZiLiao/SelectAllRoomData", function (data) {$('#tb房间资料').datagrid('loadData', data);});} else {alert("修改失败!");}});}}function closeXiuGaiChuangTi() {$('#w修改房间描述').window('close');}function DeleteRoomData() {var row=$('#tb房间资料').datagrid('getSelected');if (row != null) {if (confirm("是否删除?")) {$.getJSON("/FangJianZiLiao/DeleteRoomData?RoomDataID=" + row.RoomDataID, function (data) {if (data > 0) {alert("删除成功!");$.getJSON("/FangJianZiLiao/SelectAllRoomData", function (data) {$('#tb房间资料').datagrid('loadData', data);});} else {alert("删除失败!");}});}}else{alert("请先选中一行数据!!!");}}

这样就可以修改成功了!

还有就是删除。
删除就直接说下代码把。
第一步:数据库存储过程。
if @SN='DeleteRoomData'--删除房间资料begindelete SYS_RoomDataTablewhere  RoomDataID=@RoomDataIDend

第二步:BLL

public int DeleteRoomData(int RoomDataID)//删除房间资料{SqlParameter[] SQLCMDpas = {new SqlParameter("@SN",SqlDbType.Char),new SqlParameter("@RoomDataID",SqlDbType.Int)};SQLCMDpas[0].Value = "DeleteRoomData";SQLCMDpas[1].Value = RoomDataID;int i = myDALMethod.DAL_OPTableDB_Par("SYS_RoomData",SQLCMDpas);return i;}

第三步:Controller

public ActionResult DeleteRoomData(int RoomDataID){int i = myFangJianZiLiao.DeleteRoomData(RoomDataID);return Content(i.ToString());}

第四步:界面

 function DeleteRoomData() {var row=$('#tb房间资料').datagrid('getSelected');if (row != null) {if (confirm("是否删除?")) {$.getJSON("/FangJianZiLiao/DeleteRoomData?RoomDataID=" + row.RoomDataID, function (data) {if (data > 0) {alert("删除成功!");$.getJSON("/FangJianZiLiao/SelectAllRoomData", function (data) {$('#tb房间资料').datagrid('loadData', data);});} else {alert("删除失败!");}});}}else{alert("请先选中一行数据!!!");}}

这样就可以删除成功了!

楼栋资料的维护也跟这里房间资料的维护一样,做楼栋资料维护可以参考这里房间资料的维护。
仅供学习参考,禁止商业用途!

明源售楼系统技术解析 房源生成(二)相关推荐

  1. 明源售楼系统技术解析 MVC架构与房源生成(一)

    第1章 使用Vs2010 版本搭建MVC3框架 1.1 新建项目 第一步:打开Vs界面,点击左上角文件,点击新建,选择项目                                       ...

  2. 明源售楼系统技术解析 销售控制(更名查询与变更查询)

    在销售控制模块里 点击更名查询打开更名查询界面: 查询功能实现: 第一步:数据库 1.表与表的关系 表1.SYS_RenameTable(SYS_更名表) 用于存放更名信息 列名 数据类型 主键/外键 ...

  3. 明源售楼系统技术解析(二)付款方式定义——查询

    付款方式定义--查询篇   1.1主界面效果图如下                                   从界面上可以看到我们这里用到的控件有 查询功能实现: 第一步:数据库 1.表与关 ...

  4. C# MVC售楼系统开发

    作者:ゞ瀟灑亾眚ゞ 前序:售楼前台就是客户可以来到这个网页进行查看楼栋房间信息,如果是初次来此网页可以进行注册,如果客户已经在卖楼人员的推荐下,而且已经在后台登记过了,可以直接选择登录再选择用手机验证 ...

  5. (附源码)计算机毕业设计SSM综合售楼系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  6. 计算机毕业设计(附源码)python综合售楼系统

    项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs. 项目技术: dj ...

  7. java计算机毕业设计售楼系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计售楼系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计售楼系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  8. [附源码]Nodejs计算机毕业设计基于售楼系统Express(程序+LW)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: Node.js+ Vscode + Mysql5.7 + HBuilderX+Navicat11+Vue ...

  9. java售楼系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署

    java售楼系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java售楼系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  10. (附源码)计算机毕业设计SSM基于售楼系统

    (附源码)计算机毕业设计SSM基于售楼系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Intelli ...

最新文章

  1. vb.net usb通用协议api_充电头百花齐放不通用,热门全协议充电头盘点,充电问题一站搞定...
  2. 【cocos2d-x】瓷砖地图(TileMap)基础知识
  3. tensorflow http调用_《TensorFlow 内核剖析》笔记——系统架构
  4. LeetCode 40 组合总和 II
  5. leetcode875.KokoEatingBananas
  6. git pull 出错,error: Your local changes to the following files would be overwritten by merge...
  7. Google卫片下载(转)
  8. 数据库系统工程师考点
  9. 《凤凰项目 一个IT运维的传奇故事》读后感
  10. WinZip 18.0下载地址及注册码
  11. JAVA操作Excel 可配置,动态 生成复杂表头 复杂的中国式报表表头
  12. 清华、南京大学计算机系女神非常敬佩的IT公众号
  13. 计算机界面无法全部显示,电脑屏幕不能完整显示软件界面怎么处理
  14. 入行3D建模需不需要美术绘画?不看吃亏的是你!
  15. 手机按键精灵学习 —— 基础知识
  16. SPSS MODELER笔记1----数据基本处理和整体方法概念
  17. Android学习之Android历史
  18. matlab图加上箭头和标注实例
  19. 嵌入式-ARM-学习总结(7):按键与中断
  20. WM_KILLFOCUS和WM_SETFOCUS

热门文章

  1. 机器人设计必备的软件有哪些
  2. 计算机硬盘合并怎么弄,如何将分区的硬盘合并为一个磁盘?
  3. 计算机网络实验一 验证性实验
  4. android连接php还是asp,ASP或PHP如何判断是从电脑还是手机客户端访问页面的思路...
  5. Android 白天黑夜模式切换适配及引起的Activity销毁重启解决
  6. Hibernate 框架检索策略
  7. storm apache_Apache Storm很棒。 这就是为什么(以及如何)使用它的原因。
  8. ppt画图画不下——调整ppt页面的大小
  9. window.open 服务器运行失败,win10 openssh服务器安装失败的最佳解决方法
  10. linux 内存管理(8) —内存描述符(mm_struct)