1. 程式人生 > >明源售樓系統技術解析 銷售控制(更名查詢與變更查詢)

明源售樓系統技術解析 銷售控制(更名查詢與變更查詢)

   #region 刪除更名資料
        public ActionResult Delete_Rename(int RenameID) 
        {
            int i = myXiaoShouKongZhi.Delete_Rename(RenameID);//需要刪除的那條資訊的ID
            return Content(i.ToString());//返回資料給介面
        }
        #endregion

第三步:介面

繫結資料程式碼:

  //繫結更名資料
     function BangDingGengMing() {
         var row = $('#w更名查詢').datagrid('getSelected');//獲取選擇那項的資訊
         $('#txtYeWuLeiXing').attr('Value', row.TypeOfService);//對控制元件進行賦值
         $('#txtGengMingShouXuFei').attr('Value', row.Commission);
         $('#txtJianYaoBeiZhu').attr('Value', row.AssignmentBriefRemarks);
         $('#txtGengMingPiZhunRen').attr('Value', row.AssignmentApprover);
         $('#dtGengMingPiZhunRenRiQi').datebox('setValue', row.LuRuRiQi);
         $('#cboGengMingCaoZuoYuan').combobox('setValue', row.AssignmentOperatorID);
         $('#dtGengMingLuRuQiRi').datebox('setValue', row.PiZhunRiQi);
     }
修改變更

程式碼:

    //修改更名資料
        function Update_Rename() {
            if (confirm('是否修改?')) {//彈出對話方塊
                var row = $('#w更名查詢').datagrid('getSelected');//獲取選擇項
                $.getJSON("/XiaoShouQianTai/Update_Rename?Commission=" + ($('#txtGengMingShouXuFei').val()).toString().trim() + "&"
                                                          + "AssignmentBriefRemarks=" + ($('#txtJianYaoBeiZhu').val()).toString().trim() + "&"
                                                          + "AssignmentApprover=" + ($('#txtGengMingPiZhunRen').val()).toString().trim() + "&"
                                                          + "AssignmentApproveDate=" + $('#dtGengMingPiZhunRenRiQi').datebox('getValue') + "&"
                                                          + "AssignmentOperatorID=" + $('#cboGengMingCaoZuoYuan').combobox('getValue') + "&"
                                                          + "AssignmentEnteringDate=" + $('#dtGengMingLuRuQiRi').datebox('getValue') + "&"
                                                          + "RenameID=" + row.RenameID,
                                                           function(data){
                                                               if(data !=null){
                                                                  alert("修改成功!");
                                                                  Select_ChangeNameData();//重新整理資料
                                                                  $('#w修改更名').window("close");//關閉窗體
                                                               }else{
                                                                  alert("修改失敗!");
                                                               }
                                                           });
            } else {
                alert("請選擇需要修改的資料!");
             }
        }
刪除變更資訊

程式碼:

  //刪除更名資料
        function Delete_Rename() {
            if (confirm('是否刪除?')) {
                var row = $('#w更名查詢').datagrid('getSelected');//獲取選擇項資訊
                if (row) {
                    $.getJSON("/XiaoShouQianTai/Delete_Rename?RenameID=" + row.RenameID,
                                                 function (data) {
                                                     if (data != null) {
                                                         alert("刪除成功!");
                                                         Select_ChangeNameData();
                                                     } else {
                                                         alert("刪除失敗!");
                                                     }
                                                 });
                 }
             }
            }

點選變更查詢開啟變更查詢介面


查詢功能實現

第一步:資料庫

1、表與表的關係



表1、PW_變更表(PW_ChangeTable)

用於存放變更資訊

列名

型別

主鍵/外來鍵

說明

ChangeID

int - Identity

主鍵

變更ID

RoomDataID

int

外來鍵

房間ID

ApprovePeople

nchar (10)

批准人

ApproveDate

date

批准日期

ChangeCause

nchar (100)

變更原因

UserID

int

外來鍵

使用者ID

EnterDate

date

錄入日期

UpdateNot

bit

修改否

DeleteNot

bit

刪除否

表2:SYS_ProjectTable(SYS_專案表)

用於存放項目錄入的訊息

列名

型別

主鍵/外來鍵

說明

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

表3:SYS_ProjectSubregionTable(專案分割槽)

Field

Type

主鍵/外來鍵

說明

