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.
146 lines
4.7 KiB
146 lines
4.7 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
|
|
/****** Object: StoredProcedure [dbo].[EXCHANGE_PROC_COSTRATE_SETUP] Script Date: 7/4/2019 11:35:48 AM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
ALTER PROCEDURE [dbo].[EXCHANGE_PROC_COSTRATE_SETUP]
|
|
@flag VARCHAR(20),
|
|
@id INT = NULL,
|
|
@user VARCHAR(50) = NULL,
|
|
@agentName VARCHAR(500) = NULL,
|
|
@sortBy VARCHAR(50) = NULL,
|
|
@sortOrder VARCHAR(5) = NULL,
|
|
@pageSize INT = NULL,
|
|
@pageNumber INT = NULL,
|
|
@currencyRateId BIGINT = NULL,
|
|
@agentId BIGINT = NULL,
|
|
@buyTolerancePlus MONEY = NULL,
|
|
@buyToleranceMinus MONEY = NULL,
|
|
@saleTolerancePlus MONEY = NULL,
|
|
@saleToleranceMinus MONEY = NULL,
|
|
@buyRate MONEY = NULL,
|
|
@baseCurrency CHAR(3) = NULL,
|
|
@saleRate MONEY = NULL
|
|
|
|
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
IF @FLAG='S'
|
|
BEGIN
|
|
DECLARE
|
|
@selectFieldList VARCHAR(MAX)
|
|
,@extraFieldList VARCHAR(MAX)
|
|
,@table VARCHAR(MAX)
|
|
,@sqlFilter VARCHAR(MAX)
|
|
|
|
IF @sortBy IS NULL
|
|
SET @sortBy = 'agentName'
|
|
|
|
SET @table = '(
|
|
SELECT agentId,agentName,agentCode,agentAddress,agentPhone1,createdBy,createdDate
|
|
FROM dbo.agentMaster (NOLOCK) WHERE parentid = 1008 AND agentGrp = 11023
|
|
|
|
) x'
|
|
|
|
SET @sqlFilter = ''
|
|
IF @agentName IS NOT NULL
|
|
SET @sqlFilter +=' AND agentName LIKE '''+@agentName + '%'''
|
|
|
|
|
|
SET @selectFieldList = 'agentId,agentName,agentCode,agentAddress,agentPhone1,createdBy,createdDate'
|
|
|
|
EXEC dbo.proc_paging
|
|
@table
|
|
,@sqlFilter
|
|
,@selectFieldList
|
|
,@extraFieldList
|
|
,@sortBy
|
|
,@sortOrder
|
|
,@pageSize
|
|
,@pageNumber
|
|
|
|
RETURN
|
|
END
|
|
IF @flag='curCostRateAv' --currency cost rate avaiable
|
|
BEGIN
|
|
SELECT crs.rowId AS rowId, baseCurrency, quoteCurrency ,cm.currencyName AS currencyName, buyRate
|
|
, buyTolerancePlus,buyToleranceMinus,saleRate,saleTolerancePlus,saleToleranceMinus
|
|
FROM EXCHANGE_COSTRATE_SETUP (NOLOCK) crs
|
|
INNER JOIN dbo.currencyMaster (NOLOCK) cm ON cm.currencyCode=crs.quoteCurrency
|
|
AND crs.agentId=@agentId
|
|
RETURN
|
|
|
|
END
|
|
IF @flag='i'
|
|
BEGIN
|
|
BEGIN TRANSACTION
|
|
INSERT INTO dbo.EXCHANGE_COSTRATE_SETUP
|
|
(
|
|
baseCurrency, quoteCurrency, buyRate, buyTolerancePlus, buyToleranceMinus,
|
|
saleRate,saleTolerancePlus,saleToleranceMinus,agentId,modifiedBy,modifiedDate
|
|
)
|
|
SELECT cc.baseCurrency, cc.quoteCurrency, cc.buyRate, cc.buyTolerancePlus, cc.buyToleranceMinus,
|
|
cc.saleRate,cc.saleTolerancePlus,cc.saleToleranceMinus,@agentId,@user,GETDATE()
|
|
FROM EXCHANGE_CURRENCYRATE_SETUP cc
|
|
LEFT JOIN EXCHANGE_COSTRATE_SETUP c ON cc.baseCurrency=c.baseCurrency AND c.agentId=@agentId
|
|
WHERE c.baseCurrency IS NULL AND ISNULL(cc.active,'N')='Y'
|
|
|
|
--/*Register Account */
|
|
--IF NOT EXISTS(SELECT * FROM FastMoneyPro_Account.dbo.BillSetting (NOLOCK) WHERE company_id=@agentId)
|
|
-- BEGIN
|
|
-- INSERT INTO FastMoneyPro_Account.dbo.BillSetting(
|
|
-- company_id ,journal_voucher ,receipt_voucher ,contra_voucher ,payment_voucher ,manual_voucher ,fcy_purchase ,fcy_sales,CommonDate
|
|
-- )
|
|
-- SELECT 1,1,1,1,1,1,1,1,GETDATE()
|
|
-- END
|
|
|
|
--SET @agentName='Cash in Hand'
|
|
|
|
--/*Gl code assign*/
|
|
--IF NOT EXISTS(SELECT * FROM FastMoneyPro_Account.dbo.GL_Group (NOLOCK) WHERE p_id='22' AND gl_code=22 AND gl_Name=@agentName )
|
|
-- BEGIN
|
|
-- Exec FastMoneyPro_Account.dbo.procFindGLTreeShape @p_id='22',@gl_name = @agentName,@bal_grp='',@accountPrifix=''
|
|
-- END
|
|
--/*Account no */
|
|
--EXEC FastMoneyPro_Account.dbo.EXCHANGE_PROC_BRANCHCURR_ASSIGN @BRANCH_ID=@agentId,@user=@user
|
|
|
|
COMMIT TRANSACTION
|
|
SELECT 0 errorCode,'Rate updated successfully' MSG,null id
|
|
RETURN
|
|
END
|
|
IF @flag='u'
|
|
BEGIN
|
|
IF NOT EXISTS(
|
|
SELECT 'A' FROM currencyMaster C WITH(NOLOCK)
|
|
WHERE C.currencyCode = @baseCurrency
|
|
AND (@buyRate + ISNULL(@buyTolerancePlus,0)) BETWEEN C.rateMin AND C.rateMax
|
|
AND (@buyRate - ISNULL(@buyToleranceMinus,0)) BETWEEN C.rateMin AND C.rateMax
|
|
AND (@saleRate + ISNULL(@saleTolerancePlus,0)) BETWEEN C.rateMin AND C.rateMax
|
|
AND (@saleRate - ISNULL(@saleToleranceMinus,0)) BETWEEN C.rateMin AND C.rateMax
|
|
)
|
|
BEGIN
|
|
SELECT TOP 1 '1' CODE,'MIN and MAX rate must be lies between :'+CAST(C.rateMin AS VARCHAR)+' and '+CAST(C.rateMax AS VARCHAR)+' with Tolerance' MSG ,null id
|
|
FROM currencyMaster C WITH(NOLOCK)
|
|
WHERE C.currencyCode = @baseCurrency
|
|
RETURN;
|
|
END
|
|
|
|
UPDATE EXCHANGE_COSTRATE_SETUP SET
|
|
buyTolerancePlus = @buyTolerancePlus
|
|
,buyToleranceMinus = @buyToleranceMinus
|
|
,saleTolerancePlus = @saleTolerancePlus
|
|
,saleToleranceMinus = @saleToleranceMinus
|
|
,modifiedBy = @user
|
|
,modifiedDate = GETDATE()
|
|
WHERE rowId=@id AND agentId=@agentId
|
|
SELECT 0 errorCode,'Rate updated successfully' MSG,null id
|
|
RETURN
|
|
END
|
|
END
|
|
GO
|