USE [namedatabase] GO /****** Object: StoredProcedure [dbo].[Insert_Tbl_Tafzili_final_3] Script Date: 07/12/2026 02:49:15 ب.ظ ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[Insert_Tbl_Tafzili_final_3] @fldNoeHesab nvarchar(15), @fldSharheTafzili nvarchar(200), @fldCodeTafzili nvarchar(10), @fldCodeNoe nvarchar(5), --set "1" @fldNoe nvarchar(10), @fldCodeGroup bigint, @fldCodeGroup2 bigint, @fldOstan nvarchar(50), @fldCity nvarchar(50), @fldAddress nvarchar(200), @fldShomareHesab nvarchar(20), @fldCodeMeli nvarchar(20), @fldCodeEghtesadi nvarchar(20), @fldDescription nvarchar(250), @fldCodePosti nvarchar(20), @fldShomareSabt nvarchar(20), @fldSaghfeEtebar decimal, @fldBlackList nvarchar(5), @fldSharhBlackList nvarchar(100), @fldDate1 bigint, @fldDate2 bigint, @fldVisitor bigint, @fldPic nvarchar(300), @fldNoeVizitor int, @fldPoorsant decimal(18,2), @fldCodeSuperVisor nvarchar(10), @fldNoeMohasebePoorsant int, @fldDarsadTakhfif decimal(18,2), @fldHaghighi int, @NoeSooratMoadian int, @fldName nvarchar(30), @fldShobe nvarchar(15), @fldCodeNaghsh nvarchar(20), @flagSabtOK int output, @iDTafsiliReturned bigint output, @flagReturnChkCodeTafzili int output as begin set @flagSabtOK=0 declare @LenNumber int declare @TafziliCode_Create bigint declare @CountTafzili_in_TblTafzili int declare @MaxCodeTafzili bigint declare @chkCodeTafzili bigint Declare @Convert_TafziliCode_Create nvarchar(10) Declare @Convert_TafziliCode_Create2 nvarchar(10) set @fldVisitor=isnull(@fldVisitor,0) set @LenNumber=(select fldTafzili from tblPaye) set @CountTafzili_in_TblTafzili=(select COUNT(CONVERT(bigint,fldCodeTafzili)) from tblTafzili) if(@CountTafzili_in_TblTafzili =0) begin if(@LenNumber >0) begin set @TafziliCode_Create=POWER(10,@lennumber-1) set @TafziliCode_Create=@TafziliCode_Create+1 -- set @Convert_TafziliCode_Create=CONVERT(nvarchar(10),@TafziliCode_Create) insert into tblTafzili( fldNoeHesab,fldSharheTafzili,fldCodeTafzili,fldCodeNoe, fldNoe,fldCodeGroup,fldCodeGroup2,fldOstan,fldCity,fldAddress, fldShomareHesab,fldCodeMeli,fldCodeEghtesadi,fldDescription, fldCodePosti,fldShomareSabt,fldSaghfeEtebar, fldBlackList,fldSharhBlackList, fldDate1,fldDate2, fldVisitor, fldPic,fldNoeVizitor,fldPoorsant,fldCodeSuperVisor,fldNoeMohasebePoorsant,fldDarsadtakhfif,fldHaghighi,fldNoeSooratMoadian,fldName,fldShobe,fldCodeNaghsh) values (@fldNoeHesab,@fldSharheTafzili,@Convert_TafziliCode_Create,@fldCodeNoe, @fldNoe,@fldCodeGroup,@fldCodeGroup2,@fldOstan,@fldCity,@fldAddress, @fldShomareHesab,@fldCodeMeli,@fldCodeEghtesadi,@fldDescription, @fldCodePosti,@fldShomareSabt,@fldSaghfeEtebar, @fldBlackList,@fldSharhBlackList, @fldDate1,@fldDate2, @fldVisitor, @fldPic,@fldNoeVizitor,@fldPoorsant,@fldCodeSuperVisor,@fldNoeMohasebePoorsant,@fldDarsadTakhfif,@fldHaghighi,@NoeSooratMoadian ,@fldName,@fldShobe,@fldCodeNaghsh) set @flagSabtOK=1 set @iDTafsiliReturned=@TafziliCode_Create -- end else begin return end end else if @CountTafzili_in_TblTafzili > 0 ---یعنی کد قبل از ایجاد شده و باید یه رقم به آن اضافه شود begin set @MaxCodeTafzili=(select MAX(CONVERT(bigint,fldCodeTafzili)) from tblTafzili) ------------------------------------------------------------ باید چک شود کد تفیلی خارج از محدوده نباشد set @chkCodeTafzili=POWER(10,@lennumber)-1 -- orginal --if @chkCodeTafzili <= @MaxCodeTafzili --orginal Error --if @MaxCodeTafzili >= @chkCodeTafzili -- Fixed 96-03-01 Is Worked OK! --begin -- set @flagReturnChkCodeTafzili=1 -- return --end ------------------------------------------------------------ if isnumeric(@fldCodeTafzili)=1 begin declare @cnt int set @cnt=(select count(fldCodetafzili) from tblTafzili where fldCodeTafzili=@fldCodeTafzili) if @cnt>0 begin set @flagSabtOK=-1 return end else set @MaxCodeTafzili=@fldCodeTafzili end else set @MaxCodeTafzili=@MaxCodeTafzili+1 set @Convert_TafziliCode_Create2=CONVERT(nvarchar(10),@MaxCodeTafzili) insert into tblTafzili ( fldNoeHesab,fldSharheTafzili,fldCodeTafzili,fldCodeNoe, fldNoe,fldCodeGroup,fldCodeGroup2,fldOstan,fldCity,fldAddress, fldShomareHesab,fldCodeMeli,fldCodeEghtesadi,fldDescription, fldCodePosti,fldShomareSabt,fldSaghfeEtebar, fldBlackList,fldSharhBlackList, fldDate1,fldDate2, fldVisitor, fldPic,fldNoeVizitor,fldPoorsant,fldCodeSuperVisor,fldNoeMohasebePoorsant,fldDarsadtakhfif,fldHaghighi,fldNoeSooratMoadian,fldName,fldShobe,fldCodeNaghsh) values (@fldNoeHesab,@fldSharheTafzili,@Convert_TafziliCode_Create2,@fldCodeNoe, @fldNoe,@fldCodeGroup,@fldCodeGroup2,@fldOstan,@fldCity,@fldAddress, @fldShomareHesab,@fldCodeMeli,@fldCodeEghtesadi,@fldDescription, @fldCodePosti,@fldShomareSabt,@fldSaghfeEtebar, @fldBlackList,@fldSharhBlackList, @fldDate1,@fldDate2, @fldVisitor, @fldPic,@fldNoeVizitor,@fldPoorsant,@fldCodeSuperVisor,@fldNoeMohasebePoorsant,@fldDarsadtakhfif,@fldHaghighi,@NoeSooratMoadian,@fldName,@fldShobe,@fldCodeNaghsh) set @flagSabtOK=1 set @iDTafsiliReturned=@MaxCodeTafzili end END