SyncMadeEasy/force-app/main/default/aura/BatchProcessingPage/BatchProcessingPageHelper.js

369 lines
29 KiB
JavaScript

({
refreshpageandexecutebatch: function(component, event, helper){
var refreshpageandexecutebatch = component.get("c.syncShopify");
refreshpageandexecutebatch.setParams({
'store':component.get("v.store")
})
refreshpageandexecutebatch.setCallback(this,function(res){
var state = res.getState();
if(state =="SUCCESS"){
location.reload(true);
}
});
$A.enqueueAction(refreshpageandexecutebatch );
},
startfromthefirstpage: function(component, event, helper){
var startfromthefirstpage = component.get("c.updateconfigurationpbatchprocessingfield");
startfromthefirstpage.setParams({
'store':component.get("v.store")
})
startfromthefirstpage.setCallback(this,function(res){
var state = res.getState();
if(state =="SUCCESS" && res.getReturnValue() == true ){
location.reload(true);
}
});
$A.enqueueAction(startfromthefirstpage);
},
CallBatchInfo : function(component, event, helper) {
console.log('callBatchInfor-->');
console.log(component.get("v.store"));
if(component.get("v.Batchaborted") || component.get("v.Batchabortedbox")) return;
try{
var action = component.get("c.CheckingBatchDetails");
var objectName;
var ApexClassName;
var result;
if((component.get("v.ProductCount") == 'In Queue' || component.get("v.ProductComplete") == 'false' || component.get("v.ProductComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == 'true')){
objectName = 'Product2';
ApexClassName = 'BatchToCreateProducts';
}else if((component.get("v.VarientCount") == 'In Queue' || component.get("v.VarientComplete") == 'false' || component.get("v.VarientComplete") == false) && (component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == 'true')){
objectName = 'HIC_ShopifySync__Variant__c';
ApexClassName = 'BatchToCreateProducts';
}else if((component.get("v.AccountCount") == 'In Queue' || component.get("v.AccountComplete") == 'false' || component.get("v.AccountComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == 'true')){
objectName = 'Account';
ApexClassName = 'FetchAccounts';
}else if((component.get("v.ContactCount") == 'In Queue' || component.get("v.ContactComplete") == 'false' || component.get("v.ContactComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == 'true')){
objectName = 'Contact';
ApexClassName = 'FetchAccounts';
}else if((component.get("v.OrderCount") == 'In Queue' || component.get("v.OrderComplete") == 'false' || component.get("v.OrderComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Order_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Order_Sync__c") == 'true')){
objectName = 'Order';
ApexClassName = 'FetchOrders';
}else if((component.get("v.OppCount") == 'In Queue' || component.get("v.OppComplete") == 'false' || component.get("v.OppComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Opportunity__c") == true || component.get("v.configObj.HIC_ShopifySync__Opportunity__c") == 'true')){
objectName = 'Opportunity';
ApexClassName = 'FetchOrders';
}else if((component.get("v.SmartCount") == 'In Queue' || component.get("v.SamartComplete") == 'false' || component.get("v.SamartComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')){
objectName = 'HIC_ShopifySync__Collection__c';
ApexClassName = 'FetchSmartCollection_Batch';
}else if((component.get("v.CustomCount") == 'In Queue' || component.get("v.CustomComplete") == 'false' || component.get("v.CustomComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')){
objectName = 'HIC_ShopifySync__Collection__c';
ApexClassName = 'FetchCollections_Batch';
}else if((component.get("v.CollectCount") == 'In Queue' || component.get("v.CollectComplete") == 'false' || component.get("v.CollectComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')){
objectName = 'HIC_ShopifySync__Collect__c';
ApexClassName = 'FetchCollects_Batch';
}else if((component.get("v.LocationCount") == 'In Queue' || component.get("v.LocationComplete") == 'false' || component.get("v.LocationComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == 'true')){
objectName = 'HIC_ShopifySync__Location__c';
ApexClassName = 'FetchLocations_Batch';
}else if((component.get("v.InventoryCount") == 'In Queue' || component.get("v.InventoryComplete") == 'false' || component.get("v.InventoryComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == 'true')){
objectName = 'HIC_ShopifySync__Inventory__c';
ApexClassName = 'FetchInventoryItems';
}else if((component.get("v.DraftOrderCount") == 'In Queue' || component.get("v.DraftOrderComplete") == 'false' || component.get("v.DraftOrderComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == true || component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == 'true')){
objectName = 'Draftorder';
ApexClassName = 'FetchOrders';
}else{
objectName = '';
ApexClassName = '';
}
action.setParams({
'ObjectName':objectName,
'ApexClassName':ApexClassName,
'store':component.get("v.store")
})
action.setCallback(this,function(response){
result = response.getReturnValue();
console.log('result--> '+result);
if(result !== 'Queue' && result !== ''){
if(result.includes('Aborted')){
var Errormessage = (result.replace("Aborted","")).trim();
if(Errormessage.includes("-job") && Errormessage.includes("aborted") ){
Errormessage = "Aborted by user or there was some system errors."
}
if(objectName == 'Account'|| objectName == 'contact'){
component.set("v.objectname","customers");
}else if(objectName == 'Product2'|| objectName == 'HIC_ShopifySync__Variant__c'){
component.set("v.objectname","Products and variants");
}else if(objectName == 'Order'|| objectName == 'Opportunity'){
component.set("v.objectname","order and opportunities");
}else if(objectName == 'HIC_ShopifySync__Collection__c'|| objectName == 'HIC_ShopifySync__Collect__c'){
component.set("v.objectname","collections");
}else if(objectName == 'HIC_ShopifySync__Location__c'|| objectName == 'HIC_ShopifySync__Inventory__c'){
component.set("v.objectname","locations and inventories");
}
else if(objectName == 'Draftorder'){
component.set("v.objectname","Draft order ");
}
component.set("v.Abortederrormessage",Errormessage);
component.set("v.Batchaborted",true);
component.set("v.Batchabortedbox",true);
// window.clearInterval(component.get("v.setinterval"));
this.AbortIntervalBatchAborted(component, event, helper);
}else{
if(objectName == 'Product2' && result != null && result != '' && result.includes("Completed")){
component.set("v.ProductCount",(result.toString()).replace('Completed',''));
component.set("v.ProductComplete",true);
component.set("v.ProgessValue",5);
$A.util.addClass(component.find('progesssbar'), 'ProgressProduct');
this.AbortInterval(component, event, helper);
}else if(objectName == 'Product2' && result != null && result != '' && !result.includes("Completed")){
component.set("v.ProductCount",result.toString());
}
if(objectName == 'HIC_ShopifySync__Variant__c' && result != null && result != '' && result.includes("Completed")){
component.set("v.VarientCount",(result.toString()).replace('Completed',''));
component.set("v.VarientComplete",true);
$A.util.addClass(component.find('progesssbar'), 'ProgressVariant');
component.set("v.ProgessValue",17);
this.AbortInterval(component, event, helper);
}else if(objectName == 'HIC_ShopifySync__Variant__c' && result != null && result != '' && !result.includes("Completed")){
component.set("v.VarientCount",result.toString());
}
if(objectName == 'Account' && result != null && result != '' && result.includes("Completed")){
component.set("v.AccountCount",(result.toString()).replace('Completed',''));
component.set("v.AccountComplete",true);
$A.util.addClass(component.find('progesssbar'), 'ProgressAccount');
component.set("v.ProgessValue",25);
this.AbortInterval(component, event, helper);
}else if(objectName == 'Account' && result != null && result != '' && !result.includes("Completed")){
component.set("v.AccountCount",result.toString());
}
if(objectName == 'Contact' && result != null && result != '' && result.includes("Completed")){
component.set("v.ContactCount",(result.toString()).replace('Completed',''));
component.set("v.ContactComplete",true);
$A.util.addClass(component.find('progesssbar'), 'ProgressContact');
component.set("v.ProgessValue",32);
this.AbortInterval(component, event, helper);
}else if(objectName == 'Contact' && result != null && result != '' && !result.includes("Completed")){
component.set("v.ContactCount",result.toString());
}
if(objectName == 'Order' && result != null && result != '' && result.includes("Completed")){
component.set("v.OrderCount",(result.toString()).replace('Completed',''));
component.set("v.OrderComplete",true);
$A.util.addClass(component.find('progesssbar'), 'ProgressOrder');
component.set("v.ProgessValue",39);
this.AbortInterval(component, event, helper);
}else if(objectName == 'Order' && result != null && result != '' && !result.includes("Completed")){
component.set("v.OrderCount",result.toString());
}
if(objectName == 'Opportunity' && result != null && result != '' && result.includes("Completed")){
component.set("v.OppCount",(result.toString()).replace('Completed',''));
component.set("v.OppComplete",true);
$A.util.addClass(component.find('progesssbar'), 'ProgressOpp');
component.set("v.ProgessValue",45);
this.AbortInterval(component, event, helper);
}else if(objectName == 'Opportunity' && result != null && result != '' && !result.includes("Completed")){
component.set("v.OppCount",result.toString());
}
if(objectName == 'HIC_ShopifySync__Collection__c' && ApexClassName == 'FetchSmartCollection_Batch' && result != null && result != '' && result.includes("Completed")){
component.set("v.SmartCount",(result.toString()).replace('Completed',''));
component.set("v.SamartComplete",true);
$A.util.addClass(component.find('progesssbar'), 'ProgressSmart');
component.set("v.ProgessValue",48);
this.AbortInterval(component, event, helper);
}else if(objectName == 'HIC_ShopifySync__Collection__c' && ApexClassName == 'FetchSmartCollection_Batch' && result != null && result != '' && !result.includes("Completed")){
component.set("v.SmartCount",result.toString());
}
if(objectName == 'HIC_ShopifySync__Collection__c' && ApexClassName == 'FetchCollections_Batch' && result != null && result != '' && result.includes("Completed")){
component.set("v.CustomCount",(result.toString()).replace('Completed',''));
component.set("v.CustomComplete",true);
$A.util.addClass(component.find('progesssbar'), 'ProgressCustom');
component.set("v.ProgessValue",51);
this.AbortInterval(component, event, helper);
}else if(objectName == 'HIC_ShopifySync__Collection__c' && ApexClassName == 'FetchCollections_Batch' && result != null && result != '' && !result.includes("Completed")){
component.set("v.CustomCount",result.toString());
}
if(objectName == 'HIC_ShopifySync__Collect__c' && result != null && result != '' && result.includes("Completed")){
component.set("v.CollectCount",(result.toString()).replace('Completed',''));
component.set("v.CollectComplete",true);
$A.util.addClass(component.find('progesssbar'), 'ProgressCollect');
component.set("v.ProgessValue",70);
this.AbortInterval(component, event, helper);
}else if(objectName == 'HIC_ShopifySync__Collection__c' && result != null && result != '' && !result.includes("Completed")){
component.set("v.CollectCount",result.toString());
}
if(objectName == 'HIC_ShopifySync__Location__c' && result != null && result != '' && result.includes("Completed")){
component.set("v.LocationCount",(result.toString()).replace('Completed',''));
component.set("v.LocationComplete",true);
$A.util.addClass(component.find('progesssbar'), 'ProgressLocation');
component.set("v.ProgessValue",81);
this.AbortInterval(component, event, helper);
}else if(objectName == 'HIC_ShopifySync__Location__c' && result != null && result != '' && !result.includes("Completed")){
component.set("v.LocationCount",result.toString());
}
if(objectName == 'HIC_ShopifySync__Inventory__c' && result != null && result != '' && result.includes("Completed")){
component.set("v.InventoryCount",(result.toString()).replace('Completed',''));
component.set("v.InventoryComplete",true);
$A.util.addClass(component.find('progesssbar'), 'ProgressInventory');
component.set("v.ProgessValue",89);
this.AbortInterval(component, event, helper);
}else if(objectName == 'HIC_ShopifySync__Inventory__c' && result != null && result != '' && !result.includes("Completed")){
component.set("v.InventoryCount",result.toString());
}
if(objectName == 'Draftorder' && result != null && result != '' && result.includes("Completed")){
component.set("v.DraftOrderCount",(result.toString()).replace('Completed',''));
component.set("v.DraftOrderComplete",true);
$A.util.addClass(component.find('progesssbar'), 'ProgressDraft');
component.set("v.ProgessValue",95);
}else if(objectName == 'Draftorder' && result != null && result != '' && !result.includes("Completed")){
component.set("v.DraftOrderCount",result.toString());
}
}
}
else if(result == '' || result == undefined){
$A.util.addClass(component.find('progesssbar'), 'ProgressCompleted');
component.set("v.ProgessValue",100);
component.set("v.configObj.HIC_ShopifySync__Batch_Is_Processing__c",false);
$A.util.addClass(component.find('ProgressMessageid'), 'StatusCompleted');
component.set('v.ProgressMessage','Background setup finished');
this.AbortInterval(component, event, helper);
}
});
if(component.get("v.Batchaborted") == false && component.get("v.Batchabortedbox") == false){
if((component.get("v.IsBatchProcess") == 'true' || component.get("v.IsBatchProcess") == true ) && objectName != '' && ApexClassName != '' ){
$A.enqueueAction(action);
}else{
$A.util.addClass(component.find('progesssbar'), 'ProgressCompleted');
component.set("v.ProgessValue",100);
component.set("v.configObj.HIC_ShopifySync__Batch_Is_Processing__c",false);
$A.util.addClass(component.find('ProgressMessageid'), 'StatusCompleted');
component.set('v.ProgressMessage','Background setup finished');
this.AbortInterval(component, event, helper);
}
}
}catch(error){
console.log('Error Message '+ error.message + ' '+error.name );
}
},
AbortIntervalBatchAborted : function(component, event, helper) {
/* console.log('Batch Abort Called');
var batchabortedconfigupdate = component.get("c.batchabortedconfigupdate");
batchabortedconfigupdate.setCallback(this,function(res){
console.log('startfromthefirstpage action called');
var state = res.getState();
console.log('state'+ state);
console.log('res.getReturnValue()'+ res.getReturnValue());
if(state =="SUCCESS" && res.getReturnValue() == true ){
console.log('AbortIntervalBatchAborted enterd' + component.get("v.setinterval"));
var setinterval = component.get("v.setinterval");
console.log('setinterval');
window.clearInterval(setinterval);
component.set("v.setinterval",1010101010010010);
}
});
$A.enqueueAction(batchabortedconfigupdate); */
var setinterval = component.get("v.setinterval");
window.clearInterval(setinterval);
component.set("v.setinterval",1010101010010010);
},
AbortInterval : function(component, event, helper) {
/*var setinterval = component.get("v.setinterval");
component.set("v.setinterval",1010101010010010);
window.clearInterval(setinterval); */
/* if( component.get("v.VarientComplete") == 'false' || component.get("v.VarientComplete") == false || component.get("v.ContactComplete") == 'false' || component.get("v.InventoryComplete") == 'false' || component.get("v.InventoryComplete") == false || component.get("v.ContactComplete") == false || component.get("v.InventoryComplete") == 'false' || component.get("v.InventoryComplete") == false || component.get("v.DraftOrderComplete") == false || component.get("v.DraftOrderComplete") == 'false' ) {
}
if( ((component.get("v.VarientComplete") == 'false' || component.get("v.VarientComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == 'true') ) || (( component.get("v.ContactComplete") == 'false' || component.get("v.ContactComplete") == false ) && ( component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == 'true')) || ( ( component.get("v.InventoryComplete") == 'false' || component.get("v.InventoryComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == 'true')) || (( component.get("v.DraftOrderComplete") == false || component.get("v.DraftOrderComplete") == 'false' ) && ( component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == true || component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == 'true') ) ){
}*/
if(((component.get("v.ProductCount") == 'In Queue' || component.get("v.ProductComplete") == 'false' || component.get("v.ProductComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == 'true')) || ((component.get("v.VarientCount") == 'In Queue' || component.get("v.VarientComplete") == 'false' || component.get("v.VarientComplete") == false) && (component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Product_Sync__c") == 'true')) || ((component.get("v.AccountCount") == 'In Queue' || component.get("v.AccountComplete") == 'false' || component.get("v.AccountComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == 'true')) || ((component.get("v.ContactCount") == 'In Queue' || component.get("v.ContactComplete") == 'false' || component.get("v.ContactComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Customer_Sync__c") == 'true')) || ((component.get("v.OrderCount") == 'In Queue' || component.get("v.OrderComplete") == 'false' || component.get("v.OrderComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Order_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Order_Sync__c") == 'true')) || ((component.get("v.OppCount") == 'In Queue' || component.get("v.OppComplete") == 'false' || component.get("v.OppComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Opportunity__c") == true || component.get("v.configObj.HIC_ShopifySync__Opportunity__c") == 'true')) || ((component.get("v.SmartCount") == 'In Queue' || component.get("v.SamartComplete") == 'false' || component.get("v.SamartComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')) || ((component.get("v.CustomCount") == 'In Queue' || component.get("v.CustomComplete") == 'false' || component.get("v.CustomComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')) || ((component.get("v.CollectCount") == 'In Queue' || component.get("v.CollectComplete") == 'false' || component.get("v.CollectComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Collection__c") == true || component.get("v.configObj.HIC_ShopifySync__Collection__c") == 'true')) || ((component.get("v.LocationCount") == 'In Queue' || component.get("v.LocationComplete") == 'false' || component.get("v.LocationComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == 'true')) || ((component.get("v.InventoryCount") == 'In Queue' || component.get("v.InventoryComplete") == 'false' || component.get("v.InventoryComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == true || component.get("v.configObj.HIC_ShopifySync__Inventory_Location_Sync__c") == 'true')) || ((component.get("v.DraftOrderCount") == 'In Queue' || component.get("v.DraftOrderComplete") == 'false' || component.get("v.DraftOrderComplete") == false) && ( component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == true || component.get("v.configObj.HIC_ShopifySync__Enable_Draft_Order__c") == 'true')) ){
var setintervalabort = component.get("v.setinterval");
window.clearInterval(setintervalabort);
var dointcalled = component.get("c.doinit");
$A.enqueueAction(dointcalled);
// $A.get('e.force:refreshView').fire();
}else{
$A.util.addClass(component.find('progesssbar'), 'ProgressCompleted');
component.set("v.ProgessValue",100);
component.set("v.configObj.HIC_ShopifySync__Batch_Is_Processing__c",false);
$A.util.addClass(component.find('ProgressMessageid'), 'StatusCompleted');
component.set('v.ProgressMessage','Background setup finished');
var setintervalabort = component.get("v.setinterval");
try{
window.clearInterval(setintervalabort);
component.set("v.setinterval",1010101010010010);
}catch(e){
console.log('error');
console.log(e);
}
}
},
getConfigurationData : function( component, event ) {
var action = component.get("c.getConfigration");
action.setCallback(this, function(response) {
var state = response.getState();
if (state === "SUCCESS" && response.getReturnValue() != null ) {
var configObj = JSON.parse( response.getReturnValue() );
component.set("v.configObj", configObj);
}
else if (state === "INCOMPLETE") {
console.log('configuration get error');
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message);
}
} else {
console.log("Unknown error");
}
}
});
$A.enqueueAction(action);
}
})