Subversion Repositories SmartDukaan

Rev

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