📄 客户售后服务.sql
字号:
/***********************************************
客户售后服务存储过程
作者:陈银军
日期:2005.8.10
***********************************************/
CREATE PROCEDURE pSjkfDetail
@VAct int,--操作类型,0-5(0:退货还钱,1:换机现货2:换机无现货3:换不同类机,4:折价收购,5:返厂质保)
@Vbad int,--手机是否有异常0:无异常,1:有异常
@Vhrxx char(12),--退货手机的串号入库流水号
@Vdat datetime,--退库日期
@Vmon money,--手机价钱
@vbea char(200),--报损原因
@vsjxh char(5),--手机型号
@vjbpz char(4),--基本配置
@vmemo char(200),--进货记录单备注
@Vno char(16),--手机串号
@vcolor char(4),--手机颜色
@OutNumber char(13) output --返回的内部单号
AS
begin
declare @Symbol nvarchar(2)
declare @ErrorMsg nvarchar(200)
declare @hrcid char(12)
declare @thid char(12)
declare @tempid char(12)
declare @IDType char(2)
declare @temp char(1)
declare @numb int
declare @fuse char(1)
Set NoCount On
Begin Tran
--设定延时
SET LOCK_TIMEOUT 5000
set @numb=4
if @vact=0 or @vact=1-- or @vact=3
begin
--得到流水号
set @IDType='KT'--流水号的ID关键字
exec pGetID @IDType,@numb,@OutNumber Output
if @@Error<>0
Goto Failed
set @tempid=@OutNumber
--INSERT退货记录表
if @vact=0 --代表退货退钱的情况
insert into tkhth(fid,fhrxx,fdate,fuse)values(@tempid,@vhrxx,@vdat,'F')
if @@Error<>0 Goto Failed
if @vact=1 --代表换机的情况
insert into tkhth(fid,fhrxx,fdate,fuse)values(@tempid,@vhrxx,@vdat,'T')
if @@Error<>0 Goto Failed
--机子出现了故障
if @vbad=1 --填报损表
begin
set @IDType='BS'--报损表流水号的ID关键字
set @numb=4
exec pGetID @IDType,@numb,@OutNumber Output
if @@Error<>0 Goto Failed
set @tempid=@OutNumber
insert into tbs(fid,fhrxx,fdate,fmemo)values(@tempid,@vhrxx,@vdat,ltrim(rtrim(@vbea)))
if @@Error<>0 Goto Failed
end
if @vbad=0 --没有损坏,则手机重新入库,
begin
--首先进行进货单的填写
--得到进货单的流水号
set @IDType='SR'--进货单流水号的ID关键字
set @numb=4
exec pGetID @IDType,@numb,@OutNumber Output
if @@Error<>0 Goto Failed
set @tempid=@OutNumber
set @hrcid=@OutNumber
insert into thrc(fid,fsjxh,fnum,fjbpz,fmon,fhylx,fdate,fmemo,fhyd) values(@tempid,@vsjxh,1,@VJbpz,@VMon,'KT',@vdat,@vmemo,'HY02')
if @@Error<>0 Goto Failed
--再次进行手机串号的入库记录
--得到串号入库的流水号
set @IDType='SX'--进货单流水号的ID关键字
set @numb=4
exec pGetID @IDType,@numb,@OutNumber Output
if @@Error<>0 Goto Failed
set @tempid=@OutNumber
insert into thrxx(fid,fno,fcolor,fhrcid) values(@tempid,@vno,@vcolor,@hrcid)
if @@Error<>0 Goto Failed
end
end
if @vact=2 or @vact=4
begin
if @vact=2 set @temp='T'--为2的时候,是进行的换货处理,但不填写退货单,'T',
--在此以后做0进货入库,0销售的标准
if @vact=4 set @temp='F'--为4时,仅仅只是帮客户返到厂家进行维修,换货回来重新入库,但不是手机入库,是记录所需要的差价
--都要填报损表
set @IDType='BS'--报损表流水号的ID关键字
set @numb=4
exec pGetID @IDType,@numb,@OutNumber Output
if @@Error<>0 Goto Failed
set @tempid=@OutNumber
insert into tbs(fid,fhrxx,fdate,fmemo,fuse)values(@tempid,@vhrxx,@vdat,ltrim(rtrim(@vbea)),@temp)
if @@Error<>0 Goto Failed
--填取货等待表
set @IDType='HD'--报损表流水号的ID关键字
set @numb=4
exec pGetID @IDType,@numb,@OutNumber Output
if @@Error<>0 Goto Failed
set @tempid=@OutNumber
insert into thhdd(fid,fdate,fhrxx,fuse)values(@tempid,@vdat,@vhrxx,@temp)
if @@Error<>0 Goto Failed
end
if @vact=3--折价收购
begin
--首先进行进货单的填写
--得到进货单的流水号
set @IDType='SR'--进货单流水号的ID关键字
set @numb=4
exec pGetID @IDType,@numb,@OutNumber Output
if @@Error<>0 Goto Failed
set @tempid=@OutNumber
set @hrcid=@OutNumber
insert into thrc(fid,fsjxh,fnum,fjbpz,fmon,fhylx,fdate,fmemo,fhyd) values(@tempid,@vsjxh,1,@VJbpz,@VMon,'SG',@vdat,@vmemo,'HY01')
if @@Error<>0 Goto Failed
--再次进行手机串号的入库记录
--得到串号入库的流水号
set @IDType='SX'--进货单流水号的ID关键字
set @numb=4
exec pGetID @IDType,@numb,@OutNumber Output
if @@Error<>0 Goto Failed
set @tempid=@OutNumber
insert into thrxx(fid,fno,fcolor,fhrcid) values(@tempid,@vno,@vcolor,@hrcid)
if @@Error<>0 Goto Failed
end
Goto Succeed
Failed:
RaisError(@ErrorMsg,16,1)
Rollback Tran
Set NoCount Off
Return 1
Succeed:
Commit Tran
Set NoCount Off
Return 0
End
GO
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -