Skip to content

Commit 5856044

Browse files
authored
Merge pull request #1080 from deepa-s-13/Dev-2.0
OBPAS CHANGES
2 parents 65990df + 927424a commit 5856044

File tree

8 files changed

+158
-15
lines changed

8 files changed

+158
-15
lines changed

frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/OBPS.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ export const OBPSService = {
350350
{ title: "BPA_STATUS_LABEL", value: `${fetchBillRes?.Bill?.[0]?.totalAmount == 0 ? "Paid" : "Unpaid"}` }
351351
)
352352
}
353-
totalAmount > 0 && collectionBillArray.push({ title: "BPA_TOT_AMT_PAID", value: `₹${totalAmount}` });
353+
//totalAmount > 0 && collectionBillArray.push({ title: "BPA_TOT_AMT_PAID", value: `₹${totalAmount}` });
354354

355355
const billDetails = {
356356
title: "BPA_FEE_DETAILS_LABEL",

frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/index.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,12 @@ const BpaApplicationDetail = () => {
511511

512512
{/* to get Fee values */}
513513
{detail?.additionalDetails?.inspectionReport && detail?.isFeeDetails && <ScruntinyDetails scrutinyDetails={detail?.additionalDetails} paymentsList={[]}/>}
514-
514+
{/*blocking reason*/}
515+
{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") &&
516+
<div style={ { marginTop: "19px", background: "#FAFAFA", border: "1px solid #D6D5D4", borderRadius: "4px", padding: "8px", lineHeight: "19px", maxWidth: "950px", minWidth: "280px"} }>
517+
<Row className="border-none" label={t(`BLOCKING_REASON`)} labelStyle={{fontSize: "15px"}} text={data?.applicationData.additionalDetails.blockingReason || "NA"}> </Row>
518+
</div>
519+
}
515520
</StatusTable>
516521
</div>
517522
</Card> : null }

frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/CheckPage.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,16 @@ setWaterCharges(Malbafees/2)
187187
return <Loader />
188188
}
189189

190+
function onSubmitCheck(){
191+
if(development && otherCharges && lessAdjusment){
192+
if(parseInt(lessAdjusment)>(parseInt(development)+parseInt(otherCharges)+parseInt(malbafees)+parseInt(labourCess)+parseInt(waterCharges)+parseInt(gaushalaFees))){
193+
alert("Enterd Less Adjustment amount is invalid");
194+
}
195+
else{
196+
onSubmit();
197+
}
198+
}}
199+
190200
function setOtherChargesVal(value) {
191201
if(/^[0-9]*$/.test(value)){
192202
setOtherCharges(value);
@@ -446,7 +456,7 @@ setWaterCharges(Malbafees/2)
446456
<hr style={{color:"#cccccc",backgroundColor:"#cccccc",height:"2px",marginTop:"20px",marginBottom:"20px"}}/>
447457
{/* <CardHeader>{t("BPA_COMMON_TOTAL_AMT")}</CardHeader>
448458
<CardHeader>₹ {paymentDetails?.Bill?.[0]?.billDetails[0]?.amount || "0"}</CardHeader> */}
449-
<SubmitBar label={t("BPA_SEND_TO_CITIZEN_LABEL")} onSubmit={onSubmit} disabled={ (!development||!otherCharges||!lessAdjusment)} id/>
459+
<SubmitBar label={t("BPA_SEND_TO_CITIZEN_LABEL")} onSubmit={onSubmitCheck} disabled={ (!development||!otherCharges||!lessAdjusment)} id/>
450460
</Card>
451461
</React.Fragment>
452462
);

frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const CloseBtn = (props) => {
2323
);
2424
};
2525

