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

来源:互联网 发布:淘宝店铺装修教程pdf 编辑:程序博客网 时间:2024/04/28 17:50

第1章 使用Vs2010 版本搭建MVC3框架

1.1 新建项目

第一步:打开Vs界面,点击左上角文件,点击新建,选择项目


                                                              1.1(图一)

第二步:点击网站Web类型,选择ASP.net MVC3 Web应用程序,在名称中输入项目名称(解决方案名称),位置可自行选择存放该项目的路径,完成后点击确定


                                                               1.1(图二)


第三步:选择空项目,点击确定,然后MVC项目创建成功




                                                                                                                                               1.1(图三)


                                                                                                                            1.1(图四)


1.2创建控制器和视图

第一步:右键点击Controllers(控制器),点击添加,选择控制器,然后输入创建控制器的名称,点击确定,建立控制器完成


                                                                                                                                          1.2(图一)


                                                                1.2(图二)

第二步:在控制器中选择添加视图


1.2(图三)

1.2(图四)

1.2(图五)

1.2(图六)

1.3 Models层的添加

第一步,点击右键选择..点击添加,选择新建项类库


       1.3(图一)

第二步:选择数据模板,点击Windows,点击类库,输入实体类数据库名称



                                1.3(图二)

第三步:点击确定


1.3(图三)


