?? 客戶售后服務.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 + -