26-
const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction, actionData, applicationDetails, applicationData, businessService, moduleCode,workflowDetails }) => {
26+
const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction, actionData, applicationDetails, applicationData, businessService, moduleCode,workflowDetails,blockReason }) => {
2727
const mutation1 = Digit.Hooks.obps.useObpsAPI(
2828
applicationData?.landInfo?.address?.city ? applicationData?.landInfo?.address?.city : tenantId,
2929
false
@@ -41,7 +41,9 @@ const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction,
4141
const [config, setConfig] = useState({});
4242
const [defaultValues, setDefaultValues] = useState({});
4343
const [approvers, setApprovers] = useState([]);
44+
const [blockReasonFiltered, setFilteredBlockReason] = useState([]);
4445
const [selectedApprover, setSelectedApprover] = useState({});
46+
const [selectedBlockReason, setBlockReason] = useState({});
4547
const [file, setFile] = useState(null);
4648
const [uploadedFile, setUploadedFile] = useState(null);
4749
const [error, setError] = useState(null);
@@ -174,7 +176,7 @@ const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction,
174176
applicationData = {
175177
...applicationData,
176178
documents: getDocuments(applicationData),
177-
additionalDetails: {...applicationData?.additionalDetails, fieldinspection_pending:getfeildInspection(applicationData), pendingapproval: getPendingApprovals() },
179+
additionalDetails: {...applicationData?.additionalDetails, fieldinspection_pending:getfeildInspection(applicationData), pendingapproval: getPendingApprovals(),blockingReason:selectedBlockReason?.name },
178180
workflow:{
179181
action: action?.action,
180182
comment: data?.comments?.length > 0 ? data?.comments : null,
@@ -204,6 +206,17 @@ const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction,
204206
]
205207
: null,
206208
};
209+
if (!sessionStorage.getItem("development") || !sessionStorage.getItem("otherCharges") || !sessionStorage.getItem("lessAdjusment") ){
210+
closeModal()
211+
alert("Please fill P2 Manual Fees");}
212+
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))){
213+
closeModal()
214+
alert("Enterd Less Adjustment amount is invalid");
215+
}
216+
else{
217+
applicationData.additionalDetails.selfCertificationCharges.BPA_DEVELOPMENT_CHARGES=sessionStorage.getItem("development");
218+
applicationData.additionalDetails.selfCertificationCharges.BPA_OTHER_CHARGES=sessionStorage.getItem("otherCharges");
219+
applicationData.additionalDetails.selfCertificationCharges.BPA_LESS_ADJUSMENT_PLOT=sessionStorage.getItem("lessAdjusment");
207220

208221
const nocDetails = applicationDetails?.nocData?.map(noc => {
209222
const uploadedDocuments = Digit.SessionStorage.get(noc?.nocType) || [];
@@ -266,16 +279,17 @@ const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction,
266279
{
267280
submitAction({
268281
BPA:applicationData
269-
}, nocData?.length > 0 ? nocData : false, {isStakeholder: false, bpa: true})
270-
282+
}, nocData?.length > 0 ? nocData : false, {isStakeholder: false, bpa: true})
271283
}
284+
}
272285
}
273286
const closeModalNew = ()=>{
274287
closeModal()
275288
alert("Please fill Inspection Date and Time")
276289
}
277290

