/* Run this script on: remote.minovais.com, 1445\MSSQLSERVER2019.MinovaES_Rohto_Prod_SYNC - This database will be modified to synchronize it with: remote.minovais.com, 1445\MSSQLSERVER2019.MinovaES_Rohto_Prod You are recommended to back up your database before running this script Script created by SQL Data Compare version 14.2.9.15508 from Red Gate Software Ltd at 21/07/2021 17.05.49 */ SET NUMERIC_ROUNDABORT OFF GO SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT, QUOTED_IDENTIFIER, ANSI_NULLS, NOCOUNT ON GO SET DATEFORMAT YMD GO SET XACT_ABORT ON GO SET TRANSACTION ISOLATION LEVEL Serializable GO BEGIN TRANSACTION PRINT(N'Add rows to [dbo].[PCMWFDEFBIZPROC]') INSERT INTO [dbo].[PCMWFDEFBIZPROC] ([MajorVersion], [BizProcessID], [BizProcessName], [BizFlowID], [IsUserFormGenerator], [IsRequesterSpecific], [RequesterSpecialQuery], [Active], [SLAMonth], [SLADay], [SLAHour], [SLAMinute], [Icon], [Documentation], [TermAgreement], [PackageName], [IsShareable], [WFHeader], [WFContentRef], [OnDocAfterRender], [OnDocBeforeSubmit], [OnInitExtensions], [OnMethodExtensions]) VALUES (1, 'Travel', 'Travel', 'MD_Travel', 'N', 0, '', '1', 0, 0, 0, 0, '', '', '', '', '1', 'WFHR1', NULL, 'var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var correctStatus = body.down(''[name=HeaderCorrectStatus]''); var travelStatus = body.down(''[name=HeaderTravelStatus]''); body.down(''button[name=PDSWFTOTCOSTTRVCopy]'').hide(); body.down(''button[name=PDSWFTOTCOSTTRVAdd]'').setText(''Calculate''); var taskId = MinovaUtil.WORKFLOW.getTaskId(); var set = ''set''; var onTaskCost = ''''; correctStatus.setValue(''1''); MinovaUtil.ExecuteParamQuery({ ID : "WFTVTASKCOST" }, function (s) { var result = Ext.decode(s.responseText); var dt = Ext.decode(Ext.decode(result.data)); onTaskCost = dt[0].result; }, function (f) {}); if (onTaskCost.indexOf(taskId) >= 0) { Ext.ComponentQuery.query(''fieldset[name=panelPDSWFTOTCOSTTRV]'')[0].setHidden(true); } if (taskId === ''create_set'') { /*Set travel status Plan / Settlement*/ travelStatus.setValue(''02''); } if (taskId === ''apv_ds'' || taskId === ''apv_ds_set'') { body.down(''button[name=PDSWFTRAVELACCOMODATIONAdd]'').setHidden(true); body.down(''button[name=PDSWFTRAVELACCOMODATIONDeleteText]'').setHidden(true); body.down(''button[name=PDSWFTRAVELROUTEAdd]'').setHidden(true); body.down(''button[name=PDSWFTRAVELROUTEDeleteText]'').setHidden(true); body.down(''button[name=PDSWFTRAVELCOSTAdd]'').setHidden(true); body.down(''button[name=PDSWFTRAVELCOSTDeleteText]'').setHidden(true); } ', 'var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var me = this; var empId = MinovaUtil.WORKFLOW.getEmpId(); var taskId = MinovaUtil.WORKFLOW.getTaskId(); var set = ''Set''; var travelStatus = body.down(''[name=HeaderTravelStatus]''); var headerSequence = body.down(''[name=HeaderSequence]'').getValue(); var gridStoreRoute = Ext.StoreManager.lookup(''storePDSWFTRAVELROUTE''); var gridStoreAccom = Ext.StoreManager.lookup(''storePDSWFTRAVELACCOMODATION''); var gridStoreCost = Ext.StoreManager.lookup(''storePDSWFTRAVELCOST''); var seqRoute = 1; var seqAccom = 1; var seqCost = 1; var onTaskPlan = ''''; var onTaskSet = ''''; var isSubmit = 1; if (taskId === ''start'' || taskId === ''create'') { MinovaUtil.ExecuteParamQuery({ ID : "WFTVVALSTAT", EmpID : MinovaUtil.WORKFLOW.getEmpId() }, function (s) { var result = Ext.decode(s.responseText); var dt = Ext.decode(Ext.decode(result.data)); if (dt.length > 1) { MinovaMessageError("Error", ''WVTVVALMAIN'', ""); isSubmit = 0; } }, function (f) {}); } MinovaUtil.ExecuteParamQuery({ ID : "WFTVTASKPLAN" }, function (s) { var result = Ext.decode(s.responseText); var dt = Ext.decode(Ext.decode(result.data)); onTaskPlan = dt[0].result; }, function (f) {}); MinovaUtil.ExecuteParamQuery({ ID : "WFTVTASKSET" }, function (s) { var result = Ext.decode(s.responseText); var dt = Ext.decode(Ext.decode(result.data)); onTaskSet = dt[0].result; }, function (f) {}); if (onTaskPlan.indexOf(taskId) >= 0) { Ext.each(gridStoreRoute.getRange(), function (r) { r.set(''RouteEmployeeID'', empId); r.set(''RouteHeaderSequence'', headerSequence); r.set(''RouteSequence'', seqRoute); r.set(''RouteHeaderSeqKey'', headerSequence); r.set(''RouteSeqKey'', seqRoute); r.set(''RouteDataFlag'', ''C''); seqRoute++; }); Ext.each(gridStoreAccom.getRange(), function (r) { r.set(''AccomEmployeeID'', empId); r.set(''AccomHeaderSequence'', headerSequence); r.set(''AccomSequence'', seqAccom); r.set(''AccomHeaderSeqKey'', headerSequence); r.set(''AccomAmount'', 0); r.set(''AccomSeqKey'', seqAccom); r.set(''AccomDataFlag'', ''C''); seqAccom++; }); Ext.each(gridStoreCost.getRange(), function (r) { r.set(''CostEmployeeID'', empId); r.set(''CostHeaderSequence'', headerSequence); r.set(''CostSequence'', seqCost); r.set(''CostHeaderSeqKey'', headerSequence); r.set(''CostSeqKey'', seqCost); r.set(''CostDataFlag'', ''C''); seqCost++; }); } /* if (onTaskSet.indexOf(taskId) >= 0) { Ext.each(gridStoreRoute.getRange(), function (r) { if (r.data.RouteSeqKey === '''') { r.set(''RouteEmployeeID'', empId); r.set(''RouteHeaderSequence'', headerSequence); r.set(''RouteSequence'', seqRoute); r.set(''RouteDataFlag'', ''C''); } else { r.set(''RouteEmployeeID'', empId); r.set(''RouteHeaderSequence'', headerSequence); r.set(''RouteSequence'', seqRoute); r.set(''RouteDataFlag'', ''U''); } seqRoute++; }); Ext.each(gridStoreAccom.getRange(), function (r) { if (r.data.AccomSeqKey === '''') { r.set(''AccomEmployeeID'', empId); r.set(''AccomHeaderSequence'', headerSequence); r.set(''AccomSequence'', seqAccom); r.set(''AccomDataFlag'', ''C''); } else { r.set(''AccomEmployeeID'', empId); r.set(''AccomHeaderSequence'', headerSequence); r.set(''AccomSequence'', seqAccom); r.set(''AccomDataFlag'', ''U''); } seqAccom++; }); Ext.each(gridStoreCost.getRange(), function (r) { if (r.data.CostSeqKey === '''') { r.set(''CostEmployeeID'', empId); r.set(''CostHeaderSequence'', headerSequence); r.set(''CostSequence'', seqCost); r.set(''CostDataFlag'', ''C''); } else { r.set(''CostEmployeeID'', empId); r.set(''CostHeaderSequence'', headerSequence); r.set(''CostSequence'', seqCost); r.set(''CostDataFlag'', ''U''); } seqCost++; }); }*/ if (isSubmit == 1) { submit(); }', '''button[name=PDSWFTOTCOSTTRVAdd]'' : { click : function () { calculateTravelCost(); } }, ''button[name=PDSWFTRAVELCOSTAdd]'' : { click : function () { cekFormHeader(); } }, ''field[name=HeaderStartDate]'' : { change : function () { fillFormHeader(); } }, ''[id=PDSWFTRAVELCOSTCostCostType]'' : { change : function () { cekCostType(); } }, ''[id=PDSWFTRAVELROUTERouteStartDate]'' : { render : function () { setMinMaxDateRoute(); }, change : function () { setEndDateRoute(); } }, ''[id=PDSWFTRAVELACCOMODATIONAccomStartDate]'' : { render : function () { setMinMaxDateAccom(); }, change : function () { setEndDateAccom(); } }, ''[id=PDSWFTRAVELCOSTCostStartDate]'' : { render : function () { setMinMaxDateCost(); }, change : function () { setEndDateCost(); } }, ''[id=PDSWFTRAVELROUTERouteEndDate]'' : { render : function () { cekEndDateRoute(); setMinMaxDateRoute(); }, change : function () { SetStartDateRoute(); } }, ''[id=PDSWFTRAVELACCOMODATIONAccomEndDate]'' : { render : function () { cekEndDateAccom(); }, change : function () { SetStartDateAccom(); } }, ''[id=PDSWFTRAVELCOSTCostEndDate]'' : { render : function () { cekEndDateCost(); }, change : function () { SetStartDateCost(); } }, ''[name=gridPDSWFTRAVELACCOMODATION]'' : { afterrender : function () { afterrenderGridAccomodation(); } }, ''[name=gridPDSWFTRAVELCOST]'' : { afterrender : function () { afterrenderGridCost(); }, edit : function () { updateCalculate(); } }, ''[name=gridPDSWFTRAVELROUTE]'' : { afterrender : function () { afterrenderGridRoute(); } }, ''[id=PDSWFTRAVELROUTERouteTransportType]'' : { change : function () { mapToType(); } }, ''[id=PDSWFTRAVELCOSTCostCostType]'' : { change : function () { mapToTypeTravel(); } }, ''[id=PDSWFTRAVELCOSTCostNumber]'' : { change : function () { calcratetv(); } }, ''[id=PDSWFTRAVELCOSTCostRate]'' : { change : function () { calcratetv(); } }, ''button[name=PDSWFTRAVELCOSTAdd]'' : { click : function () { autoFillCost(); } }, ', 'function getDateDifference(dateFrom, dateTo, differentType) { var year = dateFrom.substring(0, 4); var month = dateFrom.substring(4, 6); var day = dateFrom.substring(6, 8); var df = new Date(year, month - 1, day); year = dateTo.substring(0, 4); month = dateTo.substring(4, 6); day = dateTo.substring(6, 8); var dt = new Date(year, month - 1, day); var diff = 0; if (differentType === ''day'') { var diffDays = (dt.getTime() - df.getTime()) / (1000 * 60 * 60 * 24); diff = diffDays; } else if (differentType === ''month'') { var months; months = (dt.getFullYear() - df.getFullYear()) * 12; months -= df.getMonth(); months += dt.getMonth(); diff = months; } else { var diffYears = (dt.getFullYear() - df.getFullYear()); diff = diffYears; } return diff; } function fillFormHeader() { var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var headerSeq = body.down(''[name=HeaderSequence]''); var formHeader = body.down(''form[name=PDSWFTRAVELHEADER]'').getForm(); var startDate = body.down(''[name=HeaderStartDate]''); var travelStatus = body.down(''[name=HeaderTravelStatus]''); var empId = MinovaUtil.WORKFLOW.getEmpId(); var now = Ext.Date.format(new Date(), ''Ymd''); var taskId = MinovaUtil.WORKFLOW.getTaskId(); MinovaUtil.ExecuteParamQuery({ ID : ''WFTVGETSEQ'', empId : empId, startDate : startDate.getValue() }, function (s) { var result = Ext.decode(s.responseText); var dt = Ext.decode(Ext.decode(result.data)); formHeader.setValues(dt[0]); }); if (taskId === '''' || taskId === ''create'' || taskId === ''start'' || taskId === '''') { /*Set travel status Plan / Settlement*/ if (startDate.getValue() < now) { travelStatus.setValue(''02''); } else { travelStatus.setValue(''01''); } } } function cekFormHeader() { var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var gridCostStore = Ext.StoreManager.lookup(''storePDSWFTRAVELCOST''); var sd = body.down(''field[name=HeaderStartDate]'').getValue(); var ed = body.down(''field[name=HeaderEndDate]'').getValue(); var dt = body.down(''field[name=HeaderDepartureTime]'').getValue(); var at = body.down(''field[name=HeaderArrivalTime]'').getValue(); if (Ext.isEmpty(sd) || Ext.isEmpty(ed) || Ext.isEmpty(dt) || Ext.isEmpty(at)) { MinovaMessageError("Error", "000009", ""); gridCostStore.removeAll(); } } function cekCostType() { var costType = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostCostType]'')[0]; var gridCostStore = Ext.StoreManager.lookup(''storePDSWFTRAVELCOST''); var _data = Ext.pluck(gridCostStore.data.items, ''data''); var _valueField = ''''; /*Cek & Perhitungan Cost Type tidak boleh input dua kali MNC*/ MinovaUtil.ExecuteParamQuery({ ID : "WFTVCEKCOSTTYPE", costType : costType.getValue() }, function (s) { var result = Ext.decode(s.responseText); var dt = Ext.decode(Ext.decode(result.data)); if (dt[0].res > 0) { _valueField = $.grep(_data, function (r) { return r.CostCostType === costType.getValue(); }); if (_valueField.length > 0) { MinovaMessageError("Error", "WFTVCEKCOSTTYPE", ""); costType.clearValue(); } else calculateUangSakuMNC(); } else setDefault(); }, function (f) {}); } function setDefault() { var costNumber = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostNumber]'')[0]; var amountSett = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostAmountSettlement]'')[0]; var amountApp = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostAmountApproval]'')[0]; var amountPlan = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostAmountPlan]'')[0]; var costRate = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostRate]'')[0]; var costType = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostCostType]'')[0]; var startDate = Ext.ComponentQuery.query(''[id=PDSWF TRAVELCOSTCostStartDate]'')[0]; var empId = MinovaUtil.WORKFLOW.getEmpId(); costNumber.setValue(''1''); amountSett.setValue(''0''); amountApp.setValue(''0''); amountPlan.setValue(''0''); MinovaUtil.ExecuteParamQuery({ ID : "WFTVRATE", empId : empId, stDate : startDate.getValue(), costType : costType.getValue() }, function (s) { var result = Ext.decode(s.responseText); var dt = Ext.decode(Ext.decode(result.data)); if (dt.length !== 0 || dt !== null) { costRate.setValue(dt[0].rate); } }, function (f) {}); } function calculateUangSakuMNC() { var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var costNumber = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostNumber]'')[0]; var amountSett = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostAmountSettlement]'')[0]; var amountApp = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostAmountApproval]'')[0]; var amountPlan = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostAmountPlan]'')[0]; var costRate = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostRate]'')[0]; var costType = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostCostType]'')[0]; var startDate = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostStartDate]'')[0]; var empId = MinovaUtil.WORKFLOW.getEmpId(); var sd = body.down(''field[name=HeaderStartDate]'').getValue(); var ed = body.down(''field[name=HeaderEndDate]'').getValue(); var dt = body.down(''field[name=HeaderDepartureTime]'').getRawValue(); var at = body.down(''field[name=HeaderArrivalTime]'').getRawValue(); var totalDay = getDateDifference(sd, ed, "day"); costNumber.setValue(''1''); amountSett.setValue(''0''); amountApp.setValue(''0''); amountPlan.setValue(''0''); console.log(''>>calculateUangSakuMNC''); MinovaUtil.ExecuteParamQuery({ ID : "WFTVRATEMNC", empId : empId, stDate : sd, costType : costType.getValue(), totalDay : totalDay, depTime : dt, arrTime : at }, function (s) { var result = Ext.decode(s.responseText); var dt = Ext.decode(Ext.decode(result.data)); if (dt.length !== 0 || dt !== null) { costRate.setValue(dt[0].rate); } }, function (f) {}); } function updateCalculate() { console.log(''updateCalculate >>''); var me = this; var taskId = MinovaUtil.WORKFLOW.getTaskId(); var empId = MinovaUtil.WORKFLOW.getEmpId(); var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var cbCostType = body.down(''[id=PDSWFTRAVELCOSTCostCostType]''); var gridCost = body.down(''[name=PDSWFTRAVELCOST]''); var gridCostStore = Ext.StoreManager.lookup(''storePDSWFTRAVELCOST''); var costAmountPlan = 0; var totalCostAmountPlan = 0; Ext.each(gridCostStore.getRange(), function (rec) { costAmountPlan = parseInt(rec.get(''CostRate'')) * parseInt(rec.get(''CostNumber'')); if (!Ext.isEmpty(parseInt(rec.get(''CostAmountPlan'')))) { MinovaUtil.ExecuteParamQuery({ ID : "WFTVAMOUNT", empId : empId, stDate : rec.get(''CostStartDate''), costType : rec.get(''CostCostType''), costAmount : rec.get(''CostAmountPlan''), langId : MinovaUtil.GetLangID() }, function (s) { var result = Ext.decode(s.responseText); var dt = Ext.decode(Ext.decode(result.data)); if (dt[0].WarningType === ''1'') { MinovaMessageError("Error", dt[0].WarningId, ""); rec.set(''CostAmountPlan'', ''''); rec.set(''CostRate'', ''''); } }, function (f) {}); } rec.set(''CostAmountPlan'', costAmountPlan); totalCostAmountPlan += costAmountPlan; }); } function calculateTravelCost(_obj) { var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var me = this; var total = 0; var gridTravelCost = body.down(''[name=PDSWFTRAVELCOST]''); var gridTravelCostStore = Ext.StoreManager.lookup(''storePDSWFTRAVELCOST''); var gridSumCost = body.down(''[name=PDSWFTOTCOSTTRV]''); var gridSumCostStore = Ext.StoreManager.lookup(''PDSWFTOTCOSTTRV''); var plan = 0; var amount_settlement = 0; var amount_approval = 0; var amount_setbalance = 0; var amount_appbalance = 0; var _amount_setbalance = 0; var _amount_appbalance = 0; var st_date = body.down(''[name=HeaderStartDate]'').getValue(); var en_date = body.down(''[name=HeaderEndDate]'').getValue(); var currency = ''''; var data_ = []; var temData = null; Ext.each(gridTravelCostStore.getRange(), function (r) { if (r.data.CostCurrency != currency) { currency = r.data.CostCurrency; } if (data_.length > 0) { temData = $.grep(data_, function (r) { return r.TotCostCurrency == currency }); if (temData.length > 0) { data_ = $.grep(data_, function (r) { return r.TotCostCurrency != currency }); var TotCostTotalPlan = total; var TotCostTotalSettlement = parseFloat(amount_settlement) + parseFloat(r.data.TotCostTotalSettlement); var TotCostTotalApproval = parseFloat(amount_approval) + parseFloat(r.data.TotCostTotalApproval); var TotCostBalanceSettlement = parseFloat(_amount_setbalance); var TotCostBalanceApproval = parseFloat(_amount_appbalance); data_.push({ TotCostCurrency : currency, TotCostTotalPlan : parseFloat(temData[0].TotCostTotalPlan) + parseFloat(r.data.CostAmountPlan), TotCostTotalSettlement : parseFloat(temData[0].TotCostTotalSettlement) + parseFloat(r.data.CostAmountSettlement), TotCostTotalApproval : parseFloat(temData[0].TotCostTotalApproval) + parseFloat(r.data.CostAmountApproval), TotCostBalanceSettlement : parseFloat(temData[0].TotCostBalanceSettlement) + parseFloat(r.data.CostAmountPlan - r.data.CostAmountSettlement), TotCostBalanceApproval : parseFloat(temData[0].TotCostBalanceApproval) + parseFloat(r.data.CostAmountPlan - r.data.CostAmountApproval) }); } else { plan = parseFloat(r.data.CostAmountPlan); amount_settlement = parseFloat(r.data.CostAmountSettlement); amount_approval = parseFloat(r.data.CostAmountApproval); amount_setbalance = parseFloat(r.data.CostAmountPlan - r.data.CostAmountSettlement); amount_appbalance = parseFloat(r.data.CostAmountPlan - r.data.CostAmountApproval); data_.push({ TotCostCurrency : currency, TotCostTotalPlan : plan, TotCostTotalSettlement : amount_settlement, TotCostTotalApproval : amount_approval, TotCostBalanceSettlement : amount_setbalance, TotCostBalanceApproval : amount_appbalance }); } } else { plan = parseFloat(r.data.CostAmountPlan); amount_settlement = parseFloat(r.data.CostAmountSettlement); amount_approval = parseFloat(r.data.CostAmountApproval); amount_setbalance = parseFloat(r.data.CostAmountPlan - r.data.CostAmountSettlement); amount_appbalance = parseFloat(r.data.CostAmountPlan - r.data.CostAmountApproval); data_.push({ TotCostCurrency : currency, TotCostTotalPlan : plan, TotCostTotalSettlement : amount_settlement, TotCostTotalApproval : amount_approval, TotCostBalanceSettlement : amount_setbalance, TotCostBalanceApproval : amount_appbalance }); } }); gridSumCostStore.removeAll(); gridSumCostStore.loadData(data_); } function setMinMaxDateRoute() { var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var valsd = body.down(''field[name=HeaderStartDate]'').getValue(); var valed = body.down(''field[name=HeaderEndDate]'').getValue(); var dt = Ext.ComponentQuery.query(''[id=PDSWFTRAVELROUTERouteStartDate]'')[0]; var a = dt.getValue(); var sd = (valsd.substring(6, 8) + ''/'' + valsd.substring(4, 6) + ''/'' + valsd.substring(0, 4)); var ed = (valed.substring(6, 8) + ''/'' + valed.substring(4, 6) + ''/'' + valed.substring(0, 4)); if (dt.getValue() == '''') { if (valsd != "") { dt.setMaxValue(valed.substring(6, 8) + ''/'' + valed.substring(4, 6) + ''/'' + valed.substring(0, 4)); } if (valsd != "") { dt.setMinValue(valsd.substring(6, 8) + ''/'' + valsd.substring(4, 6) + ''/'' + valsd.substring(0, 4)); } } } function setMinMaxDateAccom() { var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var valsd = body.down(''field[name=HeaderStartDate]'').getValue(); var valed = body.down(''field[name=HeaderEndDate]'').getValue(); var dt = Ext.ComponentQuery.query(''[id=PDSWFTRAVELACCOMODATIONAccomStartDate]'')[0]; if (dt.getValue() == '''') { if (valsd != "") { dt.setMaxValue(valed.substring(6, 8) + ''/'' + valed.substring(4, 6) + ''/'' + valed.substring(0, 4)); } if (valsd != "") { dt.setMinValue(valsd.substring(6, 8) + ''/'' + valsd.substring(4, 6) + ''/'' + valsd.substring(0, 4)); } } } function setMinMaxDateCost() { var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var valsd = body.down(''field[name=HeaderStartDate]'').getValue(); var valed = body.down(''field[name=HeaderEndDate]'').getValue(); var dt = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostStartDate]'')[0]; if (dt.getValue() == '''') { if (valsd != "") { dt.setMaxValue(valed.substring(6, 8) + ''/'' + valed.substring(4, 6) + ''/'' + valed.substring(0, 4)); } if (valsd != "") { dt.setMinValue(valsd.substring(6, 8) + ''/'' + valsd.substring(4, 6) + ''/'' + valsd.substring(0, 4)); } } } function SetStartDateRoute() { var dt = Ext.ComponentQuery.query(''[id=PDSWFTRAVELROUTERouteStartDate]'')[0]; var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); /*var valed = Ext.ComponentQuery.query(''[id=PDSWFTRAVELROUTERouteEndDate]'')[0].getValue();*/ var valed = body.down(''field[name=HeaderEndDate]'').getValue(); dt.setMaxValue(valed.substring(6, 8) + ''/'' + valed.substring(4, 6) + ''/'' + valed.substring(0, 4)); var a = (valed.substring(6, 8) + ''/'' + valed.substring(4, 6) + ''/'' + valed.substring(0, 4)); } function SetStartDateAccom() { var dt = Ext.ComponentQuery.query(''[id=PDSWFTRAVELACCOMODATIONAccomStartDate]'')[0]; var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var valed = body.down(''field[name=HeaderEndDate]'').getValue(); /*var valed = Ext.ComponentQuery.query(''[id=PDSWFTRAVELACCOMODATIONAccomEndDate]'')[0].getValue();*/ dt.setMaxValue(valed.substring(6, 8) + ''/'' + valed.substring(4, 6) + ''/'' + valed.substring(0, 4)); } function SetStartDateCost() { var dt = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostStartDate]'')[0]; var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var valed = body.down(''field[name=HeaderEndDate]'').getValue(); /*var valed = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostEndDate]'')[0].getValue();*/ dt.setMaxValue(valed.substring(6, 8) + ''/'' + valed.substring(4, 6) + ''/'' + valed.substring(0, 4)); } function setEndDateRoute() { var valsd = Ext.ComponentQuery.query(''[id=PDSWFTRAVELROUTERouteStartDate]'')[0].getValue(); var dt = Ext.ComponentQuery.query(''[id=PDSWFTRAVELROUTERouteEndDate]'')[0]; dt.setMinValue(valsd.substring(6, 8) + ''/'' + valsd.substring(4, 6) + ''/'' + valsd.substring(0, 4)); var b = (valsd.substring(6, 8) + ''/'' + valsd.substring(4, 6) + ''/'' + valsd.substring(0, 4)); } function setEndDateAccom() { var valsd = Ext.ComponentQuery.query(''[id=PDSWFTRAVELACCOMODATIONAccomStartDate]'')[0].getValue(); var dt = Ext.ComponentQuery.query(''[id=PDSWFTRAVELACCOMODATIONAccomEndDate]'')[0]; dt.setMinValue(valsd.substring(6, 8) + ''/'' + valsd.substring(4, 6) + ''/'' + valsd.substring(0, 4)); } function setEndDateCost() { var valsd = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostStartDate]'')[0].getValue(); var dt = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostEndDate]'')[0]; dt.setMinValue(valsd.substring(6, 8) + ''/'' + valsd.substring(4, 6) + ''/'' + valsd.substring(0, 4)); } function cekEndDateRoute(f) { var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var valsd = body.down(''field[name=HeaderStartDate]'').getValue(); var valed = body.down(''field[name=HeaderEndDate]'').getValue(); var dt = Ext.ComponentQuery.query(''[id=PDSWFTRAVELROUTERouteEndDate]'')[0]; if (valsd != "") { dt.setMaxValue(valed.substring(6, 8) + ''/'' + valed.substring(4, 6) + ''/'' + valed.substring(0, 4)); } if (valsd != "") { dt.setMinValue(valsd.substring(6, 8) + ''/'' + valsd.substring(4, 6) + ''/'' + valsd.substring(0, 4)); } } function cekEndDateCost(f) { var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var valsd = body.down(''field[name=HeaderStartDate]'').getValue(); var valed = body.down(''field[name=HeaderEndDate]'').getValue(); var dt = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostEndDate]'')[0]; if (valsd != "") { dt.setMaxValue(valed.substring(6, 8) + ''/'' + valed.substring(4, 6) + ''/'' + valed.substring(0, 4)); } if (valsd != "") { dt.setMinValue(valsd.substring(6, 8) + ''/'' + valsd.substring(4, 6) + ''/'' + valsd.substring(0, 4)); } } function cekEndDateAccom(f) { var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var valsd = body.down(''field[name=HeaderStartDate]'').getValue(); var valed = body.down(''field[name=HeaderEndDate]'').getValue(); var dt = Ext.ComponentQuery.query(''[id=PDSWFTRAVELACCOMODATIONAccomEndDate]'')[0]; if (valsd != "") { dt.setMaxValue(valed.substring(6, 8) + ''/'' + valed.substring(4, 6) + ''/'' + valed.substring(0, 4)); } if (valsd != "") { dt.setMinValue(valsd.substring(6, 8) + ''/'' + valsd.substring(4, 6) + ''/'' + valsd.substring(0, 4)); } } function afterrenderGridAccomodation() { var str = Ext.StoreManager.lookup("storePDSWFTRAVELACCOMODATION"); str.sort(''AccomEmployeeID'', ''ASC''); setTimeout(function () { str.load({ callback : function () { var grid = Ext.ComponentQuery.query("[name=gridPDSWFTRAVELACCOMODATION]")[0]; grid.view.refresh(); } }); }, 5000); } function afterrenderGridCost() { var str = Ext.StoreManager.lookup("storePDSWFTRAVELCOST"); str.sort(''CostEmployeeID'', ''ASC''); setTimeout(function () { str.load({ callback : function () { var grid = Ext.ComponentQuery.query("[name=gridPDSWFTRAVELCOST]")[0]; grid.view.refresh(); } }); }, 5000); } function afterrenderGridRoute() { var str = Ext.StoreManager.lookup("storePDSWFTRAVELROUTE"); str.sort(''RouteEmployeeID'', ''ASC''); setTimeout(function () { str.load({ callback : function () { var grid = Ext.ComponentQuery.query("[name=gridPDSWFTRAVELROUTE]")[0]; grid.view.refresh(); } }); }, 5000); } function mapToType() { var TransportType = Ext.ComponentQuery.query(''[id=PDSWFTRAVELROUTERouteTransportType]'')[0].getValue(); var transportType = TransportType; var store = Ext.StoreManager.lookup(''store_PDSWFTRAVELROUTERouteTransportProvider''); store.clearFilter(); store.filter(''TransportType'', transportType); } function mapToTypeTravel() { var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var empId = MinovaUtil.WORKFLOW.getEmpId(); var TravelType = body.down(''field[name=HeaderTravelType]'').getValue(); var CostType = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostCostType]'')[0]; var StartDate = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostStartDate]'')[0]; var EndDate = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostEndDate]'')[0]; var sDate = body.down(''[name=HeaderStartDate]'').getValue(); var eDate = body.down(''[name=HeaderEndDate]'').getValue(); var TrvStats = body.down(''[name=HeaderTravelStatus]'').getValue(); var Hasil = ''''; var rate = ''''; MinovaUtil.ExecuteParamQuery({ ID : ''WFTVRATES'', TrvType : TravelType, empID : empId, CostType : CostType.getValue() }, function (s) { var result = Ext.decode(s.responseText); var dt = Ext.decode(Ext.decode(result.data)); if (dt.length == 0 || TrvStats != ''01'') { rate = ''0''; } else { var val = dt[0].result; rate = val; } }); MinovaUtil.ExecuteParamQuery({ ID : ''WFDATEDIFFTV'', StartDate : sDate, EndDate : eDate }, function (s) { var result = Ext.decode(s.responseText); var dt = Ext.decode(Ext.decode(result.data)); var val = dt[0].result; Hasil = val; }); var Tm = Ext.Ajax.request({ async : false, method : ''POST'', url : ''/TM/GetDateWorkDays'', params : { emp_id : MinovaUtil.WORKFLOW.getEmpId(), keyDateStart : sDate, keyDateEnd : eDate }, success : function (response) { var results = Ext.decode(response.responseText); hasil = results.data; } }); var kur = ''1''; var resl = Ext.decode(Tm.responseText); var resll = resl.data; if (resll != '''' && resll != ''0'') { var hsl = resll - kur; } debugger; if (TravelType == ''01'' && (CostType.getValue() == ''1000'' || CostType.getValue() == ''1100'' || CostType.getValue() == ''1200'')) { MinovaMessageError("Error", "MDCKVALD", ""); CostType.clearValue(); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostNumber]'')[0].setValue(''''); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostRate]'')[0].setValue(''''); } else if ((CostType.getValue() == ''1000'' || CostType.getValue() == ''1100'') && sDate == eDate && TravelType == ''02'') { MinovaMessageError("Error", "MDCKVALD", ""); CostType.clearValue(); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostNumber]'')[0].setValue(''''); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostRate]'')[0].setValue(''''); } else if (CostType.getValue() == ''1200'' && (CostType.getValue() != ''1000'' || CostType.getValue() != ''1100'') && TravelType == ''02'' && sDate == eDate) { Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostNumber]'')[0].setValue(resl.data); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostRate]'')[0].setValue(rate); } else if ((CostType.getValue() == ''1200'' || CostType.getValue() == ''1100'') && sDate != eDate && TravelType == ''02'') { MinovaMessageError("Error", "MDCKVALD", ""); CostType.clearValue(); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostNumber]'')[0].setValue(''''); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostRate]'')[0].setValue(''''); } else if (CostType.getValue() == ''1000'' && (CostType.getValue() != ''1200'' || CostType.getValue() != ''1100'') && sDate != eDate && TravelType == ''02'') { Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostNumber]'')[0].setValue(hsl); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostRate]'')[0].setValue(rate); } else if ((CostType.getValue() == ''1200'' || CostType.getValue() == ''1000'') && TravelType == ''03'') { MinovaMessageError("Error", "MDCKVALD", ""); CostType.clearValue(); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostNumber]'')[0].setValue(''''); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostRate]'')[0].setValue(''''); } else if (CostType.getValue() == ''1100'' && (CostType.getValue() != ''1200'' || CostType.getValue() != ''1000'') && TravelType == ''03'') { Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostNumber]'')[0].setValue(hsl); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostRate]'')[0].setValue(rate); } else if (TrvStats == ''01'' && Hasil <= ''5'' && CostType.getValue() == ''6000'') { MinovaMessageError("Error", "TRVLAUNDRY", ""); CostType.clearValue(); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostNumber]'')[0].setValue(''''); } else { Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostNumber]'')[0].setValue(''''); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostRate]'')[0].setValue(rate); } MinovaUtil.ExecuteParamQuery({ ID : ''WFTVSALES'', empId : empId }, function (s) { var result = Ext.decode(s.responseText); var dt = Ext.decode(Ext.decode(result.data)); var val = dt[0].result; if (val == ''90'' && TravelType == ''01'' && (CostType.getValue() == ''2000'' || CostType.getValue() == ''2100'')) { MinovaMessageError("Error", "MDCKVALD", ""); CostType.clearValue(); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostNumber]'')[0].setValue(''''); Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostRate]'')[0].setValue(''''); } }); } function calcratetv() { var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var TrvStats = body.down(''[name=HeaderTravelStatus]'').getValue(); var hsl = ''0''; var rate = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostRate]'')[0].getValue(); var num = Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostNumber]'')[0].getValue(); var rt = parseFloat(rate); var nm = parseFloat(num); if (TrvStats == ''01'') { hsl = rt * nm; } Ext.ComponentQuery.query(''[id=PDSWFTRAVELCOSTCostAmountPlan]'')[0].setValue(hsl); } function autoFillCost() { var body = MinovaUtil.WORKFLOW.getViewBodyWorkflow(); var startDate = body.down(''[name=HeaderStartDate]'').getValue(); var endDate = body.down(''[name=HeaderEndDate]'').getValue(); var gridStore = Ext.StoreManager.lookup(''storePDSWFTRAVELCOST''); MinovaUtil.ExecuteParamQuery({ ID : ''WFTVDEFDATE'', startDate : startDate, endDate : endDate, body : ''Cost'' }, function (s) { try { var result = Ext.decode(s.responseText).data; var dataGrid = Ext.decode(Ext.decode(result)); gridStore.add(dataGrid); } catch (e) {} }, function (e) {}); setTimeout(function () { gridStore.each(function (item, idx) { if (item && item.get(''CostStartDate'') === '''') { gridStore.removeAt(idx); } }); }, 250); }') PRINT(N'Operation applied to 1 rows out of 3') COMMIT TRANSACTION GO