出厂
出厂是对需要出厂而且已结算的车辆进行出厂记录。
点击【定位】,弹出dgv(维修工单)。见下图:
点击【出厂】按钮,弹出【出厂操作框】,见下图:
完成出厂。见下图:
1、数据库功能实现
第一步:数据库
1、表和关系
表1、维修工单表(PW_ServiceWorkBillList)
列名 |
数据类型 |
主键/外键 |
说明 |
ServiceWorkBillID |
int - Identity |
主键 |
维修工单ID |
WorkOddNumBer |
nchar (20) |
|
维修工单号 |
BespeakBillID |
int |
外键 |
预约单表,预约单ID |
CarNewsID |
int |
外键 |
车辆信息表,车辆信息ID |
EntranceMileage |
decimal (18, 2) |
|
进厂里程 |
BusinessSort |
nchar (20) |
|
业务类别 |
EntranceTime |
datetime |
|
进厂时间 |
CarryRepairPerson |
nchar (20) |
|
送修人 |
SurplusOilVolume |
decimal (18, 2) |
|
剩余油量 |
PlanGathering |
decimal (18, 2) |
|
预收款 |
BookingCarDeliveryTime |
nchar (20) |
|
预计交车时间 |
LastTimeInTheFactory |
nchar (20) |
|
上次进厂时间 |
BespeakOddNumBer |
nchar (20) |
|
预约单号 |
MemberSort |
nchar (20) |
|
会员类别 |
ServiceAdviser_StaffID |
int |
外键 |
员工表,员工ID_服务顾问 |
InsureCompanyID |
nchar (20) |
|
保险公司ID |
AttributeMinuteID_CarStatus |
int |
外键 |
属性明细表,属性明细ID_车辆状态 |
IfWashCar |
bit |
|
海马汽车否 |
OldPieceDispose |
nchar (20) |
|
旧件处理 |
InspectRecord |
nchar (100) |
|
环检记录 |
ClientDescribe |
nchar (100) |
|
顾客陈述 |
Remarks |
nchar (100) |
|
备注 |
IfBespeak |
bit |
|
预约否 |
IfDebt |
bit |
|
欠款否 |
IfResourceRelease |
bit |
|
资源释放否 |
表2、维修回访意向表(PW_ServiceReturnVisitIntentionList)
列名 |
数据类型 |
主键/外键 |
说明 |
ReturnVisitIntentionID |
int - Identity |
主键 |
回访意向ID |
ServiceWorkBillID |
int |
外键 |
维修工单表,维修工单ID |
BusinessSort |
nchar (20) |
|
业务类别 |
IfAcceptReturnVisit |
bit |
|
愿意回访否 |
LeaveFactoryDate |
datetime |
|
出厂时间 |
AttributeMinuteID_ReturnVisitWay |
int |
外键 |
属性明细表,属性明细ID_回访方式 |
ReturnVisitTime |
datetime |
|
回访时间 |
LeaveFactoryMileage |
decimal (18, 2) |
|
出厂里程 |
功能实现
1、【出厂操作框】界面,【确定】按钮点击事件。
第一步:数据库存储过程
IF(@TYPE='FRM_ChuChang_ChuChang_btnConfirm_Click')
BEGIN
INSERT PW_ServiceReturnVisitIntentionList(ServiceWorkBillID, BusinessSort, IfAcceptReturnVisit,
ReturnVisitTime, AttributeMinuteID_ReturnVisitWay, LeaveFactoryMileage,LeaveFactoryDate)
VALUES (@ServiceWorkBillID, @BusinessSort, @IfAcceptReturnVisit,
@ReturnVisitTime, @AttributeMinuteID_ReturnVisitWay, @LeaveFactoryMileage,@LeaveFactoryDate)
END
IF(@TYPE='FRM_ChuChang_ChuChang_btnConfirm_ClickUpdateCarStatus')
BEGIN
UPDATE PW_ServiceWorkBillList
SET AttributeMinuteID_CarStatus =84
WHERE ServiceWorkBillID=@ServiceWorkBillID
END
IF(@TYPE='FRM_ChuChang_ChuChang_UpdateServiceWorkBillList')
BEGIN
UPDATE PW_ServiceWorkBillList
SET IfResourceRelease=1
WHERE ServiceWorkBillID=@ServiceWorkBillID
END
第二步:逻辑层(BLL)
//保存回访意向信息
[OperationContract]
public int FRM_ChuChang_ChuChang_btnConfirm_Click(int intServiceWorkBillID, string strBusinessSort, bool blnIfAcceptReturnVisit, DateTime DtmReturnVisitTime,
int intReturnVisitWay, decimal decLeaveFactoryMileage, DateTime dtmLeaveFactoryDate)
{
SqlParameter[] mySqlParameters =
{
new SqlParameter("@TYPE",SqlDbType.Char),
new SqlParameter("@ServiceWorkBillID",SqlDbType.Int),
new SqlParameter("@BusinessSort",SqlDbType.NChar),
new SqlParameter("@IfAcceptReturnVisit",SqlDbType.Bit),
new SqlParameter("@ReturnVisitTime",SqlDbType.DateTime),
new SqlParameter("@AttributeMinuteID_ReturnVisitWay",SqlDbType.Int),
new SqlParameter("@LeaveFactoryMileage",SqlDbType.Decimal),
new SqlParameter("@LeaveFactoryDate",SqlDbType.DateTime),
};
mySqlParameters[0].Value = "FRM_ChuChang_ChuChang_btnConfirm_Click";
mySqlParameters[1].Value =intServiceWorkBillID;
mySqlParameters[2].Value =strBusinessSort;
mySqlParameters[3].Value =blnIfAcceptReturnVisit;
mySqlParameters[4].Value =DtmReturnVisitTime;
mySqlParameters[5].Value =intReturnVisitWay;
mySqlParameters[6].Value =decLeaveFactoryMileage;
mySqlParameters[7].Value = dtmLeaveFactoryDate;
return myDALMethod.UpdateData("前台接待_FRM_ChuChang", mySqlParameters); //返回值为1
}
[OperationContract]
//修改车辆状态
public int FRM_ChuChang_ChuChang_btnConfirm_ClickUpdateCarStatus(int intServiceWorkBillID)
{
SqlParameter[] mySqlParameters =
{
new SqlParameter("@TYPE",SqlDbType.Char),
new SqlParameter("@ServiceWorkBillID",SqlDbType.Int),
};
mySqlParameters[0].Value = "FRM_ChuChang_ChuChang_btnConfirm_ClickUpdateCarStatus";
mySqlParameters[1].Value = intServiceWorkBillID;
return myDALMethod.UpdateData("前台接待_FRM_ChuChang", mySqlParameters);
//返回值为1
}
//修改维修工单状态
[OperationContract]
public int FRM_ChuChang_ChuChang_UpdateServiceWorkBillList(int intServiceWorkBillID)
{
SqlParameter[] mySqlParameters =
{
new SqlParameter("@TYPE",SqlDbType.Char),
new SqlParameter("@ServiceWorkBillID",SqlDbType.Int),
};
mySqlParameters[0].Value = "FRM_ChuChang_ChuChang_UpdateServiceWorkBillList";
mySqlParameters[1].Value = intServiceWorkBillID;
return myDALMethod.UpdateData("前台接待_FRM_ChuChang", mySqlParameters);
//返回值为1
}
第三步:界面层(UIL)
BLL海马汽车销售系统.前台接待.FRM_QianTaiJieDai_ChuChang.FRM_QianTaiJieDai_ChuChangClient myFRM_QianTaiJieDai_ChuChangClient =
new BLL海马汽车销售系统.前台接待.FRM_QianTaiJieDai_ChuChang.FRM_QianTaiJieDai_ChuChangClient();
private void btnConfirm_Click(object sender, EventArgs e)
{
int intServiceReturnVisitIntention = 0;
int Update = 0;
int intUpdateServiceWorkBill=0;
//提示对话框,如果点击【是】
if (MessageBox.Show("确定出厂?", "提醒", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
//给各个参数赋值
int intServiceWorkBillID = FRM_ChuChang.ServiceWorkBillID;
string strBusinessSort = "";
bool blnIfAcceptReturnVisit = chkIfAcceptReturnVisit.Checked;
DateTime DtmReturnVisitTime = dtpReturnVisitTime.Value;
int intReturnVisitWay = Convert.ToInt32(cboReturnVisitWay.SelectedValue);
decimal decLeaveFactoryMileage = Convert.ToDecimal(txtLeaveFactoryMileage.Text);
DateTime dtmLeaveFactoryDate = dtpLeaveFactoryDate.Value;
//调用方法把回访意向保存进数据库
intServiceReturnVisitIntention = myFRM_QianTaiJieDai_ChuChangClient.FRM_ChuChang_ChuChang_btnConfirm_Click(intServiceWorkBillID, strBusinessSort,
blnIfAcceptReturnVisit, DtmReturnVisitTime, intReturnVisitWay, decLeaveFactoryMileage,dtmLeaveFactoryDate);
//调用方法修改维修工单的【车辆状态】
Update = myFRM_QianTaiJieDai_ChuChangClient.FRM_ChuChang_ChuChang_btnConfirm_ClickUpdateCarStatus(intServiceWorkBillID);
//调用方法修改维修工单的【释放否】
intUpdateServiceWorkBill=myFRM_QianTaiJieDai_ChuChangClient.FRM_ChuChang_ChuChang_UpdateServiceWorkBillList(intServiceWorkBillID);
}
if (intServiceReturnVisitIntention > 0 && Update > 0)//如果方法调用成功
{
MessageBox.Show("出厂成功!");
}
this.Close();//关闭窗体
}
以上仅供学习参考,禁止用于商业用途!!!