mirror of
https://git.hmsn.ink/kospo/svcm/api.git
synced 2026-03-19 21:05:06 +09:00
가격조사 상세 수정
This commit is contained in:
@@ -3,18 +3,23 @@ Content-Type: application/json
|
||||
|
||||
{
|
||||
"contNo": "CONT-0000000005",
|
||||
"lifnr": "999-99-99999",
|
||||
"gsber": "1000",
|
||||
"wrbtrS": "1102",
|
||||
"mwskz": "V4",
|
||||
"waers": "KRW",
|
||||
"bldat": "20250501",
|
||||
"budat": "20250502",
|
||||
"waers": "KRW",
|
||||
"bktxt": "전표 생성 테스트1",
|
||||
"lifnr": "999-99-99999",
|
||||
"wrbtr": "1203",
|
||||
"mwskz": "V4",
|
||||
"gsber": "1000",
|
||||
"bupla": "1000",
|
||||
"zterm": "PF00",
|
||||
"banks": "KR",
|
||||
"bankl": "012",
|
||||
"bankn": "3510876657453",
|
||||
"hkont": "5366010",
|
||||
"wrbtrS": "1102",
|
||||
"kostl": "12330",
|
||||
"projk": "",
|
||||
"wrbtr": "1203",
|
||||
"bvtyp": "3100",
|
||||
"bankl": "012",
|
||||
"bankn": "3510876657453"
|
||||
"trtGubun": "11",
|
||||
"txBillSeq": "202503231"
|
||||
}
|
||||
@@ -17,32 +17,44 @@ import java.util.List;
|
||||
public class SlipSaveRequest implements Serializable {
|
||||
@Schema(name = "contNo", description = "계약번호")
|
||||
String contNo;
|
||||
@Schema(name = "lifnr", description = "계약대상자")
|
||||
String lifnr;
|
||||
@Schema(name = "gsber", description = "사업영역코드")
|
||||
String gsber;
|
||||
@Schema(name = "wrbtrS", description = "전기금액(공급가액)")
|
||||
String wrbtrS;
|
||||
@Schema(name = "mwskz", description = "세금코드")
|
||||
String mwskz;
|
||||
@Schema(name = "waers", description = "통화코드")
|
||||
String waers;
|
||||
@Schema(name = "bldat", description = "증빙일")
|
||||
String bldat;
|
||||
@Schema(name = "budat", description = "전기일")
|
||||
String budat;
|
||||
@Schema(name = "hkont", description = "계정과목코드")
|
||||
String hkont;
|
||||
@Schema(name = "kostl", description = "코스트센터코드")
|
||||
String kostl;
|
||||
@Schema(name = "projk", description = "wbs요소코드")
|
||||
String projk;
|
||||
@Schema(name = "waers", description = "통화")
|
||||
String waers;
|
||||
@Schema(name = "bktxt", description = "전표헤더텍스트")
|
||||
String bktxt;
|
||||
@Schema(name = "lifnr", description = "구매처코드")
|
||||
String lifnr;
|
||||
@Schema(name = "wrbtr", description = "전기금액(공급가액+세액")
|
||||
String wrbtr;
|
||||
@Schema(name = "mwskz", description = "세금코드")
|
||||
String mwskz;
|
||||
@Schema(name = "gsber", description = "사업영역")
|
||||
String gsber;
|
||||
@Schema(name = "bupla", description = "사업장")
|
||||
String bupla;
|
||||
@Schema(name = "zterm", description = "지급조건")
|
||||
String zterm;
|
||||
@Schema(name = "banks", description = "은행국가키")
|
||||
String banks;
|
||||
@Schema(name = "bankl", description = "은행코드")
|
||||
String bankl;
|
||||
@Schema(name = "bankn", description = "계좌번호")
|
||||
String bankn;
|
||||
@Schema(name = "hkont", description = "계정과목코드")
|
||||
String hkont;
|
||||
@Schema(name = "wrbtrS", description = "전기금액(공급가액)")
|
||||
String wrbtrS;
|
||||
@Schema(name = "kostl", description = "코스트센터코드")
|
||||
String kostl;
|
||||
@Schema(name = "projk", description = "wbs요소코드")
|
||||
String projk;
|
||||
@Schema(name = "trtGubun", description = "전자세금계산서 처리구분자")
|
||||
String trtGubun;
|
||||
@Schema(name = "txBillSeq", description = "전자세금계산서 일련번호")
|
||||
String txBillSeq;
|
||||
List<SlipAttSaveRequest> slipAtts;
|
||||
|
||||
@Getter
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.kospo.svcm.dto.res;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.kospo.svcm.model.Estimate;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* DTO for {@link Estimate}
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@Schema(name = "EstimateResponse", description = "견적")
|
||||
public class EstimateDetailResponse implements Serializable {
|
||||
@Schema(name = "estNo", description = "견적관리번호")
|
||||
String estNo;
|
||||
@Schema(name = "mngNm", description = "담당자명")
|
||||
String mngNm;
|
||||
@Schema(name = "unitPrc", description = "단가")
|
||||
Integer unitPrc;
|
||||
@Schema(name = "amt", description = "금액")
|
||||
Integer amt;
|
||||
@Schema(name = "dtlSpNo", description = "상세규격번호")
|
||||
String dtlSpNo;
|
||||
@Schema(name = "regDt", description = "등록일시")
|
||||
String regDt;
|
||||
|
||||
public static EstimateDetailResponse from(Estimate estimate) {
|
||||
return EstimateDetailResponse.builder()
|
||||
.estNo(estimate.getEstNo())
|
||||
.mngNm(estimate.getMngNm())
|
||||
.dtlSpNo(estimate.getDtlSpNo())
|
||||
.unitPrc(estimate.getUnitPrc())
|
||||
.amt(estimate.getAmt())
|
||||
.regDt(estimate.getRegDt())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.kospo.svcm.dto.res;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.kospo.svcm.model.DtlSpec;
|
||||
import com.kospo.svcm.model.PrcsBiz;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* DTO for {@link DtlSpec}
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@Schema(name = "DtlSpecResponse", description = "상세규격")
|
||||
public class PrcsBizDetailResponse implements Serializable {
|
||||
@Schema(name = "prcsNo", description = "가격조사번호")
|
||||
String prcsNo;
|
||||
@Schema(name = "bizNo", description = "사업자번호")
|
||||
String bizNo;
|
||||
@Schema(name = "email", description = "이메일")
|
||||
String email;
|
||||
@Schema(name = "sendYn", description = "전송여부")
|
||||
Boolean sendYn;
|
||||
@Schema(name = "estStatCd", description = "입찰상태코드")
|
||||
String estStatCd;
|
||||
@Schema(name = "estStat", description = "입찰상태")
|
||||
String estStat;
|
||||
@Schema(name = "totAmt", description = "합계금액")
|
||||
int totAmt;
|
||||
List<EstimateDetailResponse> estimates;
|
||||
|
||||
public static PrcsBizDetailResponse from(PrcsBiz prcsBiz) {
|
||||
return PrcsBizDetailResponse.builder()
|
||||
.prcsNo(prcsBiz.getId().getPrcsNo())
|
||||
.bizNo(prcsBiz.getId().getBizNo())
|
||||
.email(prcsBiz.getEmail())
|
||||
.sendYn(prcsBiz.getSendYn())
|
||||
.estStatCd(prcsBiz.getEstStatCd())
|
||||
.estStat(prcsBiz.getEstStat())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
90
src/main/java/com/kospo/svcm/dto/res/PrcsDetailResponse.java
Normal file
90
src/main/java/com/kospo/svcm/dto/res/PrcsDetailResponse.java
Normal file
@@ -0,0 +1,90 @@
|
||||
package com.kospo.svcm.dto.res;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.kospo.svcm.model.Prcs;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* DTO for {@link Prcs}
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@Schema(name = "PrcsDetailResponse", description = "가격조사상세")
|
||||
public class PrcsDetailResponse implements Serializable {
|
||||
@Schema(name = "prcsNo", description = "가격조사번호")
|
||||
String prcsNo;
|
||||
@Schema(name = "cateCd", description = "분야코드")
|
||||
String cateCd;
|
||||
@Schema(name = "cateNm", description = "분야")
|
||||
String cateNm;
|
||||
@Schema(name = "title", description = "제목")
|
||||
String title;
|
||||
@Schema(name = "content", description = "내용")
|
||||
String content;
|
||||
@Schema(name = "regSdat", description = "등록시작일")
|
||||
String regSdat;
|
||||
@Schema(name = "regEdat", description = "등록종료일")
|
||||
String regEdat;
|
||||
@Schema(name = "prvYn", description = "비공개여부")
|
||||
Boolean prvYn;
|
||||
@Schema(name = "prvRsn", description = "비공개사유")
|
||||
String prvRsn;
|
||||
@Schema(name = "prvPwd", description = "비공개비밀번호")
|
||||
String prvPwd;
|
||||
@Schema(name = "aiYn", description = "ai검증여부")
|
||||
Boolean aiYn;
|
||||
@Schema(name = "regSabun", description = "등록사번")
|
||||
String regSabun;
|
||||
@Schema(name = "regNm", description = "등록자")
|
||||
String regNm;
|
||||
@Schema(name = "regDt", description = "등록일시")
|
||||
String regDt;
|
||||
@Schema(name = "stCd", description = "등록상태코드")
|
||||
String stCd;
|
||||
@Schema(name = "stNm", description = "등록상태")
|
||||
String stNm;
|
||||
@Schema(name = "svyYn", description = "조사완료여부")
|
||||
Boolean svyYn;
|
||||
@Schema(name = "svyDt", description = "조사완료일시")
|
||||
String svyDt;
|
||||
ApprMstResponse apprMst;
|
||||
List<PrcsAttResponse> prcsAtts;
|
||||
List<DtlSpecResponse> dtlSpecs;
|
||||
List<PrcsBizDetailResponse> prcsBizs;
|
||||
|
||||
public static PrcsDetailResponse from(Prcs prcs) {
|
||||
return PrcsDetailResponse.builder()
|
||||
.prcsNo(prcs.getPrcsNo())
|
||||
.cateCd(prcs.getCateCd())
|
||||
.cateNm(prcs.getCateNm())
|
||||
.title(prcs.getTitle())
|
||||
.content(prcs.getContent())
|
||||
.regSdat(prcs.getRegSdat())
|
||||
.regEdat(prcs.getRegEdat())
|
||||
.prvYn(prcs.getPrvYn())
|
||||
.prvRsn(prcs.getPrvRsn())
|
||||
.prvPwd(prcs.getPrvPwd())
|
||||
.aiYn(prcs.getAiYn())
|
||||
.regSabun(prcs.getRegSabun())
|
||||
.regNm(prcs.getRegNm())
|
||||
.stCd(prcs.getStCd())
|
||||
.stNm(prcs.getStNm())
|
||||
.svyYn(prcs.getSvyYn())
|
||||
.svyDt(prcs.getSvyDt())
|
||||
.regDt(prcs.getRegDt())
|
||||
.apprMst(prcs.getApprMst() == null ? null : ApprMstResponse.from(prcs.getApprMst()))
|
||||
.prcsAtts(prcs.getPrcsAtts() == null ? null : prcs.getPrcsAtts().stream().map(PrcsAttResponse::from).collect(Collectors.toList()))
|
||||
.dtlSpecs(prcs.getDtlSpecs() == null ? null : prcs.getDtlSpecs().stream().map(DtlSpecResponse::from).collect(Collectors.toList()))
|
||||
.prcsBizs(prcs.getPrcsBizs() == null ? null : prcs.getPrcsBizs().stream().map(PrcsBizDetailResponse::from).collect(Collectors.toList()))
|
||||
.build();
|
||||
}
|
||||
}
|
||||
@@ -21,47 +21,61 @@ import java.util.List;
|
||||
public class SlipResponse implements Serializable {
|
||||
@Schema(name = "contNo", description = "계약번호")
|
||||
String contNo;
|
||||
@Schema(name = "lifnr", description = "계약대상자")
|
||||
String lifnr;
|
||||
@Schema(name = "gsber", description = "사업영역코드")
|
||||
String gsber;
|
||||
@Schema(name = "wrbtrS", description = "전기금액(공급가액)")
|
||||
String wrbtrS;
|
||||
@Schema(name = "mwskz", description = "세금코드")
|
||||
String mwskz;
|
||||
@Schema(name = "waers", description = "통화코드")
|
||||
String waers;
|
||||
@Schema(name = "bldat", description = "증빙일")
|
||||
String bldat;
|
||||
@Schema(name = "budat", description = "전기일")
|
||||
String budat;
|
||||
@Schema(name = "hkont", description = "계정과목코드")
|
||||
String hkont;
|
||||
@Schema(name = "kostl", description = "코스트센터코드")
|
||||
String kostl;
|
||||
@Schema(name = "projk", description = "WBS요소코드")
|
||||
String projk;
|
||||
@Schema(name = "wrbtr", description = "전기금액(공급가액+세액)")
|
||||
@Schema(name = "waers", description = "통화")
|
||||
String waers;
|
||||
@Schema(name = "bktxt", description = "전표헤더텍스트")
|
||||
String bktxt;
|
||||
@Schema(name = "lifnr", description = "구매처코드")
|
||||
String lifnr;
|
||||
@Schema(name = "wrbtr", description = "전기금액(공급가액+세액")
|
||||
String wrbtr;
|
||||
@Schema(name = "bvtyp", description = "파트너은행")
|
||||
String bvtyp;
|
||||
@Schema(name = "bstat", description = "전표상태")
|
||||
String bstat;
|
||||
@Schema(name = "mwskz", description = "세금코드")
|
||||
String mwskz;
|
||||
@Schema(name = "gsber", description = "사업영역")
|
||||
String gsber;
|
||||
@Schema(name = "bupla", description = "사업장")
|
||||
String bupla;
|
||||
@Schema(name = "zterm", description = "지급조건")
|
||||
String zterm;
|
||||
@Schema(name = "banks", description = "은행국가키")
|
||||
String banks;
|
||||
@Schema(name = "bankl", description = "은행코드")
|
||||
String bankl;
|
||||
@Schema(name = "usnam", description = "전표생성자사번")
|
||||
@Schema(name = "bankn", description = "계좌번호")
|
||||
String bankn;
|
||||
@Schema(name = "hkont", description = "계정과목코드")
|
||||
String hkont;
|
||||
@Schema(name = "wrbtrS", description = "전기금액(공급가액)")
|
||||
String wrbtrS;
|
||||
@Schema(name = "kostl", description = "코스트센터코드")
|
||||
String kostl;
|
||||
@Schema(name = "projk", description = "wbs요소코드")
|
||||
String projk;
|
||||
@Schema(name = "usnam", description = "전표 생성자사번")
|
||||
String usnam;
|
||||
@Schema(name = "gjahr", description = "회계년도")
|
||||
String gjahr;
|
||||
@Schema(name = "url", description = "증빙문서url")
|
||||
String url;
|
||||
@Schema(name = "trtGubun", description = "전자세금계산서 처리구분자")
|
||||
String trtGubun;
|
||||
@Schema(name = "txBillSeq", description = "전자세금계산서 일련번호")
|
||||
String txBillSeq;
|
||||
@Schema(name = "bukrs", description = "회사코드")
|
||||
String bukrs;
|
||||
@Schema(name = "belnr", description = "전표번호")
|
||||
String belnr;
|
||||
@Schema(name = "bukrs", description = "남부발전코드(1000)")
|
||||
String bukrs;
|
||||
@Schema(name = "gjahr", description = "회계연도")
|
||||
String gjahr;
|
||||
@Schema(name = "type", description = "메시지유형")
|
||||
String type;
|
||||
@Schema(name = "message", description = "메시지")
|
||||
@Schema(name = "message", description = "메시지유형")
|
||||
String message;
|
||||
@Schema(name = "regDt", description = "결재순번")
|
||||
@Schema(name = "regSabun", description = "등록자")
|
||||
String regSabun;
|
||||
@Schema(name = "regDt", description = "등록일시")
|
||||
String regDt;
|
||||
List<SlipAttResponse> slipAtts;
|
||||
|
||||
@@ -69,25 +83,33 @@ public class SlipResponse implements Serializable {
|
||||
public static SlipResponse to(Slip slip) {
|
||||
return SlipResponse.builder()
|
||||
.contNo(slip.getContNo())
|
||||
.lifnr(slip.getLifnr())
|
||||
.gsber(slip.getGsber())
|
||||
.wrbtrS(slip.getWrbtrS())
|
||||
.mwskz(slip.getMwskz())
|
||||
.waers(slip.getWaers())
|
||||
.bldat(slip.getBldat())
|
||||
.budat(slip.getBudat())
|
||||
.waers(slip.getWaers())
|
||||
.bktxt(slip.getBktxt())
|
||||
.lifnr(slip.getLifnr())
|
||||
.wrbtr(slip.getWrbtr())
|
||||
.mwskz(slip.getMwskz())
|
||||
.gsber(slip.getGsber())
|
||||
.bupla(slip.getBupla())
|
||||
.zterm(slip.getZterm())
|
||||
.banks(slip.getBanks())
|
||||
.bankl(slip.getBankl())
|
||||
.bankn(slip.getBankn())
|
||||
.hkont(slip.getHkont())
|
||||
.wrbtrS(slip.getWrbtrS())
|
||||
.kostl(slip.getKostl())
|
||||
.projk(slip.getProjk())
|
||||
.wrbtr(slip.getWrbtr())
|
||||
.bvtyp(slip.getBvtyp())
|
||||
.bstat(slip.getBstat())
|
||||
.usnam(slip.getUsnam())
|
||||
.gjahr(slip.getGjahr())
|
||||
.belnr(slip.getBelnr())
|
||||
.url(slip.getUrl())
|
||||
.trtGubun(slip.getTrtGubun())
|
||||
.txBillSeq(slip.getTxBillSeq())
|
||||
.bukrs(slip.getBukrs())
|
||||
.belnr(slip.getBelnr())
|
||||
.gjahr(slip.getGjahr())
|
||||
.type(slip.getType())
|
||||
.message(slip.getMessage())
|
||||
.regSabun(slip.getRegSabun())
|
||||
.regDt(slip.getRegDt())
|
||||
.slipAtts(slip.getSlipAtts() == null ? null : slip.getSlipAtts().stream().map(SlipAttResponse::from).toList())
|
||||
.build();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.kospo.svcm.model;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.*;
|
||||
|
||||
@@ -19,26 +20,6 @@ public class Slip {
|
||||
@Column(name = "cont_no", nullable = false, length = 20)
|
||||
private String contNo;
|
||||
|
||||
@Size(max = 20)
|
||||
@Column(name = "lifnr", length = 20)
|
||||
private String lifnr;
|
||||
|
||||
@Size(max = 4)
|
||||
@Column(name = "gsber", length = 4)
|
||||
private String gsber;
|
||||
|
||||
@Size(max = 31)
|
||||
@Column(name = "wrbtr_s", length = 31)
|
||||
private String wrbtrS;
|
||||
|
||||
@Size(max = 2)
|
||||
@Column(name = "mwskz", length = 2)
|
||||
private String mwskz;
|
||||
|
||||
@Size(max = 5)
|
||||
@Column(name = "waers", length = 5)
|
||||
private String waers;
|
||||
|
||||
@Size(max = 8)
|
||||
@Column(name = "bldat", length = 8)
|
||||
private String bldat;
|
||||
@@ -47,10 +28,59 @@ public class Slip {
|
||||
@Column(name = "budat", length = 8)
|
||||
private String budat;
|
||||
|
||||
@Size(max = 5)
|
||||
@Column(name = "waers", length = 5)
|
||||
private String waers;
|
||||
|
||||
@Size(max = 75)
|
||||
@Column(name = "bktxt", length = 75)
|
||||
private String bktxt;
|
||||
|
||||
@Size(max = 20)
|
||||
@Column(name = "lifnr", length = 20)
|
||||
private String lifnr;
|
||||
|
||||
@Size(max = 31)
|
||||
@Column(name = "wrbtr", length = 31)
|
||||
private String wrbtr;
|
||||
|
||||
@Size(max = 2)
|
||||
@NotNull
|
||||
@Column(name = "mwskz", nullable = false, length = 2)
|
||||
private String mwskz;
|
||||
|
||||
@Size(max = 4)
|
||||
@Column(name = "gsber", length = 4)
|
||||
private String gsber;
|
||||
|
||||
@Size(max = 4)
|
||||
@Column(name = "bupla", length = 4)
|
||||
private String bupla;
|
||||
|
||||
@Size(max = 4)
|
||||
@Column(name = "zterm", length = 4)
|
||||
private String zterm;
|
||||
|
||||
@Size(max = 3)
|
||||
@Column(name = "banks", length = 3)
|
||||
private String banks;
|
||||
|
||||
@Size(max = 45)
|
||||
@Column(name = "bankl", length = 45)
|
||||
private String bankl;
|
||||
|
||||
@Size(max = 60)
|
||||
@Column(name = "bankn", length = 60)
|
||||
private String bankn;
|
||||
|
||||
@Size(max = 10)
|
||||
@Column(name = "hkont", length = 10)
|
||||
private String hkont;
|
||||
|
||||
@Size(max = 31)
|
||||
@Column(name = "wrbtr_s", length = 31)
|
||||
private String wrbtrS;
|
||||
|
||||
@Size(max = 10)
|
||||
@Column(name = "kostl", length = 10)
|
||||
private String kostl;
|
||||
@@ -59,33 +89,33 @@ public class Slip {
|
||||
@Column(name = "projk", length = 24)
|
||||
private String projk;
|
||||
|
||||
@Size(max = 31)
|
||||
@Column(name = "wrbtr", length = 31)
|
||||
private String wrbtr;
|
||||
|
||||
@Size(max = 4)
|
||||
@Column(name = "bvtyp", length = 4)
|
||||
private String bvtyp;
|
||||
|
||||
@Size(max = 1)
|
||||
@Column(name = "bstat", length = 1)
|
||||
private String bstat;
|
||||
|
||||
@Size(max = 12)
|
||||
@Column(name = "usnam", length = 12)
|
||||
private String usnam;
|
||||
|
||||
@Size(max = 200)
|
||||
@Column(name = "url", length = 200)
|
||||
private String url;
|
||||
|
||||
@Size(max = 2)
|
||||
@Column(name = "trt_gubun", length = 2)
|
||||
private String trtGubun;
|
||||
|
||||
@Size(max = 15)
|
||||
@Column(name = "tx_bill_seq", length = 15)
|
||||
private String txBillSeq;
|
||||
|
||||
@Size(max = 4)
|
||||
@Column(name = "gjahr", length = 4)
|
||||
private String gjahr;
|
||||
@Column(name = "bukrs", length = 4)
|
||||
private String bukrs;
|
||||
|
||||
@Size(max = 10)
|
||||
@Column(name = "belnr", length = 10)
|
||||
private String belnr;
|
||||
|
||||
@Size(max = 4)
|
||||
@Column(name = "bukrs", length = 4)
|
||||
private String bukrs;
|
||||
@Column(name = "gjahr", length = 4)
|
||||
private String gjahr;
|
||||
|
||||
@Size(max = 1)
|
||||
@Column(name = "type", length = 1)
|
||||
|
||||
@@ -12,8 +12,8 @@ public interface PrcsBizRepository extends JpaRepository<PrcsBiz, PrcsBizId> {
|
||||
"inner join ApprMst am on am.prcsNo = p.prcsNo \n" +
|
||||
"and pb.id.bizNo = :bizNo " +
|
||||
"and p.stCd = '0200' and pb.estStatCd = '0000' and am.apprStatCd = '0200' " +
|
||||
"and p.regSdat >= to_char(current_date, 'yyyy-MM-dd') " +
|
||||
"and p.regEdat <= to_char(current_date, 'yyyy-MM-dd') ")
|
||||
"and p.regSdat <= to_char(current_date, 'yyyy-MM-dd') " +
|
||||
"and p.regEdat >= to_char(current_date, 'yyyy-MM-dd') ")
|
||||
int countReqByBizNo(String bizNo);
|
||||
|
||||
/*입찰 상태 변경*/
|
||||
|
||||
@@ -98,8 +98,8 @@ public interface PrcsRepository extends JpaRepository<Prcs, String> {
|
||||
"inner join ApprMst am on am.prcsNo = p.prcsNo \n" +
|
||||
"and pb.id.bizNo = :bizNo " +
|
||||
"and p.stCd = '0200' and pb.estStatCd = '0000' and am.apprStatCd = '0200' " +
|
||||
"and p.regSdat >= to_char(current_date, 'yyyy-MM-dd') " +
|
||||
"and p.regEdat <= to_char(current_date, 'yyyy-MM-dd') " +
|
||||
"and p.regSdat <= to_char(current_date, 'yyyy-MM-dd') " +
|
||||
"and p.regEdat >= to_char(current_date, 'yyyy-MM-dd') " +
|
||||
"and (:cateCd is null or :cateCd = '' or p.cateCd = :cateCd) " +
|
||||
"and (:regNm is null or :regNm = '' or p.regNm like concat('%', :regNm, '%'))" +
|
||||
"and (:title is null or :title = '' or p.title like concat('%', :title, '%'))" +
|
||||
|
||||
@@ -3,8 +3,6 @@ package com.kospo.svcm.repository;
|
||||
import com.kospo.svcm.model.Slip;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface SlipRepository extends JpaRepository<Slip, String> {
|
||||
Slip findByContNo(String contNo);
|
||||
Slip findByBelnr(String belnr);
|
||||
|
||||
@@ -2,10 +2,7 @@ package com.kospo.svcm.service;
|
||||
|
||||
import com.kospo.svcm.dto.req.PrcsSaveRequest;
|
||||
import com.kospo.svcm.dto.req.PrcsUpdateRequest;
|
||||
import com.kospo.svcm.dto.res.ContPrcsResponse;
|
||||
import com.kospo.svcm.dto.res.PageResponse;
|
||||
import com.kospo.svcm.dto.res.PrcsExternalResponse;
|
||||
import com.kospo.svcm.dto.res.PrcsResponse;
|
||||
import com.kospo.svcm.dto.res.*;
|
||||
import com.kospo.svcm.model.PrcsAtt;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -25,7 +22,7 @@ public interface PrcsService {
|
||||
PageResponse findSearch(String cateCd, String stCd, String regNm, String regSdt, String regEdt, Pageable pageable);
|
||||
|
||||
@Transactional
|
||||
PrcsResponse findDetail(String prcsNo);
|
||||
PrcsDetailResponse findDetail(String prcsNo);
|
||||
|
||||
@Transactional
|
||||
PrcsResponse findByApprNoDetail(String apprNo);
|
||||
|
||||
@@ -115,10 +115,20 @@ public class PrcsServiceImpl implements PrcsService {
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public PrcsResponse findDetail(String prcsNo) {
|
||||
public PrcsDetailResponse findDetail(String prcsNo) {
|
||||
Optional<Prcs> optionalPrcs = prcsRepository.findById(prcsNo);
|
||||
if(optionalPrcs.isPresent()) {
|
||||
return PrcsResponse.from(optionalPrcs.get());
|
||||
PrcsDetailResponse prcsResponse = PrcsDetailResponse.from(optionalPrcs.get());
|
||||
prcsResponse.getPrcsBizs().forEach(prcsBiz -> {
|
||||
List<Estimate> estimates = estimateRepository.findByBizNoAndPrcsNo(prcsBiz.getBizNo(), prcsBiz.getPrcsNo());
|
||||
int totAmt = estimates.stream().mapToInt(Estimate::getAmt).sum();
|
||||
prcsBiz.setTotAmt(totAmt);
|
||||
prcsBiz.setEstimates(estimates.stream().map(estimate ->{
|
||||
EstimateDetailResponse estimateDetailResponse = EstimateDetailResponse.from(estimate);
|
||||
return estimateDetailResponse;
|
||||
}).toList());
|
||||
});
|
||||
return prcsResponse;
|
||||
} else {
|
||||
throw new CustomException(ErrorCode.FIND_ERR);
|
||||
}
|
||||
|
||||
@@ -58,20 +58,28 @@ public class SlipServiceImpl implements SlipService {
|
||||
if(cont != null) {
|
||||
Slip slip = slipRepository.save(Slip.builder()
|
||||
.contNo(slipSaveRequest.getContNo())
|
||||
.lifnr(slipSaveRequest.getLifnr())
|
||||
.gsber(slipSaveRequest.getGsber())
|
||||
.wrbtrS(slipSaveRequest.getWrbtrS())
|
||||
.mwskz(slipSaveRequest.getMwskz())
|
||||
.waers(slipSaveRequest.getWaers())
|
||||
.bldat(slipSaveRequest.getBldat())
|
||||
.budat(slipSaveRequest.getBudat())
|
||||
.waers(slipSaveRequest.getWaers())
|
||||
.bktxt(slipSaveRequest.getBktxt())
|
||||
.lifnr(slipSaveRequest.getLifnr())
|
||||
.wrbtr(slipSaveRequest.getWrbtr())
|
||||
.mwskz(slipSaveRequest.getMwskz())
|
||||
.gsber(slipSaveRequest.getGsber())
|
||||
.bupla(slipSaveRequest.getBupla())
|
||||
.zterm(slipSaveRequest.getZterm())
|
||||
.banks(slipSaveRequest.getBanks())
|
||||
.bankl(slipSaveRequest.getBankl())
|
||||
.bankn(slipSaveRequest.getBankn())
|
||||
.hkont(slipSaveRequest.getHkont())
|
||||
.wrbtrS(slipSaveRequest.getWrbtrS())
|
||||
.kostl(slipSaveRequest.getKostl())
|
||||
.projk(slipSaveRequest.getProjk())
|
||||
.usnam(user.getSabun())
|
||||
.url("전표 상세 페이지 url 필요 ex) http://svcm.kospo.co.kr/slip/{cont_no}")
|
||||
.trtGubun(slipSaveRequest.getTrtGubun())
|
||||
.txBillSeq(slipSaveRequest.getTxBillSeq())
|
||||
.regSabun(user.getSabun())
|
||||
.wrbtr(String.valueOf(Integer.parseInt(slipSaveRequest.getWrbtrS()) + Math.floor((Integer.parseInt(slipSaveRequest.getWrbtrS())* 0.1))))
|
||||
.regDt(CommonUtils.dateFormat("yyyy-MM-dd HH:mm:ss"))
|
||||
.build());
|
||||
List<SlipAtt> slipAtts = null;
|
||||
@@ -101,6 +109,14 @@ public class SlipServiceImpl implements SlipService {
|
||||
}
|
||||
|
||||
slip.setSlipAtts(slipAtts);
|
||||
|
||||
/*임시 전표 생성 eai호출영역 start*/
|
||||
slip.setBukrs("1000");
|
||||
slip.setBelnr(CommonUtils.dateFormat("yyyyMMddHHmmss"));
|
||||
slip.setGjahr(CommonUtils.dateFormat("yyyy"));
|
||||
slip.setType("S");
|
||||
/*임시 전표 생성 eai호출영역 end*/
|
||||
slipRepository.save(slip);
|
||||
return SlipResponse.to(slip);
|
||||
} else {
|
||||
throw new CustomException(ErrorCode.SAVE_ERR);
|
||||
|
||||
Reference in New Issue
Block a user