Commit 7320c78a authored by akbar fauzi's avatar akbar fauzi

change import service /orafin/workorder/dgi-api/v1/inv2/add

parent 1e918c01
...@@ -275,5 +275,7 @@ ...@@ -275,5 +275,7 @@
<orderEntry type="library" name="Maven: io.reactivex:rxjava:1.2.0" level="project" /> <orderEntry type="library" name="Maven: io.reactivex:rxjava:1.2.0" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:15.0" level="project" /> <orderEntry type="library" name="Maven: com.google.guava:guava:15.0" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:2.0.0" level="project" /> <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:2.0.0" level="project" />
<orderEntry type="library" name="ddms-masterdata-h2-dto-1.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="ddms-masterdata-h2-svc-1.0-SNAPSHOT" level="project" />
</component> </component>
</module> </module>
\ No newline at end of file
...@@ -110,6 +110,12 @@ ...@@ -110,6 +110,12 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<type>jar</type> <type>jar</type>
</dependency> </dependency>
<dependency>
<groupId>com.eksad.ddms</groupId>
<artifactId>ddms-masterdata-h2-dto</artifactId>
<version>1.0-SNAPSHOT</version>
<type>jar</type>
</dependency>
</dependencies> </dependencies>
......
package com.eksad.masterdata.common;
import com.eksad.ddms.common.dto.CreationalSpecificationDTO;
import com.eksad.ddms.common.h2.dto.workorder.ComplaintWorkOrderDTO;
import com.eksad.ddms.common.util.object.IObjectAssembler;
import com.eksad.masterdata.domain.workorder.ComplaintWorkOrder;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ComplaintWorkOrderAssembler implements IObjectAssembler<ComplaintWorkOrder, ComplaintWorkOrderDTO> {
@Override
public ComplaintWorkOrderDTO toDTO(ComplaintWorkOrder domainObject) {
ComplaintWorkOrderDTO dto = new ComplaintWorkOrderDTO();
dto.setComplaintWoID(domainObject.getComplaintWoID());
dto.setComplaintID(domainObject.getComplaintID());
dto.setComplaintName(domainObject.getComplaintName());
dto.setAnalisa(domainObject.getAnalisa());
dto.setWoID(domainObject.getWoID());
dto.setComplaintWoCreationalDTO(domainObject.getComplaintWoCreational() == null ? new CreationalSpecificationDTO() : new CreationalSpecificationDTOAssembler().toDTO(domainObject.getComplaintWoCreational()));
return dto;
}
@Override
public ComplaintWorkOrder toDomain(ComplaintWorkOrderDTO dtoObject) {
ComplaintWorkOrder data = new ComplaintWorkOrder();
data.setComplaintWoID(dtoObject.getComplaintWoID());
data.setComplaintID(dtoObject.getComplaintID());
data.setComplaintName(dtoObject.getComplaintName());
data.setAnalisa(dtoObject.getAnalisa());
data.setWoID(dtoObject.getWoID());
data.setComplaintWoCreational(dtoObject.getComplaintWoCreationalDTO() == null ? new CreationalSpecificationDTOAssembler().toDomain(new CreationalSpecificationDTO().getInstance()) : new CreationalSpecificationDTOAssembler().toDomain(dtoObject.getComplaintWoCreationalDTO()));
return data;
}
public List<ComplaintWorkOrderDTO> toDTOs(Set<ComplaintWorkOrder> arg0) {
List<ComplaintWorkOrderDTO> res = new ArrayList<>();
arg0.stream().forEach((o) -> {
res.add(toDTO(o));
});
return res;
}
public List<ComplaintWorkOrderDTO> toDTOs(List<ComplaintWorkOrder> arg0) {
List<ComplaintWorkOrderDTO> res = new ArrayList<>();
arg0.stream().forEach((o) -> {
res.add(toDTO(o));
});
return res;
}
public Set<ComplaintWorkOrder> toDomain(List<ComplaintWorkOrderDTO> arg0) {
Set<ComplaintWorkOrder> res = new HashSet<>();
arg0.stream().forEach((o) -> {
res.add(toDomain(o));
});
return res;
}
}
package com.eksad.masterdata.common;
import com.eksad.ddms.common.dto.CreationalSpecificationDTO;
import com.eksad.ddms.common.util.object.IObjectAssembler;
import com.eksad.masterdata.domain.CreationalSpecification;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class CreationalSpecificationDTOAssembler implements IObjectAssembler<CreationalSpecification, CreationalSpecificationDTO> {
@Override
public CreationalSpecificationDTO toDTO(CreationalSpecification domainObject) {
CreationalSpecificationDTO dto = new CreationalSpecificationDTO();
dto.setCreatedAt(domainObject.getCreatedAt());
dto.setCreatedBy(domainObject.getCreatedBy());
dto.setModifiedAt(domainObject.getModifiedAt());
dto.setModifiedBy(domainObject.getModifiedBy());
return dto;
}
@Override
public CreationalSpecification toDomain(CreationalSpecificationDTO dtoObject) {
return new CreationalSpecificationBuilder()
.setCreatedAt(dtoObject.getCreatedAt() == null ? new Date() : dtoObject.getCreatedAt())
.setCreatedBy(dtoObject.getCreatedBy())
.setModifiedAt(dtoObject.getModifiedAt() == null ? new Date() : dtoObject.getModifiedAt())
.setModifiedBy(dtoObject.getModifiedBy())
.createCreationalSpecification();
}
public Set<CreationalSpecificationDTO> toDTOs(Set<CreationalSpecification> arg0) {
Set<CreationalSpecificationDTO> res = new HashSet<>();
arg0.forEach((o) -> {
res.add(toDTO(o));
});
return res;
}
public Set<CreationalSpecification> toDomains(List<CreationalSpecificationDTO> arg0) {
Set<CreationalSpecification> res = new HashSet<>();
arg0.forEach((o) -> {
res.add(toDomain(o));
});
return res;
}
}
...@@ -5,4 +5,5 @@ import org.springframework.data.repository.PagingAndSortingRepository; ...@@ -5,4 +5,5 @@ import org.springframework.data.repository.PagingAndSortingRepository;
@NoRepositoryBean @NoRepositoryBean
public interface GenericRepository<T> extends PagingAndSortingRepository<T, Long> { public interface GenericRepository<T> extends PagingAndSortingRepository<T, Long> {
<S extends T> S save(S entity);
} }
package com.eksad.masterdata.common;
import com.eksad.ddms.common.dto.CreationalSpecificationDTO;
import com.eksad.ddms.common.h2.dto.workorder.PromoWorkOrderDTO;
import com.eksad.ddms.common.util.object.IObjectAssembler;
import com.eksad.masterdata.domain.workorder.PromoWorkOrder;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class PromoWorkOrderAssembler implements IObjectAssembler<PromoWorkOrder, PromoWorkOrderDTO> {
@Override
public PromoWorkOrderDTO toDTO(PromoWorkOrder domainObject) {
PromoWorkOrderDTO dto = new PromoWorkOrderDTO();
dto.setPromoWoID(domainObject.getPromoWoID());
dto.setJoinable(domainObject.getJoinable());
dto.setPromoName(domainObject.getPromoName());
dto.setValue(domainObject.getValue());
dto.setPromoID(domainObject.getPromoID());
dto.setWoID(domainObject.getWoID());
dto.setIsManualPromo(domainObject.getIsManualPromo());
dto.setPromoWoDetails(domainObject.getPromoWoDetails() == null ? new ArrayList<>() : new PromoWorkOrderDetailAssembler().toDTOs(domainObject.getPromoWoDetails()));
dto.setPromoWoCreationalDTO(domainObject.getPromoWoCreational() == null ? new CreationalSpecificationDTO() : new CreationalSpecificationDTOAssembler().toDTO(domainObject.getPromoWoCreational()));
return dto;
}
@Override
public PromoWorkOrder toDomain(PromoWorkOrderDTO dtoObject) {
PromoWorkOrder data = new PromoWorkOrder();
data.setPromoWoID(dtoObject.getPromoWoID());
data.setPromoID(dtoObject.getPromoID());
data.setWoID(dtoObject.getWoID());
data.setValue(dtoObject.getValue());
data.setJoinable(dtoObject.getJoinable());
data.setPromoName(dtoObject.getPromoName());
data.setIsManualPromo(dtoObject.getIsManualPromo());
data.setPromoWoDetails(dtoObject.getPromoWoDetails() == null ? new HashSet<>() : new PromoWorkOrderDetailAssembler().toDomains(dtoObject.getPromoWoDetails()));
data.setPromoWoCreational(dtoObject.getPromoWoCreationalDTO() == null ? new CreationalSpecificationDTOAssembler().toDomain(new CreationalSpecificationDTO().getInstance()) : new CreationalSpecificationDTOAssembler().toDomain(dtoObject.getPromoWoCreationalDTO()));
return data;
}
public PromoWorkOrder toDomainUpdate(PromoWorkOrderDTO dtoObject, Set<PromoWorkOrder> listData) {
PromoWorkOrder data = new PromoWorkOrder();
// Set ID from listdata existing
Integer uniqueID = listData.stream()
.filter(rp -> rp.getPromoWoID().equalsIgnoreCase(dtoObject.getPromoWoID()))
.map(pr -> pr.getId())
.findFirst().orElse(null);
if(uniqueID != null) {
data.setId(uniqueID);
}
data.setPromoWoID(dtoObject.getPromoWoID());
data.setPromoID(dtoObject.getPromoID());
data.setWoID(dtoObject.getWoID());
data.setValue(dtoObject.getValue());
data.setJoinable(dtoObject.getJoinable());
data.setPromoName(dtoObject.getPromoName());
data.setIsManualPromo(dtoObject.getIsManualPromo());
data.setPromoWoDetails(dtoObject.getPromoWoDetails() == null ? new HashSet<>() : new PromoWorkOrderDetailAssembler().toDomains(dtoObject.getPromoWoDetails()));
data.setPromoWoCreational(dtoObject.getPromoWoCreationalDTO() == null ? new CreationalSpecificationDTOAssembler().toDomain(new CreationalSpecificationDTO().getInstance()) : new CreationalSpecificationDTOAssembler().toDomain(dtoObject.getPromoWoCreationalDTO()));
return data;
}
public List<PromoWorkOrderDTO> toDTOs(Set<PromoWorkOrder> arg0) {
List<PromoWorkOrderDTO> res = new ArrayList<>();
arg0.stream().forEach((o) -> {
res.add(toDTO(o));
});
return res;
}
public List<PromoWorkOrderDTO> toDTOs(List<PromoWorkOrder> arg0) {
List<PromoWorkOrderDTO> res = new ArrayList<>();
arg0.stream().forEach((o) -> {
res.add(toDTO(o));
});
return res;
}
public Set<PromoWorkOrder> toDomain(List<PromoWorkOrderDTO> arg0) {
Set<PromoWorkOrder> res = new HashSet<>();
arg0.stream().forEach((o) -> {
res.add(toDomain(o));
});
return res;
}
public Set<PromoWorkOrder> toDomainUpdates(List<PromoWorkOrderDTO> arg0, Set<PromoWorkOrder> arg1) {
Set<PromoWorkOrder> res = new HashSet<>();
arg0.stream().forEach((o) -> {
res.add(toDomainUpdate(o, arg1));
});
return res;
}
}
package com.eksad.masterdata.common;
import com.eksad.ddms.common.dto.CreationalSpecificationDTO;
import com.eksad.ddms.common.h2.dto.workorder.PromoWorkOrderDetailDTO;
import com.eksad.ddms.common.util.object.IObjectAssembler;
import com.eksad.masterdata.domain.workorder.PromoWorkOrderDetail;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class PromoWorkOrderDetailAssembler implements IObjectAssembler<PromoWorkOrderDetail, PromoWorkOrderDetailDTO> {
@Override
public PromoWorkOrderDetailDTO toDTO(PromoWorkOrderDetail domainObject) {
PromoWorkOrderDetailDTO dto = new PromoWorkOrderDetailDTO();
dto.setPromoWoID(domainObject.getPromoWoID());
dto.setWoID(domainObject.getWoID());
dto.setAhassID(domainObject.getAhassID());
dto.setType(domainObject.getType());
dto.setReferenceID(domainObject.getReferenceID());
dto.setValue(domainObject.getValue());
dto.setStatus(domainObject.getStatus());
dto.setIsManualPromo(domainObject.getIsManualPromo());
dto.setPromoWoDetailCreationalDTO(domainObject.getPromoWoDetailCreational() == null ? new CreationalSpecificationDTO() : new CreationalSpecificationDTOAssembler().toDTO(domainObject.getPromoWoDetailCreational()));
return dto;
}
@Override
public PromoWorkOrderDetail toDomain(PromoWorkOrderDetailDTO dtoObject) {
PromoWorkOrderDetail data = new PromoWorkOrderDetail();
data.setPromoWoID(dtoObject.getPromoWoID());
data.setWoID(dtoObject.getWoID());
data.setAhassID(dtoObject.getAhassID());
data.setType(dtoObject.getType());
data.setReferenceID(dtoObject.getReferenceID());
data.setValue(dtoObject.getValue());
data.setStatus(dtoObject.getStatus());
data.setIsManualPromo(dtoObject.getIsManualPromo());
data.setPromoWoDetailCreational(dtoObject.getPromoWoDetailCreationalDTO() == null ? new CreationalSpecificationDTOAssembler().toDomain(new CreationalSpecificationDTO().getInstance()) : new CreationalSpecificationDTOAssembler().toDomain(dtoObject.getPromoWoDetailCreationalDTO()));
return data;
}
public List<PromoWorkOrderDetailDTO> toDTOs(Set<PromoWorkOrderDetail> arg0) {
List<PromoWorkOrderDetailDTO> res = new ArrayList<>();
arg0.stream().forEach((o) -> {
res.add(toDTO(o));
});
return res;
}
public List<PromoWorkOrderDetailDTO> toDTOs(List<PromoWorkOrderDetail> arg0) {
List<PromoWorkOrderDetailDTO> res = new ArrayList<>();
arg0.stream().forEach((o) -> {
res.add(toDTO(o));
});
return res;
}
public Set<PromoWorkOrderDetail> toDomains(List<PromoWorkOrderDetailDTO> arg0) {
Set<PromoWorkOrderDetail> res = new HashSet<>();
arg0.stream().forEach((o) -> {
res.add(toDomain(o));
});
return res;
}
}
package com.eksad.masterdata.common;
import com.eksad.ddms.common.dto.CreationalSpecificationDTO;
import com.eksad.ddms.common.h2.dto.workorder.WorkOrderDTO;
import com.eksad.ddms.common.util.object.IObjectAssembler;
import com.eksad.masterdata.domain.workorder.WorkOrder;
import org.springframework.data.domain.Page;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class WorkOrderAssembler implements IObjectAssembler<WorkOrder, WorkOrderDTO> {
@Override
public WorkOrderDTO toDTO(WorkOrder domainObject) {
WorkOrderDTO dto = new WorkOrderDTO();
dto.setWoID(domainObject.getWoID());
dto.setVersion(domainObject.getVersion());
dto.setAhassID(domainObject.getAhassID());
dto.setEstimasiMulai(domainObject.getEstimasiMulai());
dto.setEstimasiSelesai(domainObject.getEstimasiSelesai());
dto.setNoPolisi(domainObject.getNoPolisi());
dto.setWoNoRangka(domainObject.getWoNoRangka());
dto.setWoNoMesin(domainObject.getWoNoMesin());
dto.setUnitCustomerID(domainObject.getUnitCustomerID());
dto.setUnitCustomerName(domainObject.getUnitCustomerName());
dto.setCustomerAttendeeID(domainObject.getCustomerAttendeeID());
dto.setKmMotor(domainObject.getKmMotor());
dto.setSuggestedKm(domainObject.getSuggestedKm());
dto.setFuelMeter(domainObject.getFuelMeter());
dto.setAlasanDatang(domainObject.getAlasanDatang());
dto.setListComplaint(domainObject.getListComplaint() == null ? new ArrayList<>() : new ComplaintWorkOrderAssembler().toDTOs(domainObject.getListComplaint()));
dto.setAnalisa(domainObject.getAnalisa());
dto.setTypeJasa(domainObject.getTypeJasa());
dto.setListJasa(domainObject.getListJasa() == null ? new ArrayList<>() : new WorkOrderServiceAssembler().toDTOs(domainObject.getListJasa()));
dto.setTotalHargaJasa(domainObject.getTotalHargaJasa());
dto.setTotalDiscountJasa(domainObject.getTotalDiscountJasa());
dto.setTotalWaktuJasa(domainObject.getTotalWaktuJasa());
dto.setListPart(domainObject.getListPart() == null ? new ArrayList<>() : new WorkOrderSparepartAssembler().toDTOs(domainObject.getListPart()));
dto.setTotalHargaSparepart(domainObject.getTotalHargaSparepart());
dto.setTotalDiscountSparepart(domainObject.getTotalDiscountSparepart());
dto.setWoLastKnownState(domainObject.getWoLastKnownState());
dto.setWoLastKnownStatus(domainObject.getWoLastKnownStatus());
dto.setWoDisclaimerType(domainObject.getWoDisclaimerType());
dto.setSparepartDibawaCustomer(domainObject.getSparepartDibawaCustomer());
dto.setConfirmNoTelp(domainObject.getConfirmNoTelp());
dto.setWoDate(domainObject.getWoDate());
dto.setMechanicID(domainObject.getMechanicID());
dto.setMechanicName(domainObject.getMechanicName());
dto.setUnitCategoryID(domainObject.getUnitCategoryID());
dto.setUnitCategoryName(domainObject.getUnitCategoryName());
dto.setUnitSeriesID(domainObject.getUnitSeriesID());
dto.setUnitSeriesName(domainObject.getUnitSeriesName());
dto.setUnitTypeID(domainObject.getUnitTypeID());
dto.setUnitTypeName(domainObject.getUnitTypeName());
dto.setUnitTypeColor(domainObject.getUnitTypeColor());
dto.setTahunPerakitan(domainObject.getTahunPerakitan());
dto.setPitType(domainObject.getPitType());
dto.setSaranMekanik(domainObject.getSaranMekanik());
dto.setPitNumber(domainObject.getPitNumber());
dto.setListPromo(domainObject.getListPromo() == null ? new ArrayList<>() : new PromoWorkOrderAssembler().toDTOs(domainObject.getListPromo()));
dto.setQueueNumber(domainObject.getQueueNumber());
dto.setPackageServiceID(domainObject.getPackageServiceID());
// dto.setPaymentStatus(domainObject.getPaymentStatus());
dto.setBookingID(domainObject.getBookingID());
dto.setKeterangan(domainObject.getKeterangan());
dto.setAlasanHoldWO(domainObject.getAlasanHoldWO());
dto.setLocation(domainObject.getLocation());
dto.setSoID(domainObject.getSoID());
dto.setPromoCode(domainObject.getPromoCode());
dto.setSignPhotoCustomer(domainObject.getSignPhotoCustomer());
dto.setSignPhotoSA(domainObject.getSignPhotoSA());
dto.setSignPhotoFinalCheck(domainObject.getSignPhotoFinalCheck());
dto.setSignPhotoTambahan(domainObject.getSignPhotoTambahan());
dto.setSignPhotoPenyerahan(domainObject.getSignPhotoPenyerahan());
dto.setModifiedTrigger(domainObject.getModifiedTrigger());
dto.setInvoice(domainObject.getInvoice());
dto.setTotalBookingFee(domainObject.getTotalBookingFee());
dto.setTipeKPB(domainObject.getTipeKPB());
dto.setNoBukuC2(domainObject.getNoBukuC2());
dto.setRekomendasiSA(domainObject.getRekomendasiSA());
dto.setUnitEntrySource(domainObject.getUnitEntrySource());
dto.setUnitOwnership(domainObject.getUnitOwnership());
dto.setTotalBookingFee(domainObject.getTotalBookingFee());
dto.setTipeKPB(domainObject.getTipeKPB());
dto.setCountPrint(domainObject.getCountPrint());
dto.setInvoiceUrl(domainObject.getInvoiceUrl());
dto.setProsesServicePUD(domainObject.getProsesServicePUD());
dto.setSpecialCase(domainObject.getSpecialCase() == null ? false : domainObject.getSpecialCase());
dto.setCsID(domainObject.getCsID());
dto.setReffNumber(domainObject.getReffNumber());
dto.setPosServiceID(domainObject.getPosServiceID());
dto.setServiceLocationType(domainObject.getServiceLocationType());
dto.setAddress(domainObject.getAddress());
dto.setKabkotID(domainObject.getKabkotID());
dto.setKecamatanID(domainObject.getKecamatanID());
dto.setKelurahanID(domainObject.getKelurahanID());
dto.setProvinceID(domainObject.getProvinceID());
dto.setWoCreationalDTO(domainObject.getWoCreational() == null ? new CreationalSpecificationDTO() : new CreationalSpecificationDTOAssembler().toDTO(domainObject.getWoCreational()));
return dto;
}
@Override
public WorkOrder toDomain(WorkOrderDTO dtoObject) {
WorkOrder data = new WorkOrder();
data.setWoID(dtoObject.getWoID());
data.setVersion(dtoObject.getVersion());
data.setAhassID(dtoObject.getAhassID());
data.setEstimasiMulai(dtoObject.getEstimasiMulai());
data.setEstimasiSelesai(dtoObject.getEstimasiSelesai());
data.setNoPolisi(dtoObject.getNoPolisi());
data.setWoNoRangka(dtoObject.getWoNoRangka());
data.setWoNoMesin(dtoObject.getWoNoMesin());
data.setUnitCustomerID(dtoObject.getUnitCustomerID());
data.setUnitCustomerName(dtoObject.getUnitCustomerName());
data.setCustomerAttendeeID(dtoObject.getCustomerAttendeeID());
data.setKmMotor(dtoObject.getKmMotor());
data.setSuggestedKm(dtoObject.getSuggestedKm());
data.setFuelMeter(dtoObject.getFuelMeter());
data.setAlasanDatang(dtoObject.getAlasanDatang());
data.setListComplaint(dtoObject.getListComplaint() == null ? new HashSet<>() : new ComplaintWorkOrderAssembler().toDomain(dtoObject.getListComplaint()));
data.setAnalisa(dtoObject.getAnalisa());
data.setTypeJasa(dtoObject.getTypeJasa());
data.setListJasa(dtoObject.getListJasa() == null ? new HashSet<>() : new WorkOrderServiceAssembler().toDomains(dtoObject.getListJasa()));
data.setTotalHargaJasa(dtoObject.getTotalHargaJasa());
data.setTotalDiscountJasa(dtoObject.getTotalDiscountJasa());
data.setTotalWaktuJasa(dtoObject.getTotalWaktuJasa());
data.setListPart(dtoObject.getListPart() == null ? new HashSet<>() : new WorkOrderSparepartAssembler().toDomain(dtoObject.getListPart()));
data.setTotalHargaSparepart(dtoObject.getTotalHargaSparepart());
data.setTotalDiscountSparepart(dtoObject.getTotalDiscountSparepart());
data.setWoLastKnownState(dtoObject.getWoLastKnownState());
data.setWoLastKnownStatus(dtoObject.getWoLastKnownStatus());
data.setWoDisclaimerType(dtoObject.getWoDisclaimerType());
data.setSparepartDibawaCustomer(dtoObject.getSparepartDibawaCustomer());
data.setConfirmNoTelp(dtoObject.getConfirmNoTelp());
data.setWoDate(dtoObject.getWoDate());
data.setMechanicID(dtoObject.getMechanicID());
data.setMechanicName(dtoObject.getMechanicName());
data.setUnitCategoryID(dtoObject.getUnitCategoryID());
data.setUnitCategoryName(dtoObject.getUnitCategoryName());
data.setUnitSeriesID(dtoObject.getUnitSeriesID());
data.setUnitSeriesName(dtoObject.getUnitSeriesName());
data.setUnitTypeID(dtoObject.getUnitTypeID());
data.setUnitTypeName(dtoObject.getUnitTypeName());
data.setUnitTypeColor(dtoObject.getUnitTypeColor());
data.setTahunPerakitan(dtoObject.getTahunPerakitan());
data.setPitType(dtoObject.getPitType());
data.setPitNumber(dtoObject.getPitNumber());
data.setSaranMekanik(dtoObject.getSaranMekanik());
data.setListPromo(dtoObject.getListPromo() == null ? new HashSet<>() : new PromoWorkOrderAssembler().toDomain(dtoObject.getListPromo()));
data.setQueueNumber(dtoObject.getQueueNumber());
data.setPackageServiceID(dtoObject.getPackageServiceID());
// data.setPaymentStatus(dtoObject.getPaymentStatus());
data.setBookingID(dtoObject.getBookingID());
data.setKeterangan(dtoObject.getKeterangan());
data.setAlasanHoldWO(dtoObject.getAlasanHoldWO());
data.setLocation(dtoObject.getLocation());
data.setSoID(dtoObject.getSoID());
data.setPromoCode(dtoObject.getPromoCode());
data.setModifiedTrigger(dtoObject.getModifiedTrigger());
data.setInvoice(dtoObject.getInvoice());
data.setTotalBookingFee(dtoObject.getTotalBookingFee());
data.setTipeKPB(dtoObject.getTipeKPB());
data.setUnitEntrySource(dtoObject.getUnitEntrySource());
data.setNoBukuC2(dtoObject.getNoBukuC2());
data.setRekomendasiSA(dtoObject.getRekomendasiSA());
data.setUnitOwnership(dtoObject.getUnitOwnership());
data.setTotalBookingFee(dtoObject.getTotalBookingFee());
data.setTipeKPB(dtoObject.getTipeKPB());
data.setCountPrint(dtoObject.getCountPrint());
data.setInvoiceUrl(dtoObject.getInvoiceUrl());
data.setProsesServicePUD(dtoObject.getProsesServicePUD());
data.setSpecialCase(dtoObject.getSpecialCase() == null ? null : dtoObject.getSpecialCase());
data.setCsID(dtoObject.getCsID());
data.setPosServiceID(dtoObject.getPosServiceID());
data.setServiceLocationType(dtoObject.getServiceLocationType());
data.setAddress(dtoObject.getAddress());
data.setKabkotID(dtoObject.getKabkotID());
data.setKecamatanID(dtoObject.getKecamatanID());
data.setKelurahanID(dtoObject.getKelurahanID());
data.setProvinceID(dtoObject.getProvinceID());
data.setWoCreational(dtoObject.getWoCreationalDTO() == null ? new CreationalSpecificationDTOAssembler().toDomain(new CreationalSpecificationDTO().getInstance()) : new CreationalSpecificationDTOAssembler().toDomain(dtoObject.getWoCreationalDTO()));
return data;
}
public WorkOrderDTO toDTOUpdate(WorkOrder domainObject) {
WorkOrderDTO dto = new WorkOrderDTO();
dto.setWoID(domainObject.getWoID());
dto.setVersion(domainObject.getVersion());
dto.setAhassID(domainObject.getAhassID());
dto.setEstimasiMulai(domainObject.getEstimasiMulai());
dto.setEstimasiSelesai(domainObject.getEstimasiSelesai());
dto.setNoPolisi(domainObject.getNoPolisi());
dto.setWoNoRangka(domainObject.getWoNoRangka());
dto.setWoNoMesin(domainObject.getWoNoMesin());
dto.setUnitCustomerID(domainObject.getUnitCustomerID());
dto.setUnitCustomerName(domainObject.getUnitCustomerName());
dto.setCustomerAttendeeID(domainObject.getCustomerAttendeeID());
dto.setKmMotor(domainObject.getKmMotor());
dto.setSuggestedKm(domainObject.getSuggestedKm());
dto.setFuelMeter(domainObject.getFuelMeter());
dto.setAlasanDatang(domainObject.getAlasanDatang());
dto.setListComplaint(domainObject.getListComplaint() == null ? new ArrayList<>() : new ComplaintWorkOrderAssembler().toDTOs(domainObject.getListComplaint()));
dto.setAnalisa(domainObject.getAnalisa());
dto.setTypeJasa(domainObject.getTypeJasa());
dto.setListJasa(domainObject.getListJasa() == null ? new ArrayList<>() : new WorkOrderServiceAssembler().toDTOs(domainObject.getListJasa()));
dto.setTotalHargaJasa(domainObject.getTotalHargaJasa());
dto.setTotalDiscountJasa(domainObject.getTotalDiscountJasa());
dto.setTotalWaktuJasa(domainObject.getTotalWaktuJasa());
dto.setListPart(domainObject.getListPart() == null ? new ArrayList<>() : new WorkOrderSparepartAssembler().toDTOs(domainObject.getListPart()));
dto.setTotalHargaSparepart(domainObject.getTotalHargaSparepart());
dto.setTotalDiscountSparepart(domainObject.getTotalDiscountSparepart());
// dto.setWoLastKnownState(domainObject.getWoLastKnownState());
// dto.setWoLastKnownStatus(domainObject.getWoLastKnownStatus());
dto.setWoDisclaimerType(domainObject.getWoDisclaimerType());
dto.setSparepartDibawaCustomer(domainObject.getSparepartDibawaCustomer());
dto.setConfirmNoTelp(domainObject.getConfirmNoTelp());
dto.setWoDate(domainObject.getWoDate());
// dto.setMechanicID(domainObject.getMechanicID());
// dto.setMechanicName(domainObject.getMechanicName());
dto.setUnitCategoryID(domainObject.getUnitCategoryID());
dto.setUnitCategoryName(domainObject.getUnitCategoryName());
dto.setUnitSeriesID(domainObject.getUnitSeriesID());
dto.setUnitSeriesName(domainObject.getUnitSeriesName());
dto.setUnitTypeID(domainObject.getUnitTypeID());
dto.setUnitTypeName(domainObject.getUnitTypeName());
dto.setUnitTypeColor(domainObject.getUnitTypeColor());
dto.setTahunPerakitan(domainObject.getTahunPerakitan());
dto.setPitType(domainObject.getPitType());
dto.setSaranMekanik(domainObject.getSaranMekanik());
// dto.setPitNumber(domainObject.getPitNumber());
dto.setListPromo(domainObject.getListPromo() == null ? new ArrayList<>() : new PromoWorkOrderAssembler().toDTOs(domainObject.getListPromo()));
dto.setQueueNumber(domainObject.getQueueNumber());
dto.setPackageServiceID(domainObject.getPackageServiceID());
// dto.setPaymentStatus(domainObject.getPaymentStatus());
dto.setBookingID(domainObject.getBookingID());
dto.setKeterangan(domainObject.getKeterangan());
dto.setAlasanHoldWO(domainObject.getAlasanHoldWO());
dto.setLocation(domainObject.getLocation());
dto.setSoID(domainObject.getSoID());
dto.setPromoCode(domainObject.getPromoCode());
dto.setSignPhotoCustomer(domainObject.getSignPhotoCustomer());
dto.setSignPhotoSA(domainObject.getSignPhotoSA());
dto.setSignPhotoFinalCheck(domainObject.getSignPhotoFinalCheck());
dto.setSignPhotoTambahan(domainObject.getSignPhotoTambahan());
dto.setSignPhotoPenyerahan(domainObject.getSignPhotoPenyerahan());
dto.setModifiedTrigger(domainObject.getModifiedTrigger());
dto.setInvoice(domainObject.getInvoice());
dto.setTotalBookingFee(domainObject.getTotalBookingFee());
dto.setTipeKPB(domainObject.getTipeKPB());
dto.setUnitEntrySource(domainObject.getUnitEntrySource());
dto.setRekomendasiSA(domainObject.getRekomendasiSA());
dto.setNoBukuC2(domainObject.getNoBukuC2());
dto.setUnitOwnership(domainObject.getUnitOwnership());
dto.setTotalBookingFee(domainObject.getTotalBookingFee());
dto.setTipeKPB(domainObject.getTipeKPB());
dto.setCountPrint(domainObject.getCountPrint());
dto.setInvoiceUrl(domainObject.getInvoiceUrl());
dto.setProsesServicePUD(domainObject.getProsesServicePUD());
dto.setPosServiceID(domainObject.getPosServiceID());
dto.setAddress(domainObject.getAddress());
dto.setKabkotID(domainObject.getKabkotID());
dto.setKecamatanID(domainObject.getKecamatanID());
dto.setKelurahanID(domainObject.getKelurahanID());
dto.setProvinceID(domainObject.getProvinceID());
dto.setWoCreationalDTO(domainObject.getWoCreational() == null ? new CreationalSpecificationDTO() : new CreationalSpecificationDTOAssembler().toDTO(domainObject.getWoCreational()));
return dto;
}
public WorkOrder toDomainUpdate(WorkOrderDTO dtoObject, WorkOrder data) {
// WorkOrder data = new WorkOrder();
data.setWoID(dtoObject.getWoID());
data.setVersion(dtoObject.getVersion());
data.setAhassID(dtoObject.getAhassID());
data.setEstimasiMulai(dtoObject.getEstimasiMulai());
data.setEstimasiSelesai(dtoObject.getEstimasiSelesai());
data.setNoPolisi(dtoObject.getNoPolisi());
data.setWoNoRangka(dtoObject.getWoNoRangka());
data.setWoNoMesin(dtoObject.getWoNoMesin());
data.setUnitCustomerID(dtoObject.getUnitCustomerID());
// data.setUnitCustomerName(dtoObject.getUnitCustomerName());
data.setCustomerAttendeeID(dtoObject.getCustomerAttendeeID());
data.setKmMotor(dtoObject.getKmMotor());
data.setSuggestedKm(dtoObject.getSuggestedKm());
data.setFuelMeter(dtoObject.getFuelMeter());
data.setAlasanDatang(dtoObject.getAlasanDatang());
data.setListComplaint(dtoObject.getListComplaint() == null ? new HashSet<>() : new ComplaintWorkOrderAssembler().toDomain(dtoObject.getListComplaint()));
data.setAnalisa(dtoObject.getAnalisa());
data.setTypeJasa(dtoObject.getTypeJasa());
data.setListJasa(dtoObject.getListJasa() == null ? new HashSet<>() : new WorkOrderServiceAssembler().toDomains(dtoObject.getListJasa()));
data.setTotalHargaJasa(dtoObject.getTotalHargaJasa());
data.setTotalDiscountJasa(dtoObject.getTotalDiscountJasa());
data.setTotalWaktuJasa(dtoObject.getTotalWaktuJasa());
data.setListPart(dtoObject.getListPart() == null ? new HashSet<>() : new WorkOrderSparepartAssembler().toDomain(dtoObject.getListPart()));
data.setTotalHargaSparepart(dtoObject.getTotalHargaSparepart());
data.setTotalDiscountSparepart(dtoObject.getTotalDiscountSparepart());
// data.setWoLastKnownState(dtoObject.getWoLastKnownState());
// data.setWoLastKnownStatus(dtoObject.getWoLastKnownStatus());
data.setWoDisclaimerType(dtoObject.getWoDisclaimerType());
data.setSparepartDibawaCustomer(dtoObject.getSparepartDibawaCustomer());
data.setConfirmNoTelp(dtoObject.getConfirmNoTelp());
data.setWoDate(dtoObject.getWoDate());
// data.setMechanicID(dtoObject.getMechanicID());
// data.setMechanicName(dtoObject.getMechanicName());
data.setUnitCategoryID(dtoObject.getUnitCategoryID());
data.setUnitCategoryName(dtoObject.getUnitCategoryName());
data.setUnitSeriesID(dtoObject.getUnitSeriesID());
data.setUnitSeriesName(dtoObject.getUnitSeriesName());
data.setUnitTypeID(dtoObject.getUnitTypeID());
data.setUnitTypeName(dtoObject.getUnitTypeName());
data.setUnitTypeColor(dtoObject.getUnitTypeColor());
data.setTahunPerakitan(dtoObject.getTahunPerakitan());
// data.setPitType(dtoObject.getPitType());
// data.setPitNumber(dtoObject.getPitNumber());
data.setSaranMekanik(dtoObject.getSaranMekanik());
// data.setListPromo(dtoObject.getListPromo() == null ? new HashSet<>() : new PromoWorkOrderAssembler().toDomain(dtoObject.getListPromo()));
data.setListPromo(dtoObject.getListPromo() == null ? new HashSet<>() : new PromoWorkOrderAssembler().toDomainUpdates(dtoObject.getListPromo(), data.getListPromo()));
data.setQueueNumber(dtoObject.getQueueNumber());
data.setPackageServiceID(dtoObject.getPackageServiceID());
// data.setPaymentStatus(dtoObject.getPaymentStatus());
data.setBookingID(dtoObject.getBookingID());
data.setKeterangan(dtoObject.getKeterangan());
data.setAlasanHoldWO(dtoObject.getAlasanHoldWO());
data.setLocation(dtoObject.getLocation());
data.setSoID(dtoObject.getSoID());
data.setPromoCode(dtoObject.getPromoCode());
data.setModifiedTrigger(dtoObject.getModifiedTrigger());
data.setInvoice(dtoObject.getInvoice());
data.setTotalBookingFee(dtoObject.getTotalBookingFee());
data.setTipeKPB(dtoObject.getTipeKPB());
data.setNoBukuC2(dtoObject.getNoBukuC2());
data.setUnitEntrySource(dtoObject.getUnitEntrySource());
data.setRekomendasiSA(dtoObject.getRekomendasiSA());
data.setUnitOwnership(dtoObject.getUnitOwnership());
data.setTotalBookingFee(dtoObject.getTotalBookingFee());
data.setTipeKPB(dtoObject.getTipeKPB());
data.setCountPrint(dtoObject.getCountPrint());
data.setInvoiceUrl(dtoObject.getInvoiceUrl());
data.setProsesServicePUD(dtoObject.getProsesServicePUD());
data.setPosServiceID(dtoObject.getPosServiceID());
data.setAddress(dtoObject.getAddress());
data.setKabkotID(dtoObject.getKabkotID());
data.setKecamatanID(dtoObject.getKecamatanID());
data.setKelurahanID(dtoObject.getKelurahanID());
data.setProvinceID(dtoObject.getProvinceID());
data.setWoCreational(dtoObject.getWoCreationalDTO() == null ? new CreationalSpecificationDTOAssembler().toDomain(new CreationalSpecificationDTO().getInstance()) : new CreationalSpecificationDTOAssembler().toDomain(dtoObject.getWoCreationalDTO()));
return data;
}
public List<WorkOrderDTO> toDTOs(Set<WorkOrder> arg0) {
List<WorkOrderDTO> res = new ArrayList<>();
arg0.stream().forEach((o) -> {
res.add(toDTO(o));
});
return res;
}
public List<WorkOrderDTO> toDTOs(List<WorkOrder> arg0) {
List<WorkOrderDTO> res = new ArrayList<>();
arg0.stream().forEach((o) -> {
res.add(toDTO(o));
});
return res;
}
public Set<WorkOrder> toDomains(List<WorkOrderDTO> arg0) {
Set<WorkOrder> res = new HashSet<>();
arg0.stream().forEach((o) -> {
res.add(toDomain(o));
});
return res;
}
public List<WorkOrderDTO> toDTOs(Page<WorkOrder> datas) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
package com.eksad.masterdata.common;
import com.eksad.ddms.common.dto.CreationalSpecificationDTO;
import com.eksad.ddms.common.h2.dto.workorder.WorkOrderServiceDTO;
import com.eksad.ddms.common.util.object.IObjectAssembler;
import com.eksad.masterdata.domain.workorder.WorkOrderService;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class WorkOrderServiceAssembler implements IObjectAssembler<WorkOrderService, WorkOrderServiceDTO> {
@Override
public WorkOrderServiceDTO toDTO(WorkOrderService domainObject) {
WorkOrderServiceDTO dto = new WorkOrderServiceDTO();
dto.setConfigWorkshopServiceID(domainObject.getConfigWorkshopServiceID());
dto.setSource(domainObject.getSource());
dto.setDiscount(domainObject.getDiscount());
dto.setHarga(domainObject.getHarga());
dto.setQty(domainObject.getQty());
dto.setTotal(domainObject.getTotal());
dto.setWoID(domainObject.getWoID());
dto.setC2(domainObject.getC2());
dto.setKpb(domainObject.getKpb());
dto.setWorkOrderServiceID(domainObject.getWorkOrderServiceID());
dto.setIsKmRegular(domainObject.getIsKmRegular());
dto.setPpnamount(domainObject.getPpnAmount());
dto.setPpnrate(domainObject.getPpnRate());
dto.setClaimDiscount(domainObject.getClaimDiscount());
dto.setPpnrate(domainObject.getPpnRate());
dto.setPpnamount(domainObject.getPpnAmount());
dto.setIsContractService(domainObject.getIsContractService());
dto.setCsPackageCode(domainObject.getCsPackageCode());
dto.setWorkOrderServiceCreationalDTO(domainObject.getWorkOrderServiceCreational() == null ? new CreationalSpecificationDTO() : new CreationalSpecificationDTOAssembler().toDTO(domainObject.getWorkOrderServiceCreational()));
return dto;
}
@Override
public WorkOrderService toDomain(WorkOrderServiceDTO dtoObject) {
WorkOrderService domain = new WorkOrderService();
domain.setConfigWorkshopServiceID(dtoObject.getConfigWorkshopServiceID());
domain.setSource(dtoObject.getSource());
domain.setDiscount(dtoObject.getDiscount());
domain.setQty(dtoObject.getQty());
domain.setHarga(dtoObject.getHarga());
domain.setTotal(dtoObject.getTotal());
domain.setWoID(dtoObject.getWoID());
domain.setC2(dtoObject.getC2());
domain.setKpb(dtoObject.getKpb());
domain.setWorkOrderServiceID(dtoObject.getWorkOrderServiceID());
domain.setIsKmRegular(dtoObject.getIsKmRegular());
domain.setPpnAmount(dtoObject.getPpnamount());
domain.setPpnRate(dtoObject.getPpnrate());
domain.setClaimDiscount(dtoObject.getClaimDiscount());
domain.setPpnRate(dtoObject.getPpnrate());
domain.setPpnAmount(dtoObject.getPpnamount());
domain.setIsContractService(dtoObject.getIsContractService());
domain.setCsPackageCode(dtoObject.getCsPackageCode());
domain.setWorkOrderServiceCreational(dtoObject.getWorkOrderServiceCreationalDTO() == null ? new CreationalSpecificationDTOAssembler().toDomain(new CreationalSpecificationDTO().getInstance()) : new CreationalSpecificationDTOAssembler().toDomain(dtoObject.getWorkOrderServiceCreationalDTO()));
return domain;
}
public List<WorkOrderServiceDTO> toDTOs(Set<WorkOrderService> arg0) {
List<WorkOrderServiceDTO> res = new ArrayList<>();
arg0.stream().forEach((o) -> {
res.add(toDTO(o));
});
return res;
}
public List<WorkOrderServiceDTO> toDTOs(List<WorkOrderService> arg0) {
List<WorkOrderServiceDTO> res = new ArrayList<>();
arg0.stream().forEach((o) -> {
res.add(toDTO(o));
});
return res;
}
public Set<WorkOrderService> toDomains(List<WorkOrderServiceDTO> arg0) {
Set<WorkOrderService> res = new HashSet<>();
arg0.stream().forEach((o) -> {
res.add(toDomain(o));
});
return res;
}
}
package com.eksad.masterdata.common;
import com.eksad.ddms.common.dto.CreationalSpecificationDTO;
import com.eksad.ddms.common.h2.dto.workorder.WorkOrderSparepartDTO;
import com.eksad.ddms.common.util.object.IObjectAssembler;
import com.eksad.masterdata.domain.workorder.WorkOrderSparepart;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class WorkOrderSparepartAssembler implements IObjectAssembler<WorkOrderSparepart, WorkOrderSparepartDTO> {
@Override
public WorkOrderSparepartDTO toDTO(WorkOrderSparepart domainObject) {
WorkOrderSparepartDTO dto = new WorkOrderSparepartDTO();
dto.setWorkOrderSparepartID(domainObject.getWoSparepartID());
dto.setPartID(domainObject.getPartID());
dto.setQty(domainObject.getQty());
dto.setC2(domainObject.getC2());
dto.setDiscount(domainObject.getDiscount());
dto.setTotal(domainObject.getTotal());
dto.setWoID(domainObject.getWoID());
dto.setSource(domainObject.getSource());
dto.setKPB(domainObject.getKPB());
dto.setPpnamount(domainObject.getPpnAmount());
dto.setPpnrate(domainObject.getPpnRate());
dto.setHarga(domainObject.getHarga());
dto.setClaimDiscount(domainObject.getClaimDiscount());
dto.setPpnrate(domainObject.getPpnRate());
dto.setPpnamount(domainObject.getPpnAmount());
dto.setWorkOrderServiceCreationalDTO(domainObject.getWorkOrderServiceCreational() == null ? new CreationalSpecificationDTO() : new CreationalSpecificationDTOAssembler().toDTO(domainObject.getWorkOrderServiceCreational()));
return dto;
}
@Override
public WorkOrderSparepart toDomain(WorkOrderSparepartDTO dtoObject) {
WorkOrderSparepart data = new WorkOrderSparepart();
data.setWoSparepartID(dtoObject.getWorkOrderSparepartID());
data.setPartID(dtoObject.getPartID());
data.setQty(dtoObject.getQty());
data.setC2(dtoObject.getC2());
data.setDiscount(dtoObject.getDiscount());
data.setTotal(dtoObject.getTotal());
data.setWoID(dtoObject.getWoID());
data.setSource(dtoObject.getSource());
data.setKPB(dtoObject.getKPB());
data.setPpnAmount(dtoObject.getPpnamount());
data.setPpnRate(dtoObject.getPpnrate());
data.setHarga(dtoObject.getHarga());
data.setClaimDiscount(dtoObject.getClaimDiscount());
data.setPpnRate(dtoObject.getPpnrate());
data.setPpnAmount(dtoObject.getPpnamount());
data.setWorkOrderServiceCreational(dtoObject.getWorkOrderServiceCreationalDTO() == null ? new CreationalSpecificationDTOAssembler().toDomain(new CreationalSpecificationDTO().getInstance()) : new CreationalSpecificationDTOAssembler().toDomain(dtoObject.getWorkOrderServiceCreationalDTO()));
return data;
}
public List<WorkOrderSparepartDTO> toDTOs(Set<WorkOrderSparepart> arg0) {
List<WorkOrderSparepartDTO> res = new ArrayList<>();
arg0.stream().forEach((o) -> {
res.add(toDTO(o));
});
return res;
}
public List<WorkOrderSparepartDTO> toDTOs(List<WorkOrderSparepart> arg0) {
List<WorkOrderSparepartDTO> res = new ArrayList<>();
arg0.stream().forEach((o) -> {
res.add(toDTO(o));
});
return res;
}
public Set<WorkOrderSparepart> toDomain(List<WorkOrderSparepartDTO> arg0) {
Set<WorkOrderSparepart> res = new HashSet<>();
arg0.stream().forEach((o) -> {
res.add(toDomain(o));
});
return res;
}
public List<WorkOrderSparepart> toDomainInList(List<WorkOrderSparepartDTO> arg0) {
List<WorkOrderSparepart> res = new ArrayList<>();
arg0.stream().forEach((o) -> {
res.add(toDomain(o));
});
return res;
}
}
package com.eksad.masterdata.controller;
import com.eksad.ddms.common.h2.dto.orafin.workorder.WorkOrderOrafinDTO;
import com.eksad.masterdata.service.WorkOrderOrafinHystrixService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@RestController
@Slf4j
public class WorkOrderOrafinRESTController {
@Autowired
WorkOrderOrafinHystrixService workOrderOrafinHystrixService;
@RequestMapping(value = "dgi-api/v1/inv2/add",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> postWorkOrderOrafin(@Valid @RequestBody WorkOrderOrafinDTO dto) throws JsonProcessingException {
// try {
System.out.println(new ObjectMapper().writeValueAsString(dto));
// } catch (JsonProcessingException ex) {
// Logger.getLogger(WorkOrderOrafinRESTController.class.getName()).log(Level.SEVERE, null, ex);
// }
return workOrderOrafinHystrixService.postWorkOrderOrafin(dto);
}
}
package com.eksad.masterdata.domain;
import com.eksad.ddms.common.type.SourceType;
import com.eksad.ddms.common.util.status.DataStatus;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.persistence.*;
import java.util.Date;
import java.util.Objects;
@Entity
@Table(name = "TRX_PAYLOAD")
public class Payload {
@Id
@jakarta.persistence.GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "trx_payload_gen")
@jakarta.persistence.SequenceGenerator(name = "trx_payload_gen", sequenceName = "trx_payload_seq", allocationSize = 1)
private Integer id;
private String sourceId;
private String type;
@Column(name = "reqPayload", columnDefinition = "TEXT")
private String reqPayload;
@Column(name = "resPayload", columnDefinition = "TEXT")
private String resPayload;
private String event;
@Temporal(TemporalType.DATE)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy", timezone = "Asia/Jakarta")
private Date eventDate;
@Enumerated(EnumType.STRING)
private DataStatus payloadStatus;
@Enumerated(EnumType.STRING)
private SourceType sourceType;
private String url;
@Embedded
private CreationalSpecification payloadCreational;
public Payload() {
}
public Payload(Integer id, String sourceId, String type, String reqPayload, String resPayload, String event, Date eventDate, DataStatus payloadStatus, SourceType sourceType, String url, CreationalSpecification payloadCreational) {
this.id = id;
this.sourceId = sourceId;
this.type = type;
this.reqPayload = reqPayload;
this.resPayload = resPayload;
this.event = event;
this.eventDate = eventDate;
this.payloadStatus = payloadStatus;
this.sourceType = sourceType;
this.url = url;
this.payloadCreational = payloadCreational;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getSourceId() {
return sourceId;
}
public void setSourceId(String sourceId) {
this.sourceId = sourceId;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getReqPayload() {
return reqPayload;
}
public void setReqPayload(String reqPayload) {
this.reqPayload = reqPayload;
}
public String getResPayload() {
return resPayload;
}
public void setResPayload(String resPayload) {
this.resPayload = resPayload;
}
public String getEvent() {
return event;
}
public void setEvent(String event) {
this.event = event;
}
public DataStatus getPayloadStatus() {
return payloadStatus;
}
public void setPayloadStatus(DataStatus payloadStatus) {
this.payloadStatus = payloadStatus;
}
public Date getEventDate() {
return eventDate;
}
public void setEventDate(Date eventDate) {
this.eventDate = eventDate;
}
public CreationalSpecification getPayloadCreational() {
return payloadCreational;
}
public void setPayloadCreational(CreationalSpecification payloadCreational) {
this.payloadCreational = payloadCreational;
}
public SourceType getSourceType() {
return sourceType;
}
public void setSourceType(SourceType sourceType) {
this.sourceType = sourceType;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
@Override
public int hashCode() {
int hash = 7;
hash = 89 * hash + Objects.hashCode(this.id);
hash = 89 * hash + Objects.hashCode(this.sourceId);
hash = 89 * hash + Objects.hashCode(this.type);
hash = 89 * hash + Objects.hashCode(this.reqPayload);
hash = 89 * hash + Objects.hashCode(this.resPayload);
hash = 89 * hash + Objects.hashCode(this.event);
hash = 89 * hash + Objects.hashCode(this.eventDate);
hash = 89 * hash + Objects.hashCode(this.payloadStatus);
hash = 89 * hash + Objects.hashCode(this.sourceType);
hash = 89 * hash + Objects.hashCode(this.url);
hash = 89 * hash + Objects.hashCode(this.payloadCreational);
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Payload other = (Payload) obj;
if (!Objects.equals(this.sourceId, other.sourceId)) {
return false;
}
if (!Objects.equals(this.type, other.type)) {
return false;
}
if (!Objects.equals(this.reqPayload, other.reqPayload)) {
return false;
}
if (!Objects.equals(this.resPayload, other.resPayload)) {
return false;
}
if (!Objects.equals(this.event, other.event)) {
return false;
}
if (!Objects.equals(this.eventDate, other.eventDate)) {
return false;
}
if (!Objects.equals(this.payloadStatus, other.payloadStatus)) {
return false;
}
if (!Objects.equals(this.sourceType, other.sourceType)) {
return false;
}
if (!Objects.equals(this.payloadCreational, other.payloadCreational)) {
return false;
}
if (!Objects.equals(this.id, other.id)) {
return false;
}
if (!Objects.equals(this.url, other.url)) {
return false;
}
return true;
}
}
package com.eksad.masterdata.domain;
import com.eksad.masterdata.domain.workorder.WorkOrderOrafin;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import jakarta.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.Objects;
import com.eksad.ddms.common.util.object.EntityObject;
@Entity
@Table(name= "TRX_PAYMENT_ORAFIN")
public class PaymentOrafin implements EntityObject<PaymentOrafin> {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "trx_payment_orafin_gen")
@SequenceGenerator(name = "trx_payment_orafin_gen", sequenceName = "trx_payment_orafin_seq", allocationSize = 1)
Integer id;
@Version
@Column(name = "version")
private Long version;
@Column(unique = true)
@NotNull(message="paymentOrafinID cannot be null")
private String paymentOrafinID;
private String woID;
private String noKwitansi;
private String reqPayload;
private String resPayload;
@Temporal(TemporalType.DATE)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MMM-yy", timezone = "Asia/Jakarta")
private Date kwitansiDate;
private String orafinStatus;
@Embedded
private CreationalSpecification paymentOrafinCreational;
public PaymentOrafin() {
}
public PaymentOrafin(String woID, Long version, String noKwitansi, String reqPayload, String resPayload, String paymentOrafinID, Date kwitansiDate, CreationalSpecification paymentOrafinCreational) {
this.woID = woID;
this.noKwitansi = noKwitansi;
this.reqPayload = reqPayload;
this.resPayload = resPayload;
this.paymentOrafinID = paymentOrafinID;
this.kwitansiDate = kwitansiDate;
this.paymentOrafinCreational = paymentOrafinCreational;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getWoID() {
return woID;
}
public void setWoID(String woID) {
this.woID = woID;
}
public String getNoKwitansi() {
return noKwitansi;
}
public void setNoKwitansi(String noKwitansi) {
this.noKwitansi = noKwitansi;
}
public String getReqPayload() {
return reqPayload;
}
public void setReqPayload(String reqPayload) {
this.reqPayload = reqPayload;
}
public String getResPayload() {
return resPayload;
}
public void setResPayload(String resPayload) {
this.resPayload = resPayload;
}
public String getPaymentOrafinID() {
return paymentOrafinID;
}
public void setPaymentOrafinID(String paymentOrafinID) {
this.paymentOrafinID = paymentOrafinID;
}
public Date getKwitansiDate() {
return kwitansiDate;
}
public void setKwitansiDate(Date kwitansiDate) {
this.kwitansiDate = kwitansiDate;
}
public Long getVersion() {
return version;
}
public void setVersion(Long version) {
this.version = version;
}
public String getOrafinStatus() {
return orafinStatus;
}
public void setOrafinStatus(String orafinStatus) {
this.orafinStatus = orafinStatus;
}
public CreationalSpecification getPaymentOrafinCreational() {
return paymentOrafinCreational;
}
public void setPaymentOrafinCreational(CreationalSpecification paymentOrafinCreational) {
this.paymentOrafinCreational = paymentOrafinCreational;
}
@Override
public int hashCode() {
int hash = 3;
hash = 79 * hash + Objects.hashCode(this.woID);
hash = 79 * hash + Objects.hashCode(this.version);
hash = 79 * hash + Objects.hashCode(this.paymentOrafinID);
hash = 79 * hash + Objects.hashCode(this.noKwitansi);
hash = 79 * hash + Objects.hashCode(this.reqPayload);
hash = 79 * hash + Objects.hashCode(this.resPayload);
hash = 79 * hash + Objects.hashCode(this.kwitansiDate);
hash = 79 * hash + Objects.hashCode(this.paymentOrafinCreational);
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final PaymentOrafin other = (PaymentOrafin) obj;
if (!Objects.equals(this.id, other.id)) {
return false;
}
return true;
}
@Override
public boolean sameIdentityAs(PaymentOrafin t) {
return this.equals(t);
}
}
package com.eksad.masterdata.domain;
import com.eksad.ddms.common.util.object.EntityObject;
import jakarta.persistence.*;
@Entity
@Table(name = "MST_SEQUENCE")
public class Sequence implements EntityObject<Sequence> {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "mst_sequence_gen")
@SequenceGenerator(name = "mst_sequence_gen", sequenceName = "mst_sequence_seq", allocationSize = 1)
private Integer id;
private String dealerID;
private Long sequence;
private String type;
private String posServiceID;
public Sequence() {
}
public Sequence(String dealerID, Long sequence, String type, String posServiceID) {
this.dealerID = dealerID;
this.sequence = sequence;
this.type = type;
this.posServiceID = posServiceID;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getDealerID() {
return dealerID;
}
public void setDealerID(String dealerID) {
this.dealerID = dealerID;
}
public Long getSequence() {
return sequence;
}
public void setSequence(Long sequence) {
this.sequence = sequence;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getPosServiceID() {
return posServiceID;
}
public void setPosServiceID(String posServiceID) {
this.posServiceID = posServiceID;
}
@Override
public boolean sameIdentityAs(Sequence t) {
return this.equals(t);
}
}
package com.eksad.masterdata.domain.workorder;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import jakarta.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.Objects;
import com.eksad.ddms.common.util.object.EntityObject;
@Entity
@Table(name = "TRX_ORAFIN_WO")
public class WorkOrderOrafin implements EntityObject<WorkOrderOrafin> {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "trx_orafin_wo_gen")
@SequenceGenerator(name = "trx_orafin_wo_gen", sequenceName = "trx_orafin_wo_seq", allocationSize = 1)
Long id;
@NotNull(message = "woID cannot be null")
@Column(name = "woID")
private String noWorkOrder;
private String noNJB;
@Temporal(TemporalType.TIMESTAMP)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date tanggalNJB;
private Double totalHargaNJB;
private String noNSC;
@Temporal(TemporalType.TIMESTAMP)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date tanggalNSC;
private Double totalHargaNSC;
private String hondaIdSA;
private String hondaIdMekanik;
@NotNull(message = "dealerId cannot be null")
private String dealerId;
@Temporal(TemporalType.TIMESTAMP)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date createdTime;
@Temporal(TemporalType.TIMESTAMP)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date modifiedTime;
@Temporal(TemporalType.TIMESTAMP)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy HH:mm:ss", timezone = "Asia/Jakarta")
@Column(name = "modifiedTimeOrafin")
private Date finishFinalCheckTime; // Waktu finish Final Check WO
private String noWorkOrderOrafin;
@Temporal(TemporalType.TIMESTAMP)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date startWOTime; // Waktu Start Pekerjaan WO
private String noInvoiceOrafin; // No invoice dari Orafin #generated
private String noInvoiceReceipt; // No invoice dari Orafin API Receipt
private String noSAForm;
public WorkOrderOrafin() {
}
public WorkOrderOrafin(String noWorkOrder, String noNJB, Date tanggalNJB, Double totalHargaNJB, String noNSC, Date tanggalNSC, Double totalHargaNSC, String hondaIdSA, String hondaIdMekanik, String dealerID, Date createdTime, Date modifiedTime,
Date finishFinalCheckTime, String noWorkOrderOrafin, Date startWOTime, String noInvoiceOrafin, String noInvoiceReceipt, String noSAForm) {
this.noWorkOrder = noWorkOrder;
this.noNJB = noNJB;
this.tanggalNJB = tanggalNJB;
this.totalHargaNJB = totalHargaNJB;
this.noNSC = noNSC;
this.tanggalNSC = tanggalNSC;
this.totalHargaNSC = totalHargaNSC;
this.hondaIdSA = hondaIdSA;
this.hondaIdMekanik = hondaIdMekanik;
this.dealerId = dealerID;
this.createdTime = createdTime;
this.modifiedTime = modifiedTime;
this.finishFinalCheckTime = finishFinalCheckTime;
this.noWorkOrderOrafin = noWorkOrderOrafin;
this.startWOTime = startWOTime;
this.noInvoiceOrafin = noInvoiceOrafin;
this.noInvoiceReceipt = noInvoiceReceipt;
this.noSAForm = noSAForm;
}
public String getNoWorkOrder() {
return noWorkOrder;
}
public void setNoWorkOrder(String noWorkOrder) {
this.noWorkOrder = noWorkOrder;
}
public String getNoNJB() {
return noNJB;
}
public void setNoNJB(String noNJB) {
this.noNJB = noNJB;
}
public Date getTanggalNJB() {
return tanggalNJB;
}
public void setTanggalNJB(Date tanggalNJB) {
this.tanggalNJB = tanggalNJB;
}
public Double getTotalHargaNJB() {
return totalHargaNJB;
}
public void setTotalHargaNJB(Double totalHargaNJB) {
this.totalHargaNJB = totalHargaNJB;
}
public String getNoNSC() {
return noNSC;
}
public void setNoNSC(String noNSC) {
this.noNSC = noNSC;
}
public Date getTanggalNSC() {
return tanggalNSC;
}
public void setTanggalNSC(Date tanggalNSC) {
this.tanggalNSC = tanggalNSC;
}
public Double getTotalHargaNSC() {
return totalHargaNSC;
}
public void setTotalHargaNSC(Double totalHargaNSC) {
this.totalHargaNSC = totalHargaNSC;
}
public String getHondaIdSA() {
return hondaIdSA;
}
public void setHondaIdSA(String hondaIdSA) {
this.hondaIdSA = hondaIdSA;
}
public String getHondaIdMekanik() {
return hondaIdMekanik;
}
public void setHondaIdMekanik(String hondaIdMekanik) {
this.hondaIdMekanik = hondaIdMekanik;
}
public String getDealerId() {
return dealerId;
}
public void setDealerId(String dealerId) {
this.dealerId = dealerId;
}
public Date getCreatedTime() {
return createdTime;
}
public void setCreatedTime(Date createdTime) {
this.createdTime = createdTime;
}
public Date getModifiedTime() {
return modifiedTime;
}
public void setModifiedTime(Date modifiedTime) {
this.modifiedTime = modifiedTime;
}
public Date getFinishFinalCheckTime() {
return finishFinalCheckTime;
}
public void setFinishFinalCheckTime(Date finishFinalCheckTime) {
this.finishFinalCheckTime = finishFinalCheckTime;
}
public String getNoWorkOrderOrafin() {
return noWorkOrderOrafin;
}
public void setNoWorkOrderOrafin(String noWorkOrderOrafin) {
this.noWorkOrderOrafin = noWorkOrderOrafin;
}
public Date getStartWOTime() {
return startWOTime;
}
public void setStartWOTime(Date startWOTime) {
this.startWOTime = startWOTime;
}
public String getNoInvoiceOrafin() {
return noInvoiceOrafin;
}
public void setNoInvoiceOrafin(String noInvoiceOrafin) {
this.noInvoiceOrafin = noInvoiceOrafin;
}
public String getNoInvoiceReceipt() {
return noInvoiceReceipt;
}
public void setNoInvoiceReceipt(String noInvoiceReceipt) {
this.noInvoiceReceipt = noInvoiceReceipt;
}
public String getNoSAForm() {
return noSAForm;
}
public void setNoSAForm(String noSAForm) {
this.noSAForm = noSAForm;
}
@Override
public int hashCode() {
int hash = 7;
hash = 53 * hash + Objects.hashCode(this.noWorkOrder);
hash = 53 * hash + Objects.hashCode(this.noNJB);
hash = 53 * hash + Objects.hashCode(this.tanggalNJB);
hash = 53 * hash + Objects.hashCode(this.totalHargaNJB);
hash = 53 * hash + Objects.hashCode(this.noNSC);
hash = 53 * hash + Objects.hashCode(this.tanggalNSC);
hash = 53 * hash + Objects.hashCode(this.totalHargaNSC);
hash = 53 * hash + Objects.hashCode(this.hondaIdSA);
hash = 53 * hash + Objects.hashCode(this.hondaIdMekanik);
hash = 53 * hash + Objects.hashCode(this.dealerId);
hash = 53 * hash + Objects.hashCode(this.createdTime);
hash = 53 * hash + Objects.hashCode(this.modifiedTime);
hash = 53 * hash + Objects.hashCode(this.finishFinalCheckTime);
hash = 53 * hash + Objects.hashCode(this.noWorkOrderOrafin);
hash = 53 * hash + Objects.hashCode(this.startWOTime);
hash = 53 * hash + Objects.hashCode(this.noInvoiceOrafin);
hash = 53 * hash + Objects.hashCode(this.noInvoiceReceipt);
hash = 53 * hash + Objects.hashCode(this.noSAForm);
return hash;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final WorkOrderOrafin other = (WorkOrderOrafin) obj;
if (!Objects.equals(this.noWorkOrder, other.noWorkOrder)) {
return false;
}
if (!Objects.equals(this.noNJB, other.noNJB)) {
return false;
}
if (!Objects.equals(this.noNSC, other.noNSC)) {
return false;
}
if (!Objects.equals(this.hondaIdSA, other.hondaIdSA)) {
return false;
}
if (!Objects.equals(this.hondaIdMekanik, other.hondaIdMekanik)) {
return false;
}
if (!Objects.equals(this.dealerId, other.dealerId)) {
return false;
}
if (!Objects.equals(this.noWorkOrderOrafin, other.noWorkOrderOrafin)) {
return false;
}
if (!Objects.equals(this.noInvoiceOrafin, other.noInvoiceOrafin)) {
return false;
}
if (!Objects.equals(this.noInvoiceReceipt, other.noInvoiceReceipt)) {
return false;
}
if (!Objects.equals(this.noSAForm, other.noSAForm)) {
return false;
}
if (!Objects.equals(this.id, other.id)) {
return false;
}
if (!Objects.equals(this.tanggalNJB, other.tanggalNJB)) {
return false;
}
if (!Objects.equals(this.totalHargaNJB, other.totalHargaNJB)) {
return false;
}
if (!Objects.equals(this.tanggalNSC, other.tanggalNSC)) {
return false;
}
if (!Objects.equals(this.totalHargaNSC, other.totalHargaNSC)) {
return false;
}
if (!Objects.equals(this.createdTime, other.createdTime)) {
return false;
}
if (!Objects.equals(this.modifiedTime, other.modifiedTime)) {
return false;
}
if (!Objects.equals(this.finishFinalCheckTime, other.finishFinalCheckTime)) {
return false;
}
if (!Objects.equals(this.startWOTime, other.startWOTime)) {
return false;
}
return true;
}
@Override
public boolean sameIdentityAs(WorkOrderOrafin other) {
return this.equals(other);
}
}
package com.eksad.masterdata.repository;
import com.eksad.ddms.common.util.status.DataStatus;
import com.eksad.masterdata.common.GenericRepository;
import com.eksad.masterdata.domain.Payload;
import jakarta.transaction.Transactional;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
@Repository
@Transactional
public interface PayloadRepository extends GenericRepository<Payload> {
Payload findOneBySourceId(String sourceID);
List<Payload> findAllBySourceId(String sourceID);
Payload findOneBySourceIdAndPayloadStatus(String sourceID, DataStatus payloadStatus);
List<Payload> findAllByType(String type);
List<Payload> findAllByTypeAndPayloadStatus(String type, DataStatus payloadStatus);
List<Payload> findAll();
Page<Payload> findAll(Pageable pageable);
@Query(nativeQuery = true, value = "select * from trx_payload where event = :eventName "
+ "and eventdate = :evenDate "
+ "and (respayload ilike '%\"status\":0%' "
+ "or respayload is null);")
List<Payload> findAllByEventDateAndEventAndResPayloadContainsFailed(@Param("evenDate") Date evenDate,
@Param("eventName") String eventName);
}
package com.eksad.masterdata.repository;
import com.eksad.masterdata.common.GenericRepository;
import com.eksad.masterdata.domain.PaymentOrafin;
import jakarta.transaction.Transactional;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
@Transactional
public interface PaymentOrafinRepository extends GenericRepository<PaymentOrafin> {
List<PaymentOrafin> findAllByOrderByIdAsc();
PaymentOrafin findOneByWoID(String woID);
List<PaymentOrafin> findAllByWoID(String woID);
PaymentOrafin findOneByPaymentOrafinID(String paymentOrafinID);
}
package com.eksad.masterdata.repository;
import com.eksad.masterdata.common.GenericRepository;
import com.eksad.masterdata.domain.Sequence;
import jakarta.transaction.Transactional;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
@Transactional
public interface SequenceRepository extends GenericRepository<Sequence> {
Sequence findOneByDealerIDAndType(String dealerID, String type);
Sequence findOneByDealerIDAndTypeAndPosServiceID(String dealerID, String type, String posServiceID);
Sequence findOneByDealerIDAndTypeAndPosServiceIDIsNull(String dealerID, String type);
List<Sequence> findAllByDealerIDAndTypeOrderBySequenceDesc(String dealerID, String type);
}
package com.eksad.masterdata.repository;
import com.eksad.ddms.common.h2.dto.mappingcustomeraddress.MappingCustomerAddressDTO;
import com.eksad.ddms.common.h2.dto.workorder.SalesOrderWorkOrderAhassDTO;
import com.eksad.ddms.common.h2.dto.workorder.WorkOrderSparepartDTO;
import com.eksad.ddms.common.h2.dto.workorder.orafin.JasaOrafinDTO;
import com.eksad.ddms.masterdata.h2.domain.workorder.WorkorderQueue;
import com.eksad.masterdata.domain.workorder.WorkOrder;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
@Component
public interface WorkOrderRepo {
WorkOrder findOneWoByWoID(String WoID);
WorkOrder findOneWoByWoIDOptimis(String WoID);
void updateWorkOrderOnly(WorkOrder data) throws Exception;
MappingCustomerAddressDTO getCustomerAddressCode(String provName, String kabkotName, String kecName, String kelName);
List<WorkOrderSparepartDTO> findWoSparepartExcludeBOHotline(String woID);
WorkorderQueue findWoAndQueueWithDifferentStatus(String woid);
JasaOrafinDTO getJasaIDAndJasaName(String woid, String wsid, String packageCode);
List<SalesOrderWorkOrderAhassDTO> getSoWoWithoutHaveStockflow(String ahassCode, Date searchDate);
void updateWorkOrderOnlyV2(WorkOrder data) throws Exception;
}
package com.eksad.masterdata.service;
import com.eksad.ddms.common.dto.*;
import com.eksad.ddms.common.h2.dto.apigateway.request.PullNotaJBSCRequestDTO;
import com.eksad.ddms.common.h2.dto.apigateway.response.PullNotaJBSCResponseDTO;
import com.eksad.ddms.common.h2.dto.apigateway.response.ResponseAPIPushAHMDTO;
import com.eksad.ddms.common.h2.dto.apigateway.response.ResponsePullNJBNSCGetListDTO;
import com.eksad.ddms.common.h2.dto.hotline.WorkOrderSOHotlineDTO;
import com.eksad.ddms.common.h2.dto.orafin.workorder.WorkOrderOrafinDTO;
import com.eksad.ddms.common.h2.dto.payment.PaymentH2DTO;
import com.eksad.ddms.common.h2.dto.payment.RequestCompletePaymentWorkOrderDTO;
import com.eksad.ddms.common.h2.dto.workorder.WorkOrderDTO;
import com.eksad.ddms.common.h2.uri.hotline.PartWOHotlineURI;
import com.eksad.ddms.common.h2.uri.integrasi.IntegrasiURI;
import com.eksad.ddms.common.h2.uri.orafin.workorder.WorkOrderOrafinURI;
import com.eksad.ddms.common.h3.dto.pickslip.PickSlipDTO;
import com.eksad.ddms.common.h3.dto.pickslip.PickSlipDetailDTO;
import com.eksad.ddms.common.h3.dto.pickslip.ResponsePickSlipGetDTO;
import com.eksad.ddms.common.h3.dto.receipt.ReceiptSOTaskDTO;
import com.eksad.ddms.common.h3.dto.receipt.ReceiptSOTunaiChangeCommandDTO;
import com.eksad.ddms.common.h3.dto.receipt.ResponseReceiptSOTaskGetListDTO;
import com.eksad.ddms.common.h3.dto.salesorder.ResponseSalesOrderGetDTO;
import com.eksad.ddms.common.h3.dto.salesorder.ResponseSalesOrderGetListDTO;
import com.eksad.ddms.common.h3.dto.salesorder.SalesOrderDTO;
import com.eksad.ddms.common.h3.dto.salesorder.SalesOrderDetailDTO;
import com.eksad.ddms.common.h3.type.salesorder.SalesOrderStatus;
import com.eksad.ddms.common.h3.type.salesorder.SalesOrderType;
import com.eksad.ddms.common.type.*;
import com.eksad.ddms.common.uri.DealerURI;
import com.eksad.ddms.common.uri.SalesOrderURI;
import com.eksad.ddms.common.util.DateUtil;
import com.eksad.ddms.common.util.StringUtil;
import com.eksad.ddms.common.util.response.ResponseDTO;
import com.eksad.ddms.common.util.status.DataStatus;
import com.eksad.ddms.common.util.uri.pickslip.PickSlipURI;
import com.eksad.ddms.masterdata.h2.common.util.NumberwordsUtil;
import com.eksad.masterdata.common.RequestUtil;
import com.eksad.masterdata.common.WorkOrderAssembler;
import com.eksad.masterdata.domain.CreationalSpecification;
import com.eksad.masterdata.domain.Payload;
import com.eksad.masterdata.domain.PaymentOrafin;
import com.eksad.masterdata.domain.Sequence;
import com.eksad.masterdata.domain.workorder.WorkOrder;
import com.eksad.masterdata.domain.workorder.WorkOrderOrafin;
import com.eksad.masterdata.repository.PayloadRepository;
import com.eksad.masterdata.repository.PaymentOrafinRepository;
import com.eksad.masterdata.repository.SequenceRepository;
import com.eksad.masterdata.repository.WorkOrderRepository;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import jakarta.transaction.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.HttpStatusCodeException;
import org.springframework.web.client.RestTemplate;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Collectors;
@Service
@Transactional
public class WorkOrderOrafinHystrixService {
@Autowired
PullNJBNSCHystrixService pullNJBNSCHystrixService;
@Autowired
WorkOrderRepository workOrderRepository;
@Autowired
PaymentOrafinRepository paymentOrafinRepository;
@Autowired
SequenceRepository sequenceRepository;
@Autowired
PayloadRepository payloadRepository;
@Value("${dam.cust.purch.h3}")
private String cust_purch_url;
@Value("${dam.receipt.query.h3}")
private String receipt_query_url;
@Value("${dam.gigr.h3}")
private String gigr_url;
@Value("${dam.receipt.command.h3}")
private String receipt_command_url;
@Value("${dam.masterdata.h1}")
private String md_h1_url;
@Value("${dam.masterdata.h2}")
private String md_h2;
RestTemplate restTemplate = new RestTemplate();
@HystrixCommand(fallbackMethod = "defaultPostFallback")
public ResponseEntity<Object> postWorkOrderOrafin(WorkOrderOrafinDTO dto) throws JsonProcessingException {
Map<Integer, String> responseMap = null;
try {
WorkOrderOrafin orafin = getNjbNscPullByWoID(dto.getNoWorkOrder());
if (orafin != null && orafin.getNoWorkOrder() != null) {
String validateNotNull = validateNotNull(dto);
if (StringUtil.hasValue(validateNotNull)) {
return ResponseEntity.status(HttpStatus.ACCEPTED).body(getPushNjbNscResponse(validateNotNull, Boolean.FALSE));
}
String validateNoNscNjb = validateNjbNscHeader(dto, orafin);
if (StringUtil.hasValue(validateNoNscNjb)) {
return ResponseEntity.status(HttpStatus.ACCEPTED).body(getPushNjbNscResponse(validateNoNscNjb, Boolean.FALSE));
}
String prefix = orafin.getNoWorkOrder().substring(0, 2);
if (prefix.equalsIgnoreCase("SO")) {
SalesOrderDTO so = findSalesOrderByID(orafin.getNoWorkOrder());
if (so == null) {
return ResponseEntity.status(HttpStatus.ACCEPTED).body(getPushNjbNscResponse("No Salesorder tidak ditemukan.", Boolean.FALSE));
} else if (so.getSalesOrderLastKnownStatus().equals(SalesOrderStatus.COMPLETE) ||
so.getSalesOrderLastKnownStatus().equals(SalesOrderStatus.BO_COMPLETE)) {
return ResponseEntity.status(HttpStatus.ACCEPTED).body(getPushNjbNscResponse("Gagal. Pembayaran Invoice sudah dilakukan sebelumnya.", Boolean.FALSE));
} else if (so.getSalesOrderLastKnownStatus().equals(SalesOrderStatus.CANCEL)) {
return ResponseEntity.status(HttpStatus.ACCEPTED).body(getPushNjbNscResponse("Gagal. Salesorder telah dibatalkan.", Boolean.FALSE));
}
responseMap = updateTrx_Salesorder(orafin, so);
} else if (prefix.equalsIgnoreCase("WO") || prefix.equalsIgnoreCase("JR") || orafin.getNoWorkOrder().substring(0, 3).equalsIgnoreCase("VST")) {
WorkOrder wo = workOrderRepository.findOneByWoID(orafin.getNoWorkOrder());
if (wo == null) {
return ResponseEntity.status(HttpStatus.ACCEPTED).body(getPushNjbNscResponse("No Workorder tidak ditemukan.", Boolean.FALSE));
} else if (!wo.getWoLastKnownState().equals(WoState.PAYMENT)) {
if (wo.getWoLastKnownState().equals(WoState.COMPLETE)) {
return ResponseEntity.status(HttpStatus.ACCEPTED).body(getPushNjbNscResponse("Gagal. Pembayaran Invoice sudah dilakukan sebelumnya.", Boolean.FALSE));
}
return ResponseEntity.status(HttpStatus.ACCEPTED).body(getPushNjbNscResponse("Gagal. Workorder telah " + wo.getWoLastKnownState().toString() + ".", Boolean.FALSE));
}
/* Cek Sales order di WO */
if (StringUtil.hasValue(wo.getSoID())) {
DealerDTO dealer = findDealer(wo.getAhassID(), null);
if (!checkSOStatus(wo.getWoID(), dealer.getDealerCode())) {
return ResponseEntity.status(HttpStatus.ACCEPTED).body(getPushNjbNscResponse("Salesorder belum Complete.", Boolean.FALSE));
}
List<SalesOrderDTO> listSO = findSalesOrderByWoID(wo.getWoID(), dealer.getDealerCode());
List<ReceiptSOTaskDTO> receiptSOFromWO = new ArrayList<>();
String statusSo = updateStatusSOFromWO(wo.getWoID(), dealer.getDealerCode());
if (statusSo.equalsIgnoreCase("ERROR")) {
return ResponseEntity.status(HttpStatus.ACCEPTED).body(getPushNjbNscResponse("Terjadi kesalahan saat Complete Salesorder.", Boolean.FALSE));
}
}
responseMap = updateTrx_Wo(wo);
}
} else {
// Validasi Complete
if (pullNJBNSCHystrixService.checkIfTransactionsComplete(dto.getNoWorkOrder())) {
return ResponseEntity.status(HttpStatus.ACCEPTED).body(getPushNjbNscResponse("Pembayaran Invoice sudah dilakukan sebelumnya.", Boolean.FALSE));
}
return ResponseEntity.status(HttpStatus.ACCEPTED).body(getPushNjbNscResponse("No Workorder tidak ditemukan.", Boolean.FALSE));
}
savePayload(dto);
ResponseOrafinDTO msg = new ResponseOrafinDTO();
msg.setData(null);
Boolean successResponse = Boolean.FALSE;
if (responseMap.containsKey(0)) {
msg.setStatus(0);
msg.setMessage(new OrafinMessageDTO(responseMap.get(0)));
} else if (responseMap.containsKey(1)) {
msg.setStatus(1);
msg.setMessage(new OrafinMessageDTO(responseMap.get(1)));
successResponse = Boolean.TRUE;
}
return ResponseEntity.status(successResponse ? HttpStatus.FOUND : HttpStatus.ACCEPTED).body(msg);
} catch (Exception e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.ACCEPTED).body(new ResponseAPIPushAHMDTO("0", "Gagal. Terjadi kesalahan " + e.getMessage()));
}
}
private Map<Integer, String> updateTrx_Salesorder(WorkOrderOrafin orafin, SalesOrderDTO so) {
Map<Integer, String> response = new HashMap<>();
ReceiptSOTunaiChangeCommandDTO receiptTunai = null;
ReceiptSOTaskDTO receiptSO = null;
ReceiptSOTunaiDTO currentReceipt = null;
String msg = "Berhasil melakukan complete Salesorder.";
if (so.getSalesOrderLastKnownStatus().equals(SalesOrderStatus.PICKED) && so.getSalesOrderType().equals(SalesOrderType.BO)) {
receiptSO = getReceiptSoDP(orafin.getNoWorkOrder(), so.getAhassCode());
if (receiptSO == null) {
response.put(0, "Receipt tidak ditemukan.");
return response;
} else if (receiptSO.getReceiptType() == null) {
response.put(0, "Receipt belum melakukan Down Payment (DP).");
return response;
} else if (receiptSO.getReceiptStatus().equals(ReceiptStatus.COMPLETE)) {
response.put(0, "Gagal. Pelunasan Invoice sudah dilakukan sebelumnya.");
return response;
}
currentReceipt = getSalesOrderByReceiptID(receiptSO.getReceiptid());
if (currentReceipt.getReceiptID() == null) {
response.put(0, "Data Receipt tidak ditemukan.");
return response;
}
receiptTunai = initReceiptSOTunaiDP();
receiptTunai.setUpdatedBy("PUSH_NJB_NSC");
receiptTunai.setUpdatedDate(new Date());
receiptTunai.setAhassCode(so.getAhassCode());
receiptTunai.setReceiptStatus(ReceiptStatus.COMPLETE);
receiptTunai.setReceiptAmount(currentReceipt.getReceiptAmount());
receiptTunai.setReceiptID(currentReceipt.getReceiptID());
receiptTunai.setReceiptPaidAmount(currentReceipt.getReceiptAmount());
receiptTunai.setKembalian(0d);
receiptTunai.setVersion(currentReceipt.getVersion());
msg = "Berhasil melakukan complete Hotline order.";
} else {
receiptSO = getReceiptSo(orafin.getNoWorkOrder(), so.getAhassCode());
currentReceipt = getSalesOrderByReceiptID(receiptSO.getReceiptid());
PickSlipDTO ps = getPickslipBySoID(so.getSalesOrderID(), so.getAhassCode());
Map<String, Double> priceMap = getPriceMap(so.getSalesOrderDetailDTOs(), ps.getPickSlipDetailDTOs());
if (currentReceipt.getReceiptID() == null) {
response.put(0, "Data Receipt tidak ditemukan.");
return response;
}
receiptTunai = initReceiptSOTunai();
receiptTunai.setUpdatedBy("PUSH_NJB_NSC");
receiptTunai.setUpdatedDate(new Date());
receiptTunai.setAhassCode(so.getAhassCode());
receiptTunai.setReceiptStatus(ReceiptStatus.COMPLETE);
receiptTunai.setReceiptAmount(currentReceipt.getReceiptAmount());
receiptTunai.setReceiptID(currentReceipt.getReceiptID());
receiptTunai.setKembalian(0d);
receiptTunai.setVersion(currentReceipt.getVersion());
}
saveReceiptSOTunai(receiptTunai);
String code = completeSO(so.getSalesOrderID(), so.getAhassCode());
// if(code.equals("201")) {
response.put(1, msg); // Hard code karena balikan nya SOID
return response;
}
private WorkOrderOrafin getNjbNscPullByWoID(String woID) {
try {
WorkOrderOrafin data = null;
PullNotaJBSCRequestDTO request = new PullNotaJBSCRequestDTO();
request.setDealerId("");
request.setFromTime(PullNJBNSCHystrixService.getCurrentDate());
request.setToTime(PullNJBNSCHystrixService.getCurrentDate());
request.setNoWorkOrder(woID);
ResponseEntity<Object> resp = pullNJBNSCHystrixService.postRequestPullNJBNSCv2(request);
ResponsePullNJBNSCGetListDTO resData = new ObjectMapper().convertValue(resp.getBody(), ResponsePullNJBNSCGetListDTO.class);
if (resData.getStatus() == 1) {
data = convertPullNjbNscToWorkOrderOrafin(resData.getData().get(0));
}
return data;
} catch (Exception e) {
return null;
}
}
private WorkOrderOrafin convertPullNjbNscToWorkOrderOrafin(PullNotaJBSCResponseDTO dto) throws ParseException {
WorkOrderOrafin data = new WorkOrderOrafin();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
data.setNoWorkOrder(dto.getWoid());
data.setNoNJB(dto.getNoNJB());
data.setNoNSC(dto.getNoNSC());
data.setTotalHargaNJB(dto.getTotalharganjb().doubleValue());
data.setTotalHargaNSC(dto.getTotalhargansc().doubleValue());
data.setTanggalNJB(!StringUtil.hasValue(dto.getTanggalnjb()) ? null : sdf.parse(dto.getTanggalnjb()));
data.setTanggalNSC(!StringUtil.hasValue(dto.getTanggalnsc()) ? null : sdf.parse(dto.getTanggalnsc()));
data.setHondaIdSA(dto.getHondaidsa());
data.setHondaIdMekanik(dto.getHondaidmekanik());
data.setDealerId(dto.getDealerid());
data.setCreatedTime(dto.getCreatedtime());
data.setModifiedTime(dto.getModifiedtime());
return data;
}
private String validateNotNull(WorkOrderOrafinDTO dto) {
String prefix = dto.getNoWorkOrder().substring(0, 2);
if (!StringUtil.hasValue(dto.getDealerId())) {
return "Dealer Id tidak boleh kosong.";
}
if ((prefix.equals("WO") || prefix.equals("JR") || prefix.equals("VST")) && !StringUtil.hasValue(dto.getNoNJB())) {
return "No NJB tidak boleh kosong.";
}
if (prefix.equals("SO") && !StringUtil.hasValue(dto.getNoNSC())) {
return "No NSC tidak boleh kosong.";
}
if (StringUtil.hasValue(dto.getNoNJB()) && dto.getTotalHargaNJB() == null) {
return "Total harga NJB tidak boleh kosong.";
}
if (StringUtil.hasValue(dto.getNoNSC()) && dto.getTotalHargaNSC() == null) {
return "Total harga NSC tidak boleh kosong.";
}
if (StringUtil.hasValue(dto.getNoNJB()) && !StringUtil.hasValue(dto.getTanggalNJB())) {
return "Tanggal NJB tidak boleh kosong.";
}
if (StringUtil.hasValue(dto.getNoNSC()) && !StringUtil.hasValue(dto.getTanggalNSC())) {
return "Tanggal NSC tidak boleh kosong.";
}
if (dto.getCreatedTime() == null) {
return "Tanggal created time tidak boleh kosong.";
}
if (dto.getModifiedTime() == null) {
return "Tanggal modified time tidak boleh kosong.";
}
return "";
}
private ResponseOrafinDTO getPushNjbNscResponse(String message, Boolean success) {
ResponseOrafinDTO res = new ResponseOrafinDTO();
res.setMessage(new OrafinMessageDTO(message));
res.setStatus(success ? 1 : 0);
res.setData(null);
return res;
}
private String validateNjbNscHeader(WorkOrderOrafinDTO dto, WorkOrderOrafin data) {
// Validasi No NSC dan No NJB
String dtoNsc = dto.getNoNSC() == null ? "" : dto.getNoNSC();
String dtoNjb = dto.getNoNJB() == null ? "" : dto.getNoNJB();
String dataNsc = data.getNoNSC() == null ? "" : data.getNoNSC();
String dataNjb = data.getNoNJB() == null ? "" : data.getNoNJB();
// if(!Objects.equals(dtoNjb, dataNjb) && !Objects.equals(dtoNsc, dataNsc)){
// return "Data NJB dan NSC tidak ditemukan.";
// } else
if (!Objects.equals(dtoNjb, dataNjb)) {
return "Data NJB tidak ditemukan.";
} else if (!Objects.equals(dtoNsc, dataNsc)) {
return "Data NSC tidak ditemukan.";
}
// Validasi dealerid
if (!dto.getDealerId().equals(data.getDealerId())) {
return "DealerId tidak ditemukan.";
}
// Validasi Nominal NSC dan NJB
Double dtoTotalNSC = dto.getTotalHargaNSC() == null ? 0d : dto.getTotalHargaNSC();
Double dataTotalNSC = data.getTotalHargaNSC() == null ? 0d : data.getTotalHargaNSC();
Double dtoTotalNJB = dto.getTotalHargaNJB() == null ? 0d : dto.getTotalHargaNJB();
Double dataTotalNJB = data.getTotalHargaNJB() == null ? 0d : data.getTotalHargaNJB();
// if(!Objects.equals(dtoTotalNJB, dataTotalNJB) && !Objects.equals(dtoTotalNSC, dataTotalNSC)){
// return "Total Harga NJB dan NSC tidak valid.";
// } else
if (!Objects.equals(dtoTotalNJB, dataTotalNJB)) {
return "Total Harga NJB tidak valid.";
} else if (!Objects.equals(dtoTotalNSC, dataTotalNSC)) {
return "Total Harga NSC tidak valid.";
}
// Validasi Tanggal NJB dan NSC
Date dtoTglNjb = null;
Date dtoTglNsc = null;
try {
if (StringUtil.hasValue(dto.getTanggalNJB()))
dtoTglNjb = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse(dto.getTanggalNJB());
if (StringUtil.hasValue(dto.getTanggalNSC()))
dtoTglNsc = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse(dto.getTanggalNSC());
} catch (ParseException ex) {
Logger.getLogger(WorkOrderOrafinHystrixService.class.getName()).log(Level.SEVERE, null, ex);
}
if (!Objects.equals(data.getTanggalNJB(), dtoTglNjb)) {
return "Tanggal NJB tidak valid.";
} else if (!Objects.equals(data.getTanggalNSC(), dtoTglNsc)) {
return "Tanggal NSC tidak valid.";
}
// Validasi id SA dan Mekanik
String dtoIdSA = dto.getHondaIdSA() == null ? "" : dto.getHondaIdSA();
String dataIdSA = data.getHondaIdSA() == null ? "" : data.getHondaIdSA();
String dtoIdMek = dto.getHondaIdMekanik() == null ? "" : dto.getHondaIdMekanik();
String dataIdMek = data.getHondaIdMekanik() == null ? "" : data.getHondaIdMekanik();
if (!Objects.equals(dtoIdSA, dataIdSA)) {
return "Data Honda ID SA tidak valid.";
} else if (!Objects.equals(dtoIdMek, dataIdMek)) {
return "Data Honda ID Mekanik tidak valid.";
}
// Validasi data creational
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
String dataCreated = sdf.format(data.getCreatedTime());
String dataModified = sdf.format(data.getModifiedTime());
String dtoCreated = sdf.format(dto.getCreatedTime());
String dtoModified = sdf.format(dto.getModifiedTime());
if (!Objects.equals(dataCreated, dtoCreated)) {
return "Tanggal Created time tidak valid.";
} else if (!Objects.equals(dataModified, dtoModified)) {
return "Tanggal Modified time tidak valid.";
}
return "";
}
private SalesOrderDTO findSalesOrderByID(String salesOrderID) {
try {
if (StringUtil.hasValue(salesOrderID)) {
ResponseEntity<ResponseSalesOrderGetDTO> resp = restTemplate.exchange(
cust_purch_url +
SalesOrderURI.SALES_ORDER_GET_BY_ID.getUri(),
HttpMethod.GET,
RequestUtil.getPreFormattedRequestWithUserPassword(),
ResponseSalesOrderGetDTO.class, salesOrderID);
if (resp.getBody().getData() != null) {
return resp.getBody().getData();
}
}
} catch (Exception ex) {
Logger.getLogger(WorkOrderOrafinHystrixService.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
private ReceiptSOTaskDTO getReceiptSoDP(String soid, String ahassCode) {
if (StringUtil.hasValue(soid)) {
ResponseEntity<ResponseReceiptSOTaskGetListDTO> response = restTemplate.exchange(
receipt_query_url +
"api/receipt/so/task/query/getbyahasscodeandsoid/{ahassCode}/{soID}",
HttpMethod.GET,
RequestUtil.getPreFormattedRequestWithUserPassword(),
ResponseReceiptSOTaskGetListDTO.class,
ahassCode, soid);
if (response.getBody() != null) {
ReceiptSOTaskDTO data = response.getBody().getDatas().stream().filter(p -> p.getReceiptType().equals(ReceiptType.SO_SETTLEMENT)).findFirst().orElse(new ReceiptSOTaskDTO());
return data;
}
}
return null;
}
public ReceiptSOTunaiDTO getSalesOrderByReceiptID(String receiptID) {
if (StringUtil.hasValue(receiptID)) {
ResponseEntity<ReceiptSOTunaiDTO> data = restTemplate.exchange(
receipt_query_url +
"api/receipt/so/tunai/query/getByReceiptID/{receiptID}",
HttpMethod.GET,
RequestUtil.getPreFormattedRequestWithUserPassword(),
ReceiptSOTunaiDTO.class,
receiptID);
return data.getBody() == null ? new ReceiptSOTunaiDTO() : data.getBody();
}
return new ReceiptSOTunaiDTO();
}
private ReceiptSOTunaiChangeCommandDTO initReceiptSOTunaiDP() throws NumberFormatException {
ReceiptSOTunaiChangeCommandDTO receiptTunaiCreateDTO = new ReceiptSOTunaiChangeCommandDTO();
receiptTunaiCreateDTO.setRecordID(UUID.randomUUID().toString());
receiptTunaiCreateDTO.setReceiptID(UUID.randomUUID().toString().substring(0, 10));
receiptTunaiCreateDTO.setReceiptDocDate(new Date());
receiptTunaiCreateDTO.setReceiptType(ReceiptType.SO_SETTLEMENT);
receiptTunaiCreateDTO.setReceiptCategory(ReceiptCategory.TUNAI);
receiptTunaiCreateDTO.setReceiptKind(ReceiptKind.SETTLEMENT);
receiptTunaiCreateDTO.setReceiptStatus(ReceiptStatus.COMPLETE);
receiptTunaiCreateDTO.setPaymentType(PaymentType.CASH);
return receiptTunaiCreateDTO;
}
private ReceiptSOTaskDTO getReceiptSo(String soid, String ahassCode) {
if (StringUtil.hasValue(soid)) {
ResponseEntity<ResponseReceiptSOTaskGetListDTO> response = restTemplate.exchange(
receipt_query_url +
"api/receipt/so/task/query/getbyahasscodeandsoid/{ahassCode}/{soID}",
HttpMethod.GET,
RequestUtil.getPreFormattedRequestWithUserPassword(),
ResponseReceiptSOTaskGetListDTO.class,
ahassCode, soid);
if (response.getBody() != null) {
return response.getBody().getDatas().get(0);
}
}
return null;
}
private PickSlipDTO getPickslipBySoID(String soID, String ahassCode) {
PickSlipDTO ps = new PickSlipDTO();
if (soID != null && !soID.isEmpty()) {
ResponseEntity<ResponsePickSlipGetDTO> resp = restTemplate.exchange(
gigr_url +
PickSlipURI.PICKSLIP_GET_BY_SALESORDERID.getUri(),
HttpMethod.GET,
RequestUtil.getPreFormattedRequestWithUserPassword(),
ResponsePickSlipGetDTO.class, soID, ahassCode);
if (resp.getBody() != null) {
ps = resp.getBody().getData();
}
}
return ps;
}
private Map<String, Double> getPriceMap(List<SalesOrderDetailDTO> soD, List<PickSlipDetailDTO> psD) {
Map<String, Double> res = new HashMap<>();
Double totalSebelumDiskon = 0d;
Double diskon = 0d;
Double totalSesudahDiskon = 0d;
for (SalesOrderDetailDTO p : soD) {
PickSlipDetailDTO temp = psD.stream().filter(a -> a.getPartID().equals(p.getPartID())).findFirst().orElse(null);
Integer actualQty = temp == null ? 0 : temp.getActualQty();
totalSebelumDiskon = totalSebelumDiskon + p.getPrice() * actualQty;
diskon = diskon + p.getDiscount() * actualQty;
}
totalSesudahDiskon = totalSebelumDiskon - diskon;
res.put("totalSebelumDiskon", totalSebelumDiskon);
res.put("diskon", diskon);
res.put("totalSesudahDiskon", totalSesudahDiskon);
return res;
}
private ReceiptSOTunaiChangeCommandDTO initReceiptSOTunai() throws NumberFormatException {
ReceiptSOTunaiChangeCommandDTO receiptTunaiCreateDTO = new ReceiptSOTunaiChangeCommandDTO();
receiptTunaiCreateDTO.setRecordID(UUID.randomUUID().toString());
receiptTunaiCreateDTO.setReceiptID(UUID.randomUUID().toString().substring(0, 10));
receiptTunaiCreateDTO.setReceiptDocDate(new Date());
receiptTunaiCreateDTO.setReceiptType(ReceiptType.SO);
receiptTunaiCreateDTO.setReceiptCategory(ReceiptCategory.TUNAI);
receiptTunaiCreateDTO.setReceiptKind(ReceiptKind.DP);
receiptTunaiCreateDTO.setReceiptStatus(ReceiptStatus.COMPLETE);
receiptTunaiCreateDTO.setPaymentType(PaymentType.CASH);
return receiptTunaiCreateDTO;
}
private void saveReceiptSOTunai(ReceiptSOTunaiChangeCommandDTO receiptTunaiCreateDTO) {
try {
ResponseEntity<ResponseDTO> response = restTemplate.exchange(
receipt_command_url +
"api/receiptsotunai/command/updateCriteriaReceipt",
HttpMethod.PUT,
new HttpEntity<>(receiptTunaiCreateDTO, RequestUtil.getPreFormattedRequestWithUserPassword().getHeaders()),
ResponseDTO.class);
} catch (Exception e) {
e.printStackTrace();
}
}
private String completeSO(String soNumber, String ahassCode) {
String code = "";
try {
ResponseEntity<String> response = restTemplate.exchange(
cust_purch_url +
SalesOrderURI.SOCOMPLETE.getUri(),
HttpMethod.PUT,
RequestUtil.getPreFormattedRequestWithUserPassword(),
String.class, soNumber, ahassCode);
code = response.getBody();
} catch (Exception e) {
e.printStackTrace();
}
return code;
}
private DealerDTO findDealer(String ahassID, String dealerCode) {
if (StringUtil.hasValue(ahassID)) {
ResponseEntity<DealerDTO> response = restTemplate.exchange(
md_h1_url +
DealerURI.DEALER_GET_BY_AHASS_ID.getUri(),
HttpMethod.GET,
RequestUtil.getPreFormattedRequestWithUserPassword(),
DealerDTO.class,
ahassID);
return response.getBody() == null ? new DealerDTO() : response.getBody();
} else if (StringUtil.hasValue(dealerCode)) {
ResponseEntity<DealerDTO> response = restTemplate.exchange(
md_h1_url +
DealerURI.DEALER_GET_BY_ID.getUri(),
HttpMethod.GET,
RequestUtil.getPreFormattedRequestWithUserPassword(),
DealerDTO.class,
dealerCode);
return response.getBody() == null ? new DealerDTO() : response.getBody();
}
return new DealerDTO();
}
private Boolean checkSOStatus(String woID, String dealerCode) {
final List<SalesOrderStatus> validasiStatus = Arrays.asList(SalesOrderStatus.COMPLETE, SalesOrderStatus.BO_COMPLETE, SalesOrderStatus.CANCEL, SalesOrderStatus.PICKED);
Boolean excludeHOValid = Boolean.TRUE;
Boolean localPurchaseValid = Boolean.TRUE;
//EXCLUDE YANG HO DULU
List<SalesOrderDTO> listSalesOrderDTO = findSalesOrderByWoID(woID, dealerCode);
List<WorkOrderSOHotlineDTO> listSOHotline = getSOHotlineMap(woID);
List<SalesOrderDTO> listSOExclHo = new ArrayList<>();
listSOHotline = listSOHotline.stream().filter(p -> p.getHotlineFlag()).collect(Collectors.toList());
if (listSalesOrderDTO != null && !listSalesOrderDTO.isEmpty()) {
if (listSOHotline != null && !listSOHotline.isEmpty()) {
for (WorkOrderSOHotlineDTO s : listSOHotline) {
listSOExclHo = listSalesOrderDTO.stream().filter(p -> !p.getSalesOrderID().equals(s.getSoID())).collect(Collectors.toList());
}
} else {
listSOExclHo = listSalesOrderDTO;
}
if (!listSOExclHo.isEmpty()) {
Optional<SalesOrderDTO> unallowedSO = listSOExclHo.stream().filter(p -> !validasiStatus.contains(p.getSalesOrderLastKnownStatus())).findFirst();
if (unallowedSO.isPresent()) {
excludeHOValid = Boolean.FALSE;
return Boolean.FALSE;
}
}
}
if (excludeHOValid && localPurchaseValid) {
return true;
} else {
return false;
}
}
private List<SalesOrderDTO> findSalesOrderByWoID(String woID, String dealerCode) {
try {
if (StringUtil.hasValue(woID)) {
ResponseEntity<ResponseSalesOrderGetListDTO> resp = restTemplate.exchange(
cust_purch_url +
IntegrasiURI.GET_SO_BY_WO_AND_AHASSCODE.getUri(),
HttpMethod.GET,
RequestUtil.getPreFormattedRequestWithUserPassword(),
ResponseSalesOrderGetListDTO.class, woID, dealerCode);
if (resp.getBody().getDatas() != null) {
return resp.getBody().getDatas();
}
}
} catch (Exception ex) {
Logger.getLogger(WorkOrderOrafinHystrixService.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
private List<WorkOrderSOHotlineDTO> getSOHotlineMap(String woID) {
ResponseEntity<WorkOrderSOHotlineDTO[]> response = restTemplate.exchange(
cust_purch_url +
PartWOHotlineURI.GET_SO_HOTLINE_BY_WOID.getUri(),
HttpMethod.GET,
RequestUtil.getPreFormattedRequestWithUserPassword(),
WorkOrderSOHotlineDTO[].class,
woID);
if (response.getBody() != null) {
return Arrays.asList(response.getBody());
}
return new ArrayList<>();
}
private String updateStatusSOFromWO(String woID, String ahassCode) {
String status = "";
try {
ResponseEntity<String> response = restTemplate.exchange(
cust_purch_url +
IntegrasiURI.UPDATE_COMPLETE_SO_BY_WO.getUri(),
HttpMethod.PUT,
RequestUtil.getPreFormattedRequestWithUserPassword(),
String.class,
woID,
ahassCode);
System.out.println("Berhasil Update SO. Body = " + response.getBody());
status = response.getBody() == null ? "ERROR" : response.getBody();
} catch (HttpStatusCodeException ex) {
ex.printStackTrace();
status = "ERROR " + ex.getMessage();
}
return status;
}
private Map<Integer, String> updateTrx_Wo(WorkOrder wo) {
Map<Integer, String> response = new HashMap<>();
RequestCompletePaymentWorkOrderDTO requestComplete = new RequestCompletePaymentWorkOrderDTO();
PaymentH2DTO createPayment = initPayment(wo);
WorkOrderDTO woDTO = new WorkOrderAssembler().toDTO(wo);
woDTO.setWoLastKnownState(WoState.COMPLETE);
woDTO.setWoLastKnownStatus(WoStatus.COMPLETE);
woDTO.getWoCreationalDTO().setModifiedAt(new Date());
woDTO.getWoCreationalDTO().setModifiedBy("PUSH_NJB_NSC");
requestComplete.setIsPaymentComplete(Boolean.FALSE);
requestComplete.setPaymentDTO(createPayment);
requestComplete.setWorkOrderDTO(woDTO);
String code = completeWo(requestComplete);
if (code.equals("201")) {
response.put(1, "Berhasil melakukan complete Workorder.");
return response;
} else {
response.put(0, "Terjadi kegagalan saat complete Workorder.");
return response;
}
}
private PaymentH2DTO initPayment(WorkOrder wo) {
Double totalHargaJasa = wo.getListJasa().stream().mapToDouble(mapper -> mapper.getTotal()).sum();
Double totalHargaPart = wo.getListPart().stream().mapToDouble(mapper -> mapper.getTotal()).sum();
Double totalBayar = totalHargaJasa + totalHargaPart;
PaymentH2DTO insertPayment = new PaymentH2DTO();
insertPayment.setPaymentID(UUID.randomUUID().toString().substring(0, 8).toUpperCase());
insertPayment.setWoID(wo.getWoID());
insertPayment.setPaymentMethod(PaymentType.CASH.getLabel());
insertPayment.setPaymentStatus(PaymentStatus.PAID);
insertPayment.setVoucherCode(null);
insertPayment.setJumlahPembayaran(totalBayar);
insertPayment.setNoTransfer(null);
insertPayment.setNokartuKredit(null);
insertPayment.setTerbilang(new NumberwordsUtil().convert(totalBayar).toUpperCase());
insertPayment.setPaymentDate(new Date());
insertPayment.setDateReport(DateUtil.dateToString(insertPayment.getPaymentDate(), "dd MMMM yyyy"));
insertPayment.setAngka(null);
insertPayment.setPresentase(null);
insertPayment.setTotalBayar(totalBayar);
insertPayment.setJumlahDiskon(null);
insertPayment.setNoKwitansi(generateNoKwitansi(wo.getWoID()).getNoKwitansi());
insertPayment.setPaymentCreationalDTO(new CreationalSpecificationDTO(new Date(), "ORAFIN", null, null));
return insertPayment;
}
public PaymentOrafin generateNoKwitansi(String WOID) {
try {
PaymentOrafin pyoData = paymentOrafinRepository.findOneByWoID(WOID);
String delimiter[] = WOID.split("-");
String ahassID = delimiter[1];
String type = "KWT";
long seqNumber = 0L;
Sequence seq = null;
List<Sequence> datas = sequenceRepository.findAllByDealerIDAndTypeOrderBySequenceDesc(ahassID, type);
if (datas.size() > 0) {
seq = datas.get(0);
}
if (seq == null) {
seqNumber = 1L;
seq = new Sequence();
seq.setDealerID(ahassID);
seq.setType(type);
seq.setSequence(seqNumber);
} else {
seqNumber = seq.getSequence() == null ? 1L : seq.getSequence() + 1;
seq.setSequence(seqNumber);
}
if (pyoData == null) {
pyoData = new PaymentOrafin();
pyoData.setNoKwitansi(ahassID + "-" + String.format("%08d", seqNumber));
pyoData.setWoID(WOID);
pyoData.setPaymentOrafinID(UUID.randomUUID().toString().toUpperCase().replace("-", ""));
pyoData.setKwitansiDate(new Date());
CreationalSpecification auditTrailData = new CreationalSpecification();
auditTrailData.setCreatedAt(new Date());
auditTrailData.setCreatedBy("SYSTEM");
auditTrailData.setModifiedAt(new Date());
auditTrailData.setModifiedBy("SYSTEM");
pyoData.setPaymentOrafinCreational(auditTrailData);
sequenceRepository.save(seq);
paymentOrafinRepository.save(pyoData);
}
System.out.println("saveSequenceNoKwitansi save = " + new ObjectMapper().writeValueAsString(seq));
return pyoData;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
private void savePayload(WorkOrderOrafinDTO dto) {
try {
Payload payload = new Payload();
payload.setSourceId(dto.getNoWorkOrder());
payload.setSourceType(SourceType.ORAFIN);
payload.setEvent("POST_ORAFIN_RECEIPT");
payload.setEventDate(new Date());
payload.setPayloadStatus(DataStatus.ACTIVE);
payload.setType("WO");
payload.setReqPayload(new ObjectMapper().writeValueAsString(dto));
payload.setResPayload(new ObjectMapper().writeValueAsString(null));
payload.setPayloadCreational(new CreationalSpecification(new Date(), "ADMIN", null, null));
payload.setUrl(md_h2 + WorkOrderOrafinURI.POST_WO_ORAFIN);
payloadRepository.save(payload);
} catch (Exception e) {
}
}
private String completeWo(RequestCompletePaymentWorkOrderDTO request) {
// ResponseEntity<ResponseDTO> res = workOrderHystrixService.completeWorkOrder(request);
// try {
// Logger.getLogger(WorkOrderOrafinHystrixService.class.getName()).log(Level.INFO, "Response Complete Workorder Push NJBNSC= {0}", new ObjectMapper().writeValueAsString(res));
// } catch (JsonProcessingException ex) {
// Logger.getLogger(WorkOrderOrafinHystrixService.class.getName()).log(Level.SEVERE, null, ex);
// }
// return res.getBody().getCode();
return "";
}
}
...@@ -37,3 +37,7 @@ kafka.topic.name=pipeline-topic ...@@ -37,3 +37,7 @@ kafka.topic.name=pipeline-topic
dam.cust.purch.h3 = ${DAM_CUST_PURCH_H3:https://api-uat-b.eksad.com/cust-purch/} dam.cust.purch.h3 = ${DAM_CUST_PURCH_H3:https://api-uat-b.eksad.com/cust-purch/}
dam.masterdata.h1 = ${DAM_MASTERDATA_H1:http://api-cbr.daya-dms.id/masterdata/} dam.masterdata.h1 = ${DAM_MASTERDATA_H1:http://api-cbr.daya-dms.id/masterdata/}
dam.ppn.query.url = ${PPN_QUERY_URL:http://api-cbr.daya-dms.id/ddms-h1-ppn/v1/qry/master/ppn/getActivePpn} dam.ppn.query.url = ${PPN_QUERY_URL:http://api-cbr.daya-dms.id/ddms-h1-ppn/v1/qry/master/ppn/getActivePpn}
dam.receipt.query.h3 = ${DAM_RECEIPT_QUERY_H3:https://api-uat-b.eksad.com/receipt-query/}
dam.gigr.h3 = ${DAM_GIGR_H3:https://api-uat-b.eksad.com/gigr-h3/}
dam.receipt.command.h3 = ${DAM_RECEIPT_COMMAND_H3:https://api-uat-b.eksad.com/receipt-command/}
dam.masterdata.h2 = ${DAM_MASTERDATA_H2:https://api-uat-b.eksad.com/masterdata-h2/}
\ No newline at end of file
...@@ -35,3 +35,9 @@ spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.S ...@@ -35,3 +35,9 @@ spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.S
kafka.topic.name=pipeline-topic kafka.topic.name=pipeline-topic
dam.cust.purch.h3 = ${DAM_CUST_PURCH_H3:https://api-uat-b.eksad.com/cust-purch/} dam.cust.purch.h3 = ${DAM_CUST_PURCH_H3:https://api-uat-b.eksad.com/cust-purch/}
dam.masterdata.h1 = ${DAM_MASTERDATA_H1:http://api-cbr.daya-dms.id/masterdata/}
dam.ppn.query.url = ${PPN_QUERY_URL:http://api-cbr.daya-dms.id/ddms-h1-ppn/v1/qry/master/ppn/getActivePpn}
dam.receipt.query.h3 = ${DAM_RECEIPT_QUERY_H3:https://api-uat-b.eksad.com/receipt-query/}
dam.gigr.h3 = ${DAM_GIGR_H3:https://api-uat-b.eksad.com/gigr-h3/}
dam.receipt.command.h3 = ${DAM_RECEIPT_COMMAND_H3:https://api-uat-b.eksad.com/receipt-command/}
dam.masterdata.h2 = ${DAM_MASTERDATA_H2:https://api-uat-b.eksad.com/masterdata-h2/}
\ No newline at end of file
server.port=8081 server.port=8081
dam.cust.purch.h3 = ${DAM_CUST_PURCH_H3:https://api-uat-b.eksad.com/cust-purch/}
dam.masterdata.h1 = ${DAM_MASTERDATA_H1:http://api-cbr.daya-dms.id/masterdata/}
dam.ppn.query.url = ${PPN_QUERY_URL:http://api-cbr.daya-dms.id/ddms-h1-ppn/v1/qry/master/ppn/getActivePpn}
spring.datasource.url = jdbc:postgresql://localhost:5432/postgres spring.datasource.url = jdbc:postgresql://localhost:5432/postgres
spring.datasource.username = postgres spring.datasource.username = postgres
spring.datasource.password = password.1 spring.datasource.password = password.1
......
com\eksad\masterdata\domain\WorkOrderService.class
com\eksad\masterdata\repository\APIPullNjbNscRepository$2.class com\eksad\masterdata\repository\APIPullNjbNscRepository$2.class
com\eksad\masterdata\repository\WorkOrderRepository.class com\eksad\masterdata\repository\WorkOrderRepository.class
com\eksad\masterdata\domain\MstWo.class com\eksad\masterdata\domain\MstWo.class
com\eksad\masterdata\domain\ComplaintWorkOrder.class
com\eksad\masterdata\model\Role.class com\eksad\masterdata\model\Role.class
com\eksad\masterdata\domain\APIPullNjbNscDetail.class com\eksad\masterdata\domain\APIPullNjbNscDetail.class
com\eksad\masterdata\common\LogResponseDTO.class com\eksad\masterdata\common\LogResponseDTO.class
com\eksad\masterdata\common\WorkOrderServiceAssembler.class
com\eksad\masterdata\WebApplication.class
com\eksad\masterdata\event\KafkaEvent.class
com\eksad\masterdata\common\PromoWorkOrderAssembler.class
com\eksad\masterdata\common\CustomRestTemplate.class
com\eksad\masterdata\repository\APIPullNjbNscRepository.class
com\eksad\masterdata\domain\workorder\WorkOrderSparepart.class
com\eksad\masterdata\repository\APIPullNjbNscRepository$1.class
com\eksad\masterdata\common\Constants$Login.class
com\eksad\masterdata\repository\WorkOrderRepo.class
com\eksad\masterdata\controller\SampleMasterdataWoController.class
com\eksad\masterdata\common\LogOpsUtil.class
com\eksad\masterdata\domain\TrxBizpar.class
com\eksad\masterdata\domain\workorder\WorkOrder.class
com\eksad\masterdata\common\Constants.class
com\eksad\masterdata\domain\Sequence.class
com\eksad\masterdata\common\WorkOrderAssembler.class
com\eksad\masterdata\common\ComplaintWorkOrderAssembler.class
com\eksad\masterdata\domain\workorder\PromoWorkOrder.class
com\eksad\masterdata\domain\workorder\WorkOrderService.class
com\eksad\masterdata\common\CreationalSpecificationDTOAssembler.class
com\eksad\masterdata\domain\workorder\ComplaintWorkOrder.class
com\eksad\masterdata\repository\APIPullNjbNscRepository$4.class com\eksad\masterdata\repository\APIPullNjbNscRepository$4.class
com\eksad\masterdata\domain\CreationalSpecification.class com\eksad\masterdata\domain\CreationalSpecification.class
com\eksad\masterdata\domain\PromoWorkOrderDetail.class com\eksad\masterdata\controller\WorkOrderOrafinRESTController.class
com\eksad\masterdata\WebApplication.class com\eksad\masterdata\domain\PaymentOrafin.class
com\eksad\masterdata\service\UserDetailsServiceImp.class com\eksad\masterdata\service\UserDetailsServiceImp.class
com\eksad\masterdata\event\KafkaEvent.class
com\eksad\masterdata\common\LogOpsDTO.class com\eksad\masterdata\common\LogOpsDTO.class
com\eksad\masterdata\domain\Payload.class
com\eksad\masterdata\common\WorkOrderSparepartAssembler.class
com\eksad\masterdata\service\ProcessHelperService.class com\eksad\masterdata\service\ProcessHelperService.class
com\eksad\masterdata\common\CustomRestTemplate.class
com\eksad\masterdata\common\CreationalSpecificationBuilder.class com\eksad\masterdata\common\CreationalSpecificationBuilder.class
com\eksad\masterdata\service\WOService.class com\eksad\masterdata\service\WOService.class
com\eksad\masterdata\repository\APIPullNjbNscRepository.class com\eksad\masterdata\common\PromoWorkOrderDetailAssembler.class
com\eksad\masterdata\domain\workorder\PromoWorkOrderDetail.class
com\eksad\masterdata\model\User.class com\eksad\masterdata\model\User.class
com\eksad\masterdata\common\ResponseStatus.class com\eksad\masterdata\common\ResponseStatus.class
com\eksad\masterdata\repository\APIPullNjbNscRepository$1.class com\eksad\masterdata\service\WorkOrderOrafinHystrixService.class
com\eksad\masterdata\common\Constants$Login.class
com\eksad\masterdata\repository\APIPullNjbNscRepository$3.class com\eksad\masterdata\repository\APIPullNjbNscRepository$3.class
com\eksad\masterdata\common\RequestUtil.class com\eksad\masterdata\common\RequestUtil.class
com\eksad\masterdata\domain\PromoWorkOrder.class com\eksad\masterdata\domain\workorder\WorkOrderOrafin.class
com\eksad\masterdata\domain\WorkOrderSparepart.class
com\eksad\masterdata\controller\SampleMasterdataWoController.class
com\eksad\masterdata\common\LogOpsUtil.class
com\eksad\masterdata\domain\WorkOrder.class
com\eksad\masterdata\repository\BizparRepository.class com\eksad\masterdata\repository\BizparRepository.class
com\eksad\masterdata\domain\APIPullNjbNscHeader.class com\eksad\masterdata\domain\APIPullNjbNscHeader.class
com\eksad\masterdata\domain\TrxBizpar.class
com\eksad\masterdata\common\GenericRepository.class com\eksad\masterdata\common\GenericRepository.class
com\eksad\masterdata\common\ProjectType.class com\eksad\masterdata\common\ProjectType.class
com\eksad\masterdata\config\SecurityConfig.class com\eksad\masterdata\config\SecurityConfig.class
com\eksad\masterdata\repository\PaymentOrafinRepository.class
com\eksad\masterdata\repository\SequenceRepository.class
com\eksad\masterdata\service\PullNJBNSCHystrixService.class com\eksad\masterdata\service\PullNJBNSCHystrixService.class
com\eksad\masterdata\common\GenericResponseDTO.class com\eksad\masterdata\common\GenericResponseDTO.class
com\eksad\masterdata\repository\WoRepository.class com\eksad\masterdata\repository\WoRepository.class
com\eksad\masterdata\common\Constants.class
com\eksad\masterdata\common\DateUtils.class com\eksad\masterdata\common\DateUtils.class
com\eksad\masterdata\controller\APIGatewayH23RESTController.class com\eksad\masterdata\controller\APIGatewayH23RESTController.class
com\eksad\masterdata\config\JwtAuthenticationFilter.class com\eksad\masterdata\config\JwtAuthenticationFilter.class
com\eksad\masterdata\repository\PayloadRepository.class
com\eksad\masterdata\service\KafkaProducerService.class com\eksad\masterdata\service\KafkaProducerService.class
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\ComplaintWorkOrderAssembler.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\Constants.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\Constants.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\CreationalSpecificationBuilder.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\CreationalSpecificationBuilder.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\CreationalSpecificationDTOAssembler.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\CustomRestTemplate.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\CustomRestTemplate.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\DateUtils.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\DateUtils.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\GenericRepository.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\GenericRepository.java
...@@ -8,33 +10,48 @@ C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\jav ...@@ -8,33 +10,48 @@ C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\jav
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\LogOpsUtil.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\LogOpsUtil.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\LogResponseDTO.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\LogResponseDTO.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\ProjectType.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\ProjectType.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\PromoWorkOrderAssembler.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\PromoWorkOrderDetailAssembler.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\RequestUtil.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\RequestUtil.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\ResponseStatus.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\ResponseStatus.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\WorkOrderAssembler.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\WorkOrderServiceAssembler.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\common\WorkOrderSparepartAssembler.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\config\JwtAuthenticationFilter.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\config\JwtAuthenticationFilter.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\config\SecurityConfig.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\config\SecurityConfig.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\controller\APIGatewayH23RESTController.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\controller\APIGatewayH23RESTController.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\controller\SampleMasterdataWoController.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\controller\SampleMasterdataWoController.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\controller\WorkOrderOrafinRESTController.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\APIPullNjbNscDetail.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\APIPullNjbNscDetail.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\APIPullNjbNscHeader.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\APIPullNjbNscHeader.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\ComplaintWorkOrder.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\CreationalSpecification.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\CreationalSpecification.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\MstWo.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\MstWo.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\PromoWorkOrder.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\Payload.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\PromoWorkOrderDetail.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\PaymentOrafin.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\Sequence.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\TrxBizpar.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\TrxBizpar.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\WorkOrder.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\workorder\ComplaintWorkOrder.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\WorkOrderService.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\workorder\PromoWorkOrder.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\WorkOrderSparepart.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\workorder\PromoWorkOrderDetail.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\workorder\WorkOrder.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\workorder\WorkOrderOrafin.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\workorder\WorkOrderService.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\domain\workorder\WorkOrderSparepart.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\event\KafkaEvent.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\event\KafkaEvent.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\model\Role.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\model\Role.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\model\User.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\model\User.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\repository\APIPullNjbNscRepository.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\repository\APIPullNjbNscRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\repository\BizparRepository.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\repository\BizparRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\repository\PayloadRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\repository\PaymentOrafinRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\repository\SequenceRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\repository\WoRepository.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\repository\WoRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\repository\WorkOrderRepo.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\repository\WorkOrderRepository.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\repository\WorkOrderRepository.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\service\KafkaProducerService.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\service\KafkaProducerService.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\service\ProcessHelperService.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\service\ProcessHelperService.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\service\PullNJBNSCHystrixService.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\service\PullNJBNSCHystrixService.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\service\UserDetailsServiceImp.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\service\UserDetailsServiceImp.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\service\WorkOrderOrafinHystrixService.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\service\WOService.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\service\WOService.java
C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\WebApplication.java C:\Users\eksad\Documents\kantor\DDMS SLAVE\ddms-h2-masterdata-slave\src\main\java\com\eksad\masterdata\WebApplication.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