⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 客户售后服务.sql

📁 手机进销存系统Delphi源码,管理手机的进货还有销售方面的功能
💻 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 + -