海马汽车经销商管理系统技术解析(九)预约单转维修工单
来源:互联网 发布:qq等级升级软件 编辑:程序博客网 时间:2024/04/28 05:59
转工单
转工单功能实现预约单转为正式工单的功能。主界面见下图:
在主界面点击“转工单”,弹出“提示”对话框,如下图:
点击“是”,弹出“接车”界面,见下图:
【接车】界面的“预约单号”起到追溯本源的作用。
作为界面跳转链接,控件就没什么说的了。
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:预约配件表(BespeakPartsList)
列名
数据类型
主键/外键
说明
BespeakPartsID
int
主键
预约配件ID
BespeakBillID
int
外键
预约单表,预约单ID
PartsID
int
外键
配件表,配件ID
AttributeMinuteID_AccountType
int
外键
属性明细表,属性明细ID_帐类
ObligateNumBer
decimal (18, 2)
预留数量
NeedNumber
decimal (18, 2)
需求数量
InTranSitNumBer
decimal (18, 2)
在途数量
AvailableForSaleNumber
decimal (18, 2)
可售数量
Price
decimal (18, 2)
单价
IfResourceRelease
bit
资源释放否
表3:预约维修项目表(BespeakServiceItemList)
列名
数据类型
主键/外键
说明
BespeakServiceItemID
int
主键
预约维修项目ID
BespeakBillID
int
外键
预约单表,预约单ID
WorkHoursItemMinuteID
int
外键
工时项目明细表,工时项目明细ID
AttributeMinuteID_AccountType
int
外键
属性明细表,属性明细ID_帐类
WorkHoursPrice
decimal (18, 2)
工时单价
GuestAccountWorkHours
decimal (18, 2)
客帐工时
ParWorkHours
decimal (18, 2)
标准工时
AnticipatedWorkHoursMoney
decimal (18, 2)
预计工时金额
表4、配件表(BM_PartsList)
列名
数据类型
主键/外键
说明
PartsID
int - Identity
主键
配件ID
PartsCoding
nchar (20)
配件代码
PartsName
nchar (20)
配件名称
CarModels
nchar (20)
车型
Specification
nchar (20)
规格
AttributeMinuteID_Unit
int
外键
属性明细表,属性明细ID_单位
SellPrice
nchar (20)
销售价格
表5、工时项目表(BM_WorkHoursItemList)
列名
数据类型
主键/外键
说明
WorkHoursItemID
int - Identity
主键
工时项目ID
ItemCode
nchar (20)
项目代码
ItemName
nchar (20)
项目代码
WorkKindID
int
外键
工种表,工种ID
FirstKind
nchar (20)
第一类
SecondKind
nchar (20)
第二类
ForeignLanguageName
nchar (20)
外文名称
Remarks
nchar (100)
备注
AllSuitSign
bit
全适用标志
表6、工时项目明细表(BM_WorkHoursItemMinuteList)
列名
数据类型
主键/外键
说明
WorkHoursItemMinuteID
int - Identity
主键
工时项目明细ID
WorkHoursItemID
int
外键
工时项目表,工时项目ID
CarModels
nchar (20)
车型
GuestAccountWorkHours
decimal (18, 2)
客帐工时
InternalAccountWorkHours
decimal (18, 2)
内部帐工时
ParWorkHours
decimal (18, 2)
标准工时
InsureAccountWorkHours
decimal (18, 2)
保险帐工时
WorkHoursMoney
decimal (18, 2)
工时金额
IfWorkHoursMultiplyUnitPrice
bit
是否取工时乘单价
Remarks
nchar (100)
备注
TheOriginalPar
bit
原厂标准
表7、车辆信息表(BM_CarNewsList)
列名
数据类型
主键/外键
说明
CarNewsID
int - Identity
主键
车辆信息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
有效否
表8、车主信息表(BM_CarOwnerNewsList)
列名
数据类型
说明
说明
CarOwnerNewsID
int - Identity
主键
车主信息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
有效否
2、功能实现
1、 “转工单”按钮的点击事件。
第一步:界面层(UIL)
public static int intYuYueDanID;//公共静态变量public static string strWeiXiuDanHao;//公共静态变量private void btnZhuanGongDan_Click(object sender, EventArgs e) { if (dgvBespeak.Rows.Count > 0)//dgv(预约单)不为空 { if (dgvBespeak.CurrentRow.Cells["维修单号"].Value.ToString().Trim() != "")//如果所选预约单已转工单 { MessageBox.Show("该单据已转维修工单,不能再转!"); return; } if (dgvBespeak.CurrentRow.Cells["失败原因"].Value.ToString().Trim() != "")//如果所选预约单已作废 { MessageBox.Show("该单据是预约失败单据,不能转维修工单!"); return; } intYuYueDanID = Convert.ToInt32(dgvBespeak.CurrentRow.Cells["预约单ID"].Value); intCarNewsID = Convert.ToInt32(dgvBespeak.CurrentRow.Cells["车辆信息ID"].Value); string strXiaoShouShouKuan = "WX"; strWeiXiuDanHao = ShengChengDanHao(strXiaoShouShouKuan);//生成维修工单号 if (MessageBox.Show("确定转成维修工单吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)//“提示”对话框,如果点击“是” { //“提示”对话框,如果点击“是” if (MessageBox.Show("成功生成一张维修工单,单号为" + strWeiXiuDanHao, "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { KuanGuan = true; 前台管理.FRM_QianTaiJieDai_JieChe myFRM_QianTaiJieDai_JieChe = new 前台管理.FRM_QianTaiJieDai_JieChe(); myFRM_QianTaiJieDai_JieChe.ShowDialog();//显现“接车”界面 } } } FRM_YuYueGuanLi_Load(null, null);//刷新dgv }
2、“接车”界面Load事件加载预约信息。
第一步:数据库存储过程。
IF(@TYPE='FRM_QianTaiJieDai_JieChe_Load_SelectYuYueDanXinXi')BEGINSELECT PW_BespeakBillList.BespeakOddNumBer, PW_BespeakBillList.CarNewsID, PW_BespeakBillList.BespeakTime, PW_BespeakBillList.AttributeMinuteID_BespeakWay, PW_BespeakBillList.BespeakMileage, PW_BespeakBillList.BespeakStatus, PW_BespeakBillList.Gross, PW_BespeakBillList.FailCause, PW_BespeakBillList.StaffID_HearPersons, PW_BespeakBillList.StaffID_Receiver, PW_BespeakBillList.ApprovalTime, PW_BespeakBillList.LastTimeInTheFactory, PW_BespeakBillList.IfBespeakSucceed, PW_BespeakBillList.BookingCarDeliveryTime, PW_BespeakBillList.BespeakWarnTime, PW_BespeakBillList.PredictAOGTime, PW_BespeakBillList.ServiceOddNumber, PW_BespeakBillList.OldBespeakOddNumber, PW_BespeakBillList.NeedOddNumber, PW_BespeakBillList.AlterationTime, PW_BespeakBillList.AlterationCauses, PW_BespeakBillList.ClientDescribe, PW_BespeakBillList.Remarks, PW_BespeakBillList.IfResourceRelease, BM_StaffRecordList.StaffName AS Receiver, BM_StaffRecordList_1.StaffName AS HearPersons, BM_CarNewsList.LicensePlateNumber, BM_CarNewsList.CarModelsCode, BM_CarNewsList.VINCode, BM_CarNewsList.MotorNumber, BM_CarNewsList.BodyworkColour, BM_CarNewsList.BuyCarDate, BM_CarNewsList.CarOwnerNewsID, BM_CarOwnerNewsList.CarOwnerCode, BM_CarOwnerNewsList.MobilePhone, BM_CarNewsList.CarBrand, PW_BespeakBillList.NewBespeakOddlNumber, BM_CarNewsList.CarModelsYearFund, PW_BespeakBillList.ApprovalPerson, PW_BespeakBillList.AlterationPerson, BM_CarOwnerNewsList.CarOwnerNameFROM PW_BespeakBillList INNER JOIN BM_StaffRecordList AS BM_StaffRecordList_1 ON PW_BespeakBillList.StaffID_HearPersons = BM_StaffRecordList_1.StaffID INNER JOIN BM_StaffRecordList ON PW_BespeakBillList.StaffID_Receiver = BM_StaffRecordList.StaffID INNER JOIN BM_CarNewsList ON PW_BespeakBillList.CarNewsID = BM_CarNewsList.CarNewsID INNER JOIN BM_CarOwnerNewsList ON BM_CarNewsList.CarOwnerNewsID = BM_CarOwnerNewsList.CarOwnerNewsIDWHERE PW_BespeakBillList.BespeakBillID=@BespeakBillID ENDIF(@TYPE='FRM_QianTaiJieDai_JieChe_Load_SelectYuYueXiangMu')BEGINSELECT PW_BespeakServiceItemList.BespeakServiceItemID, PW_BespeakServiceItemList.AttributeMinuteID_AccountType AS AccountTypeID, PW_BespeakServiceItemList.WorkHoursPrice, PW_BespeakServiceItemList.GuestAccountWorkHours, PW_BespeakServiceItemList.ParWorkHours, PW_BespeakServiceItemList.AnticipatedWorkHoursMoney, BM_WorkHoursItemMinuteList.WorkHoursItemMinuteID, BM_WorkHoursItemMinuteList.CarModels, BM_WorkHoursItemMinuteList.IfWorkHoursMultiplyUnitPrice, BM_WorkHoursItemMinuteList.Discount, BM_WorkHoursItemList.ItemCode, BM_WorkHoursItemList.ItemName, AttributeMinuteList.AttributeMinuteName AS AccountType, BM_WorkHoursItemList.WorkKindID, BM_WorkKindList.WorkKindName, BM_WorkHoursItemMinuteList.WorkHoursItemIDFROM BM_WorkHoursItemMinuteList INNER JOIN PW_BespeakServiceItemList INNER JOIN AttributeMinuteList ON PW_BespeakServiceItemList.AttributeMinuteID_AccountType = AttributeMinuteList.AttributeMinuteID ON BM_WorkHoursItemMinuteList.WorkHoursItemMinuteID = PW_BespeakServiceItemList.WorkHoursItemMinuteID INNER JOIN BM_WorkKindList INNER JOIN BM_WorkHoursItemList ON BM_WorkKindList.WorkKindID = BM_WorkHoursItemList.WorkKindID ON BM_WorkHoursItemMinuteList.WorkHoursItemID = BM_WorkHoursItemList.WorkHoursItemIDWHERE PW_BespeakServiceItemList.BespeakBillID=@BespeakBillID ENDIF(@TYPE='FRM_QianTaiJieDai_JieChe_Load_SelectYuYuePeiJian')BEGINSELECT PW_BespeakPartsList.BespeakPartsID, PW_BespeakPartsList.PartsID, PW_BespeakPartsList.AttributeMinuteID_AccountType AS AccountTypeID, PW_BespeakPartsList.ObligateNumBer, PW_BespeakPartsList.NeedNumber, PW_BespeakPartsList.InTranSitNumBer, PW_BespeakPartsList.AvailableForSaleNumber, PW_BespeakPartsList.Price, PW_BespeakPartsList.Money, BM_PartsList.PartsCoding, BM_PartsList.PartsName, BM_PartsList.CarModels, BM_PartsList.AttributeMinuteID_Unit AS UnitID, AttributeMinuteList.AttributeMinuteName AS AccountType, AttributeMinuteList_1.AttributeMinuteName AS UnitFROM AttributeMinuteList INNER JOIN PW_BespeakPartsList INNER JOIN BM_PartsList ON PW_BespeakPartsList.PartsID = BM_PartsList.PartsID ON AttributeMinuteList.AttributeMinuteID = PW_BespeakPartsList.AttributeMinuteID_AccountType INNER JOIN AttributeMinuteList AS AttributeMinuteList_1 ON BM_PartsList.AttributeMinuteID_Unit = AttributeMinuteList_1.AttributeMinuteIDWHERE PW_BespeakPartsList.BespeakBillID=@BespeakBillID and PW_BespeakPartsList.IfResourceRelease=0 END
第二步:逻辑层(BLL)
//查询预约单信息[OperationContract] public DataSet FRM_QianTaiJieDai_JieChe_Load_SelectYuYueDanXinXi(int YuYueDanID) { SqlParameter[] mySqlParameters = { new SqlParameter("@TYPE",SqlDbType.Char), new SqlParameter("@BespeakBillID",SqlDbType.Int), }; mySqlParameters[0].Value="FRM_QianTaiJieDai_JieChe_Load_SelectYuYueDanXinXi"; mySqlParameters[1].Value = YuYueDanID; DataTable dt = myDALMethod.QueryDataTable("前台接待_FRM_QianTaiJieDai_JieChe", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; //返回一个数据集 }//查询预约项目信息[OperationContract] public DataSet FRM_QianTaiJieDai_JieChe_Load_SelectYuYueXiangMu(int intYuYueDanID) { SqlParameter[] mySqlParameters = { new SqlParameter("@TYPE",SqlDbType.Char), new SqlParameter("@BespeakBillID",SqlDbType.Int), }; mySqlParameters[0].Value = "FRM_QianTaiJieDai_JieChe_Load_SelectYuYueXiangMu"; mySqlParameters[1].Value = intYuYueDanID; DataTable dt = myDALMethod.QueryDataTable("前台接待_FRM_QianTaiJieDai_JieChe", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; //返回一个数据集 }//查询预约配件信息 [OperationContract] public DataSet FRM_QianTaiJieDai_JieChe_Load_SelectYuYuePeiJian(int intYuYueDanID) { SqlParameter[] mySqlParameters = { new SqlParameter("@TYPE",SqlDbType.Char), new SqlParameter("@BespeakBillID",SqlDbType.Int), }; mySqlParameters[0].Value = "FRM_QianTaiJieDai_JieChe_Load_SelectYuYuePeiJian"; mySqlParameters[1].Value = intYuYueDanID; DataTable dt = myDALMethod.QueryDataTable("前台接待_FRM_QianTaiJieDai_JieChe", mySqlParameters); DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; //返回一个数据集 }
第三步:界面层(UIL)
BLL海马汽车销售系统.前台接待.FRM_QianTaiJieDai_JieChe.FRM_QianTaiJieDai_JieCheClient myFRM_QianTaiJieDai_JieCheClient = new BLL海马汽车销售系统.前台接待.FRM_QianTaiJieDai_JieChe.FRM_QianTaiJieDai_JieCheClient();private void FRM_QianTaiJieDai_JieChe_Load(object sender, EventArgs e) {//根据预约单ID查询预约单信息 DataTable dtYuYueXinXi = myFRM_QianTaiJieDai_JieCheClient.FRM_QianTaiJieDai_JieChe_Load_SelectYuYueDanXinXi(预约管理.FRM_YuYueGuanLi.intYuYueDanID).Tables[0]; //给各个控件赋值 txtWorkOddNumBer.Text = 预约管理.FRM_YuYueGuanLi.strWeiXiuDanHao; txtCarOwnerName.Text = dtYuYueXinXi.Rows[0]["CarOwnerName"].ToString(); txtLicensePlateNumber.Text = dtYuYueXinXi.Rows[0]["LicensePlateNumber"].ToString(); txtCarBrand.Text = dtYuYueXinXi.Rows[0]["CarBrand"].ToString(); txtEntranceMileage.Text = dtYuYueXinXi.Rows[0]["BespeakMileage"].ToString(); dtmEntranceTime = Convert.ToDateTime(dtYuYueXinXi.Rows[0]["BespeakTime"]); dtpEntranceTime.Value =Convert.ToDateTime(dtYuYueXinXi.Rows[0]["BespeakTime"]).Date; nudhour.Value = Convert.ToDateTime(dtYuYueXinXi.Rows[0]["BespeakTime"]).Hour; nudminute.Value = Convert.ToDateTime(dtYuYueXinXi.Rows[0]["BespeakTime"]).Minute; txtBuyCarDate.Text = dtYuYueXinXi.Rows[0]["BuyCarDate"].ToString(); txtCarModels.Text = dtYuYueXinXi.Rows[0]["CarModelsCode"].ToString(); strCarModelsCode = dtYuYueXinXi.Rows[0]["CarModelsCode"].ToString(); txtBookingCarDeliveryTime.Text = dtYuYueXinXi.Rows[0]["BookingCarDeliveryTime"].ToString(); txtMobilePhone.Text = dtYuYueXinXi.Rows[0]["MobilePhone"].ToString(); txtVINCode.Text=dtYuYueXinXi.Rows[0]["VINCode"].ToString(); txtBodyworkColour.Text = dtYuYueXinXi.Rows[0]["BodyworkColour"].ToString(); txtLastTimeInTheFactory.Text = dtYuYueXinXi.Rows[0]["LastTimeInTheFactory"].ToString(); txtBespeakOddNumBer.Text = dtYuYueXinXi.Rows[0]["BespeakOddNumBer"].ToString(); txtCarModels.Text = dtYuYueXinXi.Rows[0]["CarModelsYearFund"].ToString(); txtMotorNumber.Text = dtYuYueXinXi.Rows[0]["MotorNumber"].ToString(); txtCarryRepairPerson.Text = dtYuYueXinXi.Rows[0]["CarOwnerName"].ToString(); //根据预约单ID查询预约项目信息 DataTable dtYuYueXiangMu = myFRM_QianTaiJieDai_JieCheClient.FRM_QianTaiJieDai_JieChe_Load_SelectYuYueXiangMu(预约管理.FRM_YuYueGuanLi.intYuYueDanID).Tables[0]; if (dtYuYueXiangMu.Rows.Count > 0)//如果表dtYuYueXiangMu不为空 { for (int j = 0; j < dtYuYueXiangMu.Rows.Count; j++)//循环表,提取信息 { dgvServiceItem.Rows.Add(); dgvServiceItem.Rows[j].Cells["预约维修项目ID"].Value = dtYuYueXiangMu.Rows[j]["BespeakServiceItemID"]; dgvServiceItem.Rows[j].Cells["工时项目ID"].Value = dtYuYueXiangMu.Rows[j]["WorkHoursItemID"]; dgvServiceItem.Rows[j].Cells["工时项目明细ID1"].Value = dtYuYueXiangMu.Rows[j]["WorkHoursItemMinuteID"]; dgvServiceItem.Rows[j].Cells["项目名称"].Value = dtYuYueXiangMu.Rows[j]["ItemName"]; dgvServiceItem.Rows[j].Cells["项目代码1"].Value = dtYuYueXiangMu.Rows[j]["ItemCode"]; dgvServiceItem.Rows[j].Cells["工种"].Value = dtYuYueXiangMu.Rows[j]["WorkKindName"]; dgvServiceItem.Rows[j].Cells["帐类ID"].Value = dtYuYueXiangMu.Rows[j]["AccountTypeID"]; dgvServiceItem.Rows[j].Cells["帐类"].Value = dtYuYueXiangMu.Rows[j]["AccountType"]; dgvServiceItem.Rows[j].Cells["标准工时"].Value = dtYuYueXiangMu.Rows[j]["ParWorkHours"]; dgvServiceItem.Rows[j].Cells["工时单价"].Value = dtYuYueXiangMu.Rows[j]["WorkHoursPrice"]; dgvServiceItem.Rows[j].Cells["优惠前工时金额"].Value = Convert.ToDecimal(dtYuYueXiangMu.Rows[j]["ParWorkHours"]) * Convert.ToDecimal(dtYuYueXiangMu.Rows[j]["WorkHoursPrice"]); dgvServiceItem.Rows[j].Cells["工时乘单价"].Value = dtYuYueXiangMu.Rows[j]["IfWorkHoursMultiplyUnitPrice"]; dgvServiceItem.Rows[j].Cells["项目状态ID"].Value = 20; dgvServiceItem.Rows[j].Cells["项目状态"].Value = "待派";//根据帐类ID查询折扣 DataTable dtAttributeMinuteListRemark = myFRM_QianTaiJieDai_JieCheClient.FRM_QianTaiJieDai_JieChe_SelectAttributeMinuteListRemark(Convert.ToInt32(dtYuYueXiangMu.Rows[j]["AccountTypeID"])).Tables[0]; decimal decZheKo = Convert.ToDecimal(dtAttributeMinuteListRemark.Rows[0]["Remark"]);//计算优惠金额 dgvServiceItem.Rows[j].Cells["优惠后工时金额"].Value = Convert.ToDecimal(dtYuYueXiangMu.Rows[j]["ParWorkHours"]) * Convert.ToDecimal(dtYuYueXiangMu.Rows[j]["WorkHoursPrice"])*decZheKo/100; dgvServiceItem.Rows[j].Cells["折扣2"].Value = Convert.ToDecimal(dtAttributeMinuteListRemark.Rows[0]["Remark"]); } } //根据预约单ID查询预约配件信息 DataTable dtYuYuePeiJian = myFRM_QianTaiJieDai_JieCheClient.FRM_QianTaiJieDai_JieChe_Load_SelectYuYuePeiJian(预约管理.FRM_YuYueGuanLi.intYuYueDanID).Tables[0]; if (dtYuYuePeiJian.Rows.Count > 0)//如果表dtYuYuePeiJian不为空 { for (int k = 0; k < dtYuYuePeiJian.Rows.Count; k++)//循环表,提取信息 { dgvNeedParts.Rows.Add(); dgvNeedParts.Rows[k].Cells["预约配件ID"].Value = dtYuYuePeiJian.Rows[k]["BespeakPartsID"]; dgvNeedParts.Rows[k].Cells["配件ID"].Value = dtYuYuePeiJian.Rows[k]["PartsID"]; dgvNeedParts.Rows[k].Cells["配件编码"].Value = dtYuYuePeiJian.Rows[k]["PartsCoding"]; dgvNeedParts.Rows[k].Cells["配件名称"].Value = dtYuYuePeiJian.Rows[k]["PartsName"]; dgvNeedParts.Rows[k].Cells["帐类2"].Value = dtYuYuePeiJian.Rows[k]["AccountType"]; dgvNeedParts.Rows[k].Cells["帐类ID2"].Value = dtYuYuePeiJian.Rows[k]["AccountTypeID"]; dgvNeedParts.Rows[k].Cells["车型"].Value = dtYuYuePeiJian.Rows[k]["CarModels"]; dgvNeedParts.Rows[k].Cells["需求数量"].Value = dtYuYuePeiJian.Rows[k]["NeedNumber"]; dgvNeedParts.Rows[k].Cells["单位ID"].Value = dtYuYuePeiJian.Rows[k]["UnitID"]; dgvNeedParts.Rows[k].Cells["单位"].Value = dtYuYuePeiJian.Rows[k]["Unit"]; dgvNeedParts.Rows[k].Cells["销售单价"].Value = dtYuYuePeiJian.Rows[k]["Price"]; dgvNeedParts.Rows[k].Cells["备注"].Value = "";//根据帐类ID查询折扣 DataTable dtAttributeMinuteListRemark = myFRM_QianTaiJieDai_JieCheClient.FRM_QianTaiJieDai_JieChe_SelectAttributeMinuteListRemark(Convert.ToInt32(dtYuYuePeiJian.Rows[k]["AccountTypeID"])).Tables[0]; decimal decZheKo = Convert.ToDecimal(dtAttributeMinuteListRemark.Rows[0]["Remark"]); //计算优惠金额 dgvNeedParts.Rows[k].Cells["优惠后金额"].Value = Convert.ToDecimal(dtYuYuePeiJian.Rows[k]["NeedNumber"]) * Convert.ToDecimal(dtYuYuePeiJian.Rows[k]["Price"]) * decZheKo/100;//把对应的折扣绑定到各行 dgvNeedParts.Rows[k].Cells["折扣1"].Value = Convert.ToDecimal(dtAttributeMinuteListRemark.Rows[0]["Remark"]); } }}
以上仅供学习参考,禁止用于商业用途!!!
- 海马汽车经销商管理系统技术解析(九)预约单转维修工单
- 海马汽车经销商管理系统技术解析(六)定位预约单
- 海马汽车经销商管理系统技术解析(十二)工单核准
- 海马汽车经销商管理系统技术解析(四)新增预约
- 海马汽车经销商管理系统技术解析(五)预约修改
- 海马汽车经销商管理系统技术解析(七)预约失败处理
- 海马汽车经销商管理系统技术解析(八)预约变更
- 海马汽车经销商管理系统技术解析(十)预约配件资源释放
- 海马汽车经销商管理系统技术解析(十三)结算
- 海马汽车经销商管理系统技术解析(十四)出厂
- 海马汽车经销商管理系统技术解析(三)预约管理主界面数据加载及部分功能
- 海马汽车经销商管理系统技术解析(三)应收管理
- 海马汽车经销商管理系统技术解析(四)保养管理
- 海马汽车经销商管理系统技术解析(一)服务配置流程
- 海马汽车经销商管理系统技术解析(一)新建项目,搭建WCF架构
- 海马汽车经销商管理系统技术解析(二)登陆验证
- 海马汽车经销商管理系统技术解析(二)维修收银
- 海马汽车经销商管理系统技术解析(五)车辆续保提醒
- C语言字符串函数详解
- ThinkPHP之文件上传
- Linux 的多线程编程的高效开发经验
- AURIX系列GTM模块中的PWM部分
- C++ double转string类型以及MFC控件简单用法
- 海马汽车经销商管理系统技术解析(九)预约单转维修工单
- Matlab符号微积分笔记
- ThreadLocal用法和实现原理
- leetcode Implement strStr()
- lua-5.1 和 lua-5.2 之间的一些差异。
- HTTP 1.1状态代码及其含义
- java得MAC地址及IP地址
- 关于Android WebView不支持window.location.href的解决方法
- Java Http GET POST发送请求