预约失败
预约失败实现作废预约单的功能,插入失败所要记录的信息,改变单据状态。点击预约管理的主界面中的【预约失败】弹出【预约失败】界面。见下图:
从预约失败界面可以看到有控件:
控件 |
说明 |
文本框(TextBox) |
控件可以在工具箱直接拖动至窗体,拖至窗体后右击属性可以修改控件的样式和各种属性,还可以编辑事件。 |
按钮(Button) |
1、数据库功能实现
第一步:数据库
1、表和关系
表1、预约单表(PW_BespeakBillList)
列名 |
数据类型 |
主键/外键 |
说明 |
BespeakBillID |
int – Identity |
主键 |
预约单ID |
BespeakOddNumBer |
nchar (20) |
预约单号 |
|
CarNewsID |
int |
外键 |
车辆信息表,车辆信息ID |
BespeakTime |
datetime |
预约时间 |
|
AttributeMinuteID_BespeakWay |
int |
外键 |
属性明细表,属性明细ID_预约方式 |
BespeakMileage |
decimal (18, 2) |
预约里程 |
|
BespeakStatus |
nchar (20) |
预约状态 |
|
Gross |
decimal (18, 2) |
总计金额 |
|
FailCause |
nchar (100) |
失败原因 |
|
StaffID_HearPersons |
int |
外键 |
员工档案表,员工ID_受理人 |
StaffID_Receiver |
int |
外键 |
员工档案表,员工ID_接待人 |
LastTimeInTheFactory |
nchar (20) |
上次进厂时间 |
|
IfBespeakSucceed |
bit |
预约成功否 |
|
StaffID_AlterationPerson |
nchar (20) |
外键 |
员工档案表,员工ID_变更人 |
BookingCarDeliveryTime |
nchar (20) |
预约交车时间 |
|
BespeakWarnTime |
nchar (20) |
预约提醒时间 |
|
ServiceOddNumber |
nchar (20) |
外键 |
维修单表,维修单号 |
NewBespeakOddlNumber |
nchar (20) |
新预约单号 |
|
OldBespeakOddNumber |
nchar (20) |
旧预约单号 |
|
AlterationTime |
nchar (20) |
变更时间 |
|
AlterationCauses |
nchar (100) |
变更原因 |
|
ClientDescribe |
nchar (100) |
客户描述 |
|
Remarks |
nchar (100) |
备注 |
|
IfResourceRelease |
bit |
资源释放否 |
2、功能实现
1、作废预约单
第一步:数据库存储过程
IF(@TYPE='FRM_YuYueGuanLi_btnHeZhun_Click_YuYueShiBai')
BEGIN
UPDATE PW_BespeakBillList
SET IfEffective=@IfEffective, FailCause=@FailCause
WHERE PW_BespeakBillList.BespeakBillID=@BespeakBillID
END
第二步:逻辑层(BLL)
//作废预约单,插入失败原因、改变单据状态
[OperationContract]public int FRM_YuYueGuanLi_btnHeZhun_Click_YuYueShiBai(bool boolYouXiaoFou, string strShiBaiYuanYin, int intYuYueDanHaoID){SqlParameter[] mySqlParameters ={
//作废预约单所用到的参数new SqlParameter("@TYPE",SqlDbType.Char),new SqlParameter("@IfEffective",SqlDbType.Bit),new SqlParameter("@FailCause",SqlDbType.NChar),new SqlParameter("@BespeakBillID",SqlDbType.Int)};mySqlParameters[0].Value = "FRM_YuYueGuanLi_btnHeZhun_Click_YuYueShiBai";mySqlParameters[1].Value = boolYouXiaoFou;mySqlParameters[2].Value = strShiBaiYuanYin;mySqlParameters[3].Value = intYuYueDanHaoID;return myDALMethod.UpdateData("预约管理_FRM_YuYueGuanLi", mySqlParameters);
//如果返回值为1就是正常的,小于0就是异常的了。}
第三步:界面层(UIL),点击“确定”按钮。
BLL海马汽车销售系统.预约管理.FRM_YuYueGuanLi.FRM_YuYueGuanLiClient myFRM_YuYueGuanLiClient = new BLL海马汽车销售系统.预约管理.FRM_YuYueGuanLi.FRM_YuYueGuanLiClient();
private void btnQueDing_Click(object sender, EventArgs e){if (txtFailCause.Text.Trim() == "")//如果失败原因不为空{MessageBox.Show("请填写失败原因!");}//给各个变量赋值bool blnYouXiaoFou=true;string strShiBaiYuanYin = txtFailCause.Text;int intYuYueDanHaoID = FRM_YuYueGuanLi.intYuYueDanID;
//保存预约失败所需要插入的信息和要修改的信息到数据库int i=myFRM_YuYueGuanLiClient.FRM_YuYueGuanLi_btnHeZhun_Click_YuYueShiBai(blnYouXiaoFou,strShiBaiYuanYin,intYuYueDanHaoID);
//提示对话框,如果点击【是】if (MessageBox.Show("原预约单‘"+ FRM_YuYueGuanLi.strYuYueDanHao +"’所占用资源已释放", "HaiMa", MessageBoxButtons.OK) == DialogResult.OK){FRM_YuYueGuanLi_Update myFRM_YuYueGuanLi_Update = new FRM_YuYueGuanLi_Update();myFRM_YuYueGuanLi_Update.ShowDialog();//显示界面}this.Close();//关闭当前窗体}
以上仅供学习参考,禁止用于商业用途!!!