ProjectSubregionID

int - Identity

主鍵

專案分割槽ID

ProjectSubregionName

nchar (100)

外來鍵

專案分割槽名稱

ProjectID

int

外來鍵

專案ID

表4:SYS_HouseTable(SYS樓棟表)

列名

型別

主鍵/外來鍵

說明

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

表5、SYS_房間資料表

列名

類別

主鍵/外來鍵

說明

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

外來鍵

朝     向

LandscapeID

int

外來鍵

景觀ID

HouseTypeID

int

外來鍵

戶型ID

RoomTypeID

int

外來鍵

房間型別ID

RoomRanking

nchar (20)

房間排號

OnbuildingExceptAreaCountNot

bit

按套內面積計算否

LockNot

bit

是否鎖定

CountWayID

int

外來鍵

計算方式ID

RoomDescribeID

int

外來鍵

SellStatusID

int

外來鍵

銷售狀態ID

AffiliatedHousePropertyNot

bit

BuildingPropertiesID

int

BuildingNot

bit

ZhuangTaiWeiZhenFou

bit

狀態為真否

表6、SYS_使用者表(SYS_UserTable)

列名

型別

主鍵/外來鍵

說明

UserID

int - Identity

主鍵

使用者ID

UserCode

nchar (100)

使用者程式碼

UserName

nchar (100)

使用者名稱稱

Status

nchar (100)

身份

SubordinateDepartment

nchar (100)

所屬部門

SubordinateGroup

nchar (100)

所屬小組

Post

nchar (100)

崗位

Password

nchar (100)

密碼

儲存過程程式碼:

--查詢變更資料
   if @type='Select_ChangeTable'
   begin
   SELECT     PW_ChangeTable.ChangeID, PW_ChangeTable.RoomDataID, PW_ChangeTable.ApprovePeople, PW_ChangeTable.ApproveDate, PW_ChangeTable.ChangeCause, PW_ChangeTable.UserID, 
                      PW_ChangeTable.EnterDate, SYS_RoomDataTable.RoomCode, SYS_HouseTable.ProjectSubregionID, SYS_ProjectSubregionTable.ProjectID, SYS_ProjectTable.ProjectName, 
                      SYS_UserTable.UserName, PW_ChangeTable.UpdateNot, PW_ChangeTable.DeleteNot
   FROM         PW_ChangeTable LEFT JOIN
                      SYS_RoomDataTable ON PW_ChangeTable.RoomDataID = SYS_RoomDataTable.RoomDataID LEFT JOIN
                      SYS_HouseTable ON SYS_RoomDataTable.HouseID = SYS_HouseTable.HouseID LEFT JOIN
                      SYS_ProjectSubregionTable ON SYS_HouseTable.ProjectSubregionID = SYS_ProjectSubregionTable.ProjectSubregionID LEFT JOIN
                      SYS_ProjectTable ON SYS_ProjectSubregionTable.ProjectID = SYS_ProjectTable.ProjectID LEFT JOIN
                      SYS_UserTable ON PW_ChangeTable.UserID = SYS_UserTable.UserID
   where PW_ChangeTable.UpdateNot='False'   and DeleteNot='false'
   end

第二步:BLL層

程式碼:

#region 查詢變更資料
        public DataTable Select_ChangeTable()
        {
            SqlParameter[] SQL = {
                                    new SqlParameter("@type",SqlDbType.Char)
                                 };
            SQL[0].Value = "Select_ChangeTable";
            DataTable dt = myDALMethod.DAL_SelectDB_Par("Pw_ChangeData", SQL);
            return dt;
        }
        #endregion

第三步:控制器

程式碼:

#region 查詢變更表
        public ActionResult Select_ChangeTable() 
        {
            DataTable dt = myXiaoShouKongZhi.Select_ChangeTable();            
            dt.Columns.Add("PiZhunRiQi", typeof(string));
            dt.Columns.Add("LvRuRuQi", typeof(string));
            for (int i = 0; i < dt.Rows.Count; i++) 
            {
                DateTime PiZhunRiQi = Convert.ToDateTime(dt.Rows[i]["ApproveDate"].ToString());
                DateTime LvRuRuQi = Convert.ToDateTime(dt.Rows[i]["EnterDate"].ToString());               
                dt.Rows[i]["PiZhunRiQi"] = PiZhunRiQi.Year + "-" + PiZhunRiQi.Month + "-" + PiZhunRiQi.Day;
                dt.Rows[i]["LvRuRuQi"] = LvRuRuQi.Year + "-" + LvRuRuQi.Month + "-" + LvRuRuQi.Day;
            }
            List<Dictionary<string, object>> ListReturn = ConvertHelper.DtToList(dt);
            return Json(ListReturn, JsonRequestBehavior.AllowGet);
        }
        #endregion

