Subversion Repositories SmartDukaan

Rev

Rev 36564 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
23755 amit.gupta 1
package com.smartdukaan.cron;
23723 amit.gupta 2
 
32782 raveendra. 3
import com.smartdukaan.cron.migrations.RunOnceTasks;
4
import com.smartdukaan.cron.scheduled.*;
5
import com.smartdukaan.cron.scheduled.b2b.Listing;
36745 ranu 6
import com.smartdukaan.cron.scheduled.beatmiss.BeatMissDetectorRunner;
32782 raveendra. 7
import com.smartdukaan.cron.scheduled.leadsync.LeadSyncRunner;
32831 amit.gupta 8
import com.smartdukaan.cron.scheduled.ordertracking.OrderTrackingService;
33274 amit.gupta 9
import com.smartdukaan.cron.scheduled.purchaseorder.POScheduler;
34860 ranu 10
import com.smartdukaan.cron.scheduled.razorpay.FetchPartnersDisbursementTask;
36058 ranu 11
import com.smartdukaan.cron.scheduled.knowlarity.KnowlarityCallMonitorScheduler;
12
import com.spice.profitmandi.common.model.InvoicePdfModel;
34443 vikas.jang 13
import com.spice.profitmandi.common.model.ProfitMandiConstants;
32782 raveendra. 14
import com.spice.profitmandi.dao.enumuration.cs.EscalationType;
15
import com.spice.profitmandi.dao.repository.cs.CsService;
16
import com.spice.profitmandi.dao.repository.fofo.FofoOrderItemRepository;
36035 amit 17
import com.spice.profitmandi.dao.service.shopify.ShopifyProductSyncService;
32782 raveendra. 18
import com.spice.profitmandi.dao.util.ContentPojoPopulator;
19
import com.spice.profitmandi.service.integrations.samsung.upgradeoffer.UpgradeOfferService;
36063 ranu 20
import com.spice.profitmandi.service.mail.MailOutboxService;
23723 amit.gupta 21
import org.apache.logging.log4j.LogManager;
22
import org.apache.logging.log4j.Logger;
28389 amit.gupta 23
import org.apache.velocity.app.VelocityEngine;
24
import org.apache.velocity.exception.VelocityException;
23898 amit.gupta 25
import org.springframework.beans.factory.annotation.Autowired;
26
import org.springframework.boot.ApplicationArguments;
27
import org.springframework.boot.ApplicationRunner;
23723 amit.gupta 28
import org.springframework.boot.WebApplicationType;
29
import org.springframework.boot.autoconfigure.SpringBootApplication;
30
import org.springframework.boot.builder.SpringApplicationBuilder;
31
import org.springframework.context.annotation.Bean;
32
import org.springframework.context.annotation.ComponentScan;
34554 tejus.loha 33
import org.springframework.context.annotation.EnableAspectJAutoProxy;
23935 amit.gupta 34
import org.springframework.context.annotation.Primary;
23723 amit.gupta 35
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
36
import org.springframework.core.io.ClassPathResource;
35393 amit 37
import org.springframework.core.io.Resource;
23906 amit.gupta 38
import org.springframework.mail.javamail.JavaMailSender;
39
import org.springframework.mail.javamail.JavaMailSenderImpl;
28389 amit.gupta 40
import org.springframework.ui.velocity.VelocityEngineFactoryBean;
23723 amit.gupta 41
 
32782 raveendra. 42
import java.io.FileInputStream;
43
import java.io.IOException;
44
import java.time.LocalDate;
45
import java.time.YearMonth;
46
import java.util.ArrayList;
47
import java.util.Arrays;
48
import java.util.List;
49
import java.util.Properties;
50
import java.util.stream.Collectors;
23724 amit.gupta 51
 
