Subversion Repositories SmartDukaan

Rev

Rev 37846 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37846 Rev 37869
Line 86... Line 86...
86
import java.net.URISyntaxException;
86
import java.net.URISyntaxException;
87
import java.time.LocalDate;
87
import java.time.LocalDate;
88
import java.time.LocalDateTime;
88
import java.time.LocalDateTime;
89
import java.time.YearMonth;
89
import java.time.YearMonth;
90
import java.time.format.DateTimeFormatter;
90
import java.time.format.DateTimeFormatter;
-
 
91
import java.time.format.DateTimeFormatterBuilder;
-
 
92
import java.time.format.DateTimeParseException;
-
 
93
import java.time.temporal.ChronoField;
91
import java.time.temporal.ChronoUnit;
94
import java.time.temporal.ChronoUnit;
92
import java.util.*;
95
import java.util.*;
93
import java.util.stream.Collectors;
96
import java.util.stream.Collectors;
94
import java.util.stream.Stream;
97
import java.util.stream.Stream;
95
 
98
 
Line 102... Line 105...
102
    private BillingWarehouseService billingWarehouseService;
105
    private BillingWarehouseService billingWarehouseService;
103
 
106
 
104
 
107
 
105
    private static final Logger LOGGER = LogManager.getLogger(InventoryController.class);
108
    private static final Logger LOGGER = LogManager.getLogger(InventoryController.class);
106
 
109
 
107
    private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("M/d/yyyy H:m:s");
110
    private static final DateTimeFormatter formatter = new DateTimeFormatterBuilder()
-
 
111
            .appendPattern("M/d/yyyy[ H:mm[:ss]]")
-
 
112
            .parseDefaulting(ChronoField.HOUR_OF_DAY, 0)
-
 
113
            .parseDefaulting(ChronoField.MINUTE_OF_HOUR, 0)
-
 
114
            .parseDefaulting(ChronoField.SECOND_OF_MINUTE, 0)
-
 
115
            .toFormatter();
108
 
116
 
109
    private static final List<String> imeis = Arrays.asList("351030944216680", "351030944217183", "351030944217886", "351030944507286", "351081710231270", "351081710238713", "351081710238796", "351081710241279", "351081710244737", "355777112655976");
117
    private static final List<String> imeis = Arrays.asList("351030944216680", "351030944217183", "351030944217886", "351030944507286", "351081710231270", "351081710238713", "351081710238796", "351081710241279", "351081710244737", "355777112655976");
110
 
118
 
111
    List<EscalationType> esclationType = Arrays.asList(EscalationType.L3, EscalationType.L4);
119
    List<EscalationType> esclationType = Arrays.asList(EscalationType.L3, EscalationType.L4);
112
 
120
 
Line 702... Line 710...
702
         * ProfitMandiBusinessException("Please select brand", "Brand empty",
710
         * ProfitMandiBusinessException("Please select brand", "Brand empty",
703
         * "Brand required"); }
711
         * "Brand required"); }
704
         */
712
         */
705
        List<CSVRecord> masterDataList = readFile(file);
713
        List<CSVRecord> masterDataList = readFile(file);
706
 
714
 
707
        Map<String, LocalDateTime> imeisActivationMap = masterDataList.stream().collect(Collectors.toMap(x -> x.get(0).trim(), x -> {
715
        Map<String, LocalDateTime> imeisActivationMap = new LinkedHashMap<>();
-
 
716
        List<String> errors = new ArrayList<>();
-
 
717
        for (CSVRecord record : masterDataList) {
708
            if (!StringUtils.isEmpty(x.get(1).trim())) {
718
            String imei = record.get(0).trim();
709
                return LocalDateTime.parse((String) (x.get(1).trim()), formatter);
719
            String activationDate = record.size() > 1 ? record.get(1).trim() : "";
710
            } else {
720
            if (imeisActivationMap.containsKey(imei)) {
-
 
721
                errors.add("Row " + record.getRecordNumber() + ": duplicate IMEI " + imei);
711
                return null;
722
                continue;
712
            }
723
            }
-
 
724
            LocalDateTime activationTimestamp = null;
-
 
725
            if (!StringUtils.isEmpty(activationDate)) {
-
 
726
                try {
-
 
727
                    activationTimestamp = LocalDateTime.parse(activationDate, formatter);
-
 
728
                } catch (DateTimeParseException e) {
-
 
729
                    errors.add("Row " + record.getRecordNumber() + ": invalid date '" + activationDate + "' for IMEI " + imei);
-
 
730
                    continue;
-
 
731
                }
-
 
732
            }
-
 
733
            imeisActivationMap.put(imei, activationTimestamp);
-
 
734
        }
-
 
735
        if (!errors.isEmpty()) {
-
 
736
            throw new ProfitMandiBusinessException("Activation Date", "M/d/yyyy or M/d/yyyy H:mm or M/d/yyyy H:mm:ss",
-
 
737
                    String.join("\n", errors));
713
        }));
738
        }
714
        LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
739
        LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
715
        String email = loginDetails.getEmailId();
740
        String email = loginDetails.getEmailId();
716
        AuthUser authUser = authRepository.selectByEmailOrMobile(email);
741
        AuthUser authUser = authRepository.selectByEmailOrMobile(email);
717
        inventoryService.addActivatedImeis(imeisActivationMap, authUser.getId());
742
        inventoryService.addActivatedImeis(imeisActivationMap, authUser.getId());
718
        model.addAttribute("response1", true);
743
        model.addAttribute("response1", true);