第四步:介面層

程式碼:

//查詢變更資料
    function Select_ChangeTable() {
        $.getJSON("/XiaoShouQianTai/Select_ChangeTable",
            function (data) {
                $('#w變更查詢').datagrid('loadData', data);//載入資料
            });
        }

點選修改開啟修改變更資料



開啟修改介面程式碼
//修改變更介面
        function UpdateChangeData() {//方法名稱
            var row = $('#w變更查詢').datagrid('getSelected');//datagrid查詢
            if (row) {
                $('#w修改變更').window("open");//開啟修改介面
                BangDingChangeData();//繫結資料
            } else {
                alert("請選擇變更的資料!");
             }
        }

點選修改能對變更的資料進行修改

還能對變更的資料進行刪除

第一步:資料庫儲存過程

程式碼:修改表中的修改否欄位再新增一條資料

--修改變更資料 
   if @type='Update_ChangeData'
   begin
   Update PW_ChangeTable
   set UpdateNot='true'
   where PW_ChangeTable.ChangeID=@ChangeID
   end
   --新增變更資料
   if @type='Insert_ChangeData'
   begin
   insert into PW_ChangeTable(RoomDataID, ApprovePeople, ApproveDate, ChangeCause, UserID, EnterDate, UpdateNot, DeleteNot)
   values  (@RoomDataID, @ApprovePeople, @ApproveDate, @ChangeCause, @UserID, @EnterDate, @UpdateNot, @DeleteNot)
   end
刪除

程式碼:只是對其修改刪除否的欄位

 --刪除變更資料
   if @type='Delete_ChangeData'
   begin
     Update PW_ChangeTable
     set DeleteNot='true'
     where ChangeID=@ChangeID
   end

第二步:BLL層

程式碼:

修改

 #region 新增變更資料
        public int Insert_ChangeData(int RoomDataID,string  ApprovePeople,DateTime ApproveDate,string  ChangeCause,int  UserID,DateTime EnterDate,Boolean UpdateNot,Boolean DeleteNot) //系統引數
        {
            SqlParameter[] SQL = {
                                    new SqlParameter("@type",SqlDbType.Char),
                                    new SqlParameter("@RoomDataID",SqlDbType.Int),
                                    new SqlParameter("@ApprovePeople",SqlDbType.Char),
                                    new SqlParameter("@ApproveDate",SqlDbType.DateTime),
                                    new SqlParameter("@ChangeCause",SqlDbType.Char),
                                    new SqlParameter("@UserID",SqlDbType.Int),
                                    new SqlParameter("@EnterDate",SqlDbType.DateTime),
                                    new SqlParameter("@UpdateNot",SqlDbType.Bit),
                                    new SqlParameter("@DeleteNot",SqlDbType.Bit),
                                 };
            SQL[0].Value = "Insert_ChangeData";//對應資料庫儲存過程的方法名稱
            SQL[1].Value = RoomDataID;//引數
            SQL[2].Value = ApprovePeople;
            SQL[3].Value = ApproveDate;
            SQL[4].Value = ChangeCause;
            SQL[5].Value = UserID;
            SQL[6].Value = EnterDate;
            SQL[7].Value = UpdateNot;
            SQL[8].Value = DeleteNot;
            int i = myDALMethod.DAL_OPTableDB_Par("Pw_ChangeData", SQL);//所對應資料庫的儲存過程
            return i;//返回引數
        }
        #endregion
        #region 修改變更資料
        public int Update_ChangeData(int ChangeID) //方法名稱
        {
            SqlParameter[] SQL = {
                                    new SqlParameter("@type",SqlDbType.Char),
                                    new SqlParameter("@ChangeID",SqlDbType.Int)
                                 };
            SQL[0].Value = "Update_ChangeData";//對應資料庫儲存過程的方法名稱
            SQL[1].Value = ChangeID;
            int i = myDALMethod.DAL_OPTableDB_Par("Pw_ChangeData", SQL);//所對應資料庫的儲存過程
            return i;//返回引數
        }
        #endregion
