Untitled
unknown
plain_text
a year ago
5.1 kB
10
Indexable
package com.muf.integrasi_ppd_java.service;
import com.muf.integrasi_ppd_java.dto.ContractDTO;
import com.muf.integrasi_ppd_java.dto.LogidDTO;
import com.muf.integrasi_ppd_java.model.mufam.ApplicationSurvey;
import com.muf.integrasi_ppd_java.repository.mufam.ApplicationSurveyRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Map;
@Service
@Slf4j
public class ApplicationSurveyService {
@Autowired
private ApplicationSurveyRepository applicationSurveyRepository;
@Transactional
public String insertData(Map<String, Object> request, ContractDTO contractDTO, String logsId) throws Exception {
try {
Map<String, Object> detail = (Map<String, Object>) request.get("detail");
Map<String, Object> data_entry_completion = (Map<String, Object>) detail.get("data_entry_completion");
Map<String, Object> detail_aplikasi = (Map<String, Object>) data_entry_completion.get("aplikasi");
Map<String, Object> informasi_aplikasi = (Map<String, Object>) detail_aplikasi.get("informasi_aplikasi");
ArrayList<Map<String, Object>> internal_sales_force = (ArrayList<Map<String, Object>>) informasi_aplikasi.get("internal_sales_force");
Map<String, Object> survey = (Map<String, Object>) data_entry_completion.get("survey");
Map<String, Object> data_kepemilikan = (Map<String, Object>) survey.get("data_kepemilikan");
Map<String, Object> area_coverage = (Map<String, Object>) data_kepemilikan.get("area_coverage");
String dateConfirm = (String) data_entry_completion.get("confirmed_date");
// String promiseDate = (String) applicationsSurvey.get("promiseDate");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date dateConfirmParsing = dateFormat.parse(dateConfirm);
// Date promiseDateParsing = dateFormat.parse(promiseDate);
log.info("Start Insert/Update Process Service Application Survey For Contract No: {}", contractDTO.getContractNo());
//log.info("Select data from Contract Master");
//log.info("Select data from Application Survey for Application Id & Contract no: {} & {}", contractDTO.getApplicationId(), contractDTO.getContractNo());
ApplicationSurvey data = applicationSurveyRepository.findById(contractDTO.getApplicationId())
.orElse(ApplicationSurvey.builder()
.applicationId(contractDTO.getApplicationId())
.build());
data.setDateConfirm(dateConfirmParsing); //confirmed_date //detail.data_entry_completion.confirmed_date
data.setApplStatus(null);
data.setProblemDesc(null);
//data.setPromiseDate(promiseDateParsing); //next ambil dari json
data.setSvhId(null); // string kosong
data.setSurveyInfo(null); //null
// for (Map<String, Object> internal : internal_sales_force) {
data.setCfoId(internal_sales_force.get(0).get("internal_sales_force_npk").toString()); //internal_sales_force_npk
data.setCfoIdJob(internal_sales_force.get(0).get("internal_sales_job_code").toString()); //internal_sales_job_code
//}
data.setSurveyInfo1(null); //null
data.setSurveyEnvironment(null); //null
data.setSurveyEnvironment1(null); //null
data.setCsaCode(null); // string kosong
data.setCsaStatus(null); //null
data.setSurveyDistance(null); //null
data.setDealerDistance(null); //null
data.setUsingDistance(0.0); // string kosong
data.setSurveyLocation(area_coverage.get("survey_location_code").toString()); //survey_location_code
data.setHouseDistance(Double.valueOf(area_coverage.get("survey_jarak_rumah").toString())); //survey_jarak_rumah
//data.setLogId(applicationsSurvey.get("logId").toString());
data.setLogId(logsId);
data.setSvySourceInfo3(null); //null
data.setSvyResultInfo3(null); //null
data.setSvyResultNotes(null); //null
applicationSurveyRepository.save(data);
log.info("End Insert/Update Process Service Application Survey For Contract No: {}", contractDTO.getContractNo());
return "Success";
} catch (Exception e) {
String errorMessage = "Error Proses Bridging Pada Table Application Survey: " + e.getMessage() + " Pada Nomor Kontrak: " + contractDTO.getContractNo();
log.error(errorMessage, e);
throw new Exception(errorMessage, e);
}
}
}
Editor is loading...
Leave a Comment