소스 goolge-java-formatter 적용

This commit is contained in:
LAPTOP-L3VE7KK2\USER 2024-09-25 16:41:32 +09:00
parent c2a5ac72b8
commit 9cd928ccb0
12 changed files with 1049 additions and 865 deletions

View File

@ -5,49 +5,46 @@ import com.interplug.qcast.biz.object.ObjectService;
import com.interplug.qcast.biz.object.dto.ObjectRequest;
import com.interplug.qcast.biz.object.dto.ObjectResponse;
import com.interplug.qcast.biz.object.dto.SaleStoreResponse;
import com.interplug.qcast.config.message.Messages;
import io.swagger.v3.oas.annotations.Operation;
import java.util.List;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j
@RestController
@RequestMapping("/api/main-page")
@RequiredArgsConstructor
public class MainPageController {
private final ObjectService objectService;
private final ObjectService objectService;
@Operation(description = "메인 물건정보 목록을 조회한다.")
@GetMapping("/object/{saleStoreId}/list")
@ResponseStatus(HttpStatus.OK)
public MainPageResponse selectObjectList(@PathVariable String saleStoreId) throws Exception {
MainPageResponse mainPageResponse = new MainPageResponse();
@Operation(description = "메인 물건정보 목록을 조회한다.")
@GetMapping("/object/{saleStoreId}/list")
@ResponseStatus(HttpStatus.OK)
public MainPageResponse selectObjectList(@PathVariable String saleStoreId) throws Exception {
MainPageResponse mainPageResponse = new MainPageResponse();
// 판매점명 조회
SaleStoreResponse saleStoreResponse = objectService.selectSaleStoreInfo(saleStoreId);
if (saleStoreResponse != null) {
mainPageResponse.setSaleStoreId(saleStoreId);
mainPageResponse.setSaleStoreName(saleStoreResponse.getSaleStoreName());
mainPageResponse.setBusinessCharger(saleStoreResponse.getBusinessCharger());
mainPageResponse.setBusinessChargerTel(saleStoreResponse.getBusinessChargerTel());
mainPageResponse.setBusinessChargerMail(saleStoreResponse.getBusinessChargerMail());
}
// 물건정보 목록 조회
ObjectRequest objectRequest = new ObjectRequest();
objectRequest.setSaleStoreId(saleStoreId);
objectRequest.setStartRow("1");
objectRequest.setEndRow("3");
List<ObjectResponse> objectList = objectService.selectObjectList(objectRequest);
mainPageResponse.setObjectList(objectList);
return mainPageResponse;
// 판매점명 조회
SaleStoreResponse saleStoreResponse = objectService.selectSaleStoreInfo(saleStoreId);
if (saleStoreResponse != null) {
mainPageResponse.setSaleStoreId(saleStoreId);
mainPageResponse.setSaleStoreName(saleStoreResponse.getSaleStoreName());
mainPageResponse.setBusinessCharger(saleStoreResponse.getBusinessCharger());
mainPageResponse.setBusinessChargerTel(saleStoreResponse.getBusinessChargerTel());
mainPageResponse.setBusinessChargerMail(saleStoreResponse.getBusinessChargerMail());
}
// 물건정보 목록 조회
ObjectRequest objectRequest = new ObjectRequest();
objectRequest.setSaleStoreId(saleStoreId);
objectRequest.setStartRow("1");
objectRequest.setEndRow("3");
List<ObjectResponse> objectList = objectService.selectObjectList(objectRequest);
mainPageResponse.setObjectList(objectList);
return mainPageResponse;
}
}

View File

@ -1,29 +1,31 @@
package com.interplug.qcast.biz.mainPage.dto;
import com.interplug.qcast.biz.object.dto.ObjectResponse;
import com.interplug.qcast.biz.object.dto.PlanResponse;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
//@Data
// @Data
@Getter
@Setter
public class MainPageResponse {
// 판매점정보
@Schema(description = "판매점ID")
private String saleStoreId;
@Schema(description = "판매점명")
private String saleStoreName;
@Schema(description = "영업사원명")
private String businessCharger;
@Schema(description = "영업사원 연락처")
private String businessChargerTel;
@Schema(description = "영업사원 메일주소")
private String businessChargerMail;
// 판매점정보
@Schema(description = "판매점ID")
private String saleStoreId;
@Schema(description = "물건정보 목록")
private List<ObjectResponse> objectList;
@Schema(description = "판매점명")
private String saleStoreName;
@Schema(description = "영업사원명")
private String businessCharger;
@Schema(description = "영업사원 연락처")
private String businessChargerTel;
@Schema(description = "영업사원 메일주소")
private String businessChargerMail;
@Schema(description = "물건정보 목록")
private List<ObjectResponse> objectList;
}

View File

@ -3,100 +3,101 @@ package com.interplug.qcast.biz.object;
import com.interplug.qcast.biz.object.dto.*;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import java.util.List;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j
@RestController
@RequestMapping("/api/object")
@RequiredArgsConstructor
@Tag(name = "ObjectController", description = "물건정보 관련 API")
public class ObjectController {
// @Autowired private ObjectService objectService;
private final ObjectService objectService;
// @Autowired private ObjectService objectService;
private final ObjectService objectService;
@Operation(description = "물건정보 도도부현을 조회한다.")
@GetMapping("/prefecture/list")
@ResponseStatus(HttpStatus.OK)
public List<PrefResponse> selectPrefList() throws Exception {
return objectService.selectPrefList();
}
@Operation(description = "물건정보 도도부현을 조회한다.2")
@GetMapping("/prefecture/list")
@ResponseStatus(HttpStatus.OK)
public List<PrefResponse> selectPrefList() throws Exception {
return objectService.selectPrefList();
}
@Operation(description = "물건정보 도도부현 발전시뮬레이션 지역을 조회한다.")
@GetMapping("/prefecture/{prefId}/list")
@ResponseStatus(HttpStatus.OK)
public List<PrefResponse> selectPrefAreaList(@PathVariable String prefId) throws Exception {
return objectService.selectPrefAreaList(prefId);
}
@Operation(description = "물건정보 도도부현 발전시뮬레이션 지역을 조회한다.")
@GetMapping("/prefecture/{prefId}/list")
@ResponseStatus(HttpStatus.OK)
public List<PrefResponse> selectPrefAreaList(@PathVariable String prefId) throws Exception {
return objectService.selectPrefAreaList(prefId);
}
@Operation(description = "물건정보 지역 기준풍속을 조회한다.")
@GetMapping("/windSpeed/{city}/list")
@ResponseStatus(HttpStatus.OK)
public List<WindSpeedResponse> selectWindSpeedList(@PathVariable String city) throws Exception {
return objectService.selectWindSpeedList(city);
}
@Operation(description = "물건정보 지역 기준풍속을 조회한다.")
@GetMapping("/windSpeed/{city}/list")
@ResponseStatus(HttpStatus.OK)
public List<WindSpeedResponse> selectWindSpeedList(@PathVariable String city) throws Exception {
return objectService.selectWindSpeedList(city);
}
@Operation(description = "판매점 목록을 조회한다.")
@GetMapping("/saleStore/{saleStoreId}/list")
@ResponseStatus(HttpStatus.OK)
public List<SaleStoreResponse> selectSaleStoreList(@PathVariable String saleStoreId) throws Exception {
return objectService.selectSaleStoreList(saleStoreId);
}
@Operation(description = "판매점 목록을 조회한다.")
@GetMapping("/saleStore/{saleStoreId}/list")
@ResponseStatus(HttpStatus.OK)
public List<SaleStoreResponse> selectSaleStoreList(@PathVariable String saleStoreId)
throws Exception {
return objectService.selectSaleStoreList(saleStoreId);
}
@Operation(description = "물건정보 목록을 조회한다.")
@GetMapping("/list")
@ResponseStatus(HttpStatus.OK)
public List<ObjectResponse> selectObjectList(ObjectRequest objectRequest) throws Exception {
return objectService.selectObjectList(objectRequest);
}
@Operation(description = "물건정보 목록을 조회한다.11")
@GetMapping("/list")
@ResponseStatus(HttpStatus.OK)
public List<ObjectResponse> selectObjectList(ObjectRequest objectRequest) throws Exception {
return objectService.selectObjectList(objectRequest);
}
@Operation(description = "물건정보 상세를 조회한다.")
@GetMapping("/{objectNo}/detail")
@ResponseStatus(HttpStatus.OK)
public ObjectResponse selectObjectDetail(@PathVariable String objectNo) throws Exception {
return objectService.selectObjectDetail(objectNo);
}
@Operation(description = "물건정보 상세를 조회한다.")
@GetMapping("/{objectNo}/detail")
@ResponseStatus(HttpStatus.OK)
public ObjectResponse selectObjectDetail(@PathVariable String objectNo) throws Exception {
return objectService.selectObjectDetail(objectNo);
}
@Operation(description = "물건정보을 저장한다.")
@PostMapping("/save-object")
@ResponseStatus(HttpStatus.CREATED)
public ObjectResponse insertObject(@RequestBody ObjectRequest objectRequest) throws Exception {
return objectService.insertObject(objectRequest);
}
@Operation(description = "물건정보을 저장한다.")
@PostMapping("/save-object")
@ResponseStatus(HttpStatus.CREATED)
public ObjectResponse insertObject(@RequestBody ObjectRequest objectRequest) throws Exception {
return objectService.insertObject(objectRequest);
}
@Operation(description = "물건정보을 수정한다.")
@PutMapping("/save-object")
@ResponseStatus(HttpStatus.CREATED)
public ObjectResponse updateObject(@RequestBody ObjectRequest objectRequest) throws Exception {
return objectService.updateObject(objectRequest);
}
@Operation(description = "물건정보을 수정한다.")
@PutMapping("/save-object")
@ResponseStatus(HttpStatus.CREATED)
public ObjectResponse updateObject(@RequestBody ObjectRequest objectRequest) throws Exception {
return objectService.updateObject(objectRequest);
}
@Operation(description = "물건정보을 삭제한다.")
@DeleteMapping("/{objectNo}")
@ResponseStatus(HttpStatus.NO_CONTENT)
public void deleteObject(@PathVariable String objectNo) throws Exception {
objectService.deleteObject(objectNo);
}
@Operation(description = "물건정보을 삭제한다.")
@DeleteMapping("/{objectNo}")
@ResponseStatus(HttpStatus.NO_CONTENT)
public void deleteObject(@PathVariable String objectNo) throws Exception {
objectService.deleteObject(objectNo);
}
@Operation(description = "물건정보의 플랜정보를 추가한다.")
@PostMapping("/add-plan")
@ResponseStatus(HttpStatus.CREATED)
public void insertPlan(@RequestBody PlanRequest planRequest) throws Exception {
objectService.insertPlan(planRequest);
}
@Operation(description = "물건정보의 플랜정보를 추가한다.")
@PostMapping("/add-plan")
@ResponseStatus(HttpStatus.CREATED)
public void insertPlan(@RequestBody PlanRequest planRequest) throws Exception {
objectService.insertPlan(planRequest);
}
@Operation(description = "물건정보의 플랜정보를 삭제한다.")
@DeleteMapping("/plan/{objectNo}/{planNo}")
@ResponseStatus(HttpStatus.NO_CONTENT)
public void deletePlan(@PathVariable String objectNo, @PathVariable String planNo) throws Exception {
PlanRequest planRequest = new PlanRequest();
planRequest.setObjectNo(objectNo);
planRequest.setPlanNo(planNo);
@Operation(description = "물건정보의 플랜정보를 삭제한다.")
@DeleteMapping("/plan/{objectNo}/{planNo}")
@ResponseStatus(HttpStatus.NO_CONTENT)
public void deletePlan(@PathVariable String objectNo, @PathVariable String planNo)
throws Exception {
PlanRequest planRequest = new PlanRequest();
planRequest.setObjectNo(objectNo);
planRequest.setPlanNo(planNo);
objectService.deletePlan(planRequest);
}
objectService.deletePlan(planRequest);
}
}

View File

@ -1,66 +1,65 @@
package com.interplug.qcast.biz.object;
import com.interplug.qcast.biz.object.dto.*;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
@Mapper
interface ObjectMapper {
// 도도부현 목록 조회
public List<PrefResponse> selectPrefList();
// 도도부현 목록 조회
public List<PrefResponse> selectPrefList();
// 도도부현 지역 조회
public List<PrefResponse> selectPrefAreaList(String prefId);
// 도도부현 지역 조회
public List<PrefResponse> selectPrefAreaList(String prefId);
// 지역 기준풍속 조회
public List<WindSpeedResponse> selectWindSpeedList(String city);
// 지역 기준풍속 조회
public List<WindSpeedResponse> selectWindSpeedList(String city);
// 모든 판매점 목록 조회
public List<SaleStoreResponse> selectSaleStoreAllList();
// 모든 판매점 목록 조회
public List<SaleStoreResponse> selectSaleStoreAllList();
// 판매점 목록 조회
public List<SaleStoreResponse> selectSaleStoreList(String saleStoreId);
// 판매점 목록 조회
public List<SaleStoreResponse> selectSaleStoreList(String saleStoreId);
// 판매점 정보 조회
public SaleStoreResponse selectSaleStoreInfo(String saleStoreId);
// 판매점 정보 조회
public SaleStoreResponse selectSaleStoreInfo(String saleStoreId);
// 물건정보 목록 조회
public List<ObjectResponse> selectObjectList(ObjectRequest objectRequest);
// 물건정보 목록 조회
public List<ObjectResponse> selectObjectList(ObjectRequest objectRequest);
// 물건정보 상세 확인
public ObjectResponse selectObjectDetail(String objectNo);
// 물건정보 상세 확인
public ObjectResponse selectObjectDetail(String objectNo);
// 물건번호 조회
public String selectObjectNo(ObjectRequest objectRequest);
// 물건번호 조회
public String selectObjectNo(ObjectRequest objectRequest);
// 물건정보 PLAN 목록 조회
public List<PlanResponse> selectPlanList(PlanRequest planRequest);
// 물건정보 PLAN 목록 조회
public List<PlanResponse> selectPlanList(PlanRequest planRequest);
// 물건번호 등록
public int insertObjectNo(ObjectRequest objectRequest);
// 물건번호 등록
public int insertObjectNo(ObjectRequest objectRequest);
// 물건정보 등록
public int insertObject(ObjectRequest objectRequest);
// 물건정보 등록
public int insertObject(ObjectRequest objectRequest);
// 물건정보 수정
public int updateObject(ObjectRequest objectRequest);
// 물건정보 수정
public int updateObject(ObjectRequest objectRequest);
// 물건정보 삭제
public int deleteObject(ObjectRequest objectRequest);
// 물건정보 삭제
public int deleteObject(ObjectRequest objectRequest);
// 물건정보 > 배송정보 수정
public int updateObjectDelivery(ObjectRequest objectRequest);
// 물건정보 > 배송정보 수정
public int updateObjectDelivery(ObjectRequest objectRequest);
// 플랜정보 등록
public int insertPlan(PlanRequest planRequest);
// 플랜정보 등록
public int insertPlan(PlanRequest planRequest);
// 플랜정보 삭제(물리 삭제)
public int deletePlan(PlanRequest planRequest);
// 플랜정보 삭제(물리 삭제)
public int deletePlan(PlanRequest planRequest);
// 물건정보 물건번호 변경
public int updateObjectNoChange(ObjectRequest objectRequest);
// 물건정보 물건번호 변경
public int updateObjectNoChange(ObjectRequest objectRequest);
// 플랜정보 물건번호 변경
public int updatePlanObjectNoChange(ObjectRequest objectRequest);
// 플랜정보 물건번호 변경
public int updatePlanObjectNoChange(ObjectRequest objectRequest);
}

View File

@ -2,13 +2,6 @@ package com.interplug.qcast.biz.object;
import com.interplug.qcast.biz.object.dto.*;
import io.micrometer.common.util.StringUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
import org.ini4j.Wini;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.io.*;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
@ -16,393 +9,438 @@ import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.RandomStringUtils;
import org.ini4j.Wini;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@RequiredArgsConstructor
public class ObjectService {
@Value("${file.ini.root.path}")
private String baseDirPath;
@Value("${file.ini.base.filename}")
private String baseFileName;
@Value("${file.ini.root.path}")
private String baseDirPath;
private final ObjectMapper objectMapper;
@Value("${file.ini.base.filename}")
private String baseFileName;
public List<PrefResponse> selectPrefList() throws Exception {
return objectMapper.selectPrefList();
private final ObjectMapper objectMapper;
public List<PrefResponse> selectPrefList() throws Exception {
return objectMapper.selectPrefList();
}
public List<PrefResponse> selectPrefAreaList(String prefId) throws Exception {
return objectMapper.selectPrefAreaList(prefId);
}
public List<WindSpeedResponse> selectWindSpeedList(String city) throws Exception {
return objectMapper.selectWindSpeedList(city);
}
public List<SaleStoreResponse> selectSaleStoreList(String saleStoreId) throws Exception {
if ("T01".equals(saleStoreId)) {
return objectMapper.selectSaleStoreAllList();
} else {
return objectMapper.selectSaleStoreList(saleStoreId);
}
}
public SaleStoreResponse selectSaleStoreInfo(String saleStoreId) throws Exception {
return objectMapper.selectSaleStoreInfo(saleStoreId);
}
public List<ObjectResponse> selectObjectList(ObjectRequest objectRequest) throws Exception {
return objectMapper.selectObjectList(objectRequest);
}
public ObjectResponse selectObjectDetail(String objectNo) throws Exception {
// object 상세 정보 조회2
ObjectResponse objectResponse = objectMapper.selectObjectDetail(objectNo);
if (objectResponse != null) {
// 기본 플랜번호 셋팅
objectResponse.setPlanNo("1");
// ini 파일 읽어 Response 객체 담기
this.objectFileInfo(objectResponse);
// Plan 목록 조회
PlanRequest planRequest = new PlanRequest();
planRequest.setObjectNo(objectNo);
List<PlanResponse> planList = objectMapper.selectPlanList(planRequest);
objectResponse.setPlanList(planList);
}
public List<PrefResponse> selectPrefAreaList(String prefId) throws Exception {
return objectMapper.selectPrefAreaList(prefId);
return objectResponse;
}
public ObjectResponse insertObject(ObjectRequest objectRequest) throws Exception {
int result = 0;
String objectNo = "";
// 물건번호 등록/조회
if ("0".equals(objectRequest.getTempFlg())) {
objectRequest.setDelFlg("0");
objectRequest.setTempFlg("0");
objectRequest.setTempDelFlg("0");
result += objectMapper.insertObjectNo(objectRequest);
objectNo = objectMapper.selectObjectNo(objectRequest);
} else if ("1".equals(objectRequest.getTempFlg())) {
objectRequest.setDelFlg("1");
objectRequest.setTempFlg("1");
objectRequest.setTempDelFlg("0");
// 임시저장인 경우 임시 물건번호 생성 yyyymmddhh24missSSS_랜덤문자 3개
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
Calendar dateTime = Calendar.getInstance();
objectNo = sdf.format(dateTime.getTime());
objectNo = "T" + objectNo.substring(2) + RandomStringUtils.randomAlphanumeric(3);
objectNo = objectNo.toUpperCase();
}
public List<WindSpeedResponse> selectWindSpeedList(String city) throws Exception {
return objectMapper.selectWindSpeedList(city);
}
objectRequest.setObjectNo(objectNo);
public List<SaleStoreResponse> selectSaleStoreList(String saleStoreId) throws Exception {
if ("T01".equals(saleStoreId)) {
return objectMapper.selectSaleStoreAllList();
} else {
return objectMapper.selectSaleStoreList(saleStoreId);
}
}
// 물건정보 등록
objectRequest.setAddress(
objectRequest.getPrefName()
+ ((!StringUtils.isEmpty(objectRequest.getAddress()))
? objectRequest.getAddress()
: ""));
objectRequest.setAddresseeCompanyName(
objectRequest.getObjectName() + ' ' + objectRequest.getObjectNameOmit());
objectRequest.setAddresseeCompanyNameOmit(objectRequest.getObjectNameOmit());
objectRequest.setContentsPath(baseDirPath + "\\\\" + objectRequest.getObjectNo());
result += objectMapper.insertObject(objectRequest);
result += objectMapper.updateObjectDelivery(objectRequest);
public SaleStoreResponse selectSaleStoreInfo(String saleStoreId) throws Exception {
return objectMapper.selectSaleStoreInfo(saleStoreId);
}
// 디폴트 Plan 등록
PlanRequest planRequest = new PlanRequest();
planRequest.setObjectNo(objectNo);
planRequest.setRoofKindId("0");
planRequest.setCharger(objectRequest.getReceiveUser());
planRequest.setStatus("1");
planRequest.setDelFlg("0");
planRequest.setNorthArrangement("0");
planRequest.setDiffRoofEnabled("0");
planRequest.setOrderFlg("0");
planRequest.setUserId(objectRequest.getUserId());
result += objectMapper.insertPlan(planRequest);
public List<ObjectResponse> selectObjectList(ObjectRequest objectRequest) throws Exception {
return objectMapper.selectObjectList(objectRequest);
}
// ini 파일 생성
objectRequest.setPlanNo(planRequest.getPlanNo());
this.objectFileSave(objectRequest);
public ObjectResponse selectObjectDetail(String objectNo) throws Exception {
// object 상세 정보 조회
ObjectResponse objectResponse = objectMapper.selectObjectDetail(objectNo);
// 결과 데이터 리턴
ObjectResponse objectResponse = new ObjectResponse();
objectResponse.setObjectNo(objectNo);
objectResponse.setPlanNo(planRequest.getPlanNo());
if (objectResponse != null) {
// 기본 플랜번호 셋팅
objectResponse.setPlanNo("1");
return objectResponse;
}
// ini 파일 읽어 Response 객체 담기
this.objectFileInfo(objectResponse);
public ObjectResponse updateObject(ObjectRequest objectRequest) throws Exception {
int result = 0;
boolean tempChgFlg = false;
// Plan 목록 조회
PlanRequest planRequest = new PlanRequest();
planRequest.setObjectNo(objectNo);
List<PlanResponse> planList = objectMapper.selectPlanList(planRequest);
// object 상세 정보 조회
ObjectResponse objectResponse = objectMapper.selectObjectDetail(objectRequest.getObjectNo());
objectResponse.setPlanList(planList);
}
if (objectResponse != null) {
// 임시저장에서 저장상태 바뀌었는지 확인
if ("1".equals(objectResponse.getTempFlg()) && "0".equals(objectRequest.getTempFlg())) {
tempChgFlg = true;
return objectResponse;
}
result += objectMapper.insertObjectNo(objectRequest);
objectRequest.setNewObjectNo(objectMapper.selectObjectNo(objectRequest));
}
public ObjectResponse insertObject(ObjectRequest objectRequest) throws Exception {
int result = 0;
String objectNo = "";
// 물건정보 수정
objectRequest.setAddress(
objectRequest.getPrefName()
+ ((!StringUtils.isEmpty(objectRequest.getAddress()))
? objectRequest.getAddress()
: ""));
objectRequest.setAddresseeCompanyName(
objectRequest.getObjectName() + ' ' + objectRequest.getObjectNameOmit());
objectRequest.setAddresseeCompanyNameOmit(objectRequest.getObjectNameOmit());
objectRequest.setContentsPath(
baseDirPath
+ "\\\\"
+ (tempChgFlg ? objectRequest.getNewObjectNo() : objectRequest.getObjectNo()));
result += objectMapper.updateObject(objectRequest);
// 물건번호 등록/조회
if ("0".equals(objectRequest.getTempFlg())) {
objectRequest.setDelFlg("0");
objectRequest.setTempFlg("0");
objectRequest.setTempDelFlg("0");
// Plan 목록 조회
PlanRequest planRequest = new PlanRequest();
planRequest.setObjectNo(objectRequest.getObjectNo());
List<PlanResponse> planList = objectMapper.selectPlanList(planRequest);
result += objectMapper.insertObjectNo(objectRequest);
objectNo = objectMapper.selectObjectNo(objectRequest);
} else if ("1".equals(objectRequest.getTempFlg())) {
objectRequest.setDelFlg("1");
objectRequest.setTempFlg("1");
objectRequest.setTempDelFlg("0");
for (PlanResponse planResponse : planList) {
objectRequest.setPlanNo(planResponse.getPlanNo());
// 임시저장인 경우 임시 물건번호 생성 yyyymmddhh24missSSS_랜덤문자 3개
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
Calendar dateTime = Calendar.getInstance();
objectNo = sdf.format(dateTime.getTime());
objectNo = "T" + objectNo.substring(2) + RandomStringUtils.randomAlphanumeric(3);
objectNo = objectNo.toUpperCase();
}
objectRequest.setObjectNo(objectNo);
// 물건정보 등록
objectRequest.setAddress(objectRequest.getPrefName() + ((!StringUtils.isEmpty(objectRequest.getAddress())) ? objectRequest.getAddress() : ""));
objectRequest.setAddresseeCompanyName(objectRequest.getObjectName() + ' ' + objectRequest.getObjectNameOmit());
objectRequest.setAddresseeCompanyNameOmit(objectRequest.getObjectNameOmit());
objectRequest.setContentsPath(baseDirPath + "\\\\" + objectRequest.getObjectNo());
result += objectMapper.insertObject(objectRequest);
result += objectMapper.updateObjectDelivery(objectRequest);
// 디폴트 Plan 등록
PlanRequest planRequest = new PlanRequest();
planRequest.setObjectNo(objectNo);
planRequest.setRoofKindId("0");
planRequest.setCharger(objectRequest.getReceiveUser());
planRequest.setStatus("1");
planRequest.setDelFlg("0");
planRequest.setNorthArrangement("0");
planRequest.setDiffRoofEnabled("0");
planRequest.setOrderFlg("0");
planRequest.setUserId(objectRequest.getUserId());
result += objectMapper.insertPlan(planRequest);
// ini 파일 생성
objectRequest.setPlanNo(planRequest.getPlanNo());
// ini 파일 수정
this.objectFileSave(objectRequest);
}
// 결과 데이터 리턴
ObjectResponse objectResponse = new ObjectResponse();
objectResponse.setObjectNo(objectNo);
objectResponse.setPlanNo(planRequest.getPlanNo());
// 임시저장에서 저장상태로 돌리기
if (tempChgFlg) {
objectMapper.updateObjectNoChange(objectRequest);
objectMapper.updatePlanObjectNoChange(objectRequest);
return objectResponse;
// 임시저장 폴더명 생성 물건번호명으로 교체
File file = new File(baseDirPath + File.separator + objectRequest.getObjectNo());
if (file.exists()) {
file.renameTo(new File(baseDirPath + File.separator + objectRequest.getNewObjectNo()));
}
}
}
public ObjectResponse updateObject(ObjectRequest objectRequest) throws Exception {
int result = 0;
boolean tempChgFlg = false;
// 모든 변경 완료 재호출
objectResponse =
objectMapper.selectObjectDetail(
(tempChgFlg ? objectRequest.getNewObjectNo() : objectRequest.getObjectNo()));
return objectResponse;
}
// object 상세 정보 조회
ObjectResponse objectResponse = objectMapper.selectObjectDetail(objectRequest.getObjectNo());
public int deleteObject(String objectNo) throws Exception {
int result = 0;
if (objectResponse != null) {
// 임시저장에서 저장상태 바뀌었는지 확인
if ("1".equals(objectResponse.getTempFlg()) && "0".equals(objectRequest.getTempFlg())) {
tempChgFlg = true;
// 물건정보 삭제
ObjectRequest objectRequest = new ObjectRequest();
objectRequest.setObjectNo(objectNo);
result = objectMapper.deleteObject(objectRequest);
result += objectMapper.insertObjectNo(objectRequest);
objectRequest.setNewObjectNo(objectMapper.selectObjectNo(objectRequest));
}
return result;
}
// 물건정보 수정
objectRequest.setAddress(objectRequest.getPrefName() + ((!StringUtils.isEmpty(objectRequest.getAddress())) ? objectRequest.getAddress() : ""));
objectRequest.setAddresseeCompanyName(objectRequest.getObjectName() + ' ' + objectRequest.getObjectNameOmit());
objectRequest.setAddresseeCompanyNameOmit(objectRequest.getObjectNameOmit());
objectRequest.setContentsPath(baseDirPath + "\\\\" + (tempChgFlg ? objectRequest.getNewObjectNo() : objectRequest.getObjectNo()));
result += objectMapper.updateObject(objectRequest);
public void objectFileSave(ObjectRequest objectRequest) throws Exception {
// Plan 목록 조회
PlanRequest planRequest = new PlanRequest();
planRequest.setObjectNo(objectRequest.getObjectNo());
List<PlanResponse> planList = objectMapper.selectPlanList(planRequest);
try {
// Dir 파일 체크하여 없으면 생성해 준다. (물건번호/플랜번호/파일명)
String dirPath =
baseDirPath
+ File.separator
+ objectRequest.getObjectNo()
+ File.separator
+ objectRequest.getPlanNo();
File file = new File(dirPath);
if (!file.exists()) {
file.mkdirs();
}
file = new File(dirPath + File.separator + baseFileName);
if (!file.exists()) {
FileWriter fw = new FileWriter(file);
fw.close();
}
for (PlanResponse planResponse : planList) {
objectRequest.setPlanNo(planResponse.getPlanNo());
// ini4j 라이브러리 이용하여 파일 읽기
FileInputStream input = new FileInputStream(file);
Wini iniFile = new Wini(new InputStreamReader(input, "MS932"));
// ini 파일 수정
this.objectFileSave(objectRequest);
}
// [物件情報] 영역 코드명
String groupKey = "物件情報";
// 판매점명
objectFileSetting(iniFile, groupKey, "作成者", objectRequest.getSaleStoreName());
// 경칭
objectFileSetting(iniFile, groupKey, "敬称", objectRequest.getObjectNameOmit());
// 후라가나
objectFileSetting(iniFile, groupKey, "フリガナ", objectRequest.getObjectNameKana());
// 안건명
objectFileSetting(iniFile, groupKey, "邸名", objectRequest.getObjectName());
// 담당자
objectFileSetting(iniFile, groupKey, "担当者", objectRequest.getReceiveUser());
// 우편번호
if (StringUtils.isEmpty(objectRequest.getZipNo())) {
objectRequest.setZipNo("0");
}
objectFileSetting(iniFile, groupKey, "郵便番号", objectRequest.getZipNo());
// 도도부현
objectFileSetting(iniFile, groupKey, "都道府県", objectRequest.getPrefName());
// 주소
objectFileSetting(iniFile, groupKey, "住所", objectRequest.getAddress());
// 발전시뮬레이션 지역
objectFileSetting(iniFile, groupKey, "地域", objectRequest.getPowerSimArea());
// 판매오더 예상코드명
objectFileSetting(iniFile, groupKey, "受注見込", objectRequest.getWorkName());
// 부동산 분류 코드명 (0/1)
objectFileSetting(iniFile, groupKey, "物件区分", objectRequest.getObjectStatusName());
// 메모
objectFileSetting(iniFile, groupKey, "メモ", objectRequest.getRemarks());
// 설치높이
objectFileSetting(iniFile, groupKey, "高さ", objectRequest.getInstallHeight());
// 기준풍속
objectFileSetting(iniFile, groupKey, "基準風速", objectRequest.getWindSpeed());
// 수직적설량
objectFileSetting(iniFile, groupKey, "積雪", objectRequest.getSnowCover());
// 면조도구분 (III ㆍIV/II)
objectFileSetting(iniFile, groupKey, "面粗度", objectRequest.getSurfaceType());
// 전력계약 (0/1)
objectFileSetting(iniFile, groupKey, "電力契約", objectRequest.getPowerConTerms());
// 염해지역 아이템 사용여부 (0/1)
objectFileSetting(iniFile, groupKey, "塩害地域", objectRequest.getSaltAreaChk());
// 한랭지 대책여부 (0/1)
objectFileSetting(iniFile, groupKey, "寒冷地域", objectRequest.getColdAreaChk());
// 판매오더 예상코드
objectFileSetting(iniFile, groupKey, "受注見込コード", objectRequest.getWorkNo());
// 부동산 분류 코드
objectFileSetting(iniFile, groupKey, "物件区分コード", objectRequest.getObjectStatusId());
// 도도부현 코드
objectFileSetting(iniFile, groupKey, "都道府県コード", objectRequest.getPrefId());
// 물건번호
objectFileSetting(
iniFile,
groupKey,
"物件コード",
!StringUtils.isEmpty(objectRequest.getNewObjectNo())
? objectRequest.getNewObjectNo()
: objectRequest.getObjectNo());
// 임시저장에서 저장상태로 돌리기
if (tempChgFlg) {
objectMapper.updateObjectNoChange(objectRequest);
objectMapper.updatePlanObjectNoChange(objectRequest);
// 임시저장 폴더명 생성 물건번호명으로 교체
File file = new File(baseDirPath + File.separator + objectRequest.getObjectNo());
if (file.exists()) {
file.renameTo(new File (baseDirPath + File.separator + objectRequest.getNewObjectNo()));
}
}
// 최종 일본어 형식으로 저장
OutputStreamWriter output =
new OutputStreamWriter(
new FileOutputStream(dirPath + File.separator + baseFileName), "MS932");
iniFile.store(output);
output.close();
input.close();
} catch (Exception e) {
log.error(e.getMessage());
throw new RuntimeException(e.getMessage());
}
}
public void objectFileInfo(ObjectResponse objectResponse) throws Exception {
try {
String filePath =
baseDirPath
+ File.separator
+ objectResponse.getObjectNo()
+ File.separator
+ objectResponse.getPlanNo()
+ File.separator
+ baseFileName;
System.out.println(filePath);
File file = new File(filePath);
if (file.exists()) {
FileInputStream input = new FileInputStream(file);
Wini iniFile = new Wini(new InputStreamReader(input, "MS932"));
// [物件情報] 영역 코드명
String groupKey = "物件情報";
// 발전시뮬레이션 지역
if (!StringUtils.isEmpty(iniFile.get(groupKey, "地域"))) {
objectResponse.setPowerSimArea(iniFile.get(groupKey, "地域"));
}
// 주소
if (!StringUtils.isEmpty(iniFile.get(groupKey, "住所"))) {
objectResponse.setAddress(iniFile.get(groupKey, "住所"));
}
// 설치높이
if (!StringUtils.isEmpty(iniFile.get(groupKey, "高さ"))) {
objectResponse.setInstallHeight(iniFile.get(groupKey, "高さ"));
}
// 기준풍속
if (!StringUtils.isEmpty(iniFile.get(groupKey, "基準風速"))) {
objectResponse.setWindSpeed(iniFile.get(groupKey, "基準風速"));
}
// 수직적설량
if (!StringUtils.isEmpty(iniFile.get(groupKey, "積雪"))) {
objectResponse.setSnowCover(iniFile.get(groupKey, "積雪"));
}
// 면조도구분 (III ㆍIV/II)
if (!StringUtils.isEmpty(iniFile.get(groupKey, "面粗度"))) {
objectResponse.setSurfaceType(iniFile.get(groupKey, "面粗度"));
}
// 전력계약 (0/1)
if (!StringUtils.isEmpty(iniFile.get(groupKey, "電力契約"))) {
objectResponse.setPowerConTerms(iniFile.get(groupKey, "電力契約"));
}
// 염해지역 아이템 사용여부 (0/1)
if (!StringUtils.isEmpty(iniFile.get(groupKey, "塩害地域"))) {
objectResponse.setSaltAreaChk(iniFile.get(groupKey, "塩害地域"));
}
// 한랭지 대책여부 (0/1)
if (!StringUtils.isEmpty(iniFile.get(groupKey, "寒冷地域"))) {
objectResponse.setColdAreaChk(iniFile.get(groupKey, "寒冷地域"));
}
// 모든 변경 완료 재호출
objectResponse = objectMapper.selectObjectDetail((tempChgFlg ? objectRequest.getNewObjectNo() : objectRequest.getObjectNo()));
return objectResponse;
input.close();
}
} catch (Exception e) {
log.error(e.getMessage());
throw new RuntimeException(e.getMessage());
}
}
public void objectFileSetting(Wini wini, String groupOptName, String optName, String val)
throws Exception {
if (wini.get(groupOptName, optName) != null) {
wini.remove(groupOptName, optName);
}
if (!StringUtils.isEmpty(val)) {
wini.put(groupOptName, optName, val);
}
}
public String insertPlan(PlanRequest planRequest) throws Exception {
// 추가 Plan 등록
planRequest.setRoofKindId("0");
planRequest.setStatus("1");
planRequest.setDelFlg("0");
planRequest.setNorthArrangement("0");
planRequest.setDiffRoofEnabled("0");
planRequest.setOrderFlg("0");
objectMapper.insertPlan(planRequest);
try {
String dirPath = baseDirPath + File.separator + planRequest.getObjectNo();
File file = new File(dirPath + File.separator + planRequest.getPlanNo());
if (!file.exists()) {
file.mkdirs();
}
// ini 파일 복사
File orgFile = new File(dirPath + File.separator + "1" + File.separator + baseFileName);
File copyFile =
new File(
dirPath + File.separator + planRequest.getPlanNo() + File.separator + baseFileName);
Files.copy(orgFile.toPath(), copyFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
} catch (Exception e) {
log.error(e.getMessage());
throw new RuntimeException(e.getMessage());
}
public int deleteObject(String objectNo) throws Exception {
int result = 0;
return planRequest.getPlanNo();
}
// 물건정보 삭제
ObjectRequest objectRequest = new ObjectRequest();
objectRequest.setObjectNo(objectNo);
result = objectMapper.deleteObject(objectRequest);
public void deletePlan(PlanRequest planRequest) throws Exception {
// Plan 삭제
objectMapper.deletePlan(planRequest);
return result;
}
public void objectFileSave(ObjectRequest objectRequest) throws Exception {
try {
// Dir 파일 체크하여 없으면 생성해 준다. (물건번호/플랜번호/파일명)
String dirPath = baseDirPath + File.separator + objectRequest.getObjectNo() + File.separator + objectRequest.getPlanNo();
File file = new File(dirPath);
if (!file.exists()) {
file.mkdirs();
}
file = new File(dirPath + File.separator + baseFileName);
if (!file.exists()) {
FileWriter fw = new FileWriter(file);
fw.close();
}
// ini4j 라이브러리 이용하여 파일 읽기
FileInputStream input = new FileInputStream(file);
Wini iniFile = new Wini(new InputStreamReader(input, "MS932"));
// [物件情報] 영역 코드명
String groupKey = "物件情報";
// 판매점명
objectFileSetting(iniFile, groupKey, "作成者", objectRequest.getSaleStoreName());
// 경칭
objectFileSetting(iniFile, groupKey, "敬称", objectRequest.getObjectNameOmit());
// 후라가나
objectFileSetting(iniFile, groupKey, "フリガナ", objectRequest.getObjectNameKana());
// 안건명
objectFileSetting(iniFile, groupKey, "邸名", objectRequest.getObjectName());
// 담당자
objectFileSetting(iniFile, groupKey, "担当者", objectRequest.getReceiveUser());
// 우편번호
if (StringUtils.isEmpty(objectRequest.getZipNo())) {
objectRequest.setZipNo("0");
}
objectFileSetting(iniFile, groupKey, "郵便番号", objectRequest.getZipNo());
// 도도부현
objectFileSetting(iniFile, groupKey, "都道府県", objectRequest.getPrefName());
// 주소
objectFileSetting(iniFile, groupKey, "住所", objectRequest.getAddress());
// 발전시뮬레이션 지역
objectFileSetting(iniFile, groupKey, "地域", objectRequest.getPowerSimArea());
// 판매오더 예상코드명
objectFileSetting(iniFile, groupKey, "受注見込", objectRequest.getWorkName());
// 부동산 분류 코드명 (0/1)
objectFileSetting(iniFile, groupKey, "物件区分", objectRequest.getObjectStatusName());
// 메모
objectFileSetting(iniFile, groupKey, "メモ", objectRequest.getRemarks());
// 설치높이
objectFileSetting(iniFile, groupKey, "高さ", objectRequest.getInstallHeight());
// 기준풍속
objectFileSetting(iniFile, groupKey, "基準風速", objectRequest.getWindSpeed());
// 수직적설량
objectFileSetting(iniFile, groupKey, "積雪", objectRequest.getSnowCover());
// 면조도구분 (III ㆍIV/II)
objectFileSetting(iniFile, groupKey, "面粗度", objectRequest.getSurfaceType());
// 전력계약 (0/1)
objectFileSetting(iniFile, groupKey, "電力契約", objectRequest.getPowerConTerms());
// 염해지역 아이템 사용여부 (0/1)
objectFileSetting(iniFile, groupKey, "塩害地域", objectRequest.getSaltAreaChk());
// 한랭지 대책여부 (0/1)
objectFileSetting(iniFile, groupKey, "寒冷地域", objectRequest.getColdAreaChk());
// 판매오더 예상코드
objectFileSetting(iniFile, groupKey, "受注見込コード", objectRequest.getWorkNo());
// 부동산 분류 코드
objectFileSetting(iniFile, groupKey, "物件区分コード", objectRequest.getObjectStatusId());
// 도도부현 코드
objectFileSetting(iniFile, groupKey, "都道府県コード", objectRequest.getPrefId());
// 물건번호
objectFileSetting(iniFile, groupKey, "物件コード", !StringUtils.isEmpty(objectRequest.getNewObjectNo()) ? objectRequest.getNewObjectNo() : objectRequest.getObjectNo());
// 최종 일본어 형식으로 저장
OutputStreamWriter output = new OutputStreamWriter(new FileOutputStream(dirPath + File.separator + baseFileName), "MS932");
iniFile.store(output);
output.close();
input.close();
} catch (Exception e) {
log.error(e.getMessage());
throw new RuntimeException(e.getMessage());
}
}
public void objectFileInfo(ObjectResponse objectResponse) throws Exception {
try {
String filePath = baseDirPath + File.separator + objectResponse.getObjectNo() + File.separator + objectResponse.getPlanNo() + File.separator + baseFileName;
System.out.println(filePath);
File file = new File(filePath);
if (file.exists()) {
FileInputStream input = new FileInputStream(file);
Wini iniFile = new Wini(new InputStreamReader(input, "MS932"));
// [物件情報] 영역 코드명
String groupKey = "物件情報";
// 발전시뮬레이션 지역
if (!StringUtils.isEmpty(iniFile.get(groupKey, "地域"))) {
objectResponse.setPowerSimArea(iniFile.get(groupKey, "地域"));
}
// 주소
if (!StringUtils.isEmpty(iniFile.get(groupKey, "住所"))) {
objectResponse.setAddress(iniFile.get(groupKey, "住所"));
}
// 설치높이
if (!StringUtils.isEmpty(iniFile.get(groupKey, "高さ"))) {
objectResponse.setInstallHeight(iniFile.get(groupKey, "高さ"));
}
// 기준풍속
if (!StringUtils.isEmpty(iniFile.get(groupKey, "基準風速"))) {
objectResponse.setWindSpeed(iniFile.get(groupKey, "基準風速"));
}
// 수직적설량
if (!StringUtils.isEmpty(iniFile.get(groupKey, "積雪"))) {
objectResponse.setSnowCover(iniFile.get(groupKey, "積雪"));
}
// 면조도구분 (III ㆍIV/II)
if (!StringUtils.isEmpty(iniFile.get(groupKey, "面粗度"))) {
objectResponse.setSurfaceType(iniFile.get(groupKey, "面粗度"));
}
// 전력계약 (0/1)
if (!StringUtils.isEmpty(iniFile.get(groupKey, "電力契約"))) {
objectResponse.setPowerConTerms(iniFile.get(groupKey, "電力契約"));
}
// 염해지역 아이템 사용여부 (0/1)
if (!StringUtils.isEmpty(iniFile.get(groupKey, "塩害地域"))) {
objectResponse.setSaltAreaChk(iniFile.get(groupKey, "塩害地域"));
}
// 한랭지 대책여부 (0/1)
if (!StringUtils.isEmpty(iniFile.get(groupKey, "寒冷地域"))) {
objectResponse.setColdAreaChk(iniFile.get(groupKey, "寒冷地域"));
}
input.close();
}
} catch (Exception e) {
log.error(e.getMessage());
throw new RuntimeException(e.getMessage());
}
}
public void objectFileSetting(Wini wini, String groupOptName, String optName, String val) throws Exception {
if (wini.get(groupOptName, optName) != null) {
wini.remove(groupOptName, optName);
}
if (!StringUtils.isEmpty(val)) {
wini.put(groupOptName, optName, val);
}
}
public String insertPlan(PlanRequest planRequest) throws Exception {
// 추가 Plan 등록
planRequest.setRoofKindId("0");
planRequest.setStatus("1");
planRequest.setDelFlg("0");
planRequest.setNorthArrangement("0");
planRequest.setDiffRoofEnabled("0");
planRequest.setOrderFlg("0");
objectMapper.insertPlan(planRequest);
try {
String dirPath = baseDirPath + File.separator + planRequest.getObjectNo();
File file = new File(dirPath + File.separator + planRequest.getPlanNo());
if (!file.exists()) {
file.mkdirs();
}
// ini 파일 복사
File orgFile = new File(dirPath + File.separator + "1" + File.separator + baseFileName);
File copyFile = new File(dirPath + File.separator + planRequest.getPlanNo() + File.separator + baseFileName);
Files.copy(orgFile.toPath(), copyFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
} catch (Exception e) {
log.error(e.getMessage());
throw new RuntimeException(e.getMessage());
}
return planRequest.getPlanNo();
}
public void deletePlan(PlanRequest planRequest) throws Exception {
// Plan 삭제
objectMapper.deletePlan(planRequest);
try {
SimpleDateFormat dateFormat = new SimpleDateFormat ( "yyyyMMddHHmmss");
Date time = new Date();
String delTime = dateFormat.format(time);
String dirPath = baseDirPath + File.separator + planRequest.getObjectNo();
File file = new File(dirPath + File.separator + planRequest.getPlanNo());
if (file.exists()) {
file.renameTo(new File (dirPath + File.separator + planRequest.getPlanNo() + "_" + delTime));
}
} catch (Exception e) {
log.error(e.getMessage());
throw new RuntimeException(e.getMessage());
}
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date time = new Date();
String delTime = dateFormat.format(time);
String dirPath = baseDirPath + File.separator + planRequest.getObjectNo();
File file = new File(dirPath + File.separator + planRequest.getPlanNo());
if (file.exists()) {
file.renameTo(new File(dirPath + File.separator + planRequest.getPlanNo() + "_" + delTime));
}
} catch (Exception e) {
log.error(e.getMessage());
throw new RuntimeException(e.getMessage());
}
}
}

View File

@ -1,116 +1,159 @@
package com.interplug.qcast.biz.object.dto;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class ObjectRequest {
// 물건정보 ini 파일 설정 순서에 맞쳐 셋팅
@Schema(description = "판매점명")
private String saleStoreName;
@Schema(description = "경칭")
private String objectNameOmit;
@Schema(description = "안건명 후리가나")
private String objectNameKana;
@Schema(description = "안건명")
private String objectName;
@Schema(description = "담당자")
private String receiveUser;
@Schema(description = "우편번호")
private String zipNo;
@Schema(description = "도도부현명")
private String prefName;
@Schema(description = "주소")
private String address;
@Schema(description = "발전시뮬레이션 지역")
private String powerSimArea;
@Schema(description = "판매오더명")
private String workName;
@Schema(description = "부동산 분류코드명")
private String objectStatusName;
@Schema(description = "메모")
private String remarks;
@Schema(description = "설치높이")
private String installHeight;
@Schema(description = "기준풍속")
private String windSpeed;
@Schema(description = "수직적설량")
private String snowCover;
@Schema(description = "면조도구분")
private String surfaceType;
@Schema(description = "전력계약구분")
private String powerConTerms;
@Schema(description = "염해지역 아이템사용 여부")
private String saltAreaChk;
@Schema(description = "한랭지 대책여부")
private String coldAreaChk;
@Schema(description = "판매오더코드")
private String workNo;
@Schema(description = "부동산 분류코드")
private String objectStatusId;
@Schema(description = "도도부현코드")
private String prefId;
@Schema(description = "물건번호")
private String objectNo;
@Schema(description = "생성 물건번호")
private String newObjectNo;
// 물건정보 ini 파일 설정 순서에 맞쳐 셋팅
@Schema(description = "판매점명")
private String saleStoreName;
// 그외 물건정보
@Schema(description = "판매점ID")
private String saleStoreId;
@Schema(description = "배송회사명")
private String addresseeCompanyName;
@Schema(description = "배송회사 경칭")
private String addresseeCompanyNameOmit;
@Schema(description = "컨텐츠 파일경로")
private String contentsPath;
@Schema(description = "임시저장여부")
private String tempFlg;
@Schema(description = "임시저장 삭제여부")
private String tempDelFlg;
@Schema(description = "임시저장->저장 변경여부")
private String tempChgFlg;
@Schema(description = "삭제여부")
private String delFlg;
@Schema(description = "사용자아이디")
private String userId;
@Schema(description = "경칭")
private String objectNameOmit;
// 플랜정보
@Schema(description = "플랜번호")
private String planNo;
@Schema(description = "안건명 후리가나")
private String objectNameKana;
// 검색정보
@Schema(description = "검색 - 물건번호")
private String schObjectNo;
@Schema(description = "검색 - 판매점ID")
private String schSaleStoreId;
@Schema(description = "검색 - 선택판매점ID")
private String schSelSaleStoreId;
@Schema(description = "검색 - 주소")
private String schAddress;
@Schema(description = "검색 - 안건명")
private String schObjectName;
@Schema(description = "검색 - 판매점명")
private String schSaleStoreName;
@Schema(description = "검색 - 사양확장일여부")
private String schSpecDateYn;
@Schema(description = "검색 - 담당자")
private String schReceiveUser;
@Schema(description = "검색 - 견적처")
private String schDispCompanyName;
@Schema(description = "검색 - 날짜구분")
private String schDateType;
@Schema(description = "검색 - 시작일")
private String schFromDt;
@Schema(description = "검색 - 종료일")
private String schToDt;
@Schema(description = "검색 - 정렬순서")
private String schSortType;
@Schema(description = "안건명")
private String objectName;
// 페이징정보
@Schema(description = "시작 Row")
private String startRow;
@Schema(description = "종료 Row")
private String endRow;
@Schema(description = "담당자")
private String receiveUser;
@Schema(description = "우편번호")
private String zipNo;
@Schema(description = "도도부현명")
private String prefName;
@Schema(description = "주소")
private String address;
@Schema(description = "발전시뮬레이션 지역")
private String powerSimArea;
@Schema(description = "판매오더명")
private String workName;
@Schema(description = "부동산 분류코드명")
private String objectStatusName;
@Schema(description = "메모")
private String remarks;
@Schema(description = "설치높이")
private String installHeight;
@Schema(description = "기준풍속")
private String windSpeed;
@Schema(description = "수직적설량")
private String snowCover;
@Schema(description = "면조도구분")
private String surfaceType;
@Schema(description = "전력계약구분")
private String powerConTerms;
@Schema(description = "염해지역 아이템사용 여부")
private String saltAreaChk;
@Schema(description = "한랭지 대책여부")
private String coldAreaChk;
@Schema(description = "판매오더코드")
private String workNo;
@Schema(description = "부동산 분류코드")
private String objectStatusId;
@Schema(description = "도도부현코드")
private String prefId;
@Schema(description = "물건번호")
private String objectNo;
@Schema(description = "생성 물건번호")
private String newObjectNo;
// 그외 물건정보
@Schema(description = "판매점ID")
private String saleStoreId;
@Schema(description = "배송회사명")
private String addresseeCompanyName;
@Schema(description = "배송회사 경칭")
private String addresseeCompanyNameOmit;
@Schema(description = "컨텐츠 파일경로")
private String contentsPath;
@Schema(description = "임시저장여부")
private String tempFlg;
@Schema(description = "임시저장 삭제여부")
private String tempDelFlg;
@Schema(description = "임시저장->저장 변경여부")
private String tempChgFlg;
@Schema(description = "삭제여부")
private String delFlg;
@Schema(description = "사용자아이디")
private String userId;
// 플랜정보
@Schema(description = "플랜번호")
private String planNo;
// 검색정보
@Schema(description = "검색 - 물건번호")
private String schObjectNo;
@Schema(description = "검색 - 판매점ID")
private String schSaleStoreId;
@Schema(description = "검색 - 선택판매점ID")
private String schSelSaleStoreId;
@Schema(description = "검색 - 주소")
private String schAddress;
@Schema(description = "검색 - 안건명")
private String schObjectName;
@Schema(description = "검색 - 판매점명")
private String schSaleStoreName;
@Schema(description = "검색 - 사양확장일여부")
private String schSpecDateYn;
@Schema(description = "검색 - 담당자")
private String schReceiveUser;
@Schema(description = "검색 - 견적처")
private String schDispCompanyName;
@Schema(description = "검색 - 날짜구분")
private String schDateType;
@Schema(description = "검색 - 시작일")
private String schFromDt;
@Schema(description = "검색 - 종료일")
private String schToDt;
@Schema(description = "검색 - 정렬순서")
private String schSortType;
// 페이징정보
@Schema(description = "시작 Row")
private String startRow;
@Schema(description = "종료 Row")
private String endRow;
}

View File

@ -1,95 +1,124 @@
package com.interplug.qcast.biz.object.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
//@Data
// @Data
@Getter
@Setter
public class ObjectResponse {
// 물건정보
@Schema(description = "물건번호")
private String objectNo;
@Schema(description = "판매점ID")
private String saleStoreId;
@Schema(description = "판매점명")
private String saleStoreName;
@Schema(description = "판매오더코드")
private String workNo;
@Schema(description = "부동산 분류코드")
private String objectStatusId;
@Schema(description = "안건명")
private String objectName;
@Schema(description = "경칭")
private String objectNameOmit;
@Schema(description = "안건명 후리가나")
private String objectNameKana;
@Schema(description = "우편번호")
private String zipNo;
@Schema(description = "도도부현코드")
private String prefId;
@Schema(description = "주소")
private String address;
@Schema(description = "메모")
private String remarks;
@Schema(description = "동일물건정보")
private String sameObjectInfo;
@Schema(description = "배송회사명")
private String receiveCompanyName;
@Schema(description = "담당자")
private String receiveUser;
@Schema(description = "사양확정일")
private String specificationConfirmDate;
@Schema(description = "컨텐츠 파일경로")
private String contentsPath;
@Schema(description = "견적처")
private String dispCompanyName;
@Schema(description = "임시저장여부")
private String tempFlg;
// 물건정보
@Schema(description = "물건번호")
private String objectNo;
@Schema(description = "생성일")
private String createDatetime;
@Schema(description = "생성자")
private String createUserName;
@Schema(description = "갱신일")
private String lastEditDatetime;
@Schema(description = "갱신자")
private String lastEditUserName;
@Schema(description = "판매점ID")
private String saleStoreId;
// ini 설정정보
@Schema(description = "발전시뮬레이션 지역")
private String powerSimArea;
@Schema(description = "기준풍속")
private String windSpeed;
@Schema(description = "수직적설량")
private String snowCover;
@Schema(description = "면조도구분")
private String surfaceType;
@Schema(description = "설치높이")
private String installHeight;
@Schema(description = "전력계약구분")
private String powerConTerms;
@Schema(description = "한랭지 대책여부")
private String coldAreaChk;
@Schema(description = "염해지역 아이템사용 여부")
private String saltAreaChk;
@Schema(description = "판매점명")
private String saleStoreName;
// 플랜정보
@Schema(description = "플랜번호")
private String planNo;
@Schema(description = "플랜 전체 건수")
private String planTotCnt;
// 플랜목록
@Schema(description = "플랜목록")
private List<PlanResponse> planList;
@Schema(description = "판매오더코드")
private String workNo;
// 페이징 정보
@Schema(description = "Row Number")
private Integer rowNumber;
@Schema(description = "전체 건수")
private Integer totCnt;
@Schema(description = "부동산 분류코드")
private String objectStatusId;
@Schema(description = "안건명")
private String objectName;
@Schema(description = "경칭")
private String objectNameOmit;
@Schema(description = "안건명 후리가나")
private String objectNameKana;
@Schema(description = "우편번호")
private String zipNo;
@Schema(description = "도도부현코드")
private String prefId;
@Schema(description = "주소")
private String address;
@Schema(description = "메모")
private String remarks;
@Schema(description = "동일물건정보")
private String sameObjectInfo;
@Schema(description = "배송회사명")
private String receiveCompanyName;
@Schema(description = "담당자")
private String receiveUser;
@Schema(description = "사양확정일")
private String specificationConfirmDate;
@Schema(description = "컨텐츠 파일경로")
private String contentsPath;
@Schema(description = "견적처")
private String dispCompanyName;
@Schema(description = "임시저장여부")
private String tempFlg;
@Schema(description = "생성일")
private String createDatetime;
@Schema(description = "생성자")
private String createUserName;
@Schema(description = "갱신일")
private String lastEditDatetime;
@Schema(description = "갱신자")
private String lastEditUserName;
// ini 설정정보
@Schema(description = "발전시뮬레이션 지역")
private String powerSimArea;
@Schema(description = "기준풍속")
private String windSpeed;
@Schema(description = "수직적설량")
private String snowCover;
@Schema(description = "면조도구분")
private String surfaceType;
@Schema(description = "설치높이")
private String installHeight;
@Schema(description = "전력계약구분")
private String powerConTerms;
@Schema(description = "한랭지 대책여부")
private String coldAreaChk;
@Schema(description = "염해지역 아이템사용 여부")
private String saltAreaChk;
// 플랜정보
@Schema(description = "플랜번호")
private String planNo;
@Schema(description = "플랜 전체 건수")
private String planTotCnt;
// 플랜목록
@Schema(description = "플랜목록")
private List<PlanResponse> planList;
// 페이징 정보
@Schema(description = "Row Number")
private Integer rowNumber;
@Schema(description = "전체 건수")
private Integer totCnt;
}

View File

@ -5,72 +5,105 @@ import lombok.Data;
@Data
public class PlanRequest {
@Schema(description = "물건번호")
private String objectNo;
@Schema(description = "플랜번호")
private String planNo;
@Schema(description = "시공방법")
private String constructSpecification;
@Schema(description = "설치높이")
private String setupHeight;
@Schema(description = "날씨포인트")
private String weatherPoint;
@Schema(description = "날씨포인트")
private String roofKindId;
@Schema(description = "경사")
private String slope;
@Schema(description = "지붕재 아이템 CLASS ID")
private String roofMaterialClassId;
@Schema(description = "지붕재 아이템 ID")
private String roofMaterialId;
@Schema(description = "가대 설치 ID")
private String supportMethodId;
@Schema(description = "모델")
private String moduleModel;
@Schema(description = "담당자")
private String charger;
@Schema(description = "견적서 유효기간")
private String estimateValidityTerm;
@Schema(description = "결정 플랜")
private String decisionPlan;
@Schema(description = "넘버")
private String number;
@Schema(description = "시스템용량")
private String capacity;
@Schema(description = "강설량")
private String snowfall;
@Schema(description = "표준풍속검사")
private String standardWindSpeedCheck;
@Schema(description = "옵션커버")
private String optionCover;
@Schema(description = "한화여부")
private String hanwfaFlg;
@Schema(description = "기준종류ID")
private String standKindId;
@Schema(description = "기준풍속ID")
private String standardWindSpeedId;
@Schema(description = "가대 메이커")
private String supportMeaker;
@Schema(description = "소비세ID")
private String consumptionTaxId;
@Schema(description = "상태코드")
private String status;
@Schema(description = "사용자아이디")
private String userId;
@Schema(description = "삭제여부")
private String delFlg;
@Schema(description = "파워컨디셔너")
private String pcTypeNo;
@Schema(description = "북면설치여부")
private String northArrangement;
@Schema(description = "지붕재")
private String roofMaterialIdMulti;
@Schema(description = "가대")
private String supportMethodIdMulti;
@Schema(description = "가대 메이커")
private String supportMeakerMulti;
@Schema(description = "다른 지붕재여부")
private String diffRoofEnabled;
@Schema(description = "발주여부")
private String orderFlg;
@Schema(description = "물건번호")
private String objectNo;
@Schema(description = "플랜번호")
private String planNo;
@Schema(description = "시공방법")
private String constructSpecification;
@Schema(description = "설치높이")
private String setupHeight;
@Schema(description = "날씨포인트")
private String weatherPoint;
@Schema(description = "날씨포인트")
private String roofKindId;
@Schema(description = "경사")
private String slope;
@Schema(description = "지붕재 아이템 CLASS ID")
private String roofMaterialClassId;
@Schema(description = "지붕재 아이템 ID")
private String roofMaterialId;
@Schema(description = "가대 설치 ID")
private String supportMethodId;
@Schema(description = "모델")
private String moduleModel;
@Schema(description = "담당자")
private String charger;
@Schema(description = "견적서 유효기간")
private String estimateValidityTerm;
@Schema(description = "결정 플랜")
private String decisionPlan;
@Schema(description = "넘버")
private String number;
@Schema(description = "시스템용량")
private String capacity;
@Schema(description = "강설량")
private String snowfall;
@Schema(description = "표준풍속검사")
private String standardWindSpeedCheck;
@Schema(description = "옵션커버")
private String optionCover;
@Schema(description = "한화여부")
private String hanwfaFlg;
@Schema(description = "기준종류ID")
private String standKindId;
@Schema(description = "기준풍속ID")
private String standardWindSpeedId;
@Schema(description = "가대 메이커")
private String supportMeaker;
@Schema(description = "소비세ID")
private String consumptionTaxId;
@Schema(description = "상태코드")
private String status;
@Schema(description = "사용자아이디")
private String userId;
@Schema(description = "삭제여부")
private String delFlg;
@Schema(description = "파워컨디셔너")
private String pcTypeNo;
@Schema(description = "북면설치여부")
private String northArrangement;
@Schema(description = "지붕재")
private String roofMaterialIdMulti;
@Schema(description = "가대")
private String supportMethodIdMulti;
@Schema(description = "가대 메이커")
private String supportMeakerMulti;
@Schema(description = "다른 지붕재여부")
private String diffRoofEnabled;
@Schema(description = "발주여부")
private String orderFlg;
}

View File

@ -5,72 +5,105 @@ import lombok.Data;
@Data
public class PlanResponse {
@Schema(description = "물건번호")
private String objectNo;
@Schema(description = "플랜번호")
private String planNo;
@Schema(description = "시공방법")
private String constructSpecification;
@Schema(description = "설치높이")
private String setupHeight;
@Schema(description = "날씨포인트")
private String weatherPoint;
@Schema(description = "날씨포인트")
private String roofKindId;
@Schema(description = "경사")
private String slope;
@Schema(description = "지붕재 아이템 CLASS ID")
private String roofMaterialClassId;
@Schema(description = "지붕재 아이템 ID")
private String roofMaterialId;
@Schema(description = "가대 설치 ID")
private String supportMethodId;
@Schema(description = "모델")
private String moduleModel;
@Schema(description = "담당자")
private String charger;
@Schema(description = "견적서 유효기간")
private String estimateValidityTerm;
@Schema(description = "결정 플랜")
private String decisionPlan;
@Schema(description = "넘버")
private String number;
@Schema(description = "시스템용량")
private String capacity;
@Schema(description = "강설량")
private String snowfall;
@Schema(description = "표준풍속검사")
private String standardWindSpeedCheck;
@Schema(description = "옵션커버")
private String optionCover;
@Schema(description = "한화여부")
private String hanwfaFlg;
@Schema(description = "기준종류ID")
private String standKindId;
@Schema(description = "기준풍속ID")
private String standardWindSpeedId;
@Schema(description = "가대 메이커")
private String supportMeaker;
@Schema(description = "소비세ID")
private String consumptionTaxId;
@Schema(description = "상태코드")
private String status;
@Schema(description = "사용자아이디")
private String userId;
@Schema(description = "삭제여부")
private String delFlg;
@Schema(description = "파워컨디셔너")
private String pcTypeNo;
@Schema(description = "북면설치여부")
private String northArrangement;
@Schema(description = "지붕재")
private String roofMaterialIdMulti;
@Schema(description = "가대")
private String supportMethodIdMulti;
@Schema(description = "가대 메이커")
private String supportMeakerMulti;
@Schema(description = "다른 지붕재여부")
private String diffRoofEnabled;
@Schema(description = "발주여부")
private String orderFlg;
@Schema(description = "물건번호")
private String objectNo;
@Schema(description = "플랜번호")
private String planNo;
@Schema(description = "시공방법")
private String constructSpecification;
@Schema(description = "설치높이")
private String setupHeight;
@Schema(description = "날씨포인트")
private String weatherPoint;
@Schema(description = "날씨포인트")
private String roofKindId;
@Schema(description = "경사")
private String slope;
@Schema(description = "지붕재 아이템 CLASS ID")
private String roofMaterialClassId;
@Schema(description = "지붕재 아이템 ID")
private String roofMaterialId;
@Schema(description = "가대 설치 ID")
private String supportMethodId;
@Schema(description = "모델")
private String moduleModel;
@Schema(description = "담당자")
private String charger;
@Schema(description = "견적서 유효기간")
private String estimateValidityTerm;
@Schema(description = "결정 플랜")
private String decisionPlan;
@Schema(description = "넘버")
private String number;
@Schema(description = "시스템용량")
private String capacity;
@Schema(description = "강설량")
private String snowfall;
@Schema(description = "표준풍속검사")
private String standardWindSpeedCheck;
@Schema(description = "옵션커버")
private String optionCover;
@Schema(description = "한화여부")
private String hanwfaFlg;
@Schema(description = "기준종류ID")
private String standKindId;
@Schema(description = "기준풍속ID")
private String standardWindSpeedId;
@Schema(description = "가대 메이커")
private String supportMeaker;
@Schema(description = "소비세ID")
private String consumptionTaxId;
@Schema(description = "상태코드")
private String status;
@Schema(description = "사용자아이디")
private String userId;
@Schema(description = "삭제여부")
private String delFlg;
@Schema(description = "파워컨디셔너")
private String pcTypeNo;
@Schema(description = "북면설치여부")
private String northArrangement;
@Schema(description = "지붕재")
private String roofMaterialIdMulti;
@Schema(description = "가대")
private String supportMethodIdMulti;
@Schema(description = "가대 메이커")
private String supportMeakerMulti;
@Schema(description = "다른 지붕재여부")
private String diffRoofEnabled;
@Schema(description = "발주여부")
private String orderFlg;
}

View File

@ -4,13 +4,14 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
//@Data
// @Data
@Getter
@Setter
public class PrefResponse {
// 물건정보
@Schema(description = "도도부현ID")
private String prefId;
@Schema(description = "도도부현명/지역명")
private String prefName;
// 물건정보
@Schema(description = "도도부현ID")
private String prefId;
@Schema(description = "도도부현명/지역명")
private String prefName;
}

View File

@ -4,26 +4,32 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
//@Data
// @Data
@Getter
@Setter
public class SaleStoreResponse {
// 판매점정보
@Schema(description = "1차점판매점 여부")
private String firstAgentYn;
@Schema(description = "판매점ID")
private String saleStoreId;
@Schema(description = "판매점명")
private String saleStoreName;
@Schema(description = "판매점레벨")
private String saleStoreLevel;
@Schema(description = "1차점판매점ID")
private String firstAgentId;
// 판매점정보
@Schema(description = "1차점판매점 여부")
private String firstAgentYn;
@Schema(description = "영업사원명")
private String businessCharger;
@Schema(description = "영업사원 연락처")
private String businessChargerTel;
@Schema(description = "영업사원 메일주소")
private String businessChargerMail;
@Schema(description = "판매점ID")
private String saleStoreId;
@Schema(description = "판매점명")
private String saleStoreName;
@Schema(description = "판매점레벨")
private String saleStoreLevel;
@Schema(description = "1차점판매점ID")
private String firstAgentId;
@Schema(description = "영업사원명")
private String businessCharger;
@Schema(description = "영업사원 연락처")
private String businessChargerTel;
@Schema(description = "영업사원 메일주소")
private String businessChargerMail;
}

View File

@ -4,15 +4,17 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
//@Data
// @Data
@Getter
@Setter
public class WindSpeedResponse {
// 기준풍속정보
@Schema(description = "도시명")
private String city;
@Schema(description = "풍속")
private String windSpeed;
@Schema(description = "메모")
private String remarks;
// 기준풍속정보
@Schema(description = "도시명")
private String city;
@Schema(description = "풍속")
private String windSpeed;
@Schema(description = "메모")
private String remarks;
}