Commit e8b03155 authored by akbar fauzi's avatar akbar fauzi

service :

all service dgi
parent 532b3b84
package com.eksad.masterdata.common.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ManageWorkOrderHeaderResponseDTO {
private Integer status;
private String message;
private List<ManageWorkOrderResponseDTO> data;
}
package com.eksad.masterdata.common.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ManageWorkOrderParamDTO {
private String fromTime;
private String toTime;
private String dealerId;
private String noWorkOrder;
}
package com.eksad.masterdata.common.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ManageWorkOrderPartResponseDTO {
private String idJob;
private String partsNumber;
private Integer Kuantitas;
private Integer hargaParts;
private String promoIdParts;
private Integer discPartsAmount;
private Double discPartsPercentage;
private Integer ppn;
private Integer totalHargaParts;
private Integer uangMuka;
private String createdTime;
private String modifiedTime;
}
package com.eksad.masterdata.common.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ManageWorkOrderResponseDTO {
private String noWorkOrder;
private String noSAForm;
private String tanggalServis;
private String waktuPKB;
private String noPolisi;
private String noRangka;
private String noMesin;
private String kodeTipeUnit;
private String tahunMotor;
private String informasiBensin;
private Integer kmTerakhir;
private String tipeComingCustomer;
private String namaPemilik;
private String alamatPemilik;
private String kodePropinsiPemilik;
private String kodeKotaPemilik;
private String kodeKecamatanPemilik;
private String kodeKelurahanPemilik;
private String kodePosPemilik;
private String alamatPembawa;
private String kodePropinsiPembawa;
private String kodeKotaPembawa;
private String kodeKecamatanPembawa;
private String kodeKelurahanPembawa;
private String kodePosPembawa;
private String namaPembawa;
private String noTelpPembawa;
private String hubunganDenganPemilik;
private String keluhanKonsumen;
private String rekomendasiSA;
private String hondaIdSA;
private String hondaIdMekanik;
private String saranMekanik;
private String asalUnitEntry;
private String idPIT;
private String jenisPIT;
private String waktuPendaftaran;
private String waktuSelesai;
private String totalFRT;
private String setUpPembayaran;
private String catatanTambahan;
private String konfirmasiPekerjaanTambahan;
private String noBukuClaimC2;
private String noWorkOrderJobReturn;
private Integer totalBiayaService;
private String waktuPekerjaan;
private String statusWorkOrder;
private String dealerId;
private String createdTime;
private String modifiedTime;
private List<ManageWorkOrderServiceResponseDTO> services;
private List<ManageWorkOrderPartResponseDTO> parts;
}
package com.eksad.masterdata.common.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ManageWorkOrderServiceResponseDTO {
private String idJob;
private String namaPekerjaan;
private String jenisPekerjaan;
private Integer biayaService;
private String promoIdJasa;
private Integer discServiceAmount;
private Double discServicePercentage;
private Integer totalHargaServis;
private String createdTime;
private String modifiedTime;
}
package com.eksad.masterdata.common.listEnum;
public enum JenisPitType {
REGULER("1"), FAST_TRACK("2"), BOOKING("3"), EXPRESS("4");
private String en;
private JenisPitType(String en) {
this.en = en;
}
public String getOrdinal() {
return en;
}
}
package com.eksad.masterdata.common.listEnum;
public enum SetUpPembayaranType {
CASH("1"), TOP("2");
private String en;
private SetUpPembayaranType(String en) {
this.en = en;
}
public String getOrdinal() {
return en;
}
}
package com.eksad.masterdata.common.listEnum;
public enum StatusWorkOrderType {
START("1"), PAUSE("2"), PENDING("3"), FINISH("4"), CANCEL("5");
private String en;
private StatusWorkOrderType(String en) {
this.en = en;
}
public String getOrdinal() {
return en;
}
}
package com.eksad.masterdata.controller;
import com.eksad.ddms.common.uri.apigateway.APIGatewayURI;
import com.eksad.ddms.common.util.StringUtil;
import com.eksad.ddms.common.util.status.DataStatus;
import com.eksad.masterdata.common.dto.ManageWorkOrderHeaderResponseDTO;
import com.eksad.masterdata.common.dto.ManageWorkOrderParamDTO;
import com.eksad.masterdata.common.dto.ManageWorkOrderResponseDTO;
import com.eksad.masterdata.common.listEnum.SourceType;
import com.eksad.masterdata.domain.CreationalSpecification;
import com.eksad.masterdata.domain.Payload;
import com.eksad.masterdata.repository.ParamJsonApiGateway;
import com.eksad.masterdata.repository.ParamJsonApiGatewayRepository;
import com.eksad.masterdata.repository.PayloadRepository;
import com.eksad.masterdata.service.APIManageWorkOrderHystrixService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
@RestController
@Slf4j
public class ApigatewayManageWorkOrderRestController {
@Autowired
APIManageWorkOrderHystrixService manageWoService;
@Autowired
ParamJsonApiGatewayRepository paramJsonApiGatewayRepository;
@Autowired
PayloadRepository payloadRepository;
@Value("${dam.masterdata.h2}")
private String md_h2;
private ManageWorkOrderHeaderResponseDTO manageWorkOrderHeaderResponseDTO;
@RequestMapping(value = "/dgi-api/v1/pkb/read",
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> ManageWorkOrderAPIGATEWAYV1(@RequestBody ManageWorkOrderParamDTO paramDTO) {
System.out.println("Data API Gateway WO");
ParamJsonApiGateway paramJsonApiGateway = new ParamJsonApiGateway();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date startDate = null;
Date toDate = null;
ManageWorkOrderResponseDTO manageWorkOrderResponseDTO;
manageWorkOrderHeaderResponseDTO = new ManageWorkOrderHeaderResponseDTO();
try {
if (StringUtil.hasValue(paramDTO.getFromTime())) {
startDate = dateFormat.parse(paramDTO.getFromTime());
if (!StringUtil.hasValue(paramDTO.getToTime())) {
paramDTO.setToTime(getCurrentDate());
}
if (!checkToTimeIs7Days(paramDTO.getFromTime(), paramDTO.getToTime())) {
return new ResponseEntity<>(new ManageWorkOrderHeaderResponseDTO(0, "Rentang waktu melebihi 7 hari.", null), HttpStatus.OK);
}
} else {
return new ResponseEntity<>(new ManageWorkOrderHeaderResponseDTO(0, "Mohon isi fromTime.", null), HttpStatus.OK);
}
if (StringUtil.hasValue(paramDTO.getToTime())) {
toDate = dateFormat.parse(paramDTO.getToTime());
}
ResponseEntity<Object> result = manageWoService.getManageWorkOrder(paramDTO.getNoWorkOrder(), paramDTO.getDealerId(), paramDTO.getFromTime(), paramDTO.getToTime());
paramJsonApiGatewayRepository.save(constructParamDTOTODomain(paramDTO));
Payload payload = new Payload();
payload.setSourceId(paramDTO.getNoWorkOrder());
payload.setSourceType(SourceType.API_GATEWAY);
payload.setEvent("POST_API_GATEWAY");
payload.setEventDate(new Date());
payload.setPayloadStatus(DataStatus.ACTIVE);
payload.setType("WO");
payload.setReqPayload(new ObjectMapper().writeValueAsString(paramDTO));
payload.setResPayload(new ObjectMapper().writeValueAsString(result.getBody()));
payload.setUrl(md_h2 + APIGatewayURI.PULL_MANAGE_WORKORDER);
payload.setPayloadCreational(new CreationalSpecification(new Date(), "admin", null, null));
payloadRepository.save(payload);
return result;
} catch (Exception e) {
e.printStackTrace();
manageWorkOrderHeaderResponseDTO.setMessage("Terdapat kesalahan");
manageWorkOrderHeaderResponseDTO.setStatus(0);
return new ResponseEntity<>(manageWorkOrderHeaderResponseDTO, HttpStatus.OK);
}
}
public static String getCurrentDate() throws ParseException {
final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return format.format(new Date());
}
private Boolean checkToTimeIs7Days(String fromTime, String toTime) throws ParseException {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date from = dateFormat.parse(fromTime);
Date to = dateFormat.parse(toTime);
LocalDateTime fromLocal = from.toInstant().atZone(ZoneId.of("Asia/Jakarta")).toLocalDateTime();
LocalDateTime toLocal = to.toInstant().atZone(ZoneId.of("Asia/Jakarta")).toLocalDateTime();
Duration durasi = Duration.between(fromLocal, toLocal);
long dayDifference = Math.abs(durasi.toHours());
if (dayDifference > (7 * 24) + 1) { // if duration greater than 24*7 + 1 hours
return false;
}
return true;
}
private ParamJsonApiGateway constructParamDTOTODomain(ManageWorkOrderParamDTO dto) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
CreationalSpecification creationalSpecification = new CreationalSpecification();
creationalSpecification.setCreatedAt(new Date());
creationalSpecification.setCreatedBy("APIGATEWAY_SYSTEM");
ParamJsonApiGateway paramJsonApiGateway = new ParamJsonApiGateway();
paramJsonApiGateway.setCategoryJson("ManageWorkOrder");
paramJsonApiGateway.setJson(mapper.writeValueAsString(dto));
paramJsonApiGateway.setParamApiGatewayCreational(creationalSpecification);
return paramJsonApiGateway;
}
}
package com.eksad.masterdata.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.sql.Time;
import java.util.Date;
@Data
public class APIManageWorkOrder {
String woid;
String bookingid;
String pittype;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy", timezone = "Asia/Jakarta")
Date wodate;
String wonomesin;
String wonorangka;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss", timezone = "Asia/Jakarta")
Date createdat;
String wolastknownstate;
String wolastknownstatus;
String nopolisi;
Double fuelmeter;
Integer kmmotor;
String unitcustomername;
String saranmekanik;
Time estimasimulai;
Time estimasiselesai;
String wodisclaimertype;
Integer pitnumber;
String mechanicid;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss", timezone = "Asia/Jakarta")
Date modifiedat;
String ahassid;
Integer tahunperakitan;
String keterangan;
String unittypeid;
Double totalhargajasa;
Double totalhargasparepart;
String addressca;
String postalcodeca;
String customernameca;
String phoneca;
String relationship;
String lastaddressuc;
String postalcodeuc;
Double jumlahpembayaran;
String paymentmethod;
String nobukuservice;
String marketingcode;
String keluhan;
String analisa;
String promoidjasa;
String promoidpart;
Boolean isPremium;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss", timezone = "Asia/Jakarta")
Date startwotime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss", timezone = "Asia/Jakarta")
Date finishwotime;
String provinceidca;
String kabkotidca;
String kecamatanidca;
String kelurahanidca;
String provinceiduc;
String kabkotiduc;
String kecamataniduc;
String kelurahaniduc;
String unitentrysource;
String rekomendasisa;
String nosaform;
Double totalDP;
String hondaidsa;
String unitownership;
String discountcode;
}
package com.eksad.masterdata.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class APIManageWorkOrderDetail {
String woid;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss", timezone = "Asia/Jakarta")
Date createdat;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss", timezone = "Asia/Jakarta")
Date modifiedat;
Double harga;
Double qty;
Double discount;
Double total;
String partid;
String cwsattr;
String tipe;
Double uangmuka;
Double ppnrate;
Double ppnamount;
}
package com.eksad.masterdata.repository;
import com.eksad.ddms.common.util.StringUtil;
import com.eksad.masterdata.domain.APIManageWorkOrder;
import com.eksad.masterdata.domain.APIManageWorkOrderDetail;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import jakarta.transaction.Transactional;
import org.hibernate.Session;
import org.hibernate.jdbc.Work;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
@Repository
@Transactional
public class APIManageWorkOrderRepository {
@PersistenceContext
private EntityManager em;
public List<APIManageWorkOrder> findOneManageWoMapped(@Param("woID") String woID) {
List<APIManageWorkOrder> list = new ArrayList<>();
try {
Session session = em.unwrap(Session.class);
session.doWork(new Work() {
@Override
public void execute(Connection cnctn) throws SQLException {
PreparedStatement ps = cnctn.prepareStatement("SELECT * FROM get_managewo_by_woid(?)");
ps.setString(1, woID);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
APIManageWorkOrder data = new APIManageWorkOrder();
Boolean pitIsNull = rs.getObject("pitnumber") == null;
data.setWoid(rs.getString("woid"));
data.setBookingid(rs.getString("bookingid"));
data.setPittype(rs.getString("pittype"));
data.setWodate(rs.getDate("wodate"));
data.setWonomesin(rs.getString("wonomesin"));
data.setWonorangka(rs.getString("wonorangka"));
data.setCreatedat(rs.getTimestamp("createdat"));
data.setWolastknownstate(rs.getString("wolastknownstate"));
data.setWolastknownstatus(rs.getString("wolastknownstatus"));
data.setNopolisi(rs.getString("nopolisi"));
data.setFuelmeter(rs.getDouble("fuelmeter"));
data.setKmmotor(rs.getInt("kmmotor"));
data.setUnitcustomername(rs.getString("unitcustomername"));
data.setSaranmekanik(rs.getString("saranmekanik"));
data.setEstimasimulai(rs.getTime("estimasimulai"));
data.setEstimasiselesai(rs.getTime("estimasiselesai"));
data.setWodisclaimertype(rs.getString("wodisclaimertype"));
data.setPitnumber(pitIsNull ? -1 : rs.getInt("pitnumber"));
data.setMechanicid(rs.getString("mechanicid"));
data.setModifiedat(rs.getTimestamp("modifiedat"));
data.setAhassid(rs.getString("ahassid"));
data.setTahunperakitan(rs.getInt("tahunperakitan"));
data.setKeterangan(rs.getString("keterangan"));
data.setUnittypeid(rs.getString("unittypeid"));
data.setTotalhargajasa(rs.getDouble("totalhargajasa"));
data.setTotalhargasparepart(rs.getDouble("totalhargasparepart"));
data.setAddressca(rs.getString("addressca"));
data.setPostalcodeca(rs.getString("postalcodeca"));
data.setCustomernameca(rs.getString("customernameca"));
data.setPhoneca(rs.getString("phoneca"));
data.setRelationship(rs.getString("relationship"));
data.setLastaddressuc(rs.getString("lastaddressuc"));
data.setPostalcodeuc(rs.getString("postalcodeuc"));
data.setJumlahpembayaran(rs.getDouble("jumlahpembayaran"));
data.setPaymentmethod(rs.getString("paymentmethod"));
data.setNobukuservice(rs.getString("nobukuservice"));
data.setMarketingcode(rs.getString("marketingcode"));
data.setKeluhan(rs.getString("keluhan"));
data.setAnalisa(rs.getString("analisa"));
data.setPromoidjasa(rs.getString("promoidjasa"));
data.setPromoidpart(rs.getString("promoidpart"));
data.setIsPremium(rs.getBoolean("ispremium"));
data.setStartwotime(rs.getTimestamp("startwotime"));
data.setFinishwotime(rs.getTimestamp("finishwotime"));
data.setProvinceidca(rs.getString("provinceidca"));
data.setKabkotidca(rs.getString("kabkotidca"));
data.setKecamatanidca(rs.getString("kecamatanidca"));
data.setKelurahanidca(rs.getString("kelurahanidca"));
data.setProvinceiduc(rs.getString("provinceiduc"));
data.setKabkotiduc(rs.getString("kabkotiduc"));
data.setKecamataniduc(rs.getString("kecamataniduc"));
data.setKelurahaniduc(rs.getString("kelurahaniduc"));
data.setUnitentrysource(rs.getString("unitentrysource"));
data.setRekomendasisa(rs.getString("rekomendasisa"));
data.setNosaform(rs.getString("nosaform"));
data.setTotalDP(rs.getDouble("totaldp"));
data.setHondaidsa(rs.getString("hondaidsa"));
data.setUnitownership(rs.getString("unitownership"));
data.setDiscountcode(rs.getString("discountcode"));
list.add(data);
}
}
});
return list;
} catch (Exception e) {
e.printStackTrace();
return list;
}
}
public List<APIManageWorkOrder> findAllManageWoMapped(String startDate, String endDate, String ahassID) {
List<APIManageWorkOrder> list = new ArrayList<>();
try {
Session session = em.unwrap(Session.class);
session.doWork(new Work() {
@Override
public void execute(Connection cnctn) throws SQLException {
String query;
if (StringUtil.hasValue(ahassID)) {
query = "SELECT * FROM get_managewo_by_range_createdat(?,?,?)";
} else {
query = "SELECT * FROM get_managewo_by_range_createdat(?,?)";
}
PreparedStatement ps = cnctn.prepareStatement(query);
ps.setTimestamp(1, Timestamp.valueOf(startDate));
ps.setTimestamp(2, Timestamp.valueOf(endDate));
if (StringUtil.hasValue(ahassID)) ps.setString(3, ahassID);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
APIManageWorkOrder data = new APIManageWorkOrder();
Boolean pitIsNull = rs.getObject("pitnumber") == null;
data.setWoid(rs.getString("woid"));
data.setBookingid(rs.getString("bookingid"));
data.setPittype(rs.getString("pittype"));
data.setWodate(rs.getDate("wodate"));
data.setWonomesin(rs.getString("wonomesin"));
data.setWonorangka(rs.getString("wonorangka"));
data.setCreatedat(rs.getTimestamp("createdat"));
data.setWolastknownstate(rs.getString("wolastknownstate"));
data.setWolastknownstatus(rs.getString("wolastknownstatus"));
data.setNopolisi(rs.getString("nopolisi"));
data.setFuelmeter(rs.getDouble("fuelmeter"));
data.setKmmotor(rs.getInt("kmmotor"));
data.setUnitcustomername(rs.getString("unitcustomername"));
data.setSaranmekanik(rs.getString("saranmekanik"));
data.setEstimasimulai(rs.getTime("estimasimulai"));
data.setEstimasiselesai(rs.getTime("estimasiselesai"));
data.setWodisclaimertype(rs.getString("wodisclaimertype"));
data.setPitnumber(pitIsNull ? -1 : rs.getInt("pitnumber"));
data.setMechanicid(rs.getString("mechanicid"));
data.setModifiedat(rs.getTimestamp("modifiedat"));
data.setAhassid(rs.getString("ahassid"));
data.setTahunperakitan(rs.getInt("tahunperakitan"));
data.setKeterangan(rs.getString("keterangan"));
data.setUnittypeid(rs.getString("unittypeid"));
data.setTotalhargajasa(rs.getDouble("totalhargajasa"));
data.setTotalhargasparepart(rs.getDouble("totalhargasparepart"));
data.setAddressca(rs.getString("addressca"));
data.setPostalcodeca(rs.getString("postalcodeca"));
data.setCustomernameca(rs.getString("customernameca"));
data.setPhoneca(rs.getString("phoneca"));
data.setRelationship(rs.getString("relationship"));
data.setLastaddressuc(rs.getString("lastaddressuc"));
data.setPostalcodeuc(rs.getString("postalcodeuc"));
data.setJumlahpembayaran(rs.getDouble("jumlahpembayaran"));
data.setPaymentmethod(rs.getString("paymentmethod"));
data.setNobukuservice(rs.getString("nobukuservice"));
data.setMarketingcode(rs.getString("marketingcode"));
data.setKeluhan(rs.getString("keluhan"));
data.setAnalisa(rs.getString("analisa"));
data.setPromoidjasa(rs.getString("promoidjasa"));
data.setPromoidpart(rs.getString("promoidpart"));
data.setIsPremium(rs.getBoolean("ispremium"));
data.setStartwotime(rs.getTimestamp("startwotime"));
data.setFinishwotime(rs.getTimestamp("finishwotime"));
data.setProvinceidca(rs.getString("provinceidca"));
data.setKabkotidca(rs.getString("kabkotidca"));
data.setKecamatanidca(rs.getString("kecamatanidca"));
data.setKelurahanidca(rs.getString("kelurahanidca"));
data.setProvinceiduc(rs.getString("provinceiduc"));
data.setKabkotiduc(rs.getString("kabkotiduc"));
data.setKecamataniduc(rs.getString("kecamataniduc"));
data.setKelurahaniduc(rs.getString("kelurahaniduc"));
data.setUnitentrysource(rs.getString("unitentrysource"));
data.setRekomendasisa(rs.getString("rekomendasisa"));
data.setNosaform(rs.getString("nosaform"));
data.setTotalDP(rs.getDouble("totaldp"));
data.setHondaidsa(rs.getString("hondaidsa"));
data.setUnitownership(rs.getString("unitownership"));
data.setDiscountcode(rs.getString("discountcode"));
list.add(data);
}
}
});
return list;
} catch (Exception e) {
e.printStackTrace();
return list;
}
}
public List<APIManageWorkOrder> findAllManageWoMappedIn(String startDate, String endDate, List<String> ahassID) {
List<APIManageWorkOrder> list = new ArrayList<>();
try {
Session session = em.unwrap(Session.class);
session.doWork(new Work() {
@Override
public void execute(Connection cnctn) throws SQLException {
String query;
query = "SELECT * FROM get_managewo_by_range_createdat_v1_3(?::varchar,?::varchar,?::varchar[])";
PreparedStatement ps = cnctn.prepareStatement(query);
ps.setTimestamp(1, Timestamp.valueOf(startDate));
ps.setTimestamp(2, Timestamp.valueOf(endDate));
ps.setArray(3, cnctn.createArrayOf("VARCHAR", ahassID.toArray()));
ResultSet rs = ps.executeQuery();
while (rs.next()) {
APIManageWorkOrder data = new APIManageWorkOrder();
Boolean pitIsNull = rs.getObject("pitnumber") == null;
data.setWoid(rs.getString("woid"));
data.setBookingid(rs.getString("bookingid"));
data.setPittype(rs.getString("pittype"));
data.setWodate(rs.getDate("wodate"));
data.setWonomesin(rs.getString("wonomesin"));
data.setWonorangka(rs.getString("wonorangka"));
data.setCreatedat(rs.getTimestamp("createdat"));
data.setWolastknownstate(rs.getString("wolastknownstate"));
data.setWolastknownstatus(rs.getString("wolastknownstatus"));
data.setNopolisi(rs.getString("nopolisi"));
data.setFuelmeter(rs.getDouble("fuelmeter"));
data.setKmmotor(rs.getInt("kmmotor"));
data.setUnitcustomername(rs.getString("unitcustomername"));
data.setSaranmekanik(rs.getString("saranmekanik"));
data.setEstimasimulai(rs.getTime("estimasimulai"));
data.setEstimasiselesai(rs.getTime("estimasiselesai"));
data.setWodisclaimertype(rs.getString("wodisclaimertype"));
data.setPitnumber(pitIsNull ? -1 : rs.getInt("pitnumber"));
data.setMechanicid(rs.getString("mechanicid"));
data.setModifiedat(rs.getTimestamp("modifiedat"));
data.setAhassid(rs.getString("ahassid"));
data.setTahunperakitan(rs.getInt("tahunperakitan"));
data.setKeterangan(rs.getString("keterangan"));
data.setUnittypeid(rs.getString("unittypeid"));
data.setTotalhargajasa(rs.getDouble("totalhargajasa"));
data.setTotalhargasparepart(rs.getDouble("totalhargasparepart"));
data.setAddressca(rs.getString("addressca"));
data.setPostalcodeca(rs.getString("postalcodeca"));
data.setCustomernameca(rs.getString("customernameca"));
data.setPhoneca(rs.getString("phoneca"));
data.setRelationship(rs.getString("relationship"));
data.setLastaddressuc(rs.getString("lastaddressuc"));
data.setPostalcodeuc(rs.getString("postalcodeuc"));
data.setJumlahpembayaran(rs.getDouble("jumlahpembayaran"));
data.setPaymentmethod(rs.getString("paymentmethod"));
data.setNobukuservice(rs.getString("nobukuservice"));
data.setMarketingcode(rs.getString("marketingcode"));
data.setKeluhan(rs.getString("keluhan"));
data.setAnalisa(rs.getString("analisa"));
data.setPromoidjasa(rs.getString("promoidjasa"));
data.setPromoidpart(rs.getString("promoidpart"));
data.setIsPremium(rs.getBoolean("ispremium"));
data.setStartwotime(rs.getTimestamp("startwotime"));
data.setFinishwotime(rs.getTimestamp("finishwotime"));
data.setProvinceidca(rs.getString("provinceidca"));
data.setKabkotidca(rs.getString("kabkotidca"));
data.setKecamatanidca(rs.getString("kecamatanidca"));
data.setKelurahanidca(rs.getString("kelurahanidca"));
data.setProvinceiduc(rs.getString("provinceiduc"));
data.setKabkotiduc(rs.getString("kabkotiduc"));
data.setKecamataniduc(rs.getString("kecamataniduc"));
data.setKelurahaniduc(rs.getString("kelurahaniduc"));
data.setUnitentrysource(rs.getString("unitentrysource"));
data.setRekomendasisa(rs.getString("rekomendasisa"));
data.setNosaform(rs.getString("nosaform"));
data.setTotalDP(rs.getDouble("totaldp"));
data.setHondaidsa(rs.getString("hondaidsa"));
data.setUnitownership(rs.getString("unitownership"));
data.setDiscountcode(rs.getString("discountcode"));
list.add(data);
}
}
});
return list;
} catch (Exception e) {
e.printStackTrace();
return list;
}
}
public List<APIManageWorkOrderDetail> findOneManageWoDetailMapped(String woID) {
List<APIManageWorkOrderDetail> list = new ArrayList<>();
try {
Session session = em.unwrap(Session.class);
session.doWork(new Work() {
@Override
public void execute(Connection cnctn) throws SQLException {
String query = "SELECT * FROM get_detail_managewo_by_woid_v3(?)";
PreparedStatement ps = cnctn.prepareStatement(query);
ps.setString(1, woID);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
APIManageWorkOrderDetail data = new APIManageWorkOrderDetail();
data.setWoid(rs.getString("woid"));
data.setCreatedat(rs.getDate("createdat"));
data.setModifiedat(rs.getDate("modifiedat"));
data.setHarga(rs.getDouble("harga"));
data.setDiscount(rs.getDouble("discount"));
data.setTotal(rs.getDouble("total"));
data.setQty(rs.getDouble("qty"));
data.setCwsattr(rs.getString("cwsattr"));
data.setPartid(rs.getString("partid"));
data.setTipe(rs.getString("tipe"));
// data.setUangmuka(rs.getDouble("uangmuka")); perlu di tambah di function baru (ppn)
data.setPpnrate(rs.getDouble("ppnrate"));
data.setPpnamount(rs.getDouble("ppnamount"));
list.add(data);
}
}
});
return list;
} catch (Exception e) {
e.printStackTrace();
return list;
}
}
public List<APIManageWorkOrderDetail> findAllManageWoDetailMapped(String startDate, String endDate, String ahassID) {
List<APIManageWorkOrderDetail> list = new ArrayList<>();
try {
Session session = em.unwrap(Session.class);
session.doWork(new Work() {
@Override
public void execute(Connection cnctn) throws SQLException {
String query;
if (StringUtil.hasValue(ahassID)) {
query = "SELECT * FROM get_detail_managewo_by_range_createdat_v3(?,?,?)";
} else {
query = "SELECT * FROM get_detail_managewo_by_range_createdat_v3(?,?)";
}
PreparedStatement ps = cnctn.prepareStatement(query);
ps.setTimestamp(1, Timestamp.valueOf(startDate));
ps.setTimestamp(2, Timestamp.valueOf(endDate));
if (StringUtil.hasValue(ahassID)) ps.setString(3, ahassID);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
APIManageWorkOrderDetail data = new APIManageWorkOrderDetail();
data.setWoid(rs.getString("woid"));
data.setCreatedat(rs.getTimestamp("createdat"));
data.setModifiedat(rs.getTimestamp("modifiedat"));
data.setHarga(rs.getDouble("harga"));
data.setDiscount(rs.getDouble("discount"));
data.setTotal(rs.getDouble("total"));
data.setQty(rs.getDouble("qty"));
data.setCwsattr(rs.getString("cwsattr"));
data.setPartid(rs.getString("partid"));
data.setTipe(rs.getString("tipe"));
// data.setUangmuka(rs.getDouble("uangmuka")); perlu di tambah di function ppn
data.setPpnrate(rs.getDouble("ppnrate"));
data.setPpnamount(rs.getDouble("ppnamount"));
list.add(data);
}
}
});
return list;
} catch (Exception e) {
e.printStackTrace();
return list;
}
}
public List<APIManageWorkOrderDetail> findAllManageWoDetailMappedIn(String startDate, String endDate, List<String> ahassID) {
List<APIManageWorkOrderDetail> list = new ArrayList<>();
try {
Session session = em.unwrap(Session.class);
session.doWork(new Work() {
@Override
public void execute(Connection cnctn) throws SQLException {
String query;
query = "SELECT * FROM get_detail_managewo_by_range_createdat_v1_3(?::varchar,?::varchar,?::varchar[])";
PreparedStatement ps = cnctn.prepareStatement(query);
ps.setTimestamp(1, Timestamp.valueOf(startDate));
ps.setTimestamp(2, Timestamp.valueOf(endDate));
ps.setArray(3, cnctn.createArrayOf("VARCHAR", ahassID.toArray()));
ResultSet rs = ps.executeQuery();
while (rs.next()) {
APIManageWorkOrderDetail data = new APIManageWorkOrderDetail();
data.setWoid(rs.getString("woid"));
data.setCreatedat(rs.getTimestamp("createdat"));
data.setModifiedat(rs.getTimestamp("modifiedat"));
data.setHarga(rs.getDouble("harga"));
data.setDiscount(rs.getDouble("discount"));
data.setTotal(rs.getDouble("total"));
data.setQty(rs.getDouble("qty"));
data.setCwsattr(rs.getString("cwsattr"));
data.setPartid(rs.getString("partid"));
data.setTipe(rs.getString("tipe"));
// data.setUangmuka(rs.getDouble("uangmuka")); perlu di tambah di function ppn
data.setPpnrate(rs.getDouble("ppnrate"));
data.setPpnamount(rs.getDouble("ppnamount"));
list.add(data);
}
}
});
return list;
} catch (Exception e) {
e.printStackTrace();
return list;
}
}
}
package com.eksad.masterdata.repository;
import com.eksad.ddms.common.util.object.EntityObject;
import com.eksad.masterdata.domain.CreationalSpecification;
import jakarta.persistence.*;
@Entity
@Table(name = "MST_PARAMJSONAPIGATEWAY")
public class ParamJsonApiGateway implements EntityObject<ParamJsonApiGateway> {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
Integer id;
@Column(columnDefinition = "text")
private String json;
private String categoryJson;
@Embedded
private CreationalSpecification paramApiGatewayCreational;
public ParamJsonApiGateway() {
}
public ParamJsonApiGateway(Integer id, String json, String categoryJson, CreationalSpecification paramApiGatewayCreational) {
this.id = id;
this.json = json;
this.categoryJson = categoryJson;
this.paramApiGatewayCreational = paramApiGatewayCreational;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getJson() {
return json;
}
public void setJson(String json) {
this.json = json;
}
public String getCategoryJson() {
return categoryJson;
}
public void setCategoryJson(String categoryJson) {
this.categoryJson = categoryJson;
}
public CreationalSpecification getParamApiGatewayCreational() {
return paramApiGatewayCreational;
}
public void setParamApiGatewayCreational(CreationalSpecification paramApiGatewayCreational) {
this.paramApiGatewayCreational = paramApiGatewayCreational;
}
/**
* @param other
* @return
*/
@Override
public boolean sameIdentityAs(ParamJsonApiGateway other) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
package com.eksad.masterdata.repository;
import jakarta.transaction.Transactional;
import org.springframework.stereotype.Repository;
@Repository
@Transactional
public interface ParamJsonApiGatewayRepository extends GenericRepository<ParamJsonApiGateway> {
}
package com.eksad.masterdata.service;
import com.eksad.ddms.common.util.DateUtil;
import com.eksad.ddms.common.util.StringUtil;
import com.eksad.masterdata.common.dto.ManageWorkOrderHeaderResponseDTO;
import com.eksad.masterdata.common.dto.ManageWorkOrderPartResponseDTO;
import com.eksad.masterdata.common.dto.ManageWorkOrderResponseDTO;
import com.eksad.masterdata.common.dto.ManageWorkOrderServiceResponseDTO;
import com.eksad.masterdata.common.listEnum.*;
import com.eksad.masterdata.domain.APIManageWorkOrder;
import com.eksad.masterdata.domain.APIManageWorkOrderDetail;
import com.eksad.masterdata.repository.APIManageWorkOrderRepository;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.PropertySource;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.Time;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
@Service
@PropertySource("classpath:error-message.properties")
public class APIManageWorkOrderHystrixService {
@Autowired
APIManageWorkOrderRepository manageWoRepository;
Double totalJasa = 0d;
Double totalPart = 0d;
Integer totalFRT = 0;
@HystrixCommand(fallbackMethod = "defaultGetListFallback")
public ResponseEntity<Object> getManageWorkOrder(String woID, String ahassID, String fromDate, String toDate) {
try {
new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").parse("31-03-2022 10:05:52").toInstant().atZone(ZoneId.of("Asia/Jakarta")).toLocalTime();
} catch (ParseException ex) {
Logger.getLogger(APIManageWorkOrderHystrixService.class.getName()).log(Level.SEVERE, null, ex);
}
try {
List<ManageWorkOrderResponseDTO> listRes = new ArrayList<>();
List<APIManageWorkOrder> manageWOs = new ArrayList<>();
List<APIManageWorkOrderDetail> manageWODetails = new ArrayList<>();
if (StringUtil.hasValue(woID)) {
manageWOs = manageWoRepository.findOneManageWoMapped(woID);
manageWODetails = manageWoRepository.findOneManageWoDetailMapped(woID);
} else {
if (StringUtil.hasValue(ahassID)) {
manageWOs = manageWoRepository.findAllManageWoMapped(fromDate, toDate, ahassID);
manageWODetails = manageWoRepository.findAllManageWoDetailMapped(fromDate, toDate, ahassID);
} else {
manageWOs = manageWoRepository.findAllManageWoMapped(fromDate, toDate, null);
manageWODetails = manageWoRepository.findAllManageWoDetailMapped(fromDate, toDate, null);
}
}
if (manageWOs != null && !manageWOs.isEmpty()) {
for (APIManageWorkOrder loopWO : manageWOs) {
try {
ManageWorkOrderResponseDTO manageWORes = constructManageWoResponse(loopWO, manageWODetails);
listRes.add(manageWORes);
} catch (Exception e) {
e.printStackTrace();
}
}
} else {
return new ResponseEntity<>(new ManageWorkOrderHeaderResponseDTO(0, "Terdapat kesalahan, Data Tidak Dapat Ditemukan", null), HttpStatus.OK);
}
return new ResponseEntity<>(new ManageWorkOrderHeaderResponseDTO(1, null, listRes), HttpStatus.OK);
} catch (Exception e) {
e.printStackTrace();
return new ResponseEntity<>(new ManageWorkOrderHeaderResponseDTO(0, "Terdapat kesalahan", null), HttpStatus.CONFLICT);
}
}
private ManageWorkOrderResponseDTO constructManageWoResponse(APIManageWorkOrder domain, List<APIManageWorkOrderDetail> domainDetails) {
ManageWorkOrderResponseDTO data = new ManageWorkOrderResponseDTO();
data.setWaktuPekerjaan(getWaktuPekerjaan(domain.getStartwotime(), domain.getFinishwotime(), domain.getWoid()));
data.setNoWorkOrder(domain.getWoid());
data.setNoSAForm(getUppercase(domain.getNosaform()));
data.setJenisPIT(getPitTypeWorkOrder(domain.getPittype(), domain.getBookingid(), domain.getIsPremium() == null ? Boolean.FALSE : domain.getIsPremium()));
data.setTanggalServis(formatDate(domain.getWodate()));
data.setNoMesin(domain.getWonomesin() == null ? "" : domain.getWonomesin().replaceAll(" ", "").toUpperCase());
data.setNoRangka(getUppercase(domain.getWonorangka()));
data.setWaktuPendaftaran(formatFullDate(domain.getCreatedat()));
data.setKodeTipeUnit(getUppercase(domain.getMarketingcode()));
data.setStatusWorkOrder(getStatusWorkOrder(domain.getWolastknownstate(), domain.getWolastknownstatus(), domain.getWodate()));
data.setNoPolisi(domain.getNopolisi());
// data.setInformasiBensin(domain.getFuelmeter() == null ? "0" : domain.getFuelmeter().equals(Double.valueOf(25)) ? "1" : domain.getFuelmeter().equals(Double.valueOf(50)) ? "2" : domain.getFuelmeter().equals(Double.valueOf(75)) ? "3" : domain.getFuelmeter().equals(Double.valueOf(100)) ? "4" : "0");
data.setInformasiBensin(domain.getFuelmeter() == null ? "0" : domain.getFuelmeter().equals(25d) ? "1" : domain.getFuelmeter().equals(50d) ? "2" : domain.getFuelmeter().equals(75d) ? "3" : domain.getFuelmeter().equals(100d) ? "4" : "0");
data.setKmTerakhir(domain.getKmmotor());
data.setNamaPemilik(getUppercase(domain.getUnitcustomername()));
data.setSaranMekanik(getUppercase(domain.getSaranmekanik()));
data.setWaktuPKB(domain.getStartwotime() == null ? "" : formatFullDate(domain.getStartwotime()));
data.setWaktuSelesai(domain.getFinishwotime() == null ? "" : formatFullDate(domain.getFinishwotime()));
data.setKonfirmasiPekerjaanTambahan(domain.getWodisclaimertype() == null ? "" : domain.getWodisclaimertype().equalsIgnoreCase("KONFIRMASI") ? "1"
: domain.getWodisclaimertype().equalsIgnoreCase("LANGSUNG_DIKERJAKAN") ? "0" : "");
data.setIdPIT(domain.getPitnumber() == null || domain.getPitnumber() == -1 ? "" : domain.getPitnumber().toString());
data.setHondaIdSA(domain.getHondaidsa() == null || domain.getHondaidsa().equalsIgnoreCase("none") ? "" : getUppercase(domain.getHondaidsa()));
data.setHondaIdMekanik(getUppercase(domain.getMechanicid()));
data.setNoWorkOrderJobReturn(domain.getWoid().substring(0, 2).equals("JR") ? domain.getWoid() : "");
data.setAsalUnitEntry(getUppercase(domain.getUnitentrysource()));
data.setCreatedTime(formatFullDate(domain.getCreatedat()));
data.setModifiedTime(formatFullDate(domain.getModifiedat()));
data.setDealerId(domain.getAhassid());
data.setTahunMotor(domain.getTahunperakitan() == null || domain.getTahunperakitan().equals(0) ? "" : domain.getTahunperakitan().toString());
data.setCatatanTambahan(getUppercase(domain.getKeterangan()));
data.setNoBukuClaimC2(getUppercase(domain.getNobukuservice()));
data.setKeluhanKonsumen(getUppercase(domain.getKeluhan()));
data.setRekomendasiSA(getUppercase(domain.getRekomendasisa()));
data.setAlamatPembawa(getUppercase(domain.getAddressca()));
data.setKodePropinsiPembawa(getUppercase(domain.getProvinceidca()));
data.setKodeKotaPembawa(getUppercase(domain.getKabkotidca()));
data.setKodeKecamatanPembawa(getUppercase(domain.getKecamatanidca()));
data.setKodeKelurahanPembawa(getUppercase(domain.getKelurahanidca()));
data.setKodePosPembawa(getUppercase(domain.getPostalcodeca()));
data.setNamaPembawa(getUppercase(domain.getCustomernameca()));
data.setNoTelpPembawa(domain.getPhoneca());
data.setHubunganDenganPemilik(domain.getRelationship() == null ? "" : domain.getRelationship().equalsIgnoreCase("Orang Tua") ? "1" : domain.getRelationship().equalsIgnoreCase("Anak") ? "2"
: domain.getRelationship().equalsIgnoreCase("Saudara") ? "3" : domain.getRelationship().equalsIgnoreCase("Karyawan") ? "4"
: domain.getRelationship().equalsIgnoreCase("Teman") ? "5" : domain.getRelationship().equalsIgnoreCase("Suami/Istri") ? "6" : "0");
data.setAlamatPemilik(getUppercase(domain.getLastaddressuc()));
data.setKodePropinsiPemilik(getUppercase(domain.getProvinceiduc()));
data.setKodeKotaPemilik(getUppercase(domain.getKabkotiduc()));
data.setKodeKecamatanPemilik(getUppercase(domain.getKecamataniduc()));
data.setKodeKelurahanPemilik(getUppercase(domain.getKelurahaniduc()));
data.setKodePosPemilik(domain.getPostalcodeuc());
data.setTipeComingCustomer(domain.getUnitownership() == null ? "" : domain.getUnitownership().equalsIgnoreCase("PEMILIK") ? "1" : domain.getUnitownership().equalsIgnoreCase("PEMBAWA") ? "2"
: domain.getUnitownership().equalsIgnoreCase("PEMAKAI") ? "3" : "");
// if (domain.getUnitcustomername().equalsIgnoreCase(domain.getCustomernameca() == null ? "" : domain.getCustomernameca())) {
// data.setTipeComingCustomer(TipeComingCustomerType.MILIK.getOrdinal()); // Milik
// } else {
// data.setTipeComingCustomer(TipeComingCustomerType.BAWA.getOrdinal()); // Bawa
// }
data.setTotalBiayaService(domain.getTotalhargajasa().intValue() + domain.getTotalhargasparepart().intValue());
data.setSetUpPembayaran(domain.getPaymentmethod() == null ? "" : domain.getPaymentmethod().equals("CASH") ? SetUpPembayaranType.CASH.getOrdinal() : SetUpPembayaranType.TOP.getOrdinal());
constructDetailManageWoResponse(data, domain, domainDetails);
return data;
}
private String getWaktuPekerjaan(Date from, Date to, String woid) {
String waktuKerja = "";
try {
LocalTime selisih = null;
if (from != null && to != null) {
LocalDateTime startWo = from.toInstant().atZone(ZoneId.of("Asia/Jakarta")).toLocalDateTime();
LocalDateTime finishFc = to.toInstant().atZone(ZoneId.of("Asia/Jakarta")).toLocalDateTime();
long hours = ChronoUnit.HOURS.between(startWo, finishFc);
long minutes = ChronoUnit.MINUTES.between(startWo, finishFc) % 60;
String jam = hours < 10 ? "0" + hours : "" + hours;
String menit = minutes < 10 ? "0" + minutes : minutes > 60 ? "" + minutes % 60 : "" + minutes;
waktuKerja = jam + ":" + menit;
}
} catch (Exception e) {
e.printStackTrace();
}
return waktuKerja;
}
private static String getUppercase(String item) {
if (!StringUtil.hasValue(item)) return "";
return item.toUpperCase();
}
private String getPitTypeWorkOrder(String pitParam, String bookingID, Boolean isPremium) {
if (pitParam != null) {
PitType pit = PitType.valueOf(pitParam);
switch (pit) {
case REGULER: {
if (isPremium) {
return JenisPitType.FAST_TRACK.getOrdinal();
} else if (StringUtil.hasValue(bookingID)) {
return JenisPitType.BOOKING.getOrdinal();
} else {
return JenisPitType.REGULER.getOrdinal();
}
}
case EXPRESS:
return JenisPitType.EXPRESS.getOrdinal();
case HEAVY_REPAIR:
return JenisPitType.REGULER.getOrdinal();
case BIG_BIKE:
return JenisPitType.REGULER.getOrdinal();
}
}
return "";
}
public String formatDate(Date date) {
if (date == null) return "";
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
String newDate = dateFormat.format(date);
return newDate;
}
public String formatFullDate(Date date) {
if (date == null) {
return "";
}
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
String newDate = dateFormat.format(date);
return newDate;
}
public String formatFullDate(Date date, Time time) {
if (time == null) {
return "";
}
Calendar temp = Calendar.getInstance();
temp.setTime(date);
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Asia/Jakarta"));
c.setTimeInMillis(time.getTime());
c.set(Calendar.YEAR, temp.get(Calendar.YEAR));
c.set(Calendar.MONTH, temp.get(Calendar.MONTH));
c.set(Calendar.DATE, temp.get(Calendar.DATE));
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
String newDate = dateFormat.format(c.getTime());
return newDate;
}
private void constructDetailManageWoResponse(ManageWorkOrderResponseDTO respHeader, APIManageWorkOrder header, List<APIManageWorkOrderDetail> details) {
// details = details.stream().filter(p -> Objects.equals(p.getWoid(), header.getWoid())).collect(Collectors.toList());
List<ManageWorkOrderServiceResponseDTO> services = new ArrayList<>();
List<ManageWorkOrderPartResponseDTO> parts = new ArrayList<>();
Integer totalDP = 0; // Set 0 impact fixing Hotline
totalFRT = 0;
totalJasa = 0d;
totalPart = 0d;
// partJasaMap = new HashMap<>();
details.stream().filter(p -> Objects.equals(p.getWoid(), header.getWoid())).forEachOrdered((APIManageWorkOrderDetail par) -> {
ManageWorkOrderServiceResponseDTO svc = new ManageWorkOrderServiceResponseDTO();
ManageWorkOrderPartResponseDTO part = new ManageWorkOrderPartResponseDTO();
String[] cwsAttribute;
String cwsCode = null;
String cwsName;
String serviceCategory;
Integer timeEstimation = 0;
Double divValue = (par.getPpnrate() + 100.0) / 100.0;
Double harga = par.getHarga() == null ? 0d : getRoundingHalfDown(par.getHarga());
Double dpp = harga <= 0d ? 0d : getRoundingHalfDown(harga / divValue);
Double discount = par.getDiscount() == null ? 0d : getRoundingHalfDown(par.getDiscount());
Double qty = par.getQty() == null ? 1 : par.getQty();
Double totalDiscount = discount <= 0d ? 0d : discount * qty;
Double total = par.getTotal() == null ? 0d : getRoundingHalfDown(par.getTotal());
Double ppn = 0d;
Double dp = par.getUangmuka() == null ? 0d : getRoundingHalfDown(par.getUangmuka());
String discountCode = header.getDiscountcode() == null ? "" : header.getDiscountcode();
String promoIDJasa = "", satuanPromoJasa = "", promoIDPart = "", satuanPromoPart = "";
if (StringUtil.hasValue(header.getPromoidjasa())) {
String[] promoAttrJasa = header.getPromoidjasa().split("_");
promoIDJasa = promoAttrJasa[0];
satuanPromoJasa = promoAttrJasa[1];
}
if (StringUtil.hasValue(header.getPromoidpart())) {
String[] promoAttrPart = header.getPromoidpart().split("_");
promoIDPart = promoAttrPart[0];
satuanPromoPart = promoAttrPart[1];
}
if (par.getTipe().equals("SERVICE") && StringUtil.hasValue(par.getCwsattr())) {
cwsAttribute = par.getCwsattr().split("_");
cwsCode = cwsAttribute[0].substring(cwsAttribute[0].length() - 5, cwsAttribute[0].length());
cwsName = cwsAttribute[1];
serviceCategory = cwsAttribute[2];
if (cwsAttribute.length >= 4) timeEstimation = Integer.valueOf(cwsAttribute[3]);
if (discount <= 0 && !("ASS".equalsIgnoreCase(serviceCategory.substring(0, 3)) || "CLAIM C2".equalsIgnoreCase(serviceCategory))) {
svc.setPromoIdJasa("");
svc.setDiscServiceAmount(0);
svc.setDiscServicePercentage(0d);
} else {
svc.setPromoIdJasa(("ASS".equalsIgnoreCase(serviceCategory.substring(0, 3)) || "CLAIM C2".equalsIgnoreCase(serviceCategory)) ? "" : promoIDJasa.isEmpty() ? discountCode : promoIDJasa);
svc.setDiscServiceAmount(discount.intValue());
svc.setDiscServicePercentage(0d);
if ("PERCENTAGE".equals(satuanPromoJasa)) {
svc.setDiscServiceAmount(0);
svc.setDiscServicePercentage(discount > 0 ? discount / harga > 1 ? 100d : getRoundingHalfDownOnePlace((discount / harga) * 100) : 0d);
}
}
svc.setBiayaService(harga.intValue());
svc.setTotalHargaServis(total.intValue());
svc.setCreatedTime(formatFullDate(par.getCreatedat()));
svc.setModifiedTime(formatFullDate(par.getModifiedat()));
svc.setIdJob(cwsCode);
svc.setJenisPekerjaan(serviceCategory);
svc.setNamaPekerjaan(cwsName);
services.add(svc);
totalJasa = totalJasa + svc.getTotalHargaServis();
// if(StringUtil.hasValue(par.getPartid())) partJasaMap.put(par.getPartid(), cwsCode);
} else if (par.getTipe().equals("PART")) {
ppn = par.getPpnamount();
String tipe = par.getCwsattr() == null ? "" : par.getCwsattr();
String[] tipeChar = tipe.split("_");
if (tipeChar.length >= 2) {
cwsCode = tipeChar[1].substring(tipeChar[1].length() - 5, tipeChar[1].length());
tipe = tipeChar[0];
}
if ("CLAIM".equalsIgnoreCase(tipe)) ppn = 0d;
if (discount <= 0 && !"CLAIM".equalsIgnoreCase(tipe)) {
part.setPromoIdParts("");
part.setDiscPartsPercentage(0d);
part.setDiscPartsAmount(0);
} else {
part.setPromoIdParts("CLAIM".equalsIgnoreCase(tipe) ? "" : promoIDPart.isEmpty() ? discountCode : promoIDPart);
part.setDiscPartsPercentage(0d);
part.setDiscPartsAmount(discount.intValue());
if (!promoIDPart.isEmpty()) {
part.setDiscPartsPercentage(discount > 0 ? discount / harga > 1 ? 100d : getRoundingHalfDownOnePlace((discount / harga) * 100) : 0d);
part.setDiscPartsAmount(0);
}
}
part.setHargaParts(dpp.intValue());
part.setTotalHargaParts(total.intValue());
part.setKuantitas(qty.intValue());
part.setUangMuka(dp.intValue());
part.setPpn(ppn.intValue());
part.setIdJob(cwsCode == null ? "" : cwsCode.toUpperCase());
part.setPartsNumber(par.getPartid());
part.setCreatedTime(formatFullDate(par.getCreatedat()));
part.setModifiedTime(formatFullDate(par.getModifiedat()));
parts.add(part);
totalPart = totalPart + part.getTotalHargaParts();
}
totalFRT += timeEstimation;
});
respHeader.setServices(services);
respHeader.setParts(parts);
respHeader.setTotalFRT(getTotalFRT(totalFRT));
respHeader.setTotalBiayaService(totalJasa.intValue() + totalPart.intValue() - totalDP);
}
private static Double getRoundingHalfDown(Double num) {
BigDecimal bd = new BigDecimal(num).setScale(0, RoundingMode.HALF_DOWN);
return bd.doubleValue();
}
private static Double getRoundingHalfDownOnePlace(Double num) {
BigDecimal bd = new BigDecimal(num).setScale(1, RoundingMode.HALF_DOWN);
return bd.doubleValue();
}
private String getStatusWorkOrder(String stateParam, String statusParam, Date woDate) {
Date today = new Date();
WoState state = WoState.valueOf(stateParam);
WoStatus status = WoStatus.valueOf(statusParam);
if (state.equals(WoState.IN_WORKSHOP) && status.equals(WoStatus.HOLD_WO)) {
if (DateUtil.isEqual(woDate, today)) {
return StatusWorkOrderType.PAUSE.getOrdinal();
} else {
return StatusWorkOrderType.PENDING.getOrdinal();
}
} else if (state.equals(WoState.REGISTERED) || state.equals(WoState.IN_WORKSHOP) || state.equals(WoState.FINAL_CHECK)) {
return StatusWorkOrderType.START.getOrdinal();
} else if (state.equals(WoState.COMPLETE) || state.equals(WoState.PAYMENT)) {
return StatusWorkOrderType.FINISH.getOrdinal();
} else if (state.equals(WoState.CANCEL)) {
return StatusWorkOrderType.CANCEL.getOrdinal();
}
return "";
}
private static String getTotalFRT(Integer totalFRT) {
if (totalFRT < 60) {
if (totalFRT < 10) {
return "00:0" + totalFRT;
} else {
return "00:" + totalFRT;
}
} else {
Integer jam = totalFRT / 60;
Integer min = totalFRT % 60;
if (jam < 10) {
return min < 10 ? "0" + jam + ":0" + min : "0" + jam + ":" + min;
} else {
return min < 10 ? jam + ":0" + min : jam + ":" + min;
}
}
}
}
......@@ -7,6 +7,7 @@ com\eksad\masterdata\domain\assembler\PromoAhassAssembler.class
com\eksad\masterdata\common\dto\WorkOrderOrafinDTO.class
com\eksad\masterdata\common\CustomRestTemplate.class
com\eksad\masterdata\common\dto\HistoryLCRDTO.class
com\eksad\masterdata\common\listEnum\JenisPitType.class
com\eksad\masterdata\common\listEnum\PickSlipDetailStatusType.class
com\eksad\masterdata\domain\workorder\WorkOrderSparepart.class
com\eksad\masterdata\repository\APIPullNjbNscRepository$1.class
......@@ -14,13 +15,17 @@ com\eksad\masterdata\repository\ConfigWorkshopServiceRepository.class
com\eksad\masterdata\common\listEnum\ReceiptCategory.class
com\eksad\masterdata\common\dto\ClaimKPBDTO.class
com\eksad\masterdata\repository\WorkOrderRepo.class
com\eksad\masterdata\service\APIManageWorkOrderHystrixService$1.class
com\eksad\masterdata\repository\CustomerFeedbackRepository.class
com\eksad\masterdata\common\dto\WorkOrderSOHotlineDTO.class
com\eksad\masterdata\repository\APIManageWorkOrderRepository$1.class
com\eksad\masterdata\common\listEnum\SalesOrderState.class
com\eksad\masterdata\domain\ConfigWorkshopService.class
com\eksad\masterdata\domain\PromoPos.class
com\eksad\masterdata\common\listEnum\PromoAreaType.class
com\eksad\masterdata\common\dto\PickSlipDetailDTO.class
com\eksad\masterdata\controller\ApigatewayManageWorkOrderRestController.class
com\eksad\masterdata\repository\APIManageWorkOrderRepository.class
com\eksad\masterdata\repository\WorkOrderRepositoryImpl$4.class
com\eksad\masterdata\domain\PromoAhass.class
com\eksad\masterdata\repository\GenericRepository.class
......@@ -32,13 +37,17 @@ com\eksad\masterdata\common\dto\ResponseReceiptSOTaskGetListDTO.class
com\eksad\masterdata\common\dto\PaymentH2DTO.class
com\eksad\masterdata\common\listEnum\PitType.class
com\eksad\masterdata\common\dto\WoPartRecommendationDTO.class
com\eksad\masterdata\common\dto\ManageWorkOrderPartResponseDTO.class
com\eksad\masterdata\service\WOService.class
com\eksad\masterdata\common\listEnum\WoStatus.class
com\eksad\masterdata\repository\CSMonitoringRepository.class
com\eksad\masterdata\repository\ParamJsonApiGatewayRepository.class
com\eksad\masterdata\repository\WorkOrderRepositoryImpl$5.class
com\eksad\masterdata\domain\workorder\WorkOrderOrafin.class
com\eksad\masterdata\repository\APIManageWorkOrderRepository$2.class
com\eksad\masterdata\repository\BizparRepository.class
com\eksad\masterdata\common\dto\PromoUnitBerlakuDTO.class
com\eksad\masterdata\domain\APIManageWorkOrderDetail.class
com\eksad\masterdata\common\dto\WorkOrderServiceOrafinDTO.class
com\eksad\masterdata\common\GenericResponseDTO.class
com\eksad\masterdata\repository\PaymentRepository.class
......@@ -51,6 +60,7 @@ com\eksad\masterdata\controller\APIGatewayH23RESTController.class
com\eksad\masterdata\common\listEnum\UnitOwnershipStatus.class
com\eksad\masterdata\domain\MstWo.class
com\eksad\masterdata\domain\WorkOrderMonitoring.class
com\eksad\masterdata\common\listEnum\StatusWorkOrderType.class
com\eksad\masterdata\common\dto\PromoAhassDTO.class
com\eksad\masterdata\domain\APIPullNjbNscDetail.class
com\eksad\masterdata\domain\assembler\WorkOrderAssembler.class
......@@ -83,6 +93,7 @@ com\eksad\masterdata\service\UserDetailsServiceImp.class
com\eksad\masterdata\domain\assembler\ComplaintWorkOrderAssembler.class
com\eksad\masterdata\repository\KartuKPBRepository.class
com\eksad\masterdata\repository\WorkOrderRepositoryImpl.class
com\eksad\masterdata\common\dto\ManageWorkOrderParamDTO.class
com\eksad\masterdata\common\LogOpsDTO.class
com\eksad\masterdata\common\dto\ComplaintWorkOrderDTO.class
com\eksad\masterdata\common\listEnum\HoldWOReasonType.class
......@@ -107,6 +118,7 @@ com\eksad\masterdata\domain\assembler\ConfigPackageServicePartPromoAssembler.cla
com\eksad\masterdata\common\LogResponseDTO.class
com\eksad\masterdata\WebApplication.class
com\eksad\masterdata\common\listEnum\SalesOrderType.class
com\eksad\masterdata\domain\APIManageWorkOrder.class
com\eksad\masterdata\common\dto\WorkOrderSparepartDTO.class
com\eksad\masterdata\common\dto\WorkshopServiceQueryDTO.class
com\eksad\masterdata\common\dto\RequestCompletePaymentWorkOrderDTO.class
......@@ -121,14 +133,17 @@ com\eksad\masterdata\domain\assembler\PromoWorkOrderAssembler.class
com\eksad\masterdata\common\dto\ResponseSalesOrderGetListDTO.class
com\eksad\masterdata\common\LogOpsUtil.class
com\eksad\masterdata\common\listEnum\WoJasaType.class
com\eksad\masterdata\common\dto\ManageWorkOrderHeaderResponseDTO.class
com\eksad\masterdata\common\listEnum\DataStatusMD.class
com\eksad\masterdata\domain\workorder\WorkOrder.class
com\eksad\masterdata\repository\WorkOrderMonitoringRepository.class
com\eksad\masterdata\domain\ConfigWorkshopServiceDetail.class
com\eksad\masterdata\repository\APIManageWorkOrderRepository$4.class
com\eksad\masterdata\domain\assembler\PromoAssembler.class
com\eksad\masterdata\common\dto\WorkOrderPartOrafinDTO.class
com\eksad\masterdata\common\listEnum\PromoAhassType.class
com\eksad\masterdata\repository\UnitCustomerRepository.class
com\eksad\masterdata\repository\APIManageWorkOrderRepository$3.class
com\eksad\masterdata\common\listEnum\SalesOrderStatus.class
com\eksad\masterdata\common\dto\TrxPDPDTO.class
com\eksad\masterdata\domain\assembler\PromoCustomerJobAssembler.class
......@@ -143,11 +158,13 @@ com\eksad\masterdata\domain\assembler\WorkOrderServiceAssembler.class
com\eksad\masterdata\domain\workorder\PromoWorkOrderDetail.class
com\eksad\masterdata\service\WorkOrderOrafinHystrixService.class
com\eksad\masterdata\common\dto\PickSlipDTO.class
com\eksad\masterdata\common\dto\ManageWorkOrderResponseDTO.class
com\eksad\masterdata\common\dto\WoServiceRecommendationDTO.class
com\eksad\masterdata\common\listEnum\WoDisclaimerType.class
com\eksad\masterdata\common\dto\PromoAreaDTO.class
com\eksad\masterdata\domain\APIPullNjbNscHeader.class
com\eksad\masterdata\repository\ConfigPackageServicePartPromoRepository.class
com\eksad\masterdata\service\APIManageWorkOrderHystrixService.class
com\eksad\masterdata\config\SecurityConfig.class
com\eksad\masterdata\common\DateUtils.class
com\eksad\masterdata\domain\WorkshopService.class
......@@ -167,8 +184,11 @@ com\eksad\masterdata\domain\CustomerFeedback.class
com\eksad\masterdata\repository\CustContractServiceRepository.class
com\eksad\masterdata\common\listEnum\PartChangesType.class
com\eksad\masterdata\domain\KartuKPB.class
com\eksad\masterdata\common\listEnum\SetUpPembayaranType.class
com\eksad\masterdata\repository\APIManageWorkOrderRepository$5.class
com\eksad\masterdata\common\dto\BusinessHourDTO.class
com\eksad\masterdata\common\listEnum\ReceiptType.class
com\eksad\masterdata\repository\ParamJsonApiGateway.class
com\eksad\masterdata\domain\PromoUnitBerlaku.class
com\eksad\masterdata\repository\WorkOrderRepositoryImpl$3.class
com\eksad\masterdata\common\dto\PromoCategoryInfo.class
......@@ -191,6 +211,7 @@ com\eksad\masterdata\common\dto\CustomerJobDTO.class
com\eksad\masterdata\repository\APIPullNjbNscRepository$4.class
com\eksad\masterdata\controller\WorkOrderOrafinRESTController.class
com\eksad\masterdata\domain\CSMonitoring.class
com\eksad\masterdata\common\dto\ManageWorkOrderServiceResponseDTO.class
com\eksad\masterdata\domain\Payload.class
com\eksad\masterdata\common\CreationalSpecificationBuilder.class
com\eksad\masterdata\common\dto\PromoDTO.class
......@@ -201,6 +222,7 @@ com\eksad\masterdata\common\dto\ConfigPackageServicePartPromoDTO.class
com\eksad\masterdata\common\dto\JasaOrafinDTO.class
com\eksad\masterdata\common\dto\MappingCustomerAddressDTO.class
com\eksad\masterdata\domain\PromoArea.class
com\eksad\masterdata\repository\APIManageWorkOrderRepository$6.class
com\eksad\masterdata\repository\WorkOrderRepositoryImpl$1.class
com\eksad\masterdata\common\ProjectType.class
com\eksad\masterdata\repository\PaymentOrafinRepository.class
......
......@@ -14,6 +14,11 @@ C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\c
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\dto\DealerSiteDTO.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\dto\HistoryLCRDTO.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\dto\JasaOrafinDTO.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\dto\ManageWorkOrderHeaderResponseDTO.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\dto\ManageWorkOrderParamDTO.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\dto\ManageWorkOrderPartResponseDTO.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\dto\ManageWorkOrderResponseDTO.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\dto\ManageWorkOrderServiceResponseDTO.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\dto\MappingCustomerAddressDTO.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\dto\PartDTO.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\dto\PartTypeMotorsDTO.java
......@@ -65,6 +70,7 @@ C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\c
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\DealerType.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\GenderCustomerType.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\HoldWOReasonType.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\JenisPitType.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\PartChangesType.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\PartLocalSaleable.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\PartLocalType.java
......@@ -94,7 +100,9 @@ C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\c
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\SalesOrderType.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\SatuanType.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\ServiceLocationType.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\SetUpPembayaranType.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\SourceType.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\StatusWorkOrderType.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\TypeKPB.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\UnitOwnershipStatus.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\common\listEnum\WoDisclaimerType.java
......@@ -111,8 +119,11 @@ C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\c
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\config\JwtAuthenticationFilter.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\config\SecurityConfig.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\controller\APIGatewayH23RESTController.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\controller\ApigatewayManageWorkOrderRestController.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\controller\SampleMasterdataWoController.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\controller\WorkOrderOrafinRESTController.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\domain\APIManageWorkOrder.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\domain\APIManageWorkOrderDetail.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\domain\APIPullNjbNscDetail.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\domain\APIPullNjbNscHeader.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\domain\assembler\ComplaintWorkOrderAssembler.java
......@@ -170,6 +181,7 @@ C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\c
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\event\KafkaEvent.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\model\Role.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\model\User.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\APIManageWorkOrderRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\APIPullNjbNscRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\BizparRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\ConfigPackageServicePartPromoRepository.java
......@@ -181,6 +193,8 @@ C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\c
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\GenericRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\KartuKPBRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\MarketTreatmentRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\ParamJsonApiGateway.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\ParamJsonApiGatewayRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\PayloadRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\PaymentOrafinRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\PaymentRepository.java
......@@ -193,6 +207,7 @@ C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\c
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\WorkOrderRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\WorkOrderRepositoryImpl.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\repository\WorkshopServiceRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\service\APIManageWorkOrderHystrixService.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\service\KafkaProducerService.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\service\ProcessHelperService.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-service-slave\src\main\java\com\eksad\masterdata\service\PullNJBNSCHystrixService.java
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment