Untitled
unknown
plain_text
a year ago
5.1 kB
4
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