From 9006d108aa2e8c32915b65c4fed989715472ce49 Mon Sep 17 00:00:00 2001 From: bangae1 Date: Mon, 26 May 2025 01:54:37 +0000 Subject: [PATCH] =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/approval/가격조사 결재 상태 변경.http | 8 ++--- api/price_survey/가격조사완료처리.http | 2 +- api/price_survey/가격조사저장.http | 10 +++++-- api/sapAppr/sap결재저장.http | 2 +- .../svcm/config/security/SecurityConfig.java | 2 +- .../kospo/svcm/repository/PrcsRepository.java | 2 +- .../service/impl/EstimateServiceImpl.java | 29 ++++++++++++++++++- 7 files changed, 44 insertions(+), 11 deletions(-) diff --git a/api/approval/가격조사 결재 상태 변경.http b/api/approval/가격조사 결재 상태 변경.http index ff87d52..5344430 100644 --- a/api/approval/가격조사 결재 상태 변경.http +++ b/api/approval/가격조사 결재 상태 변경.http @@ -1,11 +1,11 @@ PUT http://localhost:8010//api/appr -sabun: 17131303 +sabun: 17131304 Content-Type: application/json { - "apprNo": "APPR-0000000052", - "apprOrd": 2, - "sabun": "17131303", + "apprNo": "APPR-0000000040", + "apprOrd": 4, + "sabun": "17131304", "apprStatCd": "0200", "reason": "" } diff --git a/api/price_survey/가격조사완료처리.http b/api/price_survey/가격조사완료처리.http index 9dd6f59..4fe3f6b 100644 --- a/api/price_survey/가격조사완료처리.http +++ b/api/price_survey/가격조사완료처리.http @@ -1,4 +1,4 @@ -PUT http://localhost:8010/api/prcs/survey/PRCS-20250522038 +PUT http://localhost:8010/api/prcs/survey/PRCS-20250526039 Content-Type: application/json ### \ No newline at end of file diff --git a/api/price_survey/가격조사저장.http b/api/price_survey/가격조사저장.http index ee51f12..00fa4ef 100644 --- a/api/price_survey/가격조사저장.http +++ b/api/price_survey/가격조사저장.http @@ -2,8 +2,8 @@ POST http://localhost:8010//api/prcs Content-Type: application/json { - "cateCd": "0200", - "title": "가격조사 시나리오 테스트99", + "cateCd": "0100", + "title": "가격조사 시나리오 테스트22", "content": "시나리오테스트입니다.\n시나리오테스트입니다.\n시나리오테스트입니다.\n시나리오테스트입니다.\n시나리오테스트입니다.\n시나리오테스트입니다.\n시나리오테스트입니다.\n시나리오테스트입니다.\n시나리오테스트입니다.\n시나리오테스트입니다.\n시나리오테스트입니다.\n시나리오테스트입니다.\n", "regSdat": "2025-04-01", "regEdat": "2025-05-22", @@ -32,6 +32,12 @@ Content-Type: application/json "name": "조진우", "attendCd": null }, + { + "gubunCd": "0100", + "sabun": "psn25226", + "name": "김건", + "attendCd": null + }, { "gubunCd": "0100", "sabun": "17131303", diff --git a/api/sapAppr/sap결재저장.http b/api/sapAppr/sap결재저장.http index cce8875..e453d75 100644 --- a/api/sapAppr/sap결재저장.http +++ b/api/sapAppr/sap결재저장.http @@ -3,7 +3,7 @@ Content-Type: application/json { "belnr": "202500102045", - "wkftx": "자재유형:SILLING, 품질등급 E:, 자재내역 : SUS", + "wkftx": "결재 테스트 11", "apprs": [ { "label": "결재", diff --git a/src/main/java/com/kospo/svcm/config/security/SecurityConfig.java b/src/main/java/com/kospo/svcm/config/security/SecurityConfig.java index d7cd4a3..e8db6af 100644 --- a/src/main/java/com/kospo/svcm/config/security/SecurityConfig.java +++ b/src/main/java/com/kospo/svcm/config/security/SecurityConfig.java @@ -64,7 +64,7 @@ public class SecurityConfig { CorsConfiguration config = new CorsConfiguration(); // String origin = request.getHeader("Origin"); config.setAllowCredentials(true); - config.setAllowedOrigins(List.of("http://localhost:3000", "http://hmsn.ink:3000", "http://hmsn.ink:8010", "http://hmsn.ink", "https://svcm.hmsn.ink", "http://182.227.15.92:3000")); + config.setAllowedOrigins(List.of("https://dmz.hmsn.ink","http://localhost:3000", "http://hmsn.ink:3000", "http://hmsn.ink:8010", "http://hmsn.ink", "https://svcm.hmsn.ink", "http://182.227.15.92:3000")); config.setAllowedMethods(List.of("POST","GET","DELETE","PUT","OPTIONS")); config.setAllowedHeaders(List.of("*")); config.setExposedHeaders(List.of("*")); diff --git a/src/main/java/com/kospo/svcm/repository/PrcsRepository.java b/src/main/java/com/kospo/svcm/repository/PrcsRepository.java index 6f2f1d7..52053eb 100644 --- a/src/main/java/com/kospo/svcm/repository/PrcsRepository.java +++ b/src/main/java/com/kospo/svcm/repository/PrcsRepository.java @@ -97,7 +97,7 @@ public interface PrcsRepository extends JpaRepository { "inner join PrcsBiz pb on p.prcsNo = pb.id.prcsNo \n" + "inner join ApprMst am on am.prcsNo = p.prcsNo \n" + "and pb.id.bizNo = :bizNo " + - "and p.stCd = '0100' and pb.estStatCd = '0000' and am.apprStatCd = '0200' " + + "and p.stCd = '0200' and pb.estStatCd = '0000' and am.apprStatCd = '0200' " + "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, '%'))" + diff --git a/src/main/java/com/kospo/svcm/service/impl/EstimateServiceImpl.java b/src/main/java/com/kospo/svcm/service/impl/EstimateServiceImpl.java index 2db87a4..5ab7468 100644 --- a/src/main/java/com/kospo/svcm/service/impl/EstimateServiceImpl.java +++ b/src/main/java/com/kospo/svcm/service/impl/EstimateServiceImpl.java @@ -10,6 +10,7 @@ import com.kospo.svcm.dto.res.EstimateListResponse; import com.kospo.svcm.dto.res.EstimateResponse; import com.kospo.svcm.dto.res.PbAttResponse; import com.kospo.svcm.exception.CustomException; +import com.kospo.svcm.exception.CustomMessageException; import com.kospo.svcm.model.*; import com.kospo.svcm.repository.*; import com.kospo.svcm.service.EstimateService; @@ -23,7 +24,9 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; +import java.util.Date; import java.util.List; +import java.util.Optional; import java.util.concurrent.atomic.AtomicInteger; @Service @@ -53,9 +56,21 @@ public class EstimateServiceImpl implements EstimateService { List bids = new ArrayList<>(); + String prcsNo = bidListSaveRequest.getEstimates().get(0).getPrcsNo(); + + Optional optionalPrcs = prcsRepository.findById(prcsNo); + if(optionalPrcs.isEmpty()) throw new CustomException(ErrorCode.FIND_ERR); + + Prcs prcs = optionalPrcs.get(); + Date now = new Date(); + if(CommonUtils.stringToDate(prcs.getRegEdat()).getTime() <= now.getTime()) throw new CustomMessageException(CustomMessageException.CusMessage.builder() + .code("999999") + .message("등록기간이 종료 되었습니다.") + .build()); + /*입찰사업자 투찰 상태로 변경*/ PrcsBiz prcsBiz = prcsBizRepository.findById(PrcsBizId.builder() - .prcsNo(bidListSaveRequest.getEstimates().get(0).getPrcsNo()) + .prcsNo(prcsNo) .bizNo(business.getBizNo()) .build()).get(); prcsBiz.setEstStatCd("0100"); @@ -120,6 +135,18 @@ public class EstimateServiceImpl implements EstimateService { public EstimateListResponse update(String bizNo, EstimateListUpdateRequest estimateListUpdateRequest) { List bids = new ArrayList<>(); + String prcsNo = estimateListUpdateRequest.getEstimates().get(0).getPrcsNo(); + + Optional optionalPrcs = prcsRepository.findById(prcsNo); + if(optionalPrcs.isEmpty()) throw new CustomException(ErrorCode.FIND_ERR); + + Prcs prcs = optionalPrcs.get(); + Date now = new Date(); + if(CommonUtils.stringToDate(prcs.getRegEdat()).getTime() <= now.getTime()) throw new CustomMessageException(CustomMessageException.CusMessage.builder() + .code("999999") + .message("등록기간이 종료 되었습니다.") + .build()); + estimateListUpdateRequest.getEstimates().stream().forEach((bidRequest) -> { String estNo = ""; if (bidRequest.getEstNo() != null) {