刪除

程式碼:

 #region 刪除變更資料
        public int Delete_ChangeData(int ChangeID) //方法名稱
        {
            SqlParameter[] SQL =  {
                                    new SqlParameter("@type",SqlDbType.Char),
                                    new SqlParameter("@ChangeID",SqlDbType.Int)
                                  };
            SQL[0].Value = "Delete_ChangeData";//對應資料庫儲存過程的方法名稱
            SQL[1].Value = ChangeID;//引數
            int i = myDALMethod.DAL_OPTableDB_Par("Pw_ChangeData", SQL);//所對應資料庫的儲存過程
            return i;//返回引數
        }
        #endregion

第三步:控制器

修改

程式碼:

#region 新增變更資料
        public ActionResult Insert_ChangeData(string RoomDataID, string ApprovePeople, string ApproveDate, string ChangeCause, string UserID, string EnterDate, string UpdateNot, string DeleteNot) //引數
        {
            int i = myXiaoShouKongZhi.Insert_ChangeData(Convert.ToInt32(RoomDataID),
                                                       ApprovePeople,
                                                       Convert.ToDateTime(ApproveDate),
                                                       ChangeCause,
                                                       Convert.ToInt32(UserID),
                                                       Convert.ToDateTime(EnterDate),
                                                       Convert.ToBoolean(UpdateNot),
                                                       Convert.ToBoolean(DeleteNot));
            return Content(i.ToString());//返回資料介面
        }
        #endregion 
        #region 修改變更資料
        public ActionResult Update_ChangeData(int ChangeID) //方法名
        {
            int i = myXiaoShouKongZhi.Update_ChangeData(ChangeID);//修改的引數
            return Content(i.ToString());//返回資料給介面
        }
        #endregion
刪除

程式碼:

#region 刪除變更資料
        public ActionResult Delete_ChangeData(int ChangeID) //方法名
        {
            int i = myXiaoShouKongZhi.Delete_ChangeData(ChangeID);//刪除的資料引數
            return Content(i.ToString());//返回資料給介面
        }
        #endregion 

第四步:介面層

修改

程式碼:

 function UpdateChange() {
            var row = $('#w變更查詢').datagrid('getSelected'); //獲取選擇項的資訊         
//            alert(row.RoomDataID);
            $.getJSON("/XiaoShouQianTai/Update_ChangeData?ChangeID=" + row.ChangeID,//修改返回ID          
            function (data) {
                if (data != null) {
                    alert("修改成功!");
                    $('#w修改變更').window("close");
                    //當修改成功是新增資料
                    $.getJSON("/XiaoShouQianTai/Insert_ChangeData?RoomDataID=" + row.RoomDataID + "&"
                                                          + "ApprovePeople=" + ($('#txtBianGengPiZhunRen').val()).toString().trim() + "&"
                                                          + "ApproveDate=" + ($('#dtBianGengPiZhunRenRiQi').datebox('getValue')).toString().trim() + "&"
                                                          + "ChangeCause=" + ($('#txtBianGengYuanYin').val()).toString().trim() + "&"
                                                          + "UserID=" + ($('#cboBianCaoZuoYuan').combobox('getValue')).toString().trim() + "&"
                                                          + "EnterDate=" + ($('#dtBianLuRuQiRi').datebox('getValue')).toString().trim() + "&"
                                                          + "UpdateNot=false" + "&"
                                                          + "DeleteNot=false",
                    function (data) {
                        Select_ChangeTable();//重新整理介面
                    });
                }
            });
        }
刪除

程式碼:

  //刪除變更資料
        function DeleteChange() {
            var row = $('#w變更查詢').datagrid('getSelected');//獲取選擇的資料資訊
            if (confirm('是否刪除?')) {
//                alert(row.ChangeID);
                $.getJSON("/XiaoShouQianTai/Delete_ChangeData?ChangeID=" + row.ChangeID,
            function (data) {
                if (data != null) {
                    alert("刪除成功!");
                    Select_ChangeTable();//重新整理介面
                } else {
                    alert("刪除失敗!");
                }
            });
        } else {
             alert("請選擇刪除的資料!");
             }
     }
僅供學習,禁用於商業用途