diff --git a/app/controllers/obligation.controller.js b/app/controllers/obligation.controller.js index 5fed3ef..ef5e5b5 100644 --- a/app/controllers/obligation.controller.js +++ b/app/controllers/obligation.controller.js @@ -1,4 +1,4 @@ -const { sequelize,Test,ObligationMaster,ObligationBankStatement,EmiTracking,Gst} = require('../models') +const { sequelize,Test,ObligationMaster,ObligationBankStatement,EmiTracking,RepaymentTrackRecordMaster,RepaymentDropdownMaster,RepaymentTrackRecord} = require('../models') const { logMsg } = require('../services/logger.js'); var swaggerSpecToPdf = require("swagger-spec-to-pdf"); const { Console } = require('winston/lib/winston/transports'); @@ -211,5 +211,103 @@ exports.UpdateObligationEmiTracking = async (req, res) => +// get all Obligation repayment dropdown master data +exports.RepaymentTrackRecordMaster = async (req, res) => +{ + try + { + await RepaymentTrackRecordMaster.findAll({where : { is_active : 1}, + include : [ {model: RepaymentDropdownMaster }] + }) + .then(data => + { + res.send({'status':200,'message':"success",'data':data}); + logMsg.info("Master Data List api call Success"); + }) + .catch(err => { + res.send({'status':404, + message: err.message || "Some error occurred while fetching Repayment TrackRecord masterdata." ,'data': "No data" }); + }); + } catch(err) { + res.send({'status':404, + message: err.message || "Some error occurred while fetching Repayment TrackRecord masterdata masterdata." ,'data': "No data" + }); + } //end of try catch + +}; + +// create new RepaymentTrackRecordMaster +exports.CreateRepaymentTrackRecordMaster = async (req, res) => +{ + try + { + await RepaymentTrackRecord.create(req.body) + .then(data => + { + res.send({'status':200,'message':"success",'data': data}); + }) + .catch(err => { + res.send({'status':404, + message: err.message || "Some error occurred while create Obligation RepaymentTrackRecord." ,'data': "No data" }); + }); + + } catch(err) { + res.send({'status':404, + message: err.message || "Some error occurred while create Obligation RepaymentTrackRecord." ,'data': "No data" + }); + } //end of try catch +}; + + +// update and create new RepaymentTrackRecordMaster +exports.UpdateRepaymentTrackRecordMaster = async (req, res) => +{ + try + { + id = req.body.id; + delete req.body.id + await RepaymentTrackRecord.update({is_active : 0 },{ where: { id: id }}); + RepaymentTrackRecord.create(req.body).then(data => + { + res.send({'status':200,'message':"success",'data':data}); + }) + .catch(err => { + res.send({'status':404, + message: err.message || "Some error occurred while retrieving statements." ,'data': "No data" }); + }); + + } catch(err) { + res.send({'status':404,message: err.message || "Some error occurred while inserting statements." ,'data': "No data" }); + } //end of try catch + +} + + +// get all Obligation repayment track record data +exports.GetRepaymentTrackRecord = async (req, res) => +{ + try + { + await RepaymentTrackRecord.findAll({where : { los_id : req.query.los_id , is_active : 1} + }) + .then(data => + { + res.send({'status':200,'message':"success",'data':data}); + logMsg.info("Master Data List api call Success"); + }) + .catch(err => { + res.send({'status':404, + message: err.message || "Some error occurred while fetching Repayment TrackRecord data." ,'data': "No data" }); + }); + } catch(err) { + res.send({'status':404, + message: err.message || "Some error occurred while fetching Repayment TrackRecord masterdata data." ,'data': "No data" + }); + } //end of try catch + +}; + + + diff --git a/app/models/RepaymentDropdownMaster.js b/app/models/RepaymentDropdownMaster.js new file mode 100644 index 0000000..0ff36b1 --- /dev/null +++ b/app/models/RepaymentDropdownMaster.js @@ -0,0 +1,26 @@ +'use strict' +const { Model } = require('sequelize') +module.exports = (sequelize, DataTypes) => { + class RepaymentDropdownMaster extends Model { + + } + RepaymentDropdownMaster.init( + { + track_record_items_key: { type: DataTypes.STRING }, + value: { type: DataTypes.INTEGER }, + sub_value: { type: DataTypes.INTEGER }, + result: { type: DataTypes.INTEGER }, + is_active: { type: DataTypes.INTEGER } + }, + { + sequelize, + tableName: 'repayment_track_record_dropdown_master', + modelName: 'RepaymentDropdownMaster', + } + ) + + + + return RepaymentDropdownMaster + +} \ No newline at end of file diff --git a/app/models/RepaymentTrackReccordMaster.js b/app/models/RepaymentTrackReccordMaster.js new file mode 100644 index 0000000..06ab1a7 --- /dev/null +++ b/app/models/RepaymentTrackReccordMaster.js @@ -0,0 +1,32 @@ +'use strict' +const { Model } = require('sequelize') +const {RepaymentDropdownMaster} = require('../models') + +module.exports = (sequelize, DataTypes) => { + class RepaymentTrackRecordMaster extends Model { + + } + RepaymentTrackRecordMaster.init( + { + track_record_items: { type: DataTypes.STRING }, + track_record_items_key: { type: DataTypes.STRING }, + banking_and_gst: { type: DataTypes.INTEGER }, + banking_v2: { type: DataTypes.INTEGER }, + is_active: { type: DataTypes.INTEGER } + }, + { + sequelize, + tableName: 'repayment_track_record_master', + modelName: 'RepaymentTrackRecordMaster', + } + ) + + RepaymentTrackRecordMaster.associate = models => { + RepaymentTrackRecordMaster.hasMany(models.RepaymentDropdownMaster, { + foreignKey: 'track_record_items_key', + sourceKey : 'id' + }); + } + return RepaymentTrackRecordMaster + +} \ No newline at end of file diff --git a/app/models/RepaymentTrackRecord.js b/app/models/RepaymentTrackRecord.js new file mode 100644 index 0000000..78067d3 --- /dev/null +++ b/app/models/RepaymentTrackRecord.js @@ -0,0 +1,28 @@ +'use strict' +const { Model } = require('sequelize') +module.exports = (sequelize, DataTypes) => { + class RepaymentTrackRecord extends Model { + + } + RepaymentTrackRecord.init( + { + los_id: { type: DataTypes.STRING }, + program: { type: DataTypes.STRING }, + track_record_items_key: { type: DataTypes.STRING }, + value: { type: DataTypes.STRING }, + sub_value: { type: DataTypes.STRING }, + result: { type: DataTypes.STRING }, + is_active: { type: DataTypes.INTEGER } + }, + { + sequelize, + tableName: 'repayment_track_record', + modelName: 'RepaymentTrackRecord', + } + ) + + + + return RepaymentTrackRecord + +} \ No newline at end of file diff --git a/app/routes/routes.js b/app/routes/routes.js index b2ecb3f..c8ed9f3 100644 --- a/app/routes/routes.js +++ b/app/routes/routes.js @@ -510,6 +510,161 @@ router.post("/createObligationEmiTrackingMonth",Mycontroller.CreateObligationEmi * description: failure in updating Obligation EmiTracking details */ router.post("/updateObligationEmiTracking",Mycontroller.UpdateObligationEmiTracking) + + +// get Obligation burear bankstatement + +/** +* @swagger +* /api/getRepaymentTrackRecordMaster: +* get: +* summary: Get Obligation Repayment TrackRecord List +* description: Get Obligation Repayment TrackRecord +* responses: +* 200: +* description: success +*/ +router.get("/getRepaymentTrackRecordMaster",Mycontroller.RepaymentTrackRecordMaster) + + +// create Obligation Emi Tracking + +/** +* @swagger +* definitions: +* createRepaymentTrackRecordMaster: +* type: object +* properties: +* los_id: +* type: string +* description: los_id +* example: 123abc +* program: +* type: string +* description: result +* example: banking_and_gst +* track_record_items_key: +* type: string +* description: track record items +* example: "bounce_in_last_6_months" +* value: +* type: string +* description: value +* example: Nil +* sub_value: +* type: string +* description: sub value +* example: Paid Within 5 days +* result: +* type: string +* description: result +* example: No Deviation +* is_active: +* type: integer +* description: isActive +* example: 1 +*/ +/** +* @swagger +* /api/createRepaymentTrackRecordMaster: +* post: +* summary: create Repayment TrackRecord Master details +* description: create a Repayment TrackRecord Master +* requestBody: +* content: +* application/json: +* schema: +* $ref: '#/definitions/createRepaymentTrackRecordMaster' +* responses: +* 200: +* description: New create Repayment TrackRecord Master +* 500: +* description: failure in inserting Repayment TrackRecord Master +*/ +router.post("/createRepaymentTrackRecordMaster",Mycontroller.CreateRepaymentTrackRecordMaster) + + +// update Obligation Emi Tracking + +/** +* @swagger +* definitions: +* updateRepaymentTrackRecordMaster: +* type: object +* properties: +* id: +* type: integer +* description: id +* example: 1 +* los_id: +* type: string +* description: los_id +* example: 123abc +* program: +* type: string +* description: result +* example: banking_and_gst +* track_record_items_key: +* type: string +* description: track record items +* example: "bounce_in_last_6_months" +* value: +* type: string +* description: value +* example: Nil +* sub_value: +* type: string +* description: sub value +* example: Paid Within 5 days +* result: +* type: string +* description: result +* example: No Deviation +* is_active: +* type: integer +* description: isActive +* example: 1 +*/ +/** +* @swagger +* /api/updateRepaymentTrackRecordMaster: +* post: +* summary: update Repayment TrackRecord Master details +* description: update a Repayment TrackRecord Master +* requestBody: +* content: +* application/json: +* schema: +* $ref: '#/definitions/updateRepaymentTrackRecordMaster' +* responses: +* 200: +* description: update Repayment TrackRecord Master +* 500: +* description: failure in inserting Repayment TrackRecord Master +*/ +router.post("/updateRepaymentTrackRecordMaster",Mycontroller.UpdateRepaymentTrackRecordMaster) + + +// get Obligation burear bankstatement + +/** +* @swagger +* /api/getRepaymentTrackRecord: +* get: +* summary: Get Obligation Repayment Track Record List +* description: Get Obligation Repayment Track Record List +* parameters: +* - in: query +* name: los_id +* schema: +* type: string +* required: true +* description: Obligation Repayment Track Record List +* responses: +* 200: +* description: success +*/ +router.get("/getRepaymentTrackRecord",Mycontroller.GetRepaymentTrackRecord) // routes started here app.use('/api', router);