MIP_ENQUIRY.pck - address back-end of #439.
mip_quotation.pck - address back-end of #442. mip_security.pck - track CGI environment variables as part of #454. mip_quotation.pck - store files with the correct flow_id; git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@4733 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
@@ -15,7 +15,6 @@ CREATE OR REPLACE PACKAGE mip_enquiry IS
|
||||
,required_mesc_code meters.mesc_code%TYPE);
|
||||
|
||||
-- Public function and procedure declarations
|
||||
FUNCTION delete_enquiry(p_enquiryid IN NUMBER) RETURN BOOLEAN;
|
||||
FUNCTION can_enquiry_be_deleted(p_enquiryid IN NUMBER) RETURN BOOLEAN;
|
||||
|
||||
FUNCTION get_enquiry_status(p_enquiryid IN NUMBER) RETURN VARCHAR2;
|
||||
@@ -73,6 +72,26 @@ CREATE OR REPLACE PACKAGE mip_enquiry IS
|
||||
,p_existing_mesc_code meters.mesc_code%TYPE
|
||||
,p_required_mesc_code meters.mesc_code%TYPE
|
||||
,p_existing_metr_code meters.code%TYPE) RETURN BOOLEAN;
|
||||
|
||||
/*
|
||||
FUNCTION delete_enquiry
|
||||
- This function returns the deletion status of the enquiry provided
|
||||
%param p_enqu_id id of the enquiry to be deleted
|
||||
%param p_message reason for not deleting enquiry
|
||||
%return boolean
|
||||
{*} TRUE - all quotes have been deleted
|
||||
{*} FALSE or UNKNOWN - quotes have not been deleted
|
||||
*/
|
||||
FUNCTION delete_enquiry(p_enqu_id IN enquiries.id%TYPE
|
||||
,p_message OUT VARCHAR2) RETURN BOOLEAN;
|
||||
|
||||
/*
|
||||
FUNCTION delete_enquiry
|
||||
- This function returns the deletion status of the enquiry provided
|
||||
%param p_enqu_id id of the enquiry to be deleted
|
||||
%return reason for not deleting enquiry or NULL
|
||||
*/
|
||||
FUNCTION delete_enquiry(p_enqu_id IN enquiries.id%TYPE) RETURN VARCHAR2;
|
||||
END mip_enquiry;
|
||||
/
|
||||
CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||
@@ -87,66 +106,8 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||
,p_in => p_in);
|
||||
/* $END*/
|
||||
END pl;
|
||||
|
||||
/*
|
||||
FUNCTION delete_enquiry
|
||||
- This function returns the status of the enquiry provided
|
||||
%param p_enquiryid - the enquiry we want to delete.
|
||||
%return boolean - whether the enquiry was deleted or not
|
||||
*/
|
||||
FUNCTION delete_enquiry(p_enquiryid IN NUMBER) RETURN BOOLEAN AS
|
||||
l_uri documents.uri%TYPE;
|
||||
l_doc_id documents.id%TYPE;
|
||||
l_count NUMBER := 0;
|
||||
CURSOR c_get_doc_id(cp_enq_id NUMBER) IS
|
||||
SELECT id
|
||||
FROM document_roles
|
||||
WHERE enqu_id = cp_enq_id;
|
||||
CURSOR c_get_uri(cp_id NUMBER) IS
|
||||
SELECT uri
|
||||
FROM documents
|
||||
WHERE id = cp_id;
|
||||
CURSOR c_get_document_files(cp_enq_id NUMBER) IS
|
||||
SELECT documents.uri
|
||||
FROM documents
|
||||
,document_roles
|
||||
WHERE document_roles.enqu_id = cp_enq_id
|
||||
AND documents.id = document_roles.docu_id;
|
||||
BEGIN
|
||||
--select count(*) into l_count from quotes where quotes.enqu_id=p_enquiryid;
|
||||
--if l_count > 0 then
|
||||
-- return false;
|
||||
--end if;
|
||||
IF NOT c_get_doc_id%ISOPEN THEN
|
||||
OPEN c_get_doc_id(p_enquiryid);
|
||||
END IF;
|
||||
FETCH c_get_doc_id
|
||||
INTO l_doc_id;
|
||||
CLOSE c_get_doc_id;
|
||||
|
||||
IF NOT c_get_uri%ISOPEN THEN
|
||||
OPEN c_get_uri(l_doc_id);
|
||||
END IF;
|
||||
FETCH c_get_uri
|
||||
INTO l_uri;
|
||||
CLOSE c_get_uri;
|
||||
|
||||
DELETE enquiry_roles
|
||||
WHERE enquiry_roles.enqu_id = p_enquiryid;
|
||||
DELETE enquiry_events
|
||||
WHERE enquiry_events.enqu_id = p_enquiryid;
|
||||
FOR doc_rec IN c_get_document_files(p_enquiryid) LOOP
|
||||
DELETE wwv_flow_files
|
||||
WHERE wwv_flow_files.NAME = doc_rec.uri;
|
||||
END LOOP;
|
||||
DELETE document_roles
|
||||
WHERE document_roles.enqu_id = p_enquiryid;
|
||||
DELETE documents
|
||||
WHERE documents.id = l_doc_id;
|
||||
DELETE enquiries
|
||||
WHERE enquiries.id = p_enquiryid;
|
||||
RETURN TRUE;
|
||||
END delete_enquiry;
|
||||
/*
|
||||
FUNCTION can_enquiry_be_deleted
|
||||
- This function returns the status of the enquiry provided
|
||||
- and associated quotes to see if it can be deleted
|
||||
@@ -156,14 +117,13 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||
FUNCTION can_enquiry_be_deleted(p_enquiryid IN NUMBER) RETURN BOOLEAN AS
|
||||
-- cursor to get the current enquiry
|
||||
CURSOR c_check_all_quotes(cp_enqu_id NUMBER) IS
|
||||
select count(qute_id)
|
||||
from v_current_quote_status
|
||||
where QUTE_ID in
|
||||
(SELECT ID
|
||||
FROM quotes
|
||||
WHERE enqu_id = cp_enqu_id)
|
||||
and QUST_CODE in ('SELECTED','ACCEPTED');
|
||||
l_quotes_cannot_del number := 0;
|
||||
SELECT COUNT(qute_id)
|
||||
FROM v_current_quote_status
|
||||
WHERE qute_id IN (SELECT id
|
||||
FROM quotes
|
||||
WHERE enqu_id = cp_enqu_id)
|
||||
AND qust_code IN ('SELECTED', 'ACCEPTED');
|
||||
l_quotes_cannot_del NUMBER := 0;
|
||||
BEGIN
|
||||
IF NOT c_check_all_quotes%ISOPEN THEN
|
||||
OPEN c_check_all_quotes(p_enquiryid);
|
||||
@@ -172,12 +132,67 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||
FETCH c_check_all_quotes
|
||||
INTO l_quotes_cannot_del;
|
||||
CLOSE c_check_all_quotes;
|
||||
if l_quotes_cannot_del > 0 then
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
end if;
|
||||
IF l_quotes_cannot_del > 0 THEN
|
||||
RETURN FALSE;
|
||||
ELSE
|
||||
RETURN TRUE;
|
||||
END IF;
|
||||
END can_enquiry_be_deleted;
|
||||
|
||||
/*
|
||||
FUNCTION delete_enquiry
|
||||
- This function returns the status of the enquiry provided
|
||||
%param p_enquiryid - the enquiry we want to delete.
|
||||
%return boolean - whether the enquiry was deleted or not
|
||||
*/
|
||||
FUNCTION delete_enquiry(p_enqu_id IN enquiries.id%TYPE
|
||||
,p_message OUT VARCHAR2) RETURN BOOLEAN IS
|
||||
l_enquiry_deleted BOOLEAN := TRUE;
|
||||
BEGIN
|
||||
pl('delete_enquiry:entry:' || p_enqu_id
|
||||
,$$PLSQL_LINE);
|
||||
--
|
||||
-- attempt to delete all associated quotes
|
||||
--
|
||||
IF NOT
|
||||
mip_quotation.delete_quotes_for_enquiry(p_enqu_id => p_enqu_id
|
||||
,p_message => p_message) THEN
|
||||
-- unable to delete quotations
|
||||
l_enquiry_deleted := FALSE;
|
||||
ELSE
|
||||
--
|
||||
-- delete all associations with this enquiry
|
||||
--
|
||||
|
||||
DELETE FROM quote_reasoning
|
||||
WHERE enqu_id = p_enqu_id;
|
||||
|
||||
DELETE FROM enquiry_events
|
||||
WHERE enqu_id = p_enqu_id;
|
||||
|
||||
DELETE FROM enquiry_roles
|
||||
WHERE enqu_id = p_enqu_id;
|
||||
|
||||
DELETE FROM enquiries
|
||||
WHERE id = p_enqu_id;
|
||||
|
||||
END IF;
|
||||
|
||||
RETURN(l_enquiry_deleted = TRUE);
|
||||
END delete_enquiry;
|
||||
|
||||
FUNCTION delete_enquiry(p_enqu_id IN enquiries.id%TYPE) RETURN VARCHAR2 IS
|
||||
l_message VARCHAR2(240);
|
||||
l_dummy BOOLEAN;
|
||||
BEGIN
|
||||
pl('delete_enquiry(msg):entry:' || p_enqu_id);
|
||||
|
||||
l_dummy := delete_enquiry(p_enqu_id => p_enqu_id
|
||||
,p_message => l_message);
|
||||
|
||||
pl('delete_enquiry(msg):exit:' || l_message);
|
||||
RETURN(l_message);
|
||||
END delete_enquiry;
|
||||
/*
|
||||
FUNCTION get_enquiry_status
|
||||
- This function returns the status of the enquiry provided
|
||||
@@ -242,7 +257,9 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||
,p_partyid IN NUMBER
|
||||
,p_rolecode IN VARCHAR2) RETURN BOOLEAN AS
|
||||
BEGIN
|
||||
pl('set_enquiry_role:entry:'||p_enquiryid||':'||p_partyid||':'||p_rolecode,$$plsql_line);
|
||||
pl('set_enquiry_role:entry:' || p_enquiryid || ':' || p_partyid || ':' ||
|
||||
p_rolecode
|
||||
,$$PLSQL_LINE);
|
||||
INSERT INTO enquiry_roles
|
||||
(enqu_id
|
||||
,prty_id
|
||||
@@ -254,12 +271,14 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||
,SYSDATE
|
||||
,p_rolecode);
|
||||
|
||||
pl('set_enquiry_role:exit',$$plsql_line);
|
||||
pl('set_enquiry_role:exit'
|
||||
,$$PLSQL_LINE);
|
||||
RETURN TRUE;
|
||||
--
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
pl('set_enquiry_role:EXCEPTION:'||SQLERRM,$$plsql_line);
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
pl('set_enquiry_role:EXCEPTION:' || SQLERRM
|
||||
,$$PLSQL_LINE);
|
||||
RAISE;
|
||||
END set_enquiry_role;
|
||||
--
|
||||
@@ -278,8 +297,10 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||
,p_rolecode IN VARCHAR2
|
||||
,p_description IN VARCHAR2) RETURN BOOLEAN AS
|
||||
BEGIN
|
||||
pl('set_enquiry_role:entry:'||p_enquiryid||':'||p_partyid||':'||p_rolecode||':'||p_description,$$plsql_line);
|
||||
|
||||
pl('set_enquiry_role:entry:' || p_enquiryid || ':' || p_partyid || ':' ||
|
||||
p_rolecode || ':' || p_description
|
||||
,$$PLSQL_LINE);
|
||||
|
||||
INSERT INTO enquiry_roles
|
||||
(enqu_id
|
||||
,prty_id
|
||||
@@ -293,13 +314,15 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||
,p_rolecode
|
||||
,p_description);
|
||||
|
||||
pl('set_enquiry_role:exit',$$plsql_line);
|
||||
|
||||
pl('set_enquiry_role:exit'
|
||||
,$$PLSQL_LINE);
|
||||
|
||||
RETURN TRUE;
|
||||
--
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
pl('set_enquiry_role:EXCEPTION:'||SQLERRM,$$plsql_line);
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
pl('set_enquiry_role:EXCEPTION:' || SQLERRM
|
||||
,$$PLSQL_LINE);
|
||||
RAISE;
|
||||
END set_enquiry_role;
|
||||
--
|
||||
@@ -584,8 +607,10 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||
l_dummy NUMBER;
|
||||
BEGIN
|
||||
|
||||
pl('show_qmax:entry:'||p_enty_code||':'||p_existing_metr_code||':'||p_existing_mesc_code||':'||p_required_mesc_code,$$PLSQL_LINE);
|
||||
|
||||
pl('show_qmax:entry:' || p_enty_code || ':' || p_existing_metr_code || ':' ||
|
||||
p_existing_mesc_code || ':' || p_required_mesc_code
|
||||
,$$PLSQL_LINE);
|
||||
|
||||
BEGIN
|
||||
SELECT NULL
|
||||
INTO l_dummy
|
||||
@@ -599,7 +624,8 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||
l_return := TRUE;
|
||||
EXCEPTION
|
||||
WHEN no_data_found THEN
|
||||
pl('show_qmax:QMAX IS HIDDEN',$$PLSQL_LINE);
|
||||
pl('show_qmax:QMAX IS HIDDEN'
|
||||
,$$PLSQL_LINE);
|
||||
l_return := FALSE;
|
||||
END;
|
||||
|
||||
@@ -617,14 +643,16 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||
l_required_mesc_enquiry := TRUE;
|
||||
EXCEPTION
|
||||
WHEN no_data_found THEN
|
||||
pl('show_qmax:NOT A REQUIRED MESC ENQUIRY',$$PLSQL_LINE);
|
||||
pl('show_qmax:NOT A REQUIRED MESC ENQUIRY'
|
||||
,$$PLSQL_LINE);
|
||||
l_required_mesc_enquiry := FALSE;
|
||||
END;
|
||||
|
||||
IF l_required_mesc_enquiry
|
||||
AND (nvl(p_required_mesc_code
|
||||
,'OTHER') <> 'OTHER') THEN
|
||||
pl('show_qmax:REQUIRED MESC NOT OTHER',$$PLSQL_LINE);
|
||||
pl('show_qmax:REQUIRED MESC NOT OTHER'
|
||||
,$$PLSQL_LINE);
|
||||
l_return := FALSE;
|
||||
ELSE
|
||||
BEGIN
|
||||
@@ -639,7 +667,8 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||
l_existing_mesc_enquiry := TRUE;
|
||||
EXCEPTION
|
||||
WHEN no_data_found THEN
|
||||
pl('show_qmax:NOT EXISTING MESC ENQUIRY',$$PLSQL_LINE);
|
||||
pl('show_qmax:NOT EXISTING MESC ENQUIRY'
|
||||
,$$PLSQL_LINE);
|
||||
l_existing_mesc_enquiry := FALSE;
|
||||
END;
|
||||
|
||||
@@ -650,13 +679,16 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||
,'OTHER') = 'OTHER' AND
|
||||
nvl(p_existing_mesc_code
|
||||
,'OTHER') <> 'OTHER')) THEN
|
||||
pl('show_qmax:EXISTING METR OR MESC NOT OTHER',$$PLSQL_LINE);
|
||||
pl('show_qmax:EXISTING METR OR MESC NOT OTHER'
|
||||
,$$PLSQL_LINE);
|
||||
l_return := FALSE;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
pl('show_qmax:exit:'||CASE l_return WHEN TRUE THEN 'TRUE' ELSE 'FALSE' END,$$PLSQL_LINE);
|
||||
|
||||
pl('show_qmax:exit:' || CASE l_return WHEN TRUE THEN 'TRUE' ELSE
|
||||
'FALSE' END
|
||||
,$$PLSQL_LINE);
|
||||
RETURN l_return;
|
||||
|
||||
END show_qmax;
|
||||
|
||||
Reference in New Issue
Block a user