278291
useEffect(() => {
292+
setFilteredBlockReason(blockReason?.map((blockReason) => ({ code: blockReason?.code, name: blockReason?.value })));
279293
if (action) {
280294
setConfig(
281295
configBPAApproverApplication({
@@ -284,12 +298,15 @@ const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction,
284298
approvers,
285299
selectedApprover,
286300
setSelectedApprover,
301+
selectedBlockReason,
302+
setBlockReason,
287303
selectFile,
288304
uploadedFile,
289305
setUploadedFile,
290306
businessService,
291307
assigneeLabel: "WF_ASSIGNEE_NAME_LABEL",
292-
error
308+
error,
309+
blockReasonFiltered
293310
})
294311
);
295312
}

frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ console.log("appl", applicationDetails)
350350
</div>
351351
{detail?.belowComponent && <detail.belowComponent />}
352352
{detail?.additionalDetails?.inspectionReport && (
353-
<ScruntinyDetails scrutinyDetails={detail?.additionalDetails} paymentsList={paymentsList} additionalDetails={applicationDetails?.applicationData?.additionalDetails} />
353+
<ScruntinyDetails scrutinyDetails={detail?.additionalDetails} paymentsList={paymentsList} additionalDetails={applicationDetails?.applicationData?.additionalDetails} applicationData={applicationDetails?.applicationData} />
354354
)}
355355
{applicationDetails?.applicationData?.additionalDetails?.fieldinspection_pending?.length > 0 && detail?.additionalDetails?.fiReport && (
356356
<InspectionReport fiReport={applicationDetails?.applicationData?.additionalDetails?.fieldinspection_pending} />

frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ScruntinyDetails.js

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,22 @@ import { StatusTable, Row, PDFSvg, CardLabel, CardSubHeader,TextInput } from "@
22
import React, { Fragment,useEffect,useState } from "react";
33
import { useTranslation } from "react-i18next";
44

5-
const ScruntinyDetails = ({ scrutinyDetails, paymentsList=[],additionalDetails }) => {
6-
const isEditApplication = window.location.href.includes("editApplication") && window.location.href.includes("bpa") ;
5+
const ScruntinyDetails = ({ scrutinyDetails, paymentsList=[],additionalDetails,applicationData }) => {
6+
const isEditApplication = (window.location.href.includes("editApplication") || applicationData?.status=="FIELDINSPECTION_INPROGRESS") && window.location.href.includes("bpa") ;
77
const [development, setDevelopment] = useState()
88
const [otherCharges, setOtherCharges] = useState()
99
const [lessAdjusment, setLessAdjusment] = useState()
10+
const styles = {
11+
buttonStyle: { display: "flex", justifyContent: "flex-start", color: "#a82227" },
12+
headerStyle: {
13+
marginTop: "10px",
14+
fontSize: "16px",
15+
fontWeight: "700",
16+
lineHeight: "24px",
17+
color: " rgba(11, 12, 12, var(--text-opacity))",
18+
},
19+
};
20+
const [showSanctionFee, setShowSanctionFee] = useState(false);
1021
useEffect(()=>{
1122
setDevelopment(additionalDetails?.selfCertificationCharges?.BPA_DEVELOPMENT_CHARGES);
1223
sessionStorage.setItem("development",additionalDetails?.selfCertificationCharges?.BPA_DEVELOPMENT_CHARGES);
@@ -68,15 +79,38 @@ const ScruntinyDetails = ({ scrutinyDetails, paymentsList=[],additionalDetails }
6879
</div>
6980
{window.location.href.includes("employee") && scrutinyDetails?.values[0]?.title=="BPA_APPL_FEES_DETAILS" &&
7081
<div>
82+
{!showSanctionFee && (
83+
<div style={styles.buttonStyle}>
84+
<button
85+
type="button"
86+
onClick={() => {
87+
setShowSanctionFee(true);
88+
}}
89+
>
90+
{t("SHOW_P2_FEES_DETAILS")}
91+
</button>
92+
</div>
93+
)}
94+
{showSanctionFee && (
95+
<div style={styles.buttonStyle}>
96+
<button
97+
type="button"
98+
onClick={() => {
99+
setShowSanctionFee(false);
100+
}}
101+
>
102+
{t("HIDE_P2_FEES_DETAILS")}
103+
</button>
104+
</div>
105+
)}
106+
{showSanctionFee &&
107+
<div>
71108
<CardSubHeader>{t("BPA_P2_SUMMARY_FEE_EST")}</CardSubHeader>
72109
<Row className="border-none" label={t(`BPA_COMMON_MALBA_AMT`)} text={`₹ ${additionalDetails?.selfCertificationCharges?.BPA_MALBA_CHARGES}`} />
73110
<Row className="border-none" label={t(`BPA_COMMON_LABOUR_AMT`)} text={`₹ ${additionalDetails?.selfCertificationCharges?.BPA_LABOUR_CESS}`} />
74111
<Row className="border-none" label={t(`BPA_COMMON_WATER_AMT`)} text={`₹ ${additionalDetails?.selfCertificationCharges?.BPA_WATER_CHARGES}`} />
75112
<Row className="border-none" label={t(`BPA_COMMON_GAUSHALA_AMT`)} text={`₹ ${additionalDetails?.selfCertificationCharges?.BPA_GAUSHALA_CHARGES_CESS}`} />
76113
<CardSubHeader>{t("BPA_P2_SUMMARY_FEE_EST_MANUAL")}</CardSubHeader>
77-
{/* <Row className="border-none" label={t(`BPA_COMMON_DEVELOPMENT_AMT`)} text={`₹ ${additionalDetails?.selfCertificationCharges?.BPA_DEVELOPMENT_CHARGES}`} />
78-
<Row className="border-none" label={t(`BPA_COMMON_OTHER_AMT`)} text={`₹ ${additionalDetails?.selfCertificationCharges?.BPA_OTHER_CHARGES}`} />
79-
<Row className="border-none" label={t(`BPA_COMMON_LESS_AMT`)} text={`₹ ${additionalDetails?.selfCertificationCharges?.BPA_LESS_ADJUSMENT_PLOT}`} /> */}
80114
<CardLabel>{t("BPA_COMMON_DEVELOPMENT_AMT")}</CardLabel>
81115
<TextInput
82116
t={t}
@@ -116,6 +150,7 @@ const ScruntinyDetails = ({ scrutinyDetails, paymentsList=[],additionalDetails }
116150
onChange={(e) => {setLessAdjusmentVal(e.target.value)}}
117151
{...{ required: true, pattern: "^[0-9]*$", type: "text" }}
118152
/>
153+
</div>}
119154
</div>
120155
}
121156
<div>

frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/BPAApproverApplication.js

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,15 @@ export const configBPAApproverApplication = ({
77
approvers,
88
selectedApprover,
99
setSelectedApprover,
10+
selectedBlockReason,
11+
setBlockReason,
1012
selectFile,
1113
uploadedFile,
1214
setUploadedFile,
1315
assigneeLabel,
1416
businessService,
15-
error
17+
error,
18+
blockReasonFiltered
1619
}) => {
1720
let isRejectOrRevocate = false;
1821
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 = ({
2427
isCommentRequired = true;
2528
}
2629

30+
if(action?.action=="BLOCK" && action?.state?.state=="PENDINGAPPROVAL"){
31+
return {
32+
label: {
33+
heading: `WF_${action?.action}_APPLICATION`,
34+
submit: `WF_${businessService}_${action?.action}`,
35+
cancel: "BPA_CITIZEN_CANCEL_BUTTON",
36+
},
37+
form: [
38+
{
39+
body: [
40+
{
41+
label: action.isTerminateState || isRejectOrRevocate ? null : t(assigneeLabel || `WF_ROLE_${action.assigneeRoles?.[0]}`),
42+
type: "dropdown",
43+
populators: action.isTerminateState || isRejectOrRevocate ? null : (
44+
<Dropdown
45+
option={approvers}
46+
autoComplete="off"
47+
optionKey="name"
48+
id="fieldInspector"
49+
select={setSelectedApprover}
50+
selected={selectedApprover}
51+
/>
52+
),
53+
},
54+
{
55+
label: action?.action=="BLOCK" && action?.state?.state=="PENDINGAPPROVAL" ? t(`BLOCK_REASON`):null ,
56+
type: "dropdown",
57+
populators: !action?.action=="BLOCK" || !action?.state?.state=="PENDINGAPPROVAL" ? null : (
58+
<Dropdown
59+
option={blockReasonFiltered}
60+
autoComplete="off"
61+
optionKey="name"
62+
id="fieldInspector"
63+
select={setBlockReason}
64+
selected={selectedBlockReason}
65+
isMandatory={true}
66+
/>
67+
),
68+
},
69+
{
70+
label: t("WF_COMMON_COMMENTS"),
71+
type: "textarea",
72+
isMandatory: true,
73+
populators: {
74+
name: "comments",
75+
},
76+
},
77+
{
78+
label: `${t("WF_APPROVAL_UPLOAD_HEAD")}`,
79+
populators: (
80+
<UploadFile
81+
id={"workflow-doc"}
82+
onUpload={selectFile}
83+
onDelete={() => {
84+
setUploadedFile(null);
85+
}}
86+
message={uploadedFile ? `1 ${t(`ES_PT_ACTION_FILEUPLOADED`)}` : t(`CS_ACTION_NO_FILEUPLOADED`)}
87+
accept= "image/*, .pdf, .png, .jpeg, .jpg"
88+
iserror={error}
89+
/>
90+
),
91+
},
92+
],
93+
},
94+
],
95+
};
96+
}
97+
2798
return {
2899
label: {
29100
heading: `WF_${action?.action}_APPLICATION`,

frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const ApplicationDetails = (props) => {
1616
let isEditApplication=window.location.href.includes("editApplication") && window.location.href.includes("bpa") ;
1717
const tenantId = Digit.ULBService.getCurrentTenantId();
1818
const state = Digit.ULBService.getStateId();
19+
const { isLoadingg, data: blockReason } = Digit.Hooks.obps.useMDMS(state, "BPA", ["BlockReason"]);
1920
const { t } = useTranslation();
2021
const history = useHistory();
2122
let { id: applicationNumber } = useParams();
@@ -215,6 +216,9 @@ const ApplicationDetails = (props) => {
215216
bpaDetails.BPA.additionalDetails.selfCertificationCharges.BPA_LESS_ADJUSMENT_PLOT=sessionStorage.getItem("lessAdjusment");
216217
if (!bpaDetails.BPA.additionalDetails.selfCertificationCharges.BPA_DEVELOPMENT_CHARGES || !bpaDetails.BPA.additionalDetails.selfCertificationCharges.BPA_OTHER_CHARGES || !bpaDetails.BPA.additionalDetails.selfCertificationCharges.BPA_LESS_ADJUSMENT_PLOT ){
217218
alert("Please fill P2 Manual Fees");}
219+
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))){
220+
alert("Enterd Less Adjustment amount is invalid");
221+
}
218222
else{
219223
const response = await Digit.OBPSService.update(bpaDetails, tenantId);
220224
window.location.assign(window.location.href.split("/editApplication")[0]+window.location.href.split("editApplication")[1]);
@@ -254,6 +258,7 @@ const ApplicationDetails = (props) => {
254258
businessService={businessService}
255259
workflowDetails={workflowDetails}
256260
moduleCode={moduleCode}
261+
blockReason={blockReason?.BPA?.BlockReason}
257262
/>
258263
) : null}
259264
{isWarningPop ? (

0 commit comments

Comments
 (0)