Fairoj : smc credit pd feedbacks

This commit is contained in:
venbatechnologies@gmail.com 2020-12-22 20:16:37 +05:30
parent f000c6308a
commit edd195a66d
7 changed files with 805 additions and 757 deletions

View File

@ -3,8 +3,8 @@
"version": "0.0.0", "version": "0.0.0",
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"production": "node --max_old_space_size=6144 node_modules/@angular/cli/bin/ng build --prod --build-optimizer=true", "production": "node --max_old_space_size=6144 node_modules/@angular/cli/bin/ng build --prod --build-optimizer=true --base-href /lender/",
"staging": "node --max_old_space_size=6144 node_modules/@angular/cli/bin/ng build --prod --configuration=staging --base-href /dist/", "staging": "node --max_old_space_size=6144 node_modules/@angular/cli/bin/ng build --prod --configuration=staging --base-href /lenderdemo/",
"ng": "ng", "ng": "ng",
"start": "ng serve", "start": "ng serve",
"build": "ng build", "build": "ng build",

View File

@ -37,7 +37,8 @@
</mat-panel-description> --> </mat-panel-description> -->
</mat-expansion-panel-header> </mat-expansion-panel-header>
<!-- {{json_answers[parent_ques.group_key][0] | json}} --> <!-- {{json_answers[parent_ques.group_key][0] | json}} -->
<div *ngFor="let singleQues of parent_ques.group_questions[g_i];let s_i=index" fxFlex.xs="100" fxFlex.sm="100" [fxFlex]="singleQues.hasOwnProperty('field_width') && singleQues.field_width ? singleQues.field_width : '100'" > <div *ngFor="let singleQues of parent_ques.group_questions[g_i];let s_i=index" fxFlex.xs="100" fxFlex.sm="100" [fxFlex]="singleQues.hasOwnProperty('field_width') && singleQues.field_width ? singleQues.field_width : '100'"
[ngStyle.xs]="{'margin-bottom' : (singleQues.field_type == 'numtoword' || singleQues.field_type == 'str&numtoword') ? '5%' : '0' }">
<!-- {{s_i}} --> <!-- {{s_i}} -->
<!-- {{json_answers[parent_ques.group_key][s_i] | json}} --> <!-- {{json_answers[parent_ques.group_key][s_i] | json}} -->
<app-dynamic-question-template [group_key] = parent_ques.group_key [currFormArrayObj]="singleQues" [json_answers] = "json_answers != null && json_answers ? json_answers[parent_ques.group_key] : null" [formGroupN]="group_ques" [whole_form]="form_group_name" <app-dynamic-question-template [group_key] = parent_ques.group_key [currFormArrayObj]="singleQues" [json_answers] = "json_answers != null && json_answers ? json_answers[parent_ques.group_key] : null" [formGroupN]="group_ques" [whole_form]="form_group_name"

View File

@ -27,7 +27,7 @@
</mat-form-field> </mat-form-field>
<mat-form-field style="width:100%" <mat-form-field style="width:100%"
*ngIf="parent_ques.type == '9'" [ngStyle]="{'margin-bottom':parent_ques.field_type == 'numtoword' || parent_ques.field_type == 'str&numtoword' ? '5%' : '0' }"> *ngIf="parent_ques.type == '9'" >
<mat-label>{{parent_ques.question}}</mat-label> <mat-label>{{parent_ques.question}}</mat-label>
<input matInput [type]="parent_ques.field_type == 'num' || parent_ques.field_type == 'numtoword' ? 'number' : parent_ques.field_type== 'string' || parent_ques.field_type == 'str&numtoword' ? 'text' : parent_ques.field_type" <input matInput [type]="parent_ques.field_type == 'num' || parent_ques.field_type == 'numtoword' ? 'number' : parent_ques.field_type== 'string' || parent_ques.field_type == 'str&numtoword' ? 'text' : parent_ques.field_type"
[formControlName]="parent_ques.question_key" [placeholder]="parent_ques.place_holder" [formControlName]="parent_ques.question_key" [placeholder]="parent_ques.place_holder"

View File

