1.认筹管理主界面
从界面上可以看到我们这里用到的控件有
控件名称 |
说明 |
标注(Label) |
控件可以在工具箱直接拖动至窗体,拖至窗体后右击属性可以修改控件的样式和各种属性,还可以编辑事件。 |
选项卡(TabControl) |
|
复选框(CheckBox) |
|
单选按钮(RadioButton) |
|
文本(TextBox) |
|
按钮(Button) |
|
菜单(ToolStripMenuItem) |
|
工具栏(ToolStrip) |
|
组容器(GroupBox) |
|
表格(DataGridView) |
功能实现:
第一步:数据库
1、表与关系
表1: 房间资源表(dbo.SYS_RoomResource)
Primary Key(主键): RoomResourcesID
非主键ID值均是外键
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
RoomResourcesID |
int - Identity |
No |
房间资源ID |
|
FloorID |
int |
Yes |
楼栋信息表,楼栋ID |
|
TheCodeModelID |
int |
Yes |
属性明细表,代码模式ID |
|
Number |
nchar (10) |
Yes |
编号 |
|
UnitNumberID |
int |
Yes |
单元表,单元ID |
|
FloorStotey |
nchar (10) |
Yes |
楼层 |
|
RoomCategoryID |
int |
Yes |
属性明细表,房间类别ID |
|
TowardID |
int |
Yes |
属性明细表,朝向ID |
|
DoorModelID |
int |
Yes |
属性明细表,户型ID |
|
RoomTypeID |
int |
Yes |
属性明细表,房间类型ID |
|
RoomLandScapeID |
int |
Yes |
属性明细表,房间景观ID |
|
RoomSpecialID |
int |
Yes |
属性明细表,房间特殊ID |
|
ConstructionArea |
decimal (18, 2) |
Yes |
建筑面积 |
|
PricateArea |
decimal (18, 2) |
Yes |
私有面积 |
|
PublicArea |
decimal (18, 2) |
Yes |
公摊面积 |
|
Usage |
decimal (18, 2) |
Yes |
使用率 |
|
TheUnitPrice |
decimal (18, 2) |
Yes |
标价单价 |
|
BidPrice |
decimal (18, 2) |
Yes |
标价总价 |
|
NumberOfPrice |
nchar (10) |
Yes |
价格次数 |
|
SalesStatusID |
int |
((102)) |
Yes |
属性明细表,销售状态ID |
BriefNote |
nchar (30) |
Yes |
简要备注 |
|
SchematicDiagram |
image |
Yes |
示意图 |
|
Chart |
image |
Yes |
效果图 |
表2: 楼栋信息表(dbo.SYS_FloorInformation)
Primary Key(主键): FloorID
非主键ID值均是外键
(这里因为在这个表里边没有设置有默认值,所以没有默认值的那一列)
列名 |
数据类型 |
Nulls? |
说明 |
FloorID |
int - Identity |
No |
楼栋ID |
ProjectID |
int |
Yes |
项目信息表,项目ID |
FloorStructureID |
int |
Yes |
属性明细表,楼栋结构ID |
OpenBatchID |
int |
Yes |
属性明细表,开盘批次ID |
LaunchSituationID |
int |
Yes |
属性明细表,推出情况ID |
OpeningSituationID |
int |
Yes |
属性明细表,开盘情况ID |
FloorLevelID |
int |
Yes |
楼栋级别ID |
SortNumber |
nchar (10) |
Yes |
序号 |
FloorName |
nchar (20) |
Yes |
楼栋名称 |
PropertyRightFloorName |
nchar (20) |
Yes |
产权楼栋名称 |
FloorStorey |
nchar (10) |
Yes |
楼栋层数 |
LaunchDate |
datetime |
Yes |
推出日期 |
DoMortgageDate |
datetime |
Yes |
具备办按揭日期 |
CapsDate |
datetime |
Yes |
封顶日期 |
AccumulationFundDate |
datetime |
Yes |
具备办公积金日期 |
ExpectedPayDate |
datetime |
Yes |
预计交房日期 |
PropertyRightDate |
datetime |
Yes |
具备办产权日期 |
MakingRoomDate |
datetime |
Yes |
交房日期 |
表3: 客户信息 (dbo.PW_ClientInformation)
Primary Key(主键): ClientID
非主键ID值均是外键
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
ClientID |
int - Identity |
No |
客户ID |
|
ProjectID |
int |
Yes |
项目信息表,项目ID |
|
ClientNumber |
nchar (10) |
Yes |
客户编号 |
|
ClientName |
nchar (10) |
Yes |
客户名称 |
|
EarlyVisitIntention |
nchar (10) |
Yes |
初访意向 |
|
Gender |
nchar (10) |
Yes |
性别 |
|
MaritalStatus |
nchar (10) |
Yes |
婚否 |
|
ClientRegistrationWayID |
int |
Yes |
属性明细表,客户登记方式ID |
|
RelationPhone |
nchar (15) |
Yes |
联系电话 |
|
ElectronMail |
nchar (30) |
Yes |
电子邮箱 |
|
HomeBuyerConsultantID |
int |
Yes |
员工表,置业顾问ID |
|
DateOfVisit |
datetime |
Yes |
来访日期 |
|
CommunicationAddress |
nchar (50) |
Yes |
通讯地址 |
|
Postcode |
nchar (10) |
Yes |
邮编 |
|
IDentityCard |
nchar (30) |
Yes |
身份证号 |
|
BirthDay |
date |
Yes |
出生日期 |
|
Age |
nchar (20) |
Yes |
年龄 |
|
Professional |
nchar (20) |
Yes |
职业 |
|
NowLivingArea |
nchar (20) |
Yes |
现居住区域 |
|
LearnTheWayToTheCase |
nchar (20) |
Yes |
获取本案途径 |
|
VisitConstitute |
nchar (20) |
Yes |
来客构成 |
|
Traffic |
nchar (20) |
Yes |
交通 |
|
RealEstateSituation |
nchar (20) |
Yes |
置业状况 |
|
ResidentialMortgageLoans |
nchar (20) |
Yes |
住宅按揭贷款 |
|
HomesBuyersPurpose |
nchar (20) |
Yes |
置业目的 |
|
PlanTorealEstatePrice |
nchar (20) |
Yes |
计划置业价格 |
|
DemandArea |
nchar (20) |
Yes |
需求面积 |
|
PaymentWay |
nchar (20) |
Yes |
付款方式ID |
|
BuyingConsideration |
nchar (20) |
Yes |
买房考虑因素 |
|
IncalidOr |
bit |
((0)) |
Yes |
作废否 |
表4: 预留表 (dbo. PW_SeserveUnit)
Primary Key(主键): SeserveUnitID
非主键ID值均是外键
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
SeserveUnitID |
int - Identity |
No |
预留单元ID |
|
ClientID |
int |
Yes |
客户信息表,客户ID |
|
FloorID |
int |
Yes |
楼栋信息表,楼栋ID |
|
UnitNumberID |
int |
Yes |
房间资源表,房间单元ID |
|
RoomNumeral |
nchar (10) |
Yes |
房间排号 |
|
PresalseArea |
decimal (18, 2) |
Yes |
预售面积 |
|
SeservationUnitPrice |
decimal (18, 2) |
Yes |
预留单价 |
|
BookingSeservationPrice |
decimal (18, 2) |
Yes |
预留总价 |
|
AccountsReceivableBookingGoid |
money |
Yes |
应收预约金 |
|
SeservatingDate |
datetime |
Yes |
预留日期 |
|
ValidDate |
datetime |
Yes |
有效日期 |
|
BriefNote |
nchar (100) |
Yes |
简要备注 |
|
AuditDate |
datetime |
Yes |
审核日期 |
|
NewSeserveUnitID |
int |
Yes |
预留表,新的预留ID |
|
ChangeReason |
int |
Yes |
变更原因 |
|
IncalidOr |
bit |
((0)) |
Yes |
作废否 |
表5: 认筹表 (dbo. PW_ClientConfessToRaise)
Primary Key(主键): ClientConfessToRaiseID
非主键ID值均是外键
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
ClientConfessToRaiseID |
int - Identity |
No |
客户认筹ID |
|
ClientID |
int |
Yes |
客户信息表,客户ID |
|
RaiseNumeralRecognition |
nchar (10) |
Yes |
认筹排号 |
|
TheOrderNumber |
nchar (10) |
Yes |
订单号 |
|
ConfessToRaiseClassificationID |
int |
Yes |
属性明细表,筹卡分类ID |
|
AccountsReceivableAppointmentGold |
money |
Yes |
应收预约金 |
|
ConfesstoraiseDate |
datetime |
Yes |
认筹日期 |
|
EffectiveDate |
datetime |
Yes |
有效日期 |
|
IntentionUnitInstructions |
nchar (10) |
Yes |
意向单元说明 |
|
Note |
nchar (30) |
Yes |
备注 |
|
ToSeserve |
bit |
((0)) |
Yes |
转预留否 |
SeserveID |
int |
Yes |
预留表,预留ID |
|
AuditWhether |
bit |
((0)) |
Yes |
审核否 |
IncalidWhether |
bit |
((0)) |
Yes |
作废否 |
AfterUpdateID |
int |
Yes |
认筹表,修改后ID |
表6: 员工表 (dbo. SYS_Staff)
Primary Key(主键): StaffID
非主键ID值均是外键
列名 |
数据类型 |
Nulls? |
说明 |
StaffID |
int - Identity |
No |
员工ID |
StaffNumber |
nchar (10) |
Yes |
员工编号 |
StaffName |
nchar (10) |
Yes |
员工姓名 |
DepartMentID |
int |
Yes |
所属部门 |
GenderID |
int |
Yes |
属性明细表,性别ID |
Age |
int |
Yes |
年龄 |
EducationBackgroundID |
int |
Yes |
属性明细表,学历ID |
MarryWhether |
bit |
Yes |
婚否 |
Position |
nchar (10) |
Yes |
职位 |
ContactPhoneNumber |
nchar (15) |
Yes |
联系电话 |
ContactAddress |
nchar (20) |
Yes |
联系地址 |
Notes |
nchar (100) |
Yes |
备注 |
StaffImage |
image |
Yes |
员工照片 |
表7: 客户事件记录表 (dbo.PW_ClientEventRecord)
Primary Key(主键): EventRecordID
非主键ID值均是外键
列名 |
数据类型 |
Nulls? |
说明 |
EventRecordID |
int - Identity |
No |
事件记录ID |
ClientID |
int |
Yes |
客户信息表,客户ID |
RecordDate |
datetime |
Yes |
记录日期 |
Characteristic |
nchar (200) |
Yes |
特征 |
explain |
nchar (200) |
Yes |
说明 |
表8: 属性明细表(dbo.SYS_AttributeDetails)
Primary Key(主键): AttributeDetailsID
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
AttributeDetailsID |
int - Identity |
No |
属性明细ID |
|
AuttributeSetID |
int |
Yes |
属性集合表,属性集合ID |
|
AuttributeDetailsName |
nchar (10) |
Yes |
属性明细名称 |
|
EffectiveWhether |
bit |
((1)) |
Yes |
有效否 |
表9: 销售服务关键流程明细表(dbo. PW_SalesOfServiceFloowDetail)
Primary Key(主键): FloowDetailID
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
FloowDetailID |
int - Identity |
No |
销售服务流程明细 |
|
BriefNote |
nchar (200) |
Yes |
简要备注 |
|
RoomResourceID |
int |
Yes |
房间资源表,房源ID |
|
OperatingType |
int |
Yes |
操作类型 |
|
ReserveID |
int |
Yes |
预定表,预定ID |
|
KeepID |
int |
Yes |
保留表,保留ID |
|
ClientConfessToRaiseID |
int |
Yes |
认筹表,认筹ID |
|
Confiscated |
int |
Yes |
没收房源表,没收ID |
|
Signing |
int |
Yes |
签约表,签约ID |
|
OperatingTime |
datetime |
Yes |
操作时间 |
|
OperatingPeople |
int |
Yes |
操作人 |
|
EffectiveWeather |
bit |
((1)) |
Yes |
有效否 |
2、具体的代码实现
第一步:数据库的存储过程
IF @Type='ConfessToRaiseManagement_Load_SelectConfessToRaiseMsg' --Load事件查询认筹信息
BEGIN
SELECT PW_ClientConfessToRaise.ClientConfessToRaiseID, PW_ClientConfessToRaise.ClientID, RTRIM(PW_ClientConfessToRaise.RaiseNumeralRecognition) AS RaiseNumeralRecognition,
RTRIM(PW_ClientConfessToRaise.TheOrderNumber) AS TheOrderNumber, RTRIM(PW_ClientConfessToRaise.AccountsReceivableAppointmentGold) AS AccountsReceivableAppointmentGold,
RTRIM(PW_ClientConfessToRaise.ConfesstoraiseDate) AS ConfesstoraiseDate, RTRIM(PW_ClientConfessToRaise.EffectiveDate) AS EffectiveDate,
RTRIM(PW_ClientConfessToRaise.IntentionUnitInstructions) AS IntentionUnitInstructions, RTRIM(PW_ClientConfessToRaise.Note) AS Note, RTRIM(SYS_AttributeDetails.AuttributeDetailsName)
AS ConfessToRaiseClassification, PW_ClientConfessToRaise.ConfessToRaiseClassificationID, RTRIM(PW_ClientInformation.ClientName) AS ClientName,
RTRIM(PW_ClientInformation.ClientNumber) AS ClientNumber, RTRIM(PW_ClientInformation.RelationPhone) AS RelationPhone, RTRIM(PW_ClientInformation.CommunicationAddress)
AS CommunicationAddress, RTRIM(PW_ClientInformation.Postcode) AS Postcode, RTRIM(SYS_Staff.StaffName) AS HomeBuyerConsultant, PW_ClientInformation.HomeBuyerConsultantID,
(CASE WHEN PW_ClientConfessToRaise.AuditWhether = 0 THEN '未审核' WHEN PW_ClientConfessToRaise.AuditWhether = 1 THEN '已审核' END) AS 审核否,
(CASE WHEN PW_ClientConfessToRaise.ToSeserve = 0 THEN '未转预留' WHEN PW_ClientConfessToRaise.ToSeserve = 1 THEN '已转预留' END) AS 转预留否,
PW_ClientInformation.ProjectID
FROM PW_ClientConfessToRaise INNER JOIN
PW_ClientInformation ON PW_ClientConfessToRaise.ClientID = PW_ClientInformation.ClientID INNER JOIN
SYS_AttributeDetails ON PW_ClientConfessToRaise.ConfessToRaiseClassificationID = SYS_AttributeDetails.AttributeDetailsID INNER JOIN
SYS_Staff ON PW_ClientInformation.HomeBuyerConsultantID = SYS_Staff.StaffID
where PW_ClientConfessToRaise.IncalidWhether=0
END
if @Type='tsbtnAudit_Click_UpdateConfessToRaise' --审核认筹
begin
UPDATE PW_ClientConfessToRaise
SET AuditWhether = 1
WHERE (ClientConfessToRaiseID = @ClientConfessToRaiseID)
end
if @Type='ConfessToRaiseManagement_Load_BindingdgvProject' --绑定dgvProject
begin
SELECT ProjectID, rtrim(SortNumber) as SortNumber, rtrim(ProjectName) as ProjectName
FROM SYS_ProjectInformation
end
if @Type='dgvProject_CellMouseClick_BindingtscboFloor' --根据项目查询楼栋
begin
SELECT FloorID, rtrim(FloorName) as FloorName
FROM SYS_FloorInformation
where SYS_FloorInformation.ProjectID=@ProjectID
end
IF @Type='ConfessToRaiseManagement_Load_SelectSeserveMsg_MultiSelect' -- 不定条件查询预留信息
begin
declare @sql nvarchar(1000)='',@row int=0
IF 1=1
SET @sql=(@PageNumber - 1) * @PageRowNumber
SET @row=@PageNumber*@PageRowNumber
if @sqlProjectID != ''
set @sql = @sql + ' AND ProjectID='''+rtrim(@sqlProjectID)+ '''' --条件的拼接
if @sqlFloorID != ''
set @sql = @sql + ' AND FloorID='''+rtrim(@sqlFloorID)+ ''''
if @sqlAuditWeather !=''
set @sql = @sql + ' AND 审核否='''+rtrim(@sqlAuditWeather)+''''
EXEC (
'with CTE as (
SELECT TOP '+@row+
'SYS_ProjectInformation.ProjectID, SYS_ProjectInformation.ProjectName, SYS_FloorInformation.FloorID, SYS_FloorInformation.FloorName, SYS_RoomResources.RoomResourcesID,
SYS_RoomResources.Number, PW_ClientInformation.ClientID, PW_ClientInformation.ClientName, PW_ClientInformation.RelationPhone, PW_ClientInformation.CommunicationAddress,
PW_ClientInformation.IDentityCard, PW_ClientInformation.Postcode, PW_ClientInformation.HomeBuyerConsultantID, SYS_Staff.StaffName AS HomeBuyerConsultant,
PW_SeserveUnit.RoomNumeral, PW_SeserveUnit.PresalseArea, PW_SeserveUnit.SeservationUnitPrice, PW_SeserveUnit.BookingSeservationPrice,
PW_SeserveUnit.AccountsReceivableBookingGoid, PW_SeserveUnit.SeservatingDate, PW_SeserveUnit.ValidDate, PW_SeserveUnit.BriefNote, PW_SeserveUnit.AuditDate,
PW_ClientInformation.Gender, (CASE WHEN PW_SeserveUnit.AuditDate IS NULL THEN '+ '''未审核''' + ' WHEN PW_SeserveUnit.AuditDate IS NOT NULL THEN '+''' 已审核''' +'END) AS 审核否,
PW_ClientConfessToRaise.ClientConfessToRaiseID,
PW_SeserveUnit.SeserveUnitID,
ROW_NUMBER () Over (Order by PW_SeserveUnit.SeserveUnitID) as _Row_Number
FROM PW_ClientInformation INNER JOIN
PW_SeserveUnit ON PW_ClientInformation.ClientID = PW_SeserveUnit.ClientID INNER JOIN
SYS_Staff ON PW_ClientInformation.HomeBuyerConsultantID = SYS_Staff.StaffID LEFT OUTER JOIN
PW_ClientConfessToRaise ON PW_SeserveUnit.SeserveUnitID = PW_ClientConfessToRaise.SeserveID LEFT OUTER JOIN
SYS_RoomResources ON PW_SeserveUnit.UnitNumberID = SYS_RoomResources.RoomResourcesID LEFT OUTER JOIN
SYS_ProjectInformation INNER JOIN
SYS_FloorInformation ON SYS_ProjectInformation.ProjectID = SYS_FloorInformation.ProjectID ON PW_SeserveUnit.FloorID = SYS_FloorInformation.FloorID
WHERE (PW_SeserveUnit.IncalidOr = 0)
)
select ProjectID,rtrim(ProjectName) as ProjectName,FloorID,rtrim(FloorName) as FloorName,RoomResourcesID,rtrim(Number) as Number,ClientID,rtrim(ClientName) as ClientName,rtrim(RelationPhone) as RelationPhone,rtrim(CommunicationAddress) as CommunicationAddress,rtrim(IDentityCard) as IDentityCard,
rtrim(Postcode) as Postcode,HomeBuyerConsultantID,rtrim(HomeBuyerConsultant) as HomeBuyerConsultant,rtrim(RoomNumeral) as RoomNumeral,rtrim(PresalseArea) as PresalseArea, rtrim(SeservationUnitPrice) as SeservationUnitPrice,rtrim(BookingSeservationPrice) as BookingSeservationPrice, rtrim(Gender) as Gender,
rtrim(AccountsReceivableBookingGoid) as AccountsReceivableBookingGoid,rtrim(SeservatingDate) as SeservatingDate,ValidDate, rtrim(BriefNote) as BriefNote, rtrim(AuditDate) as AuditDate, 审核否,SeserveUnitID,_Row_Number,ClientConfessToRaiseID
from CTE
' + ' where _ROW_NUMBER >'+ @sql
)
return
end
IF @Type='ConfessToRaiseManagement_Load_SelectSeserve_getTotalRowsCount' --查询相应的行数
begin
declare @sql1 nvarchar(1000)='',@row1 int=0
IF 1=1
--SET @sql1=(@PageNumber - 1) * @PageRowNumber
SET @row1=@PageNumber*@PageRowNumber
if @sqlProjectID != ''
set @sql1 = @sql1 + ' AND ProjectID=''' + rtrim(@sqlProjectID) + ''''
if @sqlFloorID != ''
set @sql1 = @sql1 + ' AND FloorID=''' + rtrim(@sqlFloorID) + ''''
if @sqlAuditWeather !=''
set @sql1 = @sql1 + ' AND 审核否=''' + rtrim(@sqlAuditWeather) + ''''
EXEC (
'with CTE as (
SELECT SYS_ProjectInformation.ProjectID, SYS_ProjectInformation.ProjectName, SYS_FloorInformation.FloorID, SYS_FloorInformation.FloorName, SYS_RoomResources.RoomResourcesID,
SYS_RoomResources.Number, PW_ClientInformation.ClientID, PW_ClientInformation.ClientName, PW_ClientInformation.RelationPhone, PW_ClientInformation.CommunicationAddress,
PW_ClientInformation.IDentityCard, PW_ClientInformation.Postcode, PW_ClientInformation.HomeBuyerConsultantID, SYS_Staff.StaffName AS HomeBuyerConsultant,
PW_SeserveUnit.RoomNumeral, PW_SeserveUnit.PresalseArea, PW_SeserveUnit.SeservationUnitPrice, PW_SeserveUnit.BookingSeservationPrice,
PW_SeserveUnit.AccountsReceivableBookingGoid, PW_SeserveUnit.SeservatingDate, PW_SeserveUnit.ValidDate, PW_SeserveUnit.BriefNote, PW_SeserveUnit.AuditDate,
PW_ClientInformation.Gender, (CASE WHEN PW_SeserveUnit.AuditDate IS NULL THEN '+ '''未审核''' + ' WHEN PW_SeserveUnit.AuditDate IS NOT NULL THEN '+''' 已审核''' +'END) AS 审核否,
PW_ClientConfessToRaise.ClientConfessToRaiseID,
PW_SeserveUnit.SeserveUnitID,
ROW_NUMBER () Over (Order by PW_SeserveUnit.SeserveUnitID) as _Row_Number
FROM PW_ClientInformation INNER JOIN
PW_SeserveUnit ON PW_ClientInformation.ClientID = PW_SeserveUnit.ClientID INNER JOIN
SYS_Staff ON PW_ClientInformation.HomeBuyerConsultantID = SYS_Staff.StaffID LEFT OUTER JOIN
PW_ClientConfessToRaise ON PW_SeserveUnit.SeserveUnitID = PW_ClientConfessToRaise.SeserveID LEFT OUTER JOIN
SYS_RoomResources ON PW_SeserveUnit.UnitNumberID = SYS_RoomResources.RoomResourcesID LEFT OUTER JOIN
SYS_ProjectInformation INNER JOIN
SYS_FloorInformation ON SYS_ProjectInformation.ProjectID = SYS_FloorInformation.ProjectID ON PW_SeserveUnit.FloorID = SYS_FloorInformation.FloorID
WHERE (PW_SeserveUnit.IncalidOr = 0)
)
select COUNT(*) as 行数
from CTE
' + ' where 1=1 '+ @sql1
)
return
end
IF @Type='ConfessToRaiseManagement_Load_MultiSelectConfessToRaiseMsg' --不定条件查询认筹信息
BEGIN
IF 1=1
SET @sql=(@PageNumber - 1) * @PageRowNumber
SET @row=@PageNumber*@PageRowNumber
if @sqlAuditWeather !=''
set @sql = @sql + ' AND 审核否='''+rtrim(@sqlAuditWeather)+''''
if @sqlToSeserveWeather !=''
set @sql = @sql + ' AND 转预留否='''+rtrim(@sqlToSeserveWeather)+''''
EXEC (
'with CTE as (
SELECT TOP '+@row+
'PW_ClientConfessToRaise.ClientConfessToRaiseID, PW_ClientConfessToRaise.ClientID, PW_ClientConfessToRaise.RaiseNumeralRecognition, PW_ClientConfessToRaise.TheOrderNumber,
PW_ClientConfessToRaise.AccountsReceivableAppointmentGold, PW_ClientConfessToRaise.ConfesstoraiseDate, PW_ClientConfessToRaise.EffectiveDate,
PW_ClientConfessToRaise.IntentionUnitInstructions, PW_ClientConfessToRaise.Note, SYS_AttributeDetails.AuttributeDetailsName AS ConfessToRaiseClassification,
PW_ClientConfessToRaise.ConfessToRaiseClassificationID, PW_ClientInformation.ClientName, PW_ClientInformation.ClientNumber, PW_ClientInformation.RelationPhone,
PW_ClientInformation.CommunicationAddress, PW_ClientInformation.Postcode, SYS_Staff.StaffName AS HomeBuyerConsultant, PW_ClientInformation.HomeBuyerConsultantID,
(CASE WHEN PW_ClientConfessToRaise.AuditWhether = 0 THEN '+'''未审核'''+' WHEN PW_ClientConfessToRaise.AuditWhether = 1 THEN '+'''已审核'''+' END) AS 审核否,
(CASE WHEN PW_ClientConfessToRaise.ToSeserve = 0 THEN '+'''未转预留'''+' WHEN PW_ClientConfessToRaise.ToSeserve = 1 THEN '+'''已转预留'''+' END) AS 转预留否,
PW_ClientInformation.ProjectID,
ROW_NUMBER () Over (Order by PW_ClientConfessToRaise.ClientConfessToRaiseID) as _Row_Number
FROM PW_ClientConfessToRaise INNER JOIN
PW_ClientInformation ON PW_ClientConfessToRaise.ClientID = PW_ClientInformation.ClientID INNER JOIN
SYS_AttributeDetails ON PW_ClientConfessToRaise.ConfessToRaiseClassificationID = SYS_AttributeDetails.AttributeDetailsID INNER JOIN
SYS_Staff ON PW_ClientInformation.HomeBuyerConsultantID = SYS_Staff.StaffID
where (PW_ClientConfessToRaise.IncalidWhether=0)
)
select ClientConfessToRaiseID,ClientID,rtrim(RaiseNumeralRecognition) as RaiseNumeralRecognition,rtrim(TheOrderNumber) as TheOrderNumber,rtrim(AccountsReceivableAppointmentGold) as AccountsReceivableAppointmentGold, ConfesstoraiseDate, EffectiveDate,
rtrim(IntentionUnitInstructions) as IntentionUnitInstructions,rtrim(Note) as Note,rtrim(ConfessToRaiseClassification) as ConfessToRaiseClassification,ConfessToRaiseClassificationID,rtrim(ClientName) as ClientName,rtrim(ClientNumber) as ClientNumber,rtrim(RelationPhone) as RelationPhone,
rtrim(CommunicationAddress) as CommunicationAddress,rtrim(Postcode) as Postcode, rtrim(HomeBuyerConsultant) as HomeBuyerConsultant,HomeBuyerConsultantID,审核否, 转预留否,ProjectID
from CTE
' + ' where _ROW_NUMBER >'+ @sql
)
return
END
IF @Type='ConfessToRaiseManagement_Load_ConfessToRaiseMsg_getTotalRowsCount' --查询认筹总行数
BEGIN
IF 1=1
--SET @sql=(@PageNumber - 1) * @PageRowNumber
SET @row=@PageNumber*@PageRowNumber
if @sqlAuditWeather !=''
set @sql = @sql + ' AND 审核否='''+rtrim(@sqlAuditWeather)+''''
if @sqlToSeserveWeather !=''
set @sql = @sql + ' AND 转预留否='''+rtrim(@sqlToSeserveWeather)+''''
EXEC (
'with CTE as (
SELECT PW_ClientConfessToRaise.ClientConfessToRaiseID, PW_ClientConfessToRaise.ClientID, PW_ClientConfessToRaise.RaiseNumeralRecognition, PW_ClientConfessToRaise.TheOrderNumber,
PW_ClientConfessToRaise.AccountsReceivableAppointmentGold, PW_ClientConfessToRaise.ConfesstoraiseDate, PW_ClientConfessToRaise.EffectiveDate,
PW_ClientConfessToRaise.IntentionUnitInstructions, PW_ClientConfessToRaise.Note, SYS_AttributeDetails.AuttributeDetailsName AS ConfessToRaiseClassification,
PW_ClientConfessToRaise.ConfessToRaiseClassificationID, PW_ClientInformation.ClientName, PW_ClientInformation.ClientNumber, PW_ClientInformation.RelationPhone,
PW_ClientInformation.CommunicationAddress, PW_ClientInformation.Postcode, SYS_Staff.StaffName AS HomeBuyerConsultant, PW_ClientInformation.HomeBuyerConsultantID,
(CASE WHEN PW_ClientConfessToRaise.AuditWhether = 0 THEN '+'''未审核'''+' WHEN PW_ClientConfessToRaise.AuditWhether = 1 THEN '+'''已审核'''+' END) AS 审核否,
(CASE WHEN PW_ClientConfessToRaise.ToSeserve = 0 THEN '+'''未转预留'''+' WHEN PW_ClientConfessToRaise.ToSeserve = 1 THEN '+'''已转预留'''+' END) AS 转预留否,
PW_ClientInformation.ProjectID,
ROW_NUMBER () Over (Order by PW_ClientConfessToRaise.ClientConfessToRaiseID) as _Row_Number
FROM PW_ClientConfessToRaise INNER JOIN
PW_ClientInformation ON PW_ClientConfessToRaise.ClientID = PW_ClientInformation.ClientID INNER JOIN
SYS_AttributeDetails ON PW_ClientConfessToRaise.ConfessToRaiseClassificationID = SYS_AttributeDetails.AttributeDetailsID INNER JOIN
SYS_Staff ON PW_ClientInformation.HomeBuyerConsultantID = SYS_Staff.StaffID
where (PW_ClientConfessToRaise.IncalidWhether=0)
)
select COUNT(*) as 行数
from CTE
' + ' where 1=1 '+ @sql
)
return
END
if @Type='tsbtnAuditSeserve_Click_UpdateSeserve' --审核预留
begin
UPDATE PW_SeserveUnit
SET AuditDate = @AuditDate
where PW_SeserveUnit.SeserveUnitID=@SeserveUnitID
end
if @Type='tsbtnReturnConfessToRaise_Click_UpdateConfessToRaise' --退筹
begin
UPDATE PW_ClientConfessToRaise
SET IncalidWhether = 1
where PW_ClientConfessToRaise.ClientConfessToRaiseID=@ClientConfessToRaiseID
end
if @Type='tsbtnDeleteSeserve_Click_Update' --删除预留
begin
UPDATE PW_SeserveUnit
SET IncalidOr = 1
where PW_SeserveUnit.SeserveUnitID=@SeserveUnitID
end
第二步:逻辑层(BLL)的具体代码
DALPublic.DALPublic myDALPublic = new DALPublic.DALPublic();
[OperationContract]
#region 绑定认筹信息
public DataSet ConfessToRaiseManagement_Load_SelectConfessToRaiseMsg()
{
SqlParameter[] SQLCMDpas = { new SqlParameter("@Type", SqlDbType.Char),
};
SQLCMDpas[0].Value = "ConfessToRaiseManagement_Load_SelectConfessToRaiseMsg";
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 修改某条认筹信息审核否
public int tsbtnAudit_Click_UpdateConfessToRaise(int intClientConfessToRaiseID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@ClientConfessToRaiseID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "tsbtnAudit_Click_UpdateConfessToRaise";
SQLCMDpas[1].Value = intClientConfessToRaiseID;
return myDALPublic.DAL_OPTableDB_Par("frmMarketManagement_ConfessToRaiseManagement", SQLCMDpas);
}
#endregion
[OperationContract]
#region 绑定dgvProject
public DataSet ConfessToRaiseManagement_Load_BindingdgvProject()
{
SqlParameter[] SQLCMDpas = { new SqlParameter("@Type", SqlDbType.Char),
};
SQLCMDpas[0].Value = "ConfessToRaiseManagement_Load_BindingdgvProject";
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 条件bandingtscboFloor
public DataSet dgvProject_CellMouseClick_BindingtscboFloor(int intProjectID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@ProjectID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "dgvProject_CellMouseClick_BindingtscboFloor";
SQLCMDpas[1].Value = intProjectID;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 不定条件绑定预留信息
public DataSet ConfessToRaiseManagement_Load_SelectSeserveMsg_MultiSelect(string strPageNumber, string strPageRowNumber, string strsqlProjectID, string strsqlFloorID, string strsqlAuditWeather)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@PageNumber", SqlDbType.Char),
new SqlParameter("@PageRowNumber", SqlDbType.Char),
new SqlParameter("@sqlProjectID", SqlDbType.Char),
new SqlParameter("@sqlFloorID", SqlDbType.Char),
new SqlParameter("@sqlAuditWeather", SqlDbType.Char),
};
SQLCMDpas[0].Value = "ConfessToRaiseManagement_Load_SelectSeserveMsg_MultiSelect";
SQLCMDpas[1].Value = strPageNumber;
SQLCMDpas[2].Value = strPageRowNumber;
SQLCMDpas[3].Value = strsqlProjectID;
SQLCMDpas[4].Value = strsqlFloorID;
SQLCMDpas[5].Value = strsqlAuditWeather;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 查询要查询信息的总数
public DataSet ConfessToRaiseManagement_Load_SelectSeserve_getTotalRowsCount(string strPageNumber, string strPageRowNumber, string strsqlProjectID, string strsqlFloorID, string strsqlAuditWeather)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@PageNumber", SqlDbType.Char),
new SqlParameter("@PageRowNumber", SqlDbType.Char),
new SqlParameter("@sqlProjectID", SqlDbType.Char),
new SqlParameter("@sqlFloorID", SqlDbType.Char),
new SqlParameter("@sqlAuditWeather", SqlDbType.Char),
};
SQLCMDpas[0].Value = "ConfessToRaiseManagement_Load_SelectSeserve_getTotalRowsCount";
SQLCMDpas[1].Value = strPageNumber;
SQLCMDpas[2].Value = strPageRowNumber;
SQLCMDpas[3].Value = strsqlProjectID;
SQLCMDpas[4].Value = strsqlFloorID;
SQLCMDpas[5].Value = strsqlAuditWeather;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 不定条件查询认筹信息
public DataSet ConfessToRaiseManagement_Load_MultiSelectConfessToRaiseMsg(string strPageNumber, string strPageRowNumber, string strsqlAuditWeather, string strsqlToSeserveWeather)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@PageNumber", SqlDbType.Char),
new SqlParameter("@PageRowNumber", SqlDbType.Char),
new SqlParameter("@sqlAuditWeather", SqlDbType.Char),
new SqlParameter("@sqlToSeserveWeather", SqlDbType.Char),
};
SQLCMDpas[0].Value = "ConfessToRaiseManagement_Load_MultiSelectConfessToRaiseMsg";
SQLCMDpas[1].Value = strPageNumber;
SQLCMDpas[2].Value = strPageRowNumber;
SQLCMDpas[3].Value = strsqlAuditWeather;
SQLCMDpas[4].Value = strsqlToSeserveWeather;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 查询认筹信息的总数
public DataSet ConfessToRaiseManagement_Load_ConfessToRaiseMsg_getTotalRowsCount(string strPageNumber, string strPageRowNumber, string strsqlAuditWeather, string strsqlToSeserveWeather)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@PageNumber", SqlDbType.Char),
new SqlParameter("@PageRowNumber", SqlDbType.Char),
new SqlParameter("@sqlAuditWeather", SqlDbType.Char),
new SqlParameter("@sqlToSeserveWeather", SqlDbType.Char),
};
SQLCMDpas[0].Value = "ConfessToRaiseManagement_Load_ConfessToRaiseMsg_getTotalRowsCount";
SQLCMDpas[1].Value = strPageNumber;
SQLCMDpas[2].Value = strPageRowNumber;
SQLCMDpas[3].Value = strsqlAuditWeather;
SQLCMDpas[4].Value = strsqlToSeserveWeather;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 审核预留
public int tsbtnAuditSeserve_Click_UpdateSeserve(DateTime dtmAuditDate, int intSeserveUnitID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@AuditDate", SqlDbType.DateTime),
new SqlParameter("@SeserveUnitID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "tsbtnAuditSeserve_Click_UpdateSeserve";
SQLCMDpas[1].Value = dtmAuditDate;
SQLCMDpas[2].Value = intSeserveUnitID;
return myDALPublic.DAL_OPTableDB_Par("frmMarketManagement_ConfessToRaiseManagement", SQLCMDpas);
}
#endregion
[OperationContract]
#region 退筹
public int tsbtnReturnConfessToRaise_Click_UpdateConfessToRaise(int intClientConfessToRaiseID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@ClientConfessToRaiseID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "tsbtnReturnConfessToRaise_Click_UpdateConfessToRaise";
SQLCMDpas[1].Value = intClientConfessToRaiseID;
return myDALPublic.DAL_OPTableDB_Par("frmMarketManagement_ConfessToRaiseManagement", SQLCMDpas);
}
#endregion
[OperationContract]
#region 删除预留
public int tsbtnDeleteSeserve_Click_Update(int intSeserveUnitID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@SeserveUnitID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "tsbtnDeleteSeserve_Click_Update";
SQLCMDpas[1].Value = intSeserveUnitID;
return myDALPublic.DAL_OPTableDB_Par("frmMarketManagement_ConfessToRaiseManagement", SQLCMDpas);
}
#endregion
第三步:界面层(UIL)的相关事件域代码
public partial class frmMarketManagement_ConfessToRaiseManagement : Form
{
frmMain frmmain;
public frmMarketManagement_ConfessToRaiseManagement(frmMain frm)//窗体传值
{
frmmain = frm;
InitializeComponent();
}
BLL新锐房地产销售系统.MarketManagement.frmMarketManagement_ConfessToRaiseManagement.frmMarketManagement_ConfessToRaiseManagementClient myfrmMarketManagement_ConfessToRaiseManagementClient = new BLL新锐房地产销售系统.MarketManagement.frmMarketManagement_ConfessToRaiseManagement.frmMarketManagement_ConfessToRaiseManagementClient();//实例化逻辑层
private void tsbtnExit_Click(object sender, EventArgs e)//退出按钮单击事件
{
this.Close();
}
private void frmMarketManagement_ConfessToRaiseManagement_FormClosing(object sender, FormClosingEventArgs e)//窗体关闭时发生的事件
{
frmmain.RemoveTabPage();//调用主界面的函数
}
private void frmMarketManagement_ConfessToRaiseManagement_Load(object sender, EventArgs e)//窗体的加载事件
{
dgvConfessToRaise.AutoGenerateColumns = false;//设置dgv的自动生成列为否
dgvSeserveRoomResource.AutoGenerateColumns = false;//设置自动生成列为假
DataTable dtConfessToRaise = myfrmMarketManagement_ConfessToRaiseManagementClient.ConfessToRaiseManagement_Load_SelectConfessToRaiseMsg().Tables[0];
dgvConfessToRaise.DataSource = dtConfessToRaise; //指定dgvConfessToRaise的数据源
dgvProject.DataSource = myfrmMarketManagement_ConfessToRaiseManagementClient.ConfessToRaiseManagement_Load_BindingdgvProject().Tables[0];
BindingdgvSeserveRoomResource("1","15","","","");//执行构造函数,绑定预留房源的数据源
BinddgvConfessToRaise("1", "18", "", "");//同上,绑定dgvConfessToRaise的数据源
}
int intAllowPageNumber = 0;
void BindingdgvSeserveRoomResource(string strPageNumber, string strPageRowNumber, string strsqlProjectID, string strsqlFloorID, string strsqlAuditWeather)//构造函数
{
DataTable dtSeserve = myfrmMarketManagement_ConfessToRaiseManagementClient.ConfessToRaiseManagement_Load_SelectSeserveMsg_MultiSelect(strPageNumber, strPageRowNumber, strsqlProjectID, strsqlFloorID, strsqlAuditWeather).Tables[0];
dgvSeserveRoomResource.DataSource = dtSeserve;//指定预留房源的数据源
int intRowNumber = (int)myfrmMarketManagement_ConfessToRaiseManagementClient.ConfessToRaiseManagement_Load_SelectSeserve_getTotalRowsCount(strPageNumber, strPageRowNumber, strsqlProjectID, strsqlFloorID, strsqlAuditWeather).Tables[0].Rows[0][0];//查询总行数
int intPageRowNumber = Convert.ToInt32(strPageRowNumber);//每页的行数
intAllowPageNumber = intRowNumber / intPageRowNumber ;//计算总页数
if (intRowNumber % intPageRowNumber > 0)
{
intAllowPageNumber++;
}
lblCount.Text = intAllowPageNumber.ToString();
}
int intConfessToRaiseCount = 0;
void BinddgvConfessToRaise(string strPageNumber, string strPageRowNumber, string strsqlAuditWeather, string strsqlToSeserveWeather)//构造函数
{
DataTable dtComfessToRaise = myfrmMarketManagement_ConfessToRaiseManagementClient.ConfessToRaiseManagement_Load_MultiSelectConfessToRaiseMsg(strPageNumber, strPageRowNumber, strsqlAuditWeather, strsqlToSeserveWeather).Tables[0];
dgvConfessToRaise.DataSource = dtComfessToRaise;
int intRowNumber =(int) myfrmMarketManagement_ConfessToRaiseManagementClient.ConfessToRaiseManagement_Load_ConfessToRaiseMsg_getTotalRowsCount(strPageNumber, strPageRowNumber, strsqlAuditWeather, strsqlToSeserveWeather).Tables[0].Rows[0][0];
int intPageRowNumber = Convert.ToInt32(strPageRowNumber);//页行数
intConfessToRaiseCount = intRowNumber / intPageRowNumber;//页数
if (intRowNumber % intPageRowNumber > 0)
{
intConfessToRaiseCount++;
}
lblCountPage.Text = intConfessToRaiseCount.ToString();
}
private void tsbtnInsertConfessToRaiseData_Click(object sender, EventArgs e)//新增认筹单击事件
{
frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit = new frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit(this);
myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit.ShowDialog();
}
private void tsbtnUpdateConfessToRaiseData_Click(object sender, EventArgs e)//修改认筹的单击事件
{
if (strAuditWesther == "已审核")
{
MessageBox.Show("已审核的数据无法修改!!!","提示");
return;
}
frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit = new frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit(this, intConfessToRaiseID);
myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit.ShowDialog();
}
public void frmMarketManagement_ConfessToRaiseManagement_Activated(object sender, EventArgs e)
{
frmMarketManagement_ConfessToRaiseManagement_Load(null,null);
}
public int intConfessToRaiseID = 0;
public int intCustomerID = 0;
string strAuditWesther = "";
public string strIntentionUnitInstructions = "";
public string strConfessToRaiseNote = "";
string strToSeserve = "";
public int intConditionProjectID = 0;
private void dgvConfessToRaise_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)//dgvConfessToRaise的鼠标的单击事件
{
intConfessToRaiseID = (int)dgvConfessToRaise.CurrentRow.Cells["ClientConfessToRaiseID"].Value;//获取当前行的认筹ID
intCustomerID = (int)dgvConfessToRaise.CurrentRow.Cells["ClientID"].Value;//获取当前行的客户ID
strAuditWesther = dgvConfessToRaise.CurrentRow.Cells["审核否"].Value.ToString().Trim();//获取审核否
strIntentionUnitInstructions = dgvConfessToRaise.CurrentRow.Cells["意向单元说明"].Value.ToString().Trim();//获取当前行的意向单元说明
strConfessToRaiseNote = dgvConfessToRaise.CurrentRow.Cells["备注"].Value.ToString().Trim();//获取当前行的备注
strToSeserve = dgvConfessToRaise.CurrentRow.Cells["转预留否"].Value.ToString().Trim();//获取当前行的信息的转预留否
intConditionProjectID = (int)dgvConfessToRaise.CurrentRow.Cells["ProjectID1"].Value;
}
private void tsbtnAudit_Click(object sender, EventArgs e)//审核按钮的单击事件
{
int intAllDateNumber = 0;
int intAuditNumber = 0;
int intAuditedNumber = 0;
dgvConfessToRaise.EndEdit();
foreach (DataGridViewRow dgvr in dgvConfessToRaise.Rows)//循环遍历dgvConfessToRaise
{
if (Convert.ToBoolean(dgvr.Cells["选择"].FormattedValue))
{
intAllDateNumber++;
string strAuditWeather = dgvr.Cells["审核否"].Value.ToString().Trim();
if (strAuditWeather == "未审核")
{
int intconfesstoraiseID = (int)dgvr.Cells["ClientConfessToRaiseID"].Value;
myfrmMarketManagement_ConfessToRaiseManagementClient.tsbtnAudit_Click_UpdateConfessToRaise(intconfesstoraiseID);
intAuditNumber++;
}
else
{
intAuditedNumber++;
}
}
}
MessageBox.Show("已选择" + intAllDateNumber + "条数据,\n" + "已审核" + intAuditNumber + "条数据,\n" + intAuditedNumber + "条数据不需要重新审核!", "提示");
frmMarketManagement_ConfessToRaiseManagement_Load(null,null);
}
private void tsbtnInsertServe_Click(object sender, EventArgs e)//新增预留的单击事件
{
if (intConfessToRaiseID > 0)
{
if (strAuditWesther == "已审核")//判断是否已经审核
{
if (strToSeserve == "未转预留")
{
frmMarketManagement_ConfessToRaiseManagement_SeserveEdit myfrmMarketManagement_ConfessToRaiseManagement_SeserveEdit = new frmMarketManagement_ConfessToRaiseManagement_SeserveEdit(this);
myfrmMarketManagement_ConfessToRaiseManagement_SeserveEdit.ShowDialog();
}
if (strToSeserve == "已转预留")
{
MessageBox.Show("该认筹信息已转预留,无法再添加预留。\n如需修改,请对某一预留信息修改!!!", "提示");
}
}
if (strAuditWesther == "未审核")
{
MessageBox.Show("该数据尚未审核,请先审核后继续,\n或者选择其他数据后继续此操作!!!","提示");
}
}
else
{
MessageBox.Show("请点击一条数据后继续!","提示");
}
}
private void tsbtnSelectProject_Click(object sender, EventArgs e)//tsbtnSelectProject单击事件
{
dgvProject.Visible = true;//设置dgvProject的可见性
}
private void dgvProject_MouseLeave(object sender, EventArgs e)//鼠标离开事件
{
dgvProject.Visible = false;//设置dgvProject的可见性为假
}
string strProjectID = "";
string strFloorID = "";
string strAuditWeather = "";
private void ckbConditionSelect_CheckedChanged(object sender, EventArgs e)
{
if (ckbConditionSelect.Checked)//判断ckbConditionSelect是否勾着
{
tstxtProjectName.Enabled = true;
tsbtnSelectProject.Enabled = true;
cboFloor.Enabled = true;
}
else//如果没有勾着
{
tstxtProjectName.Enabled = false;
tsbtnSelectProject.Enabled = false;
cboFloor.Enabled = false;
strProjectID = "";
strFloorID = "";
BindingdgvSeserveRoomResource("1", "15", strProjectID, strFloorID, strAuditWeather);
}
}
private void dgvProject_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)//双击事件选择项目
{
int intProjectID = (int)dgvProject.CurrentRow.Cells["项目ID"].Value;//获取相应的项目ID
tstxtProjectName.Text = dgvProject.CurrentRow.Cells["ProjectName"].Value.ToString().Trim();//获取选定的项目名称
DataTable dtFloor = myfrmMarketManagement_ConfessToRaiseManagementClient.dgvProject_CellMouseClick_BindingtscboFloor(intProjectID).Tables[0];
PublicMethod.SettingComboBox(cboFloor, dtFloor, "FloorID", "FloorName");
strProjectID = intProjectID.ToString();
BindingdgvSeserveRoomResource("1", "15", strProjectID, strFloorID, strAuditWeather);//执行绑定dgvSeserveRoomResource的数据源的构造函数
}
private void cboFloor_SelectionChangeCommitted(object sender, EventArgs e)
{
strFloorID = cboFloor.SelectedValue.ToString();
BindingdgvSeserveRoomResource("1", "15", strProjectID, strFloorID, strAuditWeather);
}
private void Public_Click(object sender, EventArgs e)//一个公用Radiobutton的单击事件
{
if (radAudited.Checked)
{
strAuditWeather = "已审核";
BindingdgvSeserveRoomResource("1", "15", strProjectID, strFloorID, strAuditWeather);
}
if (radNotAudit.Checked)
{
strAuditWeather = "未审核";
BindingdgvSeserveRoomResource("1", "15", strProjectID, strFloorID, strAuditWeather);
}
if (radAll.Checked)
{
strAuditWeather = "";
BindingdgvSeserveRoomResource("1", "15", strProjectID, strFloorID, strAuditWeather);
}
}
private void btnUpPage_Click(object sender, EventArgs e)//上一页的点击事件
{
tmrOne.Stop();
int intcount = Convert.ToInt32(lblPageCount.Text);
if (intcount == 1)//判断当前的页数是否等于1
{
lblPrompting.Text = "亲,这已是第一页,无法上一页";
tmrOne.Start();
lblPrompting.Visible = true;
return;
}
int intCurrentPageNumber = Convert.ToInt32(lblPageCount.Text);
intCurrentPageNumber--;
BindingdgvSeserveRoomResource(intCurrentPageNumber.ToString(), "15", strProjectID, strFloorID, strAuditWeather);
}
private void btnNextPage_Click(object sender, EventArgs e)//下一页的点击事件
{
tmrOne.Stop();
int intcount = Convert.ToInt32(lblPageCount.Text);
if (intcount == intAllowPageNumber)
{
lblPrompting.Text = "亲,这已是最后一页,无法下一页";
tmrOne.Start();
lblPrompting.Visible = true;
return;
}
int intCurrentPageNumber = Convert.ToInt32(lblPageCount.Text);
intCurrentPageNumber++;
BindingdgvSeserveRoomResource(intCurrentPageNumber.ToString(), "15", strProjectID, strFloorID, strAuditWeather);
}
private void tmrOne_Tick(object sender, EventArgs e)
{
tmrOne.Stop();
lblPrompting.Visible = false;
}
string strCAuditWeather = "";
string strCToSeserve = "";
private void Pub_ConfessToRaise_Click(object sender, EventArgs e)//公用Radiobutton的点击事件
{
if (radCAudited.Checked)
{
strCAuditWeather = "已审核";
BinddgvConfessToRaise("1", "18", strCAuditWeather, strCToSeserve);
}
if (radCNotAudit.Checked)
{
strCAuditWeather = "未审核";
BinddgvConfessToRaise("1", "18", strCAuditWeather, strCToSeserve);
}
if (radCAll.Checked)
{
strCAuditWeather = "";
BinddgvConfessToRaise("1", "18", strCAuditWeather, strCToSeserve);
}
if (radToSeserved.Checked)
{
strCToSeserve = "已转预留";
BinddgvConfessToRaise("1", "18", strCAuditWeather, strCToSeserve);
}
if (radNotSeserve.Checked)
{
strCToSeserve = "未转预留";
BinddgvConfessToRaise("1", "18", strCAuditWeather, strCToSeserve);
}
if (radAllSeserve.Checked)
{
strCToSeserve = "";
BinddgvConfessToRaise("1", "18", strCAuditWeather, strCToSeserve);
}
}
private void btnLeftPage_Click(object sender, EventArgs e)//上一页的单击事件
{
tmrTwo.Stop();
int intcount = Convert.ToInt32(lblCurrentPage.Text);
if (intcount == 1)
{
lblPresentation.Text = "亲,这已是第一页,无法上一页";
tmrTwo.Start();
lblPresentation.Visible = true;
return;
}
int intCurrentPageNumber = Convert.ToInt32(lblCurrentPage.Text);
intCurrentPageNumber--;
BinddgvConfessToRaise(intCurrentPageNumber.ToString(), "18", strCAuditWeather, strCToSeserve);
}
private void btnRightPage_Click(object sender, EventArgs e)//下一页的单击事件
{
tmrTwo.Stop();//停止事件间隔事件
int intcount = Convert.ToInt32(lblCurrentPage.Text);
if (intcount == intConfessToRaiseCount)
{
lblPresentation.Text = "亲,这已是最后一页,无法下一页";
tmrTwo.Start();//开始事件间隔事件
lblPresentation.Visible = true;
return;
}
int intCurrentPageNumber = Convert.ToInt32(lblCurrentPage.Text);
intCurrentPageNumber++;
BinddgvConfessToRaise(intCurrentPageNumber.ToString(), "18", strCAuditWeather, strCToSeserve);
}
private void tmrTwo_Tick(object sender, EventArgs e)//事件间隔事件
{
tmrTwo.Stop();
lblPresentation.Visible = false;
}
private void tsbtnUpdateServe_Click(object sender, EventArgs e)//修改预留单击事件
{
if (intSeserveID == 0)//判断
{
MessageBox.Show("请单击预留房源列表里选择你需要修改的数据!!!","提示");
return;
}
if (strSeserveAudit == "已审核")
{
MessageBox.Show("该数据已经审核,无法修改!!!", "提示");
return;
}
frmMarketManagement_ConfessToRaiseManagement_SeserveEdit myfrmMarketManagement_ConfessToRaiseManagement_SeserveEdit = new frmMarketManagement_ConfessToRaiseManagement_SeserveEdit(this, intSeserveID);
myfrmMarketManagement_ConfessToRaiseManagement_SeserveEdit.ShowDialog();//跳转修改预留的界面
}
int intSeserveID = 0;
string strSeserveAudit = "";
private void dgvSeserveRoomResource_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)//鼠标的单击事件
{
intSeserveID = (int)dgvSeserveRoomResource.CurrentRow.Cells["SeserveUnitID"].Value;//获取当前行的预留信息的预留ID
strSeserveAudit = dgvSeserveRoomResource.CurrentRow.Cells["AuditWeather"].Value.ToString().Trim();//获取当前行的预留信息审核否
}
private void tsbtnAuditSeserve_Click(object sender, EventArgs e)//审核预留的事件
{
int intSelectNumber = 0;
int intAuditNumber = 0;
int intAuditedNumber = 0;
dgvSeserveRoomResource.EndEdit();
foreach (DataGridViewRow dgvr in dgvSeserveRoomResource.Rows)//遍历循环
{
if (Convert.ToBoolean(dgvr.Cells["Select"].FormattedValue))
{
intSelectNumber++;
string strAuditWeather = dgvr.Cells["AuditWeather"].Value.ToString().Trim();
if (strAuditWeather == "未审核")//判断审核否
{
int intSeserveUnitID = (int)dgvr.Cells["SeserveUnitID"].Value;
DateTime dtmAuditTime = DateTime.Now;
myfrmMarketManagement_ConfessToRaiseManagementClient.tsbtnAuditSeserve_Click_UpdateSeserve(dtmAuditTime, intSeserveUnitID);
intAuditNumber++;
}
else
{
intAuditedNumber++;
}
}
}
MessageBox.Show("已选择" + intSelectNumber + "条数据,\n" + "已审核" + intAuditNumber + "条数据,\n" + intAuditedNumber + "条数据不需要重新审核!", "提示");
frmMarketManagement_ConfessToRaiseManagement_Load(null, null);
}
private void tsbtnReturnConfessToRaise_Click(object sender, EventArgs e)//退审
{
int intAllSelectNumber = 0;
int intIncalidNumber = 0;
int intAuditedNumber = 0;
dgvConfessToRaise.EndEdit();
foreach (DataGridViewRow dgvr in dgvConfessToRaise.Rows)
{
if (Convert.ToBoolean(dgvr.Cells["选择"].FormattedValue))
{
intAllSelectNumber++;
string strAuditWeather = dgvr.Cells["审核否"].Value.ToString().Trim();
if (strAuditWeather == "未审核")
{
int intconfesstoraiseID = (int)dgvr.Cells["ClientConfessToRaiseID"].Value;
myfrmMarketManagement_ConfessToRaiseManagementClient.tsbtnReturnConfessToRaise_Click_UpdateConfessToRaise(intconfesstoraiseID);
intIncalidNumber++;
}
else
{
intAuditedNumber++;
}
}
}
MessageBox.Show("已选择" + intAllSelectNumber + "条数据,\n" + "已退筹" + intIncalidNumber + "条数据,\n" + intAuditedNumber + "已审核无法退筹!!!", "提示");
frmMarketManagement_ConfessToRaiseManagement_Load(null,null);
}
private void tsbtnDeleteSeserve_Click(object sender, EventArgs e)//删除预留信息
{
int intSelectNumber = 0;
int intDeleteNumber = 0;
int intAuditedNumber = 0;
dgvSeserveRoomResource.EndEdit();
foreach (DataGridViewRow dgvr in dgvSeserveRoomResource.Rows)
{
if (Convert.ToBoolean(dgvr.Cells["Select"].FormattedValue))
{
intSelectNumber++;
string strAuditWeather = dgvr.Cells["AuditWeather"].Value.ToString().Trim();
if (strAuditWeather == "未审核")
{
int intSeserveUnitID = (int)dgvr.Cells["SeserveUnitID"].Value;//获取某一行的预留ID
int intClientConfessToRaiseID = (int)dgvr.Cells["ClientConfessToRaiseID1"].Value;//获取某一行的认筹ID
myfrmMarketManagement_ConfessToRaiseManagementClient.tsbtnReturnConfessToRaise_Click_UpdateConfessToRaise(intClientConfessToRaiseID);
myfrmMarketManagement_ConfessToRaiseManagementClient.tsbtnDeleteSeserve_Click_Update(intSeserveUnitID);
intDeleteNumber++;
}
else
{
intAuditedNumber++;
}
}
}
MessageBox.Show("已选择" + intSelectNumber + "条数据,\n" + "删除" + intDeleteNumber + "条数据,\n" + intAuditedNumber + "条数据已审核,无法删除!", "提示");
frmMarketManagement_ConfessToRaiseManagement_Load(null, null);
}
}
2.添加认筹资料
从界面上可以看到我们这里用到的控件有
控件名称 |
说明 |
标注(Label) |
控件可以在工具箱直接拖动至窗体,拖至窗体后右击属性可以修改控件的样式和各种属性,还可以编辑事件。 |
文本(TextBox) |
|
按钮(Button) |
|
菜单(ToolStripMenuItem) |
|
工具栏(ToolStrip) |
|
组容器(GroupBox) |
功能实现:
第一步:数据库
1、表与关系
表1: 客户信息 (dbo.PW_ClientInformation)
Primary Key(主键): ClientID
非主键ID值均是外键
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
ClientID |
int - Identity |
No |
客户ID |
|
ProjectID |
int |
Yes |
项目信息表,项目ID |
|
ClientNumber |
nchar (10) |
Yes |
客户编号 |
|
ClientName |
nchar (10) |
Yes |
客户名称 |
|
EarlyVisitIntention |
nchar (10) |
Yes |
初访意向 |
|
Gender |
nchar (10) |
Yes |
性别 |
|
MaritalStatus |
nchar (10) |
Yes |
婚否 |
|
ClientRegistrationWayID |
int |
Yes |
属性明细表,客户登记方式ID |
|
RelationPhone |
nchar (15) |
Yes |
联系电话 |
|
ElectronMail |
nchar (30) |
Yes |
电子邮箱 |
|
HomeBuyerConsultantID |
int |
Yes |
员工表,置业顾问ID |
|
DateOfVisit |
datetime |
Yes |
来访日期 |
|
CommunicationAddress |
nchar (50) |
Yes |
通讯地址 |
|
Postcode |
nchar (10) |
Yes |
邮编 |
|
IDentityCard |
nchar (30) |
Yes |
身份证号 |
|
BirthDay |
date |
Yes |
出生日期 |
|
Age |
nchar (20) |
Yes |
年龄 |
|
Professional |
nchar (20) |
Yes |
职业 |
|
NowLivingArea |
nchar (20) |
Yes |
现居住区域 |
|
LearnTheWayToTheCase |
nchar (20) |
Yes |
获取本案途径 |
|
VisitConstitute |
nchar (20) |
Yes |
来客构成 |
|
Traffic |
nchar (20) |
Yes |
交通 |
|
RealEstateSituation |
nchar (20) |
Yes |
置业状况 |
|
ResidentialMortgageLoans |
nchar (20) |
Yes |
住宅按揭贷款 |
|
HomesBuyersPurpose |
nchar (20) |
Yes |
置业目的 |
|
PlanTorealEstatePrice |
nchar (20) |
Yes |
计划置业价格 |
|
DemandArea |
nchar (20) |
Yes |
需求面积 |
|
PaymentWay |
nchar (20) |
Yes |
付款方式ID |
|
BuyingConsideration |
nchar (20) |
Yes |
买房考虑因素 |
|
IncalidOr |
bit |
((0)) |
Yes |
作废否 |
表2: 认筹表 (dbo. PW_ClientConfessToRaise)
Primary Key(主键): ClientConfessToRaiseID
非主键ID值均是外键
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
ClientConfessToRaiseID |
int - Identity |
No |
客户认筹ID |
|
ClientID |
int |
Yes |
客户信息表,客户ID |
|
RaiseNumeralRecognition |
nchar (10) |
Yes |
认筹排号 |
|
TheOrderNumber |
nchar (10) |
Yes |
订单号 |
|
ConfessToRaiseClassificationID |
int |
Yes |
属性明细表,筹卡分类ID |
|
AccountsReceivableAppointmentGold |
money |
Yes |
应收预约金 |
|
ConfesstoraiseDate |
datetime |
Yes |
认筹日期 |
|
EffectiveDate |
datetime |
Yes |
有效日期 |
|
IntentionUnitInstructions |
nchar (10) |
Yes |
意向单元说明 |
|
Note |
nchar (30) |
Yes |
备注 |
|
ToSeserve |
bit |
((0)) |
Yes |
转预留否 |
SeserveID |
int |
Yes |
预留表,预留ID |
|
AuditWhether |
bit |
((0)) |
Yes |
审核否 |
IncalidWhether |
bit |
((0)) |
Yes |
作废否 |
AfterUpdateID |
int |
Yes |
认筹表,修改后ID |
表3: 员工表 (dbo. SYS_Staff)
Primary Key(主键): StaffID
非主键ID值均是外键
列名 |
数据类型 |
Nulls? |
说明 |
StaffID |
int - Identity |
No |
员工ID |
StaffNumber |
nchar (10) |
Yes |
员工编号 |
StaffName |
nchar (10) |
Yes |
员工姓名 |
DepartMentID |
int |
Yes |
所属部门 |
GenderID |
int |
Yes |
属性明细表,性别ID |
Age |
int |
Yes |
年龄 |
EducationBackgroundID |
int |
Yes |
属性明细表,学历ID |
MarryWhether |
bit |
Yes |
婚否 |
Position |
nchar (10) |
Yes |
职位 |
ContactPhoneNumber |
nchar (15) |
Yes |
联系电话 |
ContactAddress |
nchar (20) |
Yes |
联系地址 |
Notes |
nchar (100) |
Yes |
备注 |
StaffImage |
image |
Yes |
员工照片 |
表4: 客户事件记录表 (dbo.PW_ClientEventRecord)
Primary Key(主键): EventRecordID
非主键ID值均是外键
列名 |
数据类型 |
Nulls? |
说明 |
EventRecordID |
int - Identity |
No |
事件记录ID |
ClientID |
int |
Yes |
客户信息表,客户ID |
RecordDate |
datetime |
Yes |
记录日期 |
Characteristic |
nchar (200) |
Yes |
特征 |
explain |
nchar (200) |
Yes |
说明 |
表5: 属性明细表(dbo.SYS_AttributeDetails)
Primary Key(主键): AttributeDetailsID
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
AttributeDetailsID |
int - Identity |
No |
属性明细ID |
|
AuttributeSetID |
int |
Yes |
属性集合表,属性集合ID |
|
AuttributeDetailsName |
nchar (10) |
Yes |
属性明细名称 |
|
EffectiveWhether |
bit |
((1)) |
Yes |
有效否 |
2、具体的代码实现
第一步:数据库的存储过程
if @Type='RenChouBianJi_Load_BindingcboConfessToRaiseClasses'--查询筹卡分类
begin
SELECT AttributeDetailsID, rtrim(AuttributeDetailsName) as 筹卡分类
FROM SYS_AttributeDetails
where SYS_AttributeDetails.AuttributeSetID=22
end
if @Type='RenChouBianJi_Load_BindingcboHomeBuyersConsultant'--查询置业顾问
begin
SELECT StaffID, rtrim(StaffName) as 置业顾问
FROM SYS_Staff
where SYS_Staff.DepartMentID=23
end
if @Type='RenChouBianJi_Load_BindingdgvCustomer'--查询客户
begin
SELECT ClientID, RTRIM(ClientName) AS ClientName, RTRIM(RelationPhone) AS RelationPhone, Gender AS 性别
FROM PW_ClientInformation
where PW_ClientInformation.IncalidOr=0
end
if @Type='RenChouBianJi_Load_BindingCustomDetails'--查询客户明细
begin
SELECT RTRIM(CommunicationAddress) AS CommunicationAddress, RTRIM(RelationPhone) AS RelationPhone, RTRIM(ClientNumber) AS ClientNumber, RTRIM(Postcode) AS Postcode, RTRIM(ClientName) AS ClientName, HomeBuyerConsultantID, RTRIM(IDentityCard) AS IDentityCard
FROM PW_ClientInformation
where PW_ClientInformation.ClientID=@ClientID
end
if @Type='btnSaveAndAdd_Click_Insert'--新增
begin
begin tran
INSERT INTO PW_ClientConfessToRaise
(ClientID, RaiseNumeralRecognition, TheOrderNumber, ConfessToRaiseClassificationID,
AccountsReceivableAppointmentGold, ConfesstoraiseDate, EffectiveDate, IntentionUnitInstructions, Note )
VALUES (@ClientID, @RaiseNumeralRecognition, @TheOrderNumber, @ConfessToRaiseClassificationID,
@AccountsReceivableAppointmentGold, @ConfesstoraiseDate, @EffectiveDate, @IntentionUnitInstructions, @Note )
select @@IDENTITY
commit tran
end
if @Type='RenChouBianJi_SelectRaiseNumeralRecognition'--查询认筹排号
begin
SELECT ClientConfessToRaiseID, RTRIM(RaiseNumeralRecognition) AS RaiseNumeralRecognition
FROM PW_ClientConfessToRaise
end
if @Type='ConfessToRaiseEdit_SelectWillUpdateMsg'--查询修改信息
begin
SELECT PW_ClientConfessToRaise.ClientID, RTRIM(PW_ClientConfessToRaise.RaiseNumeralRecognition) AS RaiseNumeralRecognition, RTRIM(PW_ClientConfessToRaise.TheOrderNumber) AS TheOrderNumber,
PW_ClientConfessToRaise.ConfessToRaiseClassificationID, RTRIM(PW_ClientConfessToRaise.AccountsReceivableAppointmentGold) AS AccountsReceivableAppointmentGold, PW_ClientConfessToRaise.ConfesstoraiseDate,
PW_ClientConfessToRaise.EffectiveDate, RTRIM(PW_ClientConfessToRaise.IntentionUnitInstructions) AS IntentionUnitInstructions, RTRIM(PW_ClientConfessToRaise.Note) AS Note, PW_ClientInformation.HomeBuyerConsultantID
FROM PW_ClientConfessToRaise INNER JOIN
PW_ClientInformation ON PW_ClientConfessToRaise.ClientID = PW_ClientInformation.ClientID
where PW_ClientConfessToRaise.ClientConfessToRaiseID=@ClientConfessToRaiseID
end
if @Type='btnSaveAndUpdate_Click_UpdateOldMsg'--修改
begin
begin tran
UPDATE PW_ClientConfessToRaise
SET AfterUpdateID = @AfterUpdateID, IncalidWhether =1
where PW_ClientConfessToRaise.ClientConfessToRaiseID=@ClientConfessToRaiseID
end
第二步:逻辑层(BLL)的具体代码
DALPublic.DALPublic myDALPublic = new DALPublic.DALPublic();
[OperationContract]
#region 绑定下拉框筹卡分类
public DataSet RenChouBianJi_Load_BindingcboConfessToRaiseClasses()
{
SqlParameter[] SQLCMDpas = { new SqlParameter("@Type", SqlDbType.Char),
};
SQLCMDpas[0].Value = "RenChouBianJi_Load_BindingcboConfessToRaiseClasses";
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 绑定下拉框置业顾问
public DataSet RenChouBianJi_Load_BindingcboHomeBuyersConsultant()
{
SqlParameter[] SQLCMDpas = { new SqlParameter("@Type", SqlDbType.Char),
};
SQLCMDpas[0].Value = "RenChouBianJi_Load_BindingcboHomeBuyersConsultant";
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 绑定dgv客户表
public DataSet RenChouBianJi_Load_BindingdgvCustomer()
{
SqlParameter[] SQLCMDpas = { new SqlParameter("@Type", SqlDbType.Char),
};
SQLCMDpas[0].Value = "RenChouBianJi_Load_BindingdgvCustomer";
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 根据客户ID查询客户信息
public DataSet RenChouBianJi_Load_BindingCustomDetails(int intCustomID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@ClientID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "RenChouBianJi_Load_BindingCustomDetails";
SQLCMDpas[1].Value = intCustomID;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 新增认筹资料
public DataSet btnSaveAndAdd_Click_Insert(int ClientID, string RaiseNumeralRecognition, string TheOrderNumber, int ConfessToRaiseClassificationID,
decimal AccountsReceivableAppointmentGold, DateTime ConfesstoraiseDate, DateTime EffectiveDate, string IntentionUnitInstructions, string Note)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@ClientID", SqlDbType.Int),
new SqlParameter("@RaiseNumeralRecognition", SqlDbType.Char),
new SqlParameter("@TheOrderNumber", SqlDbType.Char),
new SqlParameter("@ConfessToRaiseClassificationID", SqlDbType.Int),
new SqlParameter("@AccountsReceivableAppointmentGold", SqlDbType.Money),
new SqlParameter("@ConfesstoraiseDate", SqlDbType.DateTime),
new SqlParameter("@EffectiveDate", SqlDbType.DateTime),
new SqlParameter("@IntentionUnitInstructions", SqlDbType.Char),
new SqlParameter("@Note", SqlDbType.Char),
};
SQLCMDpas[0].Value = "btnSaveAndAdd_Click_Insert";
SQLCMDpas[1].Value = ClientID;
SQLCMDpas[2].Value = RaiseNumeralRecognition;
SQLCMDpas[3].Value = TheOrderNumber;
SQLCMDpas[4].Value = ConfessToRaiseClassificationID;
SQLCMDpas[5].Value = AccountsReceivableAppointmentGold;
SQLCMDpas[6].Value = ConfesstoraiseDate;
SQLCMDpas[7].Value = EffectiveDate;
SQLCMDpas[8].Value = IntentionUnitInstructions;
SQLCMDpas[9].Value = Note;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 查询认筹排号
public DataSet RenChouBianJi_SelectRaiseNumeralRecognition()
{
SqlParameter[] SQLCMDpas = { new SqlParameter("@Type", SqlDbType.Char),
};
SQLCMDpas[0].Value = "RenChouBianJi_SelectRaiseNumeralRecognition";
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 修改房间状态
public int btnSaveAndAdd_Click_UpdateRoomStatus(int intRoomID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@RoomResourcesID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "btnSaveAndAdd_Click_UpdateRoomStatus";
SQLCMDpas[1].Value = intRoomID;
return myDALPublic.DAL_OPTableDB_Par("frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit", SQLCMDpas);
}
#endregion
[OperationContract]
#region 修改认筹信息时候,绑定相应的信息
public DataSet ConfessToRaiseEdit_SelectWillUpdateMsg(int intClientConfessToRaiseID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@ClientConfessToRaiseID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "ConfessToRaiseEdit_SelectWillUpdateMsg";
SQLCMDpas[1].Value = intClientConfessToRaiseID;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 修改房间状态
public int btnSaveAndUpdate_Click_UpdateOldMsg(int intAfterUpdateID, int intClientConfessToRaiseID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@AfterUpdateID", SqlDbType.Int),
new SqlParameter("@ClientConfessToRaiseID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "btnSaveAndUpdate_Click_UpdateOldMsg";
SQLCMDpas[1].Value = intAfterUpdateID;
SQLCMDpas[2].Value = intClientConfessToRaiseID;
return myDALPublic.DAL_OPTableDB_Par("frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit", SQLCMDpas);
}
#endregion
第三步:界面层(UIL)的相关事件域代码
frmMarketManagement_ConfessToRaiseManagement Frm;
public frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit(frmMarketManagement_ConfessToRaiseManagement frm)//窗体传值
{
Frm = frm;
InitializeComponent();
}
int intOldConfessToRaiseID = 0;
public frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEdit(frmMarketManagement_ConfessToRaiseManagement frm, int intConfessToRaiseID)//窗体传值
{
intOldConfessToRaiseID = intConfessToRaiseID;
Frm = frm;
InitializeComponent();
}
BLL新锐房地产销售系统.MarketManagement.frmMarketManagement_ConfessToRaiseEdit.frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEditClient myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEditClient = new BLL新锐房地产销售系统.MarketManagement.frmMarketManagement_ConfessToRaiseEdit.frmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEditClient();//实例化逻辑层
DataTable dtcustomer = new DataTable();
private void frmXiaoShouGuanLi_RenChouGuanLi_RenChouBianJi_Load(object sender, EventArgs e)//窗体加载事件
{
cboConfessToRaiseClasses.DataSource = myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEditClient.RenChouBianJi_Load_BindingcboConfessToRaiseClasses().Tables[0];
cboConfessToRaiseClasses.DisplayMember = "筹卡分类";
cboConfessToRaiseClasses.ValueMember = "AttributeDetailsID";
cboHomeBuyersConsultant.DataSource = myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEditClient.RenChouBianJi_Load_BindingcboHomeBuyersConsultant().Tables[0];
cboHomeBuyersConsultant.DisplayMember = "置业顾问";
cboHomeBuyersConsultant.ValueMember = "StaffID";
dtcustomer = myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEditClient.RenChouBianJi_Load_BindingdgvCustomer().Tables[0];
dgvCustomer.DataSource = dtcustomer;
DataTable dtRaiseNumeralRecognition = myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEditClient.RenChouBianJi_SelectRaiseNumeralRecognition().Tables[0];//查询忍受排号
if (dtRaiseNumeralRecognition.Rows.Count > 0)//判断
txtRaiseNumeralRecognition.Text = (Convert.ToInt32( dtRaiseNumeralRecognition.Rows[dtRaiseNumeralRecognition.Rows.Count - 1]["RaiseNumeralRecognition"].ToString().Trim())+1).ToString();
else
txtRaiseNumeralRecognition.Text = "1";
if (intOldConfessToRaiseID > 0)
{
Update_Load_Binding(intOldConfessToRaiseID);
}
}
void Update_Load_Binding(int intConfessToRaiseID)//构造函数,用于绑定将要修改的信息
{
btnSaveAndAdd.Enabled = false;
btnSaveAndUpdate.Enabled = true;
DataTable dtOldConfessToRaiseMsg = myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEditClient.ConfessToRaiseEdit_SelectWillUpdateMsg(intConfessToRaiseID).Tables[0];
int intClientID = (int)dtOldConfessToRaiseMsg.Rows[0]["ClientID"];
BindingCustomerMsg(intClientID);
txtRaiseNumeralRecognition.Text = dtOldConfessToRaiseMsg.Rows[0]["RaiseNumeralRecognition"].ToString().Trim();
txtTheOrderNumber.Text = dtOldConfessToRaiseMsg.Rows[0]["TheOrderNumber"].ToString().Trim();
cboConfessToRaiseClasses.SelectedValue = (int)dtOldConfessToRaiseMsg.Rows[0]["ConfessToRaiseClassificationID"];
txtAccountsReceivableAppointmentGold.Text = dtOldConfessToRaiseMsg.Rows[0]["AccountsReceivableAppointmentGold"].ToString().Trim();
dtpConfessToRaiseDate.Value = Convert.ToDateTime(dtOldConfessToRaiseMsg.Rows[0]["ConfesstoraiseDate"]);
dtpEffectiveDate.Value = Convert.ToDateTime(dtOldConfessToRaiseMsg.Rows[0]["EffectiveDate"]);
txtIntentionUnitInstructions.Text = dtOldConfessToRaiseMsg.Rows[0]["IntentionUnitInstructions"].ToString().Trim();
cboHomeBuyersConsultant.SelectedValue = (int)dtOldConfessToRaiseMsg.Rows[0]["HomeBuyerConsultantID"];
txtNote.Text = dtOldConfessToRaiseMsg.Rows[0]["Note"].ToString().Trim();
}
private void btnSelect_Click(object sender, EventArgs e)
{
if (txtNameAndPhone.Text != "")
{
string strCondition = "ClientName like '%" + txtNameAndPhone.Text.ToString().Trim() + "%'" + " Or " + " RelationPhone like '%" + txtNameAndPhone.Text.ToString().Trim() + "%'";
DataView dv = new DataView(dtcustomer);//将表放进数据视图里边
dv.RowFilter = strCondition;//根据字符串条件来过滤数据视图里边的数据
DataTable dt = dv.ToTable();
dgvCustomer.DataSource = dt;
}
else
dgvCustomer.DataSource = dtcustomer;
dgvCustomer.Visible = true;
}
private void dgvCustomer_MouseLeave(object sender, EventArgs e)//鼠标离开事件
{
dgvCustomer.Visible = false;
}
int intCustomID = 0;
private void dgvCustomer_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)//dgvCustomer的单元格鼠标双击事件
{
intCustomID = (int)dgvCustomer.CurrentRow.Cells["CustomerID"].Value;
BindingCustomerMsg(intCustomID);
dgvCustomer.Visible = false;
}
void BindingCustomerMsg(int intCustomerID)//绑定客户信息
{
DataTable dtCustomDetails = myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEditClient.RenChouBianJi_Load_BindingCustomDetails(intCustomerID).Tables[0];
txtClientName.Text = dtCustomDetails.Rows[0]["ClientName"].ToString().Trim();
txtContactPhoneNumber.Text = dtCustomDetails.Rows[0]["RelationPhone"].ToString().Trim();
txtCorrespondenceAddress.Text = dtCustomDetails.Rows[0]["CommunicationAddress"].ToString().Trim();
txtClientNumber.Text = dtCustomDetails.Rows[0]["ClientNumber"].ToString().Trim();
txtIDNumber.Text = dtCustomDetails.Rows[0]["IDentityCard"].ToString().Trim();
txtPostalZipCode.Text = dtCustomDetails.Rows[0]["Postcode"].ToString().Trim();
cboHomeBuyersConsultant.SelectedValue = Convert.ToInt32(dtCustomDetails.Rows[0]["HomeBuyerConsultantID"].ToString());
}
private void btnSaveAndAdd_Click(object sender, EventArgs e)//保存添加的单击事件
{
try
{
string strRaiseNumeralRecognition = Convert.ToInt32(txtRaiseNumeralRecognition.Text).ToString();
string strTheOrderNumber = txtTheOrderNumber.Text.ToString();
int intConfessToRaiseClassificationID = (int)cboConfessToRaiseClasses.SelectedValue;
decimal decAccountsReceivableAppointmentGold = Convert.ToDecimal(txtAccountsReceivableAppointmentGold.Text.ToString());
DateTime dtmConfesstoraiseDate = dtpConfessToRaiseDate.Value;
DateTime dtmEffectiveDate = dtpEffectiveDate.Value;
string strIntentionUnitInstructions = txtIntentionUnitInstructions.Text.ToString();
string strNote = txtNote.Text.ToString();
DataTable dt = myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEditClient.btnSaveAndAdd_Click_Insert(intCustomID, strRaiseNumeralRecognition, strTheOrderNumber, intConfessToRaiseClassificationID,
decAccountsReceivableAppointmentGold, dtmConfesstoraiseDate, dtmEffectiveDate, strIntentionUnitInstructions, strNote).Tables[0];//新增
if (dt.Rows.Count > 0)
{
DateTime dtmOperatingTime = DateTime.Now;
PublicMethod.Pub_InsertClientEventRecord(intCustomID, dtmOperatingTime, "客户添加认筹", "添加认筹");
MessageBox.Show("添加认筹成功!");
frmXiaoShouGuanLi_RenChouGuanLi_RenChouBianJi_Load(null,null);
Frm.frmMarketManagement_ConfessToRaiseManagement_Activated(null,null);
}
}
catch { MessageBox.Show("请完善所有信息!"); }
}
private void txtTheOrderNumber_KeyPress(object sender, KeyPressEventArgs e)
{
if (char.IsDigit(e.KeyChar) || e.KeyChar==(char)Keys.Back )
{
e.Handled = false ;
}
else
e.Handled = true;
}
private void btnReturn_Click(object sender, EventArgs e)
{
Frm.frmMarketManagement_ConfessToRaiseManagement_Activated(null, null);
this.Close();//关闭窗体
}
private void txtAccountsReceivableAppointmentGold_KeyPress(object sender, KeyPressEventArgs e)//txtAccountsReceivableAppointmentGold的键按下放开事件
{
PublicMethod.pubPriceOrRate_KeyPress(sender, e);
}
private void btnSaveAndUpdate_Click(object sender, EventArgs e)//修改按钮的单击事件
{
try
{
string strRaiseNumeralRecognition = Convert.ToInt32(txtRaiseNumeralRecognition.Text).ToString();
string strTheOrderNumber = txtTheOrderNumber.Text.ToString();
int intConfessToRaiseClassificationID = (int)cboConfessToRaiseClasses.SelectedValue;
decimal decAccountsReceivableAppointmentGold = Convert.ToDecimal(txtAccountsReceivableAppointmentGold.Text.ToString());
DateTime dtmConfesstoraiseDate = dtpConfessToRaiseDate.Value;
DateTime dtmEffectiveDate = dtpEffectiveDate.Value;
string strIntentionUnitInstructions = txtIntentionUnitInstructions.Text.ToString();
string strNote = txtNote.Text.ToString();
int intNewConfessToRaiseID = (int)myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEditClient.btnSaveAndAdd_Click_Insert(intCustomID, strRaiseNumeralRecognition, strTheOrderNumber, intConfessToRaiseClassificationID,
decAccountsReceivableAppointmentGold, dtmConfesstoraiseDate, dtmEffectiveDate, strIntentionUnitInstructions, strNote).Tables[0].Rows[0][0];
if (intNewConfessToRaiseID > 0)
{
DateTime dtmOperatingTime = DateTime.Now;
PublicMethod.Pub_InsertClientEventRecord(intCustomID, dtmOperatingTime, "客户修改认筹", "修改认筹");
myfrmMarketManagement_ConfessToRaiseManagement_ConfessToRaiseEditClient.btnSaveAndUpdate_Click_UpdateOldMsg(intNewConfessToRaiseID,intOldConfessToRaiseID);
MessageBox.Show("修改认筹成功!");
frmXiaoShouGuanLi_RenChouGuanLi_RenChouBianJi_Load(null, null);
Frm.frmMarketManagement_ConfessToRaiseManagement_Activated(null, null);
}
}
catch { MessageBox.Show("请完善所有信息!"); }
}
private void btnAdd_Click(object sender, EventArgs e)//添加客户单击事件,跳转界面
{
frmMarketManagement_ClientRegistrtion_PubRegistration myfrmMarketManagement_ClientRegistrtion_PubRegistration = new frmMarketManagement_ClientRegistrtion_PubRegistration(this);
myfrmMarketManagement_ClientRegistrtion_PubRegistration.ShowDialog();
}
}
3.认筹转预留
从界面上可以看到我们这里用到的控件有
控件名称 |
说明 |
标注(Label) |
控件可以在工具箱直接拖动至窗体,拖至窗体后右击属性可以修改控件的样式和各种属性,还可以编辑事件。 |
日期控件(DateTimePicker) |
|
文本(TextBox) |
|
按钮(Button) |
|
下拉框(ComboBox) |
|
组容器(GroupBox) |
|
表格(DataGridView) |
功能实现:
第一步:数据库
1、表与关系
表1: 房间资源表(dbo.SYS_RoomResource)
Primary Key(主键): RoomResourcesID
非主键ID值均是外键
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
RoomResourcesID |
int - Identity |
No |
房间资源ID |
|
FloorID |
int |
Yes |
楼栋信息表,楼栋ID |
|
TheCodeModelID |
int |
Yes |
属性明细表,代码模式ID |
|
Number |
nchar (10) |
Yes |
编号 |
|
UnitNumberID |
int |
Yes |
单元表,单元ID |
|
FloorStotey |
nchar (10) |
Yes |
楼层 |
|
RoomCategoryID |
int |
Yes |
属性明细表,房间类别ID |
|
TowardID |
int |
Yes |
属性明细表,朝向ID |
|
DoorModelID |
int |
Yes |
属性明细表,户型ID |
|
RoomTypeID |
int |
Yes |
属性明细表,房间类型ID |
|
RoomLandScapeID |
int |
Yes |
属性明细表,房间景观ID |
|
RoomSpecialID |
int |
Yes |
属性明细表,房间特殊ID |
|
ConstructionArea |
decimal (18, 2) |
Yes |
建筑面积 |
|
PricateArea |
decimal (18, 2) |
Yes |
私有面积 |
|
PublicArea |
decimal (18, 2) |
Yes |
公摊面积 |
|
Usage |
decimal (18, 2) |
Yes |
使用率 |
|
TheUnitPrice |
decimal (18, 2) |
Yes |
标价单价 |
|
BidPrice |
decimal (18, 2) |
Yes |
标价总价 |
|
NumberOfPrice |
nchar (10) |
Yes |
价格次数 |
|
SalesStatusID |
int |
((102)) |
Yes |
属性明细表,销售状态ID |
BriefNote |
nchar (30) |
Yes |
简要备注 |
|
SchematicDiagram |
image |
Yes |
示意图 |
|
Chart |
image |
Yes |
效果图 |
表2: 楼栋信息表(dbo.SYS_FloorInformation)
Primary Key(主键): FloorID
非主键ID值均是外键
(这里因为在这个表里边没有设置有默认值,所以没有默认值的那一列)
列名 |
数据类型 |
Nulls? |
说明 |
FloorID |
int - Identity |
No |
楼栋ID |
ProjectID |
int |
Yes |
项目信息表,项目ID |
FloorStructureID |
int |
Yes |
属性明细表,楼栋结构ID |
OpenBatchID |
int |
Yes |
属性明细表,开盘批次ID |
LaunchSituationID |
int |
Yes |
属性明细表,推出情况ID |
OpeningSituationID |
int |
Yes |
属性明细表,开盘情况ID |
FloorLevelID |
int |
Yes |
楼栋级别ID |
SortNumber |
nchar (10) |
Yes |
序号 |
FloorName |
nchar (20) |
Yes |
楼栋名称 |
PropertyRightFloorName |
nchar (20) |
Yes |
产权楼栋名称 |
FloorStorey |
nchar (10) |
Yes |
楼栋层数 |
LaunchDate |
datetime |
Yes |
推出日期 |
DoMortgageDate |
datetime |
Yes |
具备办按揭日期 |
CapsDate |
datetime |
Yes |
封顶日期 |
AccumulationFundDate |
datetime |
Yes |
具备办公积金日期 |
ExpectedPayDate |
datetime |
Yes |
预计交房日期 |
PropertyRightDate |
datetime |
Yes |
具备办产权日期 |
MakingRoomDate |
datetime |
Yes |
交房日期 |
表3: 客户信息 (dbo.PW_ClientInformation)
Primary Key(主键): ClientID
非主键ID值均是外键
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
ClientID |
int - Identity |
No |
客户ID |
|
ProjectID |
int |
Yes |
项目信息表,项目ID |
|
ClientNumber |
nchar (10) |
Yes |
客户编号 |
|
ClientName |
nchar (10) |
Yes |
客户名称 |
|
EarlyVisitIntention |
nchar (10) |
Yes |
初访意向 |
|
Gender |
nchar (10) |
Yes |
性别 |
|
MaritalStatus |
nchar (10) |
Yes |
婚否 |
|
ClientRegistrationWayID |
int |
Yes |
属性明细表,客户登记方式ID |
|
RelationPhone |
nchar (15) |
Yes |
联系电话 |
|
ElectronMail |
nchar (30) |
Yes |
电子邮箱 |
|
HomeBuyerConsultantID |
int |
Yes |
员工表,置业顾问ID |
|
DateOfVisit |
datetime |
Yes |
来访日期 |
|
CommunicationAddress |
nchar (50) |
Yes |
通讯地址 |
|
Postcode |
nchar (10) |
Yes |
邮编 |
|
IDentityCard |
nchar (30) |
Yes |
身份证号 |
|
BirthDay |
date |
Yes |
出生日期 |
|
Age |
nchar (20) |
Yes |
年龄 |
|
Professional |
nchar (20) |
Yes |
职业 |
|
NowLivingArea |
nchar (20) |
Yes |
现居住区域 |
|
LearnTheWayToTheCase |
nchar (20) |
Yes |
获取本案途径 |
|
VisitConstitute |
nchar (20) |
Yes |
来客构成 |
|
Traffic |
nchar (20) |
Yes |
交通 |
|
RealEstateSituation |
nchar (20) |
Yes |
置业状况 |
|
ResidentialMortgageLoans |
nchar (20) |
Yes |
住宅按揭贷款 |
|
HomesBuyersPurpose |
nchar (20) |
Yes |
置业目的 |
|
PlanTorealEstatePrice |
nchar (20) |
Yes |
计划置业价格 |
|
DemandArea |
nchar (20) |
Yes |
需求面积 |
|
PaymentWay |
nchar (20) |
Yes |
付款方式ID |
|
BuyingConsideration |
nchar (20) |
Yes |
买房考虑因素 |
|
IncalidOr |
bit |
((0)) |
Yes |
作废否 |
表4: 客户事件记录表 (dbo.PW_ClientEventRecord)
Primary Key(主键): EventRecordID
非主键ID值均是外键
列名 |
数据类型 |
Nulls? |
说明 |
EventRecordID |
int - Identity |
No |
事件记录ID |
ClientID |
int |
Yes |
客户信息表,客户ID |
RecordDate |
datetime |
Yes |
记录日期 |
Characteristic |
nchar (200) |
Yes |
特征 |
explain |
nchar (200) |
Yes |
说明 |
表5: 预留表 (dbo. PW_SeserveUnit)
Primary Key(主键): SeserveUnitID
非主键ID值均是外键
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
SeserveUnitID |
int - Identity |
No |
预留单元ID |
|
ClientID |
int |
Yes |
客户信息表,客户ID |
|
FloorID |
int |
Yes |
楼栋信息表,楼栋ID |
|
UnitNumberID |
int |
Yes |
房间资源表,房间单元ID |
|
RoomNumeral |
nchar (10) |
Yes |
房间排号 |
|
PresalseArea |
decimal (18, 2) |
Yes |
预售面积 |
|
SeservationUnitPrice |
decimal (18, 2) |
Yes |
预留单价 |
|
BookingSeservationPrice |
decimal (18, 2) |
Yes |
预留总价 |
|
AccountsReceivableBookingGoid |
money |
Yes |
应收预约金 |
|
SeservatingDate |
datetime |
Yes |
预留日期 |
|
ValidDate |
datetime |
Yes |
有效日期 |
|
BriefNote |
nchar (100) |
Yes |
简要备注 |
|
AuditDate |
datetime |
Yes |
审核日期 |
|
NewSeserveUnitID |
int |
Yes |
预留表,新的预留ID |
|
ChangeReason |
int |
Yes |
变更原因 |
|
IncalidOr |
bit |
((0)) |
Yes |
作废否 |
表6: 认筹表 (dbo. PW_ClientConfessToRaise)
Primary Key(主键): ClientConfessToRaiseID
非主键ID值均是外键
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
ClientConfessToRaiseID |
int - Identity |
No |
客户认筹ID |
|
ClientID |
int |
Yes |
客户信息表,客户ID |
|
RaiseNumeralRecognition |
nchar (10) |
Yes |
认筹排号 |
|
TheOrderNumber |
nchar (10) |
Yes |
订单号 |
|
ConfessToRaiseClassificationID |
int |
Yes |
属性明细表,筹卡分类ID |
|
AccountsReceivableAppointmentGold |
money |
Yes |
应收预约金 |
|
ConfesstoraiseDate |
datetime |
Yes |
认筹日期 |
|
EffectiveDate |
datetime |
Yes |
有效日期 |
|
IntentionUnitInstructions |
nchar (10) |
Yes |
意向单元说明 |
|
Note |
nchar (30) |
Yes |
备注 |
|
ToSeserve |
bit |
((0)) |
Yes |
转预留否 |
SeserveID |
int |
Yes |
预留表,预留ID |
|
AuditWhether |
bit |
((0)) |
Yes |
审核否 |
IncalidWhether |
bit |
((0)) |
Yes |
作废否 |
AfterUpdateID |
int |
Yes |
认筹表,修改后ID |
表7: 员工表 (dbo. SYS_Staff)
Primary Key(主键): StaffID
非主键ID值均是外键
列名 |
数据类型 |
Nulls? |
说明 |
StaffID |
int - Identity |
No |
员工ID |
StaffNumber |
nchar (10) |
Yes |
员工编号 |
StaffName |
nchar (10) |
Yes |
员工姓名 |
DepartMentID |
int |
Yes |
所属部门 |
GenderID |
int |
Yes |
属性明细表,性别ID |
Age |
int |
Yes |
年龄 |
EducationBackgroundID |
int |
Yes |
属性明细表,学历ID |
MarryWhether |
bit |
Yes |
婚否 |
Position |
nchar (10) |
Yes |
职位 |
ContactPhoneNumber |
nchar (15) |
Yes |
联系电话 |
ContactAddress |
nchar (20) |
Yes |
联系地址 |
Notes |
nchar (100) |
Yes |
备注 |
StaffImage |
image |
Yes |
员工照片 |
表8: 属性明细表(dbo.SYS_AttributeDetails)
Primary Key(主键): AttributeDetailsID
列名 |
数据类型 |
默认值 |
Nulls? |
说明 |
AttributeDetailsID |
int - Identity |
No |
属性明细ID |
|
AuttributeSetID |
int |
Yes |
属性集合表,属性集合ID |
|
AuttributeDetailsName |
nchar (10) |
Yes |
属性明细名称 |
|
EffectiveWhether |
bit |
((1)) |
Yes |
有效否 |
2、具体的代码实现
第一步:数据库的存储过程
if @Type='SeserveEdit_Load_BindingdgvProject'--预留窗体的加载事件里边查询项目信息
begin
SELECT ProjectID, RTRIM(SortNumber) AS SortNumber, RTRIM(ProjectName) AS ProjectName
FROM SYS_ProjectInformation
end
if @Type='SeserveEdit_Load_BindingdgvCustomer'--预留窗体的加载事件里边查询客户信息
begin
SELECT ClientID, RTRIM(ClientName) AS ClientName, RTRIM(RelationPhone) AS RelationPhone, Gender AS 性别,
CommunicationAddress, ClientNumber, IDentityCard, Postcode,
HomeBuyerConsultantID
FROM PW_ClientInformation
where ClientID=@ClientID
end
if @Type='dgvProject_CellMouseDoubleClick_BindingcboFloorNumber'--查询某一项目的楼栋信息
begin
SELECT FloorID, rtrim(FloorName) as FloorName
FROM SYS_FloorInformation
where SYS_FloorInformation.ProjectID=@ProjectID
end
if @Type='cboFloorNumber_SelectionChangeCommitted_BindingcboUnitNumber'--查询房源
begin
SELECT RoomResourcesID, rtrim(Number) as Number
FROM SYS_RoomResources
where SYS_RoomResources.FloorID=@FloorID and SYS_RoomResources.SalesStatusID=102
end
if @Type='SeserveEdit_Load_BindingcboHomeBuyersConsultant'--查询置业顾问
begin
SELECT StaffID, rtrim(StaffName) as StaffName
FROM SYS_Staff
end
if @Type='cboUnitNumber_SelectionChangeCommitted_SelectPrivateArea'--查询某一个房源的面积
begin
SELECT rtrim(PricateArea) as PricateArea
FROM SYS_RoomResources
where SYS_RoomResources.RoomResourcesID=@RoomResourcesID
end
if @Type='btnSaveAndInsert_Click_Insert'--新增方法
begin
begin tran
INSERT INTO PW_SeserveUnit
(ClientID, FloorID, UnitNumberID, RoomNumeral, PresalseArea, SeservationUnitPrice, BookingSeservationPrice, AccountsReceivableBookingGoid, SeservatingDate, ValidDate, BriefNote)
VALUES (@ClientID, @FloorID, @UnitNumberID, @RoomNumeral, @PresalseArea, @SeservationUnitPrice, @BookingSeservationPrice, @AccountsReceivableBookingGoid, @SeservatingDate, @ValidDate, @BriefNote)
select @@IDENTITY
commit tran
end
if @Type='btnSaveAndInsert_Click_UpdateRoomStatus'--修改房源的状态
begin
UPDATE SYS_RoomResources
SET SalesStatusID = 98
where SYS_RoomResources.RoomResourcesID=@RoomResourcesID
UPDATE PW_ClientConfessToRaise
SET ToSeserve = 1 , SeserveID =@SeserveID
where PW_ClientConfessToRaise.ClientConfessToRaiseID=@ClientConfessToRaiseID
end
if @Type='SeserveEdit_Load_UpdateLoad'--修改界面加载的时候查询要绑定的相关数据
begin
SELECT PW_SeserveUnit.SeserveUnitID, PW_ClientInformation.ClientID, PW_ClientInformation.HomeBuyerConsultantID, PW_SeserveUnit.FloorID, PW_SeserveUnit.UnitNumberID,
rtrim(PW_SeserveUnit.RoomNumeral) as RoomNumeral, rtrim(PW_SeserveUnit.PresalseArea) as PresalseArea, rtrim(PW_SeserveUnit.SeservationUnitPrice) as SeservationUnitPrice, rtrim(PW_SeserveUnit.BookingSeservationPrice) as BookingSeservationPrice,
rtrim(PW_SeserveUnit.AccountsReceivableBookingGoid) as AccountsReceivableBookingGoid, PW_SeserveUnit.SeservatingDate, PW_SeserveUnit.ValidDate, rtrim(PW_SeserveUnit.BriefNote) as BriefNote, SYS_RoomResources.RoomResourcesID,
SYS_FloorInformation.ProjectID, rtrim(SYS_ProjectInformation.ProjectName) as ProjectName, rtrim(PW_ClientConfessToRaise.Note) as Note, rtrim(PW_ClientConfessToRaise.IntentionUnitInstructions) as IntentionUnitInstructions,
PW_ClientConfessToRaise.ClientConfessToRaiseID
FROM PW_SeserveUnit INNER JOIN
PW_ClientConfessToRaise ON PW_SeserveUnit.SeserveUnitID = PW_ClientConfessToRaise.SeserveID INNER JOIN
PW_ClientInformation ON PW_SeserveUnit.ClientID = PW_ClientInformation.ClientID INNER JOIN
SYS_RoomResources ON PW_SeserveUnit.UnitNumberID = SYS_RoomResources.RoomResourcesID INNER JOIN
SYS_FloorInformation ON PW_SeserveUnit.FloorID = SYS_FloorInformation.FloorID INNER JOIN
SYS_ProjectInformation ON SYS_FloorInformation.ProjectID = SYS_ProjectInformation.ProjectID
where PW_SeserveUnit.SeserveUnitID=@SeserveUnitID
end
if @Type='btnSaveAndUpdate_Click_UpdateOldSeserve'--修改预留的房源
begin
UPDATE PW_SeserveUnit
SET NewSeserveUnitID = @NewSeserveUnitID , IncalidOr =1
where PW_SeserveUnit.SeserveUnitID=@SeserveUnitID
end
if @Type='btnSaveAndUpdate_Click_UpdateOldRoomStatus'--修改原房源的销售状态
begin
UPDATE SYS_RoomResources
SET SalesStatusID = 102
where SYS_RoomResources.RoomResourcesID=@RoomResourcesID
第二步:逻辑层(BLL)的具体代码
[ServiceContract]
public class frmMarketManagement_ConfessToRaiseManagement_SeserveEdit
{
DALPublic.DALPublic myDALPublic = new DALPublic.DALPublic();
[OperationContract]
#region 绑定dgvProject
public DataSet SeserveEdit_Load_BindingdgvProject()
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
};
SQLCMDpas[0].Value = "SeserveEdit_Load_BindingdgvProject";
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_SeserveEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 条件绑定客户信息
public DataSet SeserveEdit_Load_BindingdgvCustomer(int intClientID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@ClientID", SqlDbType.Char),
};
SQLCMDpas[0].Value = "SeserveEdit_Load_BindingdgvCustomer";
SQLCMDpas[1].Value = intClientID;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_SeserveEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 条件绑定cbo楼栋
public DataSet dgvProject_CellMouseDoubleClick_BindingcboFloorNumber(int intProjectID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@ProjectID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "dgvProject_CellMouseDoubleClick_BindingcboFloorNumber";
SQLCMDpas[1].Value = intProjectID;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_SeserveEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 条件绑定cbo单元
public DataSet cboFloorNumber_SelectionChangeCommitted_BindingcboUnitNumber(int intFloorID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@FloorID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "cboFloorNumber_SelectionChangeCommitted_BindingcboUnitNumber";
SQLCMDpas[1].Value = intFloorID;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_SeserveEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 条件绑定cbo置业顾问
public DataSet SeserveEdit_Load_BindingcboHomeBuyersConsultant()
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
};
SQLCMDpas[0].Value = "SeserveEdit_Load_BindingcboHomeBuyersConsultant";
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_SeserveEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 绑定预售面积
public DataSet cboUnitNumber_SelectionChangeCommitted_SelectPrivateArea(int intRoomResourcesID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@RoomResourcesID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "cboUnitNumber_SelectionChangeCommitted_SelectPrivateArea";
SQLCMDpas[1].Value = intRoomResourcesID;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_SeserveEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 新增预留信息
public DataSet btnSaveAndInsert_Click_Insert(int intClientID, int intFloorID, int intUnitNumberID, string strRoomNumeral, decimal decPresalseArea, decimal decSeservationUnitPrice, decimal decBookingSeservationPrice, decimal decAccountsReceivableBookingGoid, DateTime dtmSeservatingDate,DateTime dtmValidDate, string strBriefNote)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@ClientID", SqlDbType.Int),
new SqlParameter("@FloorID", SqlDbType.Int),
new SqlParameter("@UnitNumberID", SqlDbType.Int),
new SqlParameter("@RoomNumeral", SqlDbType.Char),
new SqlParameter("@PresalseArea", SqlDbType.Decimal),
new SqlParameter("@SeservationUnitPrice", SqlDbType.Decimal),
new SqlParameter("@BookingSeservationPrice", SqlDbType.Decimal),
new SqlParameter("@AccountsReceivableBookingGoid", SqlDbType.Decimal),
new SqlParameter("@SeservatingDate", SqlDbType.DateTime),
new SqlParameter("@ValidDate", SqlDbType.DateTime),
new SqlParameter("@BriefNote", SqlDbType.Char),
};
SQLCMDpas[0].Value = "btnSaveAndInsert_Click_Insert";
SQLCMDpas[1].Value = intClientID;
SQLCMDpas[2].Value = intFloorID;
SQLCMDpas[3].Value = intUnitNumberID;
SQLCMDpas[4].Value = strRoomNumeral;
SQLCMDpas[5].Value = decPresalseArea;
SQLCMDpas[6].Value = decSeservationUnitPrice;
SQLCMDpas[7].Value = decBookingSeservationPrice;
SQLCMDpas[8].Value = decAccountsReceivableBookingGoid;
SQLCMDpas[9].Value = dtmSeservatingDate;
SQLCMDpas[10].Value = dtmValidDate;
SQLCMDpas[11].Value = strBriefNote;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_SeserveEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 修改房间状态
public int btnSaveAndInsert_Click_UpdateRoomStatus(int intRoomResourcesID,int intSeserveID,int intClientConfessToRaiseID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@RoomResourcesID", SqlDbType.Int),
new SqlParameter("@SeserveID", SqlDbType.Int),
new SqlParameter("@ClientConfessToRaiseID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "btnSaveAndInsert_Click_UpdateRoomStatus";
SQLCMDpas[1].Value = intRoomResourcesID;
SQLCMDpas[2].Value = intSeserveID;
SQLCMDpas[3].Value = intClientConfessToRaiseID;
return myDALPublic.DAL_OPTableDB_Par("frmMarketManagement_ConfessToRaiseManagement_SeserveEdit", SQLCMDpas);
}
#endregion
[OperationContract]
#region 修改时绑定预留信息
public DataSet SeserveEdit_Load_UpdateLoad(int intSeserveUnitID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@SeserveUnitID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "SeserveEdit_Load_UpdateLoad";
SQLCMDpas[1].Value = intSeserveUnitID;
DataTable myDataTable = myDALPublic.DAL_SelectDB_Par("frmMarketManagement_ConfessToRaiseManagement_SeserveEdit", SQLCMDpas);
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myDataTable);
return myDataSet;
}
#endregion
[OperationContract]
#region 修改旧的预留信息
public int btnSaveAndUpdate_Click_UpdateOldSeserve(int intNewSeserveUnitID, int intSeserveUnitID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@NewSeserveUnitID", SqlDbType.Int),
new SqlParameter("@SeserveUnitID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "btnSaveAndUpdate_Click_UpdateOldSeserve";
SQLCMDpas[1].Value = intNewSeserveUnitID;
SQLCMDpas[2].Value = intSeserveUnitID;
return myDALPublic.DAL_OPTableDB_Par("frmMarketManagement_ConfessToRaiseManagement_SeserveEdit", SQLCMDpas);
}
#endregion
[OperationContract]
#region 修改旧预留房间的状态
public int btnSaveAndUpdate_Click_UpdateOldRoomStatus(int intRoomResourcesID)
{
SqlParameter[] SQLCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@RoomResourcesID", SqlDbType.Int),
};
SQLCMDpas[0].Value = "btnSaveAndUpdate_Click_UpdateOldRoomStatus";
SQLCMDpas[1].Value = intRoomResourcesID;
return myDALPublic.DAL_OPTableDB_Par("frmMarketManagement_ConfessToRaiseManagement_SeserveEdit", SQLCMDpas);
}
#endregion
}
第三步:界面层(UIL)的相关事件域代码
public partial class frmMarketManagement_ConfessToRaiseManagement_SeserveEdit : Form
{
frmMarketManagement_ConfessToRaiseManagement Frm;
public frmMarketManagement_ConfessToRaiseManagement_SeserveEdit(frmMarketManagement_ConfessToRaiseManagement frm)//窗体传值
{
Frm = frm;
InitializeComponent();
}
int intOldID = 0;
public frmMarketManagement_ConfessToRaiseManagement_SeserveEdit(frmMarketManagement_ConfessToRaiseManagement frm,int intOldSeserveID)
{
Frm = frm;
intOldID = intOldSeserveID;
InitializeComponent();
}
BLL新锐房地产销售系统.MarketManagement.frmMarketManagement_ConfessToRaiseManagement_SeserveEdit.frmMarketManagement_ConfessToRaiseManagement_SeserveEditClient myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient = new BLL新锐房地产销售系统.MarketManagement.frmMarketManagement_ConfessToRaiseManagement_SeserveEdit.frmMarketManagement_ConfessToRaiseManagement_SeserveEditClient();
int intCustomID = 0;
int intCustomerConfessToRaiseID = 0;
private void frmMarketManagement_ConfessToRaiseManagement_SeserveEdit_Load(object sender, EventArgs e)//窗体加载的事件
{
DataTable dtProject = myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.SeserveEdit_Load_BindingdgvProject().Tables[0];
dgvProject.DataSource = dtProject;
DataView dv = new DataView(dtProject);
dv.RowFilter = " ProjectID = " + Frm.intConditionProjectID;
DataTable dt = dv.ToTable();
txtProjectName.Text = dt.Rows[0]["ProjectName"].ToString().Trim();
BindingcboFloorNumber(Frm.intConditionProjectID);
DataTable dtHomeBuyersConsultant = myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.SeserveEdit_Load_BindingcboHomeBuyersConsultant().Tables[0];
PublicMethod.SettingComboBox(cboHomeBuyersConsultant, dtHomeBuyersConsultant, "StaffID", "StaffName");
txtIntentionUnitInstructions.Text = Frm.strIntentionUnitInstructions;
txtConfessToRaiseNote.Text = Frm.strConfessToRaiseNote;
intCustomID = Frm.intCustomerID;
txtProjectName.Focus();
if (intOldID != 0)
{
SeserveUpdate_Load(intOldID);
}
else
{
intCustomerConfessToRaiseID = Frm.intConfessToRaiseID;
DataTable dtCustomer = myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.SeserveEdit_Load_BindingdgvCustomer(intCustomID).Tables[0];
BinddingCustomerMsg(dtCustomer);
}
}
int intOldRoomResourceID = 0;
void SeserveUpdate_Load(int intSeserveID)//预留修改的加载事件
{
btnSaveAndInsert.Enabled = false;
btnSaveAndUpdate.Enabled = true;
DataTable dtOldSeserve = myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.SeserveEdit_Load_UpdateLoad(intSeserveID).Tables[0];
intCustomID = (int)dtOldSeserve.Rows[0]["ClientID"];
intCustomerConfessToRaiseID = (int)dtOldSeserve.Rows[0]["ClientConfessToRaiseID"];
DataTable dtCustomer = myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.SeserveEdit_Load_BindingdgvCustomer(intCustomID).Tables[0];
BinddingCustomerMsg(dtCustomer);
intProjectID = (int)dtOldSeserve.Rows[0]["ProjectID"];
txtProjectName.Text = dtOldSeserve.Rows[0]["ProjectName"].ToString().Trim();
DataTable dtFloor = myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.dgvProject_CellMouseDoubleClick_BindingcboFloorNumber(intProjectID).Tables[0];
PublicMethod.SettingComboBox(cboFloorNumber, dtFloor, "FloorID", "FloorName");
intFloorID = (int)dtOldSeserve.Rows[0]["FloorID"];
DataTable dtUnit = myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.cboFloorNumber_SelectionChangeCommitted_BindingcboUnitNumber(intFloorID).Tables[0];
PublicMethod.SettingComboBox(cboUnitNumber, dtUnit, "RoomResourcesID", "Number");
intOldRoomResourceID = (int)dtOldSeserve.Rows[0]["RoomResourcesID"];
DataTable dtRoomMsg = myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.cboUnitNumber_SelectionChangeCommitted_SelectPrivateArea(intOldRoomResourceID).Tables[0];
txtPresaleArea.Text = dtRoomMsg.Rows[0][0].ToString().Trim();
txtRoomNumeral.Text = dtOldSeserve.Rows[0]["RoomNumeral"].ToString().Trim();
txtSeserveUnitPrice.Text = dtOldSeserve.Rows[0]["SeservationUnitPrice"].ToString().Trim();
txtSeservePrice.Text = dtOldSeserve.Rows[0]["BookingSeservationPrice"].ToString().Trim();
txtAccountsreceivablebookinggold.Text = dtOldSeserve.Rows[0]["AccountsReceivableBookingGoid"].ToString().Trim();
dtpSeserveDate.Value = Convert.ToDateTime(dtOldSeserve.Rows[0]["SeservatingDate"]);
dtpEffectivedate.Value = Convert.ToDateTime(dtOldSeserve.Rows[0]["ValidDate"]);
cboHomeBuyersConsultant.SelectedValue = (int)dtOldSeserve.Rows[0]["HomeBuyerConsultantID"];
txtBriefNotes.Text = dtOldSeserve.Rows[0]["BriefNote"].ToString().Trim();
txtConfessToRaiseNote.Text = dtOldSeserve.Rows[0]["Note"].ToString().Trim();
txtIntentionUnitInstructions.Text = dtOldSeserve.Rows[0]["IntentionUnitInstructions"].ToString().Trim();
}
void BinddingCustomerMsg(DataTable dt)//绑定客户信息的构造函数
{
txtClientName.Text = dt.Rows[0]["ClientName"].ToString().Trim();
txtTelephoneNumber.Text = dt.Rows[0]["RelationPhone"].ToString().Trim();
txtCorrespondenceAddress.Text = dt.Rows[0]["CommunicationAddress"].ToString().Trim();
txtClientNumber.Text = dt.Rows[0]["ClientNumber"].ToString().Trim();
txtIDNumber.Text = dt.Rows[0]["IDentityCard"].ToString().Trim();
txtZipCode.Text = dt.Rows[0]["Postcode"].ToString().Trim();
cboHomeBuyersConsultant.SelectedValue = Convert.ToInt32(dt.Rows[0]["HomeBuyerConsultantID"].ToString().Trim());
}
private void dgvProject_MouseLeave(object sender, EventArgs e)//dgvProject的鼠标离开事件
{
dgvProject.Visible = false;
}
private void btnSelectProject_Click(object sender, EventArgs e)//按钮选择的点击事件
{
dgvProject.Visible = true;//设置dgvProject的可见性
}
int intProjectID = 0;
private void dgvProject_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
BindingcboFloorNumber(intProjectID);
txtProjectName.Text = dgvProject.CurrentRow.Cells["项目名称"].Value.ToString().Trim();
dgvProject.Visible = false;
}
void BindingcboFloorNumber(int ProjectID)//绑定楼栋编号的构造函数
{
DataTable dtFloor = myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.dgvProject_CellMouseDoubleClick_BindingcboFloorNumber(ProjectID).Tables[0];
PublicMethod.SettingComboBox(cboFloorNumber, dtFloor, "FloorID", "FloorName");
}
int intFloorID = 0;
private void cboFloorNumber_SelectionChangeCommitted(object sender, EventArgs e)//当cbo选定某项后下拉框列表关闭后发生
{
intFloorID = (int)cboFloorNumber.SelectedValue;
DataTable dtUnit = myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.cboFloorNumber_SelectionChangeCommitted_BindingcboUnitNumber(intFloorID).Tables[0];
PublicMethod.SettingComboBox(cboUnitNumber, dtUnit, "RoomResourcesID", "Number");//绑定cboUnitNumber
}
int intRoomResourceID = 0;
private void cboUnitNumber_SelectionChangeCommitted(object sender, EventArgs e)
{
intRoomResourceID = (int)cboUnitNumber.SelectedValue;
DataTable dtRoomMsg = myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.cboUnitNumber_SelectionChangeCommitted_SelectPrivateArea(intRoomResourceID).Tables[0];
txtPresaleArea.Text = dtRoomMsg.Rows[0][0].ToString().Trim();
}
private void btnSaveAndInsert_Click(object sender, EventArgs e)//保存新增的按钮事件
{
string strRoomNumeral = txtRoomNumeral.Text.ToString();
decimal decPresalseArea = Convert.ToDecimal(txtPresaleArea.Text);
decimal decSeservationUnitPrice = Convert.ToDecimal(txtSeserveUnitPrice.Text);
decimal decBookingSeservationPrice = Convert.ToDecimal(txtSeservePrice.Text);
decimal decAccountsReceivableBookingGoid = Convert.ToDecimal(txtAccountsreceivablebookinggold.Text);
DateTime dtmSeservatingDate = dtpSeserveDate.Value;
DateTime dtmValidDate = dtpEffectivedate.Value;
string strBriefNote = txtBriefNotes.Text.ToString();
int intSeserve =Convert.ToInt32(myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.btnSaveAndInsert_Click_Insert(intCustomID, intFloorID, intRoomResourceID, strRoomNumeral, decPresalseArea, decSeservationUnitPrice, decBookingSeservationPrice, decAccountsReceivableBookingGoid, dtmSeservatingDate, dtmValidDate, strBriefNote).Tables[0].Rows[0][0]);
if (intSeserve > 0)
{
DateTime dtmOperatingTime = DateTime.Now;
PublicMethod.Pub_InsertSalesOfServiceFloowDetail("添加预留信息", intRoomResourceID, 0, 0, 0, 0, 0, dtmOperatingTime, 1, 150);
myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.btnSaveAndInsert_Click_UpdateRoomStatus(intRoomResourceID, intSeserve, intCustomerConfessToRaiseID);//修改房间状态
MessageBox.Show("添加预留成功!!!","提示");
this.Close();
}
}
private void txtSeserveUnitPrice_KeyPress(object sender, KeyPressEventArgs e)
{
PublicMethod.pubPriceOrRate_KeyPress(sender, e);//写在静态类里边的限制输入方法,在这里是直接调用
}
private void txtSeservePrice_KeyPress(object sender, KeyPressEventArgs e)
{
PublicMethod.pubPriceOrRate_KeyPress(sender, e);
}
private void txtAccountsreceivablebookinggold_KeyPress(object sender, KeyPressEventArgs e)
{
PublicMethod.pubPriceOrRate_KeyPress(sender, e);
}
private void btnSaveAndUpdate_Click(object sender, EventArgs e)//保存修改单击事件
{
intRoomResourceID = (int)cboUnitNumber.SelectedValue;
string strRoomNumeral = txtRoomNumeral.Text.ToString();
decimal decPresalseArea = Convert.ToDecimal(txtPresaleArea.Text);
decimal decSeservationUnitPrice = Convert.ToDecimal(txtSeserveUnitPrice.Text);
decimal decBookingSeservationPrice = Convert.ToDecimal(txtSeservePrice.Text);
decimal decAccountsReceivableBookingGoid = Convert.ToDecimal(txtAccountsreceivablebookinggold.Text);
DateTime dtmSeservatingDate = dtpSeserveDate.Value;
DateTime dtmValidDate = dtpEffectivedate.Value;
string strBriefNote = txtBriefNotes.Text.ToString();
int intSeserve = Convert.ToInt32(myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.btnSaveAndInsert_Click_Insert(intCustomID, intFloorID, intRoomResourceID, strRoomNumeral, decPresalseArea, decSeservationUnitPrice, decBookingSeservationPrice, decAccountsReceivableBookingGoid, dtmSeservatingDate, dtmValidDate, strBriefNote).Tables[0].Rows[0][0]);
if (intSeserve > 0)
{
DateTime dtmOperatingTime = DateTime.Now;
if (intRoomResourceID != intOldRoomResourceID)
{
myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.btnSaveAndUpdate_Click_UpdateOldRoomStatus(intOldRoomResourceID);
PublicMethod.Pub_InsertSalesOfServiceFloowDetail("修改预留信息--被更换", intOldRoomResourceID, 0, 0, 0, 0, 0, dtmOperatingTime, 1, 151);//新增销售关键记录
}
PublicMethod.Pub_InsertClientEventRecord(intCustomID, dtmOperatingTime, "修改预留", "修改预留房源信息");//在修改成功后新增操作记录
PublicMethod.Pub_InsertSalesOfServiceFloowDetail("修改预留信息", intRoomResourceID, 0, 0, 0, 0, 0, dtmOperatingTime, 1, 151);//新增销售关键步骤的记录
myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.btnSaveAndUpdate_Click_UpdateOldSeserve(intSeserve,intOldID);
myfrmMarketManagement_ConfessToRaiseManagement_SeserveEditClient.btnSaveAndInsert_Click_UpdateRoomStatus(intRoomResourceID, intSeserve, intCustomerConfessToRaiseID);//修改房间状态
MessageBox.Show("修改预留成功!!!", "提示");//提示框
this.Close();
}
}