You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
7.8 KiB
154 lines
7.8 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[spa_generate_calendar] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- spa_generate_calendar '2010-04-14',2062,31,31,31,32,31,31,29,30,29,30,29,31
|
|
|
|
CREATE procEDURE [dbo].[spa_generate_calendar]
|
|
@eng_date datetime,
|
|
@nepali_year int,
|
|
@baishakh int,
|
|
@jestha int,
|
|
@ashadh int,
|
|
@shrawan int,
|
|
@bhadra int,
|
|
@ashwin int,
|
|
@kartik int,
|
|
@mangshir int,
|
|
@poush int,
|
|
@magh int,
|
|
@falgun int,
|
|
@chaitra int
|
|
|
|
as
|
|
begin
|
|
|
|
|
|
declare @nepali_date varchar(20),@nep_day int,@nep_month int,
|
|
@total_date_diff int,@counter int,@counter_date datetime, @counter_diff int, @daysinyear int
|
|
|
|
|
|
set @daysinyear=@baishakh + @jestha +@ashadh +@shrawan + @bhadra + @ashwin + @kartik + @mangshir + @poush + @magh + @falgun + @chaitra
|
|
|
|
|
|
set @nep_day=1
|
|
set @nep_month=1
|
|
|
|
--@total_date_diff=365
|
|
--set @total_date_diff=datediff(d,@eng_date,dateadd(yy,1,@eng_date))
|
|
set @total_date_diff=datediff(d,@eng_date,dateadd(d,@daysinyear,@eng_date))
|
|
|
|
set @counter=0
|
|
--First Date
|
|
|
|
|
|
while @counter < @total_date_diff
|
|
begin
|
|
set @counter_date=dateadd(d,@counter,@eng_date)
|
|
|
|
if @counter<@baishakh
|
|
begin
|
|
set @nep_day=@counter+1
|
|
set @nep_month=1
|
|
end
|
|
else if @counter < @baishakh+@jestha
|
|
begin
|
|
set @nep_day=@counter-@baishakh + 1
|
|
set @nep_month=2
|
|
end
|
|
|
|
else if @counter < @baishakh+@jestha+@ashadh
|
|
begin
|
|
set @nep_day=@counter-@baishakh-@jestha +1
|
|
set @nep_month=3
|
|
end
|
|
|
|
else if @counter < @baishakh+@jestha+@ashadh+@shrawan
|
|
begin
|
|
set @nep_day=@counter-@baishakh-@jestha-@ashadh +1
|
|
set @nep_month=4
|
|
end
|
|
|
|
else if @counter < @baishakh+@jestha+@ashadh+@shrawan+@bhadra
|
|
begin
|
|
set @nep_day=@counter-@baishakh-@jestha-@ashadh-@shrawan + 1
|
|
set @nep_month=5
|
|
end
|
|
|
|
else if @counter < @baishakh+@jestha+@ashadh+@shrawan+@bhadra+@ashwin
|
|
begin
|
|
set @nep_day=@counter-@baishakh-@jestha-@ashadh-@shrawan-@bhadra + 1
|
|
set @nep_month=6
|
|
end
|
|
|
|
else if @counter < @baishakh+@jestha+@ashadh+@shrawan+@bhadra+@ashwin+@kartik
|
|
begin
|
|
set @nep_day=@counter-@baishakh-@jestha-@ashadh-@shrawan-@bhadra-@ashwin + 1
|
|
set @nep_month=7
|
|
end
|
|
|
|
else if @counter < @baishakh+@jestha+@ashadh+@shrawan+@bhadra+@ashwin+@kartik+@mangshir
|
|
begin
|
|
set @nep_day=@counter-@baishakh-@jestha-@ashadh-@shrawan-@bhadra-@ashwin-@kartik + 1
|
|
set @nep_month=8
|
|
end
|
|
|
|
else if @counter < @baishakh+@jestha+@ashadh+@shrawan+@bhadra+@ashwin+@kartik+@mangshir+@poush
|
|
begin
|
|
set @nep_day=@counter-@baishakh-@jestha-@ashadh-@shrawan-@bhadra-@ashwin-@kartik-@mangshir + 1
|
|
set @nep_month=9
|
|
end
|
|
|
|
else if @counter < @baishakh+@jestha+@ashadh+@shrawan+@bhadra+@ashwin+@kartik+@mangshir+@poush+@magh
|
|
begin
|
|
set @nep_day=@counter-@baishakh-@jestha-@ashadh-@shrawan-@bhadra-@ashwin-@kartik-@mangshir-@poush + 1
|
|
set @nep_month=10
|
|
end
|
|
|
|
else if @counter < @baishakh+@jestha+@ashadh+@shrawan+@bhadra+@ashwin+@kartik+@mangshir+@poush+@magh+@falgun
|
|
begin
|
|
set @nep_day=@counter-@baishakh-@jestha-@ashadh-@shrawan-@bhadra-@ashwin-@kartik-@mangshir-@poush-@magh + 1
|
|
set @nep_month=11
|
|
end
|
|
|
|
else if @counter < @baishakh+@jestha+@ashadh+@shrawan+@bhadra+@ashwin+@kartik+@mangshir+@poush+@magh+@falgun+@chaitra
|
|
begin
|
|
set @nep_day=@counter-@baishakh-@jestha-@ashadh-@shrawan-@bhadra-@ashwin-@kartik-@mangshir-@poush-@magh-@falgun + 1
|
|
set @nep_month=12
|
|
end
|
|
|
|
set @nepali_date=dbo.FNAFormatNumber(@nep_month)+'-'+dbo.FNAFormatNumber(@nep_day)+'-'+cast(@nepali_year as varchar)
|
|
|
|
|
|
insert tbl_calendar values(@counter_date,@nepali_date)
|
|
set @counter=@counter+1
|
|
|
|
update tbl_setup
|
|
set
|
|
baisakh=@baishakh,
|
|
jestha=@jestha,
|
|
ashadh=@ashadh,
|
|
shrawan=@shrawan,
|
|
bhadra=@bhadra,
|
|
ashwin=@ashwin,
|
|
kartik=@kartik,
|
|
mangshir=@mangshir,
|
|
paush=@poush,
|
|
magh=@magh,
|
|
falgun=@falgun,
|
|
chaitra=@chaitra
|
|
|
|
end
|
|
end
|
|
|
|
|
|
--truncate table tbl_calendar
|
|
|
|
|
|
|
|
|
|
GO
|