海马汽车经销商管理系统技术解析(二)维修收银

                          海马汽车经销商管理系统技术解析(二)维修收银

维修收银这个模块可以查看已经结算和已经收款的工单。可以通过工单号、车主姓名等条件对工单进行筛选查询。还可以对工单进行收银、刷新操作。
主界面如图(图1)所示:

                                                                  (图1)
查询界面如下图(图2)所示:

                                                                (图2)
收银界面如下图(图3)所示:
收银分为现金、支票、刷卡三种收银方式,可以挂账。若挂账则转到建账界面。

                                                                  (图3)
从界面上可以看到我们这里用到的控件有

控件名称

说明

     ToolStrip

控件可以在工具箱直接拖动至窗体,拖至窗体后右击属性可以修改控件的样式和各种属性,还可以编辑事件。

表格(DataGridView

按钮(toolStripButton      /(Button)

复选框(CheckBox

下拉框(ComBoBox

文本框(TextBox

 显示功能实现:
第一步:数据库
1、 表与关系

                                                                                           图(4)

表1:PW_结算单表(PW_SettleAccountsBillList)
用于存放结算的信息

列名

数据类型

主键/外键

说明

SettleAccountsBillID

int

主键

结算单ID

SettleAccountsBillNumber

nchar (20)

 

结算单号

ServiceWorkBillID

int

外键

维修工单表,维修工单ID

PrivilegeBeforeAllMoney

decimal (18, 2)

 

优惠前总金额

PrivilegeAllMoney

decimal (18, 2)

 

优惠总金额

PrivilegeAfferWorkHoursMoney

decimal (18, 2)

 

优惠后工时金额

PrivilegeAfferMaterial

decimal (18, 2)

 

优惠后材料金额

PrivilegeAfferElseMoney

decimal (18, 2)

 

优惠后其他金额

PrivilegeAfferAllMoney

decimal (18, 2)

 

优惠后总金额

 表2:维修工单表(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

 

资源释放否

 表3:车辆信息表(BM_CarNewsList)
用于存放车辆录入的信息

列名

数据类型

主键/外键

说明

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)

 

国籍

Email

nchar (50)

 

Email

FacilitateTheReturnTime

datetime

 

方便回访时间

CarOwnerPicture

nchar (3000)

 

车主照片

Remarks

nchar (50)

 

备注

IfEffective

bit

 

有效否

表5:财务收银单表(FinanceGatheringBillList)
用于存放收银录入的信息

列名

数据类型

主键/外键

说明

FinanceGatheringBillID

int

主键

财务收银单ID

FinanceGatheringOddNumber

nchar (20)

 

财务收银单号

SettleAccountsBillID

int

外键

结算单表,结算单ID

Cash

decimal (18, 2)

 

现金

Cheque

decimal (18, 2)

 

支票

TheGenusBank

nchar (20)

 

所属银行

BankAccount

nchar (20)

 

银行账号

PayByCard

decimal (18, 2)

 

刷卡

PayByCardBank

nchar (20)

 

刷卡银行

PayByCardAccountNumber

nchar (20)

 

刷卡账号

PlanGatheringSpareMoney

decimal (18, 2)

 

预收款金额

Voucher

decimal (18, 2)

 

代金券

Ledger

decimal (18, 2)

 

挂账

InvoiceNumber

nchar (20)

 

发票号

InvoiceType

nchar (20)

 

发票类

 第二步:技术解析
1、绑定下拉框
第一步:数据库的存储过程

IF(@TYPE ='cboCarOwnerName_Select_ChaXunCheZhuXingMing')
	BEGIN
		SELECT     CarOwnerNewsID,RTRIM (LTRIM (CarOwnerName)) AS CarOwnerName
		FROM         BM_CarOwnerNewsList
	END

第二步:逻辑层(BLL)代码

[OperationContract]
        public DataSet cboCarOwnerName_Select_ChaXunCheZhuXingMing()
        {
            SqlParameter[] mySqlParameters ={
                                                new SqlParameter("@TYPE",SqlDbType.Char),
                                            };
            mySqlParameters[0].Value = "cboCarOwnerName_Select_ChaXunCheZhuXingMing";
            DataTable dt = myDALMethod.QueryDataTable("财务管理_FRM_WeiXiuShouYin_Select", 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_WeiXiuShouYin_Select_Load(object sender, EventArgs e)
        {
            DataTable dtCarOwnerName = myFRM_WeiXiuShouYin_SelectClient.
                cboCarOwnerName_Select_ChaXunCheZhuXingMing().Tables[0];//查询车主姓名
            PublicStaticMothd.SetZhiXiaLaKuang(cboCarOwnerName, dtCarOwnerName,"CarOwnerNewsID", "CarOwnerName");
            cboCarOwnerName.Text = null;
            if(cboCarOwnerName .DataSource !=null )
            {
                cboCarOwnerName.DropDownStyle = ComboBoxStyle.DropDown;//设置下拉框样式
                string[] str = new string[dtCarOwnerName.Rows.Count];//定义一个数组
                for (int i = 0; i < dtCarOwnerName.Rows.Count; i++)
                {
                    str[i] = dtCarOwnerName.Rows[i]["CarOwnerName"].ToString().Trim();
                }
                cboCarOwnerName.AutoCompleteSource = AutoCompleteSource.CustomSource;//为下拉框指定为自定义源
                cboCarOwnerName.AutoCompleteCustomSource.AddRange(str);//将数组添加进源
                cboCarOwnerName.AutoCompleteMode = AutoCompleteMode.Suggest;//显示下拉框给用户提供建议
            }

2、设置表格(DataGridView)控件

第一步:界面层(UIL)代码,写进窗体的Load事件

dgvServiceWorkBill.DataSource = myFRM_WeiXiuShouYinClient.FRM_WeiXiuShouYin_Load_Select_IDChaXunWeiXiuGongDan().Tables[0];
            dgvServiceWorkBill.AllowUserToAddRows = false;//设置不能手动添加行
            dgvServiceWorkBill.ReadOnly = true;设置不能编辑表格的内容

3、文本框(TextBox)设置自动完成源

第一步:数据库的存储过程

IF(@TYPE ='txtWorkOddNumBer_Select_ChaXunGongDanHao')
	BEGIN
		SELECT    RTRIM (LTRIM (WorkOddNumBer))AS WorkOddNumBer
		FROM         PW_ServiceWorkBillList
	END

第二步:逻辑层(BLL)代码

[OperationContract]
        public DataSet txtWorkOddNumBer_Select_ChaXunGongDanHao()
        {	
            SqlParameter[] mySqlParameters ={
                                                new SqlParameter("@TYPE",SqlDbType.Char),
                                            };
            mySqlParameters[0].Value = "txtWorkOddNumBer_Select_ChaXunGongDanHao";
            DataTable dt = myDALMethod.QueryDataTable("财务管理_FRM_WeiXiuShouYin_Select", mySqlParameters);
            DataSet ds = new DataSet();
            ds.Tables.Add(dt);
            return ds;
        }

第三步:界面层(UIL)代码,在窗体的Load事件中执行

DataTable dtWorkOddNumBer = myFRM_WeiXiuShouYin_SelectClient.txtWorkOddNumBer_Select_ChaXunGongDanHao().Tables[0];//查询工单号
            if (txtWorkOddNumBer .Text != null)//如果输入工单号不等于空
            {
                string[] str = new string[dtWorkOddNumBer.Rows.Count];//定义一个数组
                for (int i = 0; i < dtWorkOddNumBer.Rows.Count; i++)
                {
                    str[i] = dtWorkOddNumBer.Rows[i]["WorkOddNumBer"].ToString().Trim();
                }
                txtWorkOddNumBer.AutoCompleteSource = AutoCompleteSource.CustomSource;//为TextBox指定为自定义源
                txtWorkOddNumBer.AutoCompleteCustomSource.AddRange(str);//将数组添加进源
                txtWorkOddNumBer.AutoCompleteMode = AutoCompleteMode.Suggest;//显示下拉框给用户提供建议
            }

4、不定条件查询      

第一步:数据库的存储过程

IF(@TYPE ='btnConfirm_Click_Select_ChaXunWeiXiuGongDan')
	BEGIN
     	SELECT     PW_ServiceWorkBillList.ServiceWorkBillID, PW_ServiceWorkBillList.WorkOddNumBer, PW_ServiceWorkBillList.CarNewsID, BM_CarNewsList.CarOwnerNewsID, 
                      BM_CarNewsList.LicensePlateNumber, BM_CarNewsList.CarModelsCode, BM_CarOwnerNewsList.CarOwnerName, PW_ServiceWorkBillList.BusinessSort, PW_ServiceWorkBillList.EntranceTime, 
                      PW_ServiceWorkBillList.ServiceAdviser_StaffID, BM_StaffRecordList.StaffName, PW_ServiceWorkBillList.AttributeMinuteID_CarStatus, AttributeMinuteList.AttributeMinuteName AS CarStatus, 
                      PW_ServiceWorkBillList.PlanGathering
        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 INNER JOIN
                      BM_StaffRecordList ON PW_ServiceWorkBillList.ServiceAdviser_StaffID = BM_StaffRecordList.StaffID INNER JOIN
                      AttributeMinuteList ON PW_ServiceWorkBillList.AttributeMinuteID_CarStatus = AttributeMinuteList.AttributeMinuteID
	END

第二步:逻辑层(BLL)代码

DALPublic.DALMethod myDALMethod = new DALPublic.DALMethod();
        [OperationContract]
        public DataSet btnConfirm_Click_Select_ChaXunWeiXiuGongDan()
        {	
            SqlParameter[] mySqlParameters ={
                                                new SqlParameter("@TYPE",SqlDbType.Char),
                                            };
            mySqlParameters[0].Value = "btnConfirm_Click_Select_ChaXunWeiXiuGongDan";
            DataTable dt = myDALMethod.QueryDataTable("财务管理_FRM_WeiXiuShouYin_Select", mySqlParameters);
            DataSet ds = new DataSet();
            ds.Tables.Add(dt);
            return ds;
        }

第三步:界面层(UIL)代码,在Button单击事件中执行

/// <summary>
/// 
/// </summary>
/// <param name="sender">触发者</param>
/// <param name="e">触发事件</param>
        private void btnConfirm_Click(object sender, EventArgs e)
        {
            DataTable dt = myFRM_WeiXiuShouYin_SelectClient.btnConfirm_Click_Select_ChaXunWeiXiuGongDan().Tables[0];//查询工单信息
            DataView dv = new DataView(dt);
            string str = "";
            if (chkCarOwnerName.Checked)
            {
                str += " CarOwnerName = '" + cboCarOwnerName.Text.Trim() + "' and";
            }
            if(chkWorkOddNumBer .Checked )
            {
                str += " WorkOddNumBer = '" + txtWorkOddNumBer.Text.Trim() + "' and";
            }
            if (str.Length > 1)
            {
                str = str.Remove(str.Length - 3);
            }
            dv.RowFilter = str;
            PublicStaticObject.dtServiceWork = dv.ToTable();
            BaoCunFou = true;
            this.Close();
        }

5、自定义生成单号

第一步:界面层(UIL)代码

public string ShengChengDanHao(string FinanceGatheringOddNumber)//生成单号
        {
            DateTime dtmNow = DateTime.Now;
            string strYear = dtmNow.Year.ToString().Trim();
            string strMonth = dtmNow.Month.ToString().Trim();
            strMonth = (strMonth.Length == 1 ? "0" + strMonth : strMonth);//设置月格式
            string strDay = dtmNow.Day.ToString().Trim();
            strDay = (strDay.Length == 1 ? "0" + strDay : strDay);//设置日格式
            string strHours = dtmNow.Hour.ToString().Trim();
            strHours = strHours.Length == 1 ? "0" + strHours : strHours;//设置时格式
            string strMinute = dtmNow.Minute.ToString().Trim();
            strMinute = strMinute.Length == 1 ? "0" + strMinute : strMinute;//设置时格式
            string strSecond = dtmNow.Second.ToString().Trim();
            strSecond = strSecond.Length == 1 ? "0" + strSecond : strSecond;//设置秒格式
            return FinanceGatheringOddNumber+ strYear + strMonth + strDay + strHours + strMinute + strSecond;
        }	

6、收银功能

第一步:数据库的存储过程

IF(@TYPE ='btnConfirm_Click_Save_ChaRuShouYinXinXi')
	BEGIN
	   INSERT  INTO PW_FinanceGatheringBillList 
	   VALUES (@FinanceGatheringOddNumber,@SettleAccountsBillID,@Cash,@Cheque,@TheGenusBank,
	   @BankAccount,@PayByCard,@PayByCardBank,@PayByCardAccountNumber,@PlanGatheringSpareMoney,
	   @Voucher,@Ledger,@InvoiceNumber,@InvoiceType)
       	
	END
	IF(@TYPE ='btnConfirm_Click_Update_XiuGaiZhuangTai')
	BEGIN
	    UPDATE PW_ServiceWorkBillList    
	    SET AttributeMinuteID_CarStatus=@AttributeMinuteID_CarStatus, IfDebt=@IfDebt
        WHERE PW_ServiceWorkBillList.ServiceWorkBillID=@ServiceWorkBillID
	END

第二步:逻辑层(BLL)代码

[OperationContract]
        public int btnConfirm_Click_Save_ChaRuShouYinXinXi(string strFinanceGatheringOddNumber, int intSettleAccountsBillID,
            decimal decCash, decimal decCheque, string strTheGenusBank, string strBankAccount, decimal decPayByCard,
            string strPayByCardBank, string strPayByCardAccountNumber, decimal decPlanGatheringSpareMoney,
            decimal decVoucher, decimal decLedger, string strInvoiceNumber, string strInvoiceType)
        {	
            SqlParameter[] mySqlParameters ={
                                                new SqlParameter("@TYPE",SqlDbType.Char),
                                                new SqlParameter("@FinanceGatheringOddNumber",SqlDbType.Char),
                                                new SqlParameter("@SettleAccountsBillID",SqlDbType.Int),
                                                new SqlParameter("@Cash",SqlDbType.Decimal),
                                                new SqlParameter("@Cheque",SqlDbType.Decimal),
                                                new SqlParameter("@TheGenusBank",SqlDbType.Char),
                                                new SqlParameter("@BankAccount",SqlDbType.Char),
                                                new SqlParameter("@PayByCard",SqlDbType.Decimal),
                                                new SqlParameter("@PayByCardBank",SqlDbType.Char),
                                                new SqlParameter("@PayByCardAccountNumber",SqlDbType.Char),
                                                new SqlParameter("@PlanGatheringSpareMoney",SqlDbType.Decimal),
                                                new SqlParameter("@Voucher",SqlDbType.Decimal),
                                                new SqlParameter("@Ledger",SqlDbType.Decimal),
                                                new SqlParameter("@InvoiceNumber",SqlDbType.Char),
                                                new SqlParameter("@InvoiceType",SqlDbType.Char),
                                              };
            mySqlParameters[0].Value = "btnConfirm_Click_Save_ChaRuShouYinXinXi";
            mySqlParameters[1].Value = strFinanceGatheringOddNumber;
            mySqlParameters[2].Value = intSettleAccountsBillID;
            mySqlParameters[3].Value = decCash;
            mySqlParameters[4].Value = decCheque;
            mySqlParameters[5].Value = strTheGenusBank;
            mySqlParameters[6].Value = strBankAccount;
            mySqlParameters[7].Value = decPayByCard;
            mySqlParameters[8].Value = strPayByCardBank;
            mySqlParameters[9].Value = strPayByCardAccountNumber;
            mySqlParameters[10].Value =decPlanGatheringSpareMoney;
            mySqlParameters[11].Value = decVoucher;
            mySqlParameters[12].Value = decLedger;
            mySqlParameters[13].Value = strInvoiceNumber;
            mySqlParameters[14].Value = strInvoiceType;
            return myDALMethod.UpdateData("财务管理_FRM_WeiXiuShouYin_ShouYin", mySqlParameters);
        }
        [OperationContract]
        public int btnConfirm_Click_Update_XiuGaiZhuangTai(int intAttributeMinuteID_CarStatus,
            bool blnIfDebt, int intServiceWorkBillID)
        {
            SqlParameter[] mySqlParameters ={
                                                new SqlParameter("@TYPE",SqlDbType.Char),
                                                new SqlParameter ("@AttributeMinuteID_CarStatus",SqlDbType.Int),
                                                new SqlParameter("@IfDebt",SqlDbType.Bit),
                                                new SqlParameter("@ServiceWorkBillID",SqlDbType.Int),
                                               };
            mySqlParameters[0].Value = "btnConfirm_Click_Update_XiuGaiZhuangTai";
            mySqlParameters[1].Value = intAttributeMinuteID_CarStatus;
            mySqlParameters[2].Value = blnIfDebt;
            mySqlParameters[3].Value = intServiceWorkBillID;
            return myDALMethod.UpdateData("财务管理_FRM_WeiXiuShouYin_ShouYin", mySqlParameters);
        }

第三步:界面层(UIL)代码,在Button单击事件中执行

/// <summary>
        /// 若挂账的值大于0则需要跳转界面进行建欠账信息,否则直接关闭
        /// </summary>
        /// <param name="sender">触发者</param>
        /// <param name="e">触发事件</param>
        private void btnConfirm_Click(object sender, EventArgs e)
        {	
            string FinanceGatheringOddNumber="SY";
            string strFinanceGatheringOddNumber=ShengChengDanHao(FinanceGatheringOddNumber);
            int intSettleAccountsBillID=SettleAccountsBillID;
            decimal decCash = Convert.ToDecimal(txtCash.Text.ToString ().Trim ());
            decimal decCheque = Convert.ToDecimal(txtCheque.Text.ToString().Trim());
            string strTheGenusBank = txtTheGenusBank.Text.ToString().Trim();
            string strBankAccount = txtBankAccount.Text.ToString().Trim();
            decimal decPayByCard = Convert.ToDecimal(txtPayByCard.Text.ToString().Trim());
            string strPayByCardBank = txtPayByCardBank.Text.ToString().Trim();
            string strPayByCardAccountNumber = txtPayByCardAccountNumber.Text.ToString().Trim();
            decimal decPlanGatheringSpareMoney = Convert.ToDecimal(txtPlanGatheringSpareMoney.Text.ToString().Trim());
            decimal decVoucher = Convert.ToDecimal(txtVoucher.Text.ToString().Trim());
            Ledger = Convert.ToDecimal(txtLedger.Text.ToString().Trim());
            string strInvoiceNumber = txtInvoiceNumber.Text.ToString().Trim();
            string strInvoiceType = txtInvoiceType.Text.ToString().Trim();
           int i= myFRM_WeiXiuShouYin_ShouYinClient.btnConfirm_Click_Save_ChaRuShouYinXinXi(strFinanceGatheringOddNumber, intSettleAccountsBillID,
              decCash, decCheque, strTheGenusBank, strBankAccount, decPayByCard, strPayByCardBank, strPayByCardAccountNumber,
              decPlanGatheringSpareMoney, decVoucher, Ledger, strInvoiceNumber, strInvoiceType);
           if (i > 0)
           {
               int intAttributeMinuteID_CarStatus;
               bool blnIfDebt;
               if (Convert.ToDecimal(txtPlanGatheringSpareMoney.Text) > 0 && Convert.ToDecimal(txtLedger.Text) > 0)
               {
                   intAttributeMinuteID_CarStatus = 19;
                   blnIfDebt = true;
               }
               else
               {
                   intAttributeMinuteID_CarStatus = 19;
                   blnIfDebt = false;
               }
               int j = myFRM_WeiXiuShouYin_ShouYinClient.btnConfirm_Click_Update_XiuGaiZhuangTai(intAttributeMinuteID_CarStatus, blnIfDebt, PublicStaticObject.intServiceWorkBillID);
               BaoCunFou = true;
               if (j > 0)
               {
                   MessageBox.Show("收银成功!!!");
                   if (Convert.ToDecimal(txtLedger.Text) > 0)
                   {
                       if (MessageBox.Show("收款尚未完全完成,转到欠款建单界面", "提示", MessageBoxButtons.OK) == DialogResult.OK)
                       {
                           PublicStaticObject.Pub_FRM_YingShouGuanLi_JianZhang = new FRM_YingShouGuanLi_JianZhang();
                           PublicStaticObject.Pub_FRM_YingShouGuanLi_JianZhang.ShowDialog();
                       }
                       else { this.Close(); }
                   }
                   this.Close();
               }
           }
           else { MessageBox.Show("收银失败!!!"); }
       }

仅供学习参考,禁止用于商业用途!!!


















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值