海马汽车经销商管理系统技术解析(四)保养管理
保养管理包括提取、支店保养、审核等功能。根据维修单号提取信息,完善相关保养信息,进行保存,生成保养单,然后对保养单进行审核。支店保养需要先选择支店然后根据条件查询相关信息,完善相关保养信息,进行保存生成保养单,然后对保养单进行审核。还可进行删除、修改未审核的保养单。还有上页、下页等功能。
保养管理主界面如图(图1)所示:
显示所有的保养单。
(图1)
提取工单界面如图(图2)所示:
根据工单号提取车辆信息。
(图2)
支店保养选择支店界面如图(图3)所示:
先选择支店,然后提取车辆信息。
(图3)
支店保养提取车辆信息界面如图(图4)所示:
可以根据不同的条件提取车辆信息。
(图4)
审核界面如图(图5)、(图6)所示:
先提示该车已经保养的次数,然后保养次序会已经保养的次数上 +1。
从界面上可以看到我们这里用到的控件有
控件名称 | 说明 |
(ToolStrip) | 控件可以在工具箱直接拖动至窗体,拖至窗体后右击属性可以修改控件的样式和各种属性,还可以编辑事件。 |
表格(DataGridView) | |
按钮(toolStripButton) /(Button) | |
复选框(CheckBox) | |
下拉框(ComBoBox) | |
文本框(TextBox) | |
日期控件(DateTimePicker) |
显示功能实现:
第一步:数据库
1、表和关系
(图7)
表1:维修工单表(PW_ServiceWorkBillList)
用于存放维修工单录入的信息
列名 | 数据类型 | 主键/外键 | 说明 |
ServiceWorkBillID | int | 主键 | 维修工单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 |
| 资源释放否 |
用于存放保养单录入的信息
列名 | 数据类型 | 主键/外键 | 说明 |
UpkeepBillID | int | 主键 | 保养单ID |
UpkeepOddNumbers | nchar (20) |
| 保养单号 |
ServiceWorkOddNumBer | nchar (20) |
| 维修工单号 |
AttributeMinuteID_UpkeepPar | int | 外键 | 属性明细ID_保养标准 |
UpkeepOrder | nchar (20) |
| 保养次序 |
UpkeepSite | nchar (50) |
| 保养地址 |
SteerMileage | decimal (18, 2) |
| 保养里程 |
VerifyDate | datetime |
| 审核日期 |
UpkeepDate | datetime |
| 保养日期 |
UpkeepBatch | nchar (20) |
| 保养批次 |
VerifyResult | nchar (100) |
| 审核结果 |
VerifyOpinion | nchar (20) |
| 审核意见 |
IfVerify | bit |
| 核准否 |
CarNewsID | int | 外键 | 车辆信息ID |
AttributeMinuteID_VerifyResult | int | 外键 | 属性明细ID_审核结果 |
用于存放车辆录入的信息
列名 | 数据类型 | 主键/外键 | 说明 |
CarNewsID | int | 主键 | 车辆信息ID |
CarOwnerNewsID | int | 外键 | 车主信息ID |
RecordNumber | nchar (20) |
| 档案号 |
LicensePlateNumber | nchar (20) |
| 车牌号 |
CarModelsCode | nchar (20) |
| 车型代码 |
VINCode | nchar (20) |
| VIN码 |
MotorModel | nchar (20) |
| 发动机型号 |
TransmissionType | nchar (20) |
| 变速箱形式 |
MotorNumber | nchar (20) |
| 发动机号 |
TransmissionNumber | nchar (20) |
| 变速箱号码 |
KeyNumber | nchar (20) |
| 钥匙号 |
ShiftWay | nchar (20) |
| 换挡方式 |
CarModelsYearFund | nchar (20) |
| 车型年款 |
Displacement | nchar (20) |
| 排量 |
EquipmentCode | nchar (20) |
| 装备代码 |
BodyworkColour | nchar (10) |
| 车身颜色 |
LeaveFactoryDate | datetime |
| 出厂日期 |
FuelKind | nchar (20) |
| 燃料种类 |
BuyCarDate | datetime |
| 购车日期 |
BuyCarMileage | decimal (18, 2) |
| 购车里程 |
Purpose | nchar (20) |
| 用途 |
SellUnit | nchar (20) |
| 销售单位 |
CarBrand | nchar (20) |
| 车辆品牌 |
CarModelsSimpleCode | nchar (20) |
| 车型简码 |
IfInWarranTyperiod | bit |
| 在保修期内 |
UserManage | bit |
| 用户管理 |
IfEffective | bit |
| 有效否 |
表4:车主信息表(BM_CarOwnerNewsList)
用于存放车主录入的信息
列名 | 数据类型 | 主键/外键 | 说明 |
CarOwnerNewsID | int | 主键 | 车主信息ID |
CarOwnerCode | nchar (20) |
| 车主代码 |
CarOwnerName | nchar (20) |
| 车主姓名 |
AttributeMinuteID_ClientTypeOne | int | 外键 | 属性明细ID_客户类型一 |
AttributeMinuteID_ClientTypeTwo | int | 外键 | 属性明细ID_客户类型二 |
AttributeMinuteID_Sex | int | 外键 | 属性明细ID_性别 |
Site | nchar (100) |
| 地址 |
MobilePhone | nchar (20) |
| 移动电话 |
HousePhone | nchar (20) |
| 住宅电话 |
OfficePhone | nchar (20) |
| 办公电话 |
AddressPostcode | nchar (20) |
| 住址邮编 |
TheGenusCountiesAndCities | nchar (50) |
| 所属县市 |
WorkUnit | nchar (50) |
| 工作单位 |
Job | nchar (50) |
| 职务 |
AttributeMinuteID_MaritalStatus | int | 外键 | 属性明细ID_婚姻状况 |
IDCard | nchar (30) |
| 身份证号码 |
Birthday | datetime |
| 生日 |
Hobby | nchar (100) |
| 爱好 |
ChangeSite | nchar (100) |
| 变更地址 |
Postcode | nchar (20) |
| 邮编 |
Nationality | nchar (50) |
| 国籍 |
| nchar (50) |
| |
FacilitateTheReturnTime | datetime |
| 方便回访时间 |
CarOwnerPicture | nchar (3000) |
| 车主照片 |
Remarks | nchar (50) |
| 备注 |
IfEffective | bit |
| 有效否 |
第二步:技术解析
1、删除功能:
第一步:数据库存储过程
IF(@TYPE ='btnDelete_Click_Delete_ShanChuBangYangDan')
BEGIN
DELETE BM_UpkeepBillList
WHERE BM_UpkeepBillList.UpkeepBillID =@UpkeepBillID
END
第二步:逻辑层(BLL)代码
[OperationContract]
public int btnDelete_Click_Delete_ShanChuBangYangDan(int intUpkeepBillID)
{
SqlParameter[] mySqlParameters = {
new SqlParameter ("@TYPE",SqlDbType.Char),
new SqlParameter ("@UpkeepBillID",SqlDbType.Int),
};
mySqlParameters[0].Value = "btnDelete_Click_Delete_ShanChuBangYangDan";
mySqlParameters[1].Value = intUpkeepBillID;
return myDALMethod.UpdateData("理赔管理_FRM_BaoYangGuanLi", mySqlParameters);
}
第三步:界面层(UIL)代码,写进Button单击事件
/// <summary>
/// 只能删除未审核的保养单,已审核的不能删除
/// </summary>
/// <param name="sender">触发者</param>
/// <param name="e">触发事件</param>
private void btnDelete_Click(object sender, EventArgs e)
{
if (UpkeepBillID > 0)//判断是否选择保养单
{
if (IfVerify == false )//判断保养单审核否
{
if (MessageBox.Show("确定删除" + txtUpkeepOddNumbers.Text + "这保养单??", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
myFRM_BaoYangGuanLiClient.btnDelete_Click_Delete_ShanChuBangYangDan(UpkeepBillID);
MessageBox.Show("删除成功!!!");
FRM_BaoYangDanGuanLi_Load(null, null);//重新加载Load事件,刷新
}
}
else { MessageBox.Show("已审核的保养单不能删除!!!"); }
}
else { MessageBox.Show("请先选择需要删除的保养单!!!"); }
}
2、修改功能
第一步:数据库存储过程
IF(@TYPE ='btnUpdate_Click_Update_XiuGaiBaoYangXinXi')
BEGIN
UPDATE BM_UpkeepBillList
SET ServiceWorkOddNumBer=@ServiceWorkOddNumBer,AttributeMinuteID_UpkeepPar=@AttributeMinuteID_UpkeepPar,
SteerMileage=@SteerMileage,UpkeepDate=@UpkeepDate
WHERE BM_UpkeepBillList.UpkeepBillID =@UpkeepBillID
END
第二步:逻辑层(BLL)代码
[OperationContract]
public int btnUpdate_Click_Update_XiuGaiBaoYangXinXi(string strServiceWorkOddNumBer, int intAttributeMinuteID_UpkeepPar,
decimal decSteerMileage, DateTime dtmUpkeepDate, int intUpkeepBillID)
{
SqlParameter[] mySqlParameters = {
new SqlParameter ("@TYPE",SqlDbType.Char),
new SqlParameter ("@ServiceWorkOddNumBer",SqlDbType.Char),
new SqlParameter ("@AttributeMinuteID_UpkeepPar",SqlDbType.Int),
new SqlParameter ("@SteerMileage",SqlDbType.Decimal),
new SqlParameter ("@UpkeepDate",SqlDbType.DateTime),
new SqlParameter ("@UpkeepBillID",SqlDbType.Int),
};
mySqlParameters[0].Value = "btnUpdate_Click_Update_XiuGaiBaoYangXinXi";
mySqlParameters[1].Value = strServiceWorkOddNumBer;
mySqlParameters[2].Value = intAttributeMinuteID_UpkeepPar;
mySqlParameters[3].Value = decSteerMileage;
mySqlParameters[4].Value = dtmUpkeepDate;
mySqlParameters[5].Value = intUpkeepBillID;
return myDALMethod.UpdateData("理赔管理_FRM_BaoYangGuanLi", mySqlParameters);
}
第三步:界面层(UIL)代码,写进Button单击事件
/// <summary>
/// 未审核的保养单才可以修改,已审核的保养单不能修改
/// </summary>
/// <param name="sender">触发者</param>
/// <param name="e">触发事件</param>
private void btnUpdate_Click(object sender, EventArgs e)
{
if (UpkeepBillID > 0)//判断是否选择保养单
{
if (IfVerify == false)//判断保养单审核否
{
if (MessageBox.Show("确定修改" + txtUpkeepOddNumbers.Text + "这保养单??", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
string strServiceWorkOddNumBer = txtServiceOddNumBer.Text.ToString ().Trim ();
int intAttributeMinuteID_UpkeepPar = Convert.ToInt32(cboUpkeepPar .SelectedValue.ToString ().Trim ());
decimal decSteerMileage = Convert.ToDecimal(txtSteerMileage.Text.Trim ());
DateTime dtmUpkeepDate = Convert.ToDateTime(dtpUpkeepDate.Text.Trim ());
int intUpkeepBillID = UpkeepBillID;
int i = myFRM_BaoYangGuanLiClient.btnUpdate_Click_Update_XiuGaiBaoYangXinXi(strServiceWorkOddNumBer,
intAttributeMinuteID_UpkeepPar, decSteerMileage, dtmUpkeepDate, intUpkeepBillID);
if (i > 0)
{
MessageBox.Show("修改成功!!!");
FRM_BaoYangDanGuanLi_Load(null, null);//重新加载Load事件,刷新
}
}
}
else { MessageBox.Show("已审核的保养单不能修改!!!"); }
}
else { MessageBox.Show("请先选择需要修改的保养单!!!"); }
}
3、审核前提示已保养次数
第一步:数据库存储过程
IF(@TYPE ='FRM_BaoYangDanGuanLi_Load_Select_ChePaiHaoChaXunCheLiangBaoYangCiShu')
BEGIN
SELECT BM_UpkeepBillList.IfVerify, BM_UpkeepBillList.CarNewsID, BM_CarNewsList.LicensePlateNumber
FROM BM_UpkeepBillList INNER JOIN
BM_CarNewsList ON BM_UpkeepBillList.CarNewsID = BM_CarNewsList.CarNewsID
WHERE BM_CarNewsList.LicensePlateNumber=@LicensePlateNumber AND BM_UpkeepBillList.IfVerify=1
AND BM_UpkeepBillList.AttributeMinuteID_VerifyResult=35
END
第二步:逻辑层(BLL)代码
[OperationContract]
public DataSet FRM_BaoYangDanGuanLi_Load_Select_ChePaiHaoChaXunCheLiangBaoYangCiShu(string strLicensePlateNumber)
{
SqlParameter[] mySqlParameters ={
new SqlParameter("@TYPE",SqlDbType.Char),
new SqlParameter("@LicensePlateNumber",SqlDbType.Char),
};
mySqlParameters[0].Value = "FRM_BaoYangDanGuanLi_Load_Select_ChePaiHaoChaXunCheLiangBaoYangCiShu";
mySqlParameters[1].Value =strLicensePlateNumber;
DataTable dt = myDALMethod.QueryDataTable("理赔管理_FRM_BaoYangGuanLi", mySqlParameters);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
return ds;
}
第三步:界面层(UIL)代码,写进界面Load事件
/// <summary>
/// 若该车已经保养过的,就提示已保养次数,若是首次保养则不需要提示
/// </summary>
/// <param name="sender">触发者</param>
/// <param name="e">触发事件</param>
private void FRM_BaoYangGuanLi_ShenHe_Load(object sender, EventArgs e)
{
DataTable dtVerifyResult = myFRM_BaoYangGuanLi_ShenHeClient.cboVerifyResult_Select_ChaXunShenHeJieGuo().Tables[0];
PublicStaticMothd.SetZhiXiaLaKuang(cboVerifyResult, dtVerifyResult, "AttributeMinuteID", "VerifyResult");//绑定下拉框数据
DataTable dtCar = myFRM_BaoYangGuanLiClient.FRM_BaoYangDanGuanLi_Load_Select_ChePaiHaoChaXunCheLiangBaoYangCiShu
(FRM_BaoYangGuanLi.LicensePlateNumber).Tables[0];//根据车牌号码查询该车进行保养的所有数据
decimal decCount = 0;//定义一个次数变量
if (dtCar.Rows.Count > 0)//如果该车存在的行数>0
{
MessageBox.Show("此车辆已了进行" + dtCar.Rows.Count + "次保养");//提示该车已进行N次保养
decCount = dtCar.Rows.Count + 1;//次数+1
txtUpkeepOrder.Text = "第" + decCount + "次";
}
else
{
decCount = decCount + 1;
txtUpkeepOrder.Text = "第" + decCount + "次";//否则次数为1
}
}
4、审核功能
第一步:数据库存储过程
IF(@TYPE ='btnConfirm_Click_Update_XiuGaiBaoYangShenHeXinXi')
BEGIN
UPDATE BM_UpkeepBillList
SET VerifyDate=@VerifyDate, AttributeMinuteID_VerifyResult=@AttributeMinuteID_VerifyResult,
VerifyOpinion=@VerifyOpinion, IfVerify=@IfVerify, UpkeepOrder=@UpkeepOrder,
UpkeepBatch=@UpkeepBatch
WHERE BM_UpkeepBillList.UpkeepBillID=@UpkeepBillID
END
第二步:逻辑层(BLL)代码
[OperationContract]
public int btnConfirm_Click_Update_XiuGaiBaoYangShenHeXinXi(DateTime dtmVerifyDate,
int intAttributeMinuteID_VerifyResult, string strVerifyOpinion, bool blnIfVerify,
int intUpkeepBillID, string strUpkeepOrder, string strUpkeepBatch)
{
SqlParameter[] mySqlParameters ={
new SqlParameter("@TYPE",SqlDbType.Char),
new SqlParameter("@VerifyDate",SqlDbType.DateTime),
new SqlParameter("@AttributeMinuteID_VerifyResult",SqlDbType.Int),
new SqlParameter("@VerifyOpinion",SqlDbType.Char),
new SqlParameter("@IfVerify",SqlDbType.Bit),
new SqlParameter("@UpkeepBillID",SqlDbType.Int),
new SqlParameter("@UpkeepOrder",SqlDbType.Char),
new SqlParameter("@UpkeepBatch",SqlDbType.Char),
};
mySqlParameters[0].Value = "btnConfirm_Click_Update_XiuGaiBaoYangShenHeXinXi";
mySqlParameters[1].Value = dtmVerifyDate;
mySqlParameters[2].Value = intAttributeMinuteID_VerifyResult;
mySqlParameters[3].Value = strVerifyOpinion;
mySqlParameters[4].Value = blnIfVerify;
mySqlParameters[5].Value = intUpkeepBillID;
mySqlParameters[6].Value = strUpkeepOrder;
mySqlParameters[7].Value = strUpkeepBatch;
return myDALMethod.UpdateData("理赔管理_FRM_BaoYangGuanLi_ShenHe", mySqlParameters);
}
第三步:界面层(UIL)代码,写进Button单击事件
/// <summary>
///
/// </summary>
/// <param name="sender">触发者</param>
/// <param name="e">触发事件</param>
private void btnConfirm_Click(object sender, EventArgs e)
{
DateTime dtmVerifyDate = Convert.ToDateTime(dtpVerifyDate.Text.Trim ());
int intAttributeMinuteID_VerifyResult = Convert.ToInt32(cboVerifyResult.SelectedValue.ToString ().Trim ());
string strVerifyOpinion = txtVerifyOpinion.Text.ToString ().Trim ();
bool blnIfVerify = true;
int intUpkeepBillID = FRM_BaoYangGuanLi.UpkeepBillID;
string strUpkeepOrder = txtUpkeepOrder.Text.ToString().Trim();
string strUpkeepBatch = txtUpkeepBatch.Text.ToString().Trim();
int i = myFRM_BaoYangGuanLi_ShenHeClient.btnConfirm_Click_Update_XiuGaiBaoYangShenHeXinXi(dtmVerifyDate,
intAttributeMinuteID_VerifyResult, strVerifyOpinion, blnIfVerify, intUpkeepBillID, strUpkeepOrder,
strUpkeepBatch);
BaoCunFou = true;
if (i > 0)
{
MessageBox.Show("审核成功!!!");
this.Close();
}
else { MessageBox.Show("审核失败!!!"); }
}
5、提取功能
第一步:数据库存储过程
IF(@TYPE ='btnConfirm_Click_Select_GongDanHaoChaXunXinXi')
BEGIN
SELECT PW_ServiceWorkBillList.ServiceWorkBillID, PW_ServiceWorkBillList.WorkOddNumBer, PW_ServiceWorkBillList.CarNewsID, BM_CarNewsList.CarOwnerNewsID,
BM_CarNewsList.LicensePlateNumber, BM_CarNewsList.CarModelsCode, BM_CarNewsList.VINCode, BM_CarNewsList.MotorNumber, BM_CarNewsList.BuyCarDate,
BM_CarOwnerNewsList.CarOwnerName, BM_CarOwnerNewsList.Site, BM_CarOwnerNewsList.MobilePhone
FROM PW_ServiceWorkBillList INNER JOIN
BM_CarNewsList ON PW_ServiceWorkBillList.CarNewsID = BM_CarNewsList.CarNewsID INNER JOIN
BM_CarOwnerNewsList ON BM_CarNewsList.CarOwnerNewsID = BM_CarOwnerNewsList.CarOwnerNewsID
WHERE PW_ServiceWorkBillList.WorkOddNumBer=@WorkOddNumBer
END
第二步:逻辑层(BLL)代码
[OperationContract]
public DataSet btnConfirm_Click_Select_GongDanHaoChaXunXinXi(string strWorkOddNumBer)
{
SqlParameter[] mySqlParameters ={
new SqlParameter("@TYPE",SqlDbType.Char),
new SqlParameter("@WorkOddNumBer",SqlDbType.Char),
};
mySqlParameters[0].Value = "btnConfirm_Click_Select_GongDanHaoChaXunXinXi";
mySqlParameters[1].Value = strWorkOddNumBer;
DataTable dt = myDALMethod.QueryDataTable("理赔管理_FRM_BaoYangGuanLi_TiQu", mySqlParameters);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
return ds;
}
第三步:界面层(UIL)代码
先把提取的数据放进数据表,再在主界面逐一显示出来
提取数据:
public static DataTable dtWorkBillNews = new DataTable();
private bool BaoCunFou;
private void btnConfirm_Click(object sender, EventArgs e)
{
dtWorkBillNews = myFRM_BaoYangGuanLi_TiQuClient.btnConfirm_Click_Select_GongDanHaoChaXunXinXi(txtWorkOddNumBer .Text).Tables[0];//提取数据放进数据表
BaoCunFou = true;
this.Close();
}
主界面显示数据:
private void btnExtract_Click(object sender, EventArgs e)
{
PublicStaticObject.Pub_FRM_BaoYangGuanLi_TiQu = new FRM_BaoYangGuanLi_TiQu();
PublicStaticObject.Pub_FRM_BaoYangGuanLi_TiQu.ShowDialog();
txtBuyCarDate.Text = "";
txtCarModels.Text = "";
txtCarOwnerName.Text = "";
txtLicensePlateNumber.Text = "";
txtMotorNumber.Text = "";
txtPhone.Text = "";
txtServiceOddNumBer.Text = "";
txtSite.Text = "";
txtSteerMileage.Text = "";
txtUpkeepBatch.Text = "";
txtUpkeepOrder.Text = "";
txtUpkeepSite.Text = "";
txtVINCode.Text = "";
txtUpkeepOddNumbers.Text = "";
txtVerifyDate.Text = "";
txtVerifyResult.Text = "";
dtpUpkeepDate.Text = DateTime.Now.ToString();
if (FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows.Count > 0)
{
txtBuyCarDate.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["BuyCarDate"].ToString().Trim();
txtCarModels.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["CarModelsCode"].ToString().Trim();
txtCarOwnerName.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["CarOwnerName"].ToString().Trim();
txtLicensePlateNumber.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["LicensePlateNumber"].ToString().Trim();
txtMotorNumber.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["CarModelsCode"].ToString().Trim();
txtPhone.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["MobilePhone"].ToString().Trim();
txtServiceOddNumBer.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["WorkOddNumBer"].ToString().Trim();
txtSite.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["Site"].ToString().Trim();
txtVINCode.Text = FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["VINCode"].ToString().Trim();
ServiceWorkBillID = Convert.ToInt32(FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["ServiceWorkBillID"]);
CarNewsID = Convert.ToInt32(FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["CarNewsID"]);
CarOwnerNewsID = Convert.ToInt32(FRM_BaoYangGuanLi_TiQu.dtWorkBillNews.Rows[0]["CarOwnerNewsID"]);
txtUpkeepSite.Text = "总店";
}
}
仅用于学习参考,禁止用于商业用途!!