소스 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.ObjectRequest;
import com.interplug.qcast.biz.object.dto.ObjectResponse; import com.interplug.qcast.biz.object.dto.ObjectResponse;
import com.interplug.qcast.biz.object.dto.SaleStoreResponse; import com.interplug.qcast.biz.object.dto.SaleStoreResponse;
import com.interplug.qcast.config.message.Messages;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import java.util.List;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/api/main-page") @RequestMapping("/api/main-page")
@RequiredArgsConstructor @RequiredArgsConstructor
public class MainPageController { public class MainPageController {
private final ObjectService objectService; private final ObjectService objectService;
@Operation(description = "메인 물건정보 목록을 조회한다.") @Operation(description = "메인 물건정보 목록을 조회한다.")
@GetMapping("/object/{saleStoreId}/list") @GetMapping("/object/{saleStoreId}/list")
@ResponseStatus(HttpStatus.OK) @ResponseStatus(HttpStatus.OK)
public MainPageResponse selectObjectList(@PathVariable String saleStoreId) throws Exception { public MainPageResponse selectObjectList(@PathVariable String saleStoreId) throws Exception {
MainPageResponse mainPageResponse = new MainPageResponse(); MainPageResponse mainPageResponse = new MainPageResponse();
// 판매점명 조회 // 판매점명 조회
SaleStoreResponse saleStoreResponse = objectService.selectSaleStoreInfo(saleStoreId); SaleStoreResponse saleStoreResponse = objectService.selectSaleStoreInfo(saleStoreId);
if (saleStoreResponse != null) { if (saleStoreResponse != null) {
mainPageResponse.setSaleStoreId(saleStoreId); mainPageResponse.setSaleStoreId(saleStoreId);
mainPageResponse.setSaleStoreName(saleStoreResponse.getSaleStoreName()); mainPageResponse.setSaleStoreName(saleStoreResponse.getSaleStoreName());
mainPageResponse.setBusinessCharger(saleStoreResponse.getBusinessCharger()); mainPageResponse.setBusinessCharger(saleStoreResponse.getBusinessCharger());
mainPageResponse.setBusinessChargerTel(saleStoreResponse.getBusinessChargerTel()); mainPageResponse.setBusinessChargerTel(saleStoreResponse.getBusinessChargerTel());
mainPageResponse.setBusinessChargerMail(saleStoreResponse.getBusinessChargerMail()); 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;
} }
// 물건정보 목록 조회
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; package com.interplug.qcast.biz.mainPage.dto;
import com.interplug.qcast.biz.object.dto.ObjectResponse; 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 io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.util.List; // @Data
//@Data
@Getter @Getter
@Setter @Setter
public class MainPageResponse { public class MainPageResponse {
// 판매점정보 // 판매점정보
@Schema(description = "판매점ID") @Schema(description = "판매점ID")
private String saleStoreId; 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 = "물건정보 목록") @Schema(description = "판매점명")
private List<ObjectResponse> objectList; 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 com.interplug.qcast.biz.object.dto.*;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import java.util.List;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/api/object") @RequestMapping("/api/object")
@RequiredArgsConstructor @RequiredArgsConstructor
@Tag(name = "ObjectController", description = "물건정보 관련 API") @Tag(name = "ObjectController", description = "물건정보 관련 API")
public class ObjectController { public class ObjectController {
// @Autowired private ObjectService objectService; // @Autowired private ObjectService objectService;
private final ObjectService objectService; private final ObjectService objectService;
@Operation(description = "물건정보 도도부현을 조회한다.") @Operation(description = "물건정보 도도부현을 조회한다.2")
@GetMapping("/prefecture/list") @GetMapping("/prefecture/list")
@ResponseStatus(HttpStatus.OK) @ResponseStatus(HttpStatus.OK)
public List<PrefResponse> selectPrefList() throws Exception { public List<PrefResponse> selectPrefList() throws Exception {
return objectService.selectPrefList(); return objectService.selectPrefList();
} }
@Operation(description = "물건정보 도도부현 발전시뮬레이션 지역을 조회한다.") @Operation(description = "물건정보 도도부현 발전시뮬레이션 지역을 조회한다.")
@GetMapping("/prefecture/{prefId}/list") @GetMapping("/prefecture/{prefId}/list")
@ResponseStatus(HttpStatus.OK) @ResponseStatus(HttpStatus.OK)
public List<PrefResponse> selectPrefAreaList(@PathVariable String prefId) throws Exception { public List<PrefResponse> selectPrefAreaList(@PathVariable String prefId) throws Exception {
return objectService.selectPrefAreaList(prefId); return objectService.selectPrefAreaList(prefId);
} }
@Operation(description = "물건정보 지역 기준풍속을 조회한다.") @Operation(description = "물건정보 지역 기준풍속을 조회한다.")
@GetMapping("/windSpeed/{city}/list") @GetMapping("/windSpeed/{city}/list")
@ResponseStatus(HttpStatus.OK) @ResponseStatus(HttpStatus.OK)
public List<WindSpeedResponse> selectWindSpeedList(@PathVariable String city) throws Exception { public List<WindSpeedResponse> selectWindSpeedList(@PathVariable String city) throws Exception {
return objectService.selectWindSpeedList(city); return objectService.selectWindSpeedList(city);
} }
@Operation(description = "판매점 목록을 조회한다.") @Operation(description = "판매점 목록을 조회한다.")
@GetMapping("/saleStore/{saleStoreId}/list") @GetMapping("/saleStore/{saleStoreId}/list")
@ResponseStatus(HttpStatus.OK) @ResponseStatus(HttpStatus.OK)
public List<SaleStoreResponse> selectSaleStoreList(@PathVariable String saleStoreId) throws Exception { public List<SaleStoreResponse> selectSaleStoreList(@PathVariable String saleStoreId)
return objectService.selectSaleStoreList(saleStoreId); throws Exception {
} return objectService.selectSaleStoreList(saleStoreId);
}
@Operation(description = "물건정보 목록을 조회한다.") @Operation(description = "물건정보 목록을 조회한다.11")
@GetMapping("/list") @GetMapping("/list")
@ResponseStatus(HttpStatus.OK) @ResponseStatus(HttpStatus.OK)
public List<ObjectResponse> selectObjectList(ObjectRequest objectRequest) throws Exception { public List<ObjectResponse> selectObjectList(ObjectRequest objectRequest) throws Exception {
return objectService.selectObjectList(objectRequest); return objectService.selectObjectList(objectRequest);
} }
@Operation(description = "물건정보 상세를 조회한다.") @Operation(description = "물건정보 상세를 조회한다.")
@GetMapping("/{objectNo}/detail") @GetMapping("/{objectNo}/detail")
@ResponseStatus(HttpStatus.OK) @ResponseStatus(HttpStatus.OK)
public ObjectResponse selectObjectDetail(@PathVariable String objectNo) throws Exception { public ObjectResponse selectObjectDetail(@PathVariable String objectNo) throws Exception {
return objectService.selectObjectDetail(objectNo); return objectService.selectObjectDetail(objectNo);
} }
@Operation(description = "물건정보을 저장한다.") @Operation(description = "물건정보을 저장한다.")
@PostMapping("/save-object") @PostMapping("/save-object")
@ResponseStatus(HttpStatus.CREATED) @ResponseStatus(HttpStatus.CREATED)
public ObjectResponse insertObject(@RequestBody ObjectRequest objectRequest) throws Exception { public ObjectResponse insertObject(@RequestBody ObjectRequest objectRequest) throws Exception {
return objectService.insertObject(objectRequest); return objectService.insertObject(objectRequest);
} }
@Operation(description = "물건정보을 수정한다.") @Operation(description = "물건정보을 수정한다.")
@PutMapping("/save-object") @PutMapping("/save-object")
@ResponseStatus(HttpStatus.CREATED) @ResponseStatus(HttpStatus.CREATED)
public ObjectResponse updateObject(@RequestBody ObjectRequest objectRequest) throws Exception { public ObjectResponse updateObject(@RequestBody ObjectRequest objectRequest) throws Exception {
return objectService.updateObject(objectRequest); return objectService.updateObject(objectRequest);
} }
@Operation(description = "물건정보을 삭제한다.") @Operation(description = "물건정보을 삭제한다.")
@DeleteMapping("/{objectNo}") @DeleteMapping("/{objectNo}")
@ResponseStatus(HttpStatus.NO_CONTENT) @ResponseStatus(HttpStatus.NO_CONTENT)
public void deleteObject(@PathVariable String objectNo) throws Exception { public void deleteObject(@PathVariable String objectNo) throws Exception {
objectService.deleteObject(objectNo); objectService.deleteObject(objectNo);
} }
@Operation(description = "물건정보의 플랜정보를 추가한다.") @Operation(description = "물건정보의 플랜정보를 추가한다.")
@PostMapping("/add-plan") @PostMapping("/add-plan")
@ResponseStatus(HttpStatus.CREATED) @ResponseStatus(HttpStatus.CREATED)
public void insertPlan(@RequestBody PlanRequest planRequest) throws Exception { public void insertPlan(@RequestBody PlanRequest planRequest) throws Exception {
objectService.insertPlan(planRequest); objectService.insertPlan(planRequest);
} }
@Operation(description = "물건정보의 플랜정보를 삭제한다.") @Operation(description = "물건정보의 플랜정보를 삭제한다.")
@DeleteMapping("/plan/{objectNo}/{planNo}") @DeleteMapping("/plan/{objectNo}/{planNo}")
@ResponseStatus(HttpStatus.NO_CONTENT) @ResponseStatus(HttpStatus.NO_CONTENT)
public void deletePlan(@PathVariable String objectNo, @PathVariable String planNo) throws Exception { public void deletePlan(@PathVariable String objectNo, @PathVariable String planNo)
PlanRequest planRequest = new PlanRequest(); throws Exception {
planRequest.setObjectNo(objectNo); PlanRequest planRequest = new PlanRequest();
planRequest.setPlanNo(planNo); planRequest.setObjectNo(objectNo);
planRequest.setPlanNo(planNo);
objectService.deletePlan(planRequest); objectService.deletePlan(planRequest);
} }
} }

View File

@ -1,66 +1,65 @@
package com.interplug.qcast.biz.object; package com.interplug.qcast.biz.object;
import com.interplug.qcast.biz.object.dto.*; import com.interplug.qcast.biz.object.dto.*;
import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
interface ObjectMapper { 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 목록 조회 // 물건정보 PLAN 목록 조회
public List<PlanResponse> selectPlanList(PlanRequest planRequest); 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 com.interplug.qcast.biz.object.dto.*;
import io.micrometer.common.util.StringUtils; 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.io.*;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.StandardCopyOption; import java.nio.file.StandardCopyOption;
@ -16,393 +9,438 @@ import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; 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 @Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class ObjectService { public class ObjectService {
@Value("${file.ini.root.path}") @Value("${file.ini.root.path}")
private String baseDirPath; private String baseDirPath;
@Value("${file.ini.base.filename}")
private String baseFileName;
private final ObjectMapper objectMapper; @Value("${file.ini.base.filename}")
private String baseFileName;
public List<PrefResponse> selectPrefList() throws Exception { private final ObjectMapper objectMapper;
return objectMapper.selectPrefList();
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 objectResponse;
return objectMapper.selectPrefAreaList(prefId); }
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 { objectRequest.setObjectNo(objectNo);
return objectMapper.selectWindSpeedList(city);
}
public List<SaleStoreResponse> selectSaleStoreList(String saleStoreId) throws Exception { // 물건정보 등록
if ("T01".equals(saleStoreId)) { objectRequest.setAddress(
return objectMapper.selectSaleStoreAllList(); objectRequest.getPrefName()
} else { + ((!StringUtils.isEmpty(objectRequest.getAddress()))
return objectMapper.selectSaleStoreList(saleStoreId); ? 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 { // 디폴트 Plan 등록
return objectMapper.selectSaleStoreInfo(saleStoreId); 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 { // ini 파일 생성
return objectMapper.selectObjectList(objectRequest); objectRequest.setPlanNo(planRequest.getPlanNo());
} this.objectFileSave(objectRequest);
public ObjectResponse selectObjectDetail(String objectNo) throws Exception { // 결과 데이터 리턴
// object 상세 정보 조회 ObjectResponse objectResponse = new ObjectResponse();
ObjectResponse objectResponse = objectMapper.selectObjectDetail(objectNo); objectResponse.setObjectNo(objectNo);
objectResponse.setPlanNo(planRequest.getPlanNo());
if (objectResponse != null) { return objectResponse;
// 기본 플랜번호 셋팅 }
objectResponse.setPlanNo("1");
// ini 파일 읽어 Response 객체 담기 public ObjectResponse updateObject(ObjectRequest objectRequest) throws Exception {
this.objectFileInfo(objectResponse); int result = 0;
boolean tempChgFlg = false;
// Plan 목록 조회 // object 상세 정보 조회
PlanRequest planRequest = new PlanRequest(); ObjectResponse objectResponse = objectMapper.selectObjectDetail(objectRequest.getObjectNo());
planRequest.setObjectNo(objectNo);
List<PlanResponse> planList = objectMapper.selectPlanList(planRequest);
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; objectRequest.setAddress(
String objectNo = ""; 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);
// 물건번호 등록/조회 // Plan 목록 조회
if ("0".equals(objectRequest.getTempFlg())) { PlanRequest planRequest = new PlanRequest();
objectRequest.setDelFlg("0"); planRequest.setObjectNo(objectRequest.getObjectNo());
objectRequest.setTempFlg("0"); List<PlanResponse> planList = objectMapper.selectPlanList(planRequest);
objectRequest.setTempDelFlg("0");
result += objectMapper.insertObjectNo(objectRequest); for (PlanResponse planResponse : planList) {
objectNo = objectMapper.selectObjectNo(objectRequest); objectRequest.setPlanNo(planResponse.getPlanNo());
} else if ("1".equals(objectRequest.getTempFlg())) {
objectRequest.setDelFlg("1");
objectRequest.setTempFlg("1");
objectRequest.setTempDelFlg("0");
// 임시저장인 경우 임시 물건번호 생성 yyyymmddhh24missSSS_랜덤문자 3개 // ini 파일 수정
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());
this.objectFileSave(objectRequest); this.objectFileSave(objectRequest);
}
// 결과 데이터 리턴 // 임시저장에서 저장상태로 돌리기
ObjectResponse objectResponse = new ObjectResponse(); if (tempChgFlg) {
objectResponse.setObjectNo(objectNo); objectMapper.updateObjectNoChange(objectRequest);
objectResponse.setPlanNo(planRequest.getPlanNo()); 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; objectResponse =
boolean tempChgFlg = false; objectMapper.selectObjectDetail(
(tempChgFlg ? objectRequest.getNewObjectNo() : objectRequest.getObjectNo()));
return objectResponse;
}
// object 상세 정보 조회 public int deleteObject(String objectNo) throws Exception {
ObjectResponse objectResponse = objectMapper.selectObjectDetail(objectRequest.getObjectNo()); int result = 0;
if (objectResponse != null) { // 물건정보 삭제
// 임시저장에서 저장상태 바뀌었는지 확인 ObjectRequest objectRequest = new ObjectRequest();
if ("1".equals(objectResponse.getTempFlg()) && "0".equals(objectRequest.getTempFlg())) { objectRequest.setObjectNo(objectNo);
tempChgFlg = true; result = objectMapper.deleteObject(objectRequest);
result += objectMapper.insertObjectNo(objectRequest); return result;
objectRequest.setNewObjectNo(objectMapper.selectObjectNo(objectRequest)); }
}
// 물건정보 수정 public void objectFileSave(ObjectRequest objectRequest) throws Exception {
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);
// Plan 목록 조회 try {
PlanRequest planRequest = new PlanRequest(); // Dir 파일 체크하여 없으면 생성해 준다. (물건번호/플랜번호/파일명)
planRequest.setObjectNo(objectRequest.getObjectNo()); String dirPath =
List<PlanResponse> planList = objectMapper.selectPlanList(planRequest); 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) { // ini4j 라이브러리 이용하여 파일 읽기
objectRequest.setPlanNo(planResponse.getPlanNo()); 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) { OutputStreamWriter output =
objectMapper.updateObjectNoChange(objectRequest); new OutputStreamWriter(
objectMapper.updatePlanObjectNoChange(objectRequest); new FileOutputStream(dirPath + File.separator + baseFileName), "MS932");
iniFile.store(output);
// 임시저장 폴더명 생성 물건번호명으로 교체 output.close();
File file = new File(baseDirPath + File.separator + objectRequest.getObjectNo()); input.close();
if (file.exists()) { } catch (Exception e) {
file.renameTo(new File (baseDirPath + File.separator + objectRequest.getNewObjectNo())); 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();
objectResponse = objectMapper.selectObjectDetail((tempChgFlg ? objectRequest.getNewObjectNo() : objectRequest.getObjectNo())); }
return objectResponse;
} 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 { return planRequest.getPlanNo();
int result = 0; }
// 물건정보 삭제 public void deletePlan(PlanRequest planRequest) throws Exception {
ObjectRequest objectRequest = new ObjectRequest(); // Plan 삭제
objectRequest.setObjectNo(objectNo); objectMapper.deletePlan(planRequest);
result = objectMapper.deleteObject(objectRequest);
return result; try {
} SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date time = new Date();
public void objectFileSave(ObjectRequest objectRequest) throws Exception { String delTime = dateFormat.format(time);
try { String dirPath = baseDirPath + File.separator + planRequest.getObjectNo();
// Dir 파일 체크하여 없으면 생성해 준다. (물건번호/플랜번호/파일명) File file = new File(dirPath + File.separator + planRequest.getPlanNo());
String dirPath = baseDirPath + File.separator + objectRequest.getObjectNo() + File.separator + objectRequest.getPlanNo(); if (file.exists()) {
File file = new File(dirPath); file.renameTo(new File(dirPath + File.separator + planRequest.getPlanNo() + "_" + delTime));
if (!file.exists()) { }
file.mkdirs(); } catch (Exception e) {
} log.error(e.getMessage());
file = new File(dirPath + File.separator + baseFileName); throw new RuntimeException(e.getMessage());
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());
}
} }
}
} }

View File

@ -1,116 +1,159 @@
package com.interplug.qcast.biz.object.dto; package com.interplug.qcast.biz.object.dto;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@Data @Data
public class ObjectRequest { public class ObjectRequest {
// 물건정보 ini 파일 설정 순서에 맞쳐 셋팅 // 물건정보 ini 파일 설정 순서에 맞쳐 셋팅
@Schema(description = "판매점명") @Schema(description = "판매점명")
private String saleStoreName; 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;
// 그외 물건정보 @Schema(description = "경칭")
@Schema(description = "판매점ID") private String objectNameOmit;
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 = "안건명 후리가나")
@Schema(description = "플랜번호") private String objectNameKana;
private String planNo;
// 검색정보 @Schema(description = "안건명")
@Schema(description = "검색 - 물건번호") private String objectName;
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 = "담당자")
@Schema(description = "시작 Row") private String receiveUser;
private String startRow;
@Schema(description = "종료 Row") @Schema(description = "우편번호")
private String endRow; 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; package com.interplug.qcast.biz.object.dto;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import java.util.List;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.util.List; // @Data
//@Data
@Getter @Getter
@Setter @Setter
public class ObjectResponse { public class ObjectResponse {
// 물건정보 // 물건정보
@Schema(description = "물건번호") @Schema(description = "물건번호")
private String objectNo; 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 = "생성일") @Schema(description = "판매점ID")
private String createDatetime; private String saleStoreId;
@Schema(description = "생성자")
private String createUserName;
@Schema(description = "갱신일")
private String lastEditDatetime;
@Schema(description = "갱신자")
private String lastEditUserName;
// ini 설정정보 @Schema(description = "판매점명")
@Schema(description = "발전시뮬레이션 지역") private String saleStoreName;
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 = "판매오더코드")
@Schema(description = "플랜번호") private String workNo;
private String planNo;
@Schema(description = "플랜 전체 건수")
private String planTotCnt;
// 플랜목록 @Schema(description = "부동산 분류코드")
@Schema(description = "플랜목록") private String objectStatusId;
private List<PlanResponse> planList;
// 페이징 정보 @Schema(description = "안건명")
@Schema(description = "Row Number") private String objectName;
private Integer rowNumber;
@Schema(description = "전체 건수") @Schema(description = "경칭")
private Integer totCnt; 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 @Data
public class PlanRequest { public class PlanRequest {
@Schema(description = "물건번호") @Schema(description = "물건번호")
private String objectNo; private String objectNo;
@Schema(description = "플랜번호")
private String planNo; @Schema(description = "플랜번호")
@Schema(description = "시공방법") private String planNo;
private String constructSpecification;
@Schema(description = "설치높이") @Schema(description = "시공방법")
private String setupHeight; private String constructSpecification;
@Schema(description = "날씨포인트")
private String weatherPoint; @Schema(description = "설치높이")
@Schema(description = "날씨포인트") private String setupHeight;
private String roofKindId;
@Schema(description = "경사") @Schema(description = "날씨포인트")
private String slope; private String weatherPoint;
@Schema(description = "지붕재 아이템 CLASS ID")
private String roofMaterialClassId; @Schema(description = "날씨포인트")
@Schema(description = "지붕재 아이템 ID") private String roofKindId;
private String roofMaterialId;
@Schema(description = "가대 설치 ID") @Schema(description = "경사")
private String supportMethodId; private String slope;
@Schema(description = "모델")
private String moduleModel; @Schema(description = "지붕재 아이템 CLASS ID")
@Schema(description = "담당자") private String roofMaterialClassId;
private String charger;
@Schema(description = "견적서 유효기간") @Schema(description = "지붕재 아이템 ID")
private String estimateValidityTerm; private String roofMaterialId;
@Schema(description = "결정 플랜")
private String decisionPlan; @Schema(description = "가대 설치 ID")
@Schema(description = "넘버") private String supportMethodId;
private String number;
@Schema(description = "시스템용량") @Schema(description = "모델")
private String capacity; private String moduleModel;
@Schema(description = "강설량")
private String snowfall; @Schema(description = "담당자")
@Schema(description = "표준풍속검사") private String charger;
private String standardWindSpeedCheck;
@Schema(description = "옵션커버") @Schema(description = "견적서 유효기간")
private String optionCover; private String estimateValidityTerm;
@Schema(description = "한화여부")
private String hanwfaFlg; @Schema(description = "결정 플랜")
@Schema(description = "기준종류ID") private String decisionPlan;
private String standKindId;
@Schema(description = "기준풍속ID") @Schema(description = "넘버")
private String standardWindSpeedId; private String number;
@Schema(description = "가대 메이커")
private String supportMeaker; @Schema(description = "시스템용량")
@Schema(description = "소비세ID") private String capacity;
private String consumptionTaxId;
@Schema(description = "상태코드") @Schema(description = "강설량")
private String status; private String snowfall;
@Schema(description = "사용자아이디")
private String userId; @Schema(description = "표준풍속검사")
@Schema(description = "삭제여부") private String standardWindSpeedCheck;
private String delFlg;
@Schema(description = "파워컨디셔너") @Schema(description = "옵션커버")
private String pcTypeNo; private String optionCover;
@Schema(description = "북면설치여부")
private String northArrangement; @Schema(description = "한화여부")
@Schema(description = "지붕재") private String hanwfaFlg;
private String roofMaterialIdMulti;
@Schema(description = "가대") @Schema(description = "기준종류ID")
private String supportMethodIdMulti; private String standKindId;
@Schema(description = "가대 메이커")
private String supportMeakerMulti; @Schema(description = "기준풍속ID")
@Schema(description = "다른 지붕재여부") private String standardWindSpeedId;
private String diffRoofEnabled;
@Schema(description = "발주여부") @Schema(description = "가대 메이커")
private String orderFlg; 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 @Data
public class PlanResponse { public class PlanResponse {
@Schema(description = "물건번호") @Schema(description = "물건번호")
private String objectNo; private String objectNo;
@Schema(description = "플랜번호")
private String planNo; @Schema(description = "플랜번호")
@Schema(description = "시공방법") private String planNo;
private String constructSpecification;
@Schema(description = "설치높이") @Schema(description = "시공방법")
private String setupHeight; private String constructSpecification;
@Schema(description = "날씨포인트")
private String weatherPoint; @Schema(description = "설치높이")
@Schema(description = "날씨포인트") private String setupHeight;
private String roofKindId;
@Schema(description = "경사") @Schema(description = "날씨포인트")
private String slope; private String weatherPoint;
@Schema(description = "지붕재 아이템 CLASS ID")
private String roofMaterialClassId; @Schema(description = "날씨포인트")
@Schema(description = "지붕재 아이템 ID") private String roofKindId;
private String roofMaterialId;
@Schema(description = "가대 설치 ID") @Schema(description = "경사")
private String supportMethodId; private String slope;
@Schema(description = "모델")
private String moduleModel; @Schema(description = "지붕재 아이템 CLASS ID")
@Schema(description = "담당자") private String roofMaterialClassId;
private String charger;
@Schema(description = "견적서 유효기간") @Schema(description = "지붕재 아이템 ID")
private String estimateValidityTerm; private String roofMaterialId;
@Schema(description = "결정 플랜")
private String decisionPlan; @Schema(description = "가대 설치 ID")
@Schema(description = "넘버") private String supportMethodId;
private String number;
@Schema(description = "시스템용량") @Schema(description = "모델")
private String capacity; private String moduleModel;
@Schema(description = "강설량")
private String snowfall; @Schema(description = "담당자")
@Schema(description = "표준풍속검사") private String charger;
private String standardWindSpeedCheck;
@Schema(description = "옵션커버") @Schema(description = "견적서 유효기간")
private String optionCover; private String estimateValidityTerm;
@Schema(description = "한화여부")
private String hanwfaFlg; @Schema(description = "결정 플랜")
@Schema(description = "기준종류ID") private String decisionPlan;
private String standKindId;
@Schema(description = "기준풍속ID") @Schema(description = "넘버")
private String standardWindSpeedId; private String number;
@Schema(description = "가대 메이커")
private String supportMeaker; @Schema(description = "시스템용량")
@Schema(description = "소비세ID") private String capacity;
private String consumptionTaxId;
@Schema(description = "상태코드") @Schema(description = "강설량")
private String status; private String snowfall;
@Schema(description = "사용자아이디")
private String userId; @Schema(description = "표준풍속검사")
@Schema(description = "삭제여부") private String standardWindSpeedCheck;
private String delFlg;
@Schema(description = "파워컨디셔너") @Schema(description = "옵션커버")
private String pcTypeNo; private String optionCover;
@Schema(description = "북면설치여부")
private String northArrangement; @Schema(description = "한화여부")
@Schema(description = "지붕재") private String hanwfaFlg;
private String roofMaterialIdMulti;
@Schema(description = "가대") @Schema(description = "기준종류ID")
private String supportMethodIdMulti; private String standKindId;
@Schema(description = "가대 메이커")
private String supportMeakerMulti; @Schema(description = "기준풍속ID")
@Schema(description = "다른 지붕재여부") private String standardWindSpeedId;
private String diffRoofEnabled;
@Schema(description = "발주여부") @Schema(description = "가대 메이커")
private String orderFlg; 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.Getter;
import lombok.Setter; import lombok.Setter;
//@Data // @Data
@Getter @Getter
@Setter @Setter
public class PrefResponse { public class PrefResponse {
// 물건정보 // 물건정보
@Schema(description = "도도부현ID") @Schema(description = "도도부현ID")
private String prefId; private String prefId;
@Schema(description = "도도부현명/지역명")
private String prefName; @Schema(description = "도도부현명/지역명")
private String prefName;
} }

View File

@ -4,26 +4,32 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
//@Data // @Data
@Getter @Getter
@Setter @Setter
public class SaleStoreResponse { public class SaleStoreResponse {
// 판매점정보 // 판매점정보
@Schema(description = "1차점판매점 여부") @Schema(description = "1차점판매점 여부")
private String firstAgentYn; 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 = "영업사원명") @Schema(description = "판매점ID")
private String businessCharger; private String saleStoreId;
@Schema(description = "영업사원 연락처")
private String businessChargerTel; @Schema(description = "판매점명")
@Schema(description = "영업사원 메일주소") private String saleStoreName;
private String businessChargerMail;
@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.Getter;
import lombok.Setter; import lombok.Setter;
//@Data // @Data
@Getter @Getter
@Setter @Setter
public class WindSpeedResponse { public class WindSpeedResponse {
// 기준풍속정보 // 기준풍속정보
@Schema(description = "도시명") @Schema(description = "도시명")
private String city; private String city;
@Schema(description = "풍속")
private String windSpeed; @Schema(description = "풍속")
@Schema(description = "메모") private String windSpeed;
private String remarks;
@Schema(description = "메모")
private String remarks;
} }