@ -337,6 +337,7 @@ export class DynamicQuestionTemplateComponent implements OnInit {
console.log("sdfffffffffff",this.whole_json,curr_obj.insert_control); console.log("sdfffffffffff",this.whole_json,curr_obj.insert_control);
} }
if(formArray.value.length < 2) { if(formArray.value.length < 2) {
console.log("1 OBJ RETURN")
return; return;
} }
value_index = curr_index-1 value_index = curr_index-1
@ -351,6 +352,11 @@ export class DynamicQuestionTemplateComponent implements OnInit {
expression_value = expression_value.split(value+'['+index_str+']').join(control_value) expression_value = expression_value.split(value+'['+index_str+']').join(control_value)
} }
else{ else{
if(formArray.value.length > curr_index+1) {
console.log("Current index",curr_index,this.json_index)
this.setModifiedValuetoControl_frommultiple(curr_obj,formArray,curr_index+1)
}
console.log("No Control RETURN")
return return
} }
} }

View File

@ -72,7 +72,7 @@ export class FormComponent implements OnInit {
// let localId = this.getLocalFormId() // let localId = this.getLocalFormId()
console.log("d",this.pd_all_details.form_id,Number(this.pd_all_details.form_id)) console.log("d",this.pd_all_details.form_id,Number(this.pd_all_details.form_id))
// this.pdTriggerService.loadTemplate(Number(this.pd_all_details.form_id)).subscribe(result=>{ // this.pdTriggerService.loadTemplate(Number(this.pd_all_details.form_id)).subscribe(result=>{
let params = {"fk_entity_id":"35","fk_product_id":this.pd_all_details.pdmaster_details.fk_product_id,"pd_form_id":this.pd_all_details.form_id,"fk_pd_id":this.pd_all_details.pdmaster_details.pd_id} let params = {"fk_entity_id":this.pd_all_details.pdmaster_details.fk_lender_id,"fk_product_id":this.pd_all_details.pdmaster_details.fk_product_id,"pd_form_id":this.pd_all_details.form_id,"fk_pd_id":this.pd_all_details.pdmaster_details.pd_id}
this.pdTriggerService.loadCreditPDTemplate(params).subscribe(result=>{ this.pdTriggerService.loadCreditPDTemplate(params).subscribe(result=>{
if(!environment.production){ if(!environment.production){
// result.dataStatus = false // result.dataStatus = false

View File

@ -87,6 +87,15 @@
"sales_revenue" "sales_revenue"
], ],
"insert_control":"sales_py" "insert_control":"sales_py"
},
{
"purpose":"answer_value_arr",
"arr_include":["py","now"],
"expression":"(((Number(net_profit_sales_percent[now])-Number(net_profit_sales_percent[py]))/Number(net_profit_sales_percent[py]))*100).toFixed(2)",
"value_keys":[
"net_profit_sales_percent"
],
"insert_control":"netprofit_py_percent"
} }
], ],
"is_repeatable":null, "is_repeatable":null,

View File

@ -3,7 +3,7 @@
"section_name":"Financial Information", "section_name":"Financial Information",
"onsubmit":[ "onsubmit":[
{ {
"expression":"(function (){let sum_val=null;let ques_key=[];control.questions_group.forEach(ques_obj=>{ques_obj.questions.map(ques=>{if(ques.question_key == submitProperty.key_name){ques_key.push(ques.answer_value)}})});console.log('none',ques_key);return new Set(ques_key).size === ques_key.length}())", "expression":"(function (){let sum_val=null;let ques_key=[];control.forEach(ques_obj=>{ques_key.push(ques_obj[submitProperty.key_name])});console.log('none',ques_key);return new Set(ques_key).size === ques_key.length}())",
"group_key":"financial_info", "group_key":"financial_info",
"key_name":"fy", "key_name":"fy",
"msg":"Financial Year already entered earlier" "msg":"Financial Year already entered earlier"
@ -87,6 +87,15 @@
"sales_revenue" "sales_revenue"
], ],
"insert_control":"sales_py" "insert_control":"sales_py"
},
{
"purpose":"answer_value_arr",
"arr_include":["py","now"],
"expression":"(((Number(net_profit_sales_percent[now])-Number(net_profit_sales_percent[py]))/Number(net_profit_sales_percent[py]))*100).toFixed(2)",
"value_keys":[
"net_profit_sales_percent"
],
"insert_control":"netprofit_py_percent"
} }
], ],
"is_repeatable":null, "is_repeatable":null,
@ -112,7 +121,7 @@
"onchange_properties":[ "onchange_properties":[
{ {
"purpose":"answer_value", "purpose":"answer_value",
"expression":"(Number(net_profit)/Number(sales_revenue))*100", "expression":"((Number(net_profit)/Number(sales_revenue))*100).toFixed(2)",
"value_keys":[ "value_keys":[
"sales_revenue","net_profit" "sales_revenue","net_profit"
], ],
@ -130,7 +139,7 @@
{ {
"purpose":"answer_value_arr", "purpose":"answer_value_arr",
"arr_include":["py","now"], "arr_include":["py","now"],
"expression":"((Number(net_profit_sales_percent[now])-Number(net_profit_sales_percent[py]))/Number(net_profit_sales_percent[py]))*100", "expression":"(((Number(net_profit_sales_percent[now])-Number(net_profit_sales_percent[py]))/Number(net_profit_sales_percent[py]))*100).toFixed(2)",
"value_keys":[ "value_keys":[
"net_profit_sales_percent" "net_profit_sales_percent"
], ],
@ -162,7 +171,7 @@
{ {
"purpose":"answer_value_arr", "purpose":"answer_value_arr",
"arr_include":["py","now"], "arr_include":["py","now"],
"expression":"((Number(net_profit_sales_percent[now])-Number(net_profit_sales_percent[py]))/Number(net_profit_sales_percent[py]))*100", "expression":"(((Number(net_profit_sales_percent[now])-Number(net_profit_sales_percent[py]))/Number(net_profit_sales_percent[py]))*100).toFixed(2)",
"value_keys":[ "value_keys":[
"net_profit_sales_percent" "net_profit_sales_percent"
], ],
@ -267,26 +276,6 @@
} }
] ]
}, },
{
"question":"Debtor Days as per CM Discussion",
"question_key":"debtor_days_cm",
"type":"1",
"field_width":"45",
"answers":null,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{ {
"question":"Creditor Days as per CET", "question":"Creditor Days as per CET",
"sub_title":"In Case of credit purchases, what is the average no. of days taken to pay the money?", "sub_title":"In Case of credit purchases, what is the average no. of days taken to pay the money?",
@ -309,26 +298,6 @@
] ]
}, },
{
"question":"Creditor Days as per CM Discussion",
"question_key":"creditor_days_cm",
"type":"1",
"field_width":"45",
"answers":null,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{ {
"question":"Inventory Days as per CET", "question":"Inventory Days as per CET",
"sub_title":"What is the average no. of days for which stock lies unsold during the year?", "sub_title":"What is the average no. of days for which stock lies unsold during the year?",
@ -350,6 +319,54 @@
} }
] ]
}
],
"is_repeatable":"1",
"group_key":"financial_info",
"group_title":"Financial Information"
},
{
"question":"Debtor Days as per CM Discussion",
"question_key":"debtor_days_cm",
"type":"1",
"field_width":"45",
"answers":null,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Creditor Days as per CM Discussion",
"question_key":"creditor_days_cm",
"type":"1",
"field_width":"45",
"answers":null,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
}, },
{ {
"question":"Inventory Days as per CM Discussion", "question":"Inventory Days as per CM Discussion",
@ -371,24 +388,27 @@
} }
] ]
}
],
"is_repeatable":"1",
"group_key":"financial_info",
"group_title":"Financial Information"
}, },
{ {
"question":"Broken Period starting from (Month)", "question":"Broken Period starting from (Date)",
"question_key":"broken_period_from_month", "question_key":"broken_period_from_month",
"type":"1", "type":"1",
"field_width":"45", "field_width":"45",
"place_holder":"DD-MM-YYYY (Eg 05-02-2020)",
"answers":null, "answers":null,
"api_properties":null, "api_properties":null,
"onchange_properties":null, "onchange_properties":[
{
"purpose":"answer_value",
"expression":"(function (){let final_value = ''; if(String('broken_period_to_month') && String('broken_period_from_month')) {let from_date = new Date((String('broken_period_from_month')).split('-').reverse().join('-'));let to_date = new Date((String('broken_period_to_month')).split('-').reverse().join('-'));console.log(to_date);if(!from_date || !to_date || !from_date instanceof Date || !to_date instanceof Date || isNaN(from_date) || isNaN(to_date)) {final_value = '';return;}final_value = to_date.getMonth() - from_date.getMonth() + (12 * (to_date.getFullYear() - from_date.getFullYear()))};return final_value}())",
"value_keys":[
"broken_period_to_month", "broken_period_from_month"
],
"insert_control":"broken_period_no_of_months"
}
],
"is_repeatable":null, "is_repeatable":null,
"field_type":"num", "field_type":"string",
"validations":[ "validations":[
{ {
"name":"required", "name":"required",
@ -401,15 +421,25 @@
] ]
}, },
{ {
"question":"Broken Period starting to (Month)", "question":"Broken Period starting to (Date)",
"question_key":"broken_period_to_month", "question_key":"broken_period_to_month",
"type":"1", "type":"1",
"place_holder":"DD-MM-YYYY (Eg 03-12-2020)",
"field_width":"45", "field_width":"45",
"answers":null, "answers":null,
"api_properties":null, "api_properties":null,
"onchange_properties":null, "onchange_properties":[
{
"purpose":"answer_value",
"expression":"(function (){let final_value = ''; if(String('broken_period_to_month') && String('broken_period_from_month')) {let from_date = new Date((String('broken_period_from_month')).split('-').reverse().join('-'));let to_date = new Date((String('broken_period_to_month')).split('-').reverse().join('-'));console.log(to_date);if(!from_date || !to_date || !from_date instanceof Date || !to_date instanceof Date || isNaN(from_date) || isNaN(to_date)) {final_value = '';return;}final_value = to_date.getMonth() - from_date.getMonth() + (12 * (to_date.getFullYear() - from_date.getFullYear()))};return final_value}())",
"value_keys":[
"broken_period_to_month", "broken_period_from_month"
],
"insert_control":"broken_period_no_of_months"
}
],
"is_repeatable":null, "is_repeatable":null,
"field_type":"num", "field_type":"string",
"validations":[ "validations":[
{ {
"name":"required", "name":"required",
@ -448,7 +478,16 @@
"field_width":"45", "field_width":"45",
"answers":null, "answers":null,
"api_properties":null, "api_properties":null,
"onchange_properties":null, "onchange_properties":[
{
"purpose":"answer_value",
"expression":"(((Number(broken_period_turnover_cy)-Number(broken_period_turnover_py))/Number(broken_period_turnover_cy))*100).toFixed(2)",
"value_keys":[
"broken_period_turnover_py","broken_period_turnover_cy"
],
"insert_control":"broken_period_turnover_percent"
}
],
"is_repeatable":null, "is_repeatable":null,
"field_type":"numtoword", "field_type":"numtoword",
"validations":[ "validations":[
@ -468,7 +507,16 @@
"field_width":"45", "field_width":"45",
"answers":null, "answers":null,
"api_properties":null, "api_properties":null,
"onchange_properties":null, "onchange_properties":[
{
"purpose":"answer_value",
"expression":"(((Number(broken_period_turnover_cy)-Number(broken_period_turnover_py))/Number(broken_period_turnover_cy))*100).toFixed(2)",
"value_keys":[
"broken_period_turnover_py","broken_period_turnover_cy"
],
"insert_control":"broken_period_turnover_percent"
}
],
"is_repeatable":null, "is_repeatable":null,
"field_type":"numtoword", "field_type":"numtoword",
"validations":[ "validations":[
@ -502,67 +550,6 @@
] ]
}, },
{
"question":"Sales / Revenue (Rs) for the broken period of the Current FY as per applicant",
"question_key":"broken_period_sales_amount",
"type":"1",
"field_width":"45",
"answers":null,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"Net Profit / (Net Loss) (Rs) for the broken period of the Current FY as per applicant ",
"question_key":"broken_period_netprofit_amount",
"type":"1",
"field_width":"45",
"answers":null,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{
"question":"% of Net Profit / (Net Loss) over Sales for the broken period of the Current FY as per applicant ",
"question_key":"broken_period_netprofit_percent",
"type":"1",
"field_width":"45",
"answers":null,
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"num",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{ {
"question":"Does the business have any working capital facility from any lender other than Moneywise?", "question":"Does the business have any working capital facility from any lender other than Moneywise?",
"question_key":"is_any_other_working_captial_facility", "question_key":"is_any_other_working_captial_facility",
@ -590,41 +577,6 @@
"is_any_other_working_captial_facility" "is_any_other_working_captial_facility"
], ],
"questions":[ "questions":[
{
"question":"Facility details i.e. Letter of Credit/ Bank guarantee, CC limit etc.",
"question_key":"facility_details_other_lender",
"type":"3",
"field_width":"45",
"answers":[
{
"answer":"Letter of Credit",
"answer_id":"Letter of Credit"
},
{
"answer":"Bank guarantee",
"answer_id":"Bank guarantee"
},
{
"answer":"CC limit",
"answer_id":"CC limit"
}
],
"api_properties":null,
"onchange_properties":null,
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_any_other_working_captial_facility",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
},
{ {
"question":"Details of above facilities need to be entered", "question":"Details of above facilities need to be entered",
"question_key":"facility_details_specify", "question_key":"facility_details_specify",
@ -646,7 +598,73 @@
} }
] ]
},
{
"question":"Facility details i.e. Letter of Credit/ Bank guarantee, CC limit etc.",
"question_key":"facility_details_other_lender",
"type":"3",
"field_width":"45",
"answers":[
{
"answer":"Letter of Credit",
"answer_id":"Letter of Credit"
},
{
"answer":"Bank guarantee",
"answer_id":"Bank guarantee"
},
{
"answer":"CC limit",
"answer_id":"CC limit"
},
{
"answer":"Others",
"answer_id":"Others"
} }
],
"api_properties":null,
"onchange_properties": [
{
"purpose":"FORM_CTRL",
"form_controls":[{
"insert_index":"facility_details_other_lender",
"expression":"(String('facility_details_other_lender').toLowerCase() == String('others'))",
"value_keys":[
"facility_details_other_lender"
],
"questions":[
{
"question": "Specify Facility details",
"question_key": "facility_details_other",
"type": "1",
"field_width": "45",
"field_type": "string",
"api_properties": null,
"answers": null,
"onchange_properties": null,
"is_repeatable": null,
"validations": [
]
}
]
}]
}
],
"is_repeatable":null,
"is_subfield":"1",
"parent_question_key":"is_any_other_working_captial_facility",
"validations":[
{
"name":"required",
"isactive":"1",
"validator":"Validators.required",
"message":"Required",
"value":null
}
]
}
] ]
} }
] ]
@ -686,7 +704,7 @@
}, },
{ {
"purpose":"answer_value", "purpose":"answer_value",
"expression":"(function (){let final_value; Number(net_profit_rs) ? final_value = (Number(net_profit_rs)/Number(sales_amount))*100 : '';return final_value}())", "expression":"(function (){let final_value; Number(net_profit_rs) ? final_value = (Number(net_profit_rs)/Number(sales_amount))*100 : '';return final_value.toFixed(2)}())",
"value_keys":[ "value_keys":[
"sales_amount", "net_profit_rs" "sales_amount", "net_profit_rs"
], ],
@ -763,13 +781,27 @@
"onchange_properties":[ "onchange_properties":[
{ {
"purpose":"answer_value", "purpose":"answer_value",
"expression":"(Number(net_profit_rs)/Number(sales_amount))*100", "expression":"((Number(net_profit_rs)/Number(sales_amount))*100).toFixed(2)",
"value_keys":[ "value_keys":[
"sales_amount", "net_profit_rs" "sales_amount", "net_profit_rs"
], ],
"insert_control":"net_profit_to_sales_percent" "insert_control":"net_profit_to_sales_percent"
} }
] ]
},
{
"question_key":"common_remarks",
"question":"Remarks",
"place_holder":"Enter the text",
"type":"7",
"api_properties":null,
"answers":null,
"onchange_properties":null,
"is_repeatable":null,
"field_type":"string",
"field_width":"45",
"validations":[
]
} }
] ]