23723 amit.gupta 52
@SpringBootApplication
34554 tejus.loha 53
@EnableAspectJAutoProxy
23755 amit.gupta 54
@ComponentScan("com.smartdukaan.cron.*, com.spice.profitmandi.common.*")
24122 govind 55
public class Application implements ApplicationRunner {
56
 
31753 tejbeer 57
    private static final Logger LOGGER = LogManager.getLogger(Application.class);
24122 govind 58
 
31753 tejbeer 59
    @Autowired
60
    LeadSyncRunner leadSyncRunner;
30120 amit.gupta 61
 
31753 tejbeer 62
    @Autowired
63
    StandAlone standAlone;
30209 amit.gupta 64
 
31753 tejbeer 65
    @Autowired
66
    UpgradeOfferService upgradeOfferService;
27392 amit.gupta 67
 
31753 tejbeer 68
    @Autowired
69
    private TicketRelatedScheduledTask ticketRelatedScheduledTask;
28368 tejbeer 70
 
31753 tejbeer 71
    @Autowired
72
    private OnBoardingRelatedSchelduleTask onBoardingRelatedSchelduleTask;
28921 tejbeer 73
 
31753 tejbeer 74
    @Autowired
75
    private InvestmentRelatedTasks investmentRelatedTasks;
27392 amit.gupta 76
 
31753 tejbeer 77
    @Autowired
78
    private CsService csService;
29814 tejbeer 79
 
31753 tejbeer 80
    @Autowired
81
    private FofoOrderItemRepository fofoOrderItemRepository;
24603 amit.gupta 82
 
31753 tejbeer 83
    @Autowired
84
    private ContentPojoPopulator contentPojoPopulator;
29361 tejbeer 85
 
31753 tejbeer 86
    @Autowired
87
    private Listing listing;
24122 govind 88
 
32831 amit.gupta 89
    @Autowired
90
    OrderTrackingService orderTrackingService;
91
 
36306 amit 92
    @Autowired
93
    BatchScheduledTasks batchScheduledTasks;
94
 
36745 ranu 95
    @Autowired
96
    private BeatMissDetectorRunner beatMissDetectorRunner;
97
 
31753 tejbeer 98
    public static void main(String[] args) throws Throwable {
99
        try {
35803 amit 100
            WebApplicationType webType = WebApplicationType.SERVLET;
101
            for (String arg : args) {
102
                if (arg.contains("spring.main.web-application-type=none")) {
103
                    webType = WebApplicationType.NONE;
104
                    break;
105
                }
106
            }
107
            new SpringApplicationBuilder(Application.class)
108
                    .web(webType)
109
                    .run(args);
31753 tejbeer 110
        } catch (Throwable t) {
111
            t.printStackTrace();
112
        }
113
    }
28389 amit.gupta 114
 
31753 tejbeer 115
    @Bean
116
    public static PropertySourcesPlaceholderConfigurer propertyConfigurer1() {
117
        LOGGER.info("Called Configuration");
118
        PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer();
35393 amit 119
 
35832 amit 120
        String activeProfile;
121
        Properties properties = new Properties();
122
        try {
123
            properties.load(Application.class.getClassLoader().getResourceAsStream("META-INF/env.property"));
124
        } catch (IOException e) {
125
            LOGGER.error("Error reading env.property, defaulting to dev: " + e);
126
            properties.put("profile", "dev");
127
        }
128
        activeProfile = (String) properties.get("profile");
35393 amit 129
 
35832 amit 130
        Resource appResource;
131
        Resource sharedResource;
132
 
133
        if ("prod".equals(activeProfile)) {
134
            appResource = new ClassPathResource("/META-INF/prod.properties");
135
            sharedResource = new ClassPathResource("/shared-prod.properties");
136
        } else if ("staging".equals(activeProfile)) {
137
            appResource = new ClassPathResource("/META-INF/staging.properties");
138
            sharedResource = new ClassPathResource("/shared-staging.properties");
139
        } else {
140
            appResource = new ClassPathResource("/META-INF/dev.properties");
141
            sharedResource = new ClassPathResource("/shared-dev.properties");
142
        }
143
 
144
        LOGGER.info("Cron loading profile: " + activeProfile);
145
        propertySourcesPlaceholderConfigurer.setLocations(sharedResource, appResource);
35393 amit 146
        propertySourcesPlaceholderConfigurer.setIgnoreResourceNotFound(true);
147
 
31753 tejbeer 148
        return propertySourcesPlaceholderConfigurer;
149
    }
28389 amit.gupta 150
 
31753 tejbeer 151
    @Bean(name = "veloctyEngine")
152
    public VelocityEngine velocityEngine() throws VelocityException, IOException {
153
        VelocityEngineFactoryBean factory = new VelocityEngineFactoryBean();
28389 amit.gupta 154
 
31753 tejbeer 155
        Properties velocityProperties = new Properties();
156
        velocityProperties.put("resource.loader", "class");
157
        velocityProperties.put("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
158
        velocityProperties.put("file.resource.loader.cache", true);
159
        velocityProperties.put("file.resource.loader.unicode", true);
160
        velocityProperties.put("input.encoding", "UTF-8");
161
        velocityProperties.put("output.encoding", "UTF-8");
162
        velocityProperties.put("response.encoding", "UTF-8");
163
        velocityProperties.put("overrideLogging", true);
28389 amit.gupta 164
 
31753 tejbeer 165
        // velocityProperties.put("file.resource.loader.path", ".");
28389 amit.gupta 166
 
31753 tejbeer 167
        factory.setVelocityProperties(velocityProperties);
28389 amit.gupta 168
 
31753 tejbeer 169
        return factory.createVelocityEngine();
23723 amit.gupta 170
 
31753 tejbeer 171
    }
24122 govind 172
 
34668 amit.gupta 173
    @Bean(name = "mailSender")
31753 tejbeer 174
    @Primary
175
    public JavaMailSender sendGridMailSender() {
176
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
24122 govind 177
 
31753 tejbeer 178
        // Using gmail
179
        mailSender.setHost("smtp.sendgrid.net");
180
        mailSender.setPort(587);
181
        mailSender.setUsername("apikey");
34668 amit.gupta 182
        mailSender.setPassword("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");
24122 govind 183
 
31753 tejbeer 184
        Properties javaMailProperties = new Properties();
185
        javaMailProperties.put("mail.smtp.starttls.enable", "false");
186
        javaMailProperties.put("mail.smtp.auth", "true");
187
        javaMailProperties.put("mail.transport.protocol", "smtp");
36060 amit 188
        javaMailProperties.put("mail.smtp.connectiontimeout", "10000");
189
        javaMailProperties.put("mail.smtp.timeout", "10000");
190
        javaMailProperties.put("mail.smtp.writetimeout", "10000");
24122 govind 191
 
31753 tejbeer 192
        mailSender.setJavaMailProperties(javaMailProperties);
193
        return mailSender;
34632 ranu 194
    }
23935 amit.gupta 195
 
31753 tejbeer 196
    @Bean
197
    public JavaMailSender googleMailSender() {
198
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
34612 ranu 199
        mailSender.setHost("smtp.gmail.com");
200
        mailSender.setPort(465);
201
        mailSender.setUsername("sdtech@smartdukaan.com");
202
        mailSender.setPassword("gpdschroalhhirox"); // App Password
203
 
204
        Properties props = mailSender.getJavaMailProperties();
205
        props.put("mail.smtp.auth", "true");
206
        props.put("mail.smtp.ssl.enable", "true");
207
        props.put("mail.smtp.ssl.trust", "smtp.gmail.com");
208
        props.put("mail.smtp.socketFactory.port", "465");
209
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
36060 amit 210
        props.put("mail.smtp.connectiontimeout", "10000");
211
        props.put("mail.smtp.timeout", "10000");
212
        props.put("mail.smtp.writetimeout", "10000");
34612 ranu 213
 
214
        return mailSender;
215
    }
216
 
36248 amit 217
    @Bean(name = "gmailRelaySender")
218
    public JavaMailSender getGmailRelaySender() {
219
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
220
        mailSender.setHost("smtp-relay.gmail.com");
221
        mailSender.setPort(587);
222
 
223
        Properties props = mailSender.getJavaMailProperties();
224
        props.put("mail.smtp.starttls.enable", "true");
225
        props.put("mail.smtp.auth", "false");
226
        props.put("mail.smtp.localhost", "smartdukaan.com");
227
        props.put("mail.smtp.ssl.protocols", "TLSv1.2");
228
        props.put("mail.smtp.ssl.trust", "smtp-relay.gmail.com");
229
        props.put("mail.transport.protocol", "smtp");
230
        props.put("mail.smtp.connectiontimeout", "10000");
231
        props.put("mail.smtp.timeout", "10000");
232
        props.put("mail.smtp.writetimeout", "10000");
233
 
234
        return mailSender;
235
    }
236
 
31753 tejbeer 237
    @Autowired
238
    private RunOnceTasks runOnceTasks;
24122 govind 239
 
31753 tejbeer 240
    @Autowired
241
    private ScheduledTasks scheduledTasks;
30335 amit.gupta 242
 
31753 tejbeer 243
    @Autowired
34306 ranu 244
    private ScheduledTasksTest scheduledTasksTest;
245
 
246
    @Autowired
34860 ranu 247
    private FetchPartnersDisbursementTask fetchPartnersDisbursementTask;
248
 
249
    @Autowired
31753 tejbeer 250
    private Reconciliation reconciliation;
30309 amit.gupta 251
 
31753 tejbeer 252
    @Autowired
36511 amit 253
    private WarehouseStockReconciliation warehouseStockReconciliation;
254
 
255
    @Autowired
35250 amit 256
    private Migrations migrations;
257
 
258
    @Autowired
31753 tejbeer 259
    CaptchaService captchaService;
28921 tejbeer 260
 
33274 amit.gupta 261
    @Autowired
262
    POScheduler poScheduler;
32878 amit.gupta 263
 
35929 vikas 264
    @Autowired
265
    ShopifyProductSyncService shopifyProductSyncService;
33274 amit.gupta 266
 
36058 ranu 267
    @Autowired
268
    KnowlarityCallMonitorScheduler knowlarityCallMonitorScheduler;
35929 vikas 269
 
36063 ranu 270
    @Autowired
271
    MailOutboxService mailOutboxService;
272
 
31753 tejbeer 273
    @Override
274
    public void run(ApplicationArguments args) throws Exception {
32008 amit.gupta 275
        //scheduledTasks.test();
276
        //System.exit();
31753 tejbeer 277
        LOGGER.info("Called run method");
36058 ranu 278
 
279
        // Knowlarity Call Monitor - Manual trigger (if 10 AM scheduled start was missed)
280
        // This just starts the monitor; scheduled healthCheck and stopMonitoring will still work
281
        if (args.containsOption("startKnowlarityMonitor")) {
282
            LOGGER.info("Starting Knowlarity Call Monitor manually...");
283
            knowlarityCallMonitorScheduler.startMonitoring();
284
            LOGGER.info("Knowlarity Call Monitor started. Scheduled tasks will handle health checks and 10 PM stop.");
285
            // No sleep needed - Spring scheduler keeps app running and handles 10 PM stop
286
        }
36545 ranu 287
        if (args.containsOption("trackingReport")) {
288
            runOnceTasks.dailyTrackingReport();
289
        }
36058 ranu 290
        if (args.containsOption("stopKnowlarityMonitor")) {
291
            LOGGER.info("Stopping Knowlarity Call Monitor...");
292
            knowlarityCallMonitorScheduler.stopMonitoring();
293
        }
36115 ranu 294
        // Knowlarity - Request fresh snapshot manually (when status not updating)
295
        if (args.containsOption("refreshKnowlaritySnapshot")) {
296
            LOGGER.info("Requesting Knowlarity snapshot manually...");
297
            knowlarityCallMonitorScheduler.healthCheck();
298
            LOGGER.info("Knowlarity snapshot requested.");
299
            System.exit(0);
300
        }
36058 ranu 301
 
33260 amit.gupta 302
        if (args.containsOption("removePartialBillingForTransaction")) {
303
            if (args.containsOption("trId")) {
33051 amit.gupta 304
                int transactionId = Integer.parseInt(args.getOptionValues("trId").get(0));
33054 amit.gupta 305
                scheduledTasks.removePartialBillingForTransaction(transactionId);
33051 amit.gupta 306
            }
307
            System.exit(0);
308
        }
34523 ranu 309
        if (args.containsOption("createOpeningStockPartyWise")) {
310
            scheduledTasks.createOpeningStockPartyWise();
311
            System.exit(0);
312
        }
31753 tejbeer 313
        if (args.containsOption("tc")) {
314
            System.out.println("Toffee service called");
315
            scheduledTasks.toffeeRollback();
316
            System.exit(0);
317
        }
318
        if (args.containsOption("bag")) {
319
            System.out.println("Bag service called");
320
            runOnceTasks.testBag();
321
            System.exit(0);
322
        }
29814 tejbeer 323
 
31753 tejbeer 324
        if (args.containsOption("rw")) {
325
            System.out.println("Reverse wallet");
326
            scheduledTasks.reverseWallet();
327
            System.exit(0);
328
        }
329
        if (args.containsOption("sendIndentTertiary")) {
330
            System.out.println("sendIndentTertiary");
331
            scheduledTasks.sendIndentTertiary();
332
            System.exit(0);
333
        }
334
        if (args.containsOption("checkPartnerActiveStore")) {
335
            System.out.println("checkPartnerActiveStore");
336
            scheduledTasks.checkPartnerActiveStore();
337
            System.exit(0);
338
        }
29800 manish 339
 
31753 tejbeer 340
        if (args.containsOption("selectFinServiceFollowUpDateByCurrDate")) {
341
            System.out.println("selectfinServiceFollowUpDateByCurrDate");
28368 tejbeer 342
 
31753 tejbeer 343
            scheduledTasks.selectFinServiceFollowUpDateByCurrDate(LocalDate.now());
344
            System.exit(0);
345
        }
25073 amit.gupta 346
 
31753 tejbeer 347
        if (args.containsOption("addHdfcPayment")) {
348
            runOnceTasks.addPayment();
349
            System.exit(0);
350
        }
35250 amit 351
        if (args.containsOption("migrateOriginalInventoryItemId")) {
352
            int batchSize = 10_000;
353
            if (args.containsOption("batchSize")) {
354
                try {
355
                    batchSize = Integer.parseInt(args.getOptionValues("batchSize").get(0));
356
                } catch (Exception e) {
357
                    LOGGER.warn("Invalid batchSize provided, defaulting to {}", batchSize);
358
                }
359
            }
360
            LOGGER.info("Starting migration for warehouse.inventoryItem.originalInventoryItemId with batchSize={}", batchSize);
36003 aman 361
            //migrations.migrateWarehouseOriginalInventoryItemId(batchSize);
35250 amit 362
            LOGGER.info("Migration completed.");
363
            System.exit(0);
364
        }
31753 tejbeer 365
        if (args.containsOption("processSchemeOut")) {
366
            System.out.println("Process schemeOut");
367
            int orderId = Integer.parseInt(args.getOptionValues("orderid").get(0));
368
            int fofoId = Integer.parseInt(args.getOptionValues("fofoid").get(0));
369
            runOnceTasks.processSchemeOut(fofoId, orderId);
370
            System.exit(0);
371
        }
372
        if (args.containsOption("at")) {
373
            System.out.println("Toffee service called");
374
            ticketRelatedScheduledTask.alertforTicket();
375
            System.exit(0);
376
        }
377
        if (args.containsOption("et")) {
378
            ticketRelatedScheduledTask.escalateTicket();
379
            ;
380
            System.exit(0);
381
        }
382
        if (args.containsOption("sr")) {
383
            List<String> schemeIds = args.getOptionValues("schemeId");
384
            System.out.println(schemeIds);
385
            scheduledTasks.schemeRollback(schemeIds);
386
            System.exit(0);
387
        }
388
        if (args.containsOption("processActivation")) {
389
            scheduledTasks.processActivation();
390
            System.exit(0);
391
        }
392
        if (args.containsOption("sendAttendanceMorningAlert")) {
393
            scheduledTasks.sendAttendanceMorningAlert();
394
            System.exit(0);
395
        }
396
        if (args.containsOption("sendAttendanceEveningAlert")) {
397
            scheduledTasks.sendAttendanceEveningAlert();
398
            System.exit(0);
399
        }
25721 tejbeer 400
 
31753 tejbeer 401
        if (args.containsOption("checkRazorPayPaymentStatus")) {
402
            scheduledTasks.checkRazorPayPaymentStatus();
403
            System.exit(0);
404
        }
405
        if (args.containsOption("grouping")) {
406
            scheduledTasks.grouping();
407
            System.exit(0);
408
        }
409
        if (args.containsOption("fixWallet")) {
410
            runOnceTasks.fixWallet();
411
            System.exit(0);
412
        }
36511 amit 413
        if (args.containsOption("reconcileInventorySnapshot")) {
414
            warehouseStockReconciliation.reconcile();
415
            System.exit(0);
416
        }
31753 tejbeer 417
        if (args.containsOption("reconcileExpiredFixedSchemes")) {
418
            reconciliation.reconcileExpiredFixedSchemes();
419
            System.exit(0);
420
        }
421
        if (args.containsOption("dailyReconciliation")) {
422
            if (args.containsOption("date")) {
423
                LocalDate date = LocalDate.parse(args.getOptionValues("date").get(0));
424
                reconciliation.dailyReconciliation(date);
425
            } else {
426
                reconciliation.dailyReconciliation(LocalDate.now().minusDays(1));
427
            }
428
            System.exit(0);
429
        }
430
        /*
431
         * if (args.containsOption("test")) { schemeService.processSchemeIn(9243,
432
         * 175138102); throw new Exception(); }
433
         */
28921 tejbeer 434
 
31753 tejbeer 435
        if (args.containsOption("sendNotification")) {
436
            scheduledTasks.sendNotification();
437
            System.exit(0);
438
        }
26291 tejbeer 439
 
36063 ranu 440
        if (args.containsOption("processPendingMails")) {
441
            System.out.println("Processing pending mails...");
442
            mailOutboxService.processPendingMails();
443
            System.exit(0);
444
        }
445
 
31753 tejbeer 446
        if (args.containsOption("ticketClosed")) {
35568 amit 447
            // Redirected to TicketRelatedScheduledTask which handles auto-close as part of escalateTicket
448
            ticketRelatedScheduledTask.escalateTicket();
31753 tejbeer 449
            System.exit(0);
450
        }
28207 tejbeer 451
 
31753 tejbeer 452
        if (args.containsOption("getVendorWarehouses")) {
453
            int warehouseId = Integer.parseInt(args.getOptionValues("warehouseId").get(0));
454
            scheduledTasks.getVendorWarehouses(warehouseId);
455
            System.exit(0);
456
        }
29776 tejbeer 457
 
31753 tejbeer 458
        if (args.containsOption("checkfocusedModelInPartnerStock")) {
34344 amit.gupta 459
            try {
460
                scheduledTasks.checkfocusedModelInPartnerStock();
461
            } finally {
462
                System.exit(0);
463
            }
31753 tejbeer 464
        }
29451 manish 465
 
31753 tejbeer 466
        if (args.containsOption("checkImeiActivation")) {
467
            scheduledTasks.checkImeiActivation();
468
            System.exit(0);
469
        }
29776 tejbeer 470
 
31753 tejbeer 471
        if (args.containsOption("checkTecnoImeiActivation")) {
29776 tejbeer 472
 
31753 tejbeer 473
            LocalDate dateTechno = LocalDate.now();
29532 manish 474
 
31753 tejbeer 475
            int days = 25;
476
            if (args.containsOption("days")) {
477
                days = Integer.parseInt(args.getOptionValues("days").get(0));
478
            }
479
            scheduledTasks.checkTecnoImeiActivation(dateTechno, days);
480
            System.exit(0);
481
        }
28921 tejbeer 482
 
31753 tejbeer 483
        if (args.containsOption("checkItelImeiActivation")) {
484
            LocalDate dateItel = LocalDate.now();
485
            int days = 25;
486
            if (args.containsOption("days")) {
487
                days = Integer.parseInt(args.getOptionValues("days").get(0));
488
            }
489
            scheduledTasks.checkItelImeiActivation(dateItel, days);
490
            System.exit(0);
491
        }
28921 tejbeer 492
 
31753 tejbeer 493
        if (args.containsOption("partnerProblemAlert")) {
494
            scheduledTasks.partnerProblemAlert();
495
            System.exit(0);
496
        }
497
        if (args.containsOption("notify")) {
498
            if (args.containsOption("fofoId")) {
499
                int fofoId = Integer.parseInt(args.getOptionValues("fofoId").get(0));
500
                scheduledTasks.sendDailySalesNotificationToPartner(fofoId);
501
            }
502
            System.exit(0);
503
        }
504
        if (args.containsOption("findMismatchesInIndent")) {
505
            runOnceTasks.findMismatchesInIndent();
506
            System.exit(0);
507
        }
29035 tejbeer 508
 
31753 tejbeer 509
        if (args.containsOption("onboardingEventDelays")) {
510
            onBoardingRelatedSchelduleTask.onboardingEventDelays();
511
            System.exit(0);
512
        }
28982 tejbeer 513
 
31753 tejbeer 514
        if (args.containsOption("onBoardingCompleteEventEmail")) {
515
            onBoardingRelatedSchelduleTask.onBoardingCompleteEventEmail();
516
            System.exit(0);
517
        }
28921 tejbeer 518
 
31753 tejbeer 519
        if (args.containsOption("onBoardingDocumentsPending")) {
520
            onBoardingRelatedSchelduleTask.onBoardingDocumentsPending();
521
            System.exit(0);
522
        }
523
        if (args.containsOption("onBoardingMigration")) {
524
            onBoardingRelatedSchelduleTask.onBoardingMigration();
525
            System.exit(0);
526
        }
28921 tejbeer 527
 
33859 tejus.loha 528
//        if (args.containsOption("advancePaymentPendingAlert")) {
529
//            onBoardingRelatedSchelduleTask.advancePaymentPendingAlert();
530
//            System.exit(0);
531
//        }
28963 tejbeer 532
 
31753 tejbeer 533
        if (args.containsOption("fullPaymentPendingAlert")) {
534
            onBoardingRelatedSchelduleTask.fullPaymentPendingAlert();
535
            System.exit(0);
536
        }
29308 tejbeer 537
 
33859 tejus.loha 538
//        if (args.containsOption("advancePaymentPendinglegalAlert")) {
539
//            onBoardingRelatedSchelduleTask.advancePaymentPendinglegalAlert();
540
//            System.exit(0);
541
//        }
31117 tejbeer 542
 
31753 tejbeer 543
        if (args.containsOption("markDelhiveryOrderDelivered")) {
32831 amit.gupta 544
            orderTrackingService.markDelhiveryOrderDelivered();
31753 tejbeer 545
            System.exit(0);
546
        }
32831 amit.gupta 547
 
31753 tejbeer 548
        if (args.containsOption("markBlueDartOrderDelivered")) {
32794 raveendra. 549
            System.out.println("Marking BlueDart Order Delivered...");
32831 amit.gupta 550
            orderTrackingService.markBlueDartOrderDelivered();
31753 tejbeer 551
            System.exit(0);
552
        }
553
        if (args.containsOption("mergingdata")) {
554
            onBoardingRelatedSchelduleTask.mergingdata();
555
            System.exit(0);
556
        }
557
        if (args.containsOption("brandingAlert")) {
558
            onBoardingRelatedSchelduleTask.brandingAlert();
559
            System.exit(0);
560
        }
31089 amit.gupta 561
 
33859 tejus.loha 562
//        if (args.containsOption("storeTimelinePromoterPending")) {
563
//            onBoardingRelatedSchelduleTask.storeTimelinePromoterPending();
564
//            System.exit(0);
565
//        }
31249 tejbeer 566
 
31753 tejbeer 567
        if (args.containsOption("ppl")) {
568
            runOnceTasks.printPendingLeads();
569
            System.exit(0);
570
        }
31249 tejbeer 571
 
31753 tejbeer 572
        if (args.containsOption("notifyAll")) {
573
            scheduledTasks.sendDailySalesNotificationToPartner(null);
574
            System.exit(0);
575
        }
31249 tejbeer 576
 
31753 tejbeer 577
        if (args.containsOption("monthlyTargetForInternalTeam")) {
578
            scheduledTasks.monthlyTargetForInternalTeam();
579
            System.exit(0);
580
        }
31249 tejbeer 581
 
31753 tejbeer 582
        if (args.containsOption("monthlyTargetForPartner")) {
583
            scheduledTasks.monthlyTargetForPartner();
584
            System.exit(0);
585
        }
33444 ranu 586
        if (args.containsOption("findAllLiveDemoBrandItemsByBillingDate")) {
587
            scheduledTasks.findAllLiveDemoBrandItemsByBillingDate();
588
            System.exit(0);
589
        }
33464 ranu 590
        if (args.containsOption("findTodayPocoBillingItems")) {
591
            scheduledTasks.findTodayPocoBillingItems();
592
            System.exit(0);
593
        }
28921 tejbeer 594
 
31753 tejbeer 595
        if (args.containsOption("hygineAlertForPartner")) {
596
            scheduledTasks.hygineAlertForPartner();
597
            System.exit(0);
598
        }
28921 tejbeer 599
 
31753 tejbeer 600
        if (args.containsOption("hygineAlertForInternalTeam")) {
601
            scheduledTasks.hygineAlertForInternalTeam();
602
            System.exit(0);
603
        }
604
 
32214 jai.hind 605
        if (args.containsOption("checkItelImeiActivationNew")) {
606
            scheduledTasks.checkItelImeiActivationNew(LocalDate.now(), 15);
607
            System.exit(0);
608
        }
31753 tejbeer 609
        if (args.containsOption("once")) {
33274 amit.gupta 610
 
611
            if (args.containsOption("autoClosePurchaseOrders")) {
612
                poScheduler.autoClosePurchaseOrders();
613
            }
31753 tejbeer 614
            if (args.containsOption("cancelOnceAssist")) {
615
                if (args.containsOption("invoiceNumber")) {
616
                    String oneAssistInvoiceNumber = args.getOptionValues("invoiceNumber").get(0);
617
                    runOnceTasks.cancelOnceAssist(oneAssistInvoiceNumber);
618
                }
619
 
35266 ranu 620
 
31753 tejbeer 621
            }
34208 ranu 622
            if (args.containsOption("cancelOnceAssist")) {
623
                if (args.containsOption("MemberShipNumber")) {
624
                    String applicationNo = args.getOptionValues("applicationNo").get(0);
625
                    String membershipId = args.getOptionValues("membershipId").get(0);
626
                    runOnceTasks.cancelOnceAssistByMemberShipNumber(applicationNo, membershipId);
627
                }
628
 
629
            }
33260 amit.gupta 630
            if (args.containsOption("changeFulfillmentWarehouse")) {
631
                if (args.containsOption("orderId") && args.containsOption("whId")) {
35277 amit 632
                    List<Integer> orderIds = Arrays.stream(args.getOptionValues("orderId").get(0).split(","))
633
                            .map(String::trim)
634
                            .map(Integer::parseInt)
635
                            .collect(Collectors.toList());
636
 
35276 amit 637
                    int warehouseId = Integer.parseInt(args.getOptionValues("whId").get(0));
638
                    for (Integer orderId : orderIds) {
639
                        runOnceTasks.changeFulfillmentWarehouse(orderId, warehouseId);
640
                    }
33260 amit.gupta 641
                }
642
                System.exit(0);
643
            }
31753 tejbeer 644
            if (args.containsOption("1")) {
645
                if (args.containsOption("test")) {
31618 amit.gupta 646
                    //scheduledTasks.sendPartnerInvestmentDetails(args.getOptionValues("email"));
31753 tejbeer 647
                    System.out.println("Calling test method");
36003 aman 648
                    try {
649
                        scheduledTasks.test();
650
                    } catch (Throwable e) {
651
                        throw new RuntimeException(e);
652
                    }
35165 amit 653
                    System.exit(0);
32083 tejbeer 654
 
655
                    if (args.containsOption("migrateVendorItemPricing")) {
656
                        scheduledTasks.migrateVendorItemPricing();
657
                        System.exit(0);
658
                    }
659
 
660
                    if (args.containsOption("approveVendorCatalogPricing")) {
661
                        scheduledTasks.approveVendorCatalogPricing();
662
                        System.exit(0);
663
                    }
32080 tejbeer 664
                } else if (args.containsOption("test1")) {
32008 amit.gupta 665
                    scheduledTasks.test1();
34845 ranu 666
                } else if (args.containsOption("scheduleTaskTest1")) {
667
 
668
                    scheduledTasksTest.test();
669
                }else if (args.containsOption("generateBiReport")) {
670
                    scheduledTasksTest.generateBiReport();
34945 ranu 671
                }else if (args.containsOption("abmSendertest")) {
34946 ranu 672
                    runOnceTasks.setAbmReportSender();
35788 vikas 673
                }else if (args.containsOption("syncProductsToShopify")) {
36058 ranu 674
                    shopifyProductSyncService.syncByWarehouse(ProfitMandiConstants.WAREHOUSE_NAME_MAP.get("UP-WEST/NOIDA"));
34321 ranu 675
                }
34860 ranu 676
                else if (args.containsOption("fetchPartnerDisburseMentTask")) {
677
                    if(args.containsOption("fetchDisbursements")){
678
                        fetchPartnersDisbursementTask.fetchDisbursementsTest();
679
                    }
680
                    else if(args.containsOption("creditAmountTest")){
681
                        fetchPartnersDisbursementTask.creditAmountTest();
682
                    }
683
                    else if(args.containsOption("createContactsAndFundsForFranchiseeTest")){
684
                        fetchPartnersDisbursementTask.createContactsAndFundsForFranchiseeTest();
685
                    }
686
                    else if(args.containsOption("rabbitTransactionProducertest")){
687
                        fetchPartnersDisbursementTask.rabbitTransactionProducertest();
688
                    }
34879 ranu 689
                    else if(args.containsOption("sendingDisbursementMail")){
690
                        fetchPartnersDisbursementTask.sendingDisbursementMail();
691
                    }
34860 ranu 692
                    else {
693
                        fetchPartnersDisbursementTask.test();
694
                    }
695
                }
34845 ranu 696
                else if (args.containsOption("testNew1")) {
34307 ranu 697
                    List<String> loanIdArgs = args.getOptionValues("loanIds");  // ["34833,36536,37151"]
698
                    List<Integer> loanIds = new ArrayList<>();
699
 
700
                    if (loanIdArgs != null && !loanIdArgs.isEmpty()) {
701
                        String csv = loanIdArgs.get(0);
702
                        loanIds = Arrays.stream(csv.split(","))
703
                                .map(String::trim)
704
                                .map(Integer::parseInt)
705
                                .collect(Collectors.toList());
706
                    }
34321 ranu 707
                    scheduledTasksTest.findLoanTransactionMapingAccordingLoan(loanIds);
34309 ranu 708
                } else if (args.containsOption("testNew2")) {
34308 ranu 709
                    if (args.containsOption("createLoan")) {
710
                        // Extract each parameter
711
                        int transactionId = 0;
712
                        double invoiceAmount = 0.0;
713
                        String invoiceNumber = "";
714
 
715
                        if (args.containsOption("transactionId")) {
716
                            transactionId = Integer.parseInt(args.getOptionValues("transactionId").get(0));
717
                        }
718
 
719
                        if (args.containsOption("invoiceAmount")) {
720
                            invoiceAmount = Double.parseDouble(args.getOptionValues("invoiceAmount").get(0));
721
                        }
722
 
723
                        if (args.containsOption("invoiceNumber")) {
724
                            invoiceNumber = args.getOptionValues("invoiceNumber").get(0);
725
                        }
726
 
727
                        // Call your method
728
                        scheduledTasksTest.createLoanForBillingByTransactionIdAndInvoiceNumber(transactionId, invoiceAmount, invoiceNumber);
729
                    }
730
 
32482 amit.gupta 731
                } else {
31753 tejbeer 732
                    System.out.println("Called sendPartnerInvestmentDetails");
733
                    scheduledTasks.sendPartnerInvestmentDetails();
734
                }
735
                System.exit(0);
736
            }
737
            if (args.containsOption("2")) {
738
                if (args.containsOption("test")) {
739
                    String[] emails = new String[args.getOptionValues("email").size()];
740
                    scheduledTasks.sendAgeingReport(args.getOptionValues("email").toArray(emails));
741
                } else {
742
                    scheduledTasks.sendAgeingReport();
743
                }
744
                System.exit(0);
745
            }
33457 amit.gupta 746
 
31753 tejbeer 747
            if (args.containsOption("cancelOrder")) {
748
                List<String> invoiceNumbers = args.getOptionValues("invoiceNumber");
749
                runOnceTasks.cancelOrder(invoiceNumbers);
750
            }
36554 amit 751
            if (args.containsOption("postCreditNoteForDuplicateInvoice")) {
752
                String duplicateInvoice = args.getOptionValues("duplicateInvoice").get(0);
753
                String activeInvoice = args.getOptionValues("activeInvoice").get(0);
754
                runOnceTasks.postCreditNoteForDuplicateInvoice(duplicateInvoice, activeInvoice);
755
            }
31753 tejbeer 756
            if (args.containsOption("migratePurchase")) {
757
                runOnceTasks.migratePurchase();
758
            }
759
            if (args.containsOption("migratepd")) {
760
                scheduledTasks.moveImeisToPriceDropImeis();
761
            }
762
            if (args.containsOption("walletmismatch")) {
763
                scheduledTasks.walletmismatch();
764
            }
765
            if (args.containsOption("schemewalletmismatch")) {
766
                scheduledTasks.schemewalletmismatch();
767
            }
768
            if (args.containsOption("gst")) {
769
                scheduledTasks.gst();
770
            }
771
            if (args.containsOption("mailDashboardScreenshots")) {
772
                runOnceTasks.mailDashboardScreenshots();
773
            }
774
            if (args.containsOption("notifyLead")) {
775
                scheduledTasks.notifyLead();
776
                scheduledTasks.notifyVisits();
777
            }
778
            if (args.containsOption("fixgrn")) {
779
                runOnceTasks.fixGrn();
780
            }
781
            if (args.containsOption("pbfix")) {
782
                runOnceTasks.pbfix();
783
            }
784
            if (args.containsOption("mongom")) {
785
                runOnceTasks.mongom();
786
            }
787
            if (args.containsOption("processPd")) {
788
                int priceDropId = Integer.parseInt(args.getOptionValues("processPd").get(0));
789
                runOnceTasks.processPd(priceDropId);
790
            }
791
            if (args.containsOption("samsung")) {
792
                if (args.containsOption("ym")) {
793
                    int ym = Integer.parseInt(args.getOptionValues("ym").get(0));
794
                    runOnceTasks.fetchImeiActivation(ym);
795
                }
796
                runOnceTasks.fetchImeiActivation(0);
797
            }
798
            if (args.containsOption("fixdupimeigrn")) {
799
                runOnceTasks.fixDupGrns();
800
            }
801
            if (args.containsOption("cancel")) {
36053 amit 802
                boolean recreatePri = args.containsOption("recreatePri");
803
                runOnceTasks.cancelDn(args.getOptionValues("dn").get(0), recreatePri);
31753 tejbeer 804
            }
805
            if (args.containsOption("fixScheme")) {
806
                runOnceTasks.fixScheme();
807
            }
808
            if (args.containsOption("syncLeads")) {
809
                leadSyncRunner.syncLeads();
810
            }
811
            if (args.containsOption("testCs")) {
812
                int category = Integer.parseInt(args.getOptionValues("category").get(0));
813
                EscalationType escalationType = EscalationType.valueOf(args.getOptionValues("escalation").get(0));
814
                int fofoId = Integer.parseInt(args.getOptionValues("fofoid").get(0));
815
                csService.getAuthUserId(category, escalationType, fofoId);
816
            }
817
            if (args.containsOption("duporder")) {
818
                runOnceTasks.removeDuplicateOrders();
819
            }
820
            if (args.containsOption("createDummyInvoices")) {
821
                runOnceTasks.createDummyInvoices();
822
            }
28921 tejbeer 823
 
31753 tejbeer 824
            if (args.containsOption("createGeofence")) {
825
                runOnceTasks.createGeofence();
826
            }
827
            if (args.containsOption("getAllGeofences")) {
828
                runOnceTasks.getAllGeofences();
829
            }
830
            if (args.containsOption("payMonthlyInvestment")) {
831
                investmentRelatedTasks.payMonthlyInvestment();
832
            }
833
            if (args.containsOption("evaluateActualInvestmentPayout")) {
834
                investmentRelatedTasks.evaluateActualInvestmentPayout();
835
            }
836
            if (args.containsOption("deleteGeofences")) {
837
                List<String> geofenceIds = args.getOptionValues("geofenceId");
838
                runOnceTasks.deleteGeofences(geofenceIds);
839
            }
840
            if (args.containsOption("createOffers")) {
841
                if (args.containsOption("fileName")) {
842
                    String fileName = args.getOptionValues("fileName").get(0);
843
                    FileInputStream stream = new FileInputStream(fileName);
844
                    runOnceTasks.createOffers(stream);
845
                }
846
            }
847
            if (args.containsOption("schemeout")) {
848
                if (args.containsOption("invoices")) {
849
                    String invoicesString = args.getOptionValues("invoices").get(0);
850
                    List<String> invoices = Arrays.asList(invoicesString.split(","));
851
                    scheduledTasks.processSchemeOut(invoices);
852
                }
853
            }
854
            if (args.containsOption("schemein")) {
855
                if (args.containsOption("invoices")) {
856
                    String invoicesString = args.getOptionValues("invoices").get(0);
857
                    List<String> invoices = Arrays.asList(invoicesString.split(","));
858
                    scheduledTasks.processSchemeIn(invoices);
859
                }
860
            }
28921 tejbeer 861
 
31753 tejbeer 862
            if (args.containsOption("fixScans")) {
863
                runOnceTasks.fixScans();
864
            }
865
            if (args.containsOption("fixPrebookingOrderGrn")) {
866
                runOnceTasks.genericCreateCurrentInventorySnapshot();
867
            }
868
            if (args.containsOption("fixOurSerialized")) {
869
                if (args.containsOption("orderIds")) {
870
                    String orderIdsString = args.getOptionValues("orderIds").get(0);
871
                    List<Integer> orderIds = Arrays.asList(orderIdsString.split(",")).stream().map(x -> Integer.parseInt(x)).collect(Collectors.toList());
872
                    // runOnceTasks.fixOurSerialized(orderIds);
873
                }
874
            }
29776 tejbeer 875
 
31753 tejbeer 876
            if (args.containsOption("reverseMaa")) {
877
                runOnceTasks.reverseMaa();
878
            }
29776 tejbeer 879
 
31753 tejbeer 880
            if (args.containsOption("fixOffer")) {
881
                runOnceTasks.fixOffer();
882
            }
29794 tejbeer 883
 
31753 tejbeer 884
            if (args.containsOption("opporeno")) {
885
                runOnceTasks.opporeno();
886
            }
30309 amit.gupta 887
 
31753 tejbeer 888
            if (args.containsOption("fixorders")) {
889
                runOnceTasks.fixOrders();
890
            }
891
            if (args.containsOption("fixreservations")) {
892
                runOnceTasks.fixReservations();
893
            }
894
            if (args.containsOption("addinvestment")) {
895
                runOnceTasks.addInvestment();
896
            }
897
            if (args.containsOption("brandregion")) {
898
                runOnceTasks.brandRegion();
899
            }
900
            if (args.containsOption("rollOutUpgardedMargins")) {
35520 amit 901
                scheduledTasks.rollOutUpgardedMargins(Arrays.asList(175140172, 175140189));
31753 tejbeer 902
            }
34029 ranu 903
            if (args.containsOption("pushRbmTargets")) {
904
                scheduledTasks.persistRbmTodayTargets();
905
            }
31753 tejbeer 906
            if (args.containsOption("rollOutUpgardedMarginsNextMonth")) {
35524 amit 907
                System.out.println("In rollOutUpgardedMarginsNextMonth");
35532 amit 908
                scheduledTasks.rollOutUpgardedMarginsNextMonth(Arrays.asList(175140172, 175140189, 175138897));
31753 tejbeer 909
            }
910
            if (args.containsOption("checkCancellationMargin")) {
911
                scheduledTasks.checkCancellationMargin();
912
            }
913
            if (args.containsOption("reviewUncontactablePartner")) {
914
                scheduledTasks.reviewUncontactablePartner();
915
            }
33078 ranu 916
            if (args.containsOption("reviewNonSdBuyingBrand")) {
917
                scheduledTasks.reviewNonSdBuyingBrand();
918
            }
31753 tejbeer 919
            if (args.containsOption("sendWelcomeEmail")) {
920
                onBoardingRelatedSchelduleTask.sendWelcomeEmail();
921
            }
29814 tejbeer 922
 
31753 tejbeer 923
            if (args.containsOption("partnerOnboardingLegalMigration")) {
924
                onBoardingRelatedSchelduleTask.partnerOnboardingLegalMigration();
925
            }
31031 amit.gupta 926
 
33526 amit.gupta 927
            if(args.containsOption("moveOrders")) {
928
                runOnceTasks.moveOrders();
929
            }
930
 
31753 tejbeer 931
            if (args.containsOption("addKycLegalMigration")) {
932
                onBoardingRelatedSchelduleTask.addKycLegalMigration();
933
            }
29776 tejbeer 934
 
935
 
31753 tejbeer 936
            if (args.containsOption("pushDataToSolr")) {
937
                listing.pushDataToSolr();
938
            }
30120 amit.gupta 939
 
31753 tejbeer 940
            if (args.containsOption("testGstPro")) {
941
                System.out.println("TestGstProc called");
942
                try {
943
                    runOnceTasks.updateIrnsToInvoices();
944
                } catch (Exception e) {
945
                    e.printStackTrace();
946
                }
947
            }
29308 tejbeer 948
 
31753 tejbeer 949
            if (args.containsOption("reverseSchemeCancelInvoice")) {
950
                if (args.containsOption("invoice")) {
951
                    String invoice = args.getOptionValues("invoice").get(0);
952
                    runOnceTasks.reverseSchemes(invoice);
953
                }
954
            }
29863 tejbeer 955
 
31753 tejbeer 956
            if (args.containsOption("reverseInvalidActivation")) {
957
                if (args.containsOption("inventoryids")) {
958
                    String inventoryItemIdsString = args.getOptionValues("inventoryids").get(0);
959
                    List<Integer> inventoryItemIds = new ArrayList<>();
960
                    for (String inventoryItemIdString : inventoryItemIdsString.split(",")) {
961
                        int inventoryItemId = Integer.parseInt(inventoryItemIdString.trim());
962
                        inventoryItemIds.add(inventoryItemId);
963
                    }
964
                    runOnceTasks.reverseInvalidActivation(inventoryItemIds);
965
                }
966
            }
29863 tejbeer 967
 
31753 tejbeer 968
            if (args.containsOption("runme")) {
969
                runOnceTasks.runMe();
970
            }
971
            if (args.containsOption("" + "")) {
972
                upgradeOfferService.authenticateUser();
973
            }
974
            if (args.containsOption("mandiiUser")) {
975
                runOnceTasks.mandiiUser(args.getOptionValues("firstName").get(0), args.getOptionValues("lastName").get(0), args.getOptionValues("pan").get(0), args.getOptionValues("dob").get(0), args.getOptionValues("aadhaar").get(0), args.getOptionValues("gender").get(0), args.getOptionValues("father").get(0));
976
            }
30335 amit.gupta 977
 
31753 tejbeer 978
            if (args.containsOption("mandiiUsers")) {
979
                if (args.containsOption("pan")) {
980
                    runOnceTasks.mandiiUsers(args.getOptionValues("pan").get(0));
981
                } else {
982
                    runOnceTasks.mandiiUsers();
983
                }
984
            }
30576 amit.gupta 985
 
31753 tejbeer 986
            if (args.containsOption("checkOppoImeiStatus")) {
987
                try {
988
                    standAlone.checkOppoImeiStatus();
989
                } catch (Exception e) {
990
                    e.printStackTrace();
991
                }
992
            }
30616 amit.gupta 993
 
34417 amit.gupta 994
            if (args.containsOption("checkRealmeImeiStatus")) {
995
                try {
996
                    standAlone.checkRealmeImeiStatus();
997
                } catch (Exception e) {
998
                    e.printStackTrace();
999
                }
1000
            }
1001
 
31753 tejbeer 1002
            /*
1003
             * if (args.containsOption("checkRealmeImeiStatus")) { try {
1004
             * standAlone.checkRealmeImeiStatus(); } catch (Exception e) {
1005
             * e.printStackTrace(); } }
1006
             */
30616 amit.gupta 1007
 
31753 tejbeer 1008
            if (args.containsOption("amazonPurchase")) {
1009
                try {
1010
                    runOnceTasks.amazonPurchase();
1011
                } catch (Exception e) {
1012
                    e.printStackTrace();
1013
                }
1014
            }
30641 amit.gupta 1015
 
31753 tejbeer 1016
            if (args.containsOption("getCaptchaCode")) {
1017
                try {
1018
                    captchaService.getCaptchaCode("/home/amit/Desktop/generatingCodes.jpg");
1019
                } catch (Exception e) {
1020
                    e.printStackTrace();
1021
                }
1022
            }
30641 amit.gupta 1023
 
31753 tejbeer 1024
            if (args.containsOption("testIrnLive")) {
1025
                try {
1026
                    runOnceTasks.testIrnLive(args.getOptionValues("invoiceNumber").get(0));
1027
                } catch (Exception e) {
1028
                    e.printStackTrace();
1029
                }
1030
            }
30659 amit.gupta 1031
 
31753 tejbeer 1032
            if (args.containsOption("createoffercriteria")) {
1033
                try {
1034
                    runOnceTasks.createOfferCriteria();
1035
                } catch (Exception e) {
1036
                    e.printStackTrace();
1037
                }
1038
            }
30659 amit.gupta 1039
 
31753 tejbeer 1040
            if (args.containsOption("fix-price-drops")) {
1041
                runOnceTasks.fixPriceDrop();
1042
            }
29035 tejbeer 1043
 
31753 tejbeer 1044
            if (args.containsOption("processSchemeByIds")) {
1045
                List<String> schemeIds = Arrays.asList(args.getOptionValues("ids").get(0).split(","));
1046
                List<Integer> schemeIdsInt = schemeIds.stream().map(x -> Integer.parseInt(x)).collect(Collectors.toList());
1047
                runOnceTasks.processSchemeByIds(schemeIdsInt);
1048
            }
30859 tejbeer 1049
 
31753 tejbeer 1050
            if (args.containsOption("updateSaholicCISTable")) {
1051
                runOnceTasks.updateSaholicCISTable();
1052
            }
30859 tejbeer 1053
 
31753 tejbeer 1054
            if (args.containsOption("mapbag")) {
1055
                runOnceTasks.mapBag();
1056
            }
30859 tejbeer 1057
 
34579 vikas.jang 1058
            if (args.containsOption("todayBidPO")) {
34443 vikas.jang 1059
                runOnceTasks.processBids(ProfitMandiConstants.BID_CRON_ENUM.TODAY);
1060
            }
1061
 
34579 vikas.jang 1062
            if (args.containsOption("yesterdayBidPO")) {
1063
                runOnceTasks.processBids(ProfitMandiConstants.BID_CRON_ENUM.YESTERDAY);
1064
            }
1065
 
34547 vikas.jang 1066
            if (args.containsOption("biddingConsolidatedMessage")) {
1067
                runOnceTasks.consolidatedBiddingMessage();
1068
            }
1069
 
1070
            if (args.containsOption("sendMailWhatsAppAfterLoanDueDate")) {
1071
                scheduledTasks.sendMailWhatsAppAfterLoanDueDate();
1072
            }
1073
 
34836 vikas 1074
            if (args.containsOption("yesterdayTrackingReport")) {
1075
                runOnceTasks.yesterdayTrackingReport();
34770 vikas.jang 1076
            }
1077
 
31753 tejbeer 1078
            System.exit(0);
1079
        }
30859 tejbeer 1080
 
31753 tejbeer 1081
        if (args.containsOption("calculateInterestAccured")) {
30929 tejbeer 1082
 
31753 tejbeer 1083
            scheduledTasks.calculateInterestAccured();
1084
            System.exit(0);
1085
        }
30929 tejbeer 1086
 
31753 tejbeer 1087
        if (args.containsOption("loanSettlement")) {
30890 amit.gupta 1088
 
31753 tejbeer 1089
            scheduledTasks.loanSettlement();
1090
            System.exit(0);
1091
        }
30896 amit.gupta 1092
 
31753 tejbeer 1093
        if (args.containsOption("dailyLoanAlert")) {
30936 tejbeer 1094
 
31753 tejbeer 1095
            scheduledTasks.dailyLoanAlert();
1096
            System.exit(0);
1097
        }
30982 tejbeer 1098
 
36564 amit 1099
        if (args.containsOption("testFlagshipBilling")) {
1100
            int trId = Integer.parseInt(args.getOptionValues("testFlagshipBilling").get(0));
1101
            double amt = Double.parseDouble(args.getOptionValues("testFlagshipBillingAmount").get(0));
1102
            String inv = args.getOptionValues("testFlagshipBillingInvoice").get(0);
1103
            scheduledTasks.testFlagshipBilling(trId, amt, inv);
1104
            System.exit(0);
1105
        }
1106
 
36554 amit 1107
        if (args.containsOption("convertExpiredFlagshipCredits")) {
1108
            scheduledTasks.convertExpiredFlagshipCredits();
1109
            System.exit(0);
1110
        }
1111
 
36745 ranu 1112
        // Manual back-fill for missed-beat detection. Default: today.
1113
        // Usage: --detectMissedBeats [--date=YYYY-MM-DD]
1114
        if (args.containsOption("detectMissedBeats")) {
1115
            LocalDate date = LocalDate.now();
1116
            if (args.containsOption("date")) {
1117
                date = LocalDate.parse(args.getOptionValues("date").get(0));
1118
            }
1119
            int inserted = beatMissDetectorRunner.syncMissesForDate(date);
1120
            LOGGER.info("detectMissedBeats: {} miss rows inserted for {}", inserted, date);
1121
            System.exit(0);
1122
        }
1123
 
36554 amit 1124
        if (args.containsOption("notifyFlagshipExpiryIn2Days")) {
1125
            scheduledTasks.notifyFlagshipExpiryIn2Days();
1126
            System.exit(0);
1127
        }
1128
 
31753 tejbeer 1129
        if (args.containsOption("updatePartnerLimit")) {
1130
            scheduledTasks.updatePartnerLimit();
1131
            System.exit(0);
1132
        }
30982 tejbeer 1133
 
31753 tejbeer 1134
        if (args.containsOption("notifyDefaultLoans")) {
1135
            scheduledTasks.notifyDefaultLoans();
1136
            System.exit(0);
1137
        }
31446 amit.gupta 1138
 
31753 tejbeer 1139
        if (args.containsOption("fixinsurance")) {
1140
            runOnceTasks.addMissingWalletDebitsForInsurance();
1141
            System.exit(0);
1142
        }
31604 tejbeer 1143
 
31753 tejbeer 1144
        if (args.containsOption("processActivatedImeisForSchemes")) {
1145
            scheduledTasks.processActivatedImeisForSchemes();
1146
            System.exit(0);
1147
        }
31604 tejbeer 1148
 
36306 amit 1149
        if (args.containsOption("updatePartnerLimitWithBatch")) {
1150
            System.out.println("Running updatePartnerLimit with batch tracking");
1151
            batchScheduledTasks.updatePartnerLimitWithBatch();
1152
            System.exit(0);
1153
        }
1154
 
1155
        if (args.containsOption("processOffersWithBatch")) {
1156
            for (String val : args.getOptionValues("processOffersWithBatch")) {
1157
                for (String id : val.split(",")) {
1158
                    int offerId = Integer.parseInt(id.trim());
1159
                    System.out.println("Processing offer with batch: " + offerId);
1160
                    batchScheduledTasks.processOfferWithBatch(offerId);
1161
                }
1162
            }
1163
            System.exit(0);
1164
        }
1165
 
31753 tejbeer 1166
        if (args.containsOption("notifyLoanDueDateCross")) {
1167
            scheduledTasks.notifyLoanDueDateCross();
1168
            System.exit(0);
1169
        }
34275 tejus.loha 1170
        if (args.containsOption("sendTenOrMoreOrderStockReport")) {
1171
            scheduledTasks.send10OrMoreOlderStockReport();
1172
            System.exit(0);
1173
        }
31604 tejbeer 1174
 
31753 tejbeer 1175
        if (args.containsOption("alertForDueDate")) {
1176
            scheduledTasks.alertForDueDate();
1177
            System.exit(0);
1178
        }
31648 tejbeer 1179
 
31753 tejbeer 1180
        if (args.containsOption("userMobileNumberOptIn")) {
1181
            scheduledTasks.userMobileNumberOptIn();
1182
            System.exit(0);
1183
        }
1184
 
1185
        if (args.containsOption("fetchParnterStats")) {
1186
            scheduledTasks.fetchParnterStats();
1187
            System.exit(0);
1188
        }
1189
 
1190
        if (args.containsOption("authUserMobileNumberOptIn")) {
1191
            scheduledTasks.authUserMobileNumberOptIn();
1192
            System.exit(0);
1193
        }
1194
        if (args.containsOption("morning")) {
1195
            if (args.containsOption("0")) {
1196
                scheduledTasks.sendPartnerInvestmentDetails();
1197
            }
1198
            if (args.containsOption("1")) {
1199
                scheduledTasks.sendIndentTertiary();
1200
            }
1201
            // 0
1202
            if (args.containsOption("2")) {
1203
                scheduledTasks.calculateInterestAccured();
1204
            }
1205
            System.out.println("scheduledTasks.calculateInterestAccured()");
1206
            // 0
1207
            if (args.containsOption("3")) {
32831 amit.gupta 1208
                orderTrackingService.markDelhiveryOrderDelivered();
31753 tejbeer 1209
            }
1210
            System.out.println("scheduledTasks.markDelhiveryOrderDelivered()");
1211
            // 1
1212
            if (args.containsOption("4")) {
1213
                scheduledTasks.processActivatedImeisForSchemes();
1214
            }
1215
            System.out.println("scheduledTasks.processActivatedImeisForSchemes()");
1216
            // 2
1217
            if (args.containsOption("5")) {
1218
                scheduledTasks.processActivation();
1219
            }
1220
            System.out.println("scheduledTasks.processActivation()");
1221
            // 4
1222
            if (args.containsOption("6")) {
1223
                scheduledTasks.processPriceDrop();
1224
            }
1225
            System.out.println("scheduledTasks.processPriceDrop()");
1226
            // 5
1227
            if (args.containsOption("7")) {
1228
                scheduledTasks.loanSettlement();
1229
            }
1230
            System.out.println("scheduledTasks.loanSettlement()");
36554 amit 1231
            if (args.containsOption("7a")) {
1232
                scheduledTasks.convertExpiredFlagshipCredits();
1233
                scheduledTasks.notifyFlagshipExpiryIn2Days();
1234
            }
1235
            System.out.println("scheduledTasks.convertExpiredFlagshipCredits()");
31753 tejbeer 1236
            // 8
1237
            if (args.containsOption("8")) {
1238
                scheduledTasks.reviewUncontactablePartner();
1239
            }
1240
            // 9
33859 tejus.loha 1241
//            if (args.containsOption("9")) {
1242
//                onBoardingRelatedSchelduleTask.storeTimelinePromoterPending();
1243
//            }
1244
//            // 9
1245
//            if (args.containsOption("10")) {
1246
//                onBoardingRelatedSchelduleTask.advancePaymentPendinglegalAlert();
1247
//            }
31753 tejbeer 1248
            // sendPartnerInvestment
1249
            if (args.containsOption("11")) {
1250
                scheduledTasks.sendPartnerInvestmentDetails();
1251
            }
1252
            if (args.containsOption("sendCreditNote")) {
35520 amit 1253
                System.out.println("Calling sendCreditNote");
34029 ranu 1254
                YearMonth yearMonth = YearMonth.now().minusMonths(1);
31753 tejbeer 1255
                /*
1256
                 * if
1257
                 * (localDateTime.toLocalDate().equals(yearMonth.atEndOfMonth().getDayOfMonth())
1258
                 * && Arrays.asList(20,21,22,23).contains(localDateTime.getHour())) {
1259
                 * scheduledTasks.sendCreditNote(yearMonth); }
1260
                 */
1261
                scheduledTasks.sendCreditNote(yearMonth);
1262
            }
36220 amit 1263
            if (args.containsOption("genDNs")) {
1264
                System.out.println("Calling genDNs");
36254 amit 1265
                try {
1266
                    String ymStr = args.getOptionValues("genDNs").isEmpty() ? null : args.getOptionValues("genDNs").get(0);
1267
                    YearMonth yearMonth = ymStr != null ? YearMonth.parse(ymStr) : YearMonth.now().minusMonths(1);
1268
                    System.out.println("genDNs for " + yearMonth);
1269
                    scheduledTasks.genDNs(yearMonth);
1270
                    System.out.println("genDNs completed successfully");
1271
                } catch (Exception e) {
1272
                    System.err.println("genDNs FAILED: " + e.getMessage());
1273
                    e.printStackTrace(System.err);
1274
                }
36220 amit 1275
            }
36503 amit 1276
            if (args.containsOption("genDNsForCNs")) {
1277
                System.out.println("Calling genDNsForCNs");
1278
                try {
1279
                    String cnList = args.getOptionValues("genDNsForCNs").get(0);
1280
                    List<String> cnNumbers = Arrays.asList(cnList.split(","));
1281
                    System.out.println("genDNsForCNs for " + cnNumbers.size() + " CNs: " + cnNumbers);
1282
                    scheduledTasks.genDNsForCNs(cnNumbers);
1283
                    System.out.println("genDNsForCNs completed successfully");
1284
                } catch (Exception e) {
1285
                    System.err.println("genDNsForCNs FAILED: " + e.getMessage());
1286
                    e.printStackTrace(System.err);
1287
                }
1288
            }
36433 amit 1289
            System.exit(0);
1290
        }
1291
 
31753 tejbeer 1292
    }
24848 amit.gupta 1293
}