diff --git a/app/controllers/loan.details.controller.js b/app/controllers/loan.details.controller.js index 3c4ad17..ad0bad3 100644 --- a/app/controllers/loan.details.controller.js +++ b/app/controllers/loan.details.controller.js @@ -1,6 +1,7 @@ -const { sequelize , LoanDetail , EntityDetails , ApplicantsDetails , ApplicantsRelationship , ResidenceAddressDetails , PropertyOwnershipIncomeConsidered , DueDiligenceCheck , TradeReferences , CheckTypeMaster , EnquiriesAndDisbursements , PropertyAndLtv , ATNWrelatedInputs , SalesPD , ATNWrelatedInputMaster ,ATNWrelationship , OtherParameterMaster ,OtherParameterMasterValue , OtherParameterRelationship , OtherParameters , ATNErelatedInputSubVal , DataFromLos , FormulaMaster , LoanAndLtvMaster , EntityApplicantMaster } = require('../models') +const { sequelize , LoanDetail , EntityDetails , ApplicantsDetails , ApplicantsRelationship , ResidenceAddressDetails , PropertyOwnershipIncomeConsidered , DueDiligenceCheck , TradeReferences , CheckTypeMaster , EnquiriesAndDisbursements , PropertyAndLtv , ATNWrelatedInputs , SalesPD , ATNWrelatedInputMaster ,ATNWrelationship , OtherParameterMaster ,OtherParameterMasterValue , OtherParameterRelationship , OtherParameters , ATNErelatedInputSubVal , DataFromLos , FormulaMaster , LoanAndLtvMaster , EntityApplicantMaster , ModuleWiseCompletionStatus} = require('../models') const { logMsg } = require('../services/logger.js'); const ApiCallHelper = require('../services/ApiCallHelper.js'); +const ModuleWiseStatusHelper = require('../services/ModuleWiseStatusData.helper.js'); const moment = require('moment'); @@ -30,6 +31,8 @@ exports.mainLandingPage = async (req, res) => // Loan Detail Create LoanDetail.create(loanDetailObject).then(LoanDetailData => { + //Module Wise Completion Status Data Creation Helper Call + ModuleWiseStatusHelper.moduleCompletionStatusDataCreationHelper(loanDetailData.loginNo); // Final Response LoanDetail.findAll({raw: true , where : { is_active : 1}}).then(data => { if(data.length > 0) { res.send({'status':200,'message':"success",'data':data}); } else { res.send({'status':404,'message':"failed",'data':"No data"}); } }) @@ -187,4 +190,38 @@ exports.mainLandingPage = async (req, res) => +exports.updateModuleCompletionStatus = async (req, res) => +{ + try + { + Losid = req.query.losid; + ModuleName = req.query.module_name; + + ModuleWiseCompletionStatus.update({status:1},{ where: { losid:Losid , module_name:ModuleName }}).then(async(data) => + { + StatusData = await ModuleWiseCompletionStatus.findAll({ where: { losid:Losid }}); + count = 0; + for (const value of StatusData) { + count += value.status; + } + console.log(count); + if(count == 9) + { + LoanDetail.update({module_completion_status:1},{ where: { losid:Losid}}); + } + + }) + .catch(err => { + res.send({'status':404, + message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" }); + }); + + + } // end of try block + catch(err) + { + res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" }); + } //end of try catch + +}; diff --git a/app/controllers/test.controller.js b/app/controllers/test.controller.js index 50b6948..6d0ba89 100644 --- a/app/controllers/test.controller.js +++ b/app/controllers/test.controller.js @@ -5,6 +5,7 @@ exports.Welcome = (req, res) => { try { + const Msg = "Welcome....!"; console.log(Msg); logMsg.info("Api Call Success"); diff --git a/app/models/LoanDetail.js b/app/models/LoanDetail.js index e3461c4..a180a5e 100644 --- a/app/models/LoanDetail.js +++ b/app/models/LoanDetail.js @@ -27,6 +27,7 @@ module.exports = (sequelize, DataTypes) => { purpose_of_loan: { type: DataTypes.INTEGER }, emi_of_loan_applied_for: { type: DataTypes.INTEGER }, pd_id: { type: DataTypes.INTEGER }, + module_completion_status : { type: DataTypes.INTEGER }, createdby: { type: DataTypes.INTEGER }, updatedby: { type: DataTypes.INTEGER }, is_active: {type : DataTypes.INTEGER} diff --git a/app/models/ModuleWiseCompletionStatus.js b/app/models/ModuleWiseCompletionStatus.js new file mode 100644 index 0000000..badf2b4 --- /dev/null +++ b/app/models/ModuleWiseCompletionStatus.js @@ -0,0 +1,32 @@ + +'use strict' +const { Model } = require('sequelize') +module.exports = (sequelize, DataTypes) => { + class ModuleWiseCompletionStatus extends Model { + + + + } + ModuleWiseCompletionStatus.init( + { + losid: { type: DataTypes.STRING }, + module_name: { type: DataTypes.STRING }, + status : { type: DataTypes.INTEGER }, + createdAt : { type: DataTypes.DATE }, + createdby : { type: DataTypes.INTEGER }, + updatedAt : { type: DataTypes.DATE }, + updatedby : { type: DataTypes.INTEGER } + + + }, + { + sequelize, + tableName: 'module_wise_completion_status', + modelName: 'ModuleWiseCompletionStatus', + } + ) + + + + return ModuleWiseCompletionStatus +} diff --git a/app/routes/routes.js b/app/routes/routes.js index 5e20af5..6479851 100644 --- a/app/routes/routes.js +++ b/app/routes/routes.js @@ -22,6 +22,32 @@ module.exports = app => { router.get("/demo", Testcontroller.Welcome); +// Module Completion Status update api +/** +* @swagger +* /api/UpdateModuleCompletionStatus: +* get: +* summary: Update Module Completion Status data +* description: +* parameters: +* - in: query +* name: losid +* schema: +* type: string +* required: true +* example: MW112233 +* - in: query +* name: module_name +* schema: +* type: string +* required: true +* example: GST +* responses: +* 200: +* description: success +*/ +router.get("/UpdateModuleCompletionStatus", Loancontroller.updateModuleCompletionStatus); + // LoanDeatilList List Api /** * @swagger diff --git a/app/services/ModuleWiseStatusData.helper.js b/app/services/ModuleWiseStatusData.helper.js new file mode 100644 index 0000000..1245fbf --- /dev/null +++ b/app/services/ModuleWiseStatusData.helper.js @@ -0,0 +1,43 @@ +const { ModuleWiseCompletionStatus } = require('../models') +const { logMsg } = require('./logger.js'); +const request = require('request'); + + + +async function moduleCompletionStatusDataCreationHelper(losid) { +try { + + ModuleWiseStatusDataArray = [ + {losid:losid , module_name : "MainApp"}, + {losid:losid , module_name : "GST"}, + {losid:losid , module_name : "Financial"}, + {losid:losid , module_name : "Banking"}, + {losid:losid , module_name : "OtherIncome"}, + {losid:losid , module_name : "Obligation"}, + {losid:losid , module_name : "SalesPD"}, + {losid:losid , module_name : "CreditPD"}, + {losid:losid , module_name : "Bureau"}, + ]; + + + ModuleWiseCompletionStatus.bulkCreate(ModuleWiseStatusDataArray) + .then(Data => + { + logMsg.info("ModuleWiseCompletionStatus Data Creation Success for Losid = "+losid); + }) + .catch(err =>{ + logMsg.info("ModuleWiseCompletionStatus Data Creation Failed for Losid= "+losid+" Error= "+err); + }); + + + } + catch (error) { + console.log(error); + } +} + + + +module.exports = { + moduleCompletionStatusDataCreationHelper : moduleCompletionStatusDataCreationHelper + } \ No newline at end of file