第四步:DAL的代码

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ComponentModel;using System.Data;using System.Data.SqlClient;namespace DALPublic{    public class DALMethod    {        string sqlcnnstr = @"Data Source=Simple\SQLXF;Initial Catalog=明源售楼;User ID=sa;Password=123";        SqlConnection sqlcn;        SqlCommand sqlcmd;        SqlDataAdapter sqlda;        DataTable dt;        public DataTable DAL_SelectDB_Par(string mysqlstr, SqlParameter[] SQLCMDpas)        {            sqlcn = new SqlConnection(sqlcnnstr);            sqlcmd = new SqlCommand(mysqlstr,sqlcn);            sqlcmd.CommandType = CommandType.StoredProcedure;            foreach (SqlParameter var in SQLCMDpas)            {                sqlcmd.Parameters.Add(var);            }            sqlda = new SqlDataAdapter(sqlcmd);            this.dt = new DataTable();            sqlda.Fill(this.dt);            return this.dt;        }        public int DAL_OPTableDB_Par(string mysqlstr, SqlParameter[] SQlCMDpas)        #region   //插入、更新、删除数据库中的ADO.NET通用方法        {            //第一步SqlConnection:创建数据库连接类SqlConnection的对象sqlcn,并显示打开;好比修建湛江到广州的高速公路            sqlcn = new SqlConnection(sqlcnnstr.ToString());            sqlcn.Open();            //第二步SqlCommand A:创建命令类SqlCommand的对象sqlcmd,好比安排运输计划:运输车和货物(SQL命令),运输通道sqlcn            sqlcmd = new SqlCommand(mysqlstr, sqlcn);            //第二步SqlCommand B:设置命令对象执行的SQL代码类型,此处是执行数据库中存储过程            sqlcmd.CommandType = CommandType.StoredProcedure;            //第二步SqlCommand C:把外部传递过来的SQL命令对应的参数填充到SqlCommand对象sqlcmd的SqlParameters集合中               foreach (SqlParameter var in SQlCMDpas)            {                sqlcmd.Parameters.Add(var);            }            //第三步 SqlCommand :SqlCommand对象sqlcmd自己执行ExecuteNonQuery()调用SQL存储过程操作数据库            int myop = sqlcmd.ExecuteNonQuery();            sqlcn.Close();            return myop;        }        #endregion    }}


2章房源生成功能实现

2.2.1房源的生成

     房源的生成主要是设置相应的项目及楼栋信息,并可以快速批量生成房间资料,按照楼栋房间的规律性,将相同房间类型、面积、朝向的房间归类进行快速生成,还可以对项目资料和楼栋资料的新增修改删除操作。

效果图如下:



2.2.1(图一)

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

控件名称

说明

单行文本框(easyui-textbox)

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

下拉框(easyui-combobox)

按钮(easyui-linkbutton)

表格(easyui-datagrid)

树形控件(easyui-tree)

















项目查询功能实现:

第一步:数据库

1、表与表的关系:



    2.2.1(图二)

1:项目表(SYS_ProjectTable

用于存放项目录入的信息

列名

数据类型

主键/外键

说明

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


用于记录下拉框的基础数据表2:属性明细表(SYS_AttributeAssembleDetailTable)

列名

数据类型

主键/外键

说明

AttributeAssembleDetailID

int - Identity

主键

属性明细ID

AttributeAssembleDetailName

nchar (100)

 

属性明细名称

AttributeAssembleID

int

外键

属性集合ID

AttributeAssembleDetailFar_ID

int

 

属性明细ID


用于查询建筑性质数据表3:建筑性质表(SYS_BuildingPropertyTable)

列名

数据类型

主键/外键

说明

BuildingPropertyID

int - Identity

主键

建筑性质ID

BuildingProperty1

nchar (30)

 

建筑性质1

BuildingProperty2

nchar (30)

 

建筑性质2

BuildingProperty3

nchar (30)

 

建筑性质3

PublicID

int

 

建筑性质Far_ID


1、下拉框控件(easyui-combobox控件使用方法:

   作用:绑定数据,通过绑定的数据查询表格数据

   下拉框截图:


              2.2.1(图二)

创建下拉框界面代码:

首先引用jquery-easyui-1.3.3脚本,jquery-easyui-1.3.3网上有得下载,也有更高版本的


                             2.2.1(图三)

把下载的jquery-easyui-1.3.3脚本放到Content文件夹里面,也可以放到其他地方

然后引用脚本如下:

<!DOCTYPE html><html><head><meta content="text/javascript;charset=utf-8" /><script src="../../Content/jquery-easyui-1.3.3/jquery.min.js" type="text/javascript"></script><script src="../../Content/jquery-easyui-1.3.3/jquery.easyui.min.js" type="text/javascript"></script><link href="../../Content/jquery-easyui-1.3.3/themes/default/easyui.css" rel="stylesheet" type="text/css" /><link href="../../Content/jquery-easyui-1.3.3/themes/icon.css" rel="stylesheet" type="text/css" /></head>


如果脚本不是放在Content文件夹里面的那脚本路径就不一样

然后在<body>这里写控件就是写下面代码</body>

<td align="right">项目分类:</td><td><input id="cboXiangMuFenLei" class="easyui-combobox" style="width:140px"/></td>


下面是绑定下拉框的数据:

首先我们要明白数据的调用顺序,界面层(View)——》控制器(Controller)——》逻辑层(BLL)——》数据库存储过程,而我们写的时候一般反过来写,先写存储过程,再写BLL,再到Controller,最后回到View

第一步:数据库存储过程


                                 2.2.1(图四)

展开自己的项目,再展开存储过程,右键——》新建存储过程


                                              2.2.1(图五)


把蓝色选中的删除掉,在PROCEDURE后面填写存储过程的名字然后声明一个变量如下图:


2.2.1(图

Char表示数据类型,(100)表示字符串长度,SELECT……FROM……表示SQL语句

写完后点上面的


2.2.1(图

第二步:BLL(逻辑层)

创建BLL跟上面添加DAL是一样是新建类库,新建完类库然后添加引用如下图:


                                     2.2.1(图七)

  2.2.1(图八)

2.2.1(图九)

写一个方法:


2.2.1(图十)

第三步:控制器(Controller

首先我们新建一个控制器,写一个转换list格式的数据的方法如下图:


2.2.1(图十一)



2.2.1(图十二)

然后再新建一个控制器然后引用BLL如图:



2.2.1(图十三)

然后如图:



2.2.1(图十四)

在控制器里引用BLL的方法:



2.2.1(图十五)

然后写一个控制器方法如下:


2.2.1(图十六)

第四步:界面(View

javascript里面的代码如下:



     2.2.1(图十七)

然后就是使用这个方法,我们首先在加载事件里面用这个方法如下:



这样我们就完成了下拉框的绑定,效果如下:


     2.2.1(图十八)

2.2.2、下面我们来绑定easyui-datagrid控件的数据。

首先绑定easyui-datagrid的数据跟跟绑定下拉框差不多,首先控件代码如下:

<div data-options="region:'center'" style="width:870px;height:395px"><table id="tb项目资料" class="easyui-datagrid" title="项目列表" style="width:870px;height:385px;"data-options="singleSelect:true"><thead><tr><th data-options="field:'ProjectID',width:130,hidden:true, align:'center'">XiangMuID</th><th data-options="field:'PremisesName',width:125, align:'center'">楼盘名称</th><th data-options="field:'ProjectCode',width:125, align:'center'">项目代码</th><th data-options="field:'ProjectName',width:125, align:'center'">项目名称</th><th data-options="field:'BuildingProperty1',width:125, align:'center'">建筑性质</th><th data-options="field:'MassifNumber',width:125, align:'center'">土地编号</th><th data-options="field:'LandArea',width:80, align:'center'">土地面积</th><th data-options="field:'Structure',width:80, align:'center'">结构</th><th data-options="field:'ZuoFeiFou',width:80, align:'center',formatter:mformatter">作废否</th> </tr></thead></table>


 

第一步:数据库存储过程,把你需要的字段查询出来

if @SN='SelectProjectData'--查询项目资料     begin         SELECT       SYS_ProjectTable.ProjectID, SYS_ProjectTable.PremisesName, SYS_ProjectTable.ProjectCode, SYS_ProjectTable.ProjectName, SYS_ProjectTable.BuildingPropertyID, SYS_ProjectTable.StructureID, SYS_ProjectTable.PlotRatio, SYS_ProjectTable.RealEstateNumber, SYS_ProjectTable.DomesticLicence, SYS_ProjectTable.ExportLicence, SYS_ProjectTable.SupervisionInstitutionID, SYS_ProjectTable.MassifNumber, SYS_ProjectTable.LandArea, SYS_ProjectTable.LandSellContractNumber, SYS_ProjectTable.LandUserBeginTime, SYS_ProjectTable.LandUserEndTime, SYS_ProjectTable.LandPurpose,SYS_BuildingPropertyTable.BuildingProperty1,SYS_AttributeAssembleDetailTable_1.AttributeAssembleDetailName AS SupervisionInstitution, SYS_AttributeAssembleDetailTable.AttributeAssembleDetailName AS Structure         FROM         SYS_AttributeAssembleDetailTable INNER JOIN SYS_ProjectTable LEFT JOIN                      SYS_BuildingPropertyTable ON SYS_ProjectTable.BuildingPropertyID =SYS_BuildingPropertyTable.BuildingPropertyID  ON  SYS_AttributeAssembleDetailTable.AttributeAssembleDetailID = SYS_ProjectTable.StructureID INNER JOIN SYS_AttributeAssembleDetailTable AS SYS_AttributeAssembleDetailTable_1 ON SYS_ProjectTable.SupervisionInstitutionID = SYS_AttributeAssembleDetailTable_1.AttributeAssembleDetailID     end


第二步:BLL

public DataTable SelectProjectData()        {            SqlParameter[] SQLCMDpas = {                                           new SqlParameter("@SN",SqlDbType.Char)                                       };            SQLCMDpas[0].Value = "SelectProjectData";            return myDALMethod.DAL_SelectDB_Par("SYS_ProjectData", SQLCMDpas);        }


第三步:Controller

public ActionResult SelectProjectData()//查询项目资料        {            DataTable dt = myXiangMuZiLiao.SelectProjectData();            List<Dictionary<string, object>> ListRetrun = ConvertHelper.DtToList(dt);            return Json(ListRetrun, JsonRequestBehavior.AllowGet);        }


 

第四步:View

function SelectProjectData() {    $.getJSON("/XiangMuZiLiao/SelectProjectData",                    function (data) {                        $('#tb项目资料').datagrid('loadData', data);                    }                );      }


这里有点不一样的是

<table id="tb项目资料" class="easyui-datagrid" title="项目列表" style="width:870px;height:385px;"data-options="singleSelect:true"><thead><tr> <th data-options="field:'ProjectID',width:130,hidden:true, align:'center'">XiangMuID</th> <th data-options="field:'PremisesName',width:125, align:'center'">楼盘名称</th> <th data-options="field:'ProjectCode',width:125, align:'center'">项目代码</th> <th data-options="field:'ProjectName',width:125, align:'center'">项目名称</th> <th data-options="field:'BuildingProperty1',width:125, align:'center'">建筑性质</th> <th data-options="field:'MassifNumber',width:125, align:'center'">土地编号</th> <th data-options="field:'LandArea',width:80, align:'center'">土地面积</th> <th data-options="field:'Structure',width:80, align:'center'">结构</th> <th data-options="field:'ZuoFeiFou',width:80, align:'center',formatter:mformatter">作废否</th></tr></thead></table>


field后面的列名要跟数据库的列名一致,如果这里列名跟数据库也就是上面存储过程查出来的字段,不一致会查不出数据的。

效果图如下:


2.2.2(图一)

二、下面是新增一个项目

首先售楼系统是从一个项目开始的,新增项目界面如下:


                                                            2.2.2(图二)

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


控件名称

说明

单行文本框(easyui-textbox)

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

下拉框(easyui-combobox)

按钮(easyui-linkbutton)

树形控件(easyui-tree)














1. 填写项目资料

点击项目列表中〖增加〗按钮,弹出“增加项目”窗口,录入项目相关资料


第一步:数据库存储过程

if @SN='InsertProjectData'--新增项目资料    begin       INSERT  SYS_ProjectTable(PremisesName,ProjectCode,ProjectName,BuildingPropertyID,DomesticLicence,                 ExportLicence,LandArea,LandPurpose,LandSellContractNumber,LandUserBeginTime,LandUserEndTime,                 MassifNumber,PlotRatio,RealEstateNumber,StructureID,SupervisionInstitutionID)       VALUES  (@PremisesName,@ProjectCode,@ProjectName,@BuildingPropertyID,@DomesticLicence,                 @ExportLicence,@LandArea,@LandPurpose,@LandSellContractNumber,@LandUserBeginTime,@LandUserEndTime,                 @MassifNumber,@PlotRatio,@RealEstateNumber,@StructureID,@SupervisionInstitutionID)end


第二步:BLL

public int InsertXiangMuZiLiao(string PremisesName, string ProjectCode, string ProjectName, int BuildingPropertyID,            string DomesticLicence, string ExportLicence, string LandArea, string LandPurpose, string LandSellContractNumber, DateTime LandUserBeginTime, DateTime LandUserEndTime,            string MassifNumber, decimal PlotRatio, string RealEstateNumber, int StructureID, int SupervisionInstitutionID)//返回需要新增的数据        {            SqlParameter[] SQLCMpas = {                                          new SqlParameter("@SN",SqlDbType.Char),                                          new SqlParameter("@PremisesName",SqlDbType.Char),//数据的类型                                          new SqlParameter("@ProjectCode",SqlDbType.Char),                                          new SqlParameter("@ProjectName",SqlDbType.Char),                                          new SqlParameter("@BuildingPropertyID",SqlDbType.Int),                                          new SqlParameter("@DomesticLicence",SqlDbType.Char),                                          new SqlParameter("@ExportLicence",SqlDbType.Char),                                          new SqlParameter("@LandArea",SqlDbType.Char),                                          new SqlParameter("@LandPurpose",SqlDbType.Char),                                          new SqlParameter("@LandSellContractNumber",SqlDbType.Char),                                          new SqlParameter("@LandUserBeginTime",SqlDbType.DateTime),                                          new SqlParameter("@LandUserEndTime",SqlDbType.DateTime),                                          new SqlParameter("@MassifNumber",SqlDbType.Char),                                          new SqlParameter("@PlotRatio",SqlDbType.Decimal),                                          new SqlParameter("@RealEstateNumber",SqlDbType.Char),                                          new SqlParameter("@StructureID",SqlDbType.Int),                                          new SqlParameter("@SupervisionInstitutionID",SqlDbType.Int)                                      };            SQLCMpas[0].Value = "InsertProjectData";            SQLCMpas[1].Value = PremisesName;            SQLCMpas[2].Value = ProjectCode;            SQLCMpas[3].Value = ProjectName;            SQLCMpas[4].Value = BuildingPropertyID;            SQLCMpas[5].Value = DomesticLicence;            SQLCMpas[6].Value = ExportLicence;            SQLCMpas[7].Value = LandArea;            SQLCMpas[8].Value = LandPurpose;            SQLCMpas[9].Value = LandSellContractNumber;            SQLCMpas[10].Value = LandUserBeginTime;            SQLCMpas[11].Value = LandUserEndTime;            SQLCMpas[12].Value = MassifNumber;            SQLCMpas[13].Value = PlotRatio;            SQLCMpas[14].Value = RealEstateNumber;            SQLCMpas[15].Value = StructureID;            SQLCMpas[16].Value = SupervisionInstitutionID;//数组的最大长度            int i = myDALMethod.DAL_OPTableDB_Par("SYS_ProjectData", SQLCMpas);            return i;//返回受影响行数        }


第三步:Controller

 

public ActionResult InsertXiangMuZiLiao(string PremisesName, string ProjectCode, string ProjectName, int BuildingPropertyID,string DomesticLicence, string ExportLicence, string LandArea, string LandPurpose, string LandSellContractNumber, DateTime LandUserBeginTime, DateTime LandUserEndTime,string MassifNumber, decimal PlotRatio, string RealEstateNumber, int StructureID, int SupervisionInstitutionID)        {            int i = myXiangMuZiLiao.InsertXiangMuZiLiao(PremisesName, ProjectCode, ProjectName, BuildingPropertyID,DomesticLicence, ExportLicence, LandArea, LandPurpose, LandSellContractNumber, LandUserBeginTime, LandUserEndTime, MassifNumber,PlotRatio, RealEstateNumber, StructureID, SupervisionInstitutionID);            return Content(i.ToString());        }


第四步:界面

function InsertXiangMuZiLiao() {        if (confirm('是否添加?')) {            $.getJSON("/XiangMuZiLiao/InsertXiangMuZiLiao?PremisesName=" + $('#txtLouPanMingCheng').val() + "&"                                + "ProjectCode=" + $('#txtXiangMuDaiMa').val() + "&"                                 + "ProjectName=" + $('#txtXiangMuMingCheng').val() + "&"                                 + "BuildingPropertyID=" + $('#cboJianZhuXingZhi').combobox('getValue') + "&"                                 + "DomesticLicence=" + $('#txtNeiXiaoXuKeZheng').val() + "&"                                 + "ExportLicence=" + $('#txtWaiXiaoXuKeZheng').val() + "&"                                 + "LandArea=" + $('#txtTuDiMianJi').val() + "&"                                 + "LandPurpose=" +  $('#txtTuDiYongTu').val()+ "&"                                 + "LandSellContractNumber=" + $('#txtTuDiChuRangHeTong').val() + "&"                                 + "LandUserBeginTime=" + $('#datTuDiShiYongCong').datebox('getValue') + "&"                                 //下拉框和日期控件获取值需要用getValue,文本框不需要                                 + "LandUserEndTime=" + $('#datTuDiShiYongEdd').datebox('getValue') + "&"                                 + "MassifNumber=" + $('#txtDiKuaiBianHao').val() + "&"                                 + "PlotRatio=" + $('#txtRongJiLv').val() + "&"                                 + "RealEstateNumber=" + $('#txtFangDiChanZhengHao').val() + "&"                                 + "StructureID=" +  $('#cboJieGou').combobox('getValue') + "&"                                 + "SupervisionInstitutionID=" + $("#cboJianLiJiGou").combobox('getValue') + "&",                                 function (data) {                                     if (data != null) {                                         alert("添加成功!");                                     window.location.href = "../XiangMuZiLiao/ChaXunXiangMuZiLiao";//跳转页面                                     } else {                                         alert("添加失败!");                                     }                                 }                                 );        }                         }


这样就生成了一个项目,生成项目之后我们就需要生成一栋楼了。

2. 填写楼栋资料

在项目列表中选定相关项目后,点击楼栋列表中〖增加〗按钮,在弹出的新增楼栋窗口中输入楼盘相关资料


下面是生成楼栋,生成楼栋包括,房间的生成,房间生成是通过批量生成的,界面如下:


                                                                       2.2.2(图三)


                                                                                                                                  2.2.2(图四)

1. 填写房间描述

针对选定的楼栋批量定义房间描述信息,也可支持同一楼栋下的房间描述的复制,以及不同项目的同一编号模式之间相互引入。定义房间自然楼层概念,即开发商为了避免一些不吉利的号码,在定义“楼层”时跳过这些数字,为显示楼栋的实际层数以自然楼层来表示。根据在楼栋资料录入时选定的编号模式不同



生成楼栋涉及的数据库表有:


     2.2.2(图五)

第一步:数据库存储过程

if @SN='InsertHouseData'--新增楼栋     begin         INSERT 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 @@IDENTITY     endif @SN='InsertRoomData'   --新增房间      begin          insert  SYS_RoomDataTable(HouseID,RoomCode,RoomNumber,natureNumber,Floor,                  CoveredArea,BuilDingExceptArea,AreaShare,BalconyArea,RoomFaceDirectionID,                  LandscapeID,HouseTypeID,RoomTypeID,RoomRanking,RoomDescribeID,BuildingPropertiesID,BuildingNot)          values (@HouseID,@RoomCode,@RoomNumber,@natureNumber,@Floor,                  @CoveredArea,@BuilDingExceptArea,@AreaShare,@BalconyArea,@RoomFaceDirectionID,                  @LandscapeID,@HouseTypeID,@RoomTypeID,@RoomRanking,@RoomDescribeID,@BuildingPropertiesID,'false')          select @@IDENTITY      end            if @SN='InsertRoomDescribe'   --新增房间描述      begin          insert [SYS_ RoomDescribeTable](StoreyActionNumber,StoreyFinishNumber,NatureStoreyActionNumber,                  NatureStoreyFinishNumber,HouseID)          values (@StoreyActionNumber,@StoreyFinishNumber,@NatureStoreyActionNumber,@NatureStoreyFinishNumber,@HouseID)          select @@IDENTITY      end            if @SN='InsertRoomUnivalent'    --新增单价      begin           insert SYS_UnivalentTable(RoomDatumID)           values (@RoomDatumID)      end            if @SN='InsertAreaMeasurement'    --新增实测      begin          insert SYS_AreaMeasurementTable(RoomDataID)          values (@RoomDataID)      end            if @SN='InsertStatusChange'   --新增状态更改      begin          insert SYS_StatusChangeTable(RoomDatumID,SellStatusDetailID,DeleteNot,XiaoShouJiaID)          values (@RoomDatumID,1,'false',1)      end



第二步:

public DataTable XinZengLouDongZiLiao(string HouseCode, string HouseName, int NumberOfPlies, int RoomNumberModelTypeID, string ContractHouseName, int SupervisionInstitutionID,                   string BriefRemarks, int BuildingPropertyID, int GiveHouseStandardID, string MassifNumber, string EstateNumber, string LandSellAgreementNumber,                   string LandArea, DateTime LandUserEndDate, DateTime LandUserBeginDate, string HouseLandUse, int ProjectSubregionID, DateTime ShouldGiveHouseDate, int StructureID)        {            SqlParameter[] SQLCMDpas = {                                           new SqlParameter("@SN",SqlDbType.Char),                                           new SqlParameter("@HouseCode",SqlDbType.Char),                                           new SqlParameter("@HouseName",SqlDbType.Char),                                           new SqlParameter("@NumberOfPlies",SqlDbType.Int),                                           new SqlParameter("@RoomNumberModelTypeID",SqlDbType.Int),                                           new SqlParameter("@ContractHouseName",SqlDbType.Char),                                           new SqlParameter("@SupervisionInstitutionID",SqlDbType.Int),                                           new SqlParameter("@BriefRemarks",SqlDbType.Char),                                           new SqlParameter("@BuildingPropertyID",SqlDbType.Int),                                           new SqlParameter("@GiveHouseStandardID",SqlDbType.Int),                                           new SqlParameter("@MassifNumber",SqlDbType.Char),                                           new SqlParameter("@EstateNumber",SqlDbType.Char),                                           new SqlParameter("@LandSellAgreementNumber",SqlDbType.Char),                                           new SqlParameter("@LandArea",SqlDbType.Char),                                           new SqlParameter("@LandUserEndDate",SqlDbType.DateTime),                                           new SqlParameter("@LandUserBeginDate",SqlDbType.DateTime),                                           new SqlParameter("@HouseLandUse",SqlDbType.Char),                                           new SqlParameter("@ProjectSubregionID",SqlDbType.Int),                                           new SqlParameter("@ShouldGiveHouseDate",SqlDbType.DateTime),                                           new SqlParameter("@StructureID",SqlDbType.Int)                                       };            SQLCMDpas[0].Value = "InsertHouseData";            SQLCMDpas[1].Value = HouseCode;            SQLCMDpas[2].Value = HouseName;            SQLCMDpas[3].Value = NumberOfPlies;            SQLCMDpas[4].Value = RoomNumberModelTypeID;            SQLCMDpas[5].Value = ContractHouseName;            SQLCMDpas[6].Value = SupervisionInstitutionID;            SQLCMDpas[7].Value = BriefRemarks;            SQLCMDpas[8].Value = BuildingPropertyID;            SQLCMDpas[9].Value = GiveHouseStandardID;            SQLCMDpas[10].Value = MassifNumber;            SQLCMDpas[11].Value = EstateNumber;            SQLCMDpas[12].Value = LandSellAgreementNumber;            SQLCMDpas[13].Value = LandArea;            SQLCMDpas[14].Value = LandUserEndDate;            SQLCMDpas[15].Value = LandUserBeginDate;            SQLCMDpas[16].Value = HouseLandUse;            SQLCMDpas[17].Value = ProjectSubregionID;            SQLCMDpas[18].Value = ShouldGiveHouseDate;            SQLCMDpas[19].Value = StructureID;            DataTable i = myDALMethod.DAL_SelectDB_Par("SYS_HouseData", SQLCMDpas);            return i;        } public DataTable InsertRoomData(int HouseID, string RoomCode, string RoomNumber, 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("@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 = "InsertRoomData";            SQLCMDpas[1].Value=HouseID;            SQLCMDpas[2].Value=RoomCode;            SQLCMDpas[3].Value=RoomNumber;            SQLCMDpas[4].Value=natureNumber;            SQLCMDpas[5].Value=Floor;            SQLCMDpas[6].Value=CoveredArea;            SQLCMDpas[7].Value=BuilDingExceptArea;            SQLCMDpas[8].Value=AreaShare;            SQLCMDpas[9].Value=BalconyArea;            SQLCMDpas[10].Value=RoomFaceDirectionID;            SQLCMDpas[11].Value=LandscapeID;            SQLCMDpas[12].Value=HouseTypeID;            SQLCMDpas[13].Value=RoomTypeID;            SQLCMDpas[14].Value=RoomRanking;            SQLCMDpas[15].Value = RoomDescribeID;            SQLCMDpas[16].Value = BuildingPropertiesID;            DataTable dt = myDALMethod.DAL_SelectDB_Par("SYS_RoomData",SQLCMDpas);            return dt;        }        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;        }


第三步:Controller

public ActionResult XingZengLouDongZiLiao(string LouDongDaiMa, string LouDongMingCheng, int CengShu, int FangJianBianHaoMoShiLeiXingID, string HeTongDongHaoMingCheng, int JianLiJiGouID,                   string JianYaoBeiZhu, int JianZhuXingZhiID, int JiaoWuBiaoZhunID, string LouDongDiKuaiBianHao, string LouDongFangDiChangZhengHao, string LouDongTuDiChuRangHeTongHao,                   string LouDongTuDiMianJi, DateTime LouDongTuDiShiYongJieShuShiJian, DateTime LouDongTuDiShiYongKaiShiShiJian, string LouDongTuDiYongTu, int XiangMuFenQuID, DateTime YingJiaoFangRiQi, int JieGouID)         {            DataTable i = myfrmLouDongZiLiao.XinZengLouDongZiLiao(LouDongDaiMa, LouDongMingCheng, CengShu, FangJianBianHaoMoShiLeiXingID, HeTongDongHaoMingCheng, JianLiJiGouID,                    JianYaoBeiZhu, JianZhuXingZhiID, JiaoWuBiaoZhunID, LouDongDiKuaiBianHao, LouDongFangDiChangZhengHao, LouDongTuDiChuRangHeTongHao,                   LouDongTuDiMianJi, LouDongTuDiShiYongJieShuShiJian, LouDongTuDiShiYongKaiShiShiJian, LouDongTuDiYongTu, XiangMuFenQuID, YingJiaoFangRiQi, JieGouID);            string HouseID = i.Rows[0][0].ToString();            return Content(HouseID);        }public ActionResult InsertRoomData(int HouseID, string RoomCode, string RoomNumber, 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.InsertRoomData(HouseID, RoomCode, RoomNumber, natureNumber, Floor, CoveredArea,                BuilDingExceptArea, AreaShare, BalconyArea, RoomFaceDirectionID, LandscapeID, HouseTypeID, RoomTypeID, RoomRanking, RoomDescribeID, BuildingPropertiesID);            string RoomDataID = dt.Rows[0][0].ToString();            return Content(RoomDataID);        }        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());        }


第四步:View

 function ShengChengFangJianXinXi() {//绑定生成预览窗体datagrid的数据                                 var A = ($('#txtStoreyFollow').val()).toString().trim();//获取最大楼层数                                 var ZuiXiaoLouCeng = ($('#txtStoreyFollow').val()).toString().trim();                                 var ZuiDaLouCengShu = ($('#txtStoreyTo').val()).toString().trim();//获取最小楼层号                                 var ZuiXiaoFangHaoShu = ($('#txtRoomNumberFollow').val()).toString().trim();//获取最小房号                                 var ZuiDaFangHaoShu = ($('#txtRoomNumberTo').val()).toString().trim();//获取最大房号                                 var length = ((ZuiDaLouCengShu - ZuiXiaoLouCeng) + 1) * ((ZuiDaFangHaoShu - ZuiXiaoFangHaoShu) + 1);//计算需要生成的房间数                                 for (var i = 0; i < length; i++) {//循环遍历把房间资料绑定到datagrid里面                                     B++;                                     D++;                                     if (B > ($('#txtRoomNumberTo').val()).toString().trim()) {                                         A++;                                         B = 1;                                     }                                     if (D > ($('#txtNatureTo').val()).toString().trim()) {                                         C++;                                         D = 1;                                     }                                     var FangJianDaiMa = ($('#txtBuildingCode').val()).toString().trim() + "-" + A + (B < 10 ? ('0' + B) : B);//生成房间代码                                     var FangHao = A + (B < 10 ? ('0' + B) : B);//生成房号                                     $('#dgRoomListing').datagrid("appendRow", {//在id=dgRoomListing的datagrid里新增行                                     //给每一列赋值                                         HouseName: $('#txtBuildingName').val(), ProjectSubregionName: $('#txtProjectSubregion').val(), RoomCode: FangJianDaiMa, Floor: A, NatureFloor: (C < 10 ? ('0' + C) : C),                                         Number: (B < 10 ? ('0' + B) : B), RoomNumber: FangHao, BuildingProperties: $('#txtBuildingProperty').val(), RoomType: $('#cboRoomType').combobox('getText'), HouseType: $('#cboHouseType').combobox('getText'),                                         Landscape: $('#cboLandscape').combobox('getText'), Orientations: $('#cboOrientations').combobox('getText'), Structure: $('#cboStructure').combobox('getText'), RoomRanking: (B < 10 ? ('0' + B) : B)                                     });                                 }                                 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', $('#txtFloorArea').val());                                 $('#txtTaoNeiMianJi').attr('value', $('#txtRoomArea').val());                                 $('#txtFenTanMianJi').attr('value', $('#txtShareArea').val());                             }var y;                             var options = {};                             var String1 = "[[{ field:'LouChen', title: '楼层', width: 40},";                             function onChangeHouse() {//创建datagrid表格的格式的方法                                 for (var i = 0; i < ($('#txtRoomNumberTo').val()).toString().trim(); i++) {//循环有多少个列                                     y = i + 1;                                     if (i < ($('#txtRoomNumberTo').val()).toString().trim() - 1) {                                         var s = "{ field:'F" + i + "', title: '0" + y + "', width: 80,formatter:myformatter},";//循环生成每一个列                                         String1 = String1 + s;                                     } else {                                         var s = "{ field:'F" + i + "', title: '0" + y + "', width: 80,formatter:myformatter}";                                         String1 = String1 + s + "]]";                                     }                                 }                                 options.columns = eval(String1);                                 $('#dgRoomAppearancePicture').datagrid(options);                                 for (var j = ($('#txtStoreyTo').val()).toString().trim(); j >= ($('#txtStoreyFollow').val()).toString().trim(); j--) {//给每一个列添加数据                                     $('#dgRoomAppearancePicture').datagrid("appendRow", {                                         LouChen: (j < 10 ? ('0' + j) : j)                                     });                                 }                             }                             var sss = 0;                             var t = 0;                             function myformatter(value, rowData, rowIndex) {//myformatter给上面的方法用                                 t = $('#txtStoreyTo').val() - rowIndex;                                 sss++;                                 if (sss > ($('#txtRoomNumberTo').val()).toString().trim()) {                                     sss = 1;                                 }                                 if (sss < 10) {                                     sss = '0' + sss;                                 }                                 if (t >= ($('#txtStoreyFollow').val()).toString().trim()) {                                     return t.toString() + sss.toString();                                 }                             }var RoomDataID = 0;                             var RoomDescribeID = 0;                             var HouseID = 0;                             var XiangMuFenQuID = 0;                             function ShengChengFangJianZiLiao() {//生成房间的方法                                 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=" + $('#txtStoreyFollow').val() + "&"//新增房间描述                + "StoreyFinishNumber=" + $('#txtStoreyTo').val() + "&"                + "NatureStoreyActionNumber=" + $('#txtNatureFollow').val() + "&"                + "NatureStoreyFinishNumber=" + $('#txtNatureTo').val() + "&"                + "HouseID=" + HouseID, function (data) {                    if (data > 0) {                        RoomDescribeID = data;                        for (var i = 0; i < row.length; i++) {                            $.getJSON("/FangJianZiLiao/InsertRoomData?HouseID=" + HouseID + "&"//新增房间资料                                                        + "RoomCode=" + row[i].RoomCode + "&"                                                        + "RoomNumber=" + row[i].RoomNumber + "&"                                                        + "natureNumber=" + row[i].NatureFloor + "&"                                                        + "Floor=" + row[i].Floor + "&"                                                        + "CoveredArea=" + $('#txtFloorArea').val() + "&"                                                        + "BuilDingExceptArea=" + $('#txtRoomArea').val() + "&"                                                        + "AreaShare=" + $('#txtShareArea').val() + "&"                                                        + "BalconyArea=" + $('#txtBalconyArea').val() + "&"                                                        + "RoomFaceDirectionID=" + $('#cboOrientations').combobox('getValue') + "&"                                                        + "LandscapeID=" + $('#cboLandscape').combobox('getValue') + "&"                                                        + "HouseTypeID=" + $('#cboHouseType').combobox('getValue') + "&"                                                        + "RoomTypeID=" + $('#cboRoomType').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=" + $('#txtStoreyFollow').val() + "&"                + "StoreyFinishNumber=" + $('#txtStoreyTo').val() + "&"                + "NatureStoreyActionNumber=" + $('#txtNatureFollow').val() + "&"                + "NatureStoreyFinishNumber=" + $('#txtNatureTo').val() + "&"                + "HouseID=" + HouseID, function (data) {                    if (data > 0) {                        RoomDescribeID = data;                        for (var i = 0; i < row.length; i++) {                            $.getJSON("/FangJianZiLiao/InsertRoomData?HouseID=" + HouseID + "&"                                + "RoomCode=" + row[i].RoomCode + "&"                                + "RoomNumber=" + row[i].RoomNumber + "&"                                + "natureNumber=" + row[i].NatureFloor + "&"                                + "Floor=" + row[i].Floor + "&"                                + "CoveredArea=" + $('#txtFloorArea').val() + "&"                                + "BuilDingExceptArea=" + $('#txtRoomArea').val() + "&"                                + "AreaShare=" + $('#txtShareArea').val() + "&"                                + "BalconyArea=" + $('#txtBalconyArea').val() + "&"                                + "RoomFaceDirectionID=" + $('#cboOrientations').combobox('getValue') + "&"                                + "LandscapeID=" + $('#cboLandscape').combobox('getValue') + "&"                                + "HouseTypeID=" + $('#cboHouseType').combobox('getValue') + "&"                                + "RoomTypeID=" + $('#cboRoomType').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 {                                      }                                 });                                                    });                                     }                                  }                             }


这样就批量新增成功一栋楼了。。。。


仅供学习,禁止商业用途。





















0 0
原创粉丝点击