가격조사 상세 수정

This commit is contained in:
2025-05-28 06:28:59 +00:00
parent d8a7a570fa
commit 19d7bbf3b3
13 changed files with 393 additions and 118 deletions

View File

@@ -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"
}

View File

@@ -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

View File

@@ -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();
}
}

View File

@@ -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();
}
}

View 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();
}
}

View File

@@ -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();

View File

@@ -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)

View File

@@ -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);
/*입찰 상태 변경*/

View File

@@ -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, '%'))" +

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);