(function (s, u) { s.add({ save_policy: function (policys, success, error) { u.post(this.backend + "api/policygatransit/save", policys, success, error); }, get_policys: function (success, error) { u.get(this.backend + "api/policygatransit", success, error); }, search_policy: function (query, success, error) { u.get(this.backend + "api/policygatransit/search/" + query, success, error); }, confirmPolicy: function (polId, endNo, userCode, riYN, success, error) { u.get(this.backend + "api/Confirmation/confirmTransitPolicy/" + polId + "/" + endNo + "/" + userCode + "/" + riYN, success, error); }, risk_end_deletion: function (sysID, endNo, userCode, success, error) { u.get(this.backend + "api/policygatransit/endDeletion/" + sysID + "/" + endNo + "/" + userCode, success, error); }, unConfirm_Policy: function (polId, endNo, success, error) { u.get(this.backend + "api/Confirmation/unconfirm/" + polId + "/" + endNo + "/" + userCode, success, error); }, /*get_customer: function (code, success, error) { u.get(this.backend+"api/customer/", code, success, error); },*/ get_lov_company: function (success, error) { u.get(this.backend + "api/company/lov", success, error); }, get_lov_channel: function (success, error) { u.get(this.backend + "api/channel/lov", success, error); }, get_lov_office: function (success, error) { u.get(this.backend + "api/office/lov", success, error); }, get_lov_product_type: function (success, error) { u.get(this.backend + "api/classbusiness/lov", success, error); }, get_lov_cover_type: function (success, error) { u.get(this.backend + "api/cover/lov", success, error); }, get_lov_ins_source: function (success, error) { u.get(this.backend + "api/insurancesource/lov", success, error); }, get_lov_broker_agent: function (success, error) { u.get(this.backend + "api/intermediary/lov", success, error); }, get_lov_business_source: function (success, error) { u.get(this.backend + "api/SourceBusiness/lov", success, error); }, get_lov_customer: function (success, error) { u.get(this.backend + "api/Customer/lov", success, error); }, get_lov_currency: function (success, error) { u.get(this.backend + "api/exchangerate/lov", success, error); }, get_lov_area: function (success, error) { u.get(this.backend + "api/area/lov", success, error); }, get_lov_location: function (success, error) { u.get(this.backend + "api/location/lov", success, error); }, get_lov_regions: function (success, error) { u.get(this.backend + "api/regions/lov", success, error); }, get_lov_Intermediary_Comm: function (code, success, error) { u.post(this.backend + "api/IntermediaryCommission/lov/", code, success, error); }, get_lov_cedent: function (success, error) { u.get(this.backend + "api/customercategory/lov", success, error); }, get_lov_com: function (success, error) { u.get(this.backend + "api/company/lov", success, error); }, get_lov_member_com: function (success, error) { u.get(this.backend + "api/customercategory/lov", success, error); }, get_lov_eqzone: function (success, error) { u.get(this.backend + "api/fireeqzone/lov", success, error); }, get_lov_transit: function (success, error) { u.get(this.backend + "api/transit/lov", success, error); }, check_company_code: function (code, success, error) { u.get(this.backend + "api/company/check/" + code, success, error); }, check_intermediary_code: function (code, success, error) { u.get(this.backend + "api/intermediary/check/" + code, success, error); }, check_office_code: function (code, success, error) { u.get(this.backend + "api/office/check/" + code, success, error); }, check_product_code: function (code, success, error) { u.get(this.backend + "api/classbusiness/check/" + code, success, error); }, check_channel_code: function (code, success, error) { u.get(this.backend + "api/channel/check/" + code, success, error); }, check_insurance_source_code: function (code, success, error) { u.get(this.backend + "api/insurancesource/check/" + code, success, error); }, check_subproduct_code: function (code, success, error) { u.get(this.backend + "api/product/check/" + code, success, error); }, check_business_source_code: function (code, success, error) { u.get(this.backend + "api/SourceBusiness/check/" + code, success, error); }, check_customer_code: function (code, success, error) { u.get(this.backend + "api/Customer/check/" + code, success, error); }, check_area_code: function (code, success, error) { u.get(this.backend + "api/area/check/" + code, success, error); }, check_location_code: function (code, success, error) { u.get(this.backend + "api/location/check/" + code, success, error); }, check_region_code: function (code, success, error) { u.get(this.backend + "api/regions/check/" + code, success, error); }, get_customer: function (code, success, error) { u.get(this.backend + "api/Customer/" + code, success, error); }, getAddRiskCovers: function (data, success, error) { u.post(this.backend + "api/RisksCovers/additionalCovers", data, success, error); }, getRiskDefaulCovers: function (data, success, error) { u.post(this.backend + "api/RisksCovers/defaultCovers", data, success, error); }, getRiskCoversLOV: function (data, success, error) { u.post(this.backend + "api/RisksCovers/RiskCoversLOV", data, success, error); }, getProdtRisk: function (data, success, error) { u.post(this.backend + "api/RisksCovers/productRisk", data, success, error); }, getProductRiskLov: function (data, success, error) { u.post(this.backend + "api/RisksCovers/productRisk/Lov", data, success, error); }, get_lov_products: function (success, error) { u.get(this.backend + "api/product/lov", success, error); }, //getArea: function (data, success, error) { // u.post(this.backend+"api/area/areaLov", data, success, error); //}, getArea: function (regCode, success, error) { u.get(this.backend + `api/area/areaLov/${regCode}`, success, error); }, //getLocation: function (data, success, error) { // u.post(this.backend+"api/location/locationLov", data, success, error); //}, getLocation: function (areaCode, success, error) { u.get(this.backend + `api/location/locationLov/${areaCode}`, success, error); }, get_customers: function (success, error) { u.get(this.backend + "api/customer", success, error); }, //search_customer: function (query, success, error) { // u.get(this.backend + "api/customer/search/" + query, success, error); //}, getRiskFees: async function (data, success, error) { return await u.postAsync(this.backend + "api/productriskfee/RiskFees", data, success, error); }, get_policy_risk: function (success, error) { u.get(this.backend + "api/policygatransitrisk", success, error); }, get_lov_fdzoneAsync: async function (data) { return await u.getAsync(`${this.backend}api/disastercategory/lov/Flood/${data.region}`, data); }, get_lov_eqzone: function (success, error) { u.get(this.backend + "api/fireeqzone/lov", success, error); }, get_lov_ricustomer: function (success, error) { u.get(this.backend + "api/customer/rilov", success, error); }, get_lov_PExcessAsync: async function (data) { return await u.getAsync(`${this.backend}api/product/excess/lov/${data.SubClass}`); }, get_PExcessAsync: async function (data) { return await u.getAsync(`${this.backend}api/product/excess/${data}`); }, getProductRisks: function(code, success, error) { u.get(this.backend + `api/productrisk/productRisksLov/${code}`, success, error); } }); })(window.service, window.utility); (function ($, s, u, $scope) { $(function () { u.setGlobal("treatyData", {}); $scope.valueAddTaxCalculation = function (v) { v.GAL_VALUE_ADDED_TAX_YN = v.GAL_VALUE_ADDED_TAX_YN || "N"; v.GAL_VALUE_ADDED_TAX_PERC = parseFloat(v.GAL_VALUE_ADDED_TAX_PERC || 0) || 0; v.GAL_VALUE_ADDED_TAX_FC = parseFloat(parseFloat(v.GAL_TOT_PREM_FC * parseFloat(v.GAL_VALUE_ADDED_TAX_PERC || 0) * 0.01).toFixed(2)) || 0; v.GAL_VALUE_ADDED_TAX_BC = parseFloat(parseFloat(v.GAL_TOT_PREM_BC * parseFloat(v.GAL_VALUE_ADDED_TAX_PERC || 0) * 0.01).toFixed(2)) || 0; v.GAL_VALUE_ADDED_TAX_RATE_FC = v.GAL_VALUE_ADDED_TAX_YN == "Y" ? parseFloat(v.GAL_VALUE_ADDED_TAX_FC) : 0; v.GAL_VALUE_ADDED_TAX_RATE_BC = v.GAL_VALUE_ADDED_TAX_YN == "Y" ? parseFloat(v.GAL_VALUE_ADDED_TAX_BC) : 0; }; /* * LOCATION GRID BUTTON FUNCTIONS */ $("#btn_add_loc").click(function () { if (u.form_validation("#polheaderForm")) { if (jQuery.isEmptyObject(u.getGlobal("treatyData"))) { s.getProductTreaty($("#POLH_SUB_CLASS_CODE").val(), $("#POLH_POL_UW_YEAR").val(), $("#POLH_CURRENCY").val(), function (response) { if (response.state && response.data) { u.setGlobal("treatyData", response.data); $("#LocationModal").modal(); $("#GAL_CURRENCY").val($("#POLH_CURRENCY").val()); $("#GAL_CURRENCY_RATE").val($("#POLH_CURRENCY_RATE").val()); $("#GAL_START_DATE").val($("#POLH_POL_START_DATE").val()); $("#GAL_END_DATE").val($("#POLH_POL_END_DATE").val()); $("#GAL_UW_YEAR").val($("#POLH_POL_UW_YEAR").val()); $("#GAL_PERIOD_DAYS").val($("#POLH_POL_DAYS").val()); $("#GAL_VALUE_ADDED_TAX_PERC").val($("#POLH_VAT_PERC").val()); $("#GAL_VALUE_ADDED_TAX_YN").val($("#POLH_VAT_YN").val()); u.lovDropDown("#GAL_EARTHQ_ZONE", "get_lov_eqzone"); u.growl_success("Treaty setup fetched successfully"); } else { u.growl_error("Treaty not setup for the current underwriting year."); } }); } else { $("#LocationModal").modal(); $("#GAL_CURRENCY").val($("#POLH_CURRENCY").val()); $("#GAL_CURRENCY_RATE").val($("#POLH_CURRENCY_RATE").val()); $("#GAL_START_DATE").val($("#POLH_POL_START_DATE").val()); $("#GAL_END_DATE").val($("#POLH_POL_END_DATE").val()); $("#GAL_UW_YEAR").val($("#POLH_POL_UW_YEAR").val()); $("#GAL_PERIOD_DAYS").val($("#POLH_POL_DAYS").val()); } $("#btn_add_location_details").removeClass("m-hide"); $("#btn_update_location_details").addClass("m-hide"); } else { u.growl_warning("Please fill the Policy Header form and try again"); }; }); $("#btn_edit_loc").click(function () { if (!u.getSelRow(u.getGlobal("udwGenAccLocGrid"))) return u.growl_info("Please select a location below"); $("#btn_add_location_details").addClass("m-hide"); $("#btn_update_location_details").removeClass("m-hide"); $("#LocationModal").modal(); }); $("#btn_add_location_details").on("click", function () { if (u.form_validation("#genAccLocationForm")) { var gridData = u.get_grid_data(u.getGlobal("udwGenAccLocGrid")); if (gridData.Any(reg => reg.GAL_REGION_CODE === $("#GAL_REGION_CODE").val() && reg.GAL_AREA_CODE === $("#GAL_AREA_CODE").val() && reg.GAL_LOC_CODE === $("#GAL_LOC_CODE").val())) { u.modalWarning("There already exists in the grid a record with the same Region, Area, and Location. Please make sure you are not entering a duplicate entry"); } u.modalConfirmationAsync("Are you sure you want to add the Location Details?", async function () { var rowIds = u.getGlobal("udwGenAccLocGrid").jqGrid("getDataIDs"); /*---------------------------------------------- * declare array to contain the codes to verify *--------------------------------------------*/ // var code = []; /*------------------------------------------------------------ * iterate through the rows and check duplicate each of them *----------------------------------------------------------*/ // for (var i = 0, len = rowIds.length; i < len; i++) { var currRow = rowIds[i]; /*------------------------------------------------ * get value of the cell or column in an array *----------------------------------------------*/ // var region = u.getGlobal("udwGenAccLocGrid").jqGrid("getCell", currRow, "GAL_REGION_CODE"); var area = u.getGlobal("udwGenAccLocGrid").jqGrid("getCell", currRow, "GAL_AREA_CODE"); var location = u.getGlobal("udwGenAccLocGrid").jqGrid("getCell", currRow, "GAL_LOC_CODE"); code.push(`${region}${area}${location}`); } /*---------------------------------------- * add if code is not found in the Grid *--------------------------------------*/ // if ($.inArray(`${$("#GAL_REGION_CODE").val()}${$("#GAL_AREA_CODE").val()}${$("#GAL_LOC_CODE").val()}`, code) < 0) { var formData = u.parse_form("#genAccLocationForm"); formData.GAL_STATUS = "U"; formData.GAL_CRTE_BY = u.getUserCode(); formData.GAL_SYS_ID = await s.getSequenceAsync("INS_UDW_GA_LOC_SEQ"); //var fees = await getProductComPulsoryFees(formData.GAL_SYS_ID); //if (fees) { // formData.INS_UDW_GA_RISK_FEES = fees.ToJson(); //} u.getGlobal("udwGenAccLocGrid").addRowData(undefined, formData); u.hide_confirm(); u.growl_success("Location successfully added to grid"); $("#LocationModal").modal("hide"); u.form_reset("#genAccLocationForm"); u.getGlobal("showRiskCount")(u.get_grid_data(u.getGlobal("udwGenAccLocGrid")).Where(x => x.GAL_STATUS !== "D")); } else { u.hide_confirm(); u.growl_warning(`Location with the same region, area and location Already exists`); } }); } else { u.growl_error("Please fill out the fields that are marked red"); } }); async function getProductComPulsoryFees(engId) { /* obtain parameter for our request */ var riskFeesData = { CLASS_CODE: $("#POLH_CLASS_CODE").val(), PRD_CODE: $("#POLH_SUB_CLASS_CODE").val() }; // //send parameters and get motor Risks from the database var result = await s.getProductFeesAsync(riskFeesData); if (result && result.length && result.length > 0) { //fill grid result.ForEach(f => { result[i]["GAR_FEE_FC_AMOUNT"] = result[i]["PRF_FEE_AMOUNT"]; result[i]["GAR_FEE_BC_AMOUNT"] = result[i]["PRF_FEE_AMOUNT"]; result[i]["GAR_FEE_CODE"] = result[i]["PRF_FEE_CODE"]; result[i]["GAR_FEE_NAME"] = result[i]["FEE_NAME"]; result[i]["GAR_FEE_RK_NO"] = result[i]["PRF_SYS_ID"]; result[i]["GAR_FEE_RK_CODE"] = $("#TRANS_RISK_CODE").val(); result[i]["GAR_FEE_RK_SYS_ID"] = $("#TRANS_SYS_ID").val(); result[i]["GAR_FEE_CRTE_BY"] = "Admin"; result[i]["GAR_FEE_CRTE_DATE"] = Date.now(); result[i]["GAR_FEE_STATUS"] = "U"; // // $scope.locationFeesGrid.jqGrid('setCell', result[i], 'RISK_CODE', ); //$scope.locationFeesGrid.addRowData(undefined, f); }); } var compFeedata = u.get_grid_data($scope.locationFeesGrid); var sumFees = compFeedata.GroupBy(function (x) { return x.ENG_FEE_CODE; }) .Select(function (x) { //console.log(x); return { POL_FEE_CODE: x.Key(), POL_FEE_NAME: x.source[0]["ENG_FEE_NAME"], POL_FEE_FC_AMOUNT: x.Sum(function (y) { return y.ENG_FEE_FC_AMOUNT | 0; }), POL_FEE_BC_AMOUNT: x.Sum(function (y) { return y.ENG_FEE_BC_AMOUNT | 0; }), POL_FEE_END_NO: 0 //$("#POL_END_NO").val() }; }).ToArray(); // if ($("#POLH_STATUS").val() == "U") { u.clear_grid_data($scope.polpolicyFeesGrid); sumFees.ForEach(f => { $scope.polpolicyFeesGrid.addRowData(undefined, f); }); } else { sumFees.ForEach(f => { $scope.polpolicyFeesGrid.addRowData(undefined, f); u.setGridColumn($scope.polpolicyFeesGrid, { "POL_FEE_FC_AMOUNT": function (amount, row) { if (row.POL_FEE_CODE == f.POL_FEE_CODE) { return parseFloat(amount) + parseFloat(f.POL_FEE_FC_AMOUNT); } return amount; }, "POL_FEE_BC_AMOUNT": function (amount, row) { if (row.POL_FEE_CODE == f.POL_FEE_CODE) { return parseFloat(amount) + parseFloat(f.POL_FEE_BC_AMOUNT); } return amount; } }); }); } return result; } /*--------------------------------------------- * EML Select Options *--------------------------------------------*/ $("form select[name='GAL_EML_YN']").change(function () { if ($(this).val() === "N") { $("#GAL_EML_PERC").prop("disabled", "disabled"); $("#GAL_EML_PERC").prop("disabled", "disabled"); } else if ($(this).val() === "Y") { $("#GAL_EML_PERC").removeAttr("disabled"); $("#GAL_EML_PERC").removeAttr("readonly"); } else { $("#GAL_EML_PERC").val(""); $("#GAL_EML_PERC").prop("disabled", "disabled"); } }); /* * FLOODZONE */ $("#GAL_REGION_CODE").change(async function () { let result = $(this).val(); await u.lovDropDownAsync("#GAL_FDZONE", "get_lov_fdzoneAsync", { "region": result || null }); }); /* * DEFAULT RISK COVERS */ u.setGlobal("getDefaultRiskCoversAsync", async function (riskId) { if ($("#POLH_SUB_CLASS_CODE").val() === "") { u.growl_warning("The Risk Code cannot be null, Please check and try again"); } else { var productRiskData = { PRD_CODE: $("#POLH_SUB_CLASS_CODE").val(), CUR_RATE: $("#POLH_CURRENCY_RATE").val(), }; var result = await s.getRiskDefaulCoversAsync(productRiskData); if (result && result.length && result.length > 0) { for (var i in result) { result[i]["RCOV_NAME"] = result[i]["MS_UDW_COVERS"]["CVR_NAME"]; result[i]["RCOV_TYPE"] = result[i]["MS_UDW_COVERS"]["CVR_TYPE"]; result[i]["RCOV_RI_YN"] = result[i]["MS_UDW_COVERS"]["CVR_RI_APPLICABLE"]; result[i]["CVR_USER_PREMIUM"] = result[i]["MS_UDW_COVERS"]["CVR_USER_PREMIUM"]; result[i]["RCOV_PREM_REFUND"] = result[i]["MS_UDW_COVERS"]["RCOV_PREM_REFUND"]; result[i]["RCOV_RATE_CHANGE"] = result[i]["MS_UDW_COVERS"]["CVR_RATE_CHANGE"]; result[i]["RCOV_SI_CHANGE"] = result[i]["MS_UDW_COVERS"]["CVR_SI_CHANGE"]; result[i]["RCOV_COVER_LEVEL"] = result[i]["MS_UDW_COVERS"]["RCOV_COVER_LEVEL"]; result[i]["RCOV_BASE_PREM_YN"] = result[i]["RCOV_BASE_PREM_YN"] === "" || result[i]["RCOV_BASE_PREM_YN"] === null ? "N" : result[i]["RCOV_BASE_PREM_YN"]; result[i]["RCOV_BASE_SI_YN"] = result[i]["RCOV_BASE_SI_YN"] === "" || result[i]["RCOV_BASE_SI_YN"] === null ? "N" : result[i]["RCOV_BASE_SI_YN"]; result[i]["RCOV_RISK_SYS_ID"] = riskId; } return result; } } }); u.setGlobal("getOtherDefaultRiskCoversAsync", async function (riskId, insSource) { if ($("#POLH_SUB_CLASS_CODE").val() === "") { u.growl_warning("The Risk Code cannot be null, Please check and try again"); } else { var productRiskData = { PRD_CODE: $("#POLH_SUB_CLASS_CODE").val(), CUR_RATE: $("#POLH_CURRENCY_RATE").val(), RCOV_CODE: insSource === "COM" ? "60010" : "60008" }; var result = await s.getRiskCoverByProduct(productRiskData); if (result && result.length && result.length > 0) { for (var i in result) { //result[i]["RCOV_NAME"] = result[i]["MS_UDW_COVERS"]["CVR_NAME"]; //result[i]["RCOV_TYPE"] = result[i]["MS_UDW_COVERS"]["CVR_TYPE"]; //result[i]["RCOV_RI_YN"] = result[i]["MS_UDW_COVERS"]["CVR_RI_APPLICABLE"]; //result[i]["CVR_USER_PREMIUM"] = result[i]["MS_UDW_COVERS"]["CVR_USER_PREMIUM"]; //result[i]["RCOV_PREM_REFUND"] = result[i]["MS_UDW_COVERS"]["RCOV_PREM_REFUND"]; //result[i]["RCOV_RATE_CHANGE"] = result[i]["MS_UDW_COVERS"]["CVR_RATE_CHANGE"]; //result[i]["RCOV_SI_CHANGE"] = result[i]["MS_UDW_COVERS"]["CVR_SI_CHANGE"]; //result[i]["RCOV_COVER_LEVEL"] = result[i]["MS_UDW_COVERS"]["RCOV_COVER_LEVEL"]; result[i]["RCOV_BASE_PREM_YN"] = result[i]["RCOV_BASE_PREM_YN"] === "" || result[i]["RCOV_BASE_PREM_YN"] === null ? "N" : result[i]["RCOV_BASE_PREM_YN"]; result[i]["RCOV_BASE_SI_YN"] = result[i]["RCOV_BASE_SI_YN"] === "" || result[i]["RCOV_BASE_SI_YN"] === null ? "N" : result[i]["RCOV_BASE_SI_YN"]; result[i]["RCOV_RISK_SYS_ID"] = riskId; } return result; } } }); /* * PREMIUM CALCULATOR */ u.setGlobal("gaPremCalculator", function () { var grossPremFc = 0; var grossPremBc = 0; var riskPremFc = 0; var riskPremBc = 0; u.get_grid_data(u.getGlobal("udwGenAccLocGrid")).ForEach(location => { if (location.GAL_STATUS !== "D") { grossPremFc += parseFloat(location.GAL_TOT_PREM_FC || 0); grossPremBc += parseFloat(location.GAL_TOT_PREM_BC || 0); riskPremBc += parseFloat(location.GAL_RISK_PREM_BC || 0); riskPremFc += parseFloat(location.GAL_RISK_PREM_FC || 0); } }); var prems = [riskPremFc, riskPremBc, grossPremFc, grossPremBc]; //console.log(prems); return prems; }); /* * PREMIUM SUMMARIZER */ u.setGlobal("gaPremSummarizer", function () { var currRate = parseFloat($("#POLH_CURRENCY_RATE").val() || 0); //[grossPremFc=0, grossPremBc=1, totalvehBasicPrem=2, excessBoughtPrem=3, totalccLoadingPrem=4, AddTPPDPrem=5, totalRiskPrem=6, totalTPBasicPrem=7, extraSeatPrem=8, ncdPremFc=9, ncdPremBc=10, addPeril=11, PABenefitPrem=12, ecowasPrem] var premData = u.getGlobal("gaPremCalculator")(); $scope.PremSummary_grid = u.getGlobal("udwPremSumGrid"); u.clear_grid_data($scope.PremSummary_grid); var data = { CODE: "GRSPREM", DESCRIPTION: "Gross Premium", FC_AMOUNT: ( parseFloat(premData[2] || 0)).toFixed(2), BC_AMOUNT: ( parseFloat(premData[3] || 0)).toFixed(2), TYPE: "P" }; $scope.PremSummary_grid.addRowData(data.ID, data); //policy discount and loading summary var polDiscLoadData = []; var totalSumInsuredBc = 0; var totalSumInsuredFc = 0; var vatBc = 0; var vatFc = 0; var locationData = u.get_grid_data(u.getGlobal("udwGenAccLocGrid")); locationData.ForEach(location => { if (location.GAL_STATUS !== "D") { /*----------------------------- * VALUE ADDED TASK CALCULATION *----------------------------*/ let policy = u.parse_form("#polheaderForm"); location.GAL_VALUE_ADDED_TAX_YN = policy.POLH_VAT_YN || location.GAL_VALUE_ADDED_TAX_YN; location.GAL_VALUE_ADDED_TAX_PERC = policy.POLH_VAT_PERC || parseFloat(location.GAL_VALUE_ADDED_TAX_PERC || 0) || 0; $scope.valueAddTaxCalculation(location); totalSumInsuredBc += parseFloat(location.GAL_SI_BC || 0); totalSumInsuredFc += parseFloat(location.GAL_SI_FC || 0); vatBc += parseFloat(location.GAL_VALUE_ADDED_TAX_RATE_BC || 0) || 0; vatFc += parseFloat(location.GAL_VALUE_ADDED_TAX_RATE_FC || 0) || 0; // bankers indemnity, goods in transit, cash in transit var transitRisks = typeof (location.INS_UDW_GA_TRANSIT) === "string" ? u.parseJson(location.INS_UDW_GA_TRANSIT) : location.INS_UDW_GA_TRANSIT || []; transitRisks.ForEach(transit => { if (transit.TRANS_STATUS !== "D") { var covers = typeof (transit.INS_UWD_RISK_COVERS) === "string" ? u.parseJson(transit.INS_UWD_RISK_COVERS) : transit.INS_UWD_RISK_COVERS || []; covers = u.parseJson(covers); covers.ForEach(cover => { var discLoads = cover.INS_UDW_COVER_DISCLOAD === "string" ? u.parseJson(cover.INS_UDW_COVER_DISCLOAD) : cover.INS_UDW_COVER_DISCLOAD || []; discLoads.ForEach(discLoad => { if (discLoad.DL_STATUS !== "D") { polDiscLoadData.push(discLoad); } }); }); } }); } }); //console.log(polDiscLoadData); var polDiscLoadLinq = Enumerable.From(polDiscLoadData); var polDiscLoadings = polDiscLoadLinq.GroupBy(function (x) { return x.DL_CODE; }) .Select(function (x) { return { CODE: x.Key(), DESCRIPTION: x.source[0]["DL_NAME"], FC_AMOUNT: x.Sum(function (y) { return y.DL_TYPE === "D" ? -(parseFloat(y.DL_AMT_FC || 0)) : parseFloat(y.DL_AMT_FC || 0); }).toFixed(2), BC_AMOUNT: x.Sum(function (y) { return y.DL_TYPE === "D" ? -(parseFloat(y.DL_AMT_BC || 0)) : parseFloat(y.DL_AMT_BC || 0); }).toFixed(2), TYPE: x.source[0]["DL_TYPE"] }; }).ToArray(); for (var x in polDiscLoadings) $scope.PremSummary_grid.addRowData(polDiscLoadings[x].ID, polDiscLoadings[x]); //policy fee summary var compFeedata = u.get_grid_data(u.getGlobal("udwPolFeesGrid")); var linq = Enumerable.From(compFeedata); var result = linq.GroupBy(function (x) { return x.POL_FEE_CODE; }) .Select(function (x) { return { CODE: x.Key(), DESCRIPTION: x.source[0]["POL_FEE_NAME"], FC_AMOUNT: x.Sum(function (y) { return parseFloat(parseFloat(y.POL_FEE_FC_AMOUNT || 0)); }).toFixed(2), BC_AMOUNT: x.Sum(function (y) { return parseFloat(y.POL_FEE_BC_AMOUNT || 0); }) .toFixed(2), TYPE: "F" }; }).ToArray(); for (var i in result) $scope.PremSummary_grid.addRowData(result[i].ID, result[i]); var summaryData = u.get_grid_data($scope.PremSummary_grid), summaryDataLing = Enumerable.From(summaryData); //var netCustomerFc = (summaryDataLing.Sum(function(x) { return parseFloat(x.FC_AMOUNT); })).toFixed(2), // netCustomerBc = (summaryDataLing.Sum(function(x) { return parseFloat(x.BC_AMOUNT); })).toFixed(2); var netCustomerFc = parseFloat(premData[0] || 0) + compFeedata.Sum(x => parseFloat(x.POL_FEE_FC_AMOUNT || 0)) + parseFloat(vatFc), netCustomerBc = parseFloat(premData[1] || 0) + compFeedata.Sum(x => parseFloat(x.POL_FEE_BC_AMOUNT || 0)) + parseFloat(vatBc); // var currency = $("#POLH_CURRENCY").val(); var premium = " " + currency + " " + netCustomerFc; $("#netCustomerBc").text(netCustomerBc); $("#netCustomerFc").text(premium); $("#POLH_POL_PREM_FC").val(netCustomerFc); $("#POLH_POL_PREM_BC").val(netCustomerBc); $("#POLH_NET_PREM_FC").val( summaryDataLing.Where(function (x) { return x.TYPE === "P"; }).Sum(function (x) { return parseFloat(x.FC_AMOUNT); }) + summaryDataLing.Where(function (x) { return x.TYPE === "D"; }).Sum(function (x) { return parseFloat(x.FC_AMOUNT); }) + summaryDataLing.Where(function (x) { return x.TYPE === "L"; }).Sum(function (x) { return parseFloat(x.FC_AMOUNT); })); $("#POLH_NET_PREM_BC").val( summaryDataLing.Where(function (x) { return x.TYPE === "P"; }).Sum(function (x) { return parseFloat(x.BC_AMOUNT || 0); }) + summaryDataLing.Where(function (x) { return x.TYPE === "D"; }).Sum(function (x) { return parseFloat(x.BC_AMOUNT || 0); }) + summaryDataLing.Where(function (x) { return x.TYPE === "L"; }).Sum(function (x) { return parseFloat(x.BC_AMOUNT || 0); })); //x.BC_AMOUNT $("#POLH_POL_LOAD_FC").val(summaryDataLing.Where(function (x) { return x.TYPE === "L" }) .Sum(function (x) { return parseFloat(x.FC_AMOUNT || 0); })); $("#POLH_POL_LOAD_BC").val(summaryDataLing.Where(function (x) { return x.TYPE === "L" }) .Sum(function (x) { return parseFloat(x.BC_AMOUNT || 0) })); $("#POLH_POL_DISC_FC").val(summaryDataLing.Where(function (x) { return x.TYPE === "D" }) .Sum(function (x) { return parseFloat(x.FC_AMOUNT || 0); })); $("#POLH_POL_DISC_BC").val(summaryDataLing.Where(function (x) { return x.TYPE === "D" }) .Sum(function (x) { return parseFloat(x.BC_AMOUNT || 0); })); $("#POLH_FEE_FC").val(summaryDataLing.Where(function (x) { return x.TYPE === "F" }).Sum(function (x) { return parseFloat(x.FC_AMOUNT || 0); })); $("#POLH_FEE_BC").val(summaryDataLing.Where(function (x) { return x.TYPE === "F" }).Sum(function (x) { return parseFloat(x.BC_AMOUNT || 0); })); $("#POLH_GROSS_PREM_BC").val(summaryData.Where((x) => x.TYPE === "P").FirstOrDefault().BC_AMOUNT); $("#POLH_GROSS_PREM_FC").val(summaryData.Where((x) => x.TYPE === "P").FirstOrDefault().FC_AMOUNT); $("#POLH_POL_SI_FC").val((parseFloat(totalSumInsuredFc)).toFixed(2)); $("#POLH_POL_SI_BC").val((parseFloat(totalSumInsuredBc)).toFixed(2)); $("#POLH_VAT_AMT_FC").val(vatFc); $("#POLH_VAT_AMT_BC").val(vatBc); var siData = { CODE: "SI", DESCRIPTION: "Sum Insured", FC_AMOUNT: (parseFloat(totalSumInsuredFc)).toFixed(2), BC_AMOUNT: (parseFloat(totalSumInsuredBc)).toFixed(2), TYPE: "" }; $scope.PremSummary_grid.addRowData(siData.ID, siData); var vatData = { CODE: "VAT", DESCRIPTION: "Value Added Tax", FC_AMOUNT: vatFc || 0, BC_AMOUNT: vatBc || 0, TYPE: "P" }; $scope.PremSummary_grid.addRowData(vatData.ID, vatData); switch ($("#POLH_INS_SOURCE").val()) { case "COL": { const coinsLeaderData = u.get_grid_data(u.getGlobal("udwCoInsLdrGrid")).FirstOrDefault(); $("POLH_COINS_SI_FC").val(parseFloat(coinsLeaderData.CIL_SHARE_SI_FC || 0)); $("POLH_COINS_SI_BC").val(parseFloat(coinsLeaderData.CIL_SHARE_SI_BC || 0)); $("#POLH_COINS_PREM_FC").val(parseFloat(coinsLeaderData.CIL_SHARE_PREM_FC || 0)); $("#POLH_COINS_PREM_BC").val(parseFloat(coinsLeaderData.CIL_SHARE_PREM_BC || 0)); $("#POLH_COINS_COM_FC").val(0); $("#POLH_COINS_COM_BC").val(0); } break; case "FIN": case "COM": { let coInsData = u.get_grid_data(u.getGlobal("udwFacInwGrid")).FirstOrDefault(); if (coInsData != null) { $("#POLH_COINS_SI_FC").val(parseFloat($("#POLH_POL_SI_FC").val() || 0)); $("#POLH_COINS_SI_BC").val(parseFloat($("#POLH_POL_SI_BC").val() || 0)); $("#POLH_COINS_PREM_FC").val(parseFloat($("#POLH_POL_PREM_FC").val() || 0) - parseFloat($("#POLH_FEE_FC").val() || 0)); $("#POLH_COINS_PREM_BC").val(parseFloat($("#POLH_POL_PREM_BC").val() || 0) - parseFloat($("#POLH_FEE_BC").val() || 0)); $("#POLH_COINS_COM_FC").val(parseFloat(coInsData.FINW_COMM_FC || 0)); $("#POLH_COINS_COM_BC").val(parseFloat(coInsData.FINW_COMM_BC || 0)); } } break; default: { $("#POLH_COINS_SI_FC").val(0); $("#POLH_COINS_SI_BC").val(0); $("#POLH_COINS_PREM_FC").val(0); $("#POLH_COINS_PREM_BC").val(0); $("#POLH_COINS_COM_FC").val(0); $("#POLH_COINS_COM_BC").val(0); } break; } u.setGlobal("policyChanges", true); }); /* * LOCATION SUMMARIZER */ //u.setGlobal("GaLocationSummarizer", function () { // var locationGrid = u.getGlobal("udwGenAccLocGrid"); // const rowId = u.getSelRow(locationGrid); // var locations // if (rowId) { // var totalSiFc = 0, // totalSiBc = 0, // totalRiSiBc = 0, // totalRiSiFc = 0; // var totalPremFc = 0, // totalPremBc = 0, // totalRiPremBc = 0, // totalRiPremFc = 0, // totalRiskPremBc = 0, // totalRiskPremFc = 0; // var totalDiscFc = 0, // totalDiscBc = 0, // totalLoadFc = 0, // totalLoadBc = 0; // // Transit Risks // const transitRisks = typeof (u.getCell(locationGrid, rowId, "INS_UDW_GA_TRANSIT")) === "string" // ? u.parseJson(u.getCell(locationGrid, rowId, "INS_UDW_GA_TRANSIT")) // : u.getCell(locationGrid, rowId, "INS_UDW_GA_TRANSIT") || []; // if (transitRisks.length > 0) { // transitRisks.ForEach(r => { // if (r.TRANS_STATUS !== "D") { // totalSiBc += parseFloat(r.TRANS_SI_BC || 0); // totalSiFc += parseFloat(r.TRANS_SI_FC || 0); // totalRiSiBc += parseFloat(r.TRANS_RI_SI_BC || 0); // totalRiSiFc += parseFloat(r.TRANS_RI_SI_FC || 0); // totalPremBc += parseFloat(r.TRANS_TOT_PREM_BC || 0); // totalPremFc += parseFloat(r.TRANS_TOT_PREM_FC || 0); // totalRiPremBc += parseFloat(r.TRANS_RI_PREM_BC || 0); // totalRiPremFc += parseFloat(r.TRANS_RI_PREM_FC || 0); // totalRiskPremBc += parseFloat(r.TRANS_RISK_PREM_BC || 0); // totalRiskPremFc += parseFloat(r.TRANS_RISK_PREM_FC || 0); // totalDiscBc += parseFloat(r.TRANS_DISC_BC || 0); // totalDiscFc += parseFloat(r.TRANS_DISC_FC || 0); // totalLoadBc += parseFloat(r.TRANS_LOAD_BC || 0); // totalLoadFc += parseFloat(r.TRANS_LOAD_FC || 0); // } // }); // } // u.setCell(locationGrid, rowId, "GAL_SI_BC", totalSiBc); // u.setCell(locationGrid, rowId, "GAL_SI_FC", totalSiFc); // u.setCell(locationGrid, rowId, "GAL_TOT_PREM_FC", totalPremFc); // u.setCell(locationGrid, rowId, "GAL_TOT_PREM_BC", totalPremBc); // u.setCell(locationGrid, rowId, "GAL_RI_SI_FC", totalRiSiFc); // u.setCell(locationGrid, rowId, "GAL_RI_SI_BC", totalRiSiBc); // u.setCell(locationGrid, rowId, "GAL_RI_PREM_FC", totalRiPremFc); // u.setCell(locationGrid, rowId, "GAL_RI_PREM_BC", totalRiPremBc); // u.setCell(locationGrid, rowId, "GAL_RISK_PREM_FC", totalRiskPremFc); // u.setCell(locationGrid, rowId, "GAL_RISK_PREM_BC", totalRiskPremBc); // u.setCell(locationGrid, rowId, "GAL_DISC_FC", totalDiscFc); // u.setCell(locationGrid, rowId, "GAL_DISC_BC", totalDiscBc); // u.setCell(locationGrid, rowId, "GAL_LOAD_FC", totalLoadFc); // u.setCell(locationGrid, rowId, "GAL_LOAD_BC", totalLoadBc); // u.setCell(locationGrid, rowId, "GAL_ADJ_PREM_FC", 0); // u.setCell(locationGrid, rowId, "GAL_ADJ_PREM_BC", 0); // } else { // u.growl_info("Please select a location record"); // } //}); u.setGlobal("GaLocationSummarizer", function () { var totalSiFc = 0, totalSiBc = 0, totalRiSiBc = 0, totalRiSiFc = 0; var totalPremFc = 0, totalPremBc = 0, totalRiPremBc = 0, totalRiPremFc = 0, totalRiskPremBc = 0, totalRiskPremFc = 0; var totalDiscFc = 0, totalDiscBc = 0, totalLoadFc = 0, totalLoadBc = 0; var locations = u.get_grid_data(u.getGlobal("udwGenAccLocGrid")); locations.ForEach(loc => { if (loc.GAL_STATUS !== "D") { var risks = u.parseJson(loc.INS_UDW_GA_TRANSIT); risks.ForEach(r => { if (r.TRANS_STATUS !== "D") { totalSiBc += parseFloat(r.TRANS_SI_BC || 0); totalSiFc += parseFloat(r.TRANS_SI_FC || 0); totalRiSiBc += parseFloat(r.TRANS_RI_SI_BC || 0); totalRiSiFc += parseFloat(r.TRANS_RI_SI_FC || 0); totalPremBc += parseFloat(r.TRANS_TOT_PREM_BC || 0); totalPremFc += parseFloat(r.TRANS_TOT_PREM_FC || 0); totalRiPremBc += parseFloat(r.TRANS_RI_PREM_BC || 0); totalRiPremFc += parseFloat(r.TRANS_RI_PREM_FC || 0); totalRiskPremBc += parseFloat(r.TRANS_RISK_PREM_BC || 0); totalRiskPremFc += parseFloat(r.TRANS_RISK_PREM_FC || 0); totalDiscBc += parseFloat(r.TRANS_DISC_BC || 0); totalDiscFc += parseFloat(r.TRANS_DISC_FC || 0); totalLoadBc += parseFloat(r.TRANS_LOAD_BC || 0); totalLoadFc += parseFloat(r.TRANS_LOAD_FC || 0); } }); loc.GAL_TOT_PREM_FC = totalPremFc.toFixed(2); loc.GAL_TOT_PREM_BC = totalPremBc.toFixed(2); loc.GAL_RISK_PREM_FC = totalRiskPremFc.toFixed(2); loc.GAL_RISK_PREM_BC = totalRiskPremBc.toFixed(2); loc.GAL_SI_BC = totalSiBc.toFixed(2); loc.GAL_SI_FC = totalSiFc.toFixed(2); loc.GAL_RI_SI_FC = totalRiSiFc.toFixed(2); loc.GAL_RI_SI_BC = totalRiSiBc.toFixed(2); loc.GAL_RI_PREM_FC = totalRiPremFc.toFixed(2); loc.GAL_RI_PREM_BC = totalRiPremBc.toFixed(2); loc.GAL_DISC_FC = totalDiscFc.toFixed(2); loc.GAL_DISC_BC = totalDiscBc.toFixed(2); loc.GAL_LOAD_FC = totalLoadFc.toFixed(2); loc.GAL_LOAD_BC = totalLoadBc.toFixed(2); loc.GAL_ADJ_PREM_FC = 0; loc.GAL_ADJ_PREM_BC = 0; totalSiFc = 0; totalSiBc = 0; totalRiSiBc = 0; totalRiSiFc = 0; totalPremFc = 0; totalPremBc = 0; totalRiPremBc = 0; totalRiPremFc = 0; totalRiskPremBc = 0; totalRiskPremFc = 0; totalDiscFc = 0; totalDiscBc = 0; totalLoadFc = 0; totalLoadBc = 0; } }); u.clear_grid_data(u.getGlobal("udwGenAccLocGrid")); u.grid_populate(u.getGlobal("udwGenAccLocGrid"), "", locations); }); /* * PREMIUM RESUMMARIZER */ u.setGlobal("gaPremReSummarizer", function () { var totalSiFc = 0, totalSiBc = 0, totalRiSiBc = 0, totalRiSiFc = 0; var totalPremFc = 0, totalPremBc = 0, totalRiPremBc = 0, totalRiPremFc = 0, totalRiskPremBc = 0, totalRiskPremFc = 0; var totalDiscFc = 0, totalDiscBc = 0, totalLoadFc = 0, totalLoadBc = 0; var locations = u.get_grid_data(u.getGlobal("udwGenAccLocGrid")); locations.ForEach(loc => { if (loc.GAL_STATUS !== "D") { var risks = u.parseJson(loc.INS_UDW_GA_TRANSIT); risks.ForEach(r => { if (r.TRANS_STATUS !== "D") { totalSiBc += parseFloat(r.TRANS_SI_BC || 0); totalSiFc += parseFloat(r.TRANS_SI_FC || 0); totalRiSiBc += parseFloat(r.TRANS_RI_SI_BC || 0); totalRiSiFc += parseFloat(r.TRANS_RI_SI_FC || 0); totalPremBc += parseFloat(r.TRANS_TOT_PREM_BC || 0); totalPremFc += parseFloat(r.TRANS_TOT_PREM_FC || 0); totalRiPremBc += parseFloat(r.TRANS_RI_PREM_BC || 0); totalRiPremFc += parseFloat(r.TRANS_RI_PREM_FC || 0); totalRiskPremBc += parseFloat(r.TRANS_RISK_PREM_BC || 0); totalRiskPremFc += parseFloat(r.TRANS_RISK_PREM_FC || 0); totalDiscBc += parseFloat(r.TRANS_DISC_BC || 0); totalDiscFc += parseFloat(r.TRANS_DISC_FC || 0); totalLoadBc += parseFloat(r.TRANS_LOAD_BC || 0); totalLoadFc += parseFloat(r.TRANS_LOAD_FC || 0); } }); loc.GAL_TOT_PREM_FC = totalPremFc.toFixed(2); loc.GAL_TOT_PREM_BC = totalPremBc.toFixed(2); loc.GAL_RISK_PREM_FC = totalRiskPremFc.toFixed(2); loc.GAL_RISK_PREM_BC = totalRiskPremBc.toFixed(2); loc.GAL_SI_BC = totalSiBc.toFixed(2); loc.GAL_SI_FC = totalSiFc.toFixed(2); loc.GAL_RI_SI_FC = totalRiSiFc.toFixed(2); loc.GAL_RI_SI_BC = totalRiSiBc.toFixed(2); loc.GAL_RI_PREM_FC = totalRiPremFc.toFixed(2); loc.GAL_RI_PREM_BC = totalRiPremBc.toFixed(2); loc.GAL_DISC_FC = totalDiscFc.toFixed(2); loc.GAL_DISC_BC = totalDiscBc.toFixed(2); loc.GAL_LOAD_FC = totalLoadFc.toFixed(2); loc.GAL_LOAD_BC = totalLoadBc.toFixed(2); loc.GAL_ADJ_PREM_FC = 0; loc.GAL_ADJ_PREM_BC = 0; totalSiFc = 0; totalSiBc = 0; totalRiSiBc = 0; totalRiSiFc = 0; totalPremFc = 0; totalPremBc = 0; totalRiPremBc = 0; totalRiPremFc = 0; totalRiskPremBc = 0; totalRiskPremFc = 0; totalDiscFc = 0; totalDiscBc = 0; totalLoadFc = 0; totalLoadBc = 0; } }); u.clear_grid_data(u.getGlobal("udwGenAccLocGrid")); u.grid_populate(u.getGlobal("udwGenAccLocGrid"), "", locations); }); /* * GET POLICY FORM DATA */ u.setGlobal("GaGetPolicyData", function () { const polhData = u.parse_form("#polheaderForm"); //const fees = u.get_grid_data(u.getGlobal("genAccFeesGrid")); polhData.INS_UDW_GENERAL_ACCIDENT_LOC = u.get_grid_data(u.getGlobal("udwGenAccLocGrid")); polhData.INS_COINS_LEADER = u.get_grid_data(u.getGlobal("udwCoInsLdrGrid")); //polhData.INS_UDW_POLICY_DISCLOAD = u.get_grid_data($scope.polhdiscloading_grid); polhData.INS_UDW_GENERAL_ACCIDENT_LOC.ForEach(location => { location.GAL_POLH_END_NO = parseInt(location.GAL_POLH_END_NO || 0); location.GAL_LOAD_BC = parseFloat(location.GAL_LOAD_BC || 0); location.GAL_LOAD_FC = parseFloat(location.GAL_LOAD_FC || 0); location.GAL_DISC_BC = parseFloat(location.GAL_DISC_BC || 0); location.GAL_DISC_FC = parseFloat(location.GAL_DISC_FC || 0); location.GAL_RISK_PREM_BC = parseFloat(location.GAL_RISK_PREM_BC || 0); location.GAL_RISK_PREM_FC = parseFloat(location.GAL_RISK_PREM_FC || 0); location.GAL_RI_PREM_BC = parseFloat(location.GAL_RI_PREM_BC || 0); location.GAL_RI_PREM_FC = parseFloat(location.GAL_RI_PREM_FC || 0); location.GAL_TOT_PREM_BC = parseFloat(location.GAL_TOT_PREM_BC || 0); location.GAL_TOT_PREM_FC = parseFloat(location.GAL_TOT_PREM_FC || 0); location.GAL_RI_SI_BC = parseFloat(location.GAL_RI_SI_BC || 0); location.GAL_RI_SI_FC = parseFloat(location.GAL_RI_SI_FC || 0); location.GAL_SI_BC = parseFloat(location.GAL_SI_BC || 0); location.GAL_SI_FC = parseFloat(location.GAL_SI_FC || 0); location.GAL_RI_PREM_BC = parseFloat(location.GAL_RI_PREM_BC || 0); location.GAL_RI_PREM_FC = parseFloat(location.GAL_RI_PREM_FC || 0); // Transit risks location.INS_UDW_GA_TRANSIT = typeof (location.INS_UDW_GA_TRANSIT) === "string" ? u.parseJson(location.INS_UDW_GA_TRANSIT) : location.INS_UDW_GA_TRANSIT || []; location.INS_UDW_GA_TRANSIT.ForEach(transit => { transit.TRANS_LOC_SYS_ID = location.GAL_SYS_ID; transit.TRANS_RISK_PREM_BC = parseFloat(transit.TRANS_RISK_PREM_BC || 0); transit.TRANS_RISK_PREM_FC = parseFloat(transit.TRANS_RISK_PREM_FC || 0); transit.TRANS_TOT_PREM_BC = parseFloat(transit.TRANS_TOT_PREM_BC || 0); transit.TRANS_TOT_PREM_FC = parseFloat(transit.TRANS_TOT_PREM_FC || 0); transit.TRANS_RI_PREM_BC = parseFloat(transit.TRANS_RI_PREM_BC || 0); transit.TRANS_RI_PREM_FC = parseFloat(transit.TRANS_RI_PREM_FC || 0); transit.TRANS_RI_SI_BC = parseFloat(transit.TRANS_RI_SI_BC || 0); transit.TRANS_RI_SI_FC = parseFloat(transit.TRANS_RI_SI_FC || 0); transit.TRANS_SI_BC = parseFloat(transit.TRANS_SI_BC || 0); transit.TRANS_SI_FC = parseFloat(transit.TRANS_SI_FC || 0); transit.TRANS_LOAD_BC = parseFloat(transit.TRANS_LOAD_BC || 0); transit.TRANS_LOAD_FC = parseFloat(transit.TRANS_LOAD_FC || 0); transit.TRANS_DISC_BC = parseFloat(transit.TRANS_DISC_BC || 0); transit.TRANS_DISC_FC = parseFloat(transit.TRANS_DISC_FC || 0); transit.TRANS_PERIOD_DAYS = parseInt(transit.TRANS_PERIOD_DAYS || 0); transit.INS_UWD_RISK_COVERS = typeof (transit.INS_UWD_RISK_COVERS) === "string" ? u.parseJson(transit.INS_UWD_RISK_COVERS) : transit.INS_UWD_RISK_COVERS || []; transit.INS_UWD_RISK_COVERS.ForEach(cover => { cover.RCOV_RISK_SYS_ID = transit.TRANS_SYS_ID; cover.RCOV_ANNL_PREM_BC = parseFloat(cover.RCOV_ANNL_PREM_BC || 0); cover.RCOV_ANNL_PREM_FC = parseFloat(cover.RCOV_ANNL_PREM_FC || 0); cover.RCOV_GROSS_PREM_BC = parseFloat(cover.RCOV_GROSS_PREM_BC || 0); cover.RCOV_GROSS_PREM_FC = parseFloat(cover.RCOV_GROSS_PREM_FC || 0); cover.RCOV_NET_PREM_BC = parseFloat(cover.RCOV_NET_PREM_BC || 0); cover.RCOV_NET_PREM_FC = parseFloat(cover.RCOV_NET_PREM_FC || 0); cover.RCOV_SI_BC = parseFloat(cover.RCOV_SI_BC || 0); cover.RCOV_SI_FC = parseFloat(cover.RCOV_SI_FC || 0); cover.INS_UDW_COVER_DISCLOAD = typeof (cover.INS_UDW_COVER_DISCLOAD) === "string" ? u.parseJson(cover.INS_UDW_COVER_DISCLOAD) : cover.INS_UDW_COVER_DISCLOAD || []; cover.INS_UDW_COVER_DISCLOAD.ForEach(discLoad => { discLoad.DL_RCOV_SYS_ID = cover.RCOV_SYS_ID; discLoad.DL_AMT_BC = parseFloat(discLoad.DL_AMT_BC || 0); discLoad.DL_AMT_FC = parseFloat(discLoad.DL_AMT_FC || 0); }); if (!jQuery.isEmptyObject(cover.MS_UDW_COVERS)) { delete cover.MS_UDW_COVERS; } }); // Fees // Fees transit.INS_UDW_GA_RISK_FEES = u.parseJson(transit.INS_UDW_GA_RISK_FEES); transit.INS_UDW_GA_RISK_FEES.ForEach(f => { if (f.MS_COMPULSORY_FEES) { delete (f.MS_COMPULSORY_FEES); } }); //fees.ForEach(fee => { // if (fee.GAR_FEE_RISK_SYS_ID === transit.TRANS_SYS_ID) { // transit.INS_UDW_GA_RISK_FEES.push(fee); // } //}); }); }); //var insUwdRiskCovers = u.get_grid_data($scope.cover_grid); //var insUwdRiskFees = u.get_grid_data($scope.riskFees_grid); //var insUwdRiskDiscountLoading = u.get_grid_data($scope.riskdiscloading_grid); //retrieve treaty information var treaties = u.get_grid_data(u.getGlobal("udwRIGrid")); treaties = u.forEach(treaties, function (treaty) { treaty["INS_RI_TTY_ALLOCATION"] = u.parseJson(treaty["INS_RI_TTY_ALLOCATION"]); u.forEach(treaty["INS_RI_TTY_ALLOCATION"], function (allocation) { allocation["INS_RI_TTY_SHARE"] = allocation["INS_RI_TTY_SHARE"] || "[]"; return allocation; }); return treaty; }, this); polhData["INS_RI_TTY_HEAD"] = treaties; //for (var i in polhData.INS_UDW_GA_PROF_INDEMNITY) { // //loop through every risk and obtain the sys_id of the risk // var id = polhData.INS_UDW_GA_PROF_INDEMNITY[i]["PRO_SYS_ID"]; // polhData.INS_UDW_GA_PROF_INDEMNITY[i]["INS_UWD_RISK_COVERS"] = []; // polhData.INS_UDW_GA_PROF_INDEMNITY[i]["INS_UDW_GA_RISK_FEES"] = []; // polhData.INS_UDW_GA_PROF_INDEMNITY[i]["INS_UDW_RISK_DISCLOAD"] = []; // for (var c in insUwdRiskCovers) { // //find covers which have the same the same risk sys_id // if (insUwdRiskCovers[c]["RCOV_RISK_SYS_ID"] === id) { // polhData.INS_UDW_GA_PROF_INDEMNITY[i]["INS_UWD_RISK_COVERS"].push(insUwdRiskCovers[c]); // } // } // for (var f in insUwdRiskFees) { // //find risk fees which have the same the same risk sys_id // if (insUwdRiskFees[f]["GA_FEE_RK_SYS_ID"] === id) { // polhData.INS_UDW_GA_PROF_INDEMNITY[i]["INS_UDW_GA_RISK_FEES"].push(insUwdRiskFees[f]); // } // } // for (var d in insUwdRiskDiscountLoading) { // //find risk fees which have the same the same risk sys_id // if (insUwdRiskDiscountLoading[d]["DL_RISK_SYS_ID"] === id) { // polhData.INS_UDW_GA_PROF_INDEMNITY[i]["INS_UDW_RISK_DISCLOAD"].push(insUwdRiskDiscountLoading[d]); // } // } //} polhData.INS_RI_FAC_INWARD = u.get_grid_data($scope.grdfacInward_grid); for (var i in polhData.INS_RI_FAC_INWARD) { polhData.INS_RI_FAC_INWARD[i]["INS_RI_FAC_INW_COMPANY"] = u.parseJson(polhData.INS_RI_FAC_INWARD[i]["INS_RI_FAC_INW_COMPANY"]); } //polhData.INS_UDW_GA_RISK_FEES = u.get_grid_data($scope.riskFees_grid); polhData.INS_UWD_INTERMEDIARY_COMM = u.get_grid_data(u.getGlobal("udwAgntCommGrid")); polhData.INS_UDW_POL_FEES = u.get_grid_data(u.getGlobal("udwPolFeesGrid")); polhData.INS_UDW_POL_FEES.ForEach(f => { f.POL_FEE_BC_AMOUNT = parseFloat(f.POL_FEE_BC_AMOUNT || 0); f.POL_FEE_FC_AMOUNT = parseFloat(f.POL_FEE_FC_AMOUNT || 0); f.POL_FEE_FEE_END_NO = parseInt(f.POL_FEE_FEE_END_NO || 0); }); polhData.INS_RI_FAC_OUTWARD = u.get_grid_data(u.getGlobal("udwCoInsLdrGrid")); return polhData; }); /* * FILL POLICY FORM DATA */ u.setGlobal("GaPolicyFill", function (policy) { u.clear_grid_data(u.getGlobal("genAccFeesGrid")); u.clear_grid_data(u.getGlobal("udwGenAccLocGrid")); u.clear_grid_data(u.getGlobal("udwTransitGrid")); u.clear_grid_data(u.getGlobal("udwPolFeesGrid")); policy.INS_UDW_GENERAL_ACCIDENT_LOC.ForEach(location => { // Transit Risks location.INS_UDW_GA_TRANSIT.ForEach(transit => { // covers transit.INS_UWD_RISK_COVERS.ForEach(cover => { //if (cover.INS_UDW_COVER_DISCLOAD) { // cover.INS_UDW_COVER_DISCLOAD.ForEach(discLoad => { // if (discLoad.MS_SYS_LOADINGS_DISCOUNTS) { // discLoad.DL_NAME = discLoad.MS_SYS_LOADINGS_DISCOUNTS.LDI_NAME || ""; // delete (discLoad.MS_SYS_LOADINGS_DISCOUNTS); // } // }); //} //cover.INS_UDW_COVER_DISCLOAD = JSON.stringify(cover.INS_UDW_COVER_DISCLOAD); }); transit.INS_UWD_RISK_COVERS = JSON.stringify(transit.INS_UWD_RISK_COVERS); // fees u.grid_populate(u.getGlobal("genAccFeesGrid"), "", transit.INS_UDW_GA_RISK_FEES); transit.INS_UDW_GA_RISK_FEES = JSON.stringify(transit.INS_UDW_GA_RISK_FEES); }); location.INS_UDW_GA_TRANSIT = JSON.stringify(location.INS_UDW_GA_TRANSIT); }); //$scope.populatePolFeesGrid(); u.grid_populate(u.getGlobal("udwPolFeesGrid"), "", policy.INS_UDW_POL_FEES); u.grid_populate(u.getGlobal("udwGenAccLocGrid"), "", policy.INS_UDW_GENERAL_ACCIDENT_LOC); u.getGlobal("showRiskCount")(u.get_grid_data(u.getGlobal("udwGenAccLocGrid")).Where(x => x.GAL_STATUS !== "D")); }); /*-------------------------------------------------- * Get Risk compulsory Fees *------------------------------------------------*/ // u.setGlobal("GaGetCompulsoryFees", async function getRiskCompulsoryFess(riskId) { /* obtain parameter for our request */ var riskFeesData = { CLASS_CODE: $("#POLH_CLASS_CODE").val(), PRD_CODE: $("#POLH_SUB_CLASS_CODE").val(), }; // //var grid = $scope.riskFees_grid; //var rowIds = grid.jqGrid("getDataIDs"); //send parameters and get motor Risks from the database //s.getRiskFees(riskFeesData, function (result) { var result = await s.getProductFeesAsync(riskFeesData); if (result && result.length && result.length > 0) { //clear Grid //$scope.riskFees_grid.jqGrid('clearGridData'); //fill grid for (var i in result) { result[i]["GAR_FEE_FC_AMOUNT"] = parseFloat(result[i]["PRF_FEE_AMOUNT"]) / parseFloat($("#POLH_CURRENCY_RATE").val()); result[i]["GAR_FEE_FC_AMOUNT"] = (result[i]["GAR_FEE_FC_AMOUNT"]).toFixed(2); result[i]["GAR_FEE_BC_AMOUNT"] = result[i]["PRF_FEE_AMOUNT"]; result[i]["GAR_FEE_CODE"] = result[i]["PRF_FEE_CODE"]; result[i]["GAR_FEE_NAME"] = result[i]["FEE_NAME"]; result[i]["GAR_FEE_RK_NO"] = result[i]["PRF_SYS_ID"]; //result[i]["GAR_FEE_RK_CODE"] = $("#PRO_RISK_CODE").val(); result[i]["GAR_FEE_RISK_SYS_ID"] = riskId; result[i]["GAR_FEE_CRTE_BY"] = u.getUserCode(); result[i]["GAR_FEE_CRTE_DATE"] = u.get_date(); result[i]["GAR_FEE_STATUS"] = "U"; // // $scope.riskFees_grid.jqGrid('setCell', result[i], 'RISK_CODE', ); //u.clear_grid_data(u.getGlobal("genAccFeesGrid")); u.getGlobal("genAccFeesGrid").addRowData(result[i]["GAR_FEE_CODE"], result[i]); } } var compFeedata = result; var linq = Enumerable.From(compFeedata); var data = linq.GroupBy(function (x) { return x.GAR_FEE_CODE; }) .Select(function (x) { console.log(x); return { POL_FEE_CODE: x.Key(), POL_FEE_NAME: x.source[0]["GAR_FEE_NAME"], POL_FEE_FC_AMOUNT: x.Sum(function (y) { return (parseFloat(y.GAR_FEE_BC_AMOUNT || 0) / parseFloat($("#POLH_CURRENCY_RATE").val())).toFixed(2); }), POL_FEE_BC_AMOUNT: x.Sum(function (y) { return y.GAR_FEE_BC_AMOUNT || 0; }), POL_FEE_END_NO: 0, //$("#POL_END_NO").val(), POL_FEE_STATUS: "U" }; }).ToArray(); u.clear_grid_data(u.getGlobal("udwPolFeesGrid")); data.ForEach(result => { u.getGlobal("udwPolFeesGrid").addRowData(result.POL_FEE_CODE, result); }); return result; }); $scope.populatePolFeesGrid = function () { var compFeedata = u.get_grid_data(u.getGlobal("genAccFeesGrid")); var linq = Enumerable.From(compFeedata); var data = linq.GroupBy(function (x) { return x.GAR_FEE_CODE; }) .Select(function (x) { console.log(x); return { POL_FEE_CODE: x.Key(), POL_FEE_NAME: x.source[0]["GAR_FEE_NAME"], POL_FEE_FC_AMOUNT: x.Sum(function (y) { return y.GAR_FEE_FC_AMOUNT | 0; }), POL_FEE_BC_AMOUNT: x.Sum(function (y) { return y.GAR_FEE_BC_AMOUNT | 0; }), POL_FEE_END_NO: 0 //$("#POL_END_NO").val() }; }).ToArray(); u.clear_grid_data(u.getGlobal("udwPolFeesGrid")); data.ForEach(result => { u.getGlobal("udwPolFeesGrid").addRowData(result.POL_FEE_CODE, result); }); }; /* * COVER DISCLOAD BUTTON */ $("#btn_cv_discloading").click(function () { //Open Modal const grid = u.getGlobal("udwCoverGrid"); if (u.grid_empty(grid)) return u.growl_info("Grid is empty!"); if ($("#RCOV_CODE").val() === "") return u.growl_info("Please select the cover for which you want to apply discounts/loadings"); //var discLoadGrid = u.getGlobal("udwCoverDiscLoading"); var discLoadGrid = u.getGlobal("RskCvDiscLoadingGrid"); u.clear_grid_data(discLoadGrid); var coverGrid = u.getGlobal("udwCoverGrid"); var selectedCover = u.getSelRow(coverGrid); var coverDiscLoads = coverGrid.jqGrid("getCell", selectedCover, "INS_UDW_COVER_DISCLOAD") || "[]"; coverDiscLoads = u.parseJson(coverDiscLoads); //console.log(coverDiscLoads); if (coverDiscLoads.length > 0) { u.grid_populate(discLoadGrid, "", coverDiscLoads); } var grossPremFc = coverGrid.jqGrid("getCell", selectedCover, "RCOV_GROSS_PREM_FC"); var grossPremBc = coverGrid.jqGrid("getCell", selectedCover, "RCOV_GROSS_PREM_BC"); var rCovId = coverGrid.jqGrid("getCell", selectedCover, "RCOV_SYS_ID"); //u.fill_form({ // DL_PREM_BC: grossPremBc, // DL_PREM_FC: grossPremFc //}, "#coverdiscloadingForm"); u.fill_form({ DL_PREM_BC: grossPremBc, DL_PREM_FC: grossPremFc, DL_RCOV_SYS_ID: rCovId }, "#riskcoverdiscloadingForm"); $("#riskCvDiscloadingModal").modal(); }); $("#btn_Loc_Onclose").click(function () { if (u.grid_empty(u.getGlobal("udwGenAccLocGrid"))) { u.modal_confirmation("The Grid is empty, do you want to close form?", function () { $("#LocationModal").modal("hide"); u.hide_confirm(); }); } else { $("#LocationModal").modal("hide"); } }); /* * CO -INSURANCE FUNCTIONS */ $("#btnFACInward").on("click", function () { if (u.grid_empty(u.getGlobal("udwGenAccLocGrid"))) return u.growl_info("Please enter location and risk details first"); if (!u.getSelRow(u.getGlobal("udwGenAccLocGrid"))) return u.growl_info("Please select a location"); $("#MemberIwardModal").modal(); var message = "FAC Inward Details"; $("#textCoinsMember").text(message); }); /*------------------------- * FAC Inward Modal *-------------------------*/ $("#btnCoInsMember").on("click", function () { if (u.grid_empty(u.getGlobal("udwGenAccLocGrid"))) return u.growl_info("Please enter location and risk details first"); if (!u.getSelRow(u.getGlobal("udwGenAccLocGrid"))) return u.growl_info("Please select a location"); if (u.field_empty("#FINW_ORIG_SI_FC") || u.field_empty("#FINW_ORIG_PREM_FC")) return u.growl_info("Please select a location"); $("#MemberIwardModal").modal(); //$('#FINW_CEDANT_CODE').val($('#POLH_CMP_CODE').val()); //$('#FINW_CEDANT_NAME').val($('#CMP_NAME').val()); var message = "Co-Insurance Details"; $("#textCoinsMember").text(message); }); /*------------------------- * Coinsurance Leader Modal *-------------------------*/ $("#btnCoInsLeader").on("click", function () { if (u.grid_empty(u.getGlobal("udwGenAccLocGrid"))) return u.growl_info("Please enter location risk details first"); if (!u.getSelRow(u.getGlobal("udwGenAccLocGrid"))) return u.growl_info("Please select a location"); if (u.field_empty("#CIL_SHARE_SI_FC") || u.field_empty("#CIL_SHARE_PREM_FC")) return u.growl_info("Please select a location"); $("#CoInsLeaderModal").modal(); }); $("#btn_coins_ok").click(function () { u.getGlobal("PolicyCalculations")(); $("#CoInsLeaderModal").modal("hide"); u.form_reset("#CoinsLeaderForm"); }); $("#TRANS_EXCESS_PERC").blur(function () { u.getGlobal("max100")("TRANS_EXCESS_PERC"); }); /* * EXCESS FUNCTIONS */ $("#TRANS_EXCESS_APP").change(async function () { u.getGlobal("excessTypeChange")("TRANS_EXCESS_APP", "TRANS_EXCESS_PERC", "TRANS_EXCESS_MIN", "TRANS_EXCESS_MAX", "TRANS_EXCESS_NAR"); }); $("#TRANS_EXCESS_PERC").blur(function () { u.getGlobal("excessAmtBlur")("TRANS_EXCESS_PERC", "TRANS_EXCESS_NAR", "TRANS_EXCESS_APP", "TRANS_EXCESS_MIN", "TRANS_EXCESS_MAX"); }); $("#TRANS_EXCESS_MIN").blur(function () { u.getGlobal("excessMinMaxBlur")("TRANS_EXCESS_MIN", "TRANS_EXCESS_NAR", "Min"); }); $("#TRANS_EXCESS_MAX").blur(function () { u.getGlobal("excessMinMaxBlur")("TRANS_EXCESS_MAX", "TRANS_EXCESS_NAR", "Max"); }); /* * LOCATION FUNCTIONS */ $("#btn_remove_location_details").click(function () { if (u.grid_empty(u.getGlobal("udwGenAccLocGrid"))) return u.growl_info("Location grid is empty"); var selectedLocationId = u.getSelRow(u.getGlobal("udwGenAccLocGrid")); if (!selectedLocationId) return u.growl_info("Select a location to remove"); var selectedLocation = u.getRow(selectedLocationId, u.getGlobal("udwGenAccLocGrid")); var locId = parseInt(u.getGlobal("udwGenAccLocGrid").jqGrid('getCell', selectedLocationId, 'GAL_SYS_ID')); u.modal_confirmation("Are you sure you want to remove this location", function () { switch (selectedLocation.GAL_STATUS) { case "U": { if (!u.grid_empty(u.getGlobal("udwRIGrid"))) { var newRi = []; u.get_grid_data(u.getGlobal("udwRIGrid")).ForEach(x => { if (parseInt(x.TTH_RISK_SYS_ID) !== locId) { newRi.push(x); } }); u.clear_grid_data(u.getGlobal("udwRIGrid")); u.grid_populate(u.getGlobal("udwRIGrid"), "", newRi); } u.getGlobal("udwGenAccLocGrid").jqGrid('delRowData', selectedLocationId); u.hide_confirm(); u.growl_success("Selected location successfully deleted, and premium calculations updated"); u.form_reset("#genAccLocationForm"); } break; case "A": { if (!u.grid_empty(u.getGlobal("udwRIGrid"))) { var ri = u.get_grid_data(u.getGlobal("udwRIGrid")); ri.ForEach(x => { if (parseInt(x.TTH_RISK_SYS_ID) === locId) { x.TTH_STATUS = "D"; } }); u.clear_grid_data(u.getGlobal("udwRIGrid")); u.grid_populate(u.getGlobal("udwRIGrid"), "", ri); } u.getGlobal("udwGenAccLocGrid").jqGrid('setCell', selectedLocationId, 'GAL_STATUS', 'D'); $('#' + selectedLocationId, '#gridGenAccLoc').css({ color: 'red' }); u.hide_confirm(); u.growl_success("Selected location successfully marked for deletion, please click on the save button to save changes"); u.form_reset("#genAccLocationForm"); } break; case "D": { if (!u.grid_empty(u.getGlobal("udwRIGrid"))) { var ri = u.get_grid_data(u.getGlobal("udwRIGrid")); ri.ForEach(x => { if (parseInt(x.TTH_RISK_SYS_ID) === locId) { x.TTH_STATUS = "A"; } }); u.clear_grid_data(u.getGlobal("udwRIGrid")); u.grid_populate(u.getGlobal("udwRIGrid"), "", ri); } $('#' + selectedLocationId, '#gridGenAccLoc').css({ color: 'black' }); $scope.homeloc_grid.jqGrid('setCell', selectedLocationId, 'GAL_STATUS', 'A'); u.hide_confirm(); u.growl_success("Location successfully restored and policy calculations updated"); } break; } u.getGlobal("gaPremReSummarizer")(); u.getGlobal("PolicyCalculations")(); u.getGlobal("showRiskCount")(u.get_grid_data(u.getGlobal("udwGenAccLocGrid")).Any() ? u.get_grid_data(u.getGlobal("udwGenAccLocGrid")).Where(x => x.GAL_STATUS !== "D") : [] ); }); }); $("#btn_update_location_details").click(function () { if (u.grid_empty(u.getGlobal("udwGenAccLocGrid"))) return u.growl_info("Location grid is empty"); var selectedLocation = u.getSelRow(u.getGlobal("udwGenAccLocGrid")); if (!selectedLocation) return u.growl_info("Select a location to update"); // var thisLocation = u.getRow(selectedLocation, u.getGlobal("udwGenAccLocGrid")); if (u.form_validation("#genAccLocationForm")) { u.modal_confirmation("Are you sure you want to update the selected Location?", function () { var grid = u.getGlobal("udwGenAccLocGrid"); var code = grid.jqGrid("getCell", selectedLocation, "GAL_SYS_ID"); if (`${code}` === $("#GAL_SYS_ID").val()) { var data = u.parse_form("#genAccLocationForm"); for (var i in data) { grid.jqGrid("setCell", selectedLocation, i, data[i]); } u.hide_confirm(); u.growl_success("Location details updated"); $("#LocationModal").modal("hide"); u.form_reset("#genAccLocationForm"); } else { u.hide_confirm(); u.growl_warning("Please select the correct row to edit"); } }); } else { u.growl_info("All fields marked red are required"); } }); $("#btn_reset_location").click(function () { u.modal_confirmation("Are you sure you want to reset the location form?", function () { u.form_reset("#genAccLocationForm"); u.growl_success("Location form reset successfully"); }); }); $("#btnCloseLoc").click(function () { u.modal_confirmation("Are you sure you want to close the form?", function () { u.form_reset("#genAccLocationForm"); $("#LocationModal").modal("hide"); }); }); u.setGlobalStatic("ProductUnendorse", async function () { /*---------------------------------- * UNDO ENDORSMENT FOR PRODUCT RISK *--------------------------------*/ const CurrentProduct = u.parse_form("#polheaderForm") || {}; if (!("EX").includes(CurrentProduct.POLH_TXN_STATE)) return u.growl_warning("Endorsements can not undo!!!"); u.modalConfirmationAsync("Are you sure you want to undo endorsement on this policy?", async function () { $("#policyCalculationsModal").modal(); setTimeout(async function () { const data = { polSysId: CurrentProduct.POLH_SYS_ID, endNo: parseFloat(CurrentProduct.POLH_END_NO) - 1, rnwNo: CurrentProduct.POLH_RENEW_SER_NO }; let response = await s.policyUnendorseAsync(data); if (response.state) { let Unendorsed = response.data || {}; u.getGlobalStatic("productSearchFill")(Unendorsed); u.form_text_Green_color(); //$scope.premiumSummarizer(); u.growl_success("Policy successfully unendorsed.") //let processRevert = await u.revertProcess(Unendorsed.POLH_UID); //if (processRevert.state) { // $("#netPremSummary h3").show(); // $("#netCustomerBc").text(Unendorsed.POLH_CURRENCY + " " + Unendorsed.POLH_POL_PREM_FC); // $("#netCustomerFc").text(Unendorsed.POLH_CURRENCY + " " + Unendorsed.POLH_POL_PREM_BC); // $("#endNetCustomerFc").text(" "); // $("#endNetCustomerBc").text(" "); // u.growl_success("Policy successfully unendorsed."); //} else { // u.growl_error(processRevert.message); //} } else { u.growl_error(response.message); } $("#policyCalculationsModal").modal("hide"); }); }); }); $("#btn_unendorsement").click(async function () { const CurrentProduct = u.parse_form("#polheaderForm") || {}; let processRevert = await u.revertProcess(CurrentProduct.POLH_UID); }); /*---------------------------------------- * GENERAL ACCIDENT INDIVIDUAL DETAILS *---------------------------------------*/ $scope.gaIndividualDetailsGrid = u.getGlobal("gaIndividualDetailGrid"); $("#btn_add_individual").click(function () { if (u.grid_empty(u.getGlobal("udwTransitGrid"))) return u.growl_info("Grid is empty"); const grid = u.getGlobal("udwTransitGrid"); let selId = u.getSelRow(grid); if (selId) { u.form_reset("#individualdetailsForm"); u.clear_grid_data($scope.gaIndividualDetailsGrid); const data = selId ? u.getRow(selId, grid) : {}; data.INS_UDW_GA_INDIVIDUAL_DETAILS = (typeof (data.INS_UDW_GA_INDIVIDUAL_DETAILS) == "string" ? JSON.parse(data.INS_UDW_GA_INDIVIDUAL_DETAILS || "[]") : data.INS_UDW_GA_INDIVIDUAL_DETAILS) || []; /*------------------------------------ * THIS IS WHERE THE TRANSITION STARTS *----------------------------------*/ data.INS_UDW_GA_INDIVIDUAL_DETAILS.Where(d => d.IGA_STATUS !== "X").ForEach(x => { $scope.gaIndividualDetailsGrid.addRowData(x.IGA_SYS_ID, x); }); $("#individaulDetailsModal").modal(); } else { u.growl_warning("No record selected."); } }); $("#btn_add_individual_details").on("click", function () { if (u.form_validation("#individualdetailsForm")) { let gridData = u.get_grid_data($scope.gaIndividualDetailsGrid) || []; const formData = u.parse_form("#individualdetailsForm") || {}; if (gridData.Any(x => x.IGA_FULL_NAME === formData.IGA_FULL_NAME)) return u.growl_warning(`Record with code ${formData.HODT_ITEM_NAME} already exists`); u.modal_confirmation("Are you sure you want to add the record?", function () { /*--------------------- * GET RISK DATA *-------------------**/ let transData = u.getRow(u.getSelRow(u.getGlobal("udwTransitGrid")), u.getGlobal("udwTransitGrid")) || {}; /*------------------ * GET FEES FORM DATA *----------------**/ formData.IGA_STATUS = "U"; formData.IGA_CRTE_BY = u.getUserCode(); formData.IGA_CRTE_DATE = u.get_date(); formData.IGA_END_NO = transData.TRANS_POLH_END_NO; formData.IGA_RNW_NO = transData.TRANS_POLH_RNW_NO; //formData.IGA_TRANS_SYS_ID = transData.TRANS_SYS_ID; $scope.gaIndividualDetailsGrid.addRowData(undefined, formData); u.hide_confirm(); u.growl_success("Record successfully added to grid"); u.form_reset("#individualdetailsForm"); }); } else { u.growl_error("Please fill out the fields that are marked red"); } }); $("#btn_update_individual_details").on("click", function () { if (u.grid_empty($scope.gaIndividualDetailsGrid)) return u.growl_info("Grid is empty"); if (u.form_validation("#individualdetailsForm")) { u.modal_confirmation("Are you sure you want to update the selected record?", function () { const grid = $scope.gaIndividualDetailsGrid; const rowId = u.getSelRow(grid); let data = rowId ? u.getRow(rowId, grid) : {}; let formData = u.parse_form("#individualdetailsForm") || {}; if (data.IGA_FULL_NAME === formData.IGA_FULL_NAME) { data = u.objectSpread(data, formData); for (let i in data) grid.jqGrid("setCell", rowId, i, data[i]); grid.refresh(); u.hide_confirm(); u.growl_success("Record updated successfully"); } else { u.hide_confirm(); u.growl_warning("Please select the correct row to edit"); } }); } }); $("#btn_remove_individual_details").on("click", function () { if (u.grid_empty($scope.gaIndividualDetailsGrid)) return u.modalAlert("Grid is empty!!!"); let grid = $scope.gaIndividualDetailsGrid; let rowId = u.getSelRow(grid); let Result = rowId ? u.getRow(rowId, grid) : {}; let formData = u.parse_form("#individualdetailsForm") || {}; if (Result.IGA_FULL_NAME === formData.IGA_FULL_NAME) { /*----------------------- * Display modal message *---------------------*/ u.modal_confirmation("Are you sure you want to remove the Record?", function (e) { /*-------------------------------------------- * Remove newly added record before saving *------------------------------------------*/ if (Result.IGA_STATUS == "U") { grid.jqGrid("delRowData", rowId); u.hide_confirm(); u.growl_success("Selected row successfully deleted"); } /*---------------------------------------- * Mark a record for deletion on saving *--------------------------------------*/ if (Result.IGA_STATUS == "A") { //grid.jqGrid("setCell", rowId, "IGA_STATUS", "D"); u.setCell(grid, rowId, "IGA_STATUS", "D"); $(`#${rowId}`, "#gridGaIndividaulDetails").css({ color: "red" }); u.hide_confirm(); u.growl_success("Selected row successfully marked for deletion, please click on the save button to save changes"); } else if (Result.IGA_STATUS == "D") { $(`#${rowId}`, "#gridGaIndividaulDetails").css({ color: "black" }); //grid.jqGrid("setCell", rowId, "IGA_STATUS", "A"); u.setCell(grid, rowId, "IGA_STATUS", "A"); u.hide_confirm(); u.growl_success("Data successfully restored"); } }); } }); $("#individualDetailsOk").click(function () { const grid = $scope.gaIndividualDetailsGrid; if (false) { $("#individaulDetailsModal").modal("hide"); } else { const result = u.get_grid_data(grid) || []; setTimeout(async function () { const rowId = u.getSelRow(u.getGlobal("udwTransitGrid")); let transitResult = u.getRow(rowId, u.getGlobal("udwTransitGrid")) || {}; /*------------------------------------ * THIS IS WHERE THE TRANSITION STARTS *----------------------------------*/ transitResult.INS_UDW_GA_INDIVIDUAL_DETAILS = transitResult.INS_UDW_GA_INDIVIDUAL_DETAILS.Where(d => d.IGA_STATUS === "X").ToList(); transitResult.INS_UDW_GA_INDIVIDUAL_DETAILS = [...result, ...transitResult.INS_UDW_GA_INDIVIDUAL_DETAILS]; u.getGlobal("udwTransitGrid").jqGrid("setCell", u.getSelRow(u.getGlobal("udwTransitGrid")), "INS_UDW_GA_INDIVIDUAL_DETAILS", transitResult.INS_UDW_GA_INDIVIDUAL_DETAILS); u.form_reset("#individualdetailsForm"); u.clear_grid_data(grid); $("#individaulDetailsModal").modal("hide"); }, 500); } }); /*---------------------------------------- * GENERAL ACCIDENT ORGANIZATIONAL DETAILS *---------------------------------------*/ $scope.gaOrganizationDetailsGrid = u.getGlobal("gaOrganizationDetailGrid"); $("#btn_add_organization").click(function () { if (u.grid_empty(u.getGlobal("udwTransitGrid"))) return u.growl_info("Grid is empty"); const grid = u.getGlobal("udwTransitGrid"); let selId = u.getSelRow(grid); if (selId) { u.form_reset("#organizationdetailsForm"); u.clear_grid_data($scope.gaOrganizationDetailsGrid); const data = selId ? u.getRow(selId, grid) : {}; data.INS_UDW_GA_ORGANIZATION_DETAILS = (typeof (data.INS_UDW_GA_ORGANIZATION_DETAILS) == "string" ? JSON.parse(data.INS_UDW_GA_ORGANIZATION_DETAILS || "[]") : data.INS_UDW_GA_ORGANIZATION_DETAILS) || []; /*------------------------------------ * THIS IS WHERE THE TRANSITION STARTS *----------------------------------*/ data.INS_UDW_GA_ORGANIZATION_DETAILS.Where(d => d.OGA_STATUS !== "X").ForEach(x => { $scope.gaOrganizationDetailsGrid.addRowData(x.OGA_SYS_ID, x); }); $("#organizationDetailsModal").modal(); } else { u.growl_warning("No record selected."); } }); $("#btn_add_organization_details").on("click", function () { if (u.form_validation("#organizationdetailsForm")) { let gridData = u.get_grid_data($scope.gaOrganizationDetailsGrid) || []; const formData = u.parse_form("#organizationdetailsForm") || {}; if (gridData.Any(x => x.OGA_NAME === formData.OGA_NAME)) return u.growl_warning(`Record with code ${formData.HODT_ITEM_NAME} already exists`); u.modal_confirmation("Are you sure you want to add the record?", function () { /*--------------------- * GET RISK DATA *-------------------**/ let transData = u.getRow(u.getSelRow(u.getGlobal("udwTransitGrid")), u.getGlobal("udwTransitGrid")) || {}; /*------------------ * GET FEES FORM DATA *----------------**/ formData.OGA_STATUS = "U"; formData.OGA_CRTE_BY = u.getUserCode(); formData.OGA_CRTE_DATE = u.get_date(); formData.OGA_END_NO = transData.TRANS_POLH_END_NO; formData.OGA_RNW_NO = transData.TRANS_POLH_RNW_NO; //formData.IGA_TRANS_SYS_ID = transData.TRANS_SYS_ID; $scope.gaOrganizationDetailsGrid.addRowData(undefined, formData); u.hide_confirm(); u.growl_success("Record successfully added to grid"); u.form_reset("#organizationdetailsForm"); }); } else { u.growl_error("Please fill out the fields that are marked red"); } }); $("#btn_update_organization_details").on("click", function () { if (u.grid_empty($scope.gaOrganizationDetailsGrid)) return u.growl_info("Grid is empty"); if (u.form_validation("#organizationdetailsForm")) { u.modal_confirmation("Are you sure you want to update the selected record?", function () { const grid = $scope.gaOrganizationDetailsGrid; const rowId = u.getSelRow(grid); let data = rowId ? u.getRow(rowId, grid) : {}; let formData = u.parse_form("#organizationdetailsForm") || {}; if (data.OGA_NAME === formData.OGA_NAME) { data = u.objectSpread(data, formData); for (let i in data) grid.jqGrid("setCell", rowId, i, data[i]); grid.refresh(); u.hide_confirm(); u.growl_success("Record updated successfully"); } else { u.hide_confirm(); u.growl_warning("Please select the correct row to edit"); } }); } }); $("#btn_remove_organization_details").on("click", function () { if (u.grid_empty($scope.gaOrganizationDetailsGrid)) return u.modalAlert("Grid is empty!!!"); let grid = $scope.gaOrganizationDetailsGrid; let rowId = u.getSelRow(grid); let Result = rowId ? u.getRow(rowId, grid) : {}; let formData = u.parse_form("#organizationdetailsForm") || {}; if (Result.OGA_NAME === formData.OGA_NAME) { /*----------------------- * Display modal message *---------------------*/ u.modal_confirmation("Are you sure you want to remove the Record?", function (e) { /*-------------------------------------------- * Remove newly added record before saving *------------------------------------------*/ if (Result.OGA_STATUS == "U") { grid.jqGrid("delRowData", rowId); u.hide_confirm(); u.growl_success("Selected row successfully deleted"); } /*---------------------------------------- * Mark a record for deletion on saving *--------------------------------------*/ if (Result.OGA_STATUS == "A") { //grid.jqGrid("setCell", rowId, "OGA_STATUS", "D"); u.setCell(grid, rowId, "OGA_STATUS", "D"); $(`#${rowId}`, "#gridGaOrganizationDetails").css({ color: "red" }); u.hide_confirm(); u.growl_success("Selected row successfully marked for deletion, please click on the save button to save changes"); } else if (Result.OGA_STATUS == "D") { $(`#${rowId}`, "#gridGaOrganizationDetails").css({ color: "black" }); //grid.jqGrid("setCell", rowId, "OGA_STATUS", "A"); u.setCell(grid, rowId, "OGA_STATUS", "A"); u.hide_confirm(); u.growl_success("Data successfully restored"); } }); } }); $("#organizationDetailsOk").click(function () { const grid = $scope.gaOrganizationDetailsGrid; if (false) { $("#organizationDetailsModal").modal("hide"); } else { const result = u.get_grid_data(grid) || []; setTimeout(async function () { const rowId = u.getSelRow(u.getGlobal("udwTransitGrid")); let transitResult = u.getRow(rowId, u.getGlobal("udwTransitGrid")) || {}; /*------------------------------------ * THIS IS WHERE THE TRANSITION STARTS *----------------------------------*/ transitResult.INS_UDW_GA_ORGANIZATION_DETAILS = transitResult.INS_UDW_GA_ORGANIZATION_DETAILS.Where(d => d.OGA_STATUS === "X").ToList(); transitResult.INS_UDW_GA_ORGANIZATION_DETAILS = [...result, ...transitResult.INS_UDW_GA_ORGANIZATION_DETAILS]; u.getGlobal("udwTransitGrid").jqGrid("setCell", u.getSelRow(u.getGlobal("udwTransitGrid")), "INS_UDW_GA_ORGANIZATION_DETAILS", transitResult.INS_UDW_GA_INDIVIDUAL_DETAILS); u.form_reset("#organizationdetailsForm"); u.clear_grid_data(grid); $("#organizationDetailsModal").modal("hide"); }, 500); } }); }); })(window.jQuery, window.service, window.utility, {}); (function($, s, u, $scope) { $(function() { u.getGlobal("policyHeaderInit")(); u.getGlobal("tabsInit")(); // Goods/Cash in Transit Risk Grid $scope.genaccident_grid = u.getGlobal("udwTransitGrid"); // Cover Grid $scope.cover_grid = u.getGlobal("udwCoverGrid"); // Risk Covers **** $scope.riskCovers_grid = u.default_grid("#gridAddNewCover", "#gridAddNewCoverPager", "Risk Covers", ["Code", "Name", "Sum Insured", "Deft Rate", "Deft Premium","Modified By", "Modified Date"], [ { name: "PCV_COV_CODE", index: "PCV_COV_CODE", width: 150 }, { name: "COVER_NAME", index: "COVER_NAME", width: 150 }, u.currencyColumn("PCV_SI"), { name: "PCV_DEF_RATE", index: "PCV_DEF_RATE", width: 150 }, u.currencyColumn("PCV_DEF_PREM"), { name: "PCV_MOD_BY", index: "PCV_MOD_BY", width: 150 }, u.dateTimeColumn("PCV_MOD_DATE") ], //Retrive Grid data into form input fields on row click.. function(sel_id) { var grid = $scope.riskCovers_grid; var sel_id = grid.jqGrid("getGridParam", "selrow"); $("form input[name='DL_CODE']").data("update", true); u.fill_form({ RCOV_CODE: grid.jqGrid("getCell", sel_id, "PCV_COV_CODE"), RCOV_NAME: grid.jqGrid("getCell", sel_id, "COVER_NAME"), RCOV_RATE: grid.jqGrid("getCell", sel_id, "PCV_DEF_RATE"), RCOV_SI_FC: grid.jqGrid("getCell", sel_id, "PCV_SI"), RCOV_GROSS_PREM_FC: grid.jqGrid("getCell", sel_id, "PCV_DEF_PREM"), RCOV_NET_PREM_FC: grid.jqGrid("getCell", sel_id, "PCV_DEF_PREM"), RCOV_USER_PREM_YN: grid.jqGrid("getCell", sel_id, "PCV_CVR_USER_PREMIUM_YN"), RCOV_RATED_YN: grid.jqGrid("getCell", sel_id, "PCV_CVR_RATED_YN"), RCOV_RI_SI_YN: grid.jqGrid("getCell", sel_id, "PCV_CVR_RI_SI_YN"), RCOV_RI_PREM_YN: grid.jqGrid("getCell", sel_id, "PCV_CVR_RI_PREMIUM_YN") }, "#coverForm"); }, //Retrive Grid data into form input fields on row double click.... XXX function(sel_id) { var grid = $scope.riskCovers_grid; var sel_id = grid.jqGrid("getGridParam", "selrow"); $("form input[name='DL_CODE']").data("update", true); u.fill_form({ RCOV_CODE: grid.jqGrid("getCell", sel_id, "PCV_COV_CODE"), RCOV_NAME: grid.jqGrid("getCell", sel_id, "COVER_NAME"), RCOV_RATE: grid.jqGrid("getCell", sel_id, "PCV_DEF_RATE"), RCOV_SI_FC: grid.jqGrid("getCell", sel_id, "PCV_SI"), RCOV_GROSS_PREM_FC: grid.jqGrid("getCell", sel_id, "PCV_DEF_PREM"), RCOV_NET_PREM_FC: grid.jqGrid("getCell", sel_id, "PCV_DEF_PREM"), RCOV_USER_PREM_YN: grid.jqGrid("getCell", sel_id, "PCV_CVR_USER_PREMIUM_YN"), RCOV_RATED_YN: grid.jqGrid("getCell", sel_id, "PCV_CVR_RATED_YN"), RCOV_RI_SI_YN: grid.jqGrid("getCell", sel_id, "PCV_CVR_RI_SI_YN"), RCOV_RI_PREM_YN: grid.jqGrid("getCell", sel_id, "PCV_CVR_RI_PREMIUM_YN") }, "#coverForm"); // hide modal on double click $("#AddNewCoverModal").modal("hide"); }), // Premium Summary $scope.premium_grid = u.getGlobal("udwPremSumGrid"); // Premium Register Summary $scope.premiumreg_grid = u.getGlobal("udwPremRegGrid"); // Premium Fees Summary $scope.fees_grid = u.getGlobal("udwFeesGrid"); // Applicable Risk Fees Summary $scope.riskFees_grid = u.getGlobal("genAccFeesGrid"); // Applicable Policy Fees Summary $scope.polfees_grid = u.getGlobal("udwPolFeesGrid"); $scope.riskFees_Lov_grid = u.default_grid("#gridAddNewFees", "#gridAddNewFeesPager", "Risk Covers", ["Code", "Name", "Amount"], [ { name: "PRF_FEE_CODE", index: "PRF_FEE_CODE", width: 150 }, { name: "FEE_NAME", index: "FEE_NAME", width: 200 }, u.currencyColumn("PRF_FEE_AMOUNT"), ], function (selId) { }, function (selId) { const grid = $scope.riskFees_Lov_grid; let data = u.getRow(selId, grid) || {}; data = { GAR_FEE_CODE: data.PRF_FEE_CODE, GAR_FEE_NAME: data.FEE_NAME, GAR_FEE_FC_AMOUNT: data.PRF_FEE_AMOUNT, GAR_FEE_BC_AMOUNT: data.PRF_FEE_AMOUNT, GAR_FEE_RK_NO: data.PRF_SYS_ID }; u.form_reset("#riskfeesForm"); $scope.RiskFeesCalculate(data); //$("#RCOV_SI_FC").trigger("blur"); u.fill_form(data, "#riskfeesForm"); $("#AddNewFeesModal").modal("hide"); }); // Premium Payment Summary $scope.payment_grid = u.getGlobal("udwPaymentGrid"); // Risk Premium Summary $scope.PremSummary_grid = u.getGlobal("udwPremSumGrid"); //// Reinsurance Share Summary //$scope.coinsurance_grid = u.default_grid("#gridTreatyShare", "#gridTreatySharePager", "Reinsurance Share", // ["RI Company", "Share %", "Sum Insured Share", "Premium Share"], // [ // { name: "TTS_RI_COMP", index: "TTS_RI_COMP", width: 150 }, // { name: "TTS_PERC", index: "TTS_PERC", width: 150 }, // { name: "TTS_SI", index: "TTS_SI", width: 150 }, // { name: "TTS_PREM_FC", index: "TTS_PREM_FC", width: 150 }, // ], // //Retrive Grid data into form input fields on row click.. // function (selId) { // }), // Reinsurance Share Summary $scope.treatyShareGrid = u.getGlobal("udwTtyShareGrid"); // FAC In Premium Summary $scope.treatyApportionmentGrid = u.getGlobal("udwTtyApporGrid"); // Reinsurance Summary $scope.reinsurance_grid = u.getGlobal("udwRIGrid"); // Claim Summary $scope.cliams_grid = u.getGlobal("udwClaimsGrid"); // Agent/Broker Commission $scope.intermCom_grid = u.getGlobal("udwAgntCommGrid"); // Product Risk Grid **** $scope.prodRisks_grid = u.getGlobal("udwSubClassGrid"); // Customer Dialog $scope.customer_grid = u.getGlobal("udwCustSearchGrid"); //Intermediary Commission $scope.interComm_grid = u.getGlobal("udwAgntComsnGrid"); // Coinsurnace Member or FAC Inward Business Grid $scope.grdfacInward_grid = u.getGlobal("udwFacInwGrid"); // Coinsurnace Member or FAC Invward Participants Grid $scope.grdInwdParticipant_grid = u.getGlobal("udwInwdPartGrid"); // Coinsurance Leader Business Grid $scope.grdCoinsLeader_grid = u.getGlobal("udwCoInsLdrGrid"); // Area Grid **** $scope.area_grid = u.getGlobal("udwGAAreaGrid"); // Location Grid **** $scope.loc_grid = u.getGlobal("udwGALocGrid"); // Policy Discount/Loading $scope.polhdiscloading_grid = u.getGlobal("udwPolDiscLoadingGrid"); // Risk Discount/Loading // Risk Discount/Loading RiskDiscLoadModal btnRiskDiscLoad gridRiskDiscLoad riskdiscload_grid $scope.riskdiscload_grid = u.getGlobal("udwRskDiscLoadingGrid"); //THIS IS THE CORRECT DEFFINITION FOR THE RISK DISCOUNT AND LOADING GRID $scope.riskdiscloading_grid = u.getGlobal("udwRskDiscLoadingGrid"); // Policy Documents Grid $scope.polFileGrid = u.getGlobal("udwPolDocsGrid"); $scope.policy_risk_search_grid = u.default_grid("#gridPolicyRiskSearch", "#gridPolicyRiskSearchPager", "Policy Risk List", [ "Policy ID", "Reg Name", "Area Name", "Loc Name", "Description", "Address" ], [ { name: "TRANS_POLH_SYS_ID", index: "TRANS_POLH_SYS_ID", width: 150 }, { name: "TRANS_REGION_NAME", index: "TRANS_REGION_NAME", width: 200 }, { name: "TRANS_AREA_NAME", index: "TRANS_AREA_NAME", width: 200 }, { name: "TRANS_LOC_NAME", index: "TRANS_LOC_NAME", width: 200 }, { name: "TRANS_LOC_DESC", index: "TRANS_LOC_DESC", width: 200 }, { name: "TRANS_LOC_ADDRS", index: "TRANS_LOC_ADDRS", width: 200 }, ], function(id) { }), $scope.users_grid = u.getGlobal("udwUsersGrid"); $scope.saving = false; /*---------------------- * LOV initialization *--------------------*/ $scope.lov = u.lov_init("#myLOVModal", "#grdLOV", "#grdLOVPager"); /*----------------------------------------- * LOV button click event handling *---------------------------------------*/ $("body").delegate(".btn_lov", "click", function(e) { $scope.dialog_data = $(this).data("dialog"); if (!$scope.dialog_data) { return false; } switch ($scope.dialog_data.type) { case "btn_cover_type": $scope.lov.call_dialog("Select Cover", "get_lov_cover_type", $scope.dialog_data); break; case "btn_broker_agent": $scope.lov.call_dialog("Select Broker/Agent", "get_lov_broker_agent", $scope.dialog_data); break; case "btn_risk": $scope.lov.call_dialog("Select Risk", "get_lov_motor_risks", $scope.dialog_data); break; case "btn_area": // $scope.lov.call_dialog("Select Area", "get_lov_area", $scope.dialog_data); // break; if ($("#GAL_REGION_CODE").val() === "") return u.growl_info("Please select a region"); $scope.lov.call_dialog("Select Area", "getArea", $scope.dialog_data, $("#GAL_REGION_CODE").val()); //$scope.lov.call_dialog("Select Area", "get_lov_area", $scope.dialog_data); break; case "btn_location": //$scope.lov.call_dialog("Select Location", "get_lov_location", $scope.dialog_data); if ($("#GAL_AREA_CODE").val() === "") return u.growl_info("Select an area"); $scope.lov.call_dialog("Select Location", "getLocation", $scope.dialog_data, $("#GAL_AREA_CODE").val()); break; case "btn_region": $scope.lov.call_dialog("Select Region", "get_lov_regions", $scope.dialog_data); break; case "btn_eqzone": $scope.lov.call_dialog("Select Earthquake zone", "get_lov_eqzone", $scope.dialog_data); break; case "excess_lov": if (u.field_empty("#POLH_SUB_CLASS_CODE")) return u.growl_info("Please select a product"); $scope.lov.pcolName = ["Min Amount", "Max Amount", "Narration"]; $scope.lov.pcolMdls = [ { name: "MIN", index: "MIN" }, { name: "MAX", index: "MAX" }, { name: "NARRATION", index: "NARRATION" } ]; $scope.lov.call_dialog("Select Excess", "getProdBuyBackExcessLov", $scope.dialog_data, $("#POLH_SUB_CLASS_CODE").val(), function(e) { $("#TRANS_EXCESS_MAX").val(e.MAX); $("#TRANS_EXCESS_MIN").val(e.MIN); }); break; case "btn_risk_type": //$scope.lov.call_dialog("Select Transit", "get_lov_transit", $scope.dialog_data); $scope.lov.call_dialog("Select Transit", "getProductRisks", $scope.dialog_data, $("#POLH_SUB_CLASS_CODE").val()); break; //case "btn_combination": // $scope.lov.call_dialog("Select RI Combination", "getRiCombinationLov", $scope.dialog_data); // break; case "btn_loc": if ($("#TRANS_AREA_CODE").val() === "") return u.growl_info("Select an area"); $scope.lov.call_dialog("Select Location", "getLocation", $scope.dialog_data, $("#TRANS_AREA_CODE").val()); break; } }); /*--------------------------- * Policy Risk List Search *-------------------------*/ $("#btnQueryPolicyRisk").click(function() { var queryTxt = $("#txtPolRiskSearch").val(); if (queryTxt != null && queryTxt.length > 0) { s.get_policy_risk(queryTxt, function(result) { /* * clear grid before populating */ $scope.policy_risk_search_grid.jqGrid("clearGridData"); for (var i in result) { $scope.policy_risk_search_grid.addRowData(result[i].TRANS_POLH_SYS_ID, result[i]); } }, function(err) { }); } else { /*-------------------------------- * clear grid before populating *------------------------------*/ $scope.policy_risk_search_grid.jqGrid("clearGridData"); //fetch all s.get_policy_risk(function(polhs) { for (var i in polhs) { $scope.policy_risk_search_grid.addRowData(polhs[i].TRANS_POLH_SYS_ID, polhs[i]); } }); } }); $("#btn_PolicyRisk_lov").on("click", function() { $("#policyRiskLovModal").modal(); }); //$("form select[name='TRANS_EXCESS_APP']").change(function() { // if ($(this).val() === "Y") { // $("#btn_excess").removeAttr("disabled"); // } else { // $("#TRANS_EXCESS_PERC").val(""); // $("#TRANS_EXCESS_NAR").val(""); // $("#TRANS_EXCESS_MAX").val(""); // $("#TRANS_EXCESS_MIN").val(""); // $("#btn_excess").prop("disabled", "disabled"); // } //}); /*-------------------------------------------------- * Retrieving Area *------------------------------------------------*/ $("#btn_Area").on("click", function() { if ($("#TRANS_REGION_CODE").val() == "") { u.growl_warning("Region is not selected, Please check and try again"); } else { $scope.area_grid.jqGrid("clearGridData"); $("#areaLovModal").modal(); getAreaLov(); } }); function getAreaLov() { /* obtain parameter for our request */ var areaData = { PRD_CODE: $("#TRANS_REGION_CODE").val(), }; // var grid = $scope.area_grid; var rowIds = grid.jqGrid("getDataIDs"); //send parameters and get motor Risks from the database s.getArea(areaData, function(result) { if (result && result.length && result.length > 0) { //clear Grid $scope.area_grid.jqGrid("clearGridData"); //fill grid for (var i in result) { $scope.area_grid.addRowData(result[i]["ARE_CODE"], result[i]); } } }); } $("#btnQueryArea").on("click", function() { getAreaLov(); }); /*-------------------------------------------------- * add Location base on Area *------------------------------------------------*/ // $("#btn_Loc").on("click", function() { if ($("#TRANS_AREA_CODE").val() == "") { u.growl_warning("Area is not selected, Please check and try again"); } else { $scope.loc_grid.jqGrid("clearGridData"); $("#locationLovModal").modal(); getLocationLov(); } }); function getLocationLov() { /* obtain parameter for our request */ var locationData = { PRD_CODE: $("#TRANS_AREA_CODE").val(), }; // var grid = $scope.loc_grid; var rowIds = grid.jqGrid("getDataIDs"); //send parameters and get motor Risks from the database s.getLocation(locationData, function(result) { if (result && result.length && result.length > 0) { //clear Grid $scope.loc_grid.jqGrid("clearGridData"); //fill grid for (var i in result) { $scope.loc_grid.addRowData(result[i]["LOC_CODE"], result[i]); } } }); } /*-------------------------------------------------- * Retrieving customers on calling function *------------------------------------------------*/ $("#btnQueryLocation").on("click", function() { getLocationLov(); }); /*-------------------------------------------------- * Get Risk compulsory Fees *------------------------------------------------*/ // function getRiskComPulsoryFess() { /* obtain parameter for our request */ var riskFeesData = { CLASS_CODE: $("#POLH_CLASS_CODE").val(), PRD_CODE: $("#POLH_SUB_CLASS_CODE").val(), }; // var grid = $scope.riskFees_grid; var rowIds = grid.jqGrid("getDataIDs"); //send parameters and get motor Risks from the database s.getRiskFees(riskFeesData, function(result) { if (result && result.length && result.length > 0) { //clear Grid //$scope.riskFees_grid.jqGrid('clearGridData'); //fill grid for (var i in result) { result[i]["GAR_FEE_FC_AMOUNT"] = parseFloat(result[i]["PRF_FEE_AMOUNT"]) / parseFloat($("#POLH_CURRENCY_RATE").val()); result[i]["GAR_FEE_FC_AMOUNT"] = parseFloat(result[i]["GAR_FEE_FC_AMOUNT"].toFixed(2)); result[i]["GAR_FEE_BC_AMOUNT"] = parseFloat(result[i]["PRF_FEE_AMOUNT"]); result[i]["GAR_FEE_CODE"] = result[i]["PRF_FEE_CODE"]; result[i]["GAR_FEE_NAME"] = result[i]["FEE_NAME"]; result[i]["GAR_FEE_RK_NO"] = result[i]["PRF_SYS_ID"]; result[i]["GAR_FEE_RK_CODE"] = $("#TRANS_RISK_CODE").val(); result[i]["GAR_FEE_RK_SYS_ID"] = $("#TRANS_SYS_ID").val(); result[i]["GAR_FEE_CRTE_BY"] = "Admin"; result[i]["GAR_FEE_CRTE_DATE"] = Date.now(); result[i]["GAR_FEE_STATUS"] = "U"; // // $scope.riskFees_grid.jqGrid('setCell', result[i], 'RISK_CODE', ); $scope.riskFees_grid.jqGrid("clearGridData"); for (var i in result) $scope.riskFees_grid.addRowData(result[i]["GAR_FEE_CODE"], result[i]); } } var compFeedata = u.get_grid_data($scope.riskFees_grid); var linq = Enumerable.From(compFeedata); var result = linq.GroupBy(function(x) { return x.GAR_FEE_CODE; }) .Select(function(x) { console.log(x); return { POL_FEE_CODE: x.Key(), POL_FEE_NAME: x.source[0]["GAR_FEE_NAME"], POL_FEE_FC_AMOUNT: x.Sum(function(y) { return parseFloat(y.GAR_FEE_FC_AMOUNT || 0); }), POL_FEE_BC_AMOUNT: x.Sum(function(y) { return parseFloat(y.GAR_FEE_BC_AMOUNT || 0); }), POL_FEE_END_NO: 0 //$("#POL_END_NO").val() }; }).ToArray(); $scope.polfees_grid.jqGrid("clearGridData"); for (var i in result) $scope.polfees_grid.addRowData(result[i].ID, result[i]); }); } $("#btn_GetCompFees").on("click", function() { getRiskComPulsoryFess(); }); /*--------- /*-------------------------------------------------- * add Cover *------------------------------------------------*/ // $("#btn_add_cover").on("click", function () { if (u.form_validation("#coverForm")) { if ($("input[name='RCOV_CODE']").val() === "") { u.modalAlert("Please Select Risk Cover"); } u.modalConfirmationAsync("Are you sure you want to add the Cover?", async function () { /* obtain parameter for our request */ var productRiskData = { PRD_CODE: $("#POLH_SUB_CLASS_CODE").val(), //PRD_CV_DFT: 'Y', CUR_RATE: $("#POLH_CURRENCY_RATE").val(), RCOV_CODE: $("#RCOV_CODE").val(), }; // var grid = $scope.cover_grid; var rowIds = grid.jqGrid("getDataIDs"); //declare array to contain the codes to varify var codeArray = []; // iterate through the rows in the grid and add Covers to Array for (var i = 0, len = rowIds.length; i < len; i++) { var currRow = rowIds[i]; //get value of the cell or column in an array var coverCode = grid.jqGrid("getCell", currRow, "RCOV_CODE"); //var riskCode = grid.jqGrid("getCell", currRow, "RCOV_RISK_SYS_ID"); var riskCov = coverCode; //+ riskCode; // alert(riskCov); codeArray.push(riskCov); } if ($.inArray($("#RCOV_CODE").val(), codeArray) < 0) { //fill in default covers if not in the grid var formData = u.parse_form("#coverForm"); formData.RCOV_SYS_ID = await s.getSequenceAsync("RISK_COVERS_SEQ"); formData.RCOV_SI_BC = parseFloat($("#POLH_CURRENCY_RATE").val()) * parseFloat(formData.RCOV_SI_FC || 0); formData.RCOV_GROSS_PREM_BC = parseFloat($("#POLH_CURRENCY_RATE").val()) * parseFloat(formData.RCOV_GROSS_PREM_FC || 0); formData.RCOV_NET_PREM_BC = parseFloat($("#POLH_CURRENCY_RATE").val()) * parseFloat(formData.RCOV_NET_PREM_FC || 0); formData.RCOV_CRTE_BY = u.getUserCode(); formData.RCOV_RISK_SYS_ID = $("#TRANS_SYS_ID").val(); //formData.RCOV_BASE_PREM_YN = "N"; //formData.RCOV_BASE_SI_YN = "N"; //formData.RCOV_RI_SI_YN = "N"; //formData.RCOV_RI_PREM_YN = "N"; formData.RCOV_LOAD_BC = 0.00; formData.RCOV_DISC_BC = 0.00; formData.RCOV_STATUS = "U"; $scope.cover_grid.addRowData(undefined, formData); u.growl_success("Risk Cover successfully added"); u.hide_confirm(); //RCOV_USER_PREM_YN: grid.jqGrid("getCell", sel_id, "PCV_CVR_USER_PREMIUM_YN"), // RCOV_RATED_YN: grid.jqGrid("getCell", sel_id, "PCV_CVR_RATED_YN"), // RCOV_RI_SI_YN: grid.jqGrid("getCell", sel_id, "PCV_CVR_RI_SI_YN"), } else { u.growl_warning( "Cover exists for this Risk, you cannot add same Cover " + $("#RCOV_CODE").val()); u.hide_confirm(); } //send parameters and get Default covers from the database //s.getAddRiskCovers(productRiskData, // function(result) { // if (result && result.length && result.length > 0) { // for (var i in result) { // //alert(JSON.stringify(result)); // result[i]["RCOV_NAME"] = result[i]["MS_UDW_COVERS"]["CVR_NAME"]; // result[i]["RCOV_TYPE"] = result[i]["MS_UDW_COVERS"]["CVR_TYPE"]; // result[i]["RCOV_RI_YN"] = result[i]["MS_UDW_COVERS"]["CVR_RI_TRANSLICABLE"]; // result[i]["CVR_USER_PREMIUM"] = // result[i]["MS_UDW_COVERS"]["CVR_USER_PREMIUM"]; // result[i]["RCOV_PREM_REFUND"] = // result[i]["MS_UDW_COVERS"]["RCOV_PREM_REFUND"]; // result[i]["RCOV_RATE_CHANGE"] = // result[i]["MS_UDW_COVERS"]["CVR_RATE_CHANGE"]; // result[i]["RCOV_SI_CHANGE"] = result[i]["MS_UDW_COVERS"]["CVR_SI_CHANGE"]; // result[i]["RCOV_COVER_LEVEL"] = // result[i]["MS_UDW_COVERS"]["RCOV_COVER_LEVEL"]; // result[i]["RCOV_RISK_SYS_ID"] = $("#TRANS_SYS_ID").val(); // result[i]["RCOV_RISK_NO"] = $("#TRANS_RISK_ID").val(); // result[i]["RCOV_SI_FC"] = $("#RCOV_SI_FC").val(); // result[i]["RCOV_ANNL_PREM_FC"] = 0.00; // result[i]["RCOV_ANNL_PREM_BC"] = 0.00; // result[i]["RCOV_RI_SI_YN"] = "N"; // result[i]["RCOV_RI_PREM_YN"] = "N"; // var deftCoverCode = result[i].RCOV_CODE; // var newRiskCode = $("#TRANS_SYS_ID").val(); // var verifyRiskCover = deftCoverCode + newRiskCode; //alert(verifyRiskCover); // //add if Cover is not found in the Grid// // // if ($.inArray(verifyRiskCover, CodeArray) < 0) { // if ($.inArray(deftCoverCode, codeArray) < 0) { // //fill in default covers if not in the grid // $scope.cover_grid.addRowData(undefined, result[i]); // u.growl_success("Risk Cover successfully added"); // u.hide_confirm(); // } // else { // u.growl_warning("Cover exists for this Risk, you cannot add same Cover " + deftCoverCode); // u.hide_confirm(); // } // } // // // } else { // u.hide_confirm(); // u.growl_error("Error occured, please check and try again"); // } // }); }); } else { u.hide_confirm(); u.growl_error("Please fill out the fields that are marked red"); } }); /*-------------------------------------------------- *get Risks Cover lists fucnction *------------------------------------------------*/ // function getRiskCoversLov() { /* obtain parameter for our request */ var RiskCoverData = { PRD_CODE: $("#POLH_SUB_CLASS_CODE").val(), }; // var grid = $scope.riskCovers_grid; var rowIds = grid.jqGrid("getDataIDs"); //send parameters and get motor Risks from the database s.getRiskCoversLOV(RiskCoverData, function(result) { if (result && result.length && result.length > 0) { //clear Grid $scope.riskCovers_grid.jqGrid("clearGridData"); //fill grid for (var i in result) { result[i]["COVER_NAME"] = result[i]["MS_UDW_COVERS"]["CVR_NAME"]; $scope.riskCovers_grid.addRowData(result[i]["RCOV_CODE"], result[i]); } } }); } /*-------------------------------- *Query Cover Lov *------------------------------*/ // $("#btnQueryRiskCoverLov").on("click", function() { getRiskCoversLov(); }); /*-------------------------------- *Open Risk Covers LOV Modal *------------------------------*/ // $("#btnAddNewCover").on("click", function() { if ($("#POLH_CLASS_CODE").val() == "") { u.growl_warning("Product Code is empty, Please check and try again"); } else { $("#AddNewCoverModal").modal(); } }); /*---------------------------------------------------- * Remove record or Mark for deletion from Cover Grid *---------------------------------------------------*/ // $("#btn_remove_cover").on("click", function() { if (u.grid_empty($scope.cover_grid)) return u.modalAlert("Grid is empty!!!"); var grid = $scope.cover_grid; var row_id = grid.jqGrid("getGridParam", "selrow"); var recordStatus = grid.jqGrid("getCell", row_id, "RCOV_STATUS"); var Code = grid.jqGrid("getCell", row_id, "RCOV_NO"); var message = ""; /*--------------------------------- * Display modal message *------------------------------*/ // u.modal_confirmation("Are you sure you want to remove the Record?", function(e) { /*-------------------------------------------- * Remove newly added record before saving *------------------------------------------*/ // if (recordStatus == "U") { grid.jqGrid("delRowData", row_id); u.hide_confirm(); u.growl_success("Selected row successfully deleted"); } /*---------------------------------------- * Mark a record for deletion on saving *--------------------------------------*/ // if (recordStatus == "A") { grid.jqGrid("setCell", row_id, "RCOV_STATUS", "D"); $("#" + row_id, "#grdCover").css({ color: "red" }); u.hide_confirm(); u.growl_success( "Selected row successfully marked for deletion, please click on the save button to save changes"); } else if (recordStatus == "D") { $("#" + row_id, "#grdCover").css({ color: "black" }); grid.jqGrid("setCell", row_id, "RCOV_STATUS", "A"); u.hide_confirm(); u.growl_success("Data successfully restored"); } u.form_reset("#coverForm"); $("#RCOV_RATE").prop("disabled", false); $("#RCOV_ANNL_PREM_FC").attr("disabled", "disabled"); $("#RCOV_SI_FC").prop("disabled", false); }); }); /*-------------------------------- * Cover Edit/Update Function *------------------------------*/ // $("#btn_update_cover").on("click", function() { if (u.grid_empty($scope.cover_grid)) return u.growl_info("Cover grid is empty"); if (u.form_validation("#coverForm")) { u.modal_confirmation("Are you sure you want to update the selected Cover?", function() { updateCovers(); u.hide_confirm(); u.form_reset("#coverForm"); }); } }); //Edit/Update covers Function function updateCovers() { var grid = $scope.cover_grid; var rowId = grid.jqGrid("getGridParam", "selrow"); var coverCode = parseInt(grid.jqGrid("getCell", rowId, "RCOV_SYS_ID")); if (coverCode == parseInt($("#RCOV_SYS_ID").val())) { // var CURR_RATE = parseFloat($("#TRANS_CURR_RATE").val()).toFixed(2); if (CURR_RATE == "" || CURR_RATE == 0) { u.hide_confirm(); u.growl_warning("the Currency Rate cannot be zero (0) please check and try again"); } else { //Declare variables and get values var coverSifc = parseFloat($("#RCOV_SI_FC").val()).toFixed(2); var coverSibc = parseFloat(coverSifc * CURR_RATE).toFixed(2); var coverGrossPremFc = parseFloat($("#RCOV_GROSS_PREM_FC").val()).toFixed(2); var coverGrossPremBc = parseFloat(coverGrossPremFc * CURR_RATE).toFixed(2); var coverNetPremFc = parseFloat($("#RCOV_NET_PREM_FC").val()).toFixed(2); var coverNetPremBc = parseFloat(coverNetPremFc * CURR_RATE).toFixed(2); var coverDisFc = 0; coverDisFc = parseFloat($("#RCOV_DISC_FC").val()).toFixed(2); var coverDisBc = 0; coverDisBc = parseFloat(coverDisFc * CURR_RATE).toFixed(2); var coverLoadFc = parseFloat($("#RCOV_LOAD_FC").val()).toFixed(2); var coverLoadBc = parseFloat(coverLoadFc * CURR_RATE).toFixed(2); var coverRate = parseFloat($("#RCOV_RATE").val()).toFixed(2); // grid.jqGrid("setCell", rowId, "RCOV_SI_FC", coverSifc); grid.jqGrid("setCell", rowId, "RCOV_SI_BC", coverSibc); grid.jqGrid("setCell", rowId, "RCOV_RATE", coverRate); grid.jqGrid("setCell", rowId, "RCOV_GROSS_PREM_FC", coverGrossPremFc); grid.jqGrid("setCell", rowId, "RCOV_GROSS_PREM_BC", coverGrossPremBc); grid.jqGrid("setCell", rowId, "RCOV_NET_PREM_FC", coverNetPremFc); grid.jqGrid("setCell", rowId, "RCOV_NET_PREM_BC", coverNetPremBc); grid.jqGrid("setCell", rowId, "RCOV_DISC_FC", coverDisFc); grid.jqGrid("setCell", rowId, "RCOV_DISC_BC", coverDisBc); grid.jqGrid("setCell", rowId, "RCOV_LOAD_FC", coverLoadFc); grid.jqGrid("setCell", rowId, "RCOV_LOAD_BC", coverLoadBc); grid.jqGrid("setCell", rowId, "RCOV_ANNL_PREM_FC", $("#RCOV_ANNL_PREM_FC").val()); grid.jqGrid("setCell", rowId, "RCOV_ANNL_PREM_BC", (parseFloat($("#RCOV_ANNL_PREM_FC").val() * CURR_RATE)).toFixed(2)); //call //$scope.SumCoverRiskValues(); u.hide_confirm(); u.growl_success("Risk Cover updated"); u.form_reset("#coverForm"); $("#RCOV_RATE").prop("disabled", false); $("#RCOV_ANNL_PREM_FC").attr("disabled", "disabled"); $("#RCOV_SI_FC").prop("disabled", false); } } else { u.hide_confirm(); u.growl_warning("Please select the correct row to edit"); } } /*----------------------------------- * exporting of the grid to excel Condition & Clauses *----------------------------------*/ $("#export-cover-btn").click(function() { /* * function to export grid data into excel */ u.excel_export($scope.cover_grid, ["ID"], "Cover_List_Excel"); }); //refresh Cover, Risk and policy Values on closing the Risk Cover Modal $("#btnRiskCoverOk").click(function() { if (u.grid_empty($scope.cover_grid)) { u.modal_confirmation("The Grid is empty, do you want to close form?", function(e) { $("#RiskCoverModal").modal("hide"); u.hide_confirm(); }); } else { $scope.SumCoverRiskValues(); //$scope.premiumSummarizer(); //$scope.PolicyCalculations(); $("#RiskCoverModal").modal("hide"); u.clear_grid_data($scope.cover_grid); } }); //Calculate Policy Premium Summary to be displayed in a grid //$scope.premiumSummarizer = function() { // var currRate = parseFloat($("#POLH_CURRENCY_RATE").val() || 0); // //[grossPremFc=0, grossPremBc=1, totalvehBasicPrem=2, excessBoughtPrem=3, totalccLoadingPrem=4, AddTPPDPrem=5, totalRiskPrem=6, totalTPBasicPrem=7, extraSeatPrem=8, ncdPremFc=9, ncdPremBc=10, addPeril=11, PABenefitPrem=12, ecowasPrem] // var premData = $scope.PremiumCalculator(); // u.clear_grid_data($scope.PremSummary_grid); // var data = { // CODE: "GRSPREM", // DESCRIPTION: "Gross Premium", // FC_AMOUNT: ( // parseFloat(premData[0] || 0) + // parseFloat(premData[3] || 0) * currRate + // parseFloat(premData[4] || 0) * currRate + // parseFloat(premData[5] || 0) * currRate + // parseFloat(premData[8] || 0) * currRate + // parseFloat(premData[11] || 0) * currRate + // parseFloat(premData[12] || 0) * currRate + // parseFloat(premData[13] || 0) * currRate).toFixed(2), // BC_AMOUNT: ( // parseFloat(premData[1] || 0) + // parseFloat(premData[3] || 0) + // parseFloat(premData[4] || 0) + // parseFloat(premData[5] || 0) + // parseFloat(premData[8] || 0) + // parseFloat(premData[11] || 0) + // parseFloat(premData[12] || 0) + // parseFloat(premData[13] || 0)).toFixed(2), // TYPE: "P" // }; // $scope.PremSummary_grid.addRowData(data.ID, data); // //policy discount and loading summary // var polDiscLoadData = u.get_grid_data($scope.riskdiscloading_grid); // console.log(polDiscLoadData); // var polDiscLoadLinq = Enumerable.From(polDiscLoadData); // var polDiscLoadings = // polDiscLoadLinq.GroupBy(function(x) { return x.DL_CODE; }) // .Select(function(x) { // return { // CODE: x.Key(), // DESCRIPTION: x.source[0]["DL_NAME"], // FC_AMOUNT: x.Sum(function(y) { return parseFloat(y.DL_AMT_FC || 0); }).toFixed(2), // BC_AMOUNT: x.Sum(function(y) { return parseFloat(y.DL_AMT_BC || 0); }).toFixed(2), // TYPE: x.source[0]["DL_TYPE"] // }; // }).ToArray(); // for (var x in polDiscLoadings) // $scope.PremSummary_grid.addRowData(polDiscLoadings[x].ID, polDiscLoadings[x]); // //policy fee summary // var compFeedata = u.get_grid_data($scope.polfees_grid); // var linq = Enumerable.From(compFeedata); // var result = // linq.GroupBy(function(x) { return x.POL_FEE_CODE; }) // .Select(function(x) { // return { // CODE: x.Key(), // DESCRIPTION: x.source[0]["POL_FEE_NAME"], // FC_AMOUNT: x.Sum(function(y) { // return parseFloat(parseFloat(y.POL_FEE_FC_AMOUNT || 0) / currRate); // }).toFixed(2), // BC_AMOUNT: x.Sum(function(y) { return parseFloat(y.POL_FEE_BC_AMOUNT || 0); }).toFixed(2), // TYPE: "F" // }; // }).ToArray(); // for (var i in result) $scope.PremSummary_grid.addRowData(result[i].ID, result[i]); // var summaryData = u.get_grid_data($scope.PremSummary_grid), // summaryDataLing = Enumerable.From(summaryData); // var netCustomerFc = (summaryDataLing.Sum(function(x) { return parseFloat(x.FC_AMOUNT); })).toFixed(2), // netCustomerBc = (summaryDataLing.Sum(function(x) { return parseFloat(x.BC_AMOUNT); })).toFixed(2); // // // var currency = $("#POLH_CURRENCY").val(); // var premium = " " + currency + " " + netCustomerFc; // $("#netCustomerBc").text(netCustomerBc); // $("#netCustomerFc").text(premium); // $("#POLH_POL_PREM_FC").val(netCustomerFc); // $("#POLH_POL_PREM_BC").val(netCustomerBc); // $("#POLH_NET_PREM_FC").val( // summaryDataLing.Where(function(x) { return x.TYPE == "P"; }).Sum(function(x) { // return parseFloat(x.FC_AMOUNT); // }) + // summaryDataLing.Where(function(x) { return x.TYPE == "D"; }).Sum(function(x) { // return parseFloat(x.FC_AMOUNT); // }) + // summaryDataLing.Where(function(x) { return x.TYPE == "L"; }).Sum(function(x) { // return parseFloat(x.FC_AMOUNT); // })); // $("#POLH_NET_PREM_BC").val( // summaryDataLing.Where(function(x) { return x.TYPE === "P"; }).Sum(function(x) { // return parseFloat(x.BC_AMOUNT || 0); // }) + // summaryDataLing.Where(function(x) { return x.TYPE == "D"; }).Sum(function(x) { // return parseFloat(x.BC_AMOUNT || 0); // }) + // summaryDataLing.Where(function(x) { return x.TYPE == "L"; }).Sum(function(x) { // return parseFloat(x.BC_AMOUNT || 0); // })); // //x.BC_AMOUNT // $("#POLH_POL_LOAD_FC").val(summaryDataLing.Where(function(x) { return x.TYPE == "L" }) // .Sum(function(x) { return parseFloat(x.FC_AMOUNT || 0); })); // $("#POLH_POL_LOAD_BC").val(summaryDataLing.Where(function(x) { return x.TYPE == "L" }) // .Sum(function(x) { return parseFloat(x.BC_AMOUNT || 0) })); // $("#POLH_POL_DISC_FC").val(summaryDataLing.Where(function(x) { return x.TYPE == "D" }) // .Sum(function(x) { return parseFloat(x.FC_AMOUNT || 0); })); // $("#POLH_POL_DISC_BC").val(summaryDataLing.Where(function(x) { return x.TYPE == "D" }) // .Sum(function(x) { return parseFloat(x.BC_AMOUNT || 0); })); // $("#POLH_FEE_FC").val(summaryDataLing.Where(function(x) { return x.TYPE == "F" }) // .Sum(function(x) { return parseFloat(x.FC_AMOUNT || 0); })); // $("#POLH_FEE_BC").val(summaryDataLing.Where(function(x) { return x.TYPE == "F" }) // .Sum(function(x) { return parseFloat(x.BC_AMOUNT || 0); })); // $("#POLH_GROSS_PREM_BC").val(summaryData.Where((x) => x.TYPE == "P").FirstOrDefault().BC_AMOUNT); // $("#POLH_GROSS_PREM_FC").val(summaryData.Where((x) => x.TYPE == "P").FirstOrDefault().FC_AMOUNT); //}; $("#premSum").click($scope.premiumSummarizer); //$scope.PremiumCalculator = function() { // //Declare variables // var riskPrem = 0; // var feesPrem = 0; // var riskBasicPrem = $("#POLH_NET_PREM_FC").val(); // // // var coverCode; // var coverPremium = 0; // var grossPremFc = 0; // var grossPremBc = 0; // var totalRiskPrem = 0; // var totalriskBasicPrem = 0; // var currRate = parseFloat($("#POLH_CURRENCY_RATE").val() || 0); // //Risk Grid // var RisksGrid = $scope.genaccident_grid; // //Cover Grid // var covgrid = $scope.cover_grid; // var rowIds = covgrid.jqGrid("getDataIDs"); // var riskRowIds = RisksGrid.jqGrid("getDataIDs"); // var riskRow = u.getSelRow(RisksGrid); // var riskId = RisksGrid.jqGrid("getCell", riskRow, "TRANS_SYS_ID"); // // iterate through the rows and check if it exists // for (var i = 0, len = rowIds.length; i < len; i++) { // var currRow = rowIds[i]; // //get the risk sys ID from the covers grid // var getcovRiskId = covgrid.jqGrid("getCell", currRow, "RCOV_RISK_SYS_ID"); // //get Cover type of the cover // var coverType = covgrid.jqGrid("getCell", currRow, "RCOV_TYPE"); // if (getcovRiskId === riskId) { // coverCode = covgrid.jqGrid("getCell", currRow, "RCOV_CODE"); // coverPremium = parseFloat(covgrid.jqGrid("getCell", currRow, "RCOV_NET_PREM_FC")); // } // } // //Discount Loading Calculation // totalriskBasicPrem += riskBasicPrem; // grossPremFc += riskBasicPrem; // grossPremBc = (grossPremFc * currRate); // var prems = [grossPremFc, grossPremBc, riskBasicPrem, riskPrem]; // console.log(prems); // return prems; //}; // $scope.individualRiskPremiumCalculator = function() { //Declare variables var riskPrem = 0; var feesPrem = 0; var riskBasicPrem = 0; // var coverCode; var coverPremium = 0; var grossPremFc = 0; var grossPremBc = 0; var totalRiskPrem = 0; var totalriskBasicPrem = 0; var currRate = parseFloat($("#POLH_CURRENCY_RATE").val() || 0); //Risk Grid var RisksGrid = $scope.genaccident_grid; //Cover Grid var covgrid = $scope.cover_grid; var rowIds = covgrid.jqGrid("getDataIDs"); var riskRowIds = RisksGrid.jqGrid("getDataIDs"); var riskRow = u.getSelRow(RisksGrid); var riskId = RisksGrid.jqGrid("getCell", riskRow, "TRANS_SYS_ID"); // iterate through the rows and check if it exists for (var i = 0, len = rowIds.length; i < len; i++) { var currRow = rowIds[i]; //get the risk sys ID from the covers grid var getcovRiskId = covgrid.jqGrid("getCell", currRow, "RCOV_RISK_SYS_ID"); //get Cover type of the cover var coverType = covgrid.jqGrid("getCell", currRow, "RCOV_TYPE"); if (getcovRiskId === riskId) { coverCode = covgrid.jqGrid("getCell", currRow, "RCOV_CODE"); coverPremium = parseFloat(covgrid.jqGrid("getCell", currRow, "RCOV_NET_PREM_FC") || 0); } } grossPremFc += coverPremium; grossPremBc = (grossPremFc * currRate); var prems = [grossPremFc, grossPremBc, riskBasicPrem, riskPrem]; console.log(prems); return prems; }; // Cover level SI and Premium Calculations: /*-------------------------------------------------- * Goods/Cash in Transit Risk modal dialog *------------------------------------------------*/ // $("#btn_open_ga_risk").click(async function() { if (!u.getSelRow(u.getGlobal("udwGenAccLocGrid"))) return u.growl_info("Please select a location from the grid"); $("#textTRANS").text("CASH IN TRANSIT"); $("#TRANS_CURRENCY").val($("#POLH_CURRENCY").val()); $("#TRANS_CURR_RATE").val($("#POLH_CURRENCY_RATE").val()); $("#TRANS_START_DATE").val($("#POLH_POL_START_DATE").val()); $("#TRANS_END_DATE").val($("#POLH_POL_END_DATE").val()); $("#TRANS_PERIOD_DAYS").val($("#POLH_POL_DAYS").val()); $("#TRANS_UW_YEAR").val($("#POLH_POL_UW_YEAR").val()); //$("#TRANS_RISK_TYPE").val($("#POLH_SUB_CLASS_CODE").val()); //$("#TRANS_RISK_NAME").val($("#PDT_NAME").val()); await u.lovDropDownAsync("#TRANS_EXCESS_APP", "get_lov_PExcessAsync", { "SubClass": $("#POLH_SUB_CLASS_CODE").val() || null }); // DEFAULT CLAIM AMOUNT $("#TRANS_EXCESS_APP").val("CA"); $("#TRANS_EXCESS_APP").trigger("change"); $("#garModal").modal(); u.setGlobal("selectedLocationId", parseInt($("#GAL_SYS_ID").val())); }); $("#btn_risk_cover").click(function() { //var grid = $("#gridGa"); //var sel_id = grid.jqGrid("getGridParam", "selrow"); //var RiskID = grid.jqGrid("getCell", sel_id, "TRANS_SYS_ID"); //if (RiskID == $("#TRANS_SYS_ID").val()) { // //Hide covers not related to selected risk // $scope.hideShowCovers(); // $("#RiskCoverModal").modal(); //} else { // u.growl_warning("No Row selected"); //} if (u.getSelRow(u.getGlobal("udwTransitGrid"))) { $("#RiskCoverModal").modal(); //Hide covers not related to selected risk //$scope.hideShowCovers(); } else { u.growl_warning("No Risk selected, Please select and try again"); }; }); $("#btn_gar_OnClose").click(function () { //var selectedLocationId = parse || u.getGlobal("selectedLocationId"); var selectedLocation = u.get_grid_data(u.getGlobal("udwGenAccLocGrid")) .Where(x => parseInt(x.GAL_SYS_ID) === u.getGlobal("selectedLocationId"))[0]; const risks = u.get_grid_data(u.getGlobal("udwTransitGrid")); var locations = u.get_grid_data(u.getGlobal("udwGenAccLocGrid")); locations.ForEach(loc => { if (parseInt(loc.GAL_SYS_ID) === parseInt(selectedLocation.GAL_SYS_ID)) { if (!risks.Any()) { loc.INS_UDW_GA_TRANSIT = []; } else { loc.INS_UDW_GA_TRANSIT = []; risks.ForEach(r => { if (parseInt(r.TRANS_LOC_SYS_ID) === parseInt(loc.GAL_SYS_ID)) { loc.INS_UDW_GA_TRANSIT = u.parseJson(loc.INS_UDW_GA_TRANSIT); loc.INS_UDW_GA_TRANSIT = loc.INS_UDW_GA_TRANSIT .Where(x => parseInt(x.TRANS_SYS_ID) !== parseInt(r.TRANS_SYS_ID)); loc.INS_UDW_GA_TRANSIT.push(r); } }); } } }); u.clear_grid_data(u.getGlobal("udwGenAccLocGrid")); u.grid_populate(u.getGlobal("udwGenAccLocGrid"), "", locations); u.getGlobal("GaLocationSummarizer")(); //$scope.PolicyCalculations(); u.getGlobal("PolicyCalculations")(true); $("#garModal").modal("hide"); u.clear_grid_data(u.getGlobal("udwTransitGrid")); u.form_reset("#genaccidentForm"); }); /*-------------------------------------------------- * Adding Transit Risk Details *------------------------------------------------*/ $("#btn_add_garisk").on("click", async function() { if (u.form_validation("#genaccidentForm")) { if ($("#TRANS_RISK_CODE").val() === "") return u.modalAlert("Please Enter Risk No"); u.modalConfirmationAsync("Are you sure you want to add the Risk Details?", async function() { var seq = await s.getSequenceAsync("PRODUCT_RISK_SEQ"); if (!u.get_grid_data($scope.genaccident_grid).Any(v => v.TRANS_SYS_ID === seq)) { $("#TRANS_SYS_ID").val(seq); var rowIds = $scope.genaccident_grid.jqGrid("getDataIDs"); /*---------------------------------------------- * declare array to contain the codes to verify *--------------------------------------------*/ // var Code = []; /*------------------------------------------------------------ * iterate through the rows and check duplicate each of them *----------------------------------------------------------*/ // for (var i = 0, len = rowIds.length; i < len; i++) { var currRow = rowIds[i]; /*------------------------------------------------ * get value of the cell or column in an array *----------------------------------------------*/ // var cellValue = $scope.genaccident_grid.jqGrid("getCell", currRow, "TRANS_RISK_TYPE"); Code.push(cellValue); } /*---------------------------------------- * add if code is not found in the Grid *--------------------------------------*/ // //if ($.inArray($("#TRANS_RISK_TYPE").val(), Code) < 0) { if (true) { var FormData = u.parse_form("#genaccidentForm"); FormData.TRANS_POLH_END_NO = $("#POLH_END_NO").val(); FormData.TRANS_STATUS = "U"; FormData.TRANS_CRTE_BY = u.getUserCode(); FormData.TRANS_CRTE_DATE = u.get_date(); FormData.TRANS_LOC_SYS_ID = parseInt($("#GAL_SYS_ID").val()); var defaultCovers = []; if ($("#POLH_INS_SOURCE").val() === "DIR" || $("#POLH_INS_SOURCE").val() === "COL") { defaultCovers = await u.getGlobal("getDefaultRiskCoversAsync")($("#TRANS_SYS_ID").val()); } else if ($("#POLH_INS_SOURCE").val() === "COM") { defaultCovers = await u.getGlobal("getOtherDefaultRiskCoversAsync")(FormData.CAR_SYS_ID, "COM"); } else if ($("#POLH_INS_SOURCE").val() === "FIN") { defaultCovers = await u.getGlobal("getOtherDefaultRiskCoversAsync")(FormData.CAR_SYS_ID, "FIN"); } FormData.INS_UWD_RISK_COVERS = JSON.stringify(defaultCovers); if (!u.get_grid_data($scope.genaccident_grid).Any(x => u.parseJson(x.INS_UDW_GA_RISK_FEES).Any())) { FormData.INS_UDW_GA_RISK_FEES = await u.getGlobal("GaGetCompulsoryFees")($("#TRANS_SYS_ID").val()); //FormData.INS_UDW_GA_RISK_FEES = JSON.stringify(FormData.INS_UDW_GA_RISK_FEES); u.grid_populate($scope.riskFees_grid, "", FormData.INS_UDW_GA_RISK_FEES); } $scope.genaccident_grid.addRowData(FormData.TRANS_SYS_ID, FormData); u.hide_confirm(); u.growl_success("Risk successfully added to grid"); u.form_reset("#genaccidentForm"); } else { u.hide_confirm(); u.growl_warning("Risk with code " + cellValue + " already exists"); } } else { u.growl_warning("Duplicate risk id"); } }); } else { u.growl_error("Please fill out the fields that are marked red"); } }); /*---------------------------------------------------- * Remove record or Mark for deletion from Goods/Cash in Transit Risk *---------------------------------------------------*/ $("#btn_remove_garisk").on("click", function() { if (u.grid_empty($scope.genaccident_grid)) return u.modalAlert("Grid is empty!!!"); var grid = $scope.genaccident_grid; var row_id = u.getSelRow(grid); if (!row_id) return u.growl_info("Select a risk to remove"); var recordStatus = grid.jqGrid("getCell", row_id, "TRANS_STATUS"); /*--------------------------------- * Display modal message *------------------------------*/ // u.modal_confirmation("Are you sure you want to remove the Record?", function(e) { /*-------------------------------------------- * Remove newly added record before saving *------------------------------------------*/ // if (recordStatus === "U") { grid.jqGrid("delRowData", row_id); u.hide_confirm(); u.growl_success("Selected row successfully deleted"); u.form_reset("#genaccidentForm"); } /*---------------------------------------- * Mark a record for deletion on saving *--------------------------------------*/ // if (recordStatus === "A") { grid.jqGrid("setCell", row_id, "TRANS_STATUS", "D"); $("#" + row_id, "#gridTrans").css({ color: "red" }); u.hide_confirm(); u.growl_success( "Selected row successfully marked for deletion, please click on the save button to save changes"); u.form_reset("#genaccidentForm"); } else if (recordStatus === "D") { $("#" + row_id, "#gridTrans").css({ color: "black" }); grid.jqGrid("setCell", row_id, "TRANS_STATUS", "A"); u.hide_confirm(); u.growl_success("Data successfully restored"); u.form_reset("#genaccidentForm"); } $scope.RecalculatePremium(); }); }); /*-------------------------------- * Edit/Update Function Goods/Cash in Transit Risk Details *------------------------------*/ $("#btn_update_garisk").on("click", function() { if (u.grid_empty($scope.genaccident_grid)) return u.growl_info("Grid is empty"); if (u.form_validation("#genaccidentForm")) { u.modal_confirmation("Are you sure you want to update the selected risk?", function() { var grid = $scope.genaccident_grid; var rowId = grid.jqGrid("getGridParam", "selrow"); var code = parseInt(grid.jqGrid("getCell", rowId, "TRANS_SYS_ID")); if (code === parseInt($("#TRANS_SYS_ID").val())) { var data = u.parse_form("#genaccidentForm"); for (var i in data) { grid.jqGrid("setCell", rowId, i, data[i]); } //$scope.premiumSummarizer(); u.getGlobal("gaPremSummarizer")(); u.hide_confirm(); u.growl_success("Risk Details updated"); u.form_reset("#genaccidentForm"); } else { u.hide_confirm(); u.growl_warning("Please select the correct row to edit"); } }); } }); $("#btn_Reset_Risk").on("click", function() { u.modal_confirmation("Are you sure you want to clear all data from the form?", function(e) { u.form_reset("#genaccidentForm"); u.hideWarning(); u.growl_success("Form successfully cleared"); }); }); /*----------------------------------- * exporting of the grid to excel Condition & Clauses *----------------------------------*/ $("#export-ga-btn").click(function() { /* * function to export grid data into excel */ u.excel_export($scope.genaccident_grid, ["ID"], "General_Accident_List_Excel"); }); $scope.policyCommissionSummarizer = u.getGlobal("policyCommissionSummarizer"); $scope.financialDiff = function (newPolicy, oldPolicy) { $scope.endorsementData = u.get_grid_data($scope.endorsementGrid).FirstOrDefault(e => e.END_TXN_STATE == "O") || $scope.endorsementData; if (!$scope.endorsementData) { return u.modalInfo("Could not find endorsement information, please make sure the policy is in the endorsed state"); } var ed = $scope.endorsementData, n = 0, o = 0; if (!ed) { return false; } //we need to obtain the history information of the current policy $scope.oldPolicy = u.getGlobal("oldPolicy") || $scope.oldPolicy || oldPolicy; //obtain premium differences //ed.END_PREM_DIFF_FC = ed.END_FLAG == "FC" // ? -parseFloat($scope.oldPolicy["POLH_POL_PREM_FC"] || 0) // : parseFloat(newPolicy["POLH_POL_PREM_FC"] || 0) // - parseFloat($scope.oldPolicy["POLH_POL_PREM_FC"] || 0) // + parseFloat(ed.END_FEE_FC || 0); //ed.END_PREM_DIFF_BC = ed.END_FLAG == "FC" // ? -parseFloat($scope.oldPolicy["POLH_POL_PREM_BC"] || 0) // : parseFloat(newPolicy["POLH_POL_PREM_BC"] || 0) // - parseFloat($scope.oldPolicy["POLH_POL_PREM_BC"] || 0) // + parseFloat(ed.END_FEE || 0); //ed.END_PREM_DIFF_FC = (parseFloat(ed.END_PREM_DIFF_FC * proRataValue)).toFixed(2); //ed.END_PREM_DIFF_BC = (parseFloat(ed.END_PREM_DIFF_BC * proRataValue)).toFixed(2); ////obtain commission differences //ed.END_COMMSSN_DIFF_FC = ed.END_FLAG == "FC" // ? - parseFloat($scope.oldPolicy["POLH_POL_COMM_FC"] || 0) : parseFloat(newPolicy["POLH_POL_COMM_FC"] || 0) - parseFloat($scope.oldPolicy["POLH_POL_COMM_FC"] || 0); //ed.END_COMMSSN_DIFF_BC = ed.END_FLAG == "FC" // ? - parseFloat($scope.oldPolicy["POLH_POL_COMM_BC"] || 0) : parseFloat(newPolicy["POLH_POL_COMM_BC"] || 0) - parseFloat($scope.oldPolicy["POLH_POL_COMM_BC"] || 0); ////obtain fee differences //ed.END_FEE_DIFF_FC = ed.END_FLAG == "FC" // ? - parseFloat($scope.oldPolicy["POLH_FEE_FC"] || 0) : parseFloat(newPolicy["POLH_FEE_FC"] || 0) - parseFloat($scope.oldPolicy["POLH_FEE_FC"] || 0); //ed.END_FEE_DIFF_BC = ed.END_FLAG == "FC" // ? - parseFloat($scope.oldPolicy["POLH_FEE_BC"] || 0) : parseFloat(newPolicy["POLH_FEE_BC"] || 0) - parseFloat($scope.oldPolicy["POLH_FEE_BC"] || 0); ////obtain discount differences //ed.END_DISC_DIFF_FC = ed.END_FLAG == "FC" // ? - parseFloat($scope.oldPolicy["POLH_POL_DISC_FC"] || 0) : parseFloat(newPolicy["POLH_POL_DISC_FC"] || 0) - parseFloat($scope.oldPolicy["POLH_POL_DISC_FC"] || 0); //ed.END_DISC_DIFF_BC = ed.END_FLAG == "FC" // ? - parseFloat($scope.oldPolicy["POLH_POL_DISC_BC"] || 0) : parseFloat(newPolicy["POLH_POL_DISC_BC"] || 0) - parseFloat($scope.oldPolicy["POLH_POL_DISC_BC"] || 0); ////obtain loading differences //ed.END_LOAD_DIFF_FC = ed.END_FLAG == "FC" // ? - parseFloat($scope.oldPolicy["POLH_POL_LOAD_FC"] || 0) : parseFloat(newPolicy["POLH_POL_LOAD_FC"] || 0) - parseFloat($scope.oldPolicy["POLH_POL_LOAD_FC"] || 0); //ed.END_LOAD_DIFF_BC = ed.END_FLAG == "FC" // ? - parseFloat($scope.oldPolicy["POLH_POL_LOAD_BC"] || 0) : parseFloat(newPolicy["POLH_POL_LOAD_BC"] || 0) - parseFloat($scope.oldPolicy["POLH_POL_LOAD_BC"] || 0); ////obtain suminsured differences //ed.END_SI_DIFF_FC = // parseFloat(newPolicy["POLH_POL_SI_FC"] || 0) - parseFloat($scope.oldPolicy["POLH_POL_SI_FC"] || 0); //ed.END_SI_DIFF_BC = // parseFloat(newPolicy["POLH_POL_SI_BC"] || 0) - parseFloat($scope.oldPolicy["POLH_POL_SI_BC"] || 0); ////obtain coins differences //ed.END_COINS_DIFF_FC = ed.END_FLAG == "FC" // ? - parseFloat($scope.oldPolicy["POLH_COINS_PREM_FC"] || 0) : parseFloat(newPolicy["POLH_COINS_PREM_FC"] || 0) - parseFloat($scope.oldPolicy["POLH_COINS_PREM_FC"] || 0); //ed.END_COINS_DIFF_BC = ed.END_FLAG == "FC" // ? - parseFloat($scope.oldPolicy["POLH_COINS_PREM_BC"] || 0) : parseFloat(newPolicy["POLH_COINS_PREM_BC"] || 0) - parseFloat($scope.oldPolicy["POLH_COINS_PREM_BC"] || 0); //// coins commission difference //ed.END_COINS_COMM_DIFF_FC = ed.END_FLAG == "FC" // ? - parseFloat($scope.oldPolicy["POLH_COINS_COM_FC"] || 0) : parseFloat(newPolicy["POLH_COINS_COM_FC"] || 0) - parseFloat($scope.oldPolicy["POLH_COINS_COM_FC"] || 0); //ed.END_COINS_COMM_DIFF_BC = ed.END_FLAG == "FC" // ? - parseFloat($scope.oldPolicy["POLH_COINS_COM_BC"] || 0) : parseFloat(newPolicy["POLH_COINS_COM_BC"] || 0) - parseFloat($scope.oldPolicy["POLH_COINS_COM_BC"] || 0); ed = u.getGlobal("endorsementDifferencesCalculation")(newPolicy, $scope.oldPolicy, $scope.endorsementData); /*------------------------------- * CO-INSURANCE LEADER ENDORSEMENT *------------------------------*/ u.getGlobal("CoInsuranceLeaderEndorsment")(newPolicy, $scope.oldPolicy, ed); /*------------------------------- * TREATY SHARE ENDORSEMENT *------------------------------*/ newPolicy.INS_RI_TTY_HEAD = newPolicy.INS_RI_TTY_HEAD.Where(c => c.TTH_ADJ_YN !== "Y").ToList() || []; $scope.oldPolicy.INS_RI_TTY_HEAD = $scope.oldPolicy.INS_RI_TTY_HEAD.Where(c => c.TTH_ADJ_YN !== "Y").ToList() || []; u.getGlobal("TreatyShareEndorsement")(newPolicy, $scope.oldPolicy, ed); console.log(ed); //update endorsement grid u.setGridColumn($scope.endorsementGrid, { "END_PREM_DIFF_FC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_PREM_DIFF_FC || 0; }, "END_PREM_DIFF_BC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_PREM_DIFF_BC || 0; }, "END_COMMSSN_DIFF_FC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_COMMSSN_DIFF_FC || 0; }, "END_COMMSSN_DIFF_BC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_COMMSSN_DIFF_BC || 0; }, "END_FEE_DIFF_FC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_FEE_DIFF_FC || 0; }, "END_FEE_DIFF_BC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_FEE_DIFF_BC || 0; }, "END_DISC_DIFF_FC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_DISC_DIFF_FC || 0; }, "END_DISC_DIFF_BC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_DISC_DIFF_BC || 0; }, "END_LOAD_DIFF_FC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_LOAD_DIFF_FC || 0; }, "END_LOAD_DIFF_BC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_LOAD_DIFF_BC || 0; }, "END_SI_DIFF_FC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_SI_DIFF_FC || 0; }, "END_SI_DIFF_BC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_SI_DIFF_BC || 0; }, "END_COINS_DIFF_FC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_COINS_DIFF_FC || 0; }, "END_COINS_DIFF_BC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_COINS_DIFF_BC || 0; }, "END_COINS_COMM_DIFF_FC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_COINS_COMM_DIFF_FC || 0; }, "END_COINS_COMM_DIFF_BC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_COINS_COMM_DIFF_BC || 0; }, "END_VAT_DIFF_FC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_VAT_DIFF_FC || 0; }, "END_VAT_DIFF_BC": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.END_VAT_DIFF_BC || 0; }, "MS_COL_ENDORSEMENT": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.MS_COL_ENDORSEMENT || []; }, "MS_RI_SHARE_ENDORSEMENT": function (amnt, row) { if (row["END_TXN_STATE"] === "O") return ed.MS_RI_SHARE_ENDORSEMENT || []; } }); //show endorsement premium $("#endPremSummary").show(); var endNetTCustomerFc = parseFloat(ed.END_PREM_DIFF_FC); $("#endNetCustomerFc").text(`${$("#POLH_CURRENCY").val()} ${endNetTCustomerFc}`); //hide net to customer premium $("#netCustomerFc").parents("h3").hide(0); //obtain financiall differences for each risk //var newPolicyRisks = newPolicy["INS_UDW_GA_TRANSIT"]; //var oldPolicyRisks = $scope.oldPolicy["INS_UDW_GA_TRANSIT"]; var newPolicyLocations = newPolicy["INS_UDW_GENERAL_ACCIDENT_LOC"]; var oldPolicyLocations = $scope.oldPolicy["INS_UDW_GENERAL_ACCIDENT_LOC"]; ed["UDW_RISK_ENDSMNT_DTLS"] = []; //check if there are more new risks or more old risks var moreOldRisks = oldPolicyLocations.length > newPolicyLocations.length; var moreNewRisks = newPolicyLocations.length > oldPolicyLocations.length; //todo: use one loop for all if (moreNewRisks) { for (n; n < newPolicyLocations.length; n++) { for (o; o < oldPolicyLocations.length; o++) { if (newPolicyLocations[n]["GAL_SYS_ID"] == oldPolicyLocations[o]["GAL_SYS_ID"]) { ed["UDW_RISK_ENDSMNT_DTLS"].push({ RED_TRANS_SYS_ID: newPolicyLocations[n]["GAL_SYS_ID"], RED_POL_SYS_ID: newPolicy["POLH_SYS_ID"], RED_END_NO: newPolicy["POLH_END_NO"], RED_SI_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_SI_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_SI_FC"] || 0), RED_SI_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_SI_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_SI_BC"] || 0), RED_PREM_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_TOT_PREM_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_TOT_PREM_FC"] || 0), RED_PREM_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_TOT_PREM_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_TOT_PREM_BC"] || 0), RED_FEE_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_COMP_FEE_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_COMP_FEE_FC"] || 0), RED_FEE_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_COMP_FEE_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_COMP_FEE_BC"] || 0), RED_LOAD_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_LOAD_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_LOAD_FC"] || 0), RED_LOAD_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_LOAD_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_LOAD_BC"] || 0), RED_DISC_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_DISC_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_DISC_FC"] || 0), RED_DISC_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_DISC_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_DISC_BC"] || 0), RED_CRTE_BY: u.getUserCode(), RED_STATUS: "U" }); break; } if (o === (oldPolicyLocations.length - 1)) { //we have reached the last risk and there is no match ed["UDW_RISK_ENDSMNT_DTLS"].push({ RED_TRANS_SYS_ID: newPolicyLocations[n]["GAL_SYS_ID"], RED_POL_SYS_ID: newPolicy["POLH_SYS_ID"], RED_END_NO: newPolicy["POLH_END_NO"], RED_SI_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_SI_FC"] || 0), RED_SI_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_SI_BC"] || 0), RED_PREM_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_TOT_PREM_FC"] || 0), RED_PREM_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_TOT_PREM_BC"] || 0), RED_FEE_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_COMP_FEE_FC"] || 0), RED_FEE_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_COMP_FEE_BC"] || 0), RED_LOAD_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_LOAD_FC"] || 0), RED_LOAD_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_LOAD_BC"] || 0), RED_DISC_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_DISC_FC"] || 0), RED_DISC_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_DISC_BC"] || 0), RED_CRTE_BY: u.getUserCode(), RED_STATUS: "U" }); } } } } else if (moreOldRisks) { for (o; o < newPolicyLocations.length; o++) { for (n; n < oldPolicyLocations.length; n++) { if (newPolicyLocations[o]["GAL_SYS_ID"] == oldPolicyLocations[n]["GAL_SYS_ID"]) { ed["UDW_RISK_ENDSMNT_DTLS"].push({ RED_TRANS_SYS_ID: newPolicyLocations[n]["GAL_SYS_ID"], RED_POL_SYS_ID: newPolicy["POLH_SYS_ID"], RED_END_NO: newPolicy["POLH_END_NO"], RED_SI_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_SI_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_SI_FC"] || 0), RED_SI_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_SI_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_SI_BC"] || 0), RED_PREM_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_TOT_PREM_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_TOT_PREM_FC"] || 0), RED_PREM_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_TOT_PREM_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_TOT_PREM_BC"] || 0), RED_FEE_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_COMP_FEE_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_COMP_FEE_FC"] || 0), RED_FEE_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_COMP_FEE_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_COMP_FEE_BC"] || 0), RED_LOAD_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_LOAD_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_LOAD_FC"] || 0), RED_LOAD_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_LOAD_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_LOAD_BC"] || 0), RED_DISC_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_DISC_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_DISC_FC"] || 0), RED_DISC_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_DISC_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_DISC_BC"] || 0), RED_CRTE_BY: u.getUserCode(), RED_STATUS: "U" }); break; } if (n === (newPolicyLocations.length - 1)) { //we have reached the last risk and there is no match ed["UDW_RISK_ENDSMNT_DTLS"].push({ RED_TRANS_SYS_ID: oldPolicyLocations[o]["GAL_SYS_ID"], RED_POL_SYS_ID: newPolicy["POLH_SYS_ID"], RED_END_NO: newPolicy["POLH_END_NO"], RED_SI_DIFF_FC: parseFloat(oldPolicyLocations[o]["GAL_SI_FC"] || 0), RED_SI_DIFF_BC: parseFloat(oldPolicyLocations[o]["GAL_SI_BC"] || 0), RED_PREM_DIFF_FC: parseFloat(oldPolicyLocations[o]["GAL_TOT_PREM_FC"] || 0), RED_PREM_DIFF_BC: parseFloat(oldPolicyLocations[o]["GAL_TOT_PREM_BC"] || 0), RED_FEE_DIFF_FC: parseFloat(oldPolicyLocations[o]["GAL_COMP_FEE_FC"] || 0), RED_FEE_DIFF_BC: parseFloat(oldPolicyLocations[o]["GAL_COMP_FEE_BC"] || 0), RED_LOAD_DIFF_FC: parseFloat(oldPolicyLocations[o]["GAL_LOAD_FC"] || 0), RED_LOAD_DIFF_BC: parseFloat(oldPolicyLocations[o]["GAL_LOAD_BC"] || 0), RED_DISC_DIFF_FC: parseFloat(oldPolicyLocations[o]["GAL_DISC_FC"] || 0), RED_DISC_DIFF_BC: parseFloat(oldPolicyLocations[o]["GAL_DISC_BC"] || 0), RED_CRTE_BY: u.getUserCode(), RED_STATUS: "U" }); } } } } else { for (n; n < newPolicyLocations.length; n++) { for (o; o < oldPolicyLocations.length; o++) { if (newPolicyLocations[n]["GAL_SYS_ID"] == oldPolicyLocations[o]["GAL_SYS_ID"]) { ed["UDW_RISK_ENDSMNT_DTLS"].push({ RED_TRANS_SYS_ID: newPolicyLocations[n]["GAL_SYS_ID"], RED_POL_SYS_ID: newPolicy["POLH_SYS_ID"], RED_END_NO: newPolicy["POLH_END_NO"], RED_SI_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_SI_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_SI_FC"] || 0), RED_SI_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_SI_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_SI_BC"] || 0), RED_PREM_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_TOT_PREM_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_TOT_PREM_FC"] || 0), RED_PREM_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_TOT_PREM_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_TOT_PREM_BC"] || 0), RED_FEE_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_COMP_FEE_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_COMP_FEE_FC"] || 0), RED_FEE_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_COMP_FEE_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_COMP_FEE_BC"] || 0), RED_LOAD_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_LOAD_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_LOAD_FC"] || 0), RED_LOAD_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_LOAD_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_LOAD_BC"] || 0), RED_DISC_DIFF_FC: parseFloat(newPolicyLocations[n]["GAL_DISC_FC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_DISC_FC"] || 0), RED_DISC_DIFF_BC: parseFloat(newPolicyLocations[n]["GAL_DISC_BC"] || 0) - parseFloat(oldPolicyLocations[o]["GAL_DISC_BC"] || 0), RED_CRTE_BY: u.getUserCode(), RED_STATUS: "U" }); break; } } } } /* * CO-INSURANCE STUFF */ u.getGlobal("facInEndorsementUpdate")(); u.setGlobal("policyChanges", true); return ed; }; $scope.getPolicyFormData = function() { var polhData = u.parse_form("#polheaderForm"); polhData.INS_UDW_GA_TRANSIT = u.get_grid_data($scope.genaccident_grid); polhData.INS_UDW_POLICY_DISCLOAD = u.get_grid_data($scope.polhdiscloading_grid); polhData.INS_COINS_LEADER = u.get_grid_data(u.getGlobal("udwCoInsLdrGrid")); var insUwdRiskCovers = u.get_grid_data($scope.cover_grid); var insUwdRiskFees = u.get_grid_data($scope.riskFees_grid); var insUwdRiskDiscountLoading = u.get_grid_data($scope.riskdiscloading_grid); //retrieve treaty information var treaties = u.get_grid_data($scope.reinsurance_grid); treaties = u.forEach(treaties, function(treaty) { treaty["INS_RI_TTY_ALLOCATION"] = u.parseJson(treaty["INS_RI_TTY_ALLOCATION"]); u.forEach(treaty["INS_RI_TTY_ALLOCATION"], function(allocation) { allocation["INS_RI_TTY_SHARE"] = allocation["INS_RI_TTY_SHARE"] || "[]"; return allocation; }); return treaty; }, this); polhData["INS_RI_TTY_HEAD"] = treaties; for (var i in polhData.INS_UDW_GA_TRANSIT) { //loop through every risk and obtain the sys_id of the risk var id = polhData.INS_UDW_GA_TRANSIT[i]["TRANS_SYS_ID"]; polhData.INS_UDW_GA_TRANSIT[i]["INS_UWD_RISK_COVERS"] = []; polhData.INS_UDW_GA_TRANSIT[i]["INS_UDW_GA_RISK_FEES"] = []; polhData.INS_UDW_GA_TRANSIT[i]["INS_UDW_RISK_DISCLOAD"] = []; for (var c in insUwdRiskCovers) { //find covers which have the same the same risk sys_id if (insUwdRiskCovers[c]["RCOV_RISK_SYS_ID"] === id) { polhData.INS_UDW_GA_TRANSIT[i]["INS_UWD_RISK_COVERS"].push(insUwdRiskCovers[c]); } } for (var f in insUwdRiskFees) { //find risk fees which have the same the same risk sys_id if (insUwdRiskFees[f]["GA_FEE_RK_SYS_ID"] === id) { polhData.INS_UDW_GA_TRANSIT[i]["INS_UDW_GA_RISK_FEES"].push(insUwdRiskFees[f]); } } for (var d in insUwdRiskDiscountLoading) { //find risk fees which have the same the same risk sys_id if (insUwdRiskDiscountLoading[d]["DL_RISK_SYS_ID"] === id) { polhData.INS_UDW_GA_TRANSIT[i]["INS_UDW_RISK_DISCLOAD"].push(insUwdRiskDiscountLoading[d]); } } } polhData.INS_RI_FAC_INWARD = u.get_grid_data($scope.grdfacInward_grid); for (var i in polhData.INS_RI_FAC_INWARD) { polhData.INS_RI_FAC_INWARD[i]["INS_RI_FAC_INW_COMPANY"] = u.parseJson(polhData.INS_RI_FAC_INWARD[i]["INS_RI_FAC_INW_COMPANY"]); } polhData.INS_UDW_GA_RISK_FEES = u.get_grid_data($scope.riskFees_grid); polhData.INS_UWD_INTERMEDIARY_COMM = u.get_grid_data($scope.intermCom_grid); polhData.INS_UDW_POL_FEES = u.get_grid_data($scope.polfees_grid); polhData.INS_RI_FAC_OUTWARD = u.get_grid_data($scope.grdCoinsLeader_grid); return polhData; }; /*----------------------------- * Save/Update Data *---------------------------*/ // $("#btn_Save").on("click", async function() { if (u.grid_empty(u.getGlobal("udwGenAccLocGrid"))) { return u.growl_warning("Please add General Accident Location and Risk Details"); } //$scope.PolicyCalculations(); u.getGlobal("PolicyCalculations")(true); // var polhData = $scope.getPolicyFormData(); var polhData = u.getGlobal("GaGetPolicyData")(); if (!polhData.INS_UDW_GENERAL_ACCIDENT_LOC.Any(x => x.INS_UDW_GA_TRANSIT.Any())) return u.modalInfo("No risk details have been added to the locations. Add at least one risk and update its covers as well before saving"); //obtain policy endorsement grid data polhData["MS_UDW_ENDORSEMENTS"] = u.get_grid_data($scope.endorsementGrid, true); //let endData; //if (polhData["POLH_TXN_STATE"] === "E") { // const oldPolicy = await s.getPolicyHistoryAsync(polhData["POLH_SYS_ID"], (parseFloat(polhData["POLH_END_NO"]) - 1), (polhData["POLH_RENEW_SER_NO"])); // //if policy is in the endorsement stage find differences in the financials of policy // if (polhData["POLH_TXN_STATE"] === "E") { // endData = $scope.financialDiff(polhData, oldPolicy); // for (var d in polhData["MS_UDW_ENDORSEMENTS"]) { // if (polhData["MS_UDW_ENDORSEMENTS"][d]["END_TXN_STATE"] === "O") { // polhData["MS_UDW_ENDORSEMENTS"][d] = endData; // } // } // } //} u.getGlobal("savePolicy")(polhData, function (result) { //callback //u.update_grid_status($scope.genaccident_grid, "TRANS_STATUS"); //u.update_grid_status($scope.riskFees_grid, "TRANS_FEE_STATUS"); u.getGlobal("GaPolicyFill")(result); }); }); /*---------------------------- * Policy Endorsement process *----------------------------*/ // $scope.endorsementGrid = u.getGlobal("udwEndsmntGrid"); /*--------------------------------------- * ADD ENDORSEMENT TO ENDORSEMENT GRID *------------------------------------*/ $("#btn_add_end").click(function() { if (u.form_validation("#endorsementForm")) { u.modal_confirmation("Are you sure you want to endorse this policy?", function() { var rowIds = $scope.endorsementGrid.jqGrid("getDataIDs"); /*---------------------------------------------- * declare array to contain the codes to verify *--------------------------------------------*/ // var code = []; /*------------------------------------------------------------ * iterate through the rows and check duplicate each of them *----------------------------------------------------------*/ // for (var i = 0, len = rowIds.length; i < len; i++) { var currRow = rowIds[i]; /*------------------------------------------------ * get value of the cell or column in an array *----------------------------------------------*/ //DL_CODE var cellValue = $scope.endorsementGrid.jqGrid("getCell", currRow, "END_TXN_STATE"); code.push(cellValue); } //before we add an endorsement to the grid we will need to check if there is an endorsement in the grid that is an open state /*------------------------------------------------------ * add if there is no other that is in the opened state *-----------------------------------------------------*/ // if ($.inArray("O", code) < 0) { var formData = u.parse_form("#endorsementForm"); formData.END_STATUS = "U"; formData.END_CRTE_BY = u.getUserCode(); formData.END_CRTE_DATE = u.get_date(); formData.END_TXN_STATE = "O"; formData.END_NO = parseInt($("#POLH_END_NO").val()) + 1; formData.END_POL_SYS_ID = $("#POLH_SYS_ID").val(); //ADD TO GRID $scope.endorsementGrid.addRowData(formData.ID, formData); u.hide_confirm(); u.growl_success( "Policy successfully added, you will not be able to add another endorsement until the current " + "open endorsement is closed. Please save your changes and approve the policy endorsement to close the endorsement"); u.form_reset("#endorsementForm"); } else { u.hide_confirm(); u.modalInfo( "The current Policy in an open endorsement state. You cannot add another endorsement until the current endorsement state is closed." + " To close the current endorsement, please save your endorsement changes and approve the policy."); } }); } else { u.growl_error("Please fill out the fields that are marked red"); } }); $("#btnEndorse").on("click", function () { //check if the policy has pending fac excess if (u.getGlobal("endPendingRiCheck")()) { return u.growl_warning("Cannot endorse policy, Reinsurance is pending."); } if (!u.form_validation("#endorsementForm")) return u.growl_info("Fields marked red are required"); if (!("PD").includes(u.fieldVal("#POLH_TXN_STATE"))) return u.growl_warning("Proposal is not approved, endorsements can only passed on approved policies!"); if (u.fieldVal("#POLH_TXN_STATE") === "E") return u.growl_warning( "The policy is already in the endorsed state, you cannot pass another endorsement on it!"); if (u.fieldVal("#POLH_SUSPND_YN") === "Y") return u.growl_warning("The policy is suspended, you cannot pass an endorsement on it!"); u.modalConfirmationAsync("Are you sure you want to pass endorsement on the policy?", async function() { // Disable currency $("#currBtn").attr("disabled", "disabled"); /*--------------------------------------------------------------- * iterate through the rows and obtain all end transaction states *--------------------------------------------------------------*/ // $scope.isOpen = false; u.setGridColumn($scope.endorsementGrid, { "END_TXN_STATE": function (state) { if (state === "O") { $scope.isOpen = true; } } }); //before we add an endorsement to the grid we will need to check if there is an endorsement in the grid that is an open state /*------------------------------------------------------ * add if there is no other that is in the opened state *-----------------------------------------------------*/ // var formData = u.parse_form("#endorsementForm"); formData.END_NO = u.fieldVal("#POLH_END_NO") + 1; //if ($.inArray("O", code) < 0) { // formData.END_STATUS = "U"; // formData.END_CRTE_BY = u.getUserCode(); // formData.END_CRTE_DATE = u.get_date(); // formData.END_TXN_STATE = "O"; // formData.END_NO = u.fieldVal("#POLH_END_NO") + 1; // formData.END_POL_SYS_ID = u.fieldVal("#POLH_SYS_ID"); // //ADD TO GRID // $scope.endorsementGrid.addRowData(formData.ID, formData); // u.hide_confirm(); // u.modalInfo( // "You have successfully passed your endorsement on this Policy. You will not be able to pass another endorsement until the current " + // "endorsement is closed. Please save your changes, confirm and approve the endorsed policy to close the endorsement."); // u.form_reset("#endorsementForm"); //} else { // u.hide_confirm(); // return u.modalInfo( // "The current Policy in an open endorsement state. You cannot add another endorsement until the current endorsement state is closed." + // " To close the current endorsement, please save your endorsement changes and approve the policy."); //} $scope.endorsementData = formData; u.setGlobal("endorsementData", $scope.endorsementData); var endNo = $scope.endorsementData["END_NO"]; //diasable key policy action buttons $("#btn_add_garisk").attr("disabled", "disabled"); $("#btn_remove_garisk").attr("disabled", "disabled"); $("#btn_update_cover").attr("disabled", "disabled"); $("#btn_add_cover").attr("disabled", "disabled"); $("#btn_remove_cover").attr("disabled", "disabled"); $("#btn_reset_cover").attr("disabled", "disabled"); //$("#TRANS_START_DATE").attr("disabled", "disabled"); //$("#TRANS_END_DATE").attr("disabled", "disabled"); $("#POLH_POL_START_DATE").attr("disabled", "disabled"); $("#POLH_POL_END_DATE").attr("disabled", "disabled"); $("#btn_add_loc").attr("disabled", "disabled"); $("#btn_edit_loc").attr("disabled", "disabled"); $("#btn_remove_location_details").attr("disabled", "disabled"); $("#btn_open_ga_risk").attr("disabled", "disabled"); //obtain the pro rated premium and use for adjustment //alert(u.totalDays($scope.endorsementData["END_TERM_DATE"], $scope.endorsementData["END_EFCTV_DATE"])) var newNumberOfDays = u.totalDbDateDays($scope.endorsementData["END_TERM_DATE"], $scope.endorsementData["END_EFCTV_DATE"]) + 1; //perform policy financials difference calculations var policy = u.getGlobal("GaGetPolicyData")(); var oldPolicy = $scope.oldPolicy = await u.getGlobal("fetchPolicyHistory")(policy["POLH_SYS_ID"], parseFloat(policy["POLH_END_NO"]), (parseFloat(policy["POLH_RENEW_SER_NO"]))); if (oldPolicy) { u.setGlobal("oldPolicy", oldPolicy); /*--------------------------------- * check endorsement propoerties *------------------------------*/ if (u.getGlobal("selectedEndorsement")["END_INCRS_SUM_INSRD_YN"] === "Y" ) { //endorsement allows the user to increase the sum insured of the policy $("#btn_update_cover").removeAttr("disabled"); $("#btn_add_cover").removeAttr("disabled"); $("#btn_remove_cover").removeAttr("disabled"); $("#btn_reset_cover").removeAttr("disabled"); } else if (u.getGlobal("selectedEndorsement")["END_DCRS_SUN_INSRD_YN"] === "Y" ) { //endorsement allows the user to decrease the sum insured of the policy $("#btn_update_cover").removeAttr("disabled"); $("#btn_add_cover").removeAttr("disabled"); $("#btn_remove_cover").removeAttr("disabled"); $("#btn_reset_cover").removeAttr("disabled"); } else if (u.getGlobal("selectedEndorsement")["END_ADD_RSK_YN"] === "Y" ) { //endorsement allows the user to add a new risk to the policy $("#btn_add_garisk").removeAttr("disabled"); } else if (u.getGlobal("selectedEndorsement")["END_RMV_RSK_YN"] === "Y" ) { //endorsement allows the user to remove a risk from the policy $("#btn_remove_garisk").removeAttr("disabled"); } else if (u.getGlobal("selectedEndorsement")["END_FULL_CANC_YN"] === "Y" ) { //endorsement allows the user to perform a full cancellation of the policy } else if (u.getGlobal("selectedEndorsement")["END_PRO_RTD_CANC_YN"] === "Y" ) { //endorsement allows the user to cancel the policy for a preiod $("#TRANS_START_DATE").removeAttr("disabled"); $("#TRANS_END_DATE").removeAttr("disabled"); } else if (u.getGlobal("selectedEndorsement")["END_CHNG_PERIOD_YN"] === "Y" ) { //endorsement allows the user to edit the start and end dates of the policy risks $("#TRANS_START_DATE").removeAttr("disabled"); $("#TRANS_END_DATE").removeAttr("disabled"); } switch ($scope.endorsementData["END_FLAG"]) { case "FC": //FULL CANCELLATION $("#btn_update_cover").prop("disabled", false); $("#btn_add_cover").prop("disabled", false); $("#btn_risk_cover").prop("disabled", false); $("#btn_open_ga_risk").prop("disabled", false); u.getGlobal("DisableFields")(false); $scope.fullCancellationSetup(); break; case "IC": //INTERNAL CANCELLATION $scope.internalCancellationSetup(); //$scope.SumCoverRiskValues(); //$scope.premiumSummarizer(); //$scope.policyCommissionSummarizer(); break; case "CC": //CUSTOMER CANCELLATION $scope.customerCancellationSetup(); //$scope.SumCoverRiskValues(); //$scope.premiumSummarizer(); //$scope.policyCommissionSummarizer(); break; case "R": //RENEWAL endNo = 0; //$scope.SumCoverRiskValues(); //$scope.premiumSummarizer(); //$scope.policyCommissionSummarizer(); $scope.renewal(); break; //case "F": case "PC": //PRO RATED renewal $scope.internalProRatedCancellationSetup(newNumberOfDays); u.formReadWrite(); //$scope.SumCoverRiskValues(); //$scope.premiumSummarizer(); //$scope.policyCommissionSummarizer(); break; //case "GE": // break; case "EP": $scope.generalEndorsementSetup(newNumberOfDays); u.formReadWrite(); $("#POLH_POL_END_DATE").prop("disabled", false); break; case "PP": $scope.generalEndorsementSetup(newNumberOfDays); u.formReadWrite(); $("#POLH_POL_START_DATE").prop("disabled", false); $("#POLH_POL_END_DATE").prop("disabled", false); break; default: $scope.generalEndorsementSetup(newNumberOfDays); u.formReadWrite(); $("#btn_add_garisk").prop("disabled", false); $("#btn_remove_garisk").prop("disabled", false); $("#btn_update_cover").prop("disabled", false); $("#btn_add_cover").prop("disabled", false); $("#btn_reset_cover").prop("disabled", false); $("#TRANS_START_DATE").prop("disabled", false); $("#TRANS_END_DATE").prop("disabled", false); $("#POLH_POL_START_DATE").prop("disabled", false); $("#POLH_POL_END_DATE").prop("disabled", false); $("#btn_add_loc").prop("disabled", false); $("#btn_edit_loc").prop("disabled", false); $("#btn_remove_location_details").prop("disabled", false); $("#btn_open_ga_risk").prop("disabled", false); break; } //$scope.feeCancelationCheck(); $("#POLH_END_NO").val(endNo); u.getGlobal("PolicyCalculations")(false); //before we add an endorsement to the grid we will need to check if there is an endorsement in the grid that is an open state /*------------------------------------------------------ * add if there is no other that is in the opened state *-----------------------------------------------------*/ // var newPolicy = u.getGlobal("GaGetPolicyData")(); if (!$scope.isOpen) { formData = $scope.financialDiff(newPolicy, oldPolicy); formData.END_STATUS = "U"; formData.END_CRTE_BY = u.getUserCode(); formData.END_CRTE_DATE = u.get_date(); formData.END_TXN_STATE = "O"; formData.END_POL_SYS_ID = u.fieldVal("#POLH_SYS_ID"); //Add to grid $scope.endorsementGrid.addRowData(undefined, formData); } else { u.hide_confirm(); return u.modalInfo( "The current policy in an open endorsement state. You cannot add another endorsement until the current endorsement is closed. " + "To close the current endorsement, please save your endorsement changes and approve the policy."); } //save policy $scope.loader(async function () { //var polhData = u.getGlobal("GaGetPolicyData")(); var polhData = newPolicy; //Obtain policy endorsement grid data polhData["MS_UDW_ENDORSEMENTS"] = u.get_grid_data($scope.endorsementGrid, true); $("#POLH_TXN_STATE").val("E"); polhData.POLH_TXN_STATE = "E"; u.getGlobal("savePolicy")(polhData, async function () { u.form_text_Gold_color(); const data = {}; //move policy to the endorsed state data.userCode = u.getUserCode(); data.processId = $("#POLH_UID").val(); data.command = $("#SelPolicyProcess").val(); const formData = u.parse_form("#endorsementForm"); data.userId = u.getUserId(); data.comment = $scope.endorsementData.END_REASON; //Todo: clarification needed data.flag = WorkflowConstants.Underwriting; data.startDate = formData.startDate; data.endDate = formData.dueDate; data.isSystem = true; data.identityId = u.getUserId(); data.notify = $("#emailYn").is(":checked"); u.form_text_Gold_color(); u.form_reset("#endorsementForm"); $("#PolicyEndorsementModal").modal("hide"); //const response = await u.executeCommand(data); //if (response.state) { // //u.modalSuccess(response.message); // u.form_text_Gold_color(); // u.form_reset("#endorsementForm"); // $("#PolicyEndorsementModal").modal("hide"); // u.setGridColumn($scope.endorsementGrid, {"END_STATUS": "A"}); //} else { // u.growl_error(response.message); //} polhData = {}; u.growl_success("Policy successfully endorsed."); }); }); } else { return u.growl_info("Unable to endorse policy, policy history records could not be fetched."); } }); }); $scope.loader = function (func) { $("#policyCalculationsModal").modal(); setTimeout(async function () { func(); $("#policyCalculationsModal").modal("hide"); }, 500); }; /*------------------------- * Edorsement functions *-----------------------*/ $scope.internalCancellationSetup = function() { var endNo = $scope.endorsementData["END_NO"]; $("#POLH_NET_PREM_BC").val(0); $("#POLH_NET_PREM_FC").val(0); $("#POLH_NET_SI_BC").val(0); $("#POLH_NET_SI_FC").val(0); $("#POLH_POL_DISC_BC").val(0); $("#POLH_POL_DISC_FC").val(0); //$("#POLH_POL_PREM_BC").val(u.fieldVal("#POLH_NET_PREM_BC") - proRatdPolPremBc); $("#POLH_POL_PREM_BC").val(0); //$("#POLH_POL_PREM_FC").val(u.fieldVal("#POLH_NET_PREM_FC") - proRatdPolPremFc); $("#POLH_POL_PREM_FC").val(0); //$("#POLH_TXN_STATE").val("X"); /*------------------------------------- * update Endorsement No in the Grids *----------------------------------*/ // Risks u.setGridColumn(u.getGlobal("udwGenAccLocGrid"), { "GAL_POLH_END_NO": endNo, "GAL_TOT_PREM_BC": 0, "GAL_TOT_PREM_FC": 0, "GAL_RISK_PREM_FC": 0, "GAL_RISK_PREM_BC": 0, "INS_UDW_GA_TRANSIT": (val) => { var risks = typeof val === "string" ? u.parseJson(val || "[]") : val || []; risks.ForEach(risk => { risk.TRANS_TOT_PREM_BC = 0; risk.TRANS_TOT_PREM_FC = 0; risk.TRANS_RISK_PREM_FC = 0; risk.TRANS_RISK_PREM_BC = 0; risk.TRANS_POLH_END_NO = endNo; risk.INS_UWD_RISK_COVERS = typeof risk.INS_UWD_RISK_COVERS === "string" ? u.parseJson(risk.INS_UWD_RISK_COVERS || "[]") : risk.INS_UWD_RISK_COVERS || []; risk.INS_UWD_RISK_COVERS.ForEach(c => { c.RPCOV_END_NO = endNo; c.RCOV_GROSS_PREM_FC = 0; c.RCOV_GROSS_PREM_BC = 0; c.RCOV_LOAD_FC = 0; c.RCOV_LOAD_BC = 0; c.RCOV_NET_PREM_FC = 0; c.RCOV_NET_PREM_BC = 0; c.RCOV_ANNL_PREM_BC = 0; c.RCOV_ANNL_PREM_BC = 0; }); risk.INS_UWD_RISK_COVERS = JSON.stringify(risk.INS_UWD_RISK_COVERS); risk.INS_UDW_GA_RISK_FEES = typeof (risk.INS_UDW_GA_RISK_FEES) === "string" ? u.parseJson(risk.INS_UDW_GA_RISK_FEES || "[]") : risk.INS_UDW_GA_RISK_FEES || []; risk.INS_UDW_GA_RISK_FEES.ForEach(c => { c.GAR_FEE_END_NO = endNo; }); risk.INS_UDW_GA_RISK_FEES = JSON.stringify(risk.INS_UDW_GA_RISK_FEES); }); return JSON.stringify(risks); } }); //Commissions u.setGridColumn($scope.intermCom_grid, { "CMM_END_NO": endNo, "CMM_COM_AMT_FC": 0, "CMM_COM_AMT_BC": 0 }); //Prem Register u.setGridColumn($scope.premiumreg_grid, { "PR_END_NO": endNo }); //Risk Fees u.setGridColumn($scope.riskFees_grid, { "TRANS_FEE_END_NO": endNo, "TRANS_FEE_FC_AMOUNT": 0, "TRANS_FEE_BC_AMOUNT": 0 }); //Pol fees summary u.setGridColumn($scope.polfees_grid, { "POL_FEE_END_NO": endNo, "POL_FEE_FC_AMOUNT": 0, "POL_FEE_BC_AMOUNT": 0 }); }; $scope.fullCancellationSetup = function () { const endorsement = $scope.endorsementData || u.get_grid_data(u.getGlobal("udwEndsmntGrid")).First(e => e.END_TXN_STATE == "O"); var endNo = parseInt($scope.endorsementData["END_NO"]); //$("#POLH_NET_PREM_BC").val(u.fieldVal("#POLH_NET_PREM_BC") - proRatdNetPremBc); $("#POLH_NET_PREM_BC").val(0); //$("#POLH_NET_PREM_FC").val(u.fieldVal("#POLH_NET_PREM_FC") - proRatdNetPremFc); $("#POLH_NET_PREM_FC").val(0); //$("#POLH_NET_SI_BC").val(0); //$("#POLH_NET_SI_FC").val(0); //$("#POLH_NET_SI_BC").val(-(parseFloat($("#POLH_NET_SI_BC").val() || 0))); //$("#POLH_NET_SI_FC").val(-(parseFloat($("#POLH_NET_SI_FC").val() || 0))); $("#POLH_POL_DISC_BC").val(0); $("#POLH_POL_DISC_FC").val(0); $("#POLH_POL_LOAD_BC").val(0); $("#POLH_POL_LOAD_FC").val(0); $("#POLH_POL_PREM_BC").val(0); $("#POLH_POL_PREM_FC").val(0); $("#POLH_POL_COMM_BC").val(0); $("#POLH_POL_COMM_FC").val(0); $("#POLH_COINS_PREM_BC").val(0); $("#POLH_COINS_PREM_FC").val(0); $("#POLH_COINS_COM_BC").val(0); $("#POLH_COINS_COM_FC").val(0); //$("#POLH_TXN_STATE").val("X"); /*------------------------------------- * update Endorsement No in the Grids *----------------------------------*/ //Home Locations and Risks u.setGridColumn(u.getGlobal("udwGenAccLocGrid"), { "GAL_POLH_END_NO": endNo, "GAL_TOT_PREM_BC": 0, "GAL_TOT_PREM_FC": 0, "GAL_RI_PREM_FC": 0, "GAL_RI_PREM_BC": 0, "GAL_RISK_PREM_BC": 0, "GAL_RISK_PREM_FC": 0, "INS_UDW_GA_TRANSIT": function (val) { var risks = typeof (val) === "string" ? u.parseJson(val || "[]") : val || []; risks.ForEach(risk => { risk.TRANS_POLH_END_NO = endNo; risk.TRANS_RI_PREM_FC = 0; risk.TRANS_RI_PREM_BC = 0; risk.TRANS_TOT_PREM_FC = 0; risk.TRANS_TOT_PREM_BC = 0; risk.TRANS_RISK_PREM_BC = 0; risk.TRANS_RISK_PREM_FC = 0; risk.INS_UWD_RISK_COVERS = u.parseJson(risk.INS_UWD_RISK_COVERS); risk.INS_UWD_RISK_COVERS.ForEach(c => { c.RPCOV_END_NO = endNo; c.RCOV_NET_PREM_FC = 0; c.RCOV_NET_PREM_BC = 0; c.RCOV_GROSS_PREM_BC = 0; c.RCOV_GROSS_PREM_FC = 0; c.RCOV_DISC_BC = 0; c.RCOV_DISC_FC = 0; c.RCOV_LOAD_FC = 0; c.RCOV_LOAD_BC = 0; c.RCOV_ANNL_PREM_FC = 0; c.RCOV_ANNL_PREM_BC = 0; }); //risk.INS_UWD_RISK_COVERS = JSON.stringify(risk.INS_UWD_RISK_COVERS); risk.INS_UDW_GA_RISK_FEES = u.parseJson(risk.INS_UDW_GA_RISK_FEES); risk.INS_UDW_GA_RISK_FEES.ForEach(f => { f.GAR_FEE_BC_AMOUNT = endorsement.END_POL_FEE_CANC_YN === "Y" ? 0 : f.GAR_FEE_BC_AMOUNT; f.GAR_FEE_FC_AMOUNT = endorsement.END_POL_FEE_CANC_YN === "Y" ? 0 : f.GAR_FEE_FC_AMOUNT; f.GAR_FEE_END_NO = endNo; }); risk.INS_UDW_GA_RISK_FEES = JSON.stringify(risk.INS_UDW_GA_RISK_FEES); }); return JSON.stringify(risks); } }); //RI summary u.setGridColumn($scope.reinsurance_grid, { //"VEH_POLH_END_NO": endNo, "TTH_TOTAL_PREM_BC": 0, "TTH_TOTAL_PREM_FC": 0, "INS_RI_TTY_ALLOCATION": function (val) { const allocations = u.parseJson(val || "[]"); allocations.ForEach(a => { a.TTA_TTY_PREM_BC = 0; a.TTA_TTY_PREM_FC = 0; a.TTA_TTY_COMM_BC = 0; a.TTA_TTY_COMM_FC = 0; var shares = u.parseJson(a.INS_RI_TTY_SHARE); shares.ForEach(share => { share.TTS_SHARE_PREM_BC = 0; share.TTS_SHARE_PREM_FC = 0; share.TTS_RI_COMM_BC = 0; share.TTS_RI_COMM_FC = 0; share.TTS_TAX_BC = 0; share.TTS_TAX_FC = 0; }); a.INS_RI_TTY_SHARE = shares.ToJson(); }); return allocations.ToJson(); } }); //Commissions u.setGridColumn($scope.intermCom_grid, { "CMM_END_NO": endNo, "CMM_COM_AMT_FC": 0, "CMM_COM_AMT_BC": 0, }); //Prem Register u.setGridColumn($scope.premiumreg_grid, { "PR_END_NO": endNo }); //policy documents u.setGridColumn($scope.polFileGrid, { "PF_PH_END_NO": endNo }); //$scope.feeCancelationCheck(endNo); //Pol fees summary u.setGridColumn($scope.polfees_grid, { "POL_FEE_FEE_END_NO": endNo, "POL_FEE_FC_AMOUNT": function (val) { return endorsement.END_POL_FEE_CANC_YN === "Y" ? 0 : val; }, "POL_FEE_BC_AMOUNT": function (val) { return endorsement.END_POL_FEE_CANC_YN === "Y" ? 0 : val; } }); }; $scope.generalEndorsementSetup = function(numberOfDays) { var endNo = $scope.endorsementData["END_NO"]; const proRate = numberOfDays / 365; const proRatdNetPremFc = u.fieldVal("#POLH_NET_PREM_FC") * proRate; const proRatdNetPremBc = u.fieldVal("#POLH_NET_PREM_BC") * proRate; const proRatdPolPremFc = u.fieldVal("#POLH_POL_PREM_FC") * proRate; const proRatdPolPremBc = u.fieldVal("#POLH_POL_PREM_BC") * proRate; $("#POLH_NET_PREM_BC").val(u.fieldVal("#POLH_NET_PREM_BC") - proRatdNetPremBc); $("#POLH_NET_PREM_FC").val(u.fieldVal("#POLH_NET_PREM_FC") - proRatdNetPremFc); $("#POLH_POL_PREM_BC").val(u.fieldVal("#POLH_NET_PREM_BC") - proRatdPolPremBc); $("#POLH_POL_PREM_FC").val(u.fieldVal("#POLH_NET_PREM_FC") - proRatdPolPremFc); $("#POLH_POL_DISC_BC").val(0); $("#POLH_POL_DISC_FC").val(0); /*------------------------------------- * update Endorsement No in the Grids *----------------------------------*/ u.setGridColumn(u.getGlobal("udwGenAccLocGrid"), { "GAL_POLH_END_NO": endNo, "INS_UDW_GA_TRANSIT": function (val) { var risks = typeof val === "string" ? u.parseJson(val) : val; risks.ForEach(risk => { risk.TRANS_POLH_END_NO = endNo; risk.INS_UWD_RISK_COVERS = typeof (risk.INS_UWD_RISK_COVERS) === "string" ? u.parseJson(risk.INS_UWD_RISK_COVERS || "[]") : risk.INS_UWD_RISK_COVERS || []; risk.INS_UWD_RISK_COVERS.ForEach(c => { c.RPCOV_END_NO = endNo; }); risk.INS_UWD_RISK_COVERS = JSON.stringify(risk.INS_UWD_RISK_COVERS); risk.INS_UDW_GA_RISK_FEES = typeof (risk.INS_UDW_GA_RISK_FEES) === "string" ? u.parseJson(risk.INS_UDW_GA_RISK_FEES || "[]") : risk.INS_UDW_GA_RISK_FEES || []; risk.INS_UDW_GA_RISK_FEES.ForEach(c => { c.GAR_FEE_END_NO = endNo; }); risk.INS_UDW_GA_RISK_FEES = JSON.stringify(risk.INS_UDW_GA_RISK_FEES); }); return JSON.stringify(risks); } }); //Commissions //u.setGridColumn($scope.intermCom_grid, { "CMM_END_NO": endNo, "CMM_COM_AMT_FC": 0, "CMM_COM_AMT_BC": 0 }); u.setGridColumn($scope.intermCom_grid, { "CMM_END_NO": endNo }); //Prem Register u.setGridColumn($scope.premiumreg_grid, { "PR_END_NO": endNo }); //policy documents u.setGridColumn($scope.polFileGrid, { "PF_PH_END_NO": endNo }); //Risk Fees //u.setGridColumn($scope.riskFees_grid, { "TRANS_FEE_END_NO": endNo, "TRANS_FEE_FC_AMOUNT": 0, "TRANS_FEE_BC_AMOUNT": 0 }); u.setGridColumn($scope.riskFees_grid, { "TRANS_FEE_END_NO": endNo }); //Pol fees summary //u.setGridColumn($scope.polfees_grid, { "POL_FEE_END_NO": endNo, "POL_FEE_FC_AMOUNT": 0, "POL_FEE_BC_AMOUNT": 0 }); u.setGridColumn($scope.polfees_grid, { "POL_FEE_FEE_END_NO": endNo }); }; $scope.totalSuspension = function (endNo) { $("#POLH_SUSPND_YN").val("Y"); var suspensionStartDate = $scope.endorsementData.END_EFCTV_DATE; var suspensionEndDate = $scope.endorsementData.END_TERM_DATE; $("#POLH_SUS_FROM_DATE").val(suspensionStartDate); $("#POLH_SUS_TO_DATE").val(suspensionEndDate); var days = u.totalDbDateDays(suspensionEndDate, suspensionStartDate); $("#POLH_SUSPND_PERIOD").val(days); //loop through all risks and update suspension information u.setGridColumn(u.getGlobal("udwGenAccLocGrid"), { "GAL_POLH_END_NO": endNo, "GAL_SUS_TO_DATE": function (val) { return suspensionEndDate; }, "GAL_SUS_FROM_DATE": function (val) { return suspensionStartDate; }, "GAL_SUSPND_YN": function (val) { return "Y"; }, "GAL_SUSPND_PERIOD": function (val) { return days; }, "INS_UDW_GA_TRANSIT": function (val) { var risks = typeof val === "string" ? u.parseJson(val) : val || []; risks.ForEach(risk => { risk.TRANS_POLH_END_NO = endNo; risk.TRANS_SUS_FROM_DATE = suspensionStartDate; risk.TRANS_SUS_TO_DATE = suspensionEndDate; risk.TRANS_SUSPND_PERIOD = days; risk.TRANS_SUSPND_YN = "Y"; risk.INS_UWD_RISK_COVERS = typeof (risk.INS_UWD_RISK_COVERS) === "string" ? u.parseJson(risk.INS_UWD_RISK_COVERS || "[]") : risk.INS_UWD_RISK_COVERS || []; risk.INS_UWD_RISK_COVERS.ForEach(c => { c.RPCOV_END_NO = endNo; }); risk.INS_UWD_RISK_COVERS = JSON.stringify(risk.INS_UWD_RISK_COVERS); risk.INS_UDW_GA_RISK_FEES = typeof (risk.INS_UDW_GA_RISK_FEES) === "string" ? u.parseJson(risk.INS_UDW_GA_RISK_FEES || "[]") : risk.INS_UDW_GA_RISK_FEES || []; risk.INS_UDW_GA_RISK_FEES.ForEach(c => { c.GAR_FEE_END_NO = endNo; }); risk.INS_UDW_GA_RISK_FEES = JSON.stringify(risk.INS_UDW_GA_RISK_FEES); }); return JSON.stringify(risks); } }); }; $scope.partialSuspension = function (endNo) { //loop through all risks and update suspension information u.setGridColumn(u.getGlobal("udwGenAccLocGrid"), { "GAL_POLH_END_NO": endNo, "INS_UDW_GA_TRANSIT": function (val) { const risks = typeof val === "string" ? u.parseJson(val || "[]") : val || []; risks.ForEach(risk => { risk.TRANS_POLH_END_NO = endNo; risk.INS_UWD_RISK_COVERS = typeof (risk.INS_UWD_RISK_COVERS) === "string" ? u.parseJson(risk.INS_UWD_RISK_COVERS || "[]") : risk.INS_UWD_RISK_COVERS || []; risk.INS_UWD_RISK_COVERS.ForEach(c => { c.RPCOV_END_NO = endNo; }); risk.INS_UWD_RISK_COVERS = JSON.stringify(risk.INS_UWD_RISK_COVERS); risk.INS_UDW_GA_RISK_FEES = typeof (risk.INS_UDW_GA_RISK_FEES) === "string" ? u.parseJson(risk.INS_UDW_GA_RISK_FEES || "[]") : risk.INS_UDW_GA_RISK_FEES || []; risk.INS_UDW_GA_RISK_FEES.ForEach(c => { c.GAR_FEE_END_NO = endNo; }); risk.INS_UDW_GA_RISK_FEES = JSON.stringify(risk.INS_UDW_GA_RISK_FEES); }); return JSON.stringify(risks); }, }); }; $scope.internalProRatedCancellationSetup = function (numberOfDays) { var endNo = $scope.endorsementData["END_NO"]; const endorsement = $scope.endorsementData || u.get_grid_data(u.getGlobal("udwEndsmntGrid")).First(e => e.END_TXN_STATE == "O"); //SET THE END DATE AND START OF THE POLICY AND RISK COVERS TO THE SELECTED START DATE AND END DATE FOR THE ENDORSEMENT var endTermDate = $scope.endorsementData["END_TERM_DATE"]; var endEfctvData = $scope.endorsementData["END_EFCTV_DATE"]; //perform prorating of the policy premiums //$("#POLH_TXN_STATE").val("X"); //iterate through all risks and covers and update their start date and end date as well as their pro rating their premiums $scope.invalidEnd = false; /*------------------------------------- * update Endorsement No in the Grids *----------------------------------*/ const premBasis = $("#POLH_PREM_BASIS").val(); u.setGridColumn(u.getGlobal("udwGenAccLocGrid"), { "GAL_POLH_END_NO": () => endNo, "GAL_START_DATE": function (date, row) { //obtain the sys id of the current risk var returnDate = date; // alert(date); // alert(returnDate); if (u.dateBefore(date, $scope.endorsementData["END_EFCTV_DATE"])) { $scope.invalidEnd = true; // u.growl_warning( // "The start date of location cannot can come before the effective date of endorsement"); return date; } if (u.dateAfter(date, $scope.endorsementData["END_TERM_DATE"])) { //returnDate = $scope.endorsementData["END_TERM_DATE"]; // u.growl_warning("The end date of location cannot can come after the end date of endorsement"); $scope.invalidEnd = true; return date; } return returnDate; }, "GAL_END_DATE": function (date, row, id) { //obtain the sys id of the current location var vehId = row["GAL_SYS_ID"]; var returnDate = date; // alert(returnDate); if (u.dateAfter(date, $scope.endorsementData["END_TERM_DATE"])) { //returnDate = $scope.endorsementData["END_TERM_DATE"]; $scope.invalidEnd = true; //u.growl_warning("The end date of vehicle risks cannot can come after the end date of endorsement"); return date; } return returnDate; }, "GAL_TOT_PREM_FC": function (val, row) { var numDays = parseInt(row["GAL_PERIOD_DAYS"]); var newPrem = 0; switch (premBasis) { case "FP": //newPrem = -parseFloat(val);; break; case "SP": var shortPeriod = u.getGlobal("shortPeriods").Where(s => s.days === numDays); var rate = parseFloat(shortPeriod[0].perc) / 100; newPrem = parseFloat(val) - (parseFloat(val) * rate); break; case "PR": var proRata = u.totalDbDateDays($scope.endorsementData["END_TERM_DATE"], $scope.endorsementData["END_EFCTV_DATE"]) + 1; var proRataValue = parseFloat(proRata / numDays); newPrem = parseFloat(val) - (parseFloat(val) * proRataValue); break; } return (newPrem).toFixed(2); }, "GAL_TOT_PREM_BC": function (val, row) { var numDays = parseInt(row["GAL_PERIOD_DAYS"]); var newPrem = 0; switch (premBasis) { case "FP": //newPrem = -parseFloat(val); break; case "SP": var shortPeriod = u.getGlobal("shortPeriods").Where(s => s.days === numDays); var rate = parseFloat(shortPeriod[0].perc) / 100; newPrem = parseFloat(val) - (parseFloat(val) * rate); break; case "PR": var proRata = u.totalDbDateDays($scope.endorsementData["END_TERM_DATE"], $scope.endorsementData["END_EFCTV_DATE"]) + 1; var proRataValue = parseFloat(proRata / numDays); newPrem = parseFloat(val) - (parseFloat(val) * proRataValue); break; } return (newPrem).toFixed(2); }, "GAL_RISK_PREM_FC": function (val, row) { var numDays = parseInt(row["GAL_PERIOD_DAYS"]); var newPrem = 0; switch (premBasis) { case "FP": // newPrem = -parseFloat(val); break; case "SP": var shortPeriod = u.getGlobal("shortPeriods").Where(s => s.days === numDays); var rate = parseFloat(shortPeriod[0].perc) / 100; newPrem = parseFloat(val) - (parseFloat(val) * rate); break; case "PR": var proRata = u.totalDbDateDays($scope.endorsementData["END_TERM_DATE"], $scope.endorsementData["END_EFCTV_DATE"]) + 1; var proRataValue = parseFloat(proRata / numDays); newPrem = parseFloat(val) - (parseFloat(val) * proRataValue); break; } return (newPrem).toFixed(2); }, "GAL_RISK_PREM_BC": function (val, row) { var numDays = parseInt(row["GAL_PERIOD_DAYS"]); var newPrem = 0; switch (premBasis) { case "FP": //newPrem = -parseFloat(val); break; case "SP": var shortPeriod = u.getGlobal("shortPeriods").Where(s => s.days === numDays); var rate = parseFloat(shortPeriod[0].perc) / 100; newPrem = parseFloat(val) - (parseFloat(val) * rate); break; case "PR": var proRata = u.totalDbDateDays($scope.endorsementData["END_TERM_DATE"], $scope.endorsementData["END_EFCTV_DATE"]) + 1; var proRataValue = parseFloat(proRata / numDays); newPrem = parseFloat(val) - (parseFloat(val) * proRataValue); break; } return (newPrem).toFixed(2); }, "GAL_RI_PREM_FC": function (val, row) { var numDays = parseInt(row["GAL_PERIOD_DAYS"]); var newPrem = 0; switch (premBasis) { case "FP": // newPrem = -parseFloat(val); break; case "SP": var shortPeriod = u.getGlobal("shortPeriods").Where(s => s.days === numDays); var rate = parseFloat(shortPeriod[0].perc) / 100; newPrem = parseFloat(val) - (parseFloat(val) * rate); break; case "PR": var proRata = u.totalDbDateDays($scope.endorsementData["END_TERM_DATE"], $scope.endorsementData["END_EFCTV_DATE"]) + 1; var proRataValue = parseFloat(proRata / numDays); newPrem = parseFloat(val) - (parseFloat(val) * proRataValue); break; } return (newPrem).toFixed(2); }, "GAL_RI_PREM_BC": function (val, row) { var numDays = parseInt(row["GAL_PERIOD_DAYS"]); var newPrem = 0; switch (premBasis) { case "FP": //newPrem = -parseFloat(val); break; case "SP": var shortPeriod = u.getGlobal("shortPeriods").Where(s => s.days === numDays); var rate = parseFloat(shortPeriod[0].perc) / 100; newPrem = parseFloat(val) - (parseFloat(val) * rate); break; case "PR": var proRata = u.totalDbDateDays($scope.endorsementData["END_TERM_DATE"], $scope.endorsementData["END_EFCTV_DATE"]) + 1; var proRataValue = parseFloat(proRata / numDays); newPrem = parseFloat(val) - (parseFloat(val) * proRataValue); break; } return (newPrem).toFixed(2); }, "GAL_LOAD_FC": function (val, row) { var numDays = parseInt(row["GAL_PERIOD_DAYS"]); var newPrem = 0; switch (premBasis) { case "FP": //newPrem = -parseFloat(val); break; case "SP": var shortPeriod = u.getGlobal("shortPeriods").Where(s => s.days === numDays); var rate = parseFloat(shortPeriod[0].perc) / 100; newPrem = parseFloat(val) - (parseFloat(val) * rate); break; case "PR": var proRata = u.totalDbDateDays($scope.endorsementData["END_TERM_DATE"], $scope.endorsementData["END_EFCTV_DATE"]) + 1; var proRataValue = parseFloat(proRata / numDays); newPrem = parseFloat(val) - (parseFloat(val) * proRataValue); break; } return (newPrem).toFixed(2); }, "GAL_LOAD_BC": function (val, row) { var numDays = parseInt(row["GAL_PERIOD_DAYS"]); var newPrem = 0; switch (premBasis) { case "FP": // newPrem = -parseFloat(val); break; case "SP": var shortPeriod = u.getGlobal("shortPeriods").Where(s => s.days === numDays); var rate = parseFloat(shortPeriod[0].perc) / 100; newPrem = parseFloat(val) - (parseFloat(val) * rate); break; case "PR": var proRata = u.totalDbDateDays($scope.endorsementData["END_TERM_DATE"], $scope.endorsementData["END_EFCTV_DATE"]) + 1; var proRataValue = parseFloat(proRata / numDays); newPrem = parseFloat(val) - (parseFloat(val) * proRataValue); break; } return (newPrem).toFixed(2); }, //TRANSIT PROCESSING "INS_UDW_GA_TRANSIT": function (val, row) { var numDays = parseInt(row["GAL_PERIOD_DAYS"]); var proRataValue = 0; switch (premBasis) { case "FP": break; case "SP": var shortPeriod = u.getGlobal("shortPeriods").Where(s => s.days === numDays); proRataValue = parseFloat(shortPeriod[0].perc) / 100; break; case "PR": var proRata = u.totalDbDateDays($scope.endorsementData["END_TERM_DATE"], $scope.endorsementData["END_EFCTV_DATE"]) + 1; proRataValue = parseFloat(proRata / numDays); break; } var risks = u.parseJson(val || "[]"); risks.ForEach(r => { r.TRANS_POLH_END_NO = endNo; r.TRANS_TOT_PREM_FC = premBasis === "FP" ? 0 //? -parseFloat(r.TRANS_TOT_PREM_FC || 0) : parseFloat(r.TRANS_TOT_PREM_FC || 0) - (parseFloat(r.TRANS_TOT_PREM_FC || 0) * proRataValue); r.TRANS_TOT_PREM_BC = premBasis === "FP" //? -parseFloat(r.TRANS_TOT_PREM_BC || 0) ? 0 : parseFloat(r.TRANS_TOT_PREM_BC || 0) - (parseFloat(r.TRANS_TOT_PREM_BC || 0) * proRataValue); r.TRANS_RISK_PREM_FC = premBasis === "FP" //? -parseFloat(r.TRANS_RISK_PREM_FC || 0) ? 0 : parseFloat(r.TRANS_RISK_PREM_FC || 0) - (parseFloat(r.TRANS_RISK_PREM_FC || 0) * proRataValue); r.TRANS_RISK_PREM_BC = premBasis === "FP" //? -parseFloat(r.TRANS_RISK_PREM_BC || 0) ? 0 : parseFloat(r.TRANS_RISK_PREM_BC || 0) - (parseFloat(r.TRANS_RISK_PREM_BC || 0) * proRataValue); r.TRANS_DISC_FC = premBasis === "FP" //? -parseFloat(r.TRANS_DISC_FC || 0) ? 0 : parseFloat(r.TRANS_DISC_FC || 0) - (parseFloat(r.TRANS_DISC_FC || 0) * proRataValue); r.TRANS_DISC_BC = premBasis === "FP" //? -parseFloat(r.TRANS_DISC_BC || 0) ? 0 : parseFloat(r.TRANS_DISC_BC || 0) - (parseFloat(r.TRANS_DISC_BC || 0) * proRataValue); r.TRANS_LOAD_FC = premBasis === "FP" // ? -parseFloat(r.TRANS_LOAD_FC || 0) ? 0 : parseFloat(r.TRANS_LOAD_FC || 0) - (parseFloat(r.TRANS_LOAD_FC || 0) * proRataValue); r.TRANS_LOAD_BC = premBasis === "FP" //? -parseFloat(r.TRANS_LOAD_BC || 0) ? 0 : parseFloat(r.TRANS_LOAD_BC || 0) - (parseFloat(r.TRANS_LOAD_BC || 0) * proRataValue); r.TRANS_RI_PREM_FC = premBasis === "FP" //? -parseFloat(r.TRANS_RI_PREM_FC || 0) ? 0 : parseFloat(r.TRANS_RI_PREM_FC || 0) - (parseFloat(r.TRANS_RI_PREM_FC || 0) * proRataValue); r.TRANS_RI_PREM_BC = premBasis === "FP" //? -parseFloat(r.TRANS_RI_PREM_BC || 0) ? 0 : parseFloat(r.TRANS_RI_PREM_BC || 0) - (parseFloat(r.TRANS_RI_PREM_BC || 0) * proRataValue); r.INS_UWD_RISK_COVERS = u.parseJson(r.INS_UWD_RISK_COVERS); r.INS_UWD_RISK_COVERS.ForEach(c => { c.RPCOV_END_NO = endNo; c.RCOV_GROSS_PREM_FC = premBasis === "FP" //? -parseFloat(c.RCOV_GROSS_PREM_FC || 0) ? 0 : parseFloat(c.RCOV_GROSS_PREM_FC || 0) - (parseFloat(c.RCOV_GROSS_PREM_FC || 0) * proRataValue); c.RCOV_GROSS_PREM_BC = premBasis === "FP" //? -parseFloat(c.RCOV_GROSS_PREM_BC || 0) ? 0 : parseFloat(c.RCOV_GROSS_PREM_BC || 0) - (parseFloat(c.RCOV_GROSS_PREM_BC || 0) * proRataValue); c.RCOV_ANNL_PREM_FC = premBasis === "FP" //? -parseFloat(c.RCOV_ANNL_PREM_FC || 0) ? 0 : parseFloat(c.RCOV_ANNL_PREM_FC || 0) - (parseFloat(c.RCOV_ANNL_PREM_FC || 0) * proRataValue); c.RCOV_ANNL_PREM_BC = premBasis === "FP" //? -parseFloat(c.RCOV_ANNL_PREM_BC || 0) ? 0 : parseFloat(c.RCOV_ANNL_PREM_BC || 0) - (parseFloat(c.RCOV_ANNL_PREM_BC || 0) * proRataValue); c.RCOV_NET_PREM_FC = premBasis === "FP" //? -parseFloat(c.RCOV_NET_PREM_FC || 0) ? 0 : parseFloat(c.RCOV_NET_PREM_FC || 0) - (parseFloat(c.RCOV_NET_PREM_FC || 0) * proRataValue); c.RCOV_NET_PREM_BC = premBasis === "FP" //? -parseFloat(c.RCOV_NET_PREM_BC || 0) ? 0 : parseFloat(c.RCOV_NET_PREM_BC || 0) - (parseFloat(c.RCOV_NET_PREM_BC || 0) * proRataValue); c.RCOV_LOAD_FC = premBasis === "FP" //? -parseFloat(c.RCOV_LOAD_FC || 0) ? 0 : parseFloat(c.RCOV_LOAD_FC || 0) - (parseFloat(c.RCOV_LOAD_FC || 0) * proRataValue); c.RCOV_LOAD_BC = premBasis === "FP" //? -parseFloat(c.RCOV_LOAD_BC || 0) ? 0 : parseFloat(c.RCOV_LOAD_BC || 0) - (parseFloat(c.RCOV_LOAD_BC || 0) * proRataValue); }); r.INS_UWD_RISK_COVERS = JSON.stringify(r.INS_UWD_RISK_COVERS); r.INS_UDW_GA_RISK_FEES = u.parseJson(r.INS_UDW_GA_RISK_FEES); r.INS_UDW_GA_RISK_FEES.ForEach(f => { f.GAR_FEE_BC_AMOUNT = endorsement.END_POL_FEE_CANC_YN === "Y" ? 0 : f.GAR_FEE_BC_AMOUNT; f.GAR_FEE_FC_AMOUNT = endorsement.END_POL_FEE_CANC_YN === "Y" ? 0 : f.GAR_FEE_FC_AMOUNT; f.GAR_FEE_END_NO = endNo; }); }); return JSON.stringify(risks); } }); if ($scope.invalidEnd) { return false; } //Risk Covers // u.setGridColumn($scope.cover_grid, { "RPCOV_END_NO": endNo }); //policy documents u.setGridColumn($scope.polFileGrid, { "PF_PH_END_NO": endNo }); //Commissions //u.setGridColumn($scope.intermCom_grid, { "CMM_END_NO": endNo, "CMM_COM_AMT_FC": 0, "CMM_COM_AMT_BC": 0 }); u.setGridColumn($scope.intermCom_grid, { "CMM_END_NO": endNo }); //Prem Register u.setGridColumn($scope.premiumreg_grid, { "PR_END_NO": endNo }); //Risk Fees //u.setGridColumn($scope.riskFees_grid, { "ENG_FEE_END_NO": endNo, "ENG_FEE_FC_AMOUNT": 0, "ENG_FEE_BC_AMOUNT": 0 }); // u.setGridColumn($scope.riskFees_grid, { "ENG_FEE_END_NO": endNo }); //Pol fees summary u.setGridColumn($scope.polfees_grid, { "POL_FEE_FEE_END_NO": endNo, "POL_FEE_FC_AMOUNT": function (val) { return endorsement.END_POL_FEE_CANC_YN === "Y" ? 0 : val; }, "POL_FEE_BC_AMOUNT": function (val) { return endorsement.END_POL_FEE_CANC_YN === "Y" ? 0 : val; } }); // u.setGridColumn($scope.polfees_grid, { "POL_FEE_END_NO": endNo }); }; $scope.caclRi = function() { //obtain the policy header object var polHead = u.parse_form("#polheaderForm"); if (!$scope.treatyData) return u.growl_info("Ri Treaty setup data is empty please fetch treaty setup data"); //loop through all locations and apply treaty setup var locations = Enumerable.From(u.get_grid_data($scope.genaccident_grid)); locations.ForEach(function(location) { //calculate ri on each location var locationRiAllocationData = u.locationRiAllocation(polHead, { "RI_SI_FC": location.TRANS_RI_SI_FC, "RI_SI_BC": location.TRANS_RI_SI_BC, "RI_PREM_BC": location.TRANS_RI_PREM_FC, "RI_PREM_FC": location.TRANS_RI_PREM_BC }, $scope.treatyData); //console.log(locationRiAllocationData); //add treaty data into their respective tables //cleat treaty header grid u.clear_grid_data($scope.reinsurance_grid); //1. add treaty head record for each location $scope.reinsurance_grid.addRowData(location.ID, { TTH_ACC_SI_BC: location.TRANS_RI_SI_BC, TTH_ACC_SI_FC: location.TRANS_RI_SI_FC, TTH_ADJ_YN: null, TTH_CLASS_CODE: polHead.POLH_CLASS_CODE, TTH_COMB_LOC_ID: null, TTH_CRTE_BY: u.getUserCode(), TTH_CRTE_DATE: u.get_date(), TTH_EML_PERC: location.TRANS_EML_PERC, TTH_FROM_DATE: location.TRANS_START_DATE, TTH_INS_SRCE: polHead.POLH_INS_SOURCE, TTH_LOC_END_NO: polHead.POLH_END_NO, TTH_LOC_SYS_ID: null, TTH_MOD_BY: null, TTH_MOD_DATE: null, TTH_POLH_END_NO: polHead.POLH_END_NO || 0, TTH_POLH_SYS_ID: polHead.POLH_SYS_ID, TTH_POLNUM: polHead.POLH_DISPLAY_NO, TTH_REF_ID: location.TRANS_SYS_ID, TTH_RISK_END_NO: polHead.POLH_END_NO, TTH_RISK_SYS_ID: location.TRANS_SYS_ID, TTH_RI_ACC_YN: null, TTH_RI_PREM_BC: location.TRANS_RI_PREM_BC, TTH_RI_PREM_FC: location.TRANS_RI_PREM_FC, TTH_RI_SI_BC: location.TRANS_RI_SI_BC, TTH_RI_SI_FC: location.TRANS_RI_SI_FC, TTH_SC_CODE: polHead.POLH_SUB_CLASS_CODE, TTH_STATUS: "A", TTH_TOTAL_PREM_BC: location.TRANS_TOT_PREM_BC, TTH_TOTAL_PREM_FC: location.TRANS_TOT_PREM_FC, TTH_TOTAL_SI_BC: location.TRANS_SI_BC, TTH_TOTAL_SI_FC: location.TRANS_SI_FC, TTH_TO_DATE: location.TRANS_END_DATE, TTH_UW_YEAR: location.TRANS_UW_YEAR, INS_RI_TTY_ALLOCATION: JSON.stringify(locationRiAllocationData) }); }); }; $scope.renewal = function() { var renNo = parseInt($("#POLH_RENEW_SER_NO").val() || 0) + 1; $("#POLH_RENEW_SER_NO").val(renNo); //Risk Covers u.setGridColumn($scope.cover_grid, { "RPCOV_END_NO": 0 }); //Commissions u.setGridColumn($scope.intermCom_grid, { "CMM_END_NO": 0 }); //Prem Register u.setGridColumn($scope.premiumreg_grid, { "PR_END_NO": 0 }); //policy documents u.setGridColumn($scope.polFileGrid, { "PF_PH_END_NO": 0 }); //Risk Fees u.setGridColumn($scope.riskFees_grid, { "TRANS_FEE_END_NO": 0 }); //Pol fees summary u.setGridColumn($scope.polfees_grid, { "POL_FEE_END_NO": 0 }); s.getProductTreaty($("#POLH_SUB_CLASS_CODE").val(), $("#POLH_POL_UW_YEAR").val(), $("#POLH_CURRENCY").val(), function(response) { if (response.state && response.data) { $scope.treatyData = response.data; $scope.caclRi(); u.growl_success("Treaty successfully fetched for the selected product"); } else { u.modalInfo( `Treaty not setup for underwriting year ${$("#POLH_POL_UW_YEAR").val()} for the product ${ $("#POLH_SUB_CLASS_CODE").val()} with currency ${$("#POLH_CURRENCY").val() }, please check RI treaty setup`); //Reset form $scope.reset(); } }, function(err) { u.modalInfo( `Error fetching treaty not setup for underwriting year ${$("#POLH_POL_UW_YEAR").val() } for the product ${$("#POLH_SUB_CLASS_CODE").val()} with currency ${$("#POLH_CURRENCY").val() }, renewal cannot continue. please try again later`); //Reset form $scope.reset(); }); }; $scope.feeCancelationCheck = function (endNo) { const endorsement = $scope.endorsementData || u.get_grid_data(u.getGlobal("udwEndsmntGrid")).First(e => e.END_TXN_STATE == "O"); u.setGridColumn(u.getGlobal("udwGenAccLocGrid"), { "INS_UDW_GA_TRANSIT": function(val) { var risks = u.parseJson(val); risks.ForEach(r => { r.INS_UDW_GA_RISK_FEES = u.parseJson(r.INS_UDW_GA_RISK_FEES); r.INS_UDW_GA_RISK_FEES.ForEach(f => { f.GAR_FEE_BC_AMOUNT = endorsement.END_POL_FEE_CANC_YN === "Y" ? 0 : f.GAR_FEE_BC_AMOUNT; f.GAR_FEE_FC_AMOUNT = endorsement.END_POL_FEE_CANC_YN === "Y" ? 0 : f.GAR_FEE_FC_AMOUNT; f.GAR_FEE_END_NO = endNo; }); r.INS_UDW_GA_RISK_FEES = JSON.stringify(r.INS_UDW_GA_RISK_FEES); }); return risks; } }); //Pol fees summary u.setGridColumn($scope.polfees_grid, { "POL_FEE_END_NO": endNo, "POL_FEE_FC_AMOUNT": function(val) { return endorsement.END_POL_FEE_CANC_YN === "Y" ? 0 : val; }, "POL_FEE_BC_AMOUNT": function(val) { return endorsement.END_POL_FEE_CANC_YN === "Y" ? 0 : val; } }); }; /*--------------------------- *Endorsement Deletion process *-------------------------*/ $("#btnEndDeletion").click(function() { u.modal_confirmation("Are you sure you want to delete Endorsement?", function() { if (!u.field_empty("#POLH_SYS_ID") && !u.field_empty("#POLH_END_NO")) { s.risk_end_deletion($("#POLH_SYS_ID").val(), (parseInt($("#POLH_END_NO").val()) - 1), function(result) { if (result) { s.search_policy($("#POLH_SYS_ID").val(), function(data) { $scope.searched = true; $scope.result = data; if (data.length > 0) { $scope.search_fill(data[0]); } }); } else { u.growl_info("Unable to delete endorsement, please try again"); } u.hide_confirm(); }, function(err) { u.growl_error("Error fetching search results"); }); } else { u.growl_info("Invalid Policy, please check and try again!"); } }); }); // policy Confirmation process //$("#btnConfirm").click(function() { // if ($("#POLH_TXN_STATE") === "P") // return u.growl_warning("The policy has already been approved, you cannot confirm."); // if ($("#POLH_TXN_STATE") === "C") // return u.growl_warning("The policy has already been confirmed, you cannot confirm."); // //get the selected Risk ID // var gengrid = $scope.genaccident_grid; // var selId = gengrid.jqGrid("getGridParam", "selrow"); // var RiskSI = gengrid.jqGrid("getCell", selId, "TRANS_SI_BC"); // //get the user limit details // var usrgrid = $scope.users_grid; // var rowIds = usrgrid.jqGrid("getDataIDs"); // var userCode = u.getUserCode(); // for (var i = 0, len = rowIds.length; i < len; i++) { // //get value of the cell or column in an array // var currRow = rowIds[i]; // var getRIYN = usrgrid.jqGrid("getCell", currRow, "URL_RI_ALL_YN"); // var getUserLimSI = usrgrid.jqGrid("getCell", currRow, "URL_UDW_SI_LIM"); // var getUserId = usrgrid.jqGrid("getCell", currRow, "URL_USR_CODE"); // if (getUserId == userCode && getRIYN == "N" && RiskSI > getUserLimSI) { // $("#PolConfirmationLimit").modal(); // } else if (getUserId == userCode && getRIYN == "N" && RiskSI <= getUserLimSI) { // u.modal_confirmation("Are you sure you want to Confirm ?", // function() { // if (!$scope.confirming) { // $scope.confirming = true; // var formData = u.parse_form("#PolconfirmationForm"); // s.confirmPolicy($("#POLH_SYS_ID").val(), // $("#POLH_END_NO").val(), // u.getUserCode(), // formData["RI_POSTED_YN"], // function(response) { // $scope.confirming = false; // if (response.state) { // //Change policy transaction state to Confirmed - C // var txnState = response.POLH_TXN_STATE; // //alert(txnState); // u.growl_success(response.message); // $("#POLH_TXN_STATE").val(txnState); // u.form_text_Blue_color(); // $("#PolConfirmModal").modal("hide"); // } else { // u.growl_error(response.message); // } // }, // function() { // $scope.confirming = false; // u.growl_error("Server Error Confirming Policy"); // }); // } // u.hide_confirm(); // }); // } else if (getUserId == userCode && getRIYN == "Y" && RiskSI >= getUserLimSI) { // u.modal_confirmation("Are you sure you want to Confirm ?", // function() { // if (!$scope.confirming) { // $scope.confirming = true; // var formData = u.parse_form("#PolconfirmationForm"); // s.confirmPolicy($("#POLH_SYS_ID").val(), // $("#POLH_END_NO").val(), // u.getUserCode(), // formData["RI_POSTED_YN"], // function(response) { // $scope.confirming = false; // if (response.state) { // //Change policy transaction state to Confirmed - C // var txnState = response.POLH_TXN_STATE; // //alert(txnState); // u.growl_success(response.message); // $("#POLH_TXN_STATE").val(txnState); // u.form_text_Blue_color(); // $("#PolConfirmModal").modal("hide"); // } else { // u.growl_error(response.message); // } // }, // function() { // $scope.confirming = false; // u.growl_error("Server Error Confirming Policy"); // }); // } // u.hide_confirm(); // }); // } else if (getUserId == userCode && getRIYN == "Y" && RiskSI <= getUserLimSI) { // u.modal_confirmation("Are you sure you want to Confirm ?", // function() { // if (!$scope.confirming) { // $scope.confirming = true; // var formData = u.parse_form("#PolconfirmationForm"); // s.confirmPolicy($("#POLH_SYS_ID").val(), // $("#POLH_END_NO").val(), // u.getUserCode(), // formData["RI_POSTED_YN"], // function(response) { // $scope.confirming = false; // if (response.state) { // //Change policy transaction state to Confirmed - C // var txnState = response.POLH_TXN_STATE; // //alert(txnState); // u.growl_success(response.message); // $("#POLH_TXN_STATE").val(txnState); // u.form_text_Blue_color(); // $("#PolConfirmModal").modal("hide"); // } else { // u.growl_error(response.message); // } // }, // function() { // $scope.confirming = false; // u.growl_error("Server Error Confirming Policy"); // }); // } // u.hide_confirm(); // }); // } // } //}); //Approval Process //$("#btnApproval").click(function() { // if (u.field_empty("#POLH_SYS_ID")) // return u.growl_warning("There is no Policy to Approve, please Check and try again"); // if ($("#POLH_SYS_ID").val() === "A") // return u.growl_warning("There is no Policy to Approve, please Check and try again"); // if ($("#POLH_TXN_STATE") === "P") // return u.growl_warning("The policy has already been approved, you cannot Approved."); // if (!u.form_validation("#PolApprovalForm")) return u.growl_warning("Fields marked red are required"); // u.modal_confirmation("Are you sure you want to Approve ?", // function() { // var formData = u.parse_form("#PolApprovalForm"); // s.TransitpolicyApproval( // { // POL_SYS_ID: $("#POLH_SYS_ID").val(), // POL_END_NO: $("#POL_END_NO").val(), // TXN_TYPE: 1, // CRTE_BY: u.getUserCode(), // POST_DATE: formData["APPROVE_DATE"] // }, // function(response) { // if (response.state) { // u.growl_success("Policy successfully Approved"); // var str = $("#POLH_DISPLAY_NO").val(); // var polNo = $("#POLH_DISPLAY_NO").val(); // var displayNo = "P-" + str.substring(1, polNo.length); // $("#POLH_DISPLAY_NO").val(displayNo); // var txnState = response.result.POLH_TXN_STATE; // $("#POLH_TXN_STATE").val(txnState); // $("#POLH_TXN_STATE").val(txnState); // if (txnState === ("P")) { // u.form_text_Green_color(); // //u.form_readonly(); // } // } else { // u.growl_error(response.message); // } // }, // function() { // u.growl_error("Server Error Confirming Policy"); // }); // u.hide_confirm(); // }); //}); /*-------------------- * Policy Form delete button *------------------*/ //$("#btnDelete").click(function() { // u.modal_confirmation("Are you sure you want to delete this policy?", // function() { // if ($("input[name='POLH_SYS_ID']").val().length <= 0) { // $scope.reset_setup(); // u.hide_confirm(); // } else { // if (!$scope.saving) { // $scope.saving = true; // var policy_data = u.parse_form("#polheaderForm"); // policy_data.POLH_STATUS = "D"; // s.save_policy(policy_data, // function(response) { // u.hide_confirm(); // $scope.saving = false; // if (response.state) { // u.growl_error("Policy Successfully Deleted"); // $scope.reset_setup(); // } else { // u.growl_error("Error deleting Policy"); // } // }, // function() { // u.hide_confirm(); // $scope.saving = false; // u.growl_error("Can not delete Policy at the moment please try again later"); // }); // } else { // u.growl_info("The application is busy please wait for the current process to finish"); // } // } // }); //}); /*------------------------------ * Refresh or Reset form *----------------------------*/ // $scope.reset = function() { u.form_reset("#polheaderForm"); u.form_reset("#coverForm"); u.form_reset("#genaccidentForm"); u.form_reset("#policyFilesForm"); u.form_reset("#genAccLocationForm"); u.clear_grid_data($scope.cover_grid); u.clear_grid_data($scope.genaccident_grid);; u.clear_grid_data($scope.PremSummary_grid); u.clear_grid_data($scope.cliams_grid); u.clear_grid_data($scope.reinsurance_grid); u.clear_grid_data($scope.treatyApportionmentGrid); u.clear_grid_data($scope.treatyShareGrid); u.clear_grid_data($scope.interComm_grid); u.clear_grid_data($scope.polfees_grid); u.clear_grid_data($scope.riskdiscload_grid); u.clear_grid_data($scope.prodRisks_grid); u.clear_grid_data($scope.polFileGrid); u.clear_grid_data($scope.riskFees_grid); u.clear_grid_data($scope.endorsementGrid); u.clear_grid_data(u.getGlobal("udwGenAccLocGrid")); $("#POLH_SYS_ID").val(""); $("#POLH_STATUS").val("U"); $("#POLH_TXN_STATE").val("S"); $("#txtSearch").val(""); u.form_text_Black_color(); // $("#endNetCustomerFc").empty(); // $("#endNetCustomerFc").parents("h3").hide(0); // $("#netCustomerFc").parents("h3").show(0); // $("#netCustomerFc").empty(); }; u.setGlobalStatic("gacashintransitReset", $scope.reset); $("#btn_Reset").on("click", function() { u.modal_confirmation("Are you sure you want to clear all data from the form?", function(e) { $scope.reset(); u.hideWarning(); u.growl_success("Form successfully cleared"); }); }); /*----------------- * search grid *----------------*/ $scope.search_grid = u.default_grid("#grdSearchResults", "#grdSearchResultsPager", "Product Search Results", ["ID", "Policy No.", "Policy Display No.", "Policy State.", "index"], [ { name: "POLH_SYS_ID", index: "POLH_SYS_ID", hidden: true }, { name: "POLH_SYS_ID", index: "POLH_SYS_ID" }, { name: "POLH_DISPLAY_NO", index: "POLH_DISPLAY_NO" }, { name: "POLH_STATUS", index: "POLH_STATUS" }, { name: "index", id: true, index: "index", hidden: true } ], function(index) { $scope.selected_index = index; $scope.search_fill($scope.result[index]); }, function(index) { $scope.search_fill($scope.result[index]); u.clear_grid_data($scope.search_grid); $("#mySearchResultModal").modal("hide"); }); /*--------------------------- * Search *-------------------------*/ $("#btnQueryPolicy").click(function() { var query = $("#txtSearch").val(); if (query && query.length > 0 && query !== " ") { s.search_policy(query, function(result) { $scope.searched = true; $scope.result = result; if (result.length > 0) { if (result.length > 1) { /*display result of the search to the user in a modal*/ for (var i in result) { result[i].index = i; $scope.search_grid.addRowData(result[i].index, result[i]); } $("#mySearchResultModal").modal(); } else { $scope.search_fill(result[0]); } } else { u.growl_info("Policy No. not found, please make sure you enter the correct Policy No!"); } }, function(err) { u.growl_error("Error fetching search results"); }); } else { u.growl_info("Please check Policy No and try again!"); } }); u.setGlobalStatic("productSearchFill", function(policyData) { u.getGlobal("searchFill")(policyData, function (policy) { // Filling risk //u.clear_grid_data($scope.genaccident_grid); //if (policy.INS_UDW_GA_TRANSIT) { //} //u.clear_grid_data($scope.cover_grid); //u.clear_grid_data($scope.riskFees_grid); //for (var i in policy.INS_UDW_GA_TRANSIT) { // $scope.genaccident_grid.addRowData(policy.INS_UDW_GA_TRANSIT[i].ID, policy.INS_UDW_GA_TRANSIT[i]); // // Get risk covers // for (var x in policy.INS_UDW_GA_TRANSIT[i].INS_UWD_RISK_COVERS) { // //get Cover Names // policy.INS_UDW_GA_TRANSIT[i].INS_UWD_RISK_COVERS[x]["RCOV_NAME"] = // policy.INS_UDW_GA_TRANSIT[i].INS_UWD_RISK_COVERS[x]["MS_UDW_COVERS"]["CVR_NAME"]; // //get Covers // $scope.cover_grid.addRowData(policy.INS_UDW_GA_TRANSIT[i].INS_UWD_RISK_COVERS[x].RCOV_RISK_SYS_ID, // policy.INS_UDW_GA_TRANSIT[i].INS_UWD_RISK_COVERS[x]); // } // //Filling Risk fees // for (var r in policy.INS_UDW_GA_TRANSIT[i].INS_UDW_GA_RISK_FEES) { // //get Fee Names // policy.INS_UDW_GA_TRANSIT[i].INS_UDW_GA_RISK_FEES[r]["GAR_FEE_NAME"] = // policy.INS_UDW_GA_TRANSIT[i].INS_UDW_GA_RISK_FEES[r]["MS_COMPULSORY_FEES"]["FEE_NAME"]; // //Fill Fees Grid // $scope.riskFees_grid.addRowData(policy.INS_UDW_GA_TRANSIT[i].INS_UDW_GA_RISK_FEES[r].ID, // policy.INS_UDW_GA_TRANSIT[i].INS_UDW_GA_RISK_FEES[r]); // } // for (var d in policy.INS_UDW_GA_TRANSIT[i].INS_UDW_RISK_DISCLOAD) { // //get Discount/Loading // $scope.riskdiscloading_grid.addRowData(policy.INS_UDW_GA_TRANSIT[i].INS_UDW_RISK_DISCLOAD[d].ID, // policy.INS_UDW_GA_TRANSIT[i].INS_UDW_RISK_DISCLOAD[d]); // } //} u.getGlobal("GaPolicyFill")(policy); u.setGlobal("RIData", policy.INS_RI_TTY_HEAD); //$scope.PolicyCalculations(); u.getGlobal("PolicyCalculations")(true); $scope.RecalculatePremium(); }); }); $scope.search_fill = u.getGlobalStatic("productSearchFill"); /*------------------------------------- * setting datepicker for date fields *------------------------------------*/ u.set_datepicker(".date"); u.set_datepicker(".datetime"); //u.set_datetimepicker(".datetime"); u.set_datepicker("input[name='CUS_DOB']"); u.set_datepicker("#ENDORSE_DATE"); u.set_datepicker("#ENDORSE_EFF_DATE"); u.set_datepicker("#ENDORSE_TO_DATE"); u.set_datepicker("#NLB_FROM_DATE"); u.set_datepicker("#NLB_TO_DATE"); /*----------------------------- * LOV code validation *---------------------------*/ u.lovCodeVal("form input[name='POLH_CMP_CODE']", "check_company_code", "form input[name='CMP_NAME']"); u.lovCodeVal("form input[name='POLH_OFF_CODE']", "check_office_code", "form input[name='OFF_NAME']"); u.lovCodeVal("form input[name='POLH_CLASS_CODE']", "check_product_code", "form input[name='COB_NAME']"); //u.lovCodeVal("form input[name='POLH_SUB_CLASS_CODE']", "check_subproduct_code", "form input[name='PDT_NAME']"); u.lovCodeVal("form input[name='POLH_INS_SOURCE']", "check_insurance_source_code", "form input[name='INSUR_NAME']"); u.lovCodeVal("form input[name='POLH_CHANNEL_CODE']", "check_channel_code", "form input[name='MSC_NAME']"); u.lovCodeVal("form input[name='POLH_BIZ_SOURCE']", "check_business_source_code", "form input[name='SRB_NAME']"); u.lovCodeVal("input[name='POLH_CUST_CODE']", "check_customer_code", "input[name='CUS_OFFICIAL_NAME']", function(code) { /*fetch customer details after successful validation*/ s.get_customer(code, function(response) { //u.fill_form(response, "#polheaderForm"); u.setFieldVal("#POLH_CUST_NAME", response["CUS_OFFICIAL_NAME"]); u.setFieldVal("#POLH_CUST_ADRS", response["CUS_ADDRS2"]); u.setFieldVal("#POLH_CUST_TEL", response["CUS_PHONE1"]); }); }); u.lovCodeVal("form input[name='CUS_TYPE_CODE']", "check_customertype_code", "form input[name='CUS_TYPE_NAME']"); u.lovCodeVal("form input[name='POLH_CURRENCY']", "check_currency_code", "", function(code) { s.getCurrencyRate(code, function(fx) { u.setFieldVal("#POLH_CURRENCY_RATE", fx["EXR_FX_RATE"]); }); }); /*----------------------------- * //Risk Cover Rate Calculation *---------------------------*/ $("#RCOV_GROSS_PREM_FC").prop("disabled", true); $("#RCOV_NET_PREM_FC").prop("disabled", true); document.getElementById("RCOV_RATE").addEventListener("focusout", rateFunction); document.getElementById("RCOV_SI_FC").addEventListener("focusout", rateFunction); function rateFunction() { //if ($("#RCOV_CODE").val() === "8003") { if ($("#RCOV_CODE").val() === "8005") { var covers = u.get_grid_data($scope.cover_grid); covers.ForEach(c => { //if (c.RCOV_CODE === "80004") { if (c.RCOV_CODE === "8003") { if (parseFloat($("#RCOV_SI_FC").val()) > parseFloat(c.RCOV_SI_FC)) { $("#RCOV_SI_FC").val(""); return u.growl_info( //"Single Loss Limit cover cannot be more than Estimate Annual Carrying Limit"); "The SI for Limit For Any One Accident cannot be greater than Limit For Policy Period"); } } }); } var grossPremFC = ""; var grossPremBC = ""; var NetPremFC = ""; var NetPremBC = ""; var ExchangeRate = $("#TRANS_CURRENCY_RATE").val(); if ($("#RCOV_SI_FC").val() == "" || $("#RCOV_SI_FC").val() == 0 || $("#RCOV_RATE").val() == "" || //$("#RCOV_RATE").val() <= 0 || $("#RCOV_RATE").val() > 100) { // u.growl_warning("Please Check the RATE or SUM INSURED values"); } else { grossPremFC = ($("#RCOV_SI_FC").val() * $("#RCOV_RATE").val() * 0.01).toFixed(2); //grossPremBC = parseFloat(grossPremFC / ExchangeRate).toFixed(2); NetPremFC = ($("#RCOV_SI_FC").val() * $("#RCOV_RATE").val() * 0.01).toFixed(2); //NetPremBC = parseFloat(NetPremFC / ExchangeRate).toFixed(2); const currRate = parseFloat($("#POLH_CURRENCY_RATE").val()); // check for Premium pasis const premBasis = $("#POLH_PREM_BASIS").val(); var polNumDays = parseInt($("#POLH_POL_DAYS").val()); var proRataPerc = 0; switch (premBasis) { case "SP": var shortPeriod = u.getGlobal("shortPeriods").Where(s => s.days === polNumDays); proRataPerc = parseFloat(shortPeriod[0].perc) / 100; break; case "PR": //polNumDays = polNumDays === 364 || polNumDays < 365 ? 365 : polNumDays; proRataPerc = parseFloat(polNumDays / 365); break; case "FP": proRataPerc = 1; break; } proRataPerc = $("#RCOV_CODE").val() === "800704" ? 1 : proRataPerc; $("#RCOV_GROSS_PREM_FC").val(parseFloat(grossPremFC * proRataPerc).toFixed(2)); $("#RCOV_GROSS_PREM_BC").val(parseFloat(grossPremFC * proRataPerc).toFixed(2) * currRate); $("#RCOV_NET_PREM_FC").val(parseFloat(NetPremFC * proRataPerc).toFixed(2)); $("#RCOV_NET_PREM_BC").val(parseFloat(NetPremFC * proRataPerc).toFixed(2) * currRate); $("#RCOV_ANNL_PREM_FC").val(NetPremFC); $("#RCOV_ANNL_PREM_BC").val(parseFloat(NetPremFC * currRate)); } } //$("#TRANS_ANN_TURNOVER_FC").prop("disabled", true); // document.getElementById("LOSS_MULT").addEventListener("focusout", limitFunction); // document.getElementById("TRANS_LIMIT_LOSS_FC").addEventListener("focusout", limitFunction); function limitFunction() { var limitFC = ""; var currencyRate = parseFloat($("#POLH_CURRENCY_RATE").val()); if ($("#TRANS_LIMIT_LOSS_FC").val() == "" || $("#TRANS_LIMIT_LOSS_FC").val() == 0 || $("#LOSS_MULT").val() == "" || $("#LOSS_MULT").val() <= 0) { u.growl_warning("Please Check the No. of months or Limit per loss values"); } else { var limitPerLossFc = parseFloat($("#TRANS_LIMIT_LOSS_FC").val()); var limitFC = (limitPerLossFc * parseFloat($("#LOSS_MULT").val())); $("#TRANS_ANN_TURNOVER_FC").val(limitFC); $("#TRANS_ANN_TURNOVER_BC").val(limitFC); $("#TRANS_LIMIT_LOSS_BC").val((limitPerLossFc * currencyRate).toFixed(2)); $("#TRANS_SUM_INSURED_FC").val(limitPerLossFc.toFixed(2)); $("#TRANS_SUM_INSURED_BC").val((limitPerLossFc * currencyRate).toFixed(2)); } } /*----------------------------- * //Risk Premium entry *---------------------------*/ //document.getElementById("RCOV_SI_FC").addEventListener("focusout", premiumEntry); function premiumEntry() { var grid = $scope.cover_grid; var sel_Id = grid.jqGrid("getGridParam", "selrow"); var userpremium = grid.jqGrid("getCell", sel_Id, "CVR_USER_PREMIUM"); if (userpremium == "Y") { document.getElementById("RCOV_GROSS_PREM_FC").disabled = false; //$('#RCOV_GROSS_PREM_FC').prop('disabled', false); } else { document.getElementById("RCOV_GROSS_PREM_FC").disabled = true; }; } //Policy Period days calculations/ //document.getElementById("POLH_POL_START_DATE").addEventListener("focusout", fxnPolPeriodDays); //document.getElementById("POLH_POL_END_DATE").addEventListener("focusout", fxnPolPeriodDays); //$("#POLH_POL_START_DATE").blur(function() { // var addYear = u.dateFastForward($(this).val(), 1, "year"); // if (u.field_empty("#POLH_POL_END_DATE")) { // $("#POLH_POL_END_DATE").val(addYear); // } //}); function fxnPolPeriodDays() { //alert("Input field lost focus."); var sDate = $("#POLH_POL_START_DATE").val(); var eDate = $("#POLH_POL_END_DATE").val(); //set the bond start date to same as policy start date $("#TRANS_START_DATE").val(sDate); $("#TRANS_END_DATE").val(eDate); $("#TRANS_START_DATE").val(sDate); $("#TRANS_END_DATE").val(eDate); var sdte = new Date(sDate); var polUWY = u.getYear(sDate); $("#POLH_POL_UW_YEAR").val(polUWY); $("#TRANS_UW_YEAR").val(polUWY); var polPeriodDays = u.totalDays(eDate, sDate); if (polPeriodDays > 0) { $("#POLH_POL_DAYS").val(polPeriodDays); $("#TRANS_PERIOD_DAYS").val(polPeriodDays); } else if ((polPeriodDays <= 0)) { u.growl_warning("Policy End date cannot be less than or equal to start date"); //reset end date and no. of days $("#POLH_POL_END_DATE").val(""); $("#POLH_POL_DAYS").val(""); // $("#TRANS_END_DATE").val(""); $("#TRANS_PERIOD_DAYS").val(""); } else { } } //---//Risk period days document.getElementById("TRANS_START_DATE").addEventListener("focusout", fxnRiskPeriodDays); document.getElementById("TRANS_END_DATE").addEventListener("focusout", fxnRiskPeriodDays); function fxnRiskPeriodDays() { //alert("Input field lost focus."); var polStartDate = new Date($("#POLH_POL_START_DATE").val()); var PolEndDate = new Date($("#POLH_POL_END_DATE").val()); var riskStartDate = new Date($("#TRANS_START_DATE").val()); var riskEndDate = new Date($("#TRANS_END_DATE").val()); var riskPeriodDays = u.get_dateDifference(riskStartDate, riskEndDate); if (u.get_dateDifference(polStartDate, riskStartDate) < 0) { u.growl_warning("Risk Start date cannot be less than Policy start date"); } else if (u.get_dateDifference(PolEndDate, riskEndDate) > 0) { u.growl_warning("Risk End date cannot be greater than Policy End date"); } else { if (riskPeriodDays > 0) { $("#TRANS_PERIOD_DAYS").val(riskPeriodDays); } } if ((riskPeriodDays <= 0)) { u.growl_warning("Risk End date cannot be less than or equal to start date"); //reset end date and no. of days $("#TRANS_START_DATE").val(""); $("#TRANS_END_DATE").val(""); } else if ((riskPeriodDays > 365)) { u.growl_warning("Risk period cannot be greater than 365 days, please check and try again"); } // alert(diffDays(StartDate, EndDate)); } /* //Hide or show Covers in the Risk Covers (to filter out the covers for particular risk */ $scope.hideShowCovers = function() { //get the selected Risk ID var vehgrid = $scope.genaccident_grid; var selId = vehgrid.jqGrid("getGridParam", "selrow"); var vehRiskId = vehgrid.jqGrid("getCell", selId, "TRANS_SYS_ID"); //get the Risk Cover data var covgrid = $scope.cover_grid; var rowIds = covgrid.jqGrid("getDataIDs"); // iterate through the risk cover rows to hide or show covers for (var i = 0, len = rowIds.length; i < len; i++) { //get value of the cell or column in an array var currRow = rowIds[i]; var getRiskCovId = covgrid.jqGrid("getCell", currRow, "RCOV_RISK_SYS_ID"); if (getRiskCovId != vehRiskId) { //hide if covers are not for the selected risk $("#" + currRow).hide(); } else if (getRiskCovId == vehRiskId) { //Show if covers are for the selected risk $("#" + currRow).show(); } } }; // Cover level SI and Premium Calculations: $("#btn_get_Cover_Premiums").click(function() { //$scope.PolicyCalculations(); $scope.SumCoverRiskValues(); }); // calculate sum of cover amounts $scope.SumCoverRiskValues = function() { //Declare variables var riskSumSifc = 0; var riskSumSibc = 0; var sumGrossPremFc = 0; var sumGrossPremBc = 0; var sumNetPremFc = 0; var sumNetPremBc = 0; var sumLoadFc = 0; var sumLoadBc = 0; var sumDisFc = 0; var sumDisBc = 0; var sumRiPremFc = 0; var sumRiPremBc = 0; var sumRiSiFc = 0; var sumRiSiBc = 0; var sumTotalPremFc = 0; var sumTotalPremBc = 0; //Risk/Goods/Cash in Transit Grid var riskgrid = $scope.genaccident_grid; var rowIdRisk = riskgrid.jqGrid("getDataIDs"); var grid = $scope.cover_grid; var rowIds = grid.jqGrid("getDataIDs"); //Risk/Goods/Cash in Transit Grid var riskgrid = $scope.genaccident_grid; var riskRowId = u.getSelRow(riskgrid); // var riskId = riskgrid.jqGrid("getCell", riskRowId, "TRANS_SYS_ID"); const coverGrid = $scope.cover_grid, covers = u.get_grid_data(coverGrid); // check for Premium pasis const premBasis = $("#POLH_PREM_BASIS").val(); var polNumDays = parseInt($("#POLH_POL_DAYS").val()); var proRataPerc = 0; switch (premBasis) { case "SP": var shortPeriod = u.getGlobal("shortPeriods").Where(s => s.days === polNumDays); proRataPerc = parseFloat(shortPeriod[0].perc) / 100; break; case "PR": //polNumDays = polNumDays === 364 || polNumDays < 365 ? 365 : polNumDays; proRataPerc = parseFloat(polNumDays / 365); break; case "FP": proRataPerc = 1; break; } if (covers.Any()) { covers.ForEach(c => { if (c.RCOV_STATUS !== "D") { if (c.RCOV_USER_PREM_YN === "Y") { sumGrossPremFc += parseFloat(c.RCOV_ANNL_PREM_FC || 0); sumGrossPremBc += parseFloat(c.RCOV_ANNL_PREM_BC || 0); sumNetPremFc += (parseFloat(c.RCOV_ANNL_PREM_FC || 0)) - parseFloat(c.RCOV_DISC_FC || 0) + parseFloat(c.RCOV_LOAD_FC || 0); sumNetPremBc += (parseFloat(c.RCOV_ANNL_PREM_BC || 0)) - parseFloat(c.RCOV_DISC_BC || 0) + parseFloat(c.RCOV_LOAD_BC || 0); } else { sumGrossPremFc += parseFloat(c.RCOV_ANNL_PREM_FC || 0) * proRataPerc; sumGrossPremBc += parseFloat(c.RCOV_ANNL_PREM_BC || 0) * proRataPerc; sumNetPremFc += (parseFloat(c.RCOV_ANNL_PREM_FC || 0) * proRataPerc) - parseFloat(c.RCOV_DISC_FC || 0) + parseFloat(c.RCOV_LOAD_FC || 0); sumNetPremBc += (parseFloat(c.RCOV_ANNL_PREM_BC || 0) * proRataPerc) - parseFloat(c.RCOV_DISC_BC || 0) + parseFloat(c.RCOV_LOAD_BC || 0); } sumLoadFc += parseFloat(c.RCOV_LOAD_FC); sumLoadBc += parseFloat(c.RCOV_LOAD_BC); sumDisFc += parseFloat(c.RCOV_DISC_FC); sumDisBc += parseFloat(c.RCOV_DISC_BC); sumTotalPremFc += parseFloat(c.RCOV_ANNL_PREM_FC || 0); sumTotalPremBc += parseFloat(c.RCOV_ANNL_PREM_BC || 0); if (c.RCOV_RI_PREM_YN === "Y") { if (c.RCOV_USER_PREM_YN === "Y") { sumRiPremFc += (parseFloat(c.RCOV_ANNL_PREM_FC || 0)) - parseFloat(c.RCOV_DISC_FC || 0) + parseFloat(c.RCOV_LOAD_FC || 0); sumRiPremBc += (parseFloat(c.RCOV_ANNL_PREM_BC || 0)) - parseFloat(c.RCOV_DISC_BC || 0) + parseFloat(c.RCOV_LOAD_BC || 0); } else { sumRiPremFc += (parseFloat(c.RCOV_ANNL_PREM_FC || 0) * proRataPerc) - parseFloat(c.RCOV_DISC_FC || 0) + parseFloat(c.RCOV_LOAD_FC || 0); sumRiPremBc += (parseFloat(c.RCOV_ANNL_PREM_BC || 0) * proRataPerc) - parseFloat(c.RCOV_DISC_BC || 0) + parseFloat(c.RCOV_LOAD_BC || 0); } } if (c.RCOV_RI_SI_YN === "Y") { sumRiSiFc += parseFloat(c.RCOV_SI_FC || 0); sumRiSiBc += parseFloat(c.RCOV_SI_BC || 0); riskSumSifc += parseFloat(c.RCOV_SI_FC); riskSumSibc += parseFloat(c.RCOV_SI_BC); } } }); grid.jqGrid("footerData", "set", { 'RCOV_SI_FC': riskSumSifc.toFixed(2) }); grid.jqGrid("footerData", "set", { 'RCOV_SI_BC': riskSumSibc.toFixed(2) }); grid.jqGrid("footerData", "set", { 'RCOV_GROSS_PREM_FC': sumGrossPremFc.toFixed(2) }); grid.jqGrid("footerData", "set", { 'RCOV_GROSS_PREM_BC': sumGrossPremBc.toFixed(2) }); grid.jqGrid("footerData", "set", { 'RCOV_NET_PREM_FC': sumNetPremFc.toFixed(2) }); grid.jqGrid("footerData", "set", { 'RCOV_NET_PREM_BC': sumNetPremBc.toFixed(2) }); grid.jqGrid("footerData", "set", { 'RCOV_LOAD_FC': sumLoadFc.toFixed(2) }); grid.jqGrid("footerData", "set", { 'RCOV_LOAD_BC': sumLoadBc.toFixed(2) }); grid.jqGrid("footerData", "set", { 'RCOV_DISC_FC': sumDisFc.toFixed(2) }); grid.jqGrid("footerData", "set", { 'RCOV_DISC_BC': sumDisBc.toFixed(2) }); // set risk SI and Premiums values, riskgrid.jqGrid("setCell", riskRowId, "TRANS_PREMIUM_FC", sumGrossPremFc.toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "TRANS_TOT_PREM_FC", sumTotalPremFc.toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "TRANS_TOT_PREM_BC", sumTotalPremBc.toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "TRANS_RISK_PREM_FC", sumNetPremFc.toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "TRANS_RISK_PREM_BC", sumNetPremBc.toFixed(2)); //RI VALUES riskgrid.jqGrid("setCell", riskRowId, "TRANS_RI_PREM_FC", sumRiPremFc.toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "TRANS_RI_PREM_BC", sumRiPremBc.toFixed(2)); //checkif we are to apply EML if (riskgrid.jqGrid("getCell", riskRowId, "TRANS_EML_YN") === "Y") { var emplPerc = parseFloat(riskgrid.jqGrid("getCell", riskRowId, "TRANS_EML_PERC") || 0); riskgrid.jqGrid("setCell", riskRowId, "TRANS_RI_SI_FC", (parseFloat(/*riskgrid.jqGrid("getCell", riskRowId, "TRANS_SUM_INSURED_FC")*/ sumRiSiFc) * (emplPerc / 100)) .toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "TRANS_RI_SI_BC", (parseFloat(/*riskgrid.jqGrid("getCell", riskRowId, "TRANS_SUM_INSURED_BC")*/ sumRiSiBc) * (emplPerc / 100)) .toFixed(2)); } else { riskgrid.jqGrid("setCell", riskRowId, "TRANS_RI_SI_FC", parseFloat(/*riskgrid.jqGrid("getCell", riskRowId, "TRANS_SUM_INSURED_FC")*/ sumRiSiFc).toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "TRANS_RI_SI_BC", parseFloat(/*riskgrid.jqGrid("getCell", riskRowId, "TRANS_SUM_INSURED_BC")*/ sumRiSiBc).toFixed(2)); } riskgrid.jqGrid("setCell", riskRowId, "TRANS_SUM_INSURED", riskSumSifc.toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "TRANS_SI_FC", riskSumSifc.toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "TRANS_SI_BC", riskSumSibc.toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "TRANS_LOAD_FC", sumLoadFc.toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "TRANS_LOAD_BC", sumLoadBc.toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "TRANS_DISC_FC", sumDisFc.toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "TRANS_DISC_BC", sumDisBc.toFixed(2)); riskgrid.jqGrid("setCell", riskRowId, "INS_UWD_RISK_COVERS", JSON.stringify(u.get_grid_data($scope.cover_grid))); // set risk SI and Premiums vlues, $("#TRANS_SI_FC").val(riskSumSifc.toFixed(2)); $("#TRANS_SI_BC").val(riskSumSibc.toFixed(2)); $("#TRANS_TOT_PREM_FC").val(sumGrossPremFc.toFixed(2)); $("#TRANS_TOT_PREM_BC").val(sumGrossPremBc.toFixed(2)); // $("#TRANS_LOAD_FC").val(sumLoadFc.toFixed(2)); $("#TRANS_LOAD_BC").val(sumLoadBc.toFixed(2)); $("#TRANS_DISC_FC").val(sumDisFc.toFixed(2)); $("#TRANS_DISC_BC").val(sumDisBc.toFixed(2)); // Policy Level SI and premium Calculations $scope.SumPolhAmounts(); } else { var locations = u.get_grid_data(u.getGlobal("udwGenAccLocGrid")); var transitRisks = []; locations.ForEach(loc => { if (loc.GAL_STATUS !== "D") { transitRisks = u.parseJson(loc.INS_UDW_GA_TRANSIT); transitRisks.ForEach(transit => { if (transit.TRANS_STATUS !== "D") { var covers = u.parseJson(transit.INS_UWD_RISK_COVERS); covers.ForEach(c => { if (c.RCOV_STATUS !== "D") { if (c.RCOV_USER_PREM_YN === "Y") { c.RCOV_GROSS_PREM_FC = parseFloat(c.RCOV_ANNL_PREM_FC || 0); c.RCOV_GROSS_PREM_BC = parseFloat(c.RCOV_ANNL_PREM_BC || 0); sumGrossPremFc += parseFloat(c.RCOV_ANNL_PREM_FC || 0); sumGrossPremBc += parseFloat(c.RCOV_ANNL_PREM_BC || 0); c.RCOV_NET_PREM_FC = (parseFloat(c.RCOV_ANNL_PREM_FC || 0)) - parseFloat(c.RCOV_DISC_FC || 0) + parseFloat(c.RCOV_LOAD_FC || 0); c.RCOV_NET_PREM_BC = (parseFloat(c.RCOV_ANNL_PREM_BC || 0)) - parseFloat(c.RCOV_DISC_BC || 0) + parseFloat(c.RCOV_LOAD_BC || 0); sumNetPremFc += (parseFloat(c.RCOV_ANNL_PREM_FC || 0)) - parseFloat(c.RCOV_DISC_FC || 0) + parseFloat(c.RCOV_LOAD_FC || 0); sumNetPremBc += (parseFloat(c.RCOV_ANNL_PREM_BC || 0)) - parseFloat(c.RCOV_DISC_BC || 0) + parseFloat(c.RCOV_LOAD_BC || 0); } else { c.RCOV_GROSS_PREM_FC = parseFloat(c.RCOV_ANNL_PREM_FC || 0) * proRataPerc; c.RCOV_GROSS_PREM_BC = parseFloat(c.RCOV_ANNL_PREM_BC || 0) * proRataPerc; sumGrossPremFc += parseFloat(c.RCOV_ANNL_PREM_FC || 0) * proRataPerc; sumGrossPremBc += parseFloat(c.RCOV_ANNL_PREM_BC || 0) * proRataPerc; c.RCOV_NET_PREM_FC = (parseFloat(c.RCOV_ANNL_PREM_FC || 0) * proRataPerc) - parseFloat(c.RCOV_DISC_FC || 0) + parseFloat(c.RCOV_LOAD_FC || 0); c.RCOV_NET_PREM_BC = (parseFloat(c.RCOV_ANNL_PREM_BC || 0) * proRataPerc) - parseFloat(c.RCOV_DISC_BC || 0) + parseFloat(c.RCOV_LOAD_BC || 0); sumNetPremFc += (parseFloat(c.RCOV_ANNL_PREM_FC || 0) * proRataPerc) - parseFloat(c.RCOV_DISC_FC || 0) + parseFloat(c.RCOV_LOAD_FC || 0); sumNetPremBc += (parseFloat(c.RCOV_ANNL_PREM_BC || 0) * proRataPerc) - parseFloat(c.RCOV_DISC_BC || 0) + parseFloat(c.RCOV_LOAD_BC || 0); } sumLoadFc += parseFloat(c.RCOV_LOAD_FC); sumLoadBc += parseFloat(c.RCOV_LOAD_BC); sumDisFc += parseFloat(c.RCOV_DISC_FC); sumDisBc += parseFloat(c.RCOV_DISC_BC); sumTotalPremFc += parseFloat(c.RCOV_ANNL_PREM_FC || 0); sumTotalPremBc += parseFloat(c.RCOV_ANNL_PREM_BC || 0); if (c.RCOV_RI_PREM_YN === "Y") { sumRiPremFc += (parseFloat(c.RCOV_ANNL_PREM_FC || 0) * proRataPerc) - parseFloat(c.RCOV_DISC_FC || 0) + parseFloat(c.RCOV_LOAD_FC || 0); sumRiPremBc += (parseFloat(c.RCOV_ANNL_PREM_BC || 0) * proRataPerc) - parseFloat(c.RCOV_DISC_BC || 0) + parseFloat(c.RCOV_LOAD_BC || 0); } if (c.RCOV_RI_SI_YN === "Y") { sumRiSiFc += parseFloat(c.RCOV_SI_FC || 0); sumRiSiBc += parseFloat(c.RCOV_SI_BC || 0); riskSumSifc += parseFloat(c.RCOV_SI_FC); riskSumSibc += parseFloat(c.RCOV_SI_BC); } } }); transit.INS_UWD_RISK_COVERS = covers; transit.TRANS_RISK_PREM_FC = sumNetPremFc.toFixed(2); transit.TRANS_RISK_PREM_BC = sumNetPremBc.toFixed(2); transit.TRANS_PREMIUM_FC = sumNetPremFc.toFixed(2); transit.TRANS_PREMIUM_BC = sumNetPremBc.toFixed(2); transit.TRANS_TOT_PREM_FC = sumTotalPremFc.toFixed(2); transit.TRANS_TOT_PREM_BC = sumTotalPremBc.toFixed(2); transit.TRANS_RI_PREM_FC = sumRiPremFc.toFixed(2); transit.TRANS_RI_PREM_BC = sumRiPremBc.toFixed(2); transit.TRANS_RI_SI_FC = sumRiSiFc.toFixed(2); transit.TRANS_RI_SI_BC = sumRiSiBc.toFixed(2); transit.TRANS_DISC_FC = sumDisFc.toFixed(2); transit.TRANS_DISC_BC = sumDisBc.toFixed(2); transit.TRANS_LOAD_FC = sumLoadFc.toFixed(2); transit.TRANS_LOAD_BC = sumLoadBc.toFixed(2); transit.TRANS_SI_BC = riskSumSibc.toFixed(2); transit.TRANS_SI_FC = riskSumSifc.toFixed(2); transit.TRANS_PERIOD_DAYS = polNumDays; } riskSumSifc = 0; riskSumSibc = 0; sumGrossPremFc = 0; sumGrossPremBc = 0; sumNetPremFc = 0; sumNetPremBc = 0; sumLoadFc = 0; sumLoadBc = 0; sumDisFc = 0; sumDisBc = 0; sumRiPremFc = 0; sumRiPremBc = 0; sumRiSiFc = 0; sumRiSiBc = 0; sumTotalPremFc = 0; sumTotalPremBc = 0; }); loc.GAL_PERIOD_DAYS = polNumDays; loc.INS_UDW_GA_TRANSIT = transitRisks; } }); //u.setGridColumn(u.getGlobal("udwGenAccLocGrid"), // { // "GAL_PERIOD_DAYS": polNumDays, // "INS_UDW_GA_TRANSIT": JSON.stringify(transitRisks) // }); u.clear_grid_data(u.getGlobal("udwGenAccLocGrid")); u.grid_populate(u.getGlobal("udwGenAccLocGrid"), "", locations); } }; //Policy Level SI and premium Calculations // calculate sum of Risk level amounts $scope.SumPolhAmounts = function() { //Declare variables var polGrossPremFc = 0; var polGrossPremBc = 0; var polNetPremFc = 0; var polNetPremBc = 0; var polLoadFc = 0; var polLoadBc = 0; var polDisFc = 0; var polDisBc = 0; var polSifc = 0; var polSibc = 0; var polSifc = 0; var polSibc = 0; var polSifc = 0; var polSibc = 0; // var polgrid = $scope.genaccident_grid; var polrowIds = polgrid.jqGrid("getDataIDs"); // iterate through the rows and check if it exists each of them for (var i = 0, len = polrowIds.length; i < len; i++) { var currRow = polrowIds[i]; // Sum risk level Amounts for Policy Level Amounts polSifc += parseFloat(polgrid.jqGrid("getCell", currRow, "TRANS_SI_FC")); polSibc += parseFloat(polgrid.jqGrid("getCell", currRow, "TRANS_SI_BC")); polGrossPremFc += parseFloat(polgrid.jqGrid("getCell", currRow, "TRANS_TOT_PREM_FC")); polGrossPremBc += parseFloat(polgrid.jqGrid("getCell", currRow, "TRANS_TOT_PREM_BC")); polLoadFc += parseFloat(polgrid.jqGrid("getCell", currRow, "TRANS_LOAD_FC")); polLoadBc += parseFloat(polgrid.jqGrid("getCell", currRow, "TRANS_LOAD_BC")); polDisFc += parseFloat(polgrid.jqGrid("getCell", currRow, "TRANS_DISC_FC")); polDisBc += parseFloat(polgrid.jqGrid("getCell", currRow, "TRANS_DISC_BC")); } $("#POLH_POL_SI_FC").val(polSifc); $("#POLH_POL_SI_BC").val(polSibc); $("#POLH_POL_PREM_FC").val(polGrossPremFc); $("#POLH_POL_PREM_BC").val(polGrossPremBc); $("#POLH_NET_PREM_FC").val(polGrossPremFc); $("#POLH_NET_PREM_BC").val(polGrossPremBc); // $("#POLH_POL_LOAD_FC").val(polLoadFc); $("#POLH_POL_LOAD_BC").val(polLoadBc); $("#POLH_POL_DISC_FC").val(polDisFc); $("#POLH_POL_DISC_BC").val(polDisBc); // $("#TRANS_AGGRET_LIMIT").val(polSifc); $("#TRANS_AGGRET_LIMIT1").val(polSibc); $("#TRANS_LIMIT_OCCUR").val(polSifc); $("#TRANS_LIMIT_OCCUR1").val(polSibc); $("#TRANS_PREM_FC").val(polGrossPremFc); $("#TRANS_PREM_BC").val(polGrossPremBc); }; //Commission Calculations function calculateIntermediaryComm() { //grdIntermediaryComm $scope.intermCom_grid var commgrid = $scope.intermCom_grid; var commrowIds = commgrid.jqGrid("getDataIDs"); var polPremFC = parseFloat($("#POLH_POL_PREM_FC").val() | 0); var polPremBC = parseFloat($("#POLH_POL_PREM_BC").val() | 0); // iterate through the rows if (polPremFC == 0) { } else if (u.grid_empty($scope.intermCom_grid)) { } else { for (var i = 0, len = commrowIds.length; i < len; i++) { var currRow = commrowIds[i]; // Sum risk level Amounts for Policy Level Amounts commgrid.jqGrid("setCell", currRow, "CMM_PREM_AMT_FC", polPremFC.toFixed(2)); commgrid.jqGrid("setCell", currRow, "CMM_PREM_AMT_BC", polPremBC.toFixed(2)); // comPerc = parseFloat(commgrid.jqGrid("getCell", currRow, "CMM_COM_PERC") | 0); var CommAmountFC = parseFloat(polPremFC * comPerc / 100); var CommAmountBC = parseFloat(polPremBC * comPerc / 100); //CommAmountFC CommAmountBC commgrid.jqGrid("setCell", currRow, "CMM_COM_AMT_FC", CommAmountFC.toFixed(2)); commgrid.jqGrid("setCell", currRow, "CMM_COM_AMT_BC", CommAmountBC.toFixed(2)); } } } /* Get default covers for the first time of loading the Risk Covers */ function getDefaultRiskCovers() { if ($("#POLH_SUB_CLASS_CODE").val() == "") { u.growl_warning("The Risk Code cannot be null, Please check and try again"); } else { /* obtain parameter for our request */ var productRiskData = { PRD_CODE: $("#POLH_SUB_CLASS_CODE").val(), CUR_RATE: $("#POLH_CURRENCY_RATE").val(), }; // var grid = $scope.cover_grid; var rowIds = grid.jqGrid("getDataIDs"); //declare array to contain the codes to varify var CodeArray = []; // iterate through the rows in the grid and add Covers to Array for (var i = 0, len = rowIds.length; i < len; i++) { var currRow = rowIds[i]; //get value of the cell or column in an array var coverCode = grid.jqGrid("getCell", currRow, "RCOV_CODE"); var RiskCode = grid.jqGrid("getCell", currRow, "RCOV_RISK_SYS_ID"); var riskCov = coverCode + RiskCode; //alert(riskCov); CodeArray.push(riskCov); } //send parameters and get Default covers from the database s.getRiskDefaulCovers(productRiskData, function(result) { if (result && result.length && result.length > 0) { for (var i in result) { //alert(JSON.stringify(result)); result[i]["RCOV_NAME"] = result[i]["MS_UDW_COVERS"]["CVR_NAME"]; result[i]["RCOV_TYPE"] = result[i]["MS_UDW_COVERS"]["CVR_TYPE"]; result[i]["RCOV_RI_YN"] = result[i]["MS_UDW_COVERS"]["CVR_RI_APPLICABLE"]; result[i]["CVR_USER_PREMIUM"] = result[i]["MS_UDW_COVERS"]["CVR_USER_PREMIUM"]; result[i]["RCOV_PREM_REFUND"] = result[i]["MS_UDW_COVERS"]["RCOV_PREM_REFUND"]; result[i]["RCOV_RATE_CHANGE"] = result[i]["MS_UDW_COVERS"]["CVR_RATE_CHANGE"]; result[i]["RCOV_SI_CHANGE"] = result[i]["MS_UDW_COVERS"]["CVR_SI_CHANGE"]; result[i]["RCOV_COVER_LEVEL"] = result[i]["MS_UDW_COVERS"]["RCOV_COVER_LEVEL"]; result[i]["RCOV_RISK_SYS_ID"] = $("#TRANS_SYS_ID").val(); result[i]["RCOV_RISK_NO"] = $("#TRANS_RISK_ID").val(); result[i]["RCOV_SI_FC"] = $("#TRANS_ANN_TURNOVER_FC").val(); result[i]["RCOV_SI_BC"] = $("#TRANS_ANN_TURNOVER_FC").val(); var deftCoverCode = result[i].RCOV_CODE; var newRiskCode = $("#TRANS_SYS_ID").val(); var verifyRiskCover = deftCoverCode + newRiskCode; //alert(verifyRiskCover); //add if Cover is not found in the Grid// if ($.inArray(verifyRiskCover, CodeArray) < 0) { //fill in default covers if not in the grid $scope.cover_grid.addRowData(result[i].ID, result[i]); } else { u.growl_warning("Cover exists for this Risk, you cannot add same Cover " + deftCoverCode); } } // //SumCoverRiskValues(); } }); } } //Get default Covers if not added $("#btn_get_DeftCovers").click(function() { getDefaultRiskCovers(); }); /*-------------------------------------------------- * FAC Partiicpating company Details Modal *------------------------------------------------*/ // //$("#btn_Participant").click(function() { // //obthain the id of the selected fac details // var grid = $scope.grdfacInward_grid; // var selRow = $scope.selectedfac = u.getSelRow(grid); // if (selRow) { // //obtain the companies that have been assigned to selected treaty details // var facString = grid.jqGrid("getCell", selRow, "INS_RI_FAC_INW_COMPANY") || "[]"; // console.log(facString); // var facJson = []; // if (facString.length <= 0) { // } // facJson = u.parseJson(facString); // console.log(facJson); // for (var i in facJson) { // $scope.grdInwdParticipant_grid.addRowData(facJson[i].ID, facJson[i]); // } // $("#PartipantsModal").modal(); // } else { // u.growl_warning("No FAC Detail selected, Please check and try again"); // } //}); //$("#companyOk").click(function() { // if ($scope.selectedfac) { // //obtain the compnaies that have been selected // var companies = u.get_grid_data($scope.grdInwdParticipant_grid); // console.log(companies); // alert(JSON.stringify(companies)); // //assign the set companies to the selected treaty detials // $scope.grdfacInward_grid.jqGrid("setCell", // $scope.selectedfac, // "INS_RI_FAC_INW_COMPANY", // JSON.stringify(companies)); // } else { // u.growl_info("No selected FAC to update"); // } // $("#PartipantsModal").modal("hide"); // u.clear_grid_data($scope.grdInwdParticipant_grid); //}); $("#PartipantsModal .close, #companyClose").click(function() { u.clear_grid_data($scope.riCompany_grid); }); /*-------------------------- * FAC Inward Modal *-------------------------*/ //$("#btnFACInward").on("click", // function() { // if (u.grid_empty($scope.genaccident_grid)) return u.growl_info("Please enter risk details first"); // $("#MemberIwardModal").modal(); // var message = "FAC Inward Details"; // $("#textCoinsMember").text(message); // }); /*------------------------- * FAC Inward Modal *-------------------------*/ //$("#btnCoInsMember").on("click", // function() { // if (u.grid_empty($scope.genaccident_grid)) return u.growl_info("Please enter risk details first"); // $("#MemberIwardModal").modal(); // //$('#FINW_CEDANT_CODE').val($('#POLH_CMP_CODE').val()); // //$('#FINW_CEDANT_NAME').val($('#CMP_NAME').val()); // var message = "Co-Insurance Details"; // $("#textCoinsMember").text(message); // }); /*------------------------- * Coinsurance Leader Modal *-------------------------*/ //$("#btnCoInsLeader").on("click", // function() { // if (u.grid_empty($scope.genaccident_grid)) return u.growl_info("Please enter risk details first"); // $("#CoInsLeaderModal").modal(); // }); /*----------------------------------- * Fac Buttons Enable/Disable *----------------------------------*/ $("#POLH_INS_SOURCE").change(function() { var polins = $("#POLH_INS_SOURCE").val(); //alert(polins) if (polins === "") { u.growl_warning("Please select the Policy Insurance Source"); } else if (polins === "FIN") { $("#btnFACInward").show(); $("#btnCoInsMember").hide(); $("#btnCoInsLeader").hide(); } else if (polins === "COM") { $("#btnFACInward").hide(); $("#btnCoInsMember").show(); $("#btnCoInsLeader").hide(); } else if (polins === "COL") { $("#btnFACInward").hide(); $("#btnCoInsMember").hide(); $("#btnCoInsLeader").show(); } }); $("#POLH_INS_SOURCE").blur(function() { var polins = $("#POLH_INS_SOURCE").val(); //alert(polins) if (polins === "") { u.growl_warning("Please select the Policy Insurance Source"); } else if (polins === "FIN") { $("#btnFACInward").show(); $("#btnCoInsMember").hide(); $("#btnCoInsLeader").hide(); } else if (polins === "COM") { $("#btnFACInward").hide(); $("#btnCoInsMember").show(); $("#btnCoInsLeader").hide(); } else if (polins === "COL") { $("#btnFACInward").hide(); $("#btnCoInsMember").hide(); $("#btnCoInsLeader").show(); } }); $scope.insSrcChange = function() { var polins = $("#POLH_INS_SOURCE").val(); if (polins === "DIR") { $("#btnFACInward").hide(); $("#btnCoInsMember").hide(); $("#btnCoInsLeader").hide(); } else if (polins === "FIN") { $("#btnFACInward").show(); $("#btnCoInsMember").hide(); $("#btnCoInsLeader").hide(); } else if (polins === "COM") { $("#btnFACInward").hide(); $("#btnCoInsMember").show(); $("#btnCoInsLeader").hide(); } else if (polins === "COL") { $("#btnFACInward").hide(); $("#btnCoInsMember").hide(); $("#btnCoInsLeader").show(); } }; /*------------------------- * Risk Discount & Loading *--------------------------*/ $("#btn_risk_discloading").click(function() { if (u.grid_empty($scope.genaccident_grid)) return u.modalAlert("The risk Grid is empty!!!"); if (u.getSelRow($scope.genaccident_grid)) { $("#DL_RISK_SYS_ID").val(u.getCell($scope.genaccident_grid, u.getSelRow($scope.genaccident_grid), "TRANS_SYS_ID")); $scope.hideShowDiscountLoading(); $("#riskDiscloadingModal").modal(); } else { u.growl_info("Please select a risk"); } }); /*----------------------------- * Discount & Loading retrieval *-----------------------------*/ $("#btnRiskDLdLOV").on("click", function() { $("#RiskDiscLoadModal").modal(); var grid = $scope.riskdiscload_grid; var rowIds = grid.jqGrid("getDataIDs"); //send parameters and get from the database s.discountloadingList(function(result) { if (result && result.length && result.length > 0) { //clear Grid $scope.riskdiscload_grid.jqGrid("clearGridData"); //fill grid for (var i in result) { $scope.riskdiscload_grid.addRowData(result[i]["MMO_CODE"], result[i]); } } }); }); /*----------------------------- * Discount & Loading function *-----------------------------*/ $scope.discLoadingUpdates = function() { //[grossPremFc=0, grossPremBc=1, vehBasicPrem=2, excessBoughtPrem = 3, ccLoadingPrem = 4, AddTPPDPrem = 5, RiskPrem = 6, TPBasicPrem = 7, extraSeatPrem = 8, ncdPrem = 9]; var disLoad = $scope.individualRiskPremiumCalculator(), grid = $scope.riskdiscloading_grid, currRate = parseFloat($("#POLH_CURRENCY_RATE").val() || 0); console.log(disLoad); //obtain the discount and loading grid data var rowIds = grid.jqGrid("getDataIDs"); var prem = 0, amnt = 0, netDlPrem = 0; for (var i in rowIds) { //obtain the percentage var perc = grid.jqGrid("getCell", rowIds[i], "DL_RATE"); //obtain the total premium to calculate the discount on - prem = ((DIS_LOAD[6]) || 0 + (DIS_LOAD[7] || 0)); switch (u.getCell(grid, rowIds[i], "DL_CODE")) { case "D002": //NORMAL DISCOUNT prem = (((disLoad[0]) || 0) - ((disLoad[9]) || 0)); break; case "L002": //NORMAL LOADING prem = ((disLoad[0]) || 0); break; } //check if the current row is a discount or it is a load amnt = u.getCell(grid, rowIds[i], "DL_TYPE") === "D" ? -(prem * (perc / 100)) : (prem * (perc / 100)); netDlPrem = ((disLoad[0] || 0)) + amnt; u.setCell(grid, rowIds[i], "DL_AMT_BC", (amnt * currRate)); u.setCell(grid, rowIds[i], "DL_AMT_FC", (amnt)); u.setCell(grid, rowIds[i], "DL_PREM_BC", (netDlPrem * currRate)); u.setCell(grid, rowIds[i], "DL_PREM_FC", (netDlPrem)); } }; //refresh Cover, Risk and policy Values on closing the Risk Cover Modal $("#btnCalcDisLoad").click($scope.discLoadingUpdates); /*------------------------------- * Risk Discount/Loading *--------------------------------*/ // $("#btn_add_riskdiscloading").on("click", function() { if (u.form_validation("#riskdiscloadingForm")) { //if ($("input[name='DL_CODE']").val() === "") return u.modalAlert("Please Enter Policy Excess No"); u.modal_confirmation("Are you sure you want to add the Risk Discount/Loading Details?", function() { var rowIds = $scope.riskdiscloading_grid.jqGrid("getDataIDs"); /*---------------------------------------------- * declare array to contain the codes to verify *--------------------------------------------*/ // var code = []; /*------------------------------------------------------------ * iterate through the rows and check duplicate each of them *----------------------------------------------------------*/ // for (var i = 0, len = rowIds.length; i < len; i++) { var currRow = rowIds[i]; /*------------------------------------------------ * get value of the cell or column in an array *----------------------------------------------*/ //DL_CODE var cellValue = $scope.riskdiscloading_grid.jqGrid("getCell", currRow, "DL_CODE"); code.push(cellValue); } /*---------------------------------------- * add if code is not found in the Grid *--------------------------------------*/ // if ($.inArray($("#DL_CODE").val(), code) < 0) { var formData = u.parse_form("#riskdiscloadingForm"); formData.DL_STATUS = "U"; formData.DL_CRTE_BY = u.getUserCode(); formData.DL_CRTE_DATE = u.get_date(); $scope.riskdiscloading_grid.addRowData(formData.ID, formData); u.hide_confirm(); u.growl_success("Risk Discount/Loading successfully added to grid"); u.form_reset("#riskdiscloadingForm"); $scope.discLoadingUpdates(); } else { u.hide_confirm(); u.growl_warning("Risk Discount/Loading with code " + cellValue + " Already exists"); } }); } else { u.growl_error("Please fill out the fields that are marked red"); } }); // Deleting $("#btn_remove_riskdiscloadings").on("click", function() { if (u.grid_empty($scope.riskdiscloading_grid)) return u.modalAlert("Grid is empty!!!"); var grid = $scope.riskdiscloading_grid; var rowId = grid.jqGrid("getGridParam", "selrow"); var recordStatus = grid.jqGrid("getCell", rowId, "DL_STATUS"); var code = grid.jqGrid("getCell", rowId, "DL_CODE"); var message = ""; /*--------------------------------- * Display modal message *------------------------------*/ // u.modal_confirmation("Are you sure you want to remove the Record?", function(e) { /*-------------------------------------------- * Remove newly added record before saving *------------------------------------------*/ // if (recordStatus == "U") { grid.jqGrid("delRowData", rowId); u.hide_confirm(); u.growl_success("Selected row successfully deleted"); } /*---------------------------------------- * Mark a record for deletion on saving *--------------------------------------*/ // if (recordStatus == "A") { grid.jqGrid("setCell", rowId, "DL_STATUS", "D"); $("#" + rowId, "#grdRiskDiscloading").css({ color: "red" }); u.hide_confirm(); u.growl_success( "Selected row successfully marked for deletion, please click on the save button to save changes"); } else if (recordStatus == "D") { $("#" + rowId, "#grdRiskDiscloading").css({ color: "black" }); grid.jqGrid("setCell", rowId, "DL_STATUS", "A"); u.hide_confirm(); u.growl_success("Data successfully restored"); } $scope.discLoadingUpdates(); }); }); // Updating $("#btn_update_riskdiscloading").on("click", function() { if (u.grid_empty($scope.riskdiscloading_grid)) return u.growl_info("Excess grid is empty"); if (u.form_validation("#riskdiscloadingForm")) { u.modal_confirmation("Are you sure you want to update the selected Discount/Loading?", function() { var grid = $scope.riskdiscloading_grid; var rowId = grid.jqGrid("getGridParam", "selrow"); var code = grid.jqGrid("getCell", rowId, "DL_CODE"); if (code === $("input[name='DL_CODE']").val()) { var data = u.parse_form("#riskdiscloadingForm"); for (var i in data) { grid.jqGrid("setCell", rowId, i, data[i]); } u.hide_confirm(); u.growl_success("Risk Discount/Loading updated"); } else { u.hide_confirm(); u.growl_warning("Please select the correct row to edit"); } $scope.discLoadingUpdates(); }); } }); /*----------------------------------- * Hide/Show Risk Discount & Loading *----------------------------------*/ $scope.hideShowDiscountLoading = function() { //get the selected Risk ID var prodgrid = $scope.genaccident_grid; var selId = prodgrid.jqGrid("getGridParam", "selrow"); var prodRiskId = prodgrid.jqGrid("getCell", selId, "GAR_SYS_ID"); //get the discount and loading data var discLopadingGrid = $scope.polhdiscloading_grid; var rowIds = discLopadingGrid.jqGrid("getDataIDs"); //iterate through the discounts and loading rows to hide or show them for (var i = 0, len = rowIds.length; i < len; i++) { //get value of the cell or column in an array var currRow = rowIds[i]; var getRiskCovId = discLopadingGrid.jqGrid("getCell", currRow, "DL_RISK_SYS_ID"); if (getRiskCovId !== prodRiskId) { //hide if covers are not for the selected risk $("#" + currRow).hide(); } else if (getRiskCovId === prodRiskId) { //Show if covers are for the selected risk $("#" + currRow).show(); } } }; /*--------------------------------------------- * EML Select Options *--------------------------------------------*/ $("form select[name='TRANS_EML_YN']").change(function() { if ($(this).val() === "N") { $("#TRANS_EML_PERC").prop("disabled", "disabled"); $("#TRANS_EML_PERC").prop("required", false); } else if ($(this).val() === "Y") { $("#TRANS_EML_PERC").removeAttr("disabled"); $("#TRANS_EML_PERC").removeAttr("readonly"); $("#TRANS_EML_PERC").prop("required", true); } else { $("#TRANS_EML_PERC").val(""); $("#TRANS_EML_PERC").prop("disabled", "disabled"); } }); $("#TRANS_RIC_YN").change(function() { switch ($(this).val()) { case "Y": $("#combination").show(0); $("#TRANS_RIC_CODE").prop("required", "required"); break; case "N": $("#combination").hide(0); $("#TRANS_RIC_CODE").val(""); $("#RIC_NAME").val(""); $("#TRANS_RIC_CODE").removeAttr("required"); break; default: } }); $scope.RICalculations = function () { if ($("#POLH_TXN_STATE").val() === "P") { u.clear_grid_data(u.getGlobal("udwRIGrid")); if (u.getGlobal("RIData")) { u.bigDataPopulate(u.getGlobal("udwRIGrid"), u.getGlobal("RIData")); } return; } var riData = []; u.get_grid_data(u.getGlobal("udwGenAccLocGrid")).ForEach(function (risk) { riData.Add({ RI_DESCRIPTION: $scope.riDisciption(risk), RI_SI_FC: risk.GAL_RI_SI_FC, RI_SI_BC: risk.GAL_RI_SI_BC, RI_PREM_BC: risk.GAL_RI_PREM_BC, RI_PREM_FC: risk.GAL_RI_PREM_FC, RISK_ID: risk.GAL_SYS_ID, EML_PERC: risk.GAL_EML_PERC, FROM_DATE: risk.GAL_START_DATE, TO_DATE: risk.GAL_END_DATE, TOT_SI_FC: risk.GAL_SI_FC, TOT_SI_BC: risk.GAL_SI_BC, TOT_PREM_BC: risk.GAL_TOT_PREM_BC, TOT_PREM_FC: risk.GAL_TOT_PREM_FC, UW_YEAR: risk.GAL_UW_YEAR, RI_STATUS: risk.GAL_STATUS }); }); var ri = u.getGlobal("RiCalculations")(riData, u.getGlobal("treatyData")) || []; u.clear_grid_data(u.getGlobal("udwRIGrid")); u.bigDataPopulate(u.getGlobal("udwRIGrid"), ri); u.getGlobal("showRICount")(); }; u.setGlobal("PolicyCalculations", function (bool) { //$scope.SumCoverRiskValues(); //$scope.premiumSummarizer(); u.getGlobal("gaPremSummarizer")(); $scope.RICalculations(); u.getGlobal("facOutwardCalUpdate")(); //$scope.policyCommissionSummarizer(); if (bool) { if ($("#POLH_TXN_STATE").val() === "E") { $scope.financialDiff(u.getGlobal("GaGetPolicyData")()); $("#suspensionDetails").show(); } } }); $("#TRANS_EML_PERC").blur(function() { u.getGlobal("max100")("TRANS_EML_PERC"); }); //$("#POLH_SUB_CLASS_CODE").change(function() { // if ($(this).val() === "8002") { // $("#eqzonediv").addClass("m-hide"); // $("#floodzonediv").addClass("m-hide"); // } //}); $("#POLH_CURRENCY_RATE, #POLH_CURRENCY").on("change blur", function() { var rate = parseFloat($("#POLH_CURRENCY_RATE").val()); var currency = $("#POLH_CURRENCY").val(); // check for Premium pasis const premBasis = $("#POLH_PREM_BASIS").val(); var polNumDays = parseInt($("#POLH_POL_DAYS").val()); var proRataPerc = 0; switch (premBasis) { case "SP": var shortPeriod = u.getGlobal("shortPeriods").Where(s => s.days === polNumDays); proRataPerc = parseFloat(shortPeriod[0].perc) / 100; break; case "PR": proRataPerc = parseFloat(polNumDays / 365); break; case "FP": proRataPerc = 1; break; } if (!u.grid_empty(u.getGlobal("udwGenAccLocGrid"))) { var locations = u.get_grid_data(u.getGlobal("udwGenAccLocGrid")); locations.ForEach(loc => { //loc.GAL_RI_PREM_BC = parseFloat(loc.GAL_RI_PREM_FC || 0) * rate; //loc.GAL_LOAD_BC = parseFloat(loc.GAL_LOAD_FC || 0) * rate; //loc.GAL_DISC_BC = parseFloat(loc.GAL_RISK_PREM_BC || 0) * rate; //loc.GAL_SI_BC = parseFloat(loc.GAL_SI_FC || 0) * rate; //loc.GAL_TOT_PREM_BC = parseFloat(loc.GAL_TOT_PREM_FC || 0) * rate; //loc.GAL_RISK_PREM_BC = parseFloat(loc.GAL_RISK_PREM_FC || 0) * rate; loc.GAL_CURRENCY_RATE = rate; loc.GAL_CURRENCY = currency; //loc.GAL_ADJ_PREM_BC = parseFloat(loc.GAL_ADJ_PREM_FC || 0) * rate; loc.INS_UDW_GA_TRANSIT = u.parseJson(loc.INS_UDW_GA_TRANSIT); loc.INS_UDW_GA_TRANSIT.ForEach(risk => { risk.TRANS_CURR_RATE = rate; risk.TRANS_CURRENCY = currency; //risk.TRANS_LIMIT_LOSS_BC = parseFloat(risk.TRANS_LIMIT_LOSS_FC || 0) * rate; //risk.TRANS_PREMIUM_BC = parseFloat(risk.TRANS_PREMIUM_FC || 0) * rate; //risk.TRANS_SUM_INSURED_BC = parseFloat(risk.TRANS_SUM_INSURED_FC || 0) * rate; //risk.TRANS_RI_SI_BC = parseFloat(risk.TRANS_RI_SI_FC || 0) * rate; //risk.TRANS_ADJ_PREM_BC = parseFloat(risk.TRANS_ADJ_PREM_FC || 0) * rate; //risk.TRANS_RISK_PREM_BC = parseFloat(risk.TRANS_RISK_PREM_FC || 0) * rate; //risk.TRANS_TOT_PREM_BC = parseFloat(risk.TRANS_TOT_PREM_FC || 0) * rate; //risk.TRANS_SI_BC = parseFloat(risk.TRANS_SI_FC || 0) * rate; //risk.TRANS_ANN_TURNOVER_BC = parseFloat(risk.TRANS_ANN_TURNOVER_FC || 0) * rate; //risk.TRANS_COMM_BC = parseFloat(risk.TRANS_COMM_FC || 0) * rate; //risk.TRANS_LOAD_BC = parseFloat(risk.TRANS_LOAD_FC || 0) * rate; //risk.TRANS_DISC_BC = parseFloat(risk.TRANS_DISC_FC || 0) * rate; //risk.TRANS_RI_PREM_BC = parseFloat(risk.TRANS_RI_PREM_FC || 0) * rate; risk.INS_UWD_RISK_COVERS = u.parseJson(risk.INS_UWD_RISK_COVERS); risk.INS_UWD_RISK_COVERS.ForEach(cov => { cov.RCOV_LOAD_BC = parseFloat(parseFloat(cov.RCOV_LOAD_FC || 0) / rate).toFixed(2); cov.RCOV_DISC_BC = parseFloat(parseFloat(cov.RCOV_DISC_FC || 0) / rate).toFixed(2); cov.RCOV_SI_BC = parseFloat(parseFloat(cov.RCOV_SI_FC || 0) / rate).toFixed(2); cov.RCOV_ANNL_PREM_BC = parseFloat(parseFloat((cov.RCOV_SI_BC || 0) * cov.RCOV_RATE) / rate).toFixed(2); cov.RCOV_GROSS_PREM_BC = parseFloat(parseFloat(cov.RCOV_ANNL_PREM_BC * proRataPerc) / rate).toFixed(2); cov.RCOV_NET_PREM_BC = parseFloat(parseFloat(cov.RCOV_ANNL_PREM_BC * proRataPerc) / rate).toFixed(2); cov.INS_UDW_COVER_DISCLOAD = u.parseJson(cov.INS_UDW_COVER_DISCLOAD); cov.INS_UDW_COVER_DISCLOAD.ForEach(d => { d.DL_PREM_BC = parseFloat(parseFloat(d.DL_PREM_FC || 0) * rate).toFixed(2); }); }); //risk.INS_UWD_RISK_COVERS = JSON.stringify(risk.INS_UWD_RISK_COVERS); //fees risk.INS_UDW_GA_RISK_FEES = u.parseJson(risk.INS_UDW_GA_RISK_FEES); risk.INS_UDW_GA_RISK_FEES.ForEach(fee => { fee.GAR_FEE_FC_AMOUNT = parseFloat(fee.GAR_FEE_FC_AMOUNT / rate).toFixed(2); }); //risk.INS_UDW_GAR_FEES = JSON.stringify(risk.INS_UDW_GAR_FEES); }); loc.INS_UDW_GA_TRANSIT = JSON.stringify(loc.INS_UDW_GA_TRANSIT); }); u.clear_grid_data(u.getGlobal("udwGenAccLocGrid")); u.grid_populate(u.getGlobal("udwGenAccLocGrid"), "", locations); // Policy fees update var polFees = u.get_grid_data($scope.polfees_grid); polFees.ForEach(x => { x.POL_FEE_FC_AMOUNT = (parseFloat(x.POL_FEE_BC_AMOUNT) / parseFloat(rate)).toFixed(2); }); u.clear_grid_data($scope.polfees_grid); u.grid_populate($scope.polfees_grid, "", polFees); $scope.RecalculatePremium(); } }); $("#btn_premium_recalculate").click(function () { $scope.RecalculatePremium(); }); $scope.rawGeneralAccident = function () { const product = u.parse_form("#polheaderForm") || {}; /*---------------------------------- * GETS ALL REMAINING PRODUCT MODELS *---------------------------------*/ u.getGlobal("Product")(product); return product; }; $scope.rawGeneralAccidentPopulateFull = function (policy) { /*---------------------- * CONDITIONS AND CLAUSES *----------------------*/ u.clear_grid_data(u.getGlobal("udwClausesGrid")); policy.INS_UDW_POL_COND_CLAUSES = (typeof (policy.INS_UDW_POL_COND_CLAUSES) === "string" ? JSON.parse(policy.INS_UDW_POL_COND_CLAUSES || "[]") : policy.INS_UDW_POL_COND_CLAUSES) || []; u.bigDataPopulate(u.getGlobal("udwClausesGrid"), policy.INS_UDW_POL_COND_CLAUSES); /*---------------------------------------------------------- * HIDE POLICY CONDITION CLAUSE WITH STATUS (X) ON FROM GRID *----------------------------------------------------------*/ u.getGlobal("PolicyConditionClauseRemoval")(); }; u.setGlobalStatic("subProductChange", async function () { /*----------------------------------------------------------- * i HAVE TO PREVENT THE RECALCULATION OF INS SOURCE RESELECT *----------------------------------------------------------*/ let product = $scope.rawGeneralAccident() || {}; /*------------------------- * CONDITION CLAUSE REFETCH *-------------------------*/ await u.getGlobal("ConditionClause")(product); u.fill_form(product, "#polheaderForm", false); if (true) { /*----------------------------------------------- * REPOPULATE THE GRID AND RECALCULATE THE RECORDS *-----------------------------------------------*/ $scope.rawGeneralAccidentPopulateFull(product); } else { $scope.rawGeneralAccidentPopulateFull(product); }; }); u.setGlobalStatic("RecalculateFill", async function () { /*------------------------------------------ * PREMIUM BASIS PROPERTY && TREATY PROPERTY *-----------------------------------------*/ let days = $("#POLH_POL_DAYS").val(); let subClassCode = $("#POLH_SUB_CLASS_CODE").val(); let premiumBasis = $("#POLH_PREM_BASIS").val(); let currency = $("#POLH_CURRENCY").val(); let year = $("#POLH_POL_UW_YEAR").val(); if (days.length && subClassCode.length && premiumBasis.length && currency.length && year.length) $scope.RecalculatePremium(); }); $scope.RecalculatePremium = function() { $scope.loader(function () { u.clear_grid_data($scope.cover_grid); $scope.SumCoverRiskValues(); u.getGlobal("gaPremReSummarizer")(); u.getGlobal("PolicyCalculations")(true); }); }; $("#POLH_POL_DAYS").blur(function () { const days = parseInt($(this).val()); if (!u.grid_empty(u.getGlobal("udwGenAccLocGrid"))) { u.setGridColumn(u.getGlobal("udwGenAccLocGrid"), { "GAL_PERIOD_DAYS": days.toFixed(0), "GAL_START_DATE": $("#POLH_POL_START_DATE").val(), "GAL_END_DATE": $("#POLH_POL_END_DATE").val(), "INS_UDW_GA_TRANSIT": function (val) { var risks = u.parseJson(val); risks.ForEach(r => { r.TRANS_PERIOD_DAYS = days; r.TRANS_START_DATE = $("#POLH_POL_START_DATE").val(); r.TRANS_END_DATE = $("#POLH_POL_END_DATE").val(); }); return JSON.stringify(risks); } }); $scope.RecalculatePremium(); } }); /*-------------------------- * RI DESCRIPTION PROPERTIES *--------------------------*/ $scope.riDisciption = function (v) { const product = u.parse_form("#polheaderForm") || {}; let data = { SubClass: product.PDT_NAME, Region: v.GAL_REGION_NAME, Area: v.GAL_AREA_NAME, Address: v.GAL_LOC_ADDRS } let result = u.getGlobal("riDiscriptionConcat")(data); return result; } /** * RENEWAL PROCESSING CHECK * @param {object} $scope.query query param object * @return null */ $scope.query = $.url().param(); if (!jQuery.isEmptyObject($scope.query)) { if ($scope.query.polid) { const newUrl = location.href.split("?")[0]; u.modalConfirmationAsync("Continue with renewal?", async function () { var response = await s.getPolicyAsync($scope.query.polid); if (response.state) { if (jQuery.isEmptyObject(response.data)) return u.growl_info("Policy not found"); if (response.data.POLH_TXN_STATE == "R") { return window.location.href = window.location.href + "?id=" + response.data.POLH_SYS_ID } var renPolicy = u.getGlobal("renewalProcess")(response.data); // fill policy header u.getGlobalStatic("productSearchFill")(renPolicy); renPolicy.INS_UDW_GENERAL_ACCIDENT_LOC.ForEach(b => { b.GAL_START_DATE = renPolicy.POLH_POL_START_DATE; b.GAL_END_DATE = renPolicy.POLH_POL_END_DATE; b.GAL_UW_YEAR = renPolicy.POLH_POL_UW_YEAR; b.GAL_POLH_END_NO = 0; b.GAL_POLH_RNW_NO = renPolicy.POLH_RENEW_SER_NO; b.INS_UDW_GA_TRANSIT = u.parseJson(b.INS_UDW_GA_TRANSIT); b.INS_UDW_GA_TRANSIT.ForEach(h => { h.TRANS_START_DATE = renPolicy.POLH_POL_START_DATE; h.TRANS_END_DATE = renPolicy.POLH_POL_END_DATE; h.TRANS_UW_YEAR = renPolicy.POLH_POL_UW_YEAR; h.TRANS_POLH_END_NO = 0; h.TRANS_POLH_RNW_NO = renPolicy.POLH_RENEW_SER_NO; h.INS_UWD_RISK_COVERS = u.parseJson(h.INS_UWD_RISK_COVERS); h.INS_UWD_RISK_COVERS.ForEach(c => { c.RPCOV_END_NO = 0; c.RPCOV_RNW_NO = renPolicy.POLH_RENEW_SER_NO; delete c.MS_UDW_COVERS; }); h.INS_UDW_GA_RISK_FEES = u.parseJson(h.INS_UDW_GA_RISK_FEES); h.INS_UDW_GA_RISK_FEES.ForEach(f => { f.GAR_FEE_RNW_NO = renPolicy.POLH_RENEW_SER_NO; f.GAR_FEE_END_NO = 0; }); }); }); var newRenPolicy = $scope.renewalReSummarizer(renPolicy); var treatyResult = await s.getProductTreatyAsync(renPolicy.POLH_SUB_CLASS_CODE, renPolicy.POLH_POL_UW_YEAR, renPolicy.POLH_CURRENCY); if (treatyResult.state && treatyResult.data) { u.setGlobal("treatyData", treatyResult.data); var riData = []; newRenPolicy.INS_UDW_GENERAL_ACCIDENT_LOC.ForEach(v => { let data = { RI_DESCRIPTION: $scope.riDisciption(v), RI_SI_FC: v.GAL_RI_SI_FC || 0, RI_SI_BC: v.GAL_RI_SI_BC || 0, RI_PREM_BC: v.GAL_RI_PREM_BC, RI_PREM_FC: v.GAL_RI_PREM_FC, RISK_ID: v.GAL_SYS_ID, EML_PERC: v.GAL_EML_PERC, FROM_DATE: v.GAL_START_DATE, TO_DATE: v.GAL_END_DATE, TOT_SI_FC: v.GAL_SI_FC, TOT_SI_BC: v.GAL_SI_BC, TOT_PREM_BC: v.GAL_TOT_PREM_BC, TOT_PREM_FC: v.GAL_TOT_PREM_FC, UW_YEAR: v.GAL_UW_YEAR || renPolicy.POLH_POL_UW_YEAR, RI_STATUS: "U" }; riData.Add(data); }); //let riResult = await u.getGlobal("RIReCalculation")(newRenPolicy, riData); //var riHead = u.getGlobal("RICode")(newRenPolicy, riResult); let riHead = u.getGlobal("RiCalculations")(riData, treatyResult.data); riHead.ForEach(ri => { ri.TTH_POLH_END_NO = 0; ri.TTH_POLH_RNW_NO = renPolicy.POLH_RENEW_SER_NO; ri.TTH_CURRENCY = renPolicy.POLH_CURRENCY; ri.TTH_CURRENCY_RATE = renPolicy.POLH_CURRENCY_RATE; ri.INS_RI_TTY_ALLOCATION = u.parseJson(ri.INS_RI_TTY_ALLOCATION); ri.INS_RI_TTY_ALLOCATION.ForEach(a => { a.TTA_POLH_RNW_NO = renPolicy.POLH_RENEW_SER_NO; a.TTA_POLH_END_NO = 0; a.INS_RI_TTY_SHARE.ForEach(s => { s.TTS_END_NO = 0; s.TTS_RNW_NO = renPolicy.POLH_RENEW_SER_NO; }); }); }); newRenPolicy.INS_RI_TTY_HEAD = riHead; newRenPolicy.INS_RI_TTY_HEAD = riHead; delete newRenPolicy.MS_UDW_CLASS_OF_BUSINESS; delete newRenPolicy.MS_SYS_SOURCE_BUSINESS; delete newRenPolicy.MS_SYS_OFFICE; delete newRenPolicy.MS_SYS_CHANNEL; delete newRenPolicy.MS_SBU; delete newRenPolicy.MST_UWD_PRODUCT; delete newRenPolicy.INS_UDW_INSUR_SOURCE; delete newRenPolicy.MST_UWD_PRODUCT_COVERS; delete newRenPolicy.MS_UDW_CUSTOMERS; delete newRenPolicy.MS_SYS_INTERMEDIARY; if (newRenPolicy.MS_SYS_COMPANY) delete newRenPolicy.MS_SYS_COMPANY; newRenPolicy.INS_UDW_GENERAL_ACCIDENT_LOC.ForEach(loc => { loc.INS_UDW_GA_TRANSIT = u.parseJson(loc.INS_UDW_GA_TRANSIT); loc.INS_UDW_GA_TRANSIT.ForEach(t => { t.INS_UWD_RISK_COVERS = u.parseJson(t.INS_UWD_RISK_COVERS); t.INS_UDW_GA_RISK_FEES = u.parseJson(t.INS_UDW_GA_RISK_FEES); }); }); u.getGlobal("savePolicy")(newRenPolicy, function (result) { u.getGlobal("GaPolicyFill")(result); $("#PolicyModal").modal({ keyboard: false, backdrop: 'static' }); $("#tabs").tabs({ active: 2 }); u.growl_success("Renewal calculations applied. Please continue"); u.form_text_Black_color(); }, true); } else { return u.modalInfo( `Treaty not setup for underwriting year: ${renPolicy.POLH_POL_UW_YEAR}. Please contact your administrator`); } } else { u.growl_error(response.message); } }); window.history.pushState('object', document.title, newUrl); } } $scope.renewalReSummarizer = function(policy) { var sumTotalPremFc = 0; var sumTotalPremBc = 0; var sumNetPremFc = 0; var sumNetPremBc = 0; var sumRiPremFc = 0; var sumRiPremBc = 0; var totalPremFc = 0, totalPremBc = 0, totalRiPremBc = 0, totalRiPremFc = 0, totalRiskPremBc = 0, totalRiskPremFc = 0; policy.INS_UDW_GENERAL_ACCIDENT_LOC.ForEach(loc => { loc.INS_UDW_GA_TRANSIT.ForEach(transit => { transit.INS_UWD_RISK_COVERS.ForEach(c => { if (c.RCOV_STATUS !== "D") { c.RCOV_GROSS_PREM_FC = parseFloat(c.RCOV_ANNL_PREM_FC || 0); c.RCOV_GROSS_PREM_BC = parseFloat(c.RCOV_ANNL_PREM_BC || 0); c.RCOV_NET_PREM_FC = parseFloat(c.RCOV_ANNL_PREM_FC || 0); c.RCOV_NET_PREM_BC = parseFloat(c.RCOV_ANNL_PREM_BC || 0); sumNetPremFc += parseFloat(c.RCOV_ANNL_PREM_FC || 0); sumNetPremBc += parseFloat(c.RCOV_ANNL_PREM_BC || 0); sumTotalPremFc += parseFloat(c.RCOV_ANNL_PREM_FC || 0); sumTotalPremBc += parseFloat(c.RCOV_ANNL_PREM_BC || 0); if (c.RCOV_RI_PREM_YN === "Y") { sumRiPremFc += parseFloat(c.RCOV_ANNL_PREM_FC || 0); sumRiPremBc += parseFloat(c.RCOV_ANNL_PREM_BC || 0); } } }); transit.TRANS_RISK_PREM_FC = sumNetPremFc; transit.TRANS_RISK_PREM_BC = sumNetPremBc; transit.TRANS_PREMIUM_FC = sumNetPremFc; transit.TRANS_PREMIUM_BC = sumNetPremBc; transit.TRANS_TOT_PREM_FC = sumTotalPremFc; transit.TRANS_TOT_PREM_BC = sumTotalPremBc; transit.TRANS_RI_PREM_FC = sumRiPremFc; transit.TRANS_RI_PREM_BC = sumRiPremBc; }); loc.INS_UDW_GA_TRANSIT.ForEach(r => { totalPremBc += parseFloat(r.TRANS_TOT_PREM_BC || 0); totalPremFc += parseFloat(r.TRANS_TOT_PREM_FC || 0); totalRiPremBc += parseFloat(r.TRANS_RI_PREM_BC || 0); totalRiPremFc += parseFloat(r.TRANS_RI_PREM_FC || 0); totalRiskPremBc += parseFloat(r.TRANS_RISK_PREM_BC || 0); totalRiskPremFc += parseFloat(r.TRANS_RISK_PREM_FC || 0); }); loc.GAL_TOT_PREM_FC = totalPremFc; loc.GAL_TOT_PREM_BC = totalPremBc; loc.GAL_RISK_PREM_FC = totalRiskPremFc; loc.GAL_RISK_PREM_BC = totalRiskPremBc; loc.GAL_RI_PREM_FC = totalRiPremFc; loc.GAL_RI_PREM_BC = totalRiPremBc; }); return policy; }; $("#btn_coins_ok").click(function () { $scope.RecalculatePremium(); }); $("#btn_facInward_Ok").click(function () { $scope.RecalculatePremium(); u.form_reset("#facInwardForm"); $("#MemberIwardModal").modal("hide"); }); /* * RISK FEES */ $("#btnRiskFees").click(function () { if (!u.getSelRow($scope.genaccident_grid)) return u.growl_info("Select a risk"); u.clear_grid_data($scope.riskFees_grid); u.grid_populate($scope.riskFees_grid, "", u.parseJson($scope.genaccident_grid.jqGrid("getCell", u.getSelRow($scope.genaccident_grid), "INS_UDW_GA_RISK_FEES"))); $("#gaRiskFeesModal").modal(); }); $("#btn_add_fees").on("click", function () { if (u.form_validation("#riskfeesForm")) { let feesData = u.get_grid_data($scope.riskFees_grid) || []; const formData = u.parse_form("#riskfeesForm") || {}; if (feesData.Any(x => x.GAR_FEE_CODE === formData.GAR_FEE_CODE)) return u.growl_warning(`Fee with code ${formData.GAR_FEE_CODE} already exists`); u.modal_confirmation("Are you sure you want to add this fee?", function () { /*--------------------- * GET RISK DATA *-------------------**/ let Risk = u.getRow(u.getSelRow($scope.genaccident_grid), $scope.genaccident_grid) || {}; /*------------------ * GET FEES FORM DATA *----------------**/ formData.GAR_FEE_STATUS = "U"; formData.GAR_FEE_CRTE_BY = u.getUserCode(); formData.GAR_FEE_CRTE_DATE = u.get_date(); formData.GAR_FEE_END_NO = Risk.TRANS_POLH_END_NO; formData.GAR_FEE_RNW_NO = Risk.TRANS_POLH_RNW_NO; formData.GAR_FEE_RK_SYS_ID = Risk.TRANS_SYS_ID; //formData.GAR_FEE_RK_CODE = Risk.GAR_RISK_CODE; $scope.RiskFeesCalculate(formData); $scope.riskFees_grid.addRowData(undefined, formData); if (!u.get_grid_data($scope.polfees_grid).Any(x => x.POL_FEE_CODE === formData.GAR_FEE_CODE)) { var compFeedata = [formData]; var linq = Enumerable.From(compFeedata); var data = linq.GroupBy(function (x) { return x.GAR_FEE_CODE; }) .Select(function (x) { //console.log(x); return { POL_FEE_CODE: x.Key(), POL_FEE_NAME: x.source[0]["GAR_FEE_NAME"], POL_FEE_FC_AMOUNT: x.Sum(function (y) { return parseFloat(y.GAR_FEE_FC_AMOUNT || 0); }), POL_FEE_BC_AMOUNT: x.Sum(function (y) { return parseFloat(y.GAR_FEE_BC_AMOUNT || 0); }), POL_FEE_END_NO: 0, //$("#POL_END_NO").val() POL_FEE_STATUS: "U" }; }).ToArray(); //$scope.polfees_grid.jqGrid("clearGridData"); $scope.polfees_grid.addRowData(data.POL_FEE_CODE, data); } u.hide_confirm(); u.growl_success("Fee successfully added"); u.form_reset("#riskfeesForm"); }); } else { u.growl_error("Please fill out the fields that are marked red"); } }); $("#btn_update_fees").on("click", function () { if (u.grid_empty($scope.riskFees_grid)) return u.growl_info("Grid is empty"); if (u.form_validation("#riskfeesForm")) { u.modal_confirmation("Are you sure you want to update the selected fee?", function () { const grid = $scope.riskFees_grid; const rowId = u.getSelRow(grid); let data = rowId ? u.getRow(rowId, grid) : {}; let formData = u.parse_form("#riskfeesForm") || {}; if (data.GAR_FEE_CODE === formData.GAR_FEE_CODE) { data = u.objectSpread(data, formData); for (let i in data) grid.jqGrid("setCell", rowId, i, data[i]); grid.refresh(); u.hide_confirm(); u.growl_success("Fee updated successfully"); } else { u.hide_confirm(); u.growl_warning("Please select the correct row to edit"); } u.form_reset("#riskfeesForm"); }); } }); $("#btn_remove_fees").on("click", function () { if (u.grid_empty($scope.riskFees_grid)) return u.modalAlert("Grid is empty!!!"); let grid = $scope.riskFees_grid; let rowId = u.getSelRow(grid); let Result = rowId ? u.getRow(rowId, grid) : {}; let formData = u.parse_form("#riskfeesForm") || {}; let polFees = u.get_grid_data($scope.polfees_grid); if (Result.GAR_FEE_CODE === formData.GAR_FEE_CODE) { /*---------------------------------- * PREVENT DELETE OF DEFAULT RECORD *---------------------------------*/ if (Result.DL_DFT === "Y") return u.growl_warning("Default Discount/Load can not be deleted!!!"); /*----------------------- * Display modal message *---------------------*/ u.modal_confirmation("Are you sure you want to remove this fee?", function (e) { /*-------------------------------------------- * Remove newly added record before saving *------------------------------------------*/ if (Result.GAR_FEE_STATUS == "U") { grid.jqGrid("delRowData", rowId); let newPolFees = []; polFees.ForEach(pf => { if (pf.POL_FEE_CODE !== Result.GAR_FEE_CODE && pf.POL_FEE_STATUS !== "U") { newPolFees.push(pf); } }); u.clear_grid_data($scope.polfees_grid); u.grid_populate($scope.polfees_grid, "", newPolFees); u.hide_confirm(); u.growl_success("Selected fee successfully removed"); } /*---------------------------------------- * Mark a record for deletion on saving *--------------------------------------*/ if (Result.GAR_FEE_STATUS == "A") { grid.jqGrid("setCell", rowId, "GAR_FEE_STATUS", "D"); $(`#${rowId}`, "#gridGaCompFees").css({ color: "red" }); polFees.ForEach(pf => { if (pf.POL_FEE_CODE === Result.GAR_FEE_CODE && pf.POL_FEE_STATUS === "A") { pf.POL_FEE_STATUS = "D"; } }); u.clear_grid_data($scope.polfees_grid); u.grid_populate($scope.polfees_grid, "", polFees); u.hide_confirm(); u.growl_success("Selected fee successfully marked for deletion, please click on the save button to save changes"); } else if (Result.GAR_FEE_STATUS == "D") { $(`#${rowId}`, "#gridGaCompFees").css({ color: "black" }); grid.jqGrid("setCell", rowId, "GAR_FEE_STATUS", "A"); polFees.ForEach(pf => { if (pf.POL_FEE_CODE === Result.GAR_FEE_CODE && pf.POL_FEE_STATUS === "A") { pf.POL_FEE_STATUS = "A"; } }); u.clear_grid_data($scope.polfees_grid); u.grid_populate($scope.polfees_grid, "", polFees); u.hide_confirm(); u.growl_success("Fee successfully restored"); } u.form_reset("#riskfeesForm"); }); } }); $scope.RiskFeesCalculate = function (z) { z.GAR_FEE_BC_AMOUNT = parseFloat(z.GAR_FEE_BC_AMOUNT || 0).toFixed(2) || 0; z.GAR_FEE_FC_AMOUNT = parseFloat(parseFloat(z.GAR_FEE_BC_AMOUNT || 0) / parseFloat($("#POLH_CURRENCY_RATE").val() || 0)).toFixed(2) || 0; }; $("#feesOk").click(function () { var fees = u.get_grid_data($scope.riskFees_grid); var risks = u.get_grid_data($scope.genaccident_grid); risks.ForEach(r => { fees.ForEach(f => { if (f.GAR_FEE_STATUS != "D") { if (parseInt(r.TRANS_SYS_ID) === parseInt(f.GAR_FEE_RISK_SYS_ID)) { r.INS_UDW_GA_RISK_FEES = u.parseJson(r.INS_UDW_GA_RISK_FEES); r.INS_UDW_GA_RISK_FEES = r.INS_UDW_GA_RISK_FEES.Where(x => x.GAR_FEE_CODE !== f.GAR_FEE_CODE); r.INS_UDW_GA_RISK_FEES.push(f); var polFees = u.get_grid_data($scope.polfees_grid); if (!polFees.Any(x => x.POL_FEE_CODE === f.GAR_FEE_CODE)) { polFees.push({ POL_FEE_CODE: f.GAR_FEE_CODE, POL_FEE_NAME: f.GAR_FEE_NAME ? f.GAR_FEE_NAME : "", POL_FEE_FC_AMOUNT: parseFloat(f.GAR_FEE_FC_AMOUNT || 0), POL_FEE_BC_AMOUNT: parseFloat(f.GAR_FEE_BC_AMOUNT || 0), POL_FEE_END_NO: parseInt($("POLH_END_NO").val() || 0), POL_FEE_STATUS: "U" }); u.clear_grid_data($scope.polfees_grid); u.grid_populate($scope.polfees_grid, "", polFees); } } } }); }); u.clear_grid_data($scope.genaccident_grid); u.grid_populate($scope.genaccident_grid, "", risks); $scope.RecalculatePremium(); u.clear_grid_data($scope.riskFees_grid); u.form_reset("#riskfeesForm"); $("#gaRiskFeesModal").modal("hide"); }); $("#btnAddNewFees").on("click", function () { if ($("#POLH_CLASS_CODE").val() == "") { u.growl_warning("Product Code is empty, Please check and try again"); } else { $("#AddNewFeesModal").modal(); } }); $("#btnQueryRiskFeesLov").on("click", async function () { const riskFeesData = { PRD_CODE: $("#POLH_SUB_CLASS_CODE").val(), LEVEL: "R" }; const grid = $scope.riskFees_Lov_grid; let result = await s.getRiskFeesLovAsync(riskFeesData); if (result && result.length && result.length > 0) { grid.jqGrid("clearGridData"); u.bigDataPopulate(grid, result); } }); $("#riskFeesLovOk").on("click", function () { const grid = $scope.riskFees_Lov_grid; const selId = u.getSelRow(grid); let data = selId ? u.getRow(selId, grid) : {}; data = { GAR_FEE_CODE: data.PRF_FEE_CODE, GAR_FEE_NAME: data.FEE_NAME, GAR_FEE_FC_AMOUNT: data.PRF_FEE_AMOUNT, GAR_FEE_BC_AMOUNT: data.PRF_FEE_AMOUNT, GAR_FEE_RK_NO: data.PRF_SYS_ID }; $scope.RiskFeesCalculate(data); u.form_reset("#riskfeesForm"); u.fill_form(data, "#riskfeesForm"); $("#AddNewFeesModal").modal("hide"); }); }); })(window.$, window.service, window.utility, {});