Advertisement
Guest User

CodigoGestionar

a guest
Sep 29th, 2014
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Combos
  2. cmbTIPO.addItem(['NORMAL','IRRITABLE','PAGO IMPOSIBLE']);
  3. cmbAtraso.addItem(['VIAJE','PROBLEMAS ECONOMICOS','PROBLEMAS DE SALUD','PROBLEMAS LABORALES','DEMORA EN EL PAGO DE SUELDO','DEBITO AUTOMATICO','RECLAMO','REFINANCIACION']);
  4.  
  5. // Datasource Contacts
  6. var Contacts = vContacts
  7. var Interactions = vInteractions
  8. var Telefono = vTelefono
  9.  
  10. console.log(Telefono)
  11.  
  12. self.onReady(function(){
  13.     Contacto.find({CONTACTID: Contacts.row().contactId})
  14.     DataContrato.find({CONTACTID: Contacts.row().contactId});
  15.     Oficina.find({CONTACTID: Contacts.row().contactId});
  16.     GetTotalPorDivisa.find({ContactId: Contacts.row().contactId});
  17.     cmbTelefono.addItem(Telefono);
  18.     GetMR.set('@vcc',icc.ui.getApplication().getVCCName());
  19.     GetMR.set('@campaignId',Interactions.row().Campaign);
  20.     GetMR.refresh();
  21.     console.log('Id Llamada' + args.IDCALL);
  22.     GestionLlamadas.set('@idAuto',args.IDCALL);
  23.     GestionLlamadas.refresh();
  24.    
  25. });
  26.  
  27.  
  28. cbmLevel1.onChange(function(index,text,item){
  29.     if ( item ){
  30.     Get_MR_L2.set('@vcc',icc.ui.getApplication().getVCCName());
  31.     Get_MR_L2.set('@campaignId',Interactions.row().Campaign);
  32.     Get_MR_L2.set('@nivel1',GetMR.row().NIVEL_1);
  33.     Get_MR_L2.refresh();
  34.     if (item.NIVEL_1 != "CONTACTO EFECTIVO"){
  35.         console.log("Contrato Sin Titular");
  36.         moverContratos();
  37.     }else{ 
  38.         gridContratoT.clearAll();
  39.         DataContrato.find({CONTACTID: Contacts.row().contactId});
  40.         btnPlus2.setEnabled(true);
  41.         btnRes2.setEnabled(true);
  42.     }
  43.     }else{
  44.     cbmLevel1.displayMessage('Campo Requerido');
  45.     }
  46.  
  47.  
  48. });
  49.  
  50. function clearData(){
  51.     cbmLevel1.setText('');
  52.     cmbDisposition.setText('');
  53.     cmbTIPO.setText('');
  54.     txtObservaciones.setText('');
  55.     cmbNumGestion.setText(''); 
  56. }
  57.  
  58. cmbDisposition.onChange(function(index,text,item){
  59.     if ( item ){
  60.     var vResult = text.trim();
  61.     vResult = vResult.toUpperCase();
  62.     if (vResult == 'PROMESA DE PAGO TOTAL' || vResult == 'PROMESA DE PAGO PARCIAL'){
  63.         txtPromesaPago.setEnabled(true);
  64.         txtPromesaPago.setRequired(true);
  65.         cmbAtraso.setEnabled(true);
  66.         cmbAtraso.setRequired(true);
  67.     }else{
  68.         txtPromesaPago.setEnabled(false);
  69.         txtPromesaPago.setRequired(false);
  70.         cmbAtraso.setEnabled(false);
  71.         cmbAtraso.setRequired(false);
  72.     }
  73.  
  74.     }else{
  75.     cbmLevel1.displayMessage('Campo Requerido');
  76.     }
  77. });
  78.  
  79. btnSaveLlamada.beforeClick(function(){
  80.     if ( validaCampos() ){;
  81.         getInteractionState();
  82.     }
  83.     return false;
  84. });
  85.  
  86.  
  87. btnSaveLlamada.onClick(function(){
  88.  
  89. var vSelectedRowsLength = gridContratoT.getItems().length;
  90. console.log("Total para Base de Datos: " + vSelectedRowsLength)
  91. if (vSelectedRowsLength > 0) {
  92.  
  93.     var vFecha;
  94.     if (txtPromesaPago.getText() == ''){
  95.         vFecha = '1900-01-01';
  96.     }else{
  97.         vFecha = txtPromesaPago.getText();
  98.     }
  99.  
  100.     var i = Interactions.row()
  101.     var ds = icc.ui.getApplication().datasource("Llamadas");
  102.     console.log("Antes de For")
  103.     for (var x = 0; x < vSelectedRowsLength; x++){
  104.         console.log("Guardando Registro : " + gridContratoT.getItemAtIndex(x).CONTRATO)
  105.     ds.appendNew();
  106.         ds.set({
  107.         VCC:i.VirtualCC,
  108.         CampaignId:i.Campaign,
  109.         ContactId:i.Contact,
  110.         NumGestion:1,
  111.         ContactName:Contacto.row().NOMBRE,
  112.         ContactAddress:cmbTelefono.getText(),
  113.         Id_Auto:args.IDCALL,
  114.         InteractionId:txtCurrentInteractionId.getText(),
  115.         Section:i.Sections,
  116.         WorkitemType:i.WorkitemType,
  117.         OutboundProcessId:i.processId,
  118.         BatchId:i.batchId,
  119.         Agent:i.Agent,
  120.         ManagementResultCode:cmbDisposition.getItem().CODE,
  121.         ManagementResultDescription:cmbDisposition.getItem().NIVEL_2,
  122.         ContactCode:i.ContactCode,
  123.         Schedule:i.Schedule,
  124.         RescheduleToPhone:i.RescheduleToPhone,
  125.         RescheduleToPhoneType:i.RescheduleToPhoneType,
  126.         RescheduleToDate:i.RescheduleToDate,
  127.         RescheduleToTime:i.RescheduleToTime,
  128.         RescheduleToAgent:i.RescheduleToAgent,
  129.         RescheduleToCampaign:i.RescheduleToCampaign,
  130.         RescheduleToAgentIsSame:i.RescheduleToAgentIsSame,
  131.         Cod_Gestion:Contacts.row().M_COD_GESTION,
  132.         Cod_Carga:Contacts.row().M_COD_CARGA,
  133.         Cod_Cliente:Contacts.row().M_COD_CLIENTE,
  134.         Cod_Cliente:Contacts.row().M_COD_PROD,
  135.         ModifcadoOffline:0,
  136.         DataGes_06:gridContratoT.getItemAtIndex(x).CONTRATO,
  137.         TmStmp:icc.utils.now(),
  138.         R_Nivel1:cbmLevel1.getText(),
  139.         R_Nivel2:cmbDisposition.getText(),
  140.         DataGes_02:vFecha,
  141.         DataGes_03:cmbAtraso.getText(),
  142.         TipoCliente:cmbTIPO.getText(),
  143.         DataGes_04:txtEmailGes.getText(),
  144.         Observaciones:txtObs.getText(),
  145.             });
  146.        
  147.         res=ds.save();
  148.         if(!res){
  149.             icc.ui.displayMessage(ds.lastError);
  150.         }else{
  151.             icc.ui.displayMessage('Contrato ' + gridContratoT.getItemAtIndex(x).CONTRATO + ' Tipificado');
  152.         }
  153.     }  
  154.     } // fin For
  155. // Fin if
  156.  
  157. });
  158.  
  159. btnSaveLlamada.onPostExecute(function(status,error){
  160.     if(status){
  161.         //setDispositionCode();
  162.     GestionLlamadas.set('@idAuto',args.IDCALL);
  163.     GestionLlamadas.refresh();
  164.     }else{
  165.         //displayMessage("ERROR: " + error.description);
  166.     //displayError Ya se ejecuto por base de datos.
  167.     }
  168. });
  169.  
  170. btnPlus2.onClick(function(){
  171.     var seleccionado = gridContratoS.getItem()
  172.     var nuevo = seleccionado.CONTRATO
  173.     gridContratoS.rmvItem(seleccionado)
  174.     gridContratoT.addItem([{CONTRATO:nuevo}])
  175. })
  176.  
  177. btnRes2.onClick(function(){
  178.     var seleccionado = gridContratoT.getItem()
  179.     var nuevo = seleccionado.CONTRATO
  180.     gridContratoT.rmvItem(seleccionado)
  181.     gridContratoS.addItem([{CONTRATO:nuevo}])
  182. });
  183.  
  184. btnAllRight.onClick(function(){
  185.     moverContratos();
  186.     btnPlus2.setEnabled(true);
  187.     btnRes2.setEnabled(true);
  188. });
  189.  
  190. btnAllLeft.onClick(function(){
  191.     gridContratoT.clearAll();
  192.     DataContrato.find({CONTACTID: Contacts.row().contactId});
  193. });
  194.  
  195. function getRealNum(vContactAddress){
  196.     return vContactAddress.split("-")[1] + vContactAddress.split("-")[2]
  197. }
  198.  
  199. function moverContratos(){
  200.     //var vSelectedRowsArray = gridContratoS.getItems();
  201.     var vSelectedRowsLength = gridContratoS.getItems().length;
  202.     console.log("Total Contratos:" + vSelectedRowsLength);
  203.         var row
  204.     if (vSelectedRowsLength > 0) {
  205.  
  206.         for (var i = 0; i < vSelectedRowsLength; i++){
  207.             console.log(i);
  208.             row = gridContratoS.getItemAtIndex(i).CONTRATO
  209.             gridContratoT.addItem([{CONTRATO:row}])
  210.         }
  211.         gridContratoS.clearAll();
  212.         btnPlus2.setEnabled(false);
  213.         btnRes2.setEnabled(false);
  214.     }
  215. }
  216.  
  217. /**
  218. Funciones BarAgent
  219. **/
  220.  
  221. function getInteractionState(){
  222.     var vRpta = true;
  223.     txtInteractionState.setText('-1');
  224.     var bacontrol = new Baragent();
  225.     bacontrol.GetInteractionState(
  226.         '',
  227.         function(response){
  228.         //icc.ui.displayMessage("Se ejecutó " + response.func + ".")
  229.         //icc.ui.displayMessage(response.message)
  230.             txtInteractionState.setText(response.data.interactionState)
  231.             if ( txtInteractionState.getText() != "ENDED" ){
  232.                 icc.ui.displayMessage("Finalice Llamada Antes de Tipificar");
  233.                 vRpta = false; 
  234.             }else{
  235.                 // Obten CurrentId y Continua
  236.                 getCurrentInteractionId();
  237.             }          
  238.         },
  239.         function(response){
  240.             icc.ui.displayMessage("Error al ejecutar " + response.func + ".")
  241.             icc.ui.displayMessage(response.message)
  242.         }
  243.     );
  244. }
  245.  
  246. function getCurrentInteractionId(){
  247.     var bacontrol;
  248.     if (bacontrol == null) {
  249.         bacontrol = new Baragent();
  250.     }
  251.     bacontrol.GetInteractionId(
  252.                 '',
  253.                 function(response){
  254.                 icc.ui.displayMessage("Se ejecutó " + response.func + ".")
  255.                 icc.ui.displayMessage(response.message)
  256.                 txtCurrentInteractionId.setText(response.data.interactionId)
  257.                 spGetLastInteractionIdForSave.set('@vcc', icc.ui.getApplication().getVCCName());
  258.                 spGetLastInteractionIdForSave.set('@actor', icc.ui.getApplication().getUser());
  259.                 spGetLastInteractionIdForSave.set('@cid', Contacts.row().contactId);
  260.                 spGetLastInteractionIdForSave.set('@cid', Contacts.row().contactId);
  261.                 spGetLastInteractionIdForSave.set('@idCall', txtCurrentInteractionId.getText());
  262.                 spGetLastInteractionIdForSave.refresh();
  263.                 txtCurrentInteractionId.setText(spGetLastInteractionIdForSave.row().InteractionId)
  264.                 btnSaveLlamada.fireEvent('onClick');                   
  265.                 },
  266.                 function(response){
  267.                 icc.ui.displayMessage("Error al ejecutar " + response.func + ".")
  268.                 icc.ui.displayMessage(response.message)
  269.                 }
  270.     );
  271. }
  272.  
  273. function validaCampos(){
  274.     var vRpta = true;
  275.     if ( cbmLevel1.getText() == ""){
  276.         cbmLevel1.displayMessage("Campo Obligatorio");
  277.         vRpta = false;
  278.     }
  279.     if ( cmbDisposition.getText() == ""){
  280.         cmbDisposition.displayMessage("Campo Obligatorio");
  281.         vRpta = false;
  282.     }
  283.     if (cmbTelefono.getText() == ""){
  284.         cmbTelefono.displayMessage("Campo Obligatorio");   
  285.         vRpta = false;
  286.     }
  287.     if (gridContratoT.getItems().length < 1){
  288.         icc.ui.displayMessage("Por lo menos Seleccione un contrato");
  289.         console.log("Total Contratos : " + gridContratoT.getItems().length);
  290.         vRpta = false;
  291.     }
  292.     return  vRpta;
  293. }
  294.  
  295. btnActualizar.onClick(function(){
  296.     console.log('Id Llamada' + args.IDCALL);
  297.     GestionLlamadas.set('@idAuto',args.IDCALL);
  298.     GestionLlamadas.refresh();
  299. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement