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.
202 lines
12 KiB
202 lines
12 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_paidEODRemit] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
-- exec proc_paidEODRemit @user='admin',@TRANID='501'
|
|
-- PAID TRANSACTION EOD process
|
|
|
|
CREATE PROC [dbo].[proc_paidEODRemit]
|
|
@USER VARCHAR(200) ,
|
|
--@DATE VARCHAR(20) = null,
|
|
@TRANID VARCHAR(50)
|
|
AS
|
|
|
|
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[#TEMPEODTABLE]') AND type in (N'U'))
|
|
DROP TABLE [dbo].[#TEMPEODTABLE]
|
|
--go
|
|
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[#tempTRNEOD]') AND type in (N'U'))
|
|
DROP TABLE [dbo].[#tempTRNEOD]
|
|
--go
|
|
|
|
--DECLARE @USER VARCHAR(100),@DATE VARCHAR(20)
|
|
--SET @USER='SYSTEM'
|
|
--SET @DATE = '2012-03-11'
|
|
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
|
|
DECLARE
|
|
@ref_num INT
|
|
,@intPartId INT
|
|
,@intTotalRows INT
|
|
,@strAccountNum VARCHAR(20)
|
|
,@strTranType VARCHAR(20)
|
|
,@TRN_AMT MONEY
|
|
,@IMEHO_PRINCIPAL VARCHAR(30)
|
|
,@IMEHO_REC VARCHAR(30)
|
|
,@COMMISSION_INCOME VARCHAR(30)
|
|
|
|
SET @IMEHO_PRINCIPAL = '301000251'
|
|
SET @IMEHO_REC = '501000455'
|
|
SET @COMMISSION_INCOME = '801000511'
|
|
|
|
|
|
SELECT PHub,PSuperAgent,PAgent,SUM(ISNULL(PAmt,0)) [PAmt],SUM(ISNULL(PSuperAgentComm,0)) [PSuperAgentComm]
|
|
,SUM(isnull(pHubComm,0)) [PHubComm],SUM(isnull(PAgentComm,0)) [PAgentComm]
|
|
INTO #TEMPEODTABLE
|
|
FROM remitTran WITH (NOLOCK)
|
|
WHERE payEOD IS NULL AND pAmt IS NOT NULL
|
|
AND id = @TRANID AND paidDate IS NOT NULL
|
|
--AND paidDate BETWEEN @DATE AND @DATE + ' 23:59:59'
|
|
GROUP BY pHub,pSuperAgent,pAgent
|
|
|
|
IF NOT EXISTS(SELECT TOP 1 * FROM #TEMPEODTABLE)
|
|
BEGIN
|
|
|
|
EXEC proc_errorHandler 1, '<FONT COLOR="RED">NO TRN FOUND</FONT>',NULL
|
|
RETURN;
|
|
|
|
END
|
|
|
|
|
|
|
|
SELECT
|
|
IDENTITY(INT,1,1) AS SN,*
|
|
INTO #tempTRNEOD
|
|
FROM (
|
|
|
|
--- SENDING AGENT PRINCIPAL AC
|
|
SELECT a.acct_num AS ACCT_NUM,'CR' AS TRN_TYPE
|
|
,SUM(ISNULL(PAmt,0))AS amt,a.acct_rpt_code
|
|
FROM #TEMPEODTABLE p JOIN ac_master a ON a.agent_id=p.pAgent
|
|
WHERE a.acct_rpt_code=22
|
|
GROUP BY acct_num,a.acct_rpt_code
|
|
|
|
UNION ALL
|
|
--- IME HO PRINCIPAL AC
|
|
SELECT @IMEHO_PRINCIPAL AS ACCT_NUM,'DR' AS TRN_TYPE
|
|
,SUM(ISNULL(PAmt,0))AS amt,null
|
|
FROM #TEMPEODTABLE
|
|
|
|
UNION ALL
|
|
-- IME HO COMMISSION AC
|
|
SELECT @IMEHO_REC AS ACCT_NUM,'DR' AS TRN_TYPE
|
|
,SUM(ISNULL(pHubComm,0))AS amt,NULL
|
|
FROM #TEMPEODTABLE
|
|
|
|
UNION ALL
|
|
--- SENDING AGENT COMMISSION AC
|
|
|
|
SELECT a.acct_num AS ACCT_NUM,'CR' AS TRN_TYPE
|
|
,SUM(ISNULL(PAgentComm,0))AS amt,a.acct_rpt_code
|
|
FROM #TEMPEODTABLE p JOIN ac_master a ON a.agent_id=p.PAgent
|
|
WHERE a.acct_rpt_code=2
|
|
GROUP BY acct_num,a.acct_rpt_code
|
|
|
|
UNION ALL
|
|
|
|
--- SUPER AGENT COMMISSION AC
|
|
SELECT a.acct_num AS ACCT_NUM,'CR' AS TRN_TYPE
|
|
, SUM(ISNULL(P.PSuperAgentComm,0))AS amt,a.acct_rpt_code
|
|
FROM #TEMPEODTABLE p JOIN ac_master a ON a.agent_id=p.PSuperAgent
|
|
GROUP BY acct_num,a.acct_rpt_code
|
|
|
|
UNION ALL
|
|
--- COMMISSION INCOME COMMISSION AC
|
|
SELECT @COMMISSION_INCOME AS ACCT_NUM,'CR' AS TRN_TYPE
|
|
,SUM(ISNULL(pHubComm,0)-(ISNULL(PAgentComm,0)+ISNULL(PSuperAgentComm,0)))AS amt,NULL
|
|
FROM #TEMPEODTABLE
|
|
|
|
)a
|
|
-- WHERE amt<>0
|
|
|
|
--select * from #tempTRNEOD
|
|
--select * from #TEMPEODTABLE
|
|
--RETURN
|
|
|
|
DECLARE @totalDR MONEY,@totalCR MONEY
|
|
|
|
SELECT @totalDR=isnull(sum(amt),0) from #tempTRNEOD WITH (NOLOCK)
|
|
WHERE TRN_TYPE='DR' GROUP BY TRN_TYPE
|
|
|
|
SELECT @totalCR=isnull(sum(amt),0) from #tempTRNEOD WITH (NOLOCK)
|
|
WHERE TRN_TYPE='CR' group by TRN_TYPE
|
|
|
|
|
|
|
|
-- conditions 1 for Total DR CR equal
|
|
|
|
IF ISNULL(@totalDR,0)<>ISNULL(@totalCR,0)
|
|
BEGIN
|
|
EXEC proc_errorHandler 1, '<FONT COLOR="RED">DR and CR amount not Equal</font>' ,NULL
|
|
RETURN
|
|
END
|
|
|
|
|
|
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
|
|
BEGIN TRANSACTION
|
|
|
|
SELECT @ref_num=ISNULL(TRAN_VOUCHER,1) FROM billSetting
|
|
|
|
UPDATE billSetting SET TRAN_VOUCHER = ISNULL(TRAN_VOUCHER,1)+1
|
|
|
|
|
|
-------##################### UPPDATE REMITTRAN TABLE SENDEOD FLAG
|
|
UPDATE remitTran SET payEOD='Y'
|
|
FROM remitTran WITH (NOLOCK)
|
|
WHERE payEOD IS NULL AND ID = @TRANID
|
|
--AND approvedDate BETWEEN @DATE AND @DATE + ' 23:59:59'
|
|
|
|
--### UPDATE CLR BAL AMT
|
|
UPDATE ac_master SET
|
|
CLR_BAL_AMT=CASE
|
|
WHEN t.TRN_TYPE='DR' THEN ISNULL(CLR_BAL_AMT,0) - ISNULL(t.amt,0)
|
|
ELSE ISNULL(CLR_BAL_AMT,0) - ISNULL(-t.amt,0)
|
|
END
|
|
FROM ac_master AS a
|
|
INNER JOIN #tempTRNEOD AS t ON a.acct_num = t.acct_num
|
|
|
|
----------------------------------------------
|
|
SELECT @intPartId=max(SN) FROM #tempTRNEOD
|
|
SET @intTotalRows=1
|
|
WHILE @intPartId >= @intTotalRows
|
|
BEGIN
|
|
|
|
SELECT @strAccountNum=ACCT_NUM,@strTranType=TRN_TYPE ,@TRN_AMT = amt
|
|
FROM #tempTRNEOD WHERE SN=@intTotalRows
|
|
|
|
Exec ProcDrCrUpdateFinal @strTranType,@strAccountNum,@TRN_AMT
|
|
|
|
SET @intTotalRows=@intTotalRows+1
|
|
END
|
|
---------------------------------------------
|
|
|
|
INSERT INTO tran_master (entry_user_id,acc_num,gl_sub_head_code,rpt_code,part_tran_type
|
|
,ref_num,tran_amt,tran_date,tran_type,company_id,part_tran_srl_num,created_date,acct_type_code)
|
|
SELECT @USER,c.acct_num,dbo.FNAGetGLCode(c.acct_num),'PAID' ,TRN_TYPE
|
|
,@ref_num,amt,GETDATE(),'t','1',ROW_NUMBER() OVER(ORDER BY TRN_TYPE desc) AS SrNo,GETDATE(),acct_rpt_code
|
|
from #tempTRNEOD c
|
|
|
|
|
|
INSERT INTO [tran_masterDetail]([ref_num] ,[tran_particular],company_id,tranDate,tran_type)
|
|
SELECT TOP 1 @ref_num,'EOD of paid transaction: '+ CONVERT(VARCHAR(20), GETDATE(),102) ,'1',GETDATE(),'t'
|
|
|
|
--SELECT * FROM tran_master WHERE rpt_code='PAID'
|
|
--SELECT * FROM tran_masterDetail
|
|
|
|
COMMIT TRANSACTION
|
|
--ROLLBACK TRANSACTION
|
|
|
|
--EXEC proc_errorHandler 0, '<font color="green">EOD Update successsfully for paid transaction please check daily reports</font>',NULL
|
|
|
|
|
|
END
|
|
|
|
|
|
GO
|