Subversion Repositories SmartDukaan

Rev

Rev 36741 | Rev 36787 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 36741 Rev 36761
Line 902... Line 902...
902
 
902
 
903
        Lead lead = leadRepository.selectById(createLeadActivityRequest.getId());
903
        Lead lead = leadRepository.selectById(createLeadActivityRequest.getId());
904
        AuthUser leadAuthUser = authRepository.selectById(lead.getAuthId());
904
        AuthUser leadAuthUser = authRepository.selectById(lead.getAuthId());
905
        LeadDetail leadDetail = leadDetailRepository.selectByLeadId(createLeadActivityRequest.getId());
905
        LeadDetail leadDetail = leadDetailRepository.selectByLeadId(createLeadActivityRequest.getId());
906
 
906
 
-
 
907
        // Unconditional gate: a lead can only be edited once its live geo-location
-
 
908
        // is APPROVED. UI also pre-checks; this is the server-side safety net.
-
 
909
        LeadLiveLocation approvedGeo = leadLiveLocationRepository.selectApprovedByLeadId(createLeadActivityRequest.getId());
-
 
910
        if (approvedGeo == null) {
-
 
911
            throw new ProfitMandiBusinessException("Lead", "", "Live geo-location for this lead has not been approved yet. Please approve the geo-location before editing.");
-
 
912
        }
-
 
913
 
907
        if (leadDetail == null && !createLeadActivityRequest.getStatus().equals(LeadStatus.notInterested) && leadAuthUser.isActive()) {
914
        if (leadDetail == null && !createLeadActivityRequest.getStatus().equals(LeadStatus.notInterested) && leadAuthUser.isActive()) {
908
 
915
 
909
            throw new ProfitMandiBusinessException("LeadDetail", "", "Please fill lead detail");
916
            throw new ProfitMandiBusinessException("LeadDetail", "", "Please fill lead detail");
910
        }
917
        }
911
 
918
 
912
        // Validate approved geolocation for physical visit
-
 
913
        if (createLeadActivityRequest.getStatus() == LeadStatus.followUp
-
 
914
                && createLeadActivityRequest.getCommunicationType() != null
-
 
915
                && createLeadActivityRequest.getCommunicationType().equals(CommunicationType.VISIT)) {
-
 
916
            LeadLiveLocation approvedGeo = leadLiveLocationRepository.selectApprovedByLeadId(createLeadActivityRequest.getId());
-
 
917
            if (approvedGeo == null) {
-
 
918
                throw new ProfitMandiBusinessException("Lead", "", "Missing Valid Live Geo Location for the lead");
-
 
919
            }
-
 
920
        }
-
 
921
 
-
 
922
        LeadActivity leadActivity = new LeadActivity();
919
        LeadActivity leadActivity = new LeadActivity();
923
        leadActivity.setLeadId(createLeadActivityRequest.getId());
920
        leadActivity.setLeadId(createLeadActivityRequest.getId());
924
        leadActivity.setRemark(createLeadActivityRequest.getRemark());
921
        leadActivity.setRemark(createLeadActivityRequest.getRemark());
925
 
922
 
926
        LOGGER.info("createRefferalRequest" + createLeadActivityRequest);
923
        LOGGER.info("createRefferalRequest" + createLeadActivityRequest);