From b2d31ed57e6b338def9fcc479433bfe557ea787e Mon Sep 17 00:00:00 2001 From: Deepa Date: Tue, 30 Apr 2024 04:34:34 +0000 Subject: [PATCH 1/5] Added toggle buttun to show P2 fee summany in BPA emp --- .../components/ApplicationDetailsContent.js | 2 +- .../components/ScruntinyDetails.js | 45 ++++++++++++++++--- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js index 45847043c02..f9d419612a3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js @@ -350,7 +350,7 @@ console.log("appl", applicationDetails) {detail?.belowComponent && } {detail?.additionalDetails?.inspectionReport && ( - + )} {applicationDetails?.applicationData?.additionalDetails?.fieldinspection_pending?.length > 0 && detail?.additionalDetails?.fiReport && ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ScruntinyDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ScruntinyDetails.js index c2bdaf77085..d6828cecbb4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ScruntinyDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ScruntinyDetails.js @@ -2,11 +2,22 @@ import { StatusTable, Row, PDFSvg, CardLabel, CardSubHeader,TextInput } from "@ import React, { Fragment,useEffect,useState } from "react"; import { useTranslation } from "react-i18next"; -const ScruntinyDetails = ({ scrutinyDetails, paymentsList=[],additionalDetails }) => { - const isEditApplication = window.location.href.includes("editApplication") && window.location.href.includes("bpa") ; +const ScruntinyDetails = ({ scrutinyDetails, paymentsList=[],additionalDetails,applicationData }) => { + const isEditApplication = (window.location.href.includes("editApplication") || applicationData?.status=="FIELDINSPECTION_INPROGRESS") && window.location.href.includes("bpa") ; const [development, setDevelopment] = useState() const [otherCharges, setOtherCharges] = useState() const [lessAdjusment, setLessAdjusment] = useState() + const styles = { + buttonStyle: { display: "flex", justifyContent: "flex-start", color: "#a82227" }, + headerStyle: { + marginTop: "10px", + fontSize: "16px", + fontWeight: "700", + lineHeight: "24px", + color: " rgba(11, 12, 12, var(--text-opacity))", + }, + }; + const [showSanctionFee, setShowSanctionFee] = useState(false); useEffect(()=>{ setDevelopment(additionalDetails?.selfCertificationCharges?.BPA_DEVELOPMENT_CHARGES); sessionStorage.setItem("development",additionalDetails?.selfCertificationCharges?.BPA_DEVELOPMENT_CHARGES); @@ -68,15 +79,38 @@ const ScruntinyDetails = ({ scrutinyDetails, paymentsList=[],additionalDetails } {window.location.href.includes("employee") && scrutinyDetails?.values[0]?.title=="BPA_APPL_FEES_DETAILS" &&
+ {!showSanctionFee && ( +
+ +
+ )} + {showSanctionFee && ( +
+ +
+ )} + {showSanctionFee && +
{t("BPA_P2_SUMMARY_FEE_EST")} {t("BPA_P2_SUMMARY_FEE_EST_MANUAL")} - {/* - - */} {t("BPA_COMMON_DEVELOPMENT_AMT")} {setLessAdjusmentVal(e.target.value)}} {...{ required: true, pattern: "^[0-9]*$", type: "text" }} /> +
}
}
From ff809fdeec7ee870c6f361244abedadd5ac2e134 Mon Sep 17 00:00:00 2001 From: Deepa Date: Tue, 30 Apr 2024 04:36:01 +0000 Subject: [PATCH 2/5] Removed total amount paid under Sanction fee --- .../packages/libraries/src/services/elements/OBPS.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/OBPS.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/OBPS.js index 0b527f7b442..01e8a8cf221 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/OBPS.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/OBPS.js @@ -350,7 +350,7 @@ export const OBPSService = { { title: "BPA_STATUS_LABEL", value: `${fetchBillRes?.Bill?.[0]?.totalAmount == 0 ? "Paid" : "Unpaid"}` } ) } - totalAmount > 0 && collectionBillArray.push({ title: "BPA_TOT_AMT_PAID", value: `₹${totalAmount}` }); + //totalAmount > 0 && collectionBillArray.push({ title: "BPA_TOT_AMT_PAID", value: `₹${totalAmount}` }); const billDetails = { title: "BPA_FEE_DETAILS_LABEL", From fd4d85b40194e7dc7a3bb3f4cf152041ee2028ce Mon Sep 17 00:00:00 2001 From: Deepa Date: Tue, 30 Apr 2024 04:42:45 +0000 Subject: [PATCH 3/5] Manual p2 fees editable at FI level --- .../ApplicationDetails/Modal/BPAActionModal.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js index c341a39b97d..6b0f5b28df8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js @@ -204,6 +204,13 @@ const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction, ] : null, }; + if (!sessionStorage.getItem("development") || !sessionStorage.getItem("otherCharges") || !sessionStorage.getItem("lessAdjusment") ){ + closeModal() + alert("Please fill P2 Manual Fees");} + else{ + applicationData.additionalDetails.selfCertificationCharges.BPA_DEVELOPMENT_CHARGES=sessionStorage.getItem("development"); + applicationData.additionalDetails.selfCertificationCharges.BPA_OTHER_CHARGES=sessionStorage.getItem("otherCharges"); + applicationData.additionalDetails.selfCertificationCharges.BPA_LESS_ADJUSMENT_PLOT=sessionStorage.getItem("lessAdjusment"); const nocDetails = applicationDetails?.nocData?.map(noc => { const uploadedDocuments = Digit.SessionStorage.get(noc?.nocType) || []; @@ -266,9 +273,9 @@ const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction, { submitAction({ BPA:applicationData - }, nocData?.length > 0 ? nocData : false, {isStakeholder: false, bpa: true}) - + }, nocData?.length > 0 ? nocData : false, {isStakeholder: false, bpa: true}) } + } } const closeModalNew = ()=>{ closeModal() From 408d64f5abec39a05e53298dfac16b1ec1ee01f8 Mon Sep 17 00:00:00 2001 From: Deepa Date: Tue, 30 Apr 2024 13:19:56 +0000 Subject: [PATCH 4/5] Added block reason field in BPA approver Block action --- .../citizen/BpaApplicationDetail/index.js | 7 +- .../Modal/BPAActionModal.js | 12 ++- .../config/BPAApproverApplication.js | 73 ++++++++++++++++++- .../templates/ApplicationDetails/index.js | 2 + 4 files changed, 89 insertions(+), 5 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/index.js index 153101a00e2..631ebd213e4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/index.js @@ -511,7 +511,12 @@ const BpaApplicationDetail = () => { {/* to get Fee values */} {detail?.additionalDetails?.inspectionReport && detail?.isFeeDetails && } - + {/*blocking reason*/} + {detail?.additionalDetails?.inspectionReport && detail?.isFeeDetails && (workflowDetails?.data?.actionState?.nextActions[0]?.state=="POST_PAYMENT_CITIZEN_APPROVAL_PENDING"|| workflowDetails?.data?.actionState?.state=="POST_PAYMENT_CITIZEN_APPROVAL_PENDING") && +
+ +
+ }
: null } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js index 6b0f5b28df8..56b7fb3f2d6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js @@ -23,7 +23,7 @@ const CloseBtn = (props) => { ); }; -const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction, actionData, applicationDetails, applicationData, businessService, moduleCode,workflowDetails }) => { +const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction, actionData, applicationDetails, applicationData, businessService, moduleCode,workflowDetails,blockReason }) => { const mutation1 = Digit.Hooks.obps.useObpsAPI( applicationData?.landInfo?.address?.city ? applicationData?.landInfo?.address?.city : tenantId, false @@ -41,7 +41,9 @@ const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction, const [config, setConfig] = useState({}); const [defaultValues, setDefaultValues] = useState({}); const [approvers, setApprovers] = useState([]); + const [blockReasonFiltered, setFilteredBlockReason] = useState([]); const [selectedApprover, setSelectedApprover] = useState({}); + const [selectedBlockReason, setBlockReason] = useState({}); const [file, setFile] = useState(null); const [uploadedFile, setUploadedFile] = useState(null); const [error, setError] = useState(null); @@ -174,7 +176,7 @@ const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction, applicationData = { ...applicationData, documents: getDocuments(applicationData), - additionalDetails: {...applicationData?.additionalDetails, fieldinspection_pending:getfeildInspection(applicationData), pendingapproval: getPendingApprovals() }, + additionalDetails: {...applicationData?.additionalDetails, fieldinspection_pending:getfeildInspection(applicationData), pendingapproval: getPendingApprovals(),blockingReason:selectedBlockReason?.name }, workflow:{ action: action?.action, comment: data?.comments?.length > 0 ? data?.comments : null, @@ -283,6 +285,7 @@ const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction, } useEffect(() => { + setFilteredBlockReason(blockReason?.map((blockReason) => ({ code: blockReason?.code, name: blockReason?.value }))); if (action) { setConfig( configBPAApproverApplication({ @@ -291,12 +294,15 @@ const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction, approvers, selectedApprover, setSelectedApprover, + selectedBlockReason, + setBlockReason, selectFile, uploadedFile, setUploadedFile, businessService, assigneeLabel: "WF_ASSIGNEE_NAME_LABEL", - error + error, + blockReasonFiltered }) ); } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/BPAApproverApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/BPAApproverApplication.js index c4f10dfd8b5..890fa7c17a0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/BPAApproverApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/BPAApproverApplication.js @@ -7,12 +7,15 @@ export const configBPAApproverApplication = ({ approvers, selectedApprover, setSelectedApprover, + selectedBlockReason, + setBlockReason, selectFile, uploadedFile, setUploadedFile, assigneeLabel, businessService, - error + error, + blockReasonFiltered }) => { let isRejectOrRevocate = false; if(action?.action == "REVOCATE" || action?.action == "REJECT" || action.action == "SKIP_PAYMENT" || action?.action == "SEND_BACK_TO_CITIZEN" || action?.action == "APPROVE") { @@ -24,6 +27,74 @@ export const configBPAApproverApplication = ({ isCommentRequired = true; } + if(action?.action=="BLOCK" && action?.state?.state=="PENDINGAPPROVAL"){ + return { + label: { + heading: `WF_${action?.action}_APPLICATION`, + submit: `WF_${businessService}_${action?.action}`, + cancel: "BPA_CITIZEN_CANCEL_BUTTON", + }, + form: [ + { + body: [ + { + label: action.isTerminateState || isRejectOrRevocate ? null : t(assigneeLabel || `WF_ROLE_${action.assigneeRoles?.[0]}`), + type: "dropdown", + populators: action.isTerminateState || isRejectOrRevocate ? null : ( + + ), + }, + { + label: action?.action=="BLOCK" && action?.state?.state=="PENDINGAPPROVAL" ? t(`BLOCK_REASON`):null , + type: "dropdown", + populators: !action?.action=="BLOCK" || !action?.state?.state=="PENDINGAPPROVAL" ? null : ( + + ), + }, + { + label: t("WF_COMMON_COMMENTS"), + type: "textarea", + isMandatory: true, + populators: { + name: "comments", + }, + }, + { + label: `${t("WF_APPROVAL_UPLOAD_HEAD")}`, + populators: ( + { + setUploadedFile(null); + }} + message={uploadedFile ? `1 ${t(`ES_PT_ACTION_FILEUPLOADED`)}` : t(`CS_ACTION_NO_FILEUPLOADED`)} + accept= "image/*, .pdf, .png, .jpeg, .jpg" + iserror={error} + /> + ), + }, + ], + }, + ], + }; + } + return { label: { heading: `WF_${action?.action}_APPLICATION`, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/index.js index 3b910ea46d5..a148a16a5d8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/index.js @@ -16,6 +16,7 @@ const ApplicationDetails = (props) => { let isEditApplication=window.location.href.includes("editApplication") && window.location.href.includes("bpa") ; const tenantId = Digit.ULBService.getCurrentTenantId(); const state = Digit.ULBService.getStateId(); + const { isLoadingg, data: blockReason } = Digit.Hooks.obps.useMDMS(state, "BPA", ["BlockReason"]); const { t } = useTranslation(); const history = useHistory(); let { id: applicationNumber } = useParams(); @@ -254,6 +255,7 @@ const ApplicationDetails = (props) => { businessService={businessService} workflowDetails={workflowDetails} moduleCode={moduleCode} + blockReason={blockReason?.BPA?.BlockReason} /> ) : null} {isWarningPop ? ( From 927424a6c4c53a30225a9a9761ed7975a36b2f95 Mon Sep 17 00:00:00 2001 From: Deepa Date: Tue, 30 Apr 2024 17:22:30 +0000 Subject: [PATCH 5/5] P2 changes --- .../src/pages/citizen/NewBuildingPermit/CheckPage.js | 12 +++++++++++- .../ApplicationDetails/Modal/BPAActionModal.js | 4 ++++ .../modules/templates/ApplicationDetails/index.js | 3 +++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/CheckPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/CheckPage.js index d77cdc83613..c329504f9cc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/CheckPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/CheckPage.js @@ -187,6 +187,16 @@ setWaterCharges(Malbafees/2) return } + function onSubmitCheck(){ + if(development && otherCharges && lessAdjusment){ + if(parseInt(lessAdjusment)>(parseInt(development)+parseInt(otherCharges)+parseInt(malbafees)+parseInt(labourCess)+parseInt(waterCharges)+parseInt(gaushalaFees))){ + alert("Enterd Less Adjustment amount is invalid"); + } + else{ + onSubmit(); + } + }} + function setOtherChargesVal(value) { if(/^[0-9]*$/.test(value)){ setOtherCharges(value); @@ -446,7 +456,7 @@ setWaterCharges(Malbafees/2)
{/* {t("BPA_COMMON_TOTAL_AMT")} ₹ {paymentDetails?.Bill?.[0]?.billDetails[0]?.amount || "0"} */} - + ); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js index 56b7fb3f2d6..262401afc2e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js @@ -209,6 +209,10 @@ const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction, if (!sessionStorage.getItem("development") || !sessionStorage.getItem("otherCharges") || !sessionStorage.getItem("lessAdjusment") ){ closeModal() alert("Please fill P2 Manual Fees");} + else if(parseInt(sessionStorage.getItem("lessAdjusment"))>(parseInt(sessionStorage.getItem("development"))+parseInt(sessionStorage.getItem("otherCharges"))+parseInt(applicationData?.additionalDetails?.selfCertificationCharges?.BPA_MALBA_CHARGES)+parseInt(applicationData?.additionalDetails?.selfCertificationCharges?.BPA_LABOUR_CESS)+parseInt(applicationData?.additionalDetails?.selfCertificationCharges?.BPA_WATER_CHARGES)+parseInt(applicationData?.additionalDetails?.selfCertificationCharges?.BPA_GAUSHALA_CHARGES_CESS))){ + closeModal() + alert("Enterd Less Adjustment amount is invalid"); + } else{ applicationData.additionalDetails.selfCertificationCharges.BPA_DEVELOPMENT_CHARGES=sessionStorage.getItem("development"); applicationData.additionalDetails.selfCertificationCharges.BPA_OTHER_CHARGES=sessionStorage.getItem("otherCharges"); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/index.js index a148a16a5d8..3da7a4f07e3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/index.js @@ -216,6 +216,9 @@ const ApplicationDetails = (props) => { bpaDetails.BPA.additionalDetails.selfCertificationCharges.BPA_LESS_ADJUSMENT_PLOT=sessionStorage.getItem("lessAdjusment"); if (!bpaDetails.BPA.additionalDetails.selfCertificationCharges.BPA_DEVELOPMENT_CHARGES || !bpaDetails.BPA.additionalDetails.selfCertificationCharges.BPA_OTHER_CHARGES || !bpaDetails.BPA.additionalDetails.selfCertificationCharges.BPA_LESS_ADJUSMENT_PLOT ){ alert("Please fill P2 Manual Fees");} + else if(parseInt(sessionStorage.getItem("lessAdjusment"))>(parseInt(sessionStorage.getItem("development"))+parseInt(sessionStorage.getItem("otherCharges"))+parseInt(bpaDetails?.BPA?.additionalDetails?.selfCertificationCharges?.BPA_MALBA_CHARGES)+parseInt(bpaDetails?.BPA?.additionalDetails?.selfCertificationCharges?.BPA_LABOUR_CESS)+parseInt(bpaDetails?.BPA?.additionalDetails?.selfCertificationCharges?.BPA_WATER_CHARGES)+parseInt(bpaDetails?.BPA?.additionalDetails?.selfCertificationCharges?.BPA_GAUSHALA_CHARGES_CESS))){ + alert("Enterd Less Adjustment amount is invalid"); + } else{ const response = await Digit.OBPSService.update(bpaDetails, tenantId); window.location.assign(window.location.href.split("/editApplication")[0]+window.location.href.split("editApplication")[1]);