明源售樓系統技術解析 銷售控制(更名查詢與變更查詢)
#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("請選擇刪除的資料!");
}
}
僅供學習,禁用於商業用途