added delete_enquiry function so that web mip admin and i&c can delete enquiries
git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@3436 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
@@ -7,6 +7,7 @@ CREATE OR REPLACE PACKAGE mip_enquiry IS
|
|||||||
--
|
--
|
||||||
|
|
||||||
-- Public function and procedure declarations
|
-- Public function and procedure declarations
|
||||||
|
FUNCTION delete_enquiry(p_enquiryid IN NUMBER) RETURN BOOLEAN;
|
||||||
FUNCTION get_enquiry_status(p_enquiryid IN NUMBER) RETURN VARCHAR2;
|
FUNCTION get_enquiry_status(p_enquiryid IN NUMBER) RETURN VARCHAR2;
|
||||||
|
|
||||||
FUNCTION get_enquiry_role(p_enquiryid IN NUMBER
|
FUNCTION get_enquiry_role(p_enquiryid IN NUMBER
|
||||||
@@ -52,6 +53,58 @@ CREATE OR REPLACE PACKAGE mip_enquiry IS
|
|||||||
END mip_enquiry;
|
END mip_enquiry;
|
||||||
/
|
/
|
||||||
CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
|
||||||
|
/*
|
||||||
|
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 get_enquiry_status
|
FUNCTION get_enquiry_status
|
||||||
- This function returns the status of the enquiry provided
|
- This function returns the status of the enquiry provided
|
||||||
|
|||||||
Reference in New Issue
Block a user