Commit a2191649 authored by Arie Valdano's avatar Arie Valdano

Merge branch 'DEV/Akbar/master-h3-slave' into 'master'

Dev/akbar/master h3 slave

See merge request !1
parents 49bdff81 5288becb
*.class
*/target/**
*.swp
application.properties
/target/
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="dataSourceStorageLocal" created-in="IU-211.7628.21" />
</project>
\ No newline at end of file
<component name="libraryTable">
<library name="ddms-cust-purch-domain-1.0-SNAPSHOT">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/eksad/ddms/ddms-cust-purch-domain/1.0-SNAPSHOT/ddms-cust-purch-domain-1.0-SNAPSHOT.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
\ No newline at end of file
<component name="libraryTable">
<library name="ddms-cust-purch-dto-1.0-SNAPSHOT">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/eksad/ddms/ddms-cust-purch-dto/1.0-SNAPSHOT/ddms-cust-purch-dto-1.0-SNAPSHOT.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
\ No newline at end of file
...@@ -19,5 +19,5 @@ ...@@ -19,5 +19,5 @@
</profile-state> </profile-state>
</entry> </entry>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="temurin-17" project-jdk-type="JavaSDK" /> <component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="17" project-jdk-type="JavaSDK" />
</project> </project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>
\ No newline at end of file
...@@ -80,6 +80,46 @@ ...@@ -80,6 +80,46 @@
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version> <version>3.8.1</version>
</dependency> </dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
</dependency>
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-javanica</artifactId>
<version>1.5.12</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.eksad.ddms</groupId>
<artifactId>ddms-common</artifactId>
<version>1.0-SNAPSHOT</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.eksad.ddms</groupId>
<artifactId>ddms-common-util</artifactId>
<version>1.0-SNAPSHOT</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.eksad.ddms</groupId>
<artifactId>ddms-cust-purch-domain</artifactId>
<version>1.0-SNAPSHOT</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.eksad.ddms</groupId>
<artifactId>ddms-cust-purch-dto</artifactId>
<version>1.0-SNAPSHOT</version>
<type>jar</type>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
package com.eksad.masterdata.common;
import com.eksad.masterdata.domain.CreationalSpecification;
import java.util.Date;
public class CreationalSpecificationBuilder {
private Date createdAt;
private String createdBy;
private Date modifiedAt;
private String modifiedBy;
public CreationalSpecificationBuilder() {
}
public CreationalSpecificationBuilder setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
return this;
}
public CreationalSpecificationBuilder setCreatedBy(String createdBy) {
this.createdBy = createdBy;
return this;
}
public CreationalSpecificationBuilder setModifiedAt(Date modifiedAt) {
this.modifiedAt = modifiedAt;
return this;
}
public CreationalSpecificationBuilder setModifiedBy(String modifiedBy) {
this.modifiedBy = modifiedBy;
return this;
}
public CreationalSpecification createCreationalSpecification() {
return new CreationalSpecification(createdAt, createdBy, modifiedAt, modifiedBy);
}
}
package com.eksad.masterdata.common;
import com.eksad.ddms.common.util.response.ResponseDTO;
import com.eksad.masterdata.common.dto.SalesOrderDTO;
import java.beans.ConstructorProperties;
public class ResponseSalesOrderGetDTO {
ResponseDTO response;
private SalesOrderDTO data;
public ResponseDTO getResponse() {
return this.response;
}
public SalesOrderDTO getData() {
return this.data;
}
public void setResponse(ResponseDTO response) {
this.response = response;
}
public void setData(SalesOrderDTO data) {
this.data = data;
}
public ResponseSalesOrderGetDTO() {
}
@ConstructorProperties({"response", "data"})
public ResponseSalesOrderGetDTO(ResponseDTO response, SalesOrderDTO data) {
this.response = response;
this.data = data;
}
}
package com.eksad.masterdata.common.dto;
import com.eksad.ddms.common.util.status.DataStatus;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ConfigurationDTO {
private String ahassId;
private String key;
private String value;
private String label;
private String description;
private DataStatus dataStatus;
}
package com.eksad.masterdata.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.io.Serializable;
import java.util.Date;
public class CreationalSpecificationDTO implements Serializable {
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date createdAt;
private String createdBy;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date modifiedAt;
private String modifiedBy;
public CreationalSpecificationDTO() {
}
public CreationalSpecificationDTO(Date createdAt, String createdBy, Date modifiedAt, String modifiedBy) {
this.createdAt = createdAt;
this.createdBy = createdBy;
this.modifiedAt = modifiedAt;
this.modifiedBy = modifiedBy;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public String getCreatedBy() {
return createdBy;
}
public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
}
public Date getModifiedAt() {
return modifiedAt;
}
public void setModifiedAt(Date modifiedAt) {
this.modifiedAt = modifiedAt;
}
public String getModifiedBy() {
return modifiedBy;
}
public void setModifiedBy(String modifiedBy) {
this.modifiedBy = modifiedBy;
}
@JsonIgnore
public CreationalSpecificationDTO getInstance() {
CreationalSpecificationDTO creationalSpecificationDTO = new CreationalSpecificationDTO();
creationalSpecificationDTO.setCreatedAt(new Date());
creationalSpecificationDTO.setCreatedBy("SYSTEM");
return creationalSpecificationDTO;
}
}
package com.eksad.masterdata.common.dto;
import com.eksad.ddms.common.util.status.DataStatus;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class CustomerDTO {
private String customerID;
private String custName;
private String custKTPNumber;
private String custKTPPhotoURL;
private String custNPWPNumber;
private Date dateofBirth;
private String custHPNumber;
private String groupType;
private String dealerID;
private String contactPerson;
private String address;
private String policeNumber;
private DataStatus custStatus;
private CreationalSpecificationDTO custCreationalDTO;
private String customerTypeID;
private String categoryID;
private String provinceID;
private String kabkotID;
private String kecamatanID;
private String kelurahanID;
private String postalCode;
private String noRangka;
private String noMesin;
private String noFax;
private String unitTypeCode;
private String unitTypeName;
private String unitTypeColour;
private String unitTypeColourName;
private Integer tahunPembuatan;
}
package com.eksad.masterdata.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class DPHLOPullDetailDTO implements Serializable {
private String partsNumber;
private Integer kuantitas;
private Integer hargaParts;
private Integer totalHargaParts;
private Integer uangMuka;
private Integer sisaBayar;
@JsonFormat(pattern = "dd/MM/yyyy HH:mm:ss")
private Date createdTime;
@JsonFormat(pattern = "dd/MM/yyyy HH:mm:ss")
private Date modifiedTime;
}
package com.eksad.masterdata.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class DPHLOPullHeaderDTO implements Serializable {
private String noInvoiceUangJaminan;
private String idHLODocument;
private String tanggalPemesananHLO;
private String noWorkOrder;
private String idCustomer;
private String dealerId;
@JsonFormat(pattern = "dd/MM/yyyy HH:mm:ss")
private Date createdTime;
@JsonFormat(pattern = "dd/MM/yyyy HH:mm:ss")
private Date modifiedTime;
private List<DPHLOPullDetailDTO> parts;
}
package com.eksad.masterdata.common.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class DPHLOPullParamDTO implements Serializable {
private String fromTime;
private String toTime;
private String dealerId;
private String noWorkOrder;
private String idHLODocument;
}
package com.eksad.masterdata.common.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class DPHLOTempDTO {
private String idHLODocument;
private String poNumber;
private String partsNumber;
private Integer kuantitas;
private Integer hargaParts;
private Integer totalHargaParts;
private Integer uangMuka;
private Integer sisaBayar;
// @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date createdTime;
// @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date modifiedTime;
}
package com.eksad.masterdata.common.dto;
import com.fasterxml.jackson.annotation.*;
import java.util.HashMap;
import java.util.Map;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"errorCode",
"message",
"status",
"idDealerSite",
"kodeDealerSite",
"kodeCustMD",
"unitBusiness",
"billToFlag",
"shipToFlag",
"plafond",
"topOli",
"topHGP",
"poSchedule",
"kategoryAHASS",
"salesmanMD",
"alamatSite",
"noTelpSite",
"noFaxSite",
"kodePos",
"latitude",
"longitude",
"idArea",
"tglAwalEfektif",
"tglAkhirEfektif",
"dealerSiteStatus",
"dealerSiteCreationalDTO"
})
public class DealerCodeDTO {
@JsonProperty("errorCode")
private String errorCode;
@JsonProperty("message")
private String message;
@JsonProperty("status")
private String status;
@JsonProperty("idDealerSite")
private String idDealerSite;
@JsonProperty("kodeDealerSite")
private String kodeDealerSite;
@JsonProperty("kodeCustMD")
private String kodeCustMD;
@JsonProperty("unitBusiness")
private String unitBusiness;
@JsonProperty("billToFlag")
private String billToFlag;
@JsonProperty("shipToFlag")
private String shipToFlag;
@JsonProperty("plafond")
private Double plafond;
@JsonProperty("topOli")
private String topOli;
@JsonProperty("topHGP")
private String topHGP;
@JsonProperty("poSchedule")
private Object poSchedule;
@JsonProperty("kategoryAHASS")
private String kategoryAHASS;
@JsonProperty("salesmanMD")
private String salesmanMD;
@JsonProperty("alamatSite")
private Object alamatSite;
@JsonProperty("noTelpSite")
private String noTelpSite;
@JsonProperty("noFaxSite")
private String noFaxSite;
@JsonProperty("kodePos")
private String kodePos;
@JsonProperty("latitude")
private Integer latitude;
@JsonProperty("longitude")
private Integer longitude;
@JsonProperty("idArea")
private String idArea;
@JsonProperty("tglAwalEfektif")
private Object tglAwalEfektif;
@JsonProperty("tglAkhirEfektif")
private Object tglAkhirEfektif;
@JsonProperty("dealerSiteStatus")
private String dealerSiteStatus;
@JsonProperty("dealerSiteCreationalDTO")
private DealerSiteCreationalDTO dealerSiteCreationalDTO;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("errorCode")
public String getErrorCode() {
return errorCode;
}
@JsonProperty("errorCode")
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
@JsonProperty("message")
public String getMessage() {
return message;
}
@JsonProperty("message")
public void setMessage(String message) {
this.message = message;
}
@JsonProperty("status")
public String getStatus() {
return status;
}
@JsonProperty("status")
public void setStatus(String status) {
this.status = status;
}
@JsonProperty("idDealerSite")
public String getIdDealerSite() {
return idDealerSite;
}
@JsonProperty("idDealerSite")
public void setIdDealerSite(String idDealerSite) {
this.idDealerSite = idDealerSite;
}
@JsonProperty("kodeDealerSite")
public String getKodeDealerSite() {
return kodeDealerSite;
}
@JsonProperty("kodeDealerSite")
public void setKodeDealerSite(String kodeDealerSite) {
this.kodeDealerSite = kodeDealerSite;
}
@JsonProperty("kodeCustMD")
public String getKodeCustMD() {
return kodeCustMD;
}
@JsonProperty("kodeCustMD")
public void setKodeCustMD(String kodeCustMD) {
this.kodeCustMD = kodeCustMD;
}
@JsonProperty("unitBusiness")
public String getUnitBusiness() {
return unitBusiness;
}
@JsonProperty("unitBusiness")
public void setUnitBusiness(String unitBusiness) {
this.unitBusiness = unitBusiness;
}
@JsonProperty("billToFlag")
public String getBillToFlag() {
return billToFlag;
}
@JsonProperty("billToFlag")
public void setBillToFlag(String billToFlag) {
this.billToFlag = billToFlag;
}
@JsonProperty("shipToFlag")
public String getShipToFlag() {
return shipToFlag;
}
@JsonProperty("shipToFlag")
public void setShipToFlag(String shipToFlag) {
this.shipToFlag = shipToFlag;
}
public Double getPlafond() {
return plafond;
}
public void setPlafond(Double plafond) {
this.plafond = plafond;
}
@JsonProperty("topOli")
public String getTopOli() {
return topOli;
}
@JsonProperty("topOli")
public void setTopOli(String topOli) {
this.topOli = topOli;
}
@JsonProperty("topHGP")
public String getTopHGP() {
return topHGP;
}
@JsonProperty("topHGP")
public void setTopHGP(String topHGP) {
this.topHGP = topHGP;
}
@JsonProperty("poSchedule")
public Object getPoSchedule() {
return poSchedule;
}
@JsonProperty("poSchedule")
public void setPoSchedule(Object poSchedule) {
this.poSchedule = poSchedule;
}
@JsonProperty("kategoryAHASS")
public String getKategoryAHASS() {
return kategoryAHASS;
}
@JsonProperty("kategoryAHASS")
public void setKategoryAHASS(String kategoryAHASS) {
this.kategoryAHASS = kategoryAHASS;
}
@JsonProperty("salesmanMD")
public String getSalesmanMD() {
return salesmanMD;
}
@JsonProperty("salesmanMD")
public void setSalesmanMD(String salesmanMD) {
this.salesmanMD = salesmanMD;
}
@JsonProperty("alamatSite")
public Object getAlamatSite() {
return alamatSite;
}
@JsonProperty("alamatSite")
public void setAlamatSite(Object alamatSite) {
this.alamatSite = alamatSite;
}
@JsonProperty("noTelpSite")
public String getNoTelpSite() {
return noTelpSite;
}
@JsonProperty("noTelpSite")
public void setNoTelpSite(String noTelpSite) {
this.noTelpSite = noTelpSite;
}
@JsonProperty("noFaxSite")
public String getNoFaxSite() {
return noFaxSite;
}
@JsonProperty("noFaxSite")
public void setNoFaxSite(String noFaxSite) {
this.noFaxSite = noFaxSite;
}
@JsonProperty("kodePos")
public String getKodePos() {
return kodePos;
}
@JsonProperty("kodePos")
public void setKodePos(String kodePos) {
this.kodePos = kodePos;
}
@JsonProperty("latitude")
public Integer getLatitude() {
return latitude;
}
@JsonProperty("latitude")
public void setLatitude(Integer latitude) {
this.latitude = latitude;
}
@JsonProperty("longitude")
public Integer getLongitude() {
return longitude;
}
@JsonProperty("longitude")
public void setLongitude(Integer longitude) {
this.longitude = longitude;
}
@JsonProperty("idArea")
public String getIdArea() {
return idArea;
}
@JsonProperty("idArea")
public void setIdArea(String idArea) {
this.idArea = idArea;
}
@JsonProperty("tglAwalEfektif")
public Object getTglAwalEfektif() {
return tglAwalEfektif;
}
@JsonProperty("tglAwalEfektif")
public void setTglAwalEfektif(Object tglAwalEfektif) {
this.tglAwalEfektif = tglAwalEfektif;
}
@JsonProperty("tglAkhirEfektif")
public Object getTglAkhirEfektif() {
return tglAkhirEfektif;
}
@JsonProperty("tglAkhirEfektif")
public void setTglAkhirEfektif(Object tglAkhirEfektif) {
this.tglAkhirEfektif = tglAkhirEfektif;
}
@JsonProperty("dealerSiteStatus")
public String getDealerSiteStatus() {
return dealerSiteStatus;
}
@JsonProperty("dealerSiteStatus")
public void setDealerSiteStatus(String dealerSiteStatus) {
this.dealerSiteStatus = dealerSiteStatus;
}
@JsonProperty("dealerSiteCreationalDTO")
public DealerSiteCreationalDTO getDealerSiteCreationalDTO() {
return dealerSiteCreationalDTO;
}
@JsonProperty("dealerSiteCreationalDTO")
public void setDealerSiteCreationalDTO(DealerSiteCreationalDTO dealerSiteCreationalDTO) {
this.dealerSiteCreationalDTO = dealerSiteCreationalDTO;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}
package com.eksad.masterdata.common.dto;
import com.fasterxml.jackson.annotation.*;
import java.util.HashMap;
import java.util.Map;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"createdAt",
"createdBy",
"modifiedAt",
"modifiedBy"
})
public class DealerSiteCreationalDTO {
@JsonProperty("createdAt")
private String createdAt;
@JsonProperty("createdBy")
private String createdBy;
@JsonProperty("modifiedAt")
private String modifiedAt;
@JsonProperty("modifiedBy")
private String modifiedBy;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("createdAt")
public String getCreatedAt() {
return createdAt;
}
@JsonProperty("createdAt")
public void setCreatedAt(String createdAt) {
this.createdAt = createdAt;
}
@JsonProperty("createdBy")
public String getCreatedBy() {
return createdBy;
}
@JsonProperty("createdBy")
public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
}
@JsonProperty("modifiedAt")
public String getModifiedAt() {
return modifiedAt;
}
@JsonProperty("modifiedAt")
public void setModifiedAt(String modifiedAt) {
this.modifiedAt = modifiedAt;
}
@JsonProperty("modifiedBy")
public String getModifiedBy() {
return modifiedBy;
}
@JsonProperty("modifiedBy")
public void setModifiedBy(String modifiedBy) {
this.modifiedBy = modifiedBy;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}
package com.eksad.masterdata.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class DetailSOManagePartSalesDTO implements Serializable {
private String partsNumber;
private Integer kuantitas;
private Integer hargaParts;
private String promoidParts;
private Integer discAmount;
private Double discPercentage;
private Integer Ppn;
private Integer totalHargaParts;
private Integer uangMuka;
private String bookingIdReference;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date createdTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date modifiedTime;
}
package com.eksad.masterdata.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class HeaderSOManagePartSalesDTO implements Serializable {
private String noSO;
private String tglSO;
private String idCustomer;
private String namaCustomer;
private Integer discSO;
private Integer totalHargaSO;
private String dealerId;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date createdTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date modifiedTime;
private List<DetailSOManagePartSalesDTO> parts;
}
package com.eksad.masterdata.common.dto;
import com.eksad.ddms.common.util.status.DataStatus;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class POCustomerDTO {
private String poCustomerNumber;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy hh:mm:ss")
private Date poCustomerDate;
private String customerID;
private String ahassCode;
private DataStatus poCustomerStatus;
private CreationalSpecificationDTO poCustomerCreationalDTO;
private List<POCustomerDetailDTO> pOCustomerDetailDTOs;
private Long version;
}
package com.eksad.masterdata.common.dto;
import com.eksad.ddms.common.util.status.DataStatus;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class POCustomerDetailDTO {
private String pOCustomerDetailID;
private String partID;
private Integer quantity;
private DataStatus pickSlipDetailDataStatus;
private CreationalSpecificationDTO poCustomerCreationalDTO;
}
package com.eksad.masterdata.common.dto;
import com.eksad.masterdata.common.listEnum.LastKnownState;
import com.eksad.masterdata.common.listEnum.PurchaseOrderType;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PODealerDTO {
private String poNumber;
private String poNumberReference;
private Date poDate;
private String customerID;
private String dealerID;
private Integer totalPart;
private Integer totalQuantity;
private BigDecimal totalPrice;
private BigDecimal ppn;
private BigDecimal finalPrice;
private LastKnownState poDealerLastKnowState;
private PurchaseOrderType poType;
private CreationalSpecificationDTO poDealerCreationalDTO;
private List<PODealerDetailDTO> poDealerDetailDTOs;
private String refNumber;
private String dealerDestination;
private String draftNumber;
private String uploadPO;
private Long version;
}
package com.eksad.masterdata.common.dto;
import com.eksad.ddms.common.util.status.DataStatus;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PODealerDetailDTO {
private String partID;
private String poCustomerID;
private Integer quantity;
private BigDecimal price;
private BigDecimal discount;
private DataStatus poDealerDetailStatus;
private CreationalSpecificationDTO poDealerDetailCreationalDTO;
private String salesPackageMDID;
private Date ETARevisi;
private Date ETATercepat;
private Date ETATerlama;
}
package com.eksad.masterdata.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class POManagePartsInboundDTO {
private String noPO;
private String jenisOrder;
private String idWarehouse;
private String partsNumber;
private Integer kuantitas;
private String uom;
@JsonFormat(pattern = "dd/MM/yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date createdTime;
@JsonFormat(pattern = "dd/MM/yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date modifiedTime;
}
package com.eksad.masterdata.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ParamDPHLODTO {
private String noInvoiceUangJaminan;
private String idHLODocument;
private String tanggalPemesananHLO;
private String noWorkOrder;
private String idCustomer;
private String dealerId;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date createdTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date modifiedTime;
private List<ParamDPHLODetailDTO> parts;
}
package com.eksad.masterdata.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ParamDPHLODetailDTO {
private String partsNumber;
private Integer kuantitas;
private Integer hargaParts;
private Integer totalHargaParts;
private Integer uangMuka;
private Integer sisaBayar;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date createdTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date modifiedTime;
}
package com.eksad.masterdata.common.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ParamManageSalesDTO {
private String fromTime;
private String toTime;
private String dealerId;
private String noSO;
}
package com.eksad.masterdata.common.dto;
import com.eksad.ddms.common.util.status.DataStatus;
import com.eksad.ddms.common.util.status.DataStatusMD;
import com.eksad.masterdata.common.listEnum.PartLocalSaleable;
import com.eksad.masterdata.common.listEnum.PartLocalType;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PartDTO {
private String partID;
private String partNumber;
private String partDescription;
private Double het;
private Double basicPrice;
private String supplierCode;
private String partGroup;
private String partReference;
private DataStatus status;
private String superseed;
private Integer minOrderSmallDealer;
private Integer minOrderMiddleDealer;
private Integer minOrderBigDealer;
private String pnt;
private String partStockType;
private String partOrigin;
private String rank;
private String currentType;
private String partType; // attribut important/safety/additional
private String lifeTimeType;
private String partCategory; // attribut engine/frame/electrical
private String largePartGroup;
private String partPhotoURL;
private DataStatusMD statusMD;
private String hgpType;
private boolean hotlinePart;
private String hotlinePartDeliveryCost;
private Integer maxQtyHotline;
private String itemSimiliar;
private DataStatus partStatus;
private CreationalSpecificationDTO partCreationalDTO;
private List<PartTypeMotorsDTO> partTypeMotorDTOs;
private PartLocalType partLocalType;
private String partMainDealerID;
private PartLocalSaleable partLocalSaleable;
private String dealerID;
private byte[] imageByte;
@JsonIgnore
public PartDTO getInstance() {
return new PartDTO(
UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
"Dummy Description Part",
0.0,
0.0,
"Dummy Supplier Code",
"Dummy Part Group",
"Dummy Part Reference",
DataStatus.ACTIVE,
"Dummy Superseed",
0,
0,
0,
"Dummy PNT",
"Dummy PartStockType",
"Dummy PartOrigin",
"Dummy Rank",
"Dummy CurrentType",
"Dummy PartType",
"Dummy LifeTimeType",
"Dummy PartCategory",
"Dummy LargePartGroup",
"Dummy PartPhotoURL",
DataStatusMD.A,
"Dummy HgpType",
false,
"",
0,
"Dummy ItemSimiliar",
DataStatus.ACTIVE,
new CreationalSpecificationDTO().getInstance(),
new ArrayList<>(Arrays.asList(new PartTypeMotorsDTO().getInstance())),
PartLocalType.LOCAL,
"Dummy Part Main Dealer ID",
PartLocalSaleable.SALEABLE,
"Dummy dealerID",
new byte[10]
);
}
}
package com.eksad.masterdata.common.dto;
import com.eksad.ddms.common.util.status.DataStatus;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
import java.util.UUID;
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class PartTypeMotorsDTO {
private String idPtm;
private String marketingType;
private String productionType;
private String deskripsi;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy hh:mm:ss")
private Date lastEffectiveDate;
private DataStatus partTypeMotorStatus;
private CreationalSpecificationDTO partTypeMotorCreationalDTO;
@JsonIgnore
public PartTypeMotorsDTO getInstance() {
return new PartTypeMotorsDTO(
UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
"Dummy MarketingType",
"Dummy ProductionType",
"Dummy Deskripsi",
new Date(),
DataStatus.ACTIVE,
new CreationalSpecificationDTO().getInstance());
}
}
package com.eksad.masterdata.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PartsManageInboundDetailTempDTO {
private String noPenerimaan;
private String noPO;
private String jenisOrder;
private String idWarehouse;
private String partsNumber;
private Integer kuantitas;
private String Uom;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date createdTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date modifiedTime;
}
package com.eksad.masterdata.common.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PartsManageInboundParamDTO {
private String fromTime;
private String toTime;
private String dealerId;
private String noPO;
}
package com.eksad.masterdata.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PartsManageSalesDetailTempDTO implements Serializable {
private String soNumber;
private String partsNumber;
private Integer kuantitas;
private Integer hargaParts;
private String promoidParts;
private Integer discAmount;
private Double discPercentage;
private Integer ppn;
private Integer totalHargaParts;
private Integer uangMuka;
private String bookingIdReference;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date createdTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date modifiedTime;
}
package com.eksad.masterdata.common.dto;
import com.eksad.ddms.common.util.status.DataStatus;
import com.eksad.masterdata.common.listEnum.PickSlipStatusType;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PickSlipDTO {
private String pickSlipNumber;
private String salesOrderID;
private String ahassCode;
private String pickerID;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss")
private Date pickSlipDate;
private DataStatus pickSlipStatus;
private PickSlipStatusType pickSlipStatusType;
private CreationalSpecificationDTO pickSlipCreational;
private List<PickSlipDetailDTO> pickSlipDetailDTOs;
private List<PickSlipDetailEVDTO> pickSlipDetailEVDTOs;
private Long version;
private String posServiceID;
}
package com.eksad.masterdata.common.dto;
import com.eksad.ddms.common.util.status.DataStatus;
import com.eksad.masterdata.common.listEnum.PickSlipDetailStatusType;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PickSlipDetailDTO {
private String pickSlipDetailID;
private String partID;
private Integer qty;
private String locatorDescription;
private Integer locatorID;
private String subinventoryDescription;
private String warehouseDescription;
private PickSlipDetailStatusType pickSlipDetailStatusType;
private DataStatus pickSlipDetailDataStatus;
private Integer actualQty;
private CreationalSpecificationDTO pickSlipDetailCreationalDTO;
}
package com.eksad.masterdata.common.dto;
import com.eksad.ddms.common.util.status.DataStatus;
import com.eksad.masterdata.common.listEnum.PickSlipDetailStatusType;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PickSlipDetailEVDTO {
private String pickSlipDetailID;
private String partID;
private Integer qty;
private String locatorDescription;
private Integer locatorID;
private String subinventoryDescription;
private String warehouseDescription;
private PickSlipDetailStatusType pickSlipDetailStatusType;
private DataStatus pickSlipDetailDataStatus;
private Integer actualQty;
private String serialNumber;
private CreationalSpecificationDTO pickSlipDetailCreationalDTO;
}
package com.eksad.masterdata.common.dto;
import com.eksad.masterdata.common.listEnum.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class ReceiptSOBankCreateCommandDTO implements Serializable {
/**
* Transactional Base Object
*/
private String createdBy;
private Date createdDate;
private String updatedBy;
private Date updatedDate;
private String recordID;
/**
* Receipt
*/
private String receiptID;
private Date receiptDocDate;
private ReceiptType receiptType;
private ReceiptCategory receiptCategory;
private ReceiptKind receiptKind;
private Double receiptAmount;
private String receiptNote;
private ReceiptStatus receiptStatus;
private Double receiptPaidAmount;
private Double receiptDpOutstandingAmount;
private Double receiptOutstandingAmount;
private String terbilang;
private String terbilangDPOutstandingAmount;
private String terbilangOutstandingAmount;
private Double kembalian;
/**
* SO
*/
private String soID;
/**
* Receipt Claim Bank
*/
private String bankID;
private String bankAccID;
private String bankTrxID;
private String ahassCode;
private String referenceNumber;
private PaymentType paymentType;
private Double biayaTambahan;
private String reffPONumber;
private String namaEkspedisi;
private String noResi;
private Date etaEkspedisi;
private Date tglPengambilan;
}
package com.eksad.masterdata.common.dto;
import com.eksad.masterdata.common.listEnum.ReceiptStatus;
import com.eksad.masterdata.common.listEnum.ReceiptType;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class ReceiptSOTaskDTO implements Serializable {
private String soID;
private String ahassCode;
private String customerName;
private Double receiptAmount;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy hh:mm:ss")
private Date salesOrderDate;
private String receiptid;
private String customerid;
private ReceiptStatus receiptStatus;
private ReceiptType receiptType;
private Double biayaTambahan;
private Double receiptPaidAmount;
private String reffPONumber;
private String referenceNumber;
private String noNotaPenjualan;
private String namaEkspedisi;
private String noResi;
private Date etaEkspedisi;
private String receipt_obj_disc;
}
package com.eksad.masterdata.common.dto;
import com.eksad.masterdata.common.listEnum.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class ReceiptSOTunaiChangeCommandDTO implements Serializable {
/**
* Transactional Base Object
*/
private String createdBy;
private Date createdDate;
private String updatedBy;
private Date updatedDate;
private String recordID;
private Long version;
/**
* Receipt
*/
private String receiptID;
private Date receiptDocDate;
private ReceiptType receiptType;
private ReceiptCategory receiptCategory;
private ReceiptKind receiptKind;
private Double receiptAmount;
private String receiptNote;
private ReceiptStatus receiptStatus;
private Double receiptPaidAmount;
private Double receiptDpOutstandingAmount;
private Double receiptOutstandingAmount;
private String terbilang;
private String terbilangDPOutstandingAmount;
private String terbilangOutstandingAmount;
private String soID;
private Double kembalian;
private String ahassCode;
private PaymentType paymentType;
private Double biayaTambahan;
}
package com.eksad.masterdata.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ReceivingManagePartsInboundDTO {
private String noPenerimaan;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private String tglPenerimaan;
private String noShippingList;
private String dealerId;
@JsonFormat(pattern = "dd/MM/yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date createdTime;
@JsonFormat(pattern = "dd/MM/yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date modifiedTime;
private List<POManagePartsInboundDTO> po;
}
package com.eksad.masterdata.common.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class ResponseReceiptSOTaskGetListDTO {
private List<ReceiptSOTaskDTO> datas;
private Long totalElements;
private Integer totalPage;
}
package com.eksad.masterdata.common.dto;
import com.eksad.ddms.common.util.status.DataStatus;
import com.eksad.masterdata.common.listEnum.SalesOrderSourceType;
import com.eksad.masterdata.common.listEnum.SalesOrderState;
import com.eksad.masterdata.common.listEnum.SalesOrderStatus;
import com.eksad.masterdata.common.listEnum.SalesOrderType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.*;
/**
* @author amy
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class SalesOrderDTO {
private String salesOrderID;
private String poCustomerID;
private String ahassCode;
private String noNotaPenjualan;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date salesOrderDate;
private Double dp;
private Double total;
private SalesOrderType salesOrderType;
private SalesOrderStatus salesOrderLastKnownStatus;
private SalesOrderState salesOrderLastKnownState;
private DataStatus salesOrderStatus;
private CreationalSpecificationDTO salesOrderCreational;
private List<SalesOrderDetailDTO> salesOrderDetailDTOs;
private SalesOrderSourceType orderSource;
private String workOrderID;
private Boolean salesPackage;
private Long version;
private Integer countPrint;
private String appsOrderNumber;
@JsonIgnore
public SalesOrderDTO getInstance() {
return new SalesOrderDTO(
UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
"dummy poCustomerID",
"dummy ahasscode",
"dummy noNotaPenjualan",
new Date(),
0.0,
0.0,
SalesOrderType.REGULAR,
SalesOrderStatus.DRAFT,
SalesOrderState.INITIAL_ORDER,
DataStatus.ACTIVE,
new CreationalSpecificationDTO().getInstance(),
new ArrayList<>(Arrays.asList(new SalesOrderDetailDTO().getInstance())),
SalesOrderSourceType.SO,
UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
Boolean.FALSE, 0L, 0,
"dummy AppsOrderNumber"
);
}
@Override
public String toString() {
return "SalesOrderDTO{" + "salesOrderID=" + salesOrderID + ", poCustomerID=" + poCustomerID + ", ahassCode=" + ahassCode + ", noNotaPenjualan=" + noNotaPenjualan + ", salesOrderDate=" + salesOrderDate + ", dp=" + dp + ", total=" + total + ", salesOrderType=" + salesOrderType + ", salesOrderLastKnownStatus=" + salesOrderLastKnownStatus + ", salesOrderLastKnownState=" + salesOrderLastKnownState + ", salesOrderStatus=" + salesOrderStatus + ", salesOrderCreational=" + salesOrderCreational + ", salesOrderDetailDTOs=" + salesOrderDetailDTOs + ", orderSource=" + orderSource + ", workOrderID=" + workOrderID + ", salesPackage=" + salesPackage + ", version=" + version + '}';
}
}
package com.eksad.masterdata.common.dto;
import com.eksad.ddms.common.util.status.DataStatus;
import com.eksad.masterdata.common.listEnum.SalesOrderStatus;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.UUID;
/**
* @author amy
*/
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class SalesOrderDetailDTO {
private String salesOrderDetailID;
private String partID;
private String partNumber;
private String partDescription;
private String partGroup;
private String largePartGroup;
private Integer qty;
private Double price;
private Double discount;
private Double totalPrice;
private String keterangan;
private Boolean hoFlag;
private String salesPackageID;
private Double ppnRate;
private Double ppnAmount;
private DataStatus salesOrderDetailStatus;
private CreationalSpecificationDTO salesOrderDetailCreationalSpecificationDTO;
private SalesOrderStatus salesorderdetaillastknownstatus;
private String promoID;
@JsonIgnore
public SalesOrderDetailDTO getInstance() {
return new SalesOrderDetailDTO(
UUID.randomUUID().toString().substring(0, 8).toUpperCase(),
"dummy partID",
"dummy partNumber",
"dummy partDescription",
"dummy partGroup",
"dummy largePartGroup",
1,
0.0,
0.0,
0.0,
"dummy keterangan",
Boolean.FALSE,
"dummy salesPackageID",
0.0,
0.0,
DataStatus.ACTIVE,
new CreationalSpecificationDTO().getInstance(),
SalesOrderStatus.DRAFT,
"dummy promoID"
);
}
}
package com.eksad.masterdata.common.dto;
import com.eksad.masterdata.common.listEnum.StockFlowModuleType;
import com.eksad.masterdata.common.listEnum.StockFlowType;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
@Getter
@Setter
@NoArgsConstructor
public class StockFlowDTO implements Serializable {
private Date startDate;
private Date endDate;
private String partNumber;
private String partDescription;
private Integer locationCode;
private StockFlowType flowType;
private Integer startQuantity;
private Integer adjustmentQuantity;
private Integer finalQuantity;
private StockFlowModuleType source;
private String referenceNumber;
private Date docDate;
private String dealerID;
private Date waktu;
private Double startValue;
private Double adjustValue;
private Double finalValue;
private Double finalTotalValue;
private String user;
private String posServiceID;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss", timezone = "Asia/Jakarta")
private Date createdAt;
}
package com.eksad.masterdata.common.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class UnpaidDPHLOPullParamDTO {
private String fromTime;
private String toTime;
private String dealerId;
private String noWorkOrder;
private String idHLODocument;
}
package com.eksad.masterdata.common.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class WorkOrderSOHotlineDTO {
private String soID;
private Boolean hotlineFlag;
}
package com.eksad.masterdata.common.dto.responseDto;
import com.eksad.ddms.common.util.response.ResponseDTO;
import com.eksad.masterdata.common.dto.ConfigurationDTO;
import lombok.Data;
@Data
public class ResponseConfigurationGetDTO {
ResponseDTO response;
private ConfigurationDTO configurationDTO;
}
package com.eksad.masterdata.common.dto.responseDto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ResponseDPHLODTO {
private Integer status;
private ResponseMessageDPHLODTO message;
private Object data;
}
package com.eksad.masterdata.common.dto.responseDto;
import com.eksad.masterdata.common.dto.DPHLOPullHeaderDTO;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ResponseDPHLOPullDTO implements Serializable {
private Integer status;
private String message;
private List<DPHLOPullHeaderDTO> data;
}
package com.eksad.masterdata.common.dto.responseDto;
public class ResponseDPHLOTempDTO {
String message;
Boolean isTrue;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Boolean getIsTrue() {
return isTrue;
}
public void setIsTrue(Boolean isTrue) {
this.isTrue = isTrue;
}
}
package com.eksad.masterdata.common.dto.responseDto;
import com.eksad.masterdata.common.dto.HeaderSOManagePartSalesDTO;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ResponseManagePartSalesDTO implements Serializable {
private String status;
private String message;
private List<HeaderSOManagePartSalesDTO> data;
}
package com.eksad.masterdata.common.dto.responseDto;
import com.eksad.masterdata.common.dto.ReceivingManagePartsInboundDTO;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.io.Serializable;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ResponseManagePartsInboundDTO implements Serializable {
private Integer status;
private String message;
private List<ReceivingManagePartsInboundDTO> data;
}
package com.eksad.masterdata.common.dto.responseDto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ResponseMessageDPHLODTO {
private String confirmation;
}
package com.eksad.masterdata.common.dto.responseDto;
import com.eksad.ddms.common.util.response.ResponseDTO;
import com.eksad.masterdata.common.dto.PODealerDTO;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ResponsePODealerGetDTO {
ResponseDTO response;
private PODealerDTO data;
}
package com.eksad.masterdata.common.dto.responseDto;
import com.eksad.ddms.common.util.response.ResponseDTO;
import com.eksad.masterdata.common.dto.PartDTO;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ResponsePartGetDTO {
ResponseDTO response;
private PartDTO data;
}
package com.eksad.masterdata.common.dto.responseDto;
import com.eksad.ddms.common.util.response.ResponseDTO;
import com.eksad.masterdata.common.dto.PickSlipDTO;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class ResponsePickSlipGetDTO {
ResponseDTO response;
private PickSlipDTO data;
}
package com.eksad.masterdata.common.dto.responseDto;
import com.eksad.ddms.common.util.response.ResponseDTO;
import com.eksad.masterdata.common.dto.SalesOrderDTO;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class ResponseSalesOrderGetListDTO {
ResponseDTO response;
private List<SalesOrderDTO> datas;
private Long totalElements;
private Integer totalPage;
}
package com.eksad.masterdata.common.dto.responseDto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class UnpaidDPHLOPullHeaderResponseDTO {
private String status; //test
private String message;
private List<UnpaidDPHLOPullResponseDTO> data;
}
package com.eksad.masterdata.common.dto.responseDto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class UnpaidDPHLOPullPartResponseDTO {
private String partsNumber;
private Integer kuantitas;
private Integer hargaParts;
private Integer totalHargaParts;
private Integer uangMuka;
private Integer sisaBayar;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date createdTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date modifiedTime;
}
package com.eksad.masterdata.common.dto.responseDto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class UnpaidDPHLOPullResponseDTO {
private String idHLODocument;
private String tanggalPemesananHLO;
private String noWorkOrder;
private String noBukuClaimC2;
private String noKTP;
private String namaCustomer;
private String alamat;
private String kodePropinsi;
private String kodeKota;
private String kodeKecamatan;
private String kodeKelurahan;
private String kodePos;
private String noKontak;
private String kodeTipeUnit;
private String tahunMotor;
private String noMesin;
private String noRangka;
private String flagNumbering;
private String vehicleOffRoad;
private String jobReturn;
private String dealerId;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date createdTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date modifiedTime;
private List<UnpaidDPHLOPullPartResponseDTO> parts;
}
package com.eksad.masterdata.common.listEnum;
public enum LastKnownState {
ALL("ALL"),
DRAFT("DRAFT"),
NEW("WAITING FOR APPROVAL"),
AWAITING("PO SUBMITTED TO MD"),
OPEN("OPEN"),
CLOSED("COMPLETED"),
REJECTED("PO REJECTED"),
EXPIRED("EXPIRED"),
CANCEL("CANCEL"),
PARTIALFULLFILLED("PARTIAL FULLFILLED"),
ONPROCESS("PO SUBMITTED"),
APPROVED("APPROVED"), // Additional status HO from MD (Flow Hotline)
REVISED("REVISED"); // Additional status HO from MD (Flow Hotline)
private String value;
private LastKnownState(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
package com.eksad.masterdata.common.listEnum;
public enum PartLocalSaleable {
SALEABLE("SALEABLE", "Salesable"),
SELFCONSUMED("SELFCONSUMED", "SelfConsumed");
private String code;
private String name;
private PartLocalSaleable(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}
package com.eksad.masterdata.common.listEnum;
public enum PartLocalType {
LOCAL("LOCAL", "Local"),
ORIGINAL("ORIGINAL", "Original"),
IMPORT("IMPORT", "Import");
private String code;
private String name;
private PartLocalType(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}
package com.eksad.masterdata.common.listEnum;
public enum PaymentType {
CASH("Cash"),
TRANSFER("Transfer"),
DEBIT("Debit"),
CREDIT_CARD("Credit Card"),
OVO("OVO"),
GOPAY("Gopay"),
E_MONEY("e-money"),
QRIS("QRIS"),
ASTRAPAY("ASTRAPay");
private String label;
private PaymentType(String label) {
this.label = label;
}
public String getLabel() {
return label;
}
}
package com.eksad.masterdata.common.listEnum;
public enum PickSlipDetailStatusType {
OPEN, CLOSE, CANCEL;
}
package com.eksad.masterdata.common.listEnum;
public enum PickSlipStatusType {
ALL, OPEN, PRINT, REPRINT, COMPLETED, CANCEL, CANCEL_WO;
}
package com.eksad.masterdata.common.listEnum;
public enum PurchaseOrderType {
All("All"),
Fix("Fix"),
Urgent("Urgent"),
Reguler("Reguler"),
Hotline("Hotline"),
Local("Local");
private String value;
private PurchaseOrderType(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
package com.eksad.masterdata.common.listEnum;
public enum ReceiptCategory {
BANK("BANK", "Transfer Bank"),
TUNAI("TUNAI", "Tunai Kasir");
private String name;
private String value;
private ReceiptCategory(String name, String value) {
this.name = name;
this.value = value;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.eksad.masterdata.common.listEnum;
public enum ReceiptKind {
DP("DP", "Pembayaran Pertama"),
SETTLEMENT("SETTLEMENT", "Pembayaran Kedua"),
PELUNASAN_LEASING("PELUNASAN_LEASING", "Pelunasan Leasing"),
REFUND("REFUND", "Pengembalian Uang"),
RETUR("RETUR", "Pengembalian Uang");
private String name;
private String value;
private ReceiptKind(String name, String value) {
this.name = name;
this.value = value;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.eksad.masterdata.common.listEnum;
public enum ReceiptStatus {
OUTSTANDING, COMPLETE, CANCEL, SO_DP
}
package com.eksad.masterdata.common.listEnum;
public enum ReceiptType {
WO,
SO,
SO_DP,
SO_SETTLEMENT,
SPK_DP,
SPK_SETTLEMENT,
SPK_CANCEL,
SPK_RETURN,
LEASING,
CLAIM,
RETUR,
OTHER
}
package com.eksad.masterdata.common.listEnum;
public enum SalesOrderSourceType {
SO,
WO,
SPK
}
package com.eksad.masterdata.common.listEnum;
public enum SalesOrderState {
INITIAL_ORDER,
ORDER_CONFIRM;
}
package com.eksad.masterdata.common.listEnum;
public enum SalesOrderStatus {
ALL,
CANCEL,
DRAFT,
BOOK,
PENDING_LP,
PENDING_HO,
BO_SUBMITED,
COMPLETE,
BO,
BO_COMPLETE,
PICKED,
NOT_FOUND;
}
\ No newline at end of file
package com.eksad.masterdata.common.listEnum;
public enum SalesOrderType {
HO,
LOCAL_PURCHASE,
REGULAR,
BO,
CLAIM_CUSTOMER;
}
\ No newline at end of file
package com.eksad.masterdata.common.listEnum;
public enum StockFlowModuleType {
ALL(0),
SO(1),
MISC_IN(2),
MISC_OUT(3),
MOVING(4),
RECEIVING(5),
STOCK_OPNAME(6),
RETURN_CUSTOMER(7),
CLAIM_CUSTOMER(8),
RETURN_MD(9),
AVERAGE_COST_UPDATE(10),
RECEIVING_OLI(11),
MOVING_KPB(12),
MISC_IN_EV(13),
MISC_OUT_EV(14),
MOVING_EV(15);
int value;
StockFlowModuleType(int value) {
this.value = value;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
package com.eksad.masterdata.common.listEnum;
public enum StockFlowType {
ALL(0), IN(1), OUT(2);
int value;
StockFlowType(int value) {
this.value = value;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
package com.eksad.masterdata.controller;
import com.eksad.masterdata.common.dto.DPHLOPullParamDTO;
import com.eksad.masterdata.common.dto.DealerCodeDTO;
import com.eksad.masterdata.common.dto.responseDto.ResponseDPHLOPullDTO;
import com.eksad.masterdata.repository.DPHLOPullRespository;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* @author Fariz<f.hasabi @ eksad.com>
*/
@RestController
@Slf4j
public class DPHLOPullRestController {
public String URL_AHM_GET_DEALER = "/get.dealer.by.ahm.dealer.code/{ahmDealerCode}";
private static final String md_url = "http://api-cbr.daya-dms.id/masterdata";
@Autowired
DPHLOPullRespository dPHLOPullRespository;
@RequestMapping(value = "/dgi-api/v1/dphlo/read",
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<ResponseDPHLOPullDTO> getDPHLOPull(@RequestBody DPHLOPullParamDTO dto) throws ParseException, JsonProcessingException {
ResponseDPHLOPullDTO responseDTO = new ResponseDPHLOPullDTO();
ObjectMapper mapper = new ObjectMapper();
System.out.println("param ManagePartsInboundRestController = " + mapper.writeValueAsString(dto));
String fromDateString = "";
String toDateString = "";
Date startDate = null;
Date toDate = null;
String ahassCode = null;
final Calendar calendarToTime = Calendar.getInstance();
final Calendar calendarFromTime = Calendar.getInstance();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (dto.getNoWorkOrder() == null) {
dto.setNoWorkOrder("");
}
if (dto.getIdHLODocument() == null) {
dto.setIdHLODocument("");
}
if (!dto.getFromTime().isEmpty()) {
startDate = dateFormat.parse(dto.getFromTime());
fromDateString = dateFormat.format(startDate);
if (dto.getToTime().isEmpty()) {
dto.setToTime(getNextWeek());
toDateString = dto.getToTime();
}
calendarFromTime.setTime(startDate);
calendarFromTime.add(Calendar.DAY_OF_YEAR, 7);
} else {
responseDTO.setMessage("Parameter Mandatory harus di isi");
responseDTO.setStatus(0);
return new ResponseEntity<>(responseDTO, HttpStatus.ACCEPTED);
}
if (!dto.getToTime().isEmpty()) {
toDate = dateFormat.parse(dto.getToTime());
calendarToTime.setTime(toDate);
toDateString = dateFormat.format(calendarToTime.getTime());
}
if (calendarToTime.after(calendarFromTime)) {
responseDTO.setMessage("Tenggat waktu hanya diperbolehkan 7 hari");
responseDTO.setStatus(0);
return new ResponseEntity<>(responseDTO, HttpStatus.ACCEPTED);
}
// if (dto.getDealerId() == null || dto.getDealerId().equalsIgnoreCase("")) {
// responseDTO.setMessage("Harap isi parameter dealerID");
// responseDTO.setStatus("0");
// return new ResponseEntity<>(responseDTO, HttpStatus.ACCEPTED);
// }
ahassCode = findAhassIDtoAhassCode(dto.getDealerId());
if (ahassCode == null || ahassCode.equalsIgnoreCase("")) {
responseDTO.setMessage("Data DealerID " + dto.getDealerId() + " Tidak ditemukan di DDMS");
responseDTO.setStatus(0);
return new ResponseEntity<>(responseDTO, HttpStatus.ACCEPTED);
}
if (validateNotNull(dto)) {
if (!dto.getIdHLODocument().isEmpty() && !dto.getNoWorkOrder().isEmpty() && !dto.getFromTime().isEmpty()) {
if (dto.getNoWorkOrder().contains("SO")) {
responseDTO = dPHLOPullRespository.getDPHLOPullByRangeDatePOSO(dto.getDealerId(), dto.getIdHLODocument(), dto.getNoWorkOrder(), fromDateString, toDateString, ahassCode);
} else {
responseDTO = dPHLOPullRespository.getDPHLOPullByRangeDatePOWO(dto.getDealerId(), dto.getIdHLODocument(), dto.getNoWorkOrder(), fromDateString, toDateString, ahassCode);
}
} else if (!dto.getNoWorkOrder().isEmpty() && !dto.getFromTime().isEmpty()) {
if (dto.getNoWorkOrder().contains("SO")) {
responseDTO = dPHLOPullRespository.getDPHLOPullByRangeDateSO(dto.getDealerId(), dto.getNoWorkOrder(), fromDateString, toDateString, ahassCode);
} else {
responseDTO = dPHLOPullRespository.getDPHLOPullByRangeDateWO(dto.getDealerId(), dto.getNoWorkOrder(), fromDateString, toDateString, ahassCode);
}
} else if (!dto.getIdHLODocument().isEmpty() && !dto.getFromTime().isEmpty()) {
responseDTO = dPHLOPullRespository.getDPHLOPullByRangeDatePO(dto.getDealerId(), dto.getIdHLODocument(), fromDateString, toDateString, ahassCode);
} else if (!dto.getFromTime().isEmpty()) {
responseDTO = dPHLOPullRespository.getDPHLOPullByRangeDate(dto.getDealerId(), fromDateString, toDateString, ahassCode);
}
} else {
responseDTO.setMessage("Parameter tidak sesuai");
responseDTO.setStatus(0);
return new ResponseEntity<>(responseDTO, HttpStatus.ACCEPTED);
}
return new ResponseEntity<>(responseDTO, HttpStatus.OK);
}
public static String getNextWeek() throws ParseException {
final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return format.format(new Date());
}
public String findAhassIDtoAhassCode(String ahmDealerCode) {
String ahassCode = "";
ObjectMapper mapper = new ObjectMapper();
try {
Map<String, String> params = new HashMap<>();
String url = md_url + URL_AHM_GET_DEALER;
System.out.println(url);
params.put("ahmDealerCode", ahmDealerCode);
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<DealerCodeDTO> result = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(createHeaders()), DealerCodeDTO.class, params);
System.out.println("GetAHMDealer" + mapper.writeValueAsString(result.getBody()));
return ahassCode = result.getBody().getAdditionalProperties().get("dealerCode").toString();
} catch (Exception e) {
e.printStackTrace();
return ahassCode;
}
}
private HttpHeaders createHeaders() {
return new HttpHeaders() {
{
String TOKEN = "Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiJ9.5BG9SEVOGo_xRhtT8IkyoSy60kPg8HM9Vpvb0TdNew4";
set("Authorization", TOKEN);
}
};
}
private Boolean validateNotNull(DPHLOPullParamDTO dto) {
return true;
}
}
package com.eksad.masterdata.controller;
import com.eksad.masterdata.common.dto.DealerCodeDTO;
import com.eksad.masterdata.common.dto.PartsManageInboundParamDTO;
import com.eksad.masterdata.common.dto.ReceivingManagePartsInboundDTO;
import com.eksad.masterdata.common.dto.responseDto.ResponseManagePartsInboundDTO;
import com.eksad.masterdata.domain.CreationalSpecification;
import com.eksad.masterdata.domain.PartManageInboundParamJSON;
import com.eksad.masterdata.repository.ManagePartsInbounRepository;
import com.eksad.masterdata.repository.PartManageInboundRepository;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@RestController
@Slf4j
public class ManagePartsInboundRestController {
public String URL_AHM_GET_DEALER = "/get.dealer.by.ahm.dealer.code/{ahmDealerCode}";
private static final String md_url = "http://api-cbr.daya-dms.id/masterdata";
@Autowired
PartManageInboundRepository inboundRepository;
@Autowired
ManagePartsInbounRepository managePartsInboundRepository;
@RequestMapping(value = "/dgi-api/v1/pinb/read",
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<ResponseManagePartsInboundDTO> getPartManageInbound(@RequestBody PartsManageInboundParamDTO dto) throws ParseException, JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
System.out.println("param ManagePartsInboundRestController = " + mapper.writeValueAsString(dto));
inboundRepository.save(dtoTODomain(dto));
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String fromDateString = "";
String toDateString = "";
Date startDate = null;
Date toDate = null;
String ahassCode = null;
String dealerKodeSite = null;
ResponseManagePartsInboundDTO managePartsInboundDTO = new ResponseManagePartsInboundDTO();
List<ReceivingManagePartsInboundDTO> receivingManagePartsInboundDTO = new ArrayList<>();
final Calendar calendarToTime = Calendar.getInstance();
final Calendar calendarFromTime = Calendar.getInstance();
try {
if (!dto.getFromTime().isEmpty()) {
startDate = dateFormat.parse(dto.getFromTime());
fromDateString = dateFormat.format(startDate);
if (dto.getToTime().isEmpty()) {
dto.setToTime(getNextWeek());
toDateString = dto.getToTime();
}
calendarFromTime.setTime(startDate);
calendarFromTime.add(Calendar.DAY_OF_YEAR, 7);
}
if (!dto.getToTime().isEmpty()) {
toDate = dateFormat.parse(dto.getToTime());
calendarToTime.setTime(toDate);
toDateString = dateFormat.format(calendarToTime.getTime());
}
if (calendarToTime.after(calendarFromTime)) {
managePartsInboundDTO.setMessage("Tenggat waktu hanya diperbolehkan 7 hari");
managePartsInboundDTO.setStatus(0);
return new ResponseEntity<>(managePartsInboundDTO, HttpStatus.ACCEPTED);
}
if (dto.getDealerId() == null || dto.getDealerId().equalsIgnoreCase("")) {
managePartsInboundDTO.setMessage("Harap isi parameter dealerID");
managePartsInboundDTO.setStatus(0);
return new ResponseEntity<>(managePartsInboundDTO, HttpStatus.ACCEPTED);
}
ahassCode = findAhassIDtoAhassCode(dto.getDealerId());
if (ahassCode == null || ahassCode.equalsIgnoreCase("")) {
managePartsInboundDTO.setMessage("Data DealerID " + dto.getDealerId() + " Tidak ditemukan di DDMS");
managePartsInboundDTO.setStatus(0);
return new ResponseEntity<>(managePartsInboundDTO, HttpStatus.ACCEPTED);
}
// dealerKodeSite = dealerSiteRepository.getDealerSiteByAhassCodeDDMS(ahassCode).getKodedealersite();
if (!dto.getNoPO().isEmpty() && !dto.getFromTime().isEmpty() && !dto.getToTime().isEmpty()) {
managePartsInboundDTO = managePartsInboundRepository.getInboundByRangeDateWithPONumber(dto.getDealerId(), dto.getNoPO(), ahassCode, fromDateString, toDateString);
} else if (!dto.getFromTime().isEmpty() && !dto.getToTime().isEmpty()) {
managePartsInboundDTO = managePartsInboundRepository.getInboundByRangeDate(dto.getDealerId(), fromDateString, toDateString, ahassCode);
}
} catch (Exception e) {
managePartsInboundDTO.setStatus(0);
managePartsInboundDTO.setMessage("Terjadi kesalahan");
return new ResponseEntity<>(managePartsInboundDTO, HttpStatus.ACCEPTED);
}
return new ResponseEntity<>(managePartsInboundDTO, HttpStatus.OK);
}
public PartManageInboundParamJSON dtoTODomain(PartsManageInboundParamDTO dto) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
CreationalSpecification creationalSpecification = new CreationalSpecification();
creationalSpecification.setCreatedAt(new Date());
creationalSpecification.setCreatedBy("SYSTEM");
PartManageInboundParamJSON partInboundParamJSON = new PartManageInboundParamJSON();
partInboundParamJSON.setCreationalSpecification(creationalSpecification);
partInboundParamJSON.setJson(mapper.writeValueAsString(dto));
return partInboundParamJSON;
}
public static String getNextWeek() throws ParseException {
final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return format.format(new Date());
}
public String findAhassIDtoAhassCode(String ahmDealerCode) {
String ahassCode = "";
ObjectMapper mapper = new ObjectMapper();
try {
Map<String, String> params = new HashMap<String, String>();
String url = md_url + URL_AHM_GET_DEALER;
System.out.println(url);
params.put("ahmDealerCode", ahmDealerCode);
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<DealerCodeDTO> result = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(createHeaders()), DealerCodeDTO.class, params);
System.out.println("GetAHMDealer" + mapper.writeValueAsString(result.getBody()));
return ahassCode = result.getBody().getAdditionalProperties().get("dealerCode").toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
private HttpHeaders createHeaders() {
return new HttpHeaders() {
{
String TOKEN = "Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiJ9.5BG9SEVOGo_xRhtT8IkyoSy60kPg8HM9Vpvb0TdNew4";
set("Authorization", TOKEN);
}
};
}
}
package com.eksad.masterdata.controller;
import com.eksad.masterdata.common.dto.responseDto.ResponsePartGetDTO;
import com.eksad.masterdata.service.PartHystrixService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Slf4j
public class PartRESTController {
@Autowired
PartHystrixService partHystrixService;
@RequestMapping(value = "/get.part.by.id/{partID}",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<ResponsePartGetDTO> getPartByPartID(@PathVariable("partID") String partID) {
return partHystrixService.getPartByPartID(partID);
}
}
package com.eksad.masterdata.controller;
import com.eksad.masterdata.common.dto.responseDto.ResponsePickSlipGetDTO;
import com.eksad.masterdata.service.PickSlipService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Slf4j
public class PickSlipRestController {
@Autowired
private PickSlipService pickSlipService;
@RequestMapping(value = "/get.pickslip.by.salesorderid/{salesOrderID}/{ahassID}",
method = RequestMethod.GET,
consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<ResponsePickSlipGetDTO> getPickSlipBySalesOrderIDAndAhassID(
@PathVariable("salesOrderID") String salesOrderID,
@PathVariable("ahassID") String ahassID) {
return pickSlipService.getPickSlipBySalesOrderID(salesOrderID, ahassID);
}
}
package com.eksad.masterdata.controller;
import com.eksad.ddms.common.util.response.ResponseDTO;
import com.eksad.masterdata.common.ResponseSalesOrderGetDTO;
import com.eksad.masterdata.common.dto.SalesOrderDTO;
import com.eksad.masterdata.common.dto.StockFlowDTO;
import com.eksad.masterdata.common.dto.WorkOrderSOHotlineDTO;
import com.eksad.masterdata.common.dto.responseDto.ResponseSalesOrderGetListDTO;
import com.eksad.masterdata.common.listEnum.SalesOrderStatus;
import com.eksad.masterdata.common.listEnum.SalesOrderType;
import com.eksad.masterdata.domain.SalesOrder;
import com.eksad.masterdata.domain.assembler.SalesOrderAssembler;
import com.eksad.masterdata.repository.PartWOHotlineRepository;
import com.eksad.masterdata.repository.SalesOrderRepository;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.PropertySource;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@RestController
@Slf4j
@PropertySource("classpath:error-message.properties")
public class SalesOrderRESTController {
@Autowired
SalesOrderRepository salesOrderRepository;
@Autowired
PartWOHotlineRepository partWOHotlineRepository;
// final static Logger logger = Logger.getLogger(SalesOrderRESTController.class);
@RequestMapping(value = "/get.sales.order.by.id/{salesOrderID}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<ResponseSalesOrderGetDTO> getSalesOrderByID(@PathVariable("salesOrderID") String salesOrderID) {
SalesOrder data;
try {
data = salesOrderRepository.findOneBySalesOrderID(salesOrderID);
if (data == null) {
return ResponseEntity.status(HttpStatus.FOUND).body(
new ResponseSalesOrderGetDTO(new ResponseDTO().noDataFoundResponse(), null));
}
return ResponseEntity.status(HttpStatus.FOUND).body(
new ResponseSalesOrderGetDTO(new ResponseDTO().defaultResponse(), new SalesOrderAssembler().toDTO(data)));
} catch (Exception e) {
// logger.info("This is info from sales order rest controller: " + e.getMessage());
return ResponseEntity.status(HttpStatus.FOUND).body(
new ResponseSalesOrderGetDTO(new ResponseDTO().failedRespose(String.valueOf(HttpStatus.INTERNAL_SERVER_ERROR.value()), e.getMessage()), null));
}
}
@RequestMapping(value = "/sales.order.complete/{salesOrderID}/{ahassCode}",
method = RequestMethod.PUT,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> SOComplete(
@PathVariable("salesOrderID") String salesOrderID,
@PathVariable("ahassCode") String ahassCode) {
return ResponseEntity.status(HttpStatus.OK).body(complateSO(salesOrderID, ahassCode));
}
private String complateSO(String salesOrderID, String ahassCode) {
List<StockFlowDTO> listStockFlowDTO = new ArrayList<>();
SalesOrder dataSO;
try {
dataSO = salesOrderRepository.findOneBySalesOrderIDAndAhassCode(salesOrderID, ahassCode);
ObjectMapper omTiga = new ObjectMapper();
String json = omTiga.writeValueAsString(dataSO);
// logger.info("String JSON SalesOrder : " + json);
if (dataSO.getSalesOrderType().equals(SalesOrderType.BO)) {
dataSO.setSalesOrderLastKnownStatus(SalesOrderStatus.BO_COMPLETE);
} else {
dataSO.setSalesOrderLastKnownStatus(SalesOrderStatus.COMPLETE);
}
dataSO.getSalesOrderCreational().setModifiedAt(new Date());
salesOrderRepository.save(dataSO);
return salesOrderID;
} catch (Exception e) {
// logger.info("This is info from sales order rest controller: " + e.getMessage());
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
String exceptionAsString = sw.toString();
// logger.info("Exception Complete SO controller: " + exceptionAsString);
return e.getMessage();
}
}
@RequestMapping(value = "/get.sales.order.by.woid/{woID}/{ahassCode}",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<ResponseSalesOrderGetListDTO> getSalesOrderByWoIDAndAhassCode(@PathVariable("woID") String woID, @PathVariable("ahassCode") String ahassCode) {
try {
List<SalesOrder> datas = salesOrderRepository.findAllSOByWOIDAndAhassCode(woID, ahassCode);
List<SalesOrderDTO> list = new ArrayList<>();
if (datas != null && !datas.isEmpty()) {
list = new SalesOrderAssembler().toDTOs(datas);
return ResponseEntity.status(HttpStatus.OK).body(new ResponseSalesOrderGetListDTO(new ResponseDTO().defaultResponse(), list, 0L, 0));
} else {
return ResponseEntity.status(HttpStatus.OK).body(new ResponseSalesOrderGetListDTO(new ResponseDTO().noDataFoundResponse(), list, 0L, 0));
}
} catch (Exception e) {
return ResponseEntity.status(HttpStatus.OK).body(new ResponseSalesOrderGetListDTO(new ResponseDTO().failedRespose(String.valueOf(HttpStatus.INTERNAL_SERVER_ERROR.value()), e.getLocalizedMessage()), null, 0L, 0));
}
}
@RequestMapping(value = "/get.so.hotline.by.woid/{woID}",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<WorkOrderSOHotlineDTO>> getSOHotlineByWoID(@PathVariable("woID") String woID) {
try {
List<WorkOrderSOHotlineDTO> datas = partWOHotlineRepository.getSOHotline(woID);
if (datas != null && !datas.isEmpty()) {
return ResponseEntity.status(HttpStatus.CREATED).body(datas);
} else {
return ResponseEntity.status(HttpStatus.OK).body(null);
}
} catch (Exception e) {
// logger.info("getPartWOHotlineByWoID = " + e.getMessage());
return ResponseEntity.status(HttpStatus.OK).body(null);
}
}
@RequestMapping(value = "/sales.order.complete.by.wo.id/{workOrderID}/{ahassCode}",
method = RequestMethod.PUT,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> SOCompleteByWOID(
@PathVariable("workOrderID") String workOrderID,
@PathVariable("ahassCode") String ahassCode) {
List<SalesOrder> dataSO = salesOrderRepository.findAllSOByWOIDAndAhassCode(workOrderID, ahassCode);
for (SalesOrder salesOrder : dataSO) {
if (!salesOrder.getSalesOrderLastKnownStatus().equals(SalesOrderStatus.CANCEL) && !salesOrder.getSalesOrderLastKnownStatus().equals(SalesOrderStatus.COMPLETE) && !salesOrder.getSalesOrderLastKnownStatus().equals(SalesOrderStatus.BO_COMPLETE)) {
complateSO(salesOrder.getSalesOrderID(), salesOrder.getAhassCode());
}
}
return ResponseEntity.status(HttpStatus.OK).body("SUCCESS");
}
}
package com.eksad.masterdata.controller;
import com.eksad.masterdata.service.SequenceGeneratorHystrixService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class SequenceGeneratorRestController {
@Autowired
SequenceGeneratorHystrixService sequenceGeneratorHystrixService;
@RequestMapping(value = "update.trx.number/{dealerCode}/{trxCode}/{userID}",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> updateTransactionNumber(
@PathVariable("dealerCode") String dealerCode,
@PathVariable("trxCode") String trxCode,
@PathVariable("userID") String userID) {
try {
return sequenceGeneratorHystrixService.updateTransactionNumber(dealerCode, trxCode, userID);
} catch (Exception e) {
// logger.info("Error when generete sequence: " + e.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null);
}
}
}
package com.eksad.masterdata.controller;
import com.eksad.masterdata.common.dto.UnpaidDPHLOPullParamDTO;
import com.eksad.masterdata.service.UnpaidHLOHystrixService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.text.ParseException;
@RestController
@Slf4j
public class UnpaidHLORestController {
@Autowired
UnpaidHLOHystrixService service;
@RequestMapping(value = "dgi-api/v1/unpaidhlo/read",
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE,
consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> UnpaidDPHLOApigateway(@RequestBody UnpaidDPHLOPullParamDTO paramDTO) throws ParseException {
return service.getUnpaidHLO(paramDTO);
}
}
package com.eksad.masterdata.domain;
import com.eksad.ddms.common.util.object.ValueObject;
import com.eksad.masterdata.common.CreationalSpecificationBuilder;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.persistence.Embeddable;
import jakarta.persistence.Temporal;
import jakarta.persistence.TemporalType;
import java.util.Date;
import java.util.Objects;
@Embeddable
public class CreationalSpecification implements ValueObject<CreationalSpecification> {
@Temporal(TemporalType.TIMESTAMP)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss")
private Date createdAt;
private String createdBy;
@Temporal(TemporalType.TIMESTAMP)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy HH:mm:ss")
private Date modifiedAt;
private String modifiedBy;
public CreationalSpecification() {
}
public CreationalSpecification(Date createdAt, String createdBy, Date modifiedAt, String modifiedBy) {
this.createdAt = createdAt;
this.createdBy = createdBy;
this.modifiedAt = modifiedAt;
this.modifiedBy = modifiedBy;
}
public void assignNewCreationalSpecification(CreationalSpecification creationalSpecification) {
this.modifiedAt = creationalSpecification.getModifiedAt();
this.modifiedBy = creationalSpecification.getModifiedBy();
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public String getCreatedBy() {
return createdBy;
}
public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
}
public Date getModifiedAt() {
return modifiedAt;
}
public void setModifiedAt(Date modifiedAt) {
this.modifiedAt = modifiedAt;
}
public String getModifiedBy() {
return modifiedBy;
}
public void setModifiedBy(String modifiedBy) {
this.modifiedBy = modifiedBy;
}
@Override
public int hashCode() {
int hash = 7;
hash = 23 * hash + Objects.hashCode(this.createdAt);
hash = 23 * hash + Objects.hashCode(this.createdBy);
hash = 23 * hash + Objects.hashCode(this.modifiedAt);
hash = 23 * hash + Objects.hashCode(this.modifiedBy);
return hash;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final CreationalSpecification other = (CreationalSpecification) obj;
if (!Objects.equals(this.createdAt, other.createdAt)) {
return false;
}
if (!Objects.equals(this.createdBy, other.createdBy)) {
return false;
}
if (!Objects.equals(this.modifiedAt, other.modifiedAt)) {
return false;
}
if (!Objects.equals(this.modifiedBy, other.modifiedBy)) {
return false;
}
return true;
}
@Override
public boolean sameValueAs(CreationalSpecification other) {
return this.equals(other);
}
@Override
public String toString() {
return "CreationalSpecification{" + "createdAt=" + createdAt + ", createdBy=" + createdBy + ", modifiedAt=" + modifiedAt + ", modifiedBy=" + modifiedBy + '}';
}
public void updateModifiedAt() {
this.modifiedAt = new Date();
}
public void updateModified(CreationalSpecification creationalSpecification) {
this.modifiedAt = creationalSpecification.getModifiedAt();
this.modifiedBy = creationalSpecification.getModifiedBy();
}
public static CreationalSpecification getInstance() {
CreationalSpecification cs = new CreationalSpecificationBuilder()
.setCreatedAt(new Date())
.setCreatedBy("USER")
.createCreationalSpecification();
return cs;
}
public static CreationalSpecification getInstance(String nik) {
CreationalSpecification cs = new CreationalSpecificationBuilder()
.setCreatedAt(new Date())
.setCreatedBy(nik)
.createCreationalSpecification();
return cs;
}
}
package com.eksad.masterdata.domain;
import com.eksad.ddms.common.util.object.EntityObject;
import jakarta.persistence.*;
@Entity
@Table(name = "TRX_PARAMDPHLOJSON")
public class ParamDPHLOJSON implements EntityObject<ParamDPHLOJSON> {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "trx_param_dphlo_gen")
@SequenceGenerator(name = "trx_param_dphlo_gen", sequenceName = "trx_param_dphlo_seq", allocationSize = 1)
Integer id;
@Column(columnDefinition = "text")
private String json;
private String noInvoice;
private String poNumber;
@Embedded
private CreationalSpecification creationalSpecification;
public ParamDPHLOJSON() {
}
public ParamDPHLOJSON(String json, String noInvoice, String poNumber, CreationalSpecification creationalSpecification) {
this.json = json;
this.noInvoice = noInvoice;
this.poNumber = poNumber;
this.creationalSpecification = creationalSpecification;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getJson() {
return json;
}
public void setJson(String json) {
this.json = json;
}
public String getNoInvoice() {
return noInvoice;
}
public void setNoInvoice(String noInvoice) {
this.noInvoice = noInvoice;
}
public String getPoNumber() {
return poNumber;
}
public void setPoNumber(String poNumber) {
this.poNumber = poNumber;
}
public CreationalSpecification getCreationalSpecification() {
return creationalSpecification;
}
public void setCreationalSpecification(CreationalSpecification creationalSpecification) {
this.creationalSpecification = creationalSpecification;
}
@Override
public boolean sameIdentityAs(ParamDPHLOJSON other) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
package com.eksad.masterdata.domain;
import com.eksad.ddms.common.util.object.EntityObject;
import jakarta.persistence.*;
@Entity
@Table(name = "TRX_PARAMMANAGEPARTSALESJSON")
public class ParamManagePartSalesJSON implements EntityObject<ParamManagePartSalesJSON> {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "trx_param_manage_partsales_gen")
@SequenceGenerator(name = "trx_param_manage_partsales_gen", sequenceName = "trx_param_manage_partsales_seq", allocationSize = 1)
Integer id;
private String json;
@Embedded
private CreationalSpecification creationalSpecification;
public ParamManagePartSalesJSON() {
}
public ParamManagePartSalesJSON(String json, CreationalSpecification creationalSpecification) {
this.json = json;
this.creationalSpecification = creationalSpecification;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getJson() {
return json;
}
public void setJson(String json) {
this.json = json;
}
public CreationalSpecification getCreationalSpecification() {
return creationalSpecification;
}
public void setCreationalSpecification(CreationalSpecification creationalSpecification) {
this.creationalSpecification = creationalSpecification;
}
@Override
public boolean sameIdentityAs(ParamManagePartSalesJSON other) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
This diff is collapsed.
package com.eksad.masterdata.domain;
import com.eksad.ddms.common.util.object.EntityObject;
import jakarta.persistence.*;
@Entity
@Table(name = "TRX_PARTMANAGEINBOUNDPARAMJSON")
public class PartManageInboundParamJSON implements EntityObject<PartManageInboundParamJSON> {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "trx_param_manage_partinbound_gen")
@SequenceGenerator(name = "trx_param_manage_partinbound_gen", sequenceName = "trx_param_manage_partinbound_seq", allocationSize = 1)
Integer id;
private String json;
@Embedded
private CreationalSpecification creationalSpecification;
public PartManageInboundParamJSON() {
}
public PartManageInboundParamJSON(Integer id, String json, CreationalSpecification creationalSpecification) {
this.id = id;
this.json = json;
this.creationalSpecification = creationalSpecification;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Transient
public String getJson() {
return json;
}
public void setJson(String json) {
this.json = json;
}
public CreationalSpecification getCreationalSpecification() {
return creationalSpecification;
}
public void setCreationalSpecification(CreationalSpecification creationalSpecification) {
this.creationalSpecification = creationalSpecification;
}
@Override
public boolean sameIdentityAs(PartManageInboundParamJSON other) {
return this.equals(other);
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
package com.eksad.masterdata.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class UnpaidHLODetail {
private String partsNumber;
private Integer kuantitas;
private Integer hargaParts;
private Integer totalHargaParts;
private Double uangMuka;
private Double sisaBayar;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date createdTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date modifiedTime;
private Integer poDealerID;
}
package com.eksad.masterdata.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class UnpaidHLOHeader {
private Integer poDealerID;
private String idHLODocument;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date tanggalPemesananHLO;
private String noWorkOrder;
private String noBukuClaimC2;
private String noKTP;
private String namaCustomer;
private String alamat;
private String kodePropinsi;
private String kodeKota;
private String kodeKecamatan;
private String kodeKelurahan;
private String kodePos;
private String noKontak;
private String kodeTipeUnit;
private String tahunMotor;
private String noMesin;
private String noRangka;
private String flagNumbering;
private String vehicleOffRoad;
private String jobReturn;
private String dealerId;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date createdTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy hh:mm:ss")
private Date modifiedTime;
}
package com.eksad.masterdata.domain.assembler;
import com.eksad.ddms.common.util.object.IObjectAssembler;
import com.eksad.masterdata.common.dto.CreationalSpecificationDTO;
import com.eksad.masterdata.domain.CreationalSpecification;
import java.util.Date;
import java.util.HashSet;
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) {
CreationalSpecification dto = new CreationalSpecification();
dto.setCreatedAt(dtoObject.getCreatedAt() == null ? new Date() : dtoObject.getCreatedAt());
dto.setCreatedBy(dtoObject.getCreatedBy());
dto.setModifiedAt(dtoObject.getModifiedAt() == null ? new Date() : dtoObject.getCreatedAt());
dto.setModifiedBy(dtoObject.getModifiedBy());
return dto;
}
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(Set<CreationalSpecificationDTO> arg0) {
Set<CreationalSpecification> res = new HashSet<>();
arg0.forEach((o) -> {
res.add(toDomain(o));
});
return res;
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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