Subversion Repositories SmartDukaan

Rev

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