海马汽车经销商管理系统技术解析(十)预约配件资源释放

资源释放

 

资源释放是根据需要释放已占用的而库存短缺的配件资源。资源还原就是在库存充足的情况下,还原已经释放的配件资源。

 

从“释放配件资源”主界面看到的控件有:

控件

说明

(Toolstrip)

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

表格(DataGridView)

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、配件表(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)

 

销售价格

表4、车辆信息表(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

 

有效否

表5、车主信息表(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)

 

国籍

Email

nchar (50)

 

Email

FacilitateTheReturnTime

datetime

 

方便回访时间

CarOwnerPicture

nchar (3000)

 

车主照片

Remarks

nchar (50)

 

备注

IfEffective

bit

 

有效否

2、功能实现

1、释放部分配件资源——“释放”按钮点击事件。

 

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

 

 

IF(@TYPE='FRM_YuYuePeiJianZiYuanShiFang_ShiFangPeiJIan')
BEGIN
UPDATE     PW_BespeakPartsList 
SET         IfResourceRelease=@IfResourceRelease
WHERE  BespeakPartsID=@BespeakPartsID
END

 

第二步:逻辑层(BLL)

//释放配件资源
[OperationContract]
        public int FRM_YuYuePeiJianZiYuanShiFang_ShiFangPeiJIan(bool blnIfResourceRelease, int intBespeakPartsID)
        {
            SqlParameter[] mySqlParameters =
        {
        new SqlParameter("@TYPE",SqlDbType.Char),
        new SqlParameter("@IfResourceRelease",SqlDbType.Bit),
        new SqlParameter("@BespeakPartsID",SqlDbType.Int),
        };
            mySqlParameters[0].Value = "FRM_YuYuePeiJianZiYuanShiFang_ShiFangPeiJIan";
            mySqlParameters[1].Value = blnIfResourceRelease;
            mySqlParameters[2].Value = intBespeakPartsID;
            return myDALMethod.UpdateData("预约管理_FRM_YuYuePeiJianZiYuanShiFang", mySqlParameters);       
//返回值为1是正常的,小于0是异常的。     
        }

 

第三步:界面层(UIL)

 

BLL海马汽车销售系统.预约管理.FRM_YuYuePeiJianZiYuanShiFang.FRM_YuYuePeiJianZiYuanShiFangClient myFRM_YuYuePeiJianZiYuanShiFangClient =  new BLL海马汽车销售系统.预约管理.FRM_YuYuePeiJianZiYuanShiFang.FRM_YuYuePeiJianZiYuanShiFangClient();
private void btnRelease_Click(object sender, EventArgs e)
        {
            dgvBespeakParts.EndEdit();//停止编辑
            int intCount=0; //变量
            if (MessageBox.Show("确定释放?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)//提示对话框,如果点击“是”
            {
                for (int i = 0; i < dgvBespeakParts.Rows.Count; i++)//循环dgv(预约配件)
                {
                    if (Convert.ToBoolean(dgvBespeakParts.Rows[i].Cells["选择"].Value) == true)//如果列名“选择”的列打钩
                    {
                        bool blnShiFang = true;
                        //改变该条单据的“资源释放否”的状态
                        int intResourceRelease = myFRM_YuYuePeiJianZiYuanShiFangClient.FRM_YuYuePeiJianZiYuanShiFang_ShiFangPeiJIan(blnShiFang,Convert.ToInt32(dgvBespeakParts.Rows[i].Cells["预约配件ID"].Value));
                        intCount++;//变量加1
                    }
                }
            }
            if (intCount > 0) //变量值大于0
            {
                MessageBox.Show("资源释放成功!!!");
                //刷新dgv(预约配件)
                dgvBespeakParts.DataSource =myFRM_YuYueGuanLiClient.FRM_YuYueGuanLi_Load_SelectYuYuePeiJian(Convert.ToInt32(dgvResourceRelease.CurrentRow.Cells["预约单ID"].Value)).Tables[0];
            }
        }

 

2、释放全部配件资源——“全部释放”按钮点击事件。

 

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

IF(@TYPE='FRM_YuYuePeiJianZiYuanShiFang_ShiFangPeiJIan')
BEGIN
UPDATE     PW_BespeakPartsList 
SET         IfResourceRelease=@IfResourceRelease
WHERE  BespeakPartsID=@BespeakPartsID
END

 

第二步:逻辑层(BLL)

 

//释放配件资源
[OperationContract]
        public int FRM_YuYuePeiJianZiYuanShiFang_ShiFangPeiJIan(bool blnIfResourceRelease, int intBespeakPartsID)
        {
            SqlParameter[] mySqlParameters =
        {
        new SqlParameter("@TYPE",SqlDbType.Char),
        new SqlParameter("@IfResourceRelease",SqlDbType.Bit),
        new SqlParameter("@BespeakPartsID",SqlDbType.Int),
        };
            mySqlParameters[0].Value = "FRM_YuYuePeiJianZiYuanShiFang_ShiFangPeiJIan";
            mySqlParameters[1].Value = blnIfResourceRelease;
            mySqlParameters[2].Value = intBespeakPartsID;
            return myDALMethod.UpdateData("预约管理_FRM_YuYuePeiJianZiYuanShiFang", mySqlParameters);       
//返回值为1是正常的,小于0是异常的。     
        }

第三步:界面层(UIL)

BLL海马汽车销售系统.预约管理.FRM_YuYuePeiJianZiYuanShiFang.FRM_YuYuePeiJianZiYuanShiFangClient myFRM_YuYuePeiJianZiYuanShiFangClient =  new BLL海马汽车销售系统.预约管理.FRM_YuYuePeiJianZiYuanShiFang.FRM_YuYuePeiJianZiYuanShiFangClient();
private void btnReleaseAll_Click(object sender, EventArgs e)
        {
            int intCount = 0; //变量
//提示对话框,如果点击【是】
            if (MessageBox.Show("确定全部释放?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                for (int i = 0; i < dgvBespeakParts.Rows.Count; i++) //循环dgv(预约配件)
                {
                    bool blnShiFang = true;
//调用方法改变【释放否】的状态
                    int intResourceRelease = myFRM_YuYuePeiJianZiYuanShiFangClient.FRM_YuYuePeiJianZiYuanShiFang_ShiFangPeiJIan(blnShiFang,Convert.ToInt32(dgvBespeakParts.Rows[i].Cells["预约配件ID"].Value));
                    intCount++;//变量加1
                }
            }
            if (intCount > 0) //变量值大于0
            {
                MessageBox.Show("资源释放成功!!!");
//刷新dgv(预约配件)
                dgvBespeakParts.DataSource = myFRM_YuYueGuanLiClient.FRM_YuYueGuanLi_Load_SelectYuYuePeiJian(Convert.ToInt32(dgvResourceRelease.CurrentRow.Cells["预约单ID"].Value)).Tables[0];
            }
        }

 

3、还原配件资源——“还原”按钮点击事件。

 

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

IF(@TYPE='FRM_YuYuePeiJianZiYuanShiFang_ShiFangPeiJIan')
BEGIN
UPDATE     PW_BespeakPartsList 
SET         IfResourceRelease=@IfResourceRelease
WHERE  BespeakPartsID=@BespeakPartsID
END

 

第二步:逻辑层(BLL)

 

//释放配件资源
[OperationContract]
        public int FRM_YuYuePeiJianZiYuanShiFang_ShiFangPeiJIan(bool blnIfResourceRelease, int intBespeakPartsID)
        {
            SqlParameter[] mySqlParameters =
        {
        new SqlParameter("@TYPE",SqlDbType.Char),
        new SqlParameter("@IfResourceRelease",SqlDbType.Bit),
        new SqlParameter("@BespeakPartsID",SqlDbType.Int),
        };
            mySqlParameters[0].Value = "FRM_YuYuePeiJianZiYuanShiFang_ShiFangPeiJIan";
            mySqlParameters[1].Value = blnIfResourceRelease;
            mySqlParameters[2].Value = intBespeakPartsID;
            return myDALMethod.UpdateData("预约管理_FRM_YuYuePeiJianZiYuanShiFang", mySqlParameters);       
//返回值为1是正常的,小于0是异常的。     
        }

 

第三层:界面层(UIL)。

 

BLL海马汽车销售系统.预约管理.FRM_YuYuePeiJianZiYuanShiFang.FRM_YuYuePeiJianZiYuanShiFangClient myFRM_YuYuePeiJianZiYuanShiFangClient = 
            new BLL海马汽车销售系统.预约管理.FRM_YuYuePeiJianZiYuanShiFang.FRM_YuYuePeiJianZiYuanShiFangClient();
private void btnRestore_Click(object sender, EventArgs e)
        {
            dgvBespeakParts.EndEdit();//停止编辑
            int intCount = 0; //变量
            if (MessageBox.Show("确定还原?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                for (int i = 0; i < dgvBespeakParts.Rows.Count; i++)
                {
                    //dgv(预约配件)中名为“选择”的列与名为“释放否”的列同时打钩
                    if (Convert.ToBoolean(dgvBespeakParts.Rows[i].Cells["选择"].Value) == true && Convert.ToBoolean(dgvBespeakParts.Rows[i].Cells["释放否"].Value) == true)
                    {
                        bool blnShiFang = false;
                        //改变状态
                        int intResourceRelease = myFRM_YuYuePeiJianZiYuanShiFangClient.FRM_YuYuePeiJianZiYuanShiFang_ShiFangPeiJIan(blnShiFang, Convert.ToInt32(dgvBespeakParts.Rows[i].Cells["预约配件ID"].Value));
                        intCount++;//变量加1
                    }
                }
            }
            if (intCount > 0) //变量值大于1
            {
                MessageBox.Show("还原成功!!!");
//刷新dgv(预约配件)
                dgvBespeakParts.DataSource = myFRM_YuYueGuanLiClient.FRM_YuYueGuanLi_Load_SelectYuYuePeiJian(Convert.ToInt32(dgvResourceRelease.CurrentRow.Cells["预约单ID"].Value)).Tables[0];
            }
        }

 

 


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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值