From eba3ea2e7520f847fc929ce9e98c4ffe130297fc Mon Sep 17 00:00:00 2001 From: changkyu choi Date: Thu, 26 Sep 2024 15:42:12 +0900 Subject: [PATCH] =?UTF-8?q?Canvas=20=EC=84=A4=EC=A0=95=20=EC=BB=AC?= =?UTF-8?q?=EB=9F=BC=20=EB=B3=80=EA=B2=BD=EC=97=90=20=EB=94=B0=EB=A5=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=EB=B0=8F=20Grid=20=EC=84=A4=EC=A0=95=20AP?= =?UTF-8?q?I=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CanvasGridSettingController.java | 42 +++++ .../CanvasGridSettingMapper.java | 16 ++ .../CanvasGridSettingService.java | 43 +++++ .../dto/CanvasGridSettingInfo.java | 25 +++ .../CanvasSettingController.java | 2 +- .../canvasSetting/dto/CanvasSettingInfo.java | 51 +++--- .../canvasGridSettingMapper.xml | 69 ++++++++ .../canvasSetting/canvasSettingMapper.xml | 148 ++++++++---------- 8 files changed, 287 insertions(+), 109 deletions(-) create mode 100644 src/main/java/com/interplug/qcast/biz/canvasGridSetting/CanvasGridSettingController.java create mode 100644 src/main/java/com/interplug/qcast/biz/canvasGridSetting/CanvasGridSettingMapper.java create mode 100644 src/main/java/com/interplug/qcast/biz/canvasGridSetting/CanvasGridSettingService.java create mode 100644 src/main/java/com/interplug/qcast/biz/canvasGridSetting/dto/CanvasGridSettingInfo.java create mode 100644 src/main/resources/mappers/canvasGridSetting/canvasGridSettingMapper.xml diff --git a/src/main/java/com/interplug/qcast/biz/canvasGridSetting/CanvasGridSettingController.java b/src/main/java/com/interplug/qcast/biz/canvasGridSetting/CanvasGridSettingController.java new file mode 100644 index 00000000..6d9ce950 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/canvasGridSetting/CanvasGridSettingController.java @@ -0,0 +1,42 @@ +package com.interplug.qcast.biz.canvasGridSetting; + +import com.interplug.qcast.biz.canvasGridSetting.dto.CanvasGridSettingInfo; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +import java.util.Map; + +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.*; + +@Slf4j +@RestController +@RequestMapping("/api/canvas-management") +@RequiredArgsConstructor +@Tag(name = "CanvasGridSettingController", description = "Canvas Grid Setting 관련 API") +public class CanvasGridSettingController { + private final CanvasGridSettingService canvasGridSettingService; + + @Operation(description = "Canvas Grid Setting 정보를 조회 한다.") + @GetMapping("/canvas-grid-settings/by-object/{objectNo}") + public CanvasGridSettingInfo selectCanvasGridSetting(@PathVariable String objectNo) { + + log.debug("Grid Setting 조회 ::::: " + objectNo); + + return canvasGridSettingService.selectCanvasGridSetting(objectNo); + } + + @Operation(description = "Canvas Grid Setting 정보를 등록 한다.") + @PostMapping("/canvas-grid-settings") + @ResponseStatus(HttpStatus.CREATED) + public Map insertCanvasGridStatus(@RequestBody CanvasGridSettingInfo csi) { + + log.debug("Grid Setting 등록 ::::: " + csi.getObjectNo()); + + return canvasGridSettingService.insertCanvasGridSetting(csi); + } + +} diff --git a/src/main/java/com/interplug/qcast/biz/canvasGridSetting/CanvasGridSettingMapper.java b/src/main/java/com/interplug/qcast/biz/canvasGridSetting/CanvasGridSettingMapper.java new file mode 100644 index 00000000..df23ad02 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/canvasGridSetting/CanvasGridSettingMapper.java @@ -0,0 +1,16 @@ +package com.interplug.qcast.biz.canvasGridSetting; + +import com.interplug.qcast.biz.canvasGridSetting.dto.CanvasGridSettingInfo; + +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface CanvasGridSettingMapper { + + // Canvas Grid Setting 조회(objectNo) + public CanvasGridSettingInfo selectCanvasGridSetting(String objectNo); + + // Canvas Grid Setting 등록 + public void insertCanvasGridSetting(CanvasGridSettingInfo csi); + +} \ No newline at end of file diff --git a/src/main/java/com/interplug/qcast/biz/canvasGridSetting/CanvasGridSettingService.java b/src/main/java/com/interplug/qcast/biz/canvasGridSetting/CanvasGridSettingService.java new file mode 100644 index 00000000..89fee56d --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/canvasGridSetting/CanvasGridSettingService.java @@ -0,0 +1,43 @@ +package com.interplug.qcast.biz.canvasGridSetting; + +import com.interplug.qcast.biz.canvasGridSetting.dto.CanvasGridSettingInfo; + +import lombok.RequiredArgsConstructor; + +import java.util.HashMap; +import java.util.Map; + +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +public class CanvasGridSettingService { + private final CanvasGridSettingMapper canvasGridSettingMapper; + + // Canvas Setting 조회(objectNo) + public CanvasGridSettingInfo selectCanvasGridSetting(String objectNo) { + return canvasGridSettingMapper.selectCanvasGridSetting(objectNo); + } + + // Canvas Setting 등록 + public Map insertCanvasGridSetting(CanvasGridSettingInfo csi) { + + Map response = new HashMap<>(); + + try { + canvasGridSettingMapper.insertCanvasGridSetting(csi); + + response.put("objectNo", csi.getObjectNo()); + response.put("returnMessage", "common.message.confirm.mark"); + + } catch (Exception e) { + response.put("objectNo", csi.getObjectNo()); + response.put("returnMessage", "common.message.save.error"); + } + + // 생성된 objectNo 반환 + return response; + + } + +} diff --git a/src/main/java/com/interplug/qcast/biz/canvasGridSetting/dto/CanvasGridSettingInfo.java b/src/main/java/com/interplug/qcast/biz/canvasGridSetting/dto/CanvasGridSettingInfo.java new file mode 100644 index 00000000..abe1f3b1 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/canvasGridSetting/dto/CanvasGridSettingInfo.java @@ -0,0 +1,25 @@ +package com.interplug.qcast.biz.canvasGridSetting.dto; + +import java.sql.Date; + +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class CanvasGridSettingInfo { + + private String objectNo; //견적서 번호 + private Integer dotGridDisplay; //점 그리드 표시 + private Integer lineGridDisplay; //선 그리드 표시 + private boolean gridChk01; //선택01 + private boolean gridChk02; //선택02 + private Integer gridHorizon; //가로 간격 + private Integer gridVertical; //세로 간격 + private Integer gridRatio; //비율 간격 + private Integer gridDimen; //치수 간격 + private Date registDatetime; //생성일시 + private Date lastEditDatetime; //수정일시 + private String returnMessage; //return message + +} diff --git a/src/main/java/com/interplug/qcast/biz/canvasSetting/CanvasSettingController.java b/src/main/java/com/interplug/qcast/biz/canvasSetting/CanvasSettingController.java index 78d42507..aa3a4037 100644 --- a/src/main/java/com/interplug/qcast/biz/canvasSetting/CanvasSettingController.java +++ b/src/main/java/com/interplug/qcast/biz/canvasSetting/CanvasSettingController.java @@ -32,7 +32,7 @@ public class CanvasSettingController { @Operation(description = "Canvas Setting 정보를 등록 한다.") @PostMapping("/canvas-settings") @ResponseStatus(HttpStatus.CREATED) - public Map insertCanvasStatus(@RequestBody CanvasSettingInfo csi) { + public Map insertCanvasSetting(@RequestBody CanvasSettingInfo csi) { log.debug("Setting 등록 ::::: " + csi.getObjectNo()); diff --git a/src/main/java/com/interplug/qcast/biz/canvasSetting/dto/CanvasSettingInfo.java b/src/main/java/com/interplug/qcast/biz/canvasSetting/dto/CanvasSettingInfo.java index 88356a2c..e6701f92 100644 --- a/src/main/java/com/interplug/qcast/biz/canvasSetting/dto/CanvasSettingInfo.java +++ b/src/main/java/com/interplug/qcast/biz/canvasSetting/dto/CanvasSettingInfo.java @@ -9,32 +9,29 @@ import lombok.Setter; @Setter public class CanvasSettingInfo { - private String objectNo; //견적서 번호 - private boolean assignDisplay; //할당 표시 - private boolean drawDisplay; //도면 표시 - private boolean gridDisplay; //그리드 표시 - private boolean charDisplay; //문자 표시 - private boolean flowDisplay; //흐름방향 표시 - private boolean hallwayDimenDisplay; //복도치수 표시 - private boolean actualDimenDisplay; //실제치수 표시 - private boolean noDimenDisplay; //치수 표시 없음 - private boolean trestleDisplay; //가대 표시 - private boolean coordiDisplay; //좌표 표시 - private boolean drawConverDisplay; //도면전환 표시 - private boolean onlyBorder; //화면표시 테두리만 - private boolean lineHatch; //화면표시 라인해치 - private boolean allPainted; //화면표시 모두칠함 - private boolean adsorpRangeSmall; //흡착범위설정 극소 - private boolean adsorpRangeSmallSemi; //흡착범위설정 소 - private boolean adsorpRangeMedium; //흡착범위설정 중 - private boolean adsorpRangeLarge; //흡착범위설정 대 - private boolean randomGrid; //임의 그리드 - private boolean solidGrid; //실선 그리드 - private boolean dotGrid; //점 그리드 - private boolean gridColorSet; //그리드색 설정 - private boolean adsorpPointAdd; //흡착점 추가 - private Date registDatetime; //생성일시 - private Date lastEditDatetime; //수정일시 - private String returnMessage; //return message + private String objectNo; //견적서 번호 + private boolean allocDisplay; //할당 표시 + private boolean outlineDisplay; //외벽선 표시 + private boolean gridDisplay; //그리드 표시 + private boolean lineDisplay; //지붕선 표시 + private boolean wordDisplay; //문자 표시 + private boolean circuitNumDisplay; //회로번호 표시 + private boolean flowDisplay; //흐름방향 표시 + private boolean trestleDisplay; //가대 표시 + private boolean totalDisplay; //집계표 표시 + private boolean corridorDimension; //복도수치 표시 + private boolean realDimension; //실제치수 표시 + private boolean noneDimension; //치수표시 없음 + private boolean onlyBorder; //화면표시 테두리만 + private boolean lineHatch; //화면표시 라인해치 + private boolean allPainted; //화면표시 allPainted + private boolean adsorpRangeSmall; //흡착범위설정 극소 + private boolean adsorpRangeSmallSemi; //흡착범위설정 소 + private boolean adsorpRangeMedium; //흡착범위설정 중 + private boolean adsorpRangeLarge; //흡착범위설정 대 + private boolean adsorpPoint; //흡착점 ON OFF + private Date registDatetime; //생성일시 + private Date lastEditDatetime; //수정일시 + private String returnMessage; //return message } diff --git a/src/main/resources/mappers/canvasGridSetting/canvasGridSettingMapper.xml b/src/main/resources/mappers/canvasGridSetting/canvasGridSettingMapper.xml new file mode 100644 index 00000000..5a8084ea --- /dev/null +++ b/src/main/resources/mappers/canvasGridSetting/canvasGridSettingMapper.xml @@ -0,0 +1,69 @@ + + + + + + + + + /* sqlid : com.interplug.qcast.canvasGridSetting.insertCanvasGridSetting Canvas Grid Setting 등록 */ + MERGE TB_CANVAS_GRID_SETTING AS target + USING (SELECT #{objectNo} AS object_no) AS source + ON (target.object_no = source.object_no) + WHEN MATCHED THEN + UPDATE + SET dot_grid_display = #{dotGridDisplay} + , line_grid_display = #{lineGridDisplay} + , grid_chk01 = #{gridChk01} + , grid_chk02 = #{gridChk02} + , grid_horizon = #{gridHorizon} + , grid_vertical = #{gridVertical} + , grid_ratio = #{gridRatio} + , grid_dimen = #{gridDimen} + , last_edit_datetime = GETDATE() + + WHEN NOT MATCHED THEN + INSERT + ( + object_no + , dot_grid_display + , line_grid_display + , grid_chk01 + , grid_chk02 + , grid_horizon + , grid_vertical + , grid_ratio + , grid_dimen + , regist_datetime + ) + VALUES ( + #{objectNo} + , #{dotGridDisplay} + , #{lineGridDisplay} + , #{gridChk01} + , #{gridChk02} + , #{gridHorizon} + , #{gridVertical} + , #{gridRatio} + , #{gridDimen} + , GETDATE() + ); + + + \ No newline at end of file diff --git a/src/main/resources/mappers/canvasSetting/canvasSettingMapper.xml b/src/main/resources/mappers/canvasSetting/canvasSettingMapper.xml index 9563e3d5..5e61ba74 100644 --- a/src/main/resources/mappers/canvasSetting/canvasSettingMapper.xml +++ b/src/main/resources/mappers/canvasSetting/canvasSettingMapper.xml @@ -7,17 +7,18 @@ resultType="com.interplug.qcast.biz.canvasSetting.dto.CanvasSettingInfo"> /* sqlid : com.interplug.qcast.canvasSetting.selectCanvasSetting Canvas Setting 조회 */ SELECT object_no - , assign_display - , draw_display - , grid_display - , char_display - , flow_display - , hallway_dimen_display - , actual_dimen_display - , no_dimen_display - , trestle_display - , coordi_display - , draw_conver_display + , alloc_display + , outline_display + , grid_display + , line_display + , word_display + , circuit_num_display + , flow_display + , trestle_display + , total_display + , corridor_dimension + , real_dimension + , none_dimension , only_border , line_hatch , all_painted @@ -25,11 +26,6 @@ , adsorp_range_small_semi , adsorp_range_medium , adsorp_range_large - , random_grid - , solid_grid - , dot_grid - , grid_color_set - , adsorp_point_add , regist_datetime , last_edit_datetime FROM TB_CANVAS_SETTING @@ -43,17 +39,18 @@ ON (target.object_no = source.object_no) WHEN MATCHED THEN UPDATE - SET assign_display = #{assignDisplay} - , draw_display = #{drawDisplay} + SET alloc_display = #{allocDisplay} + , outline_display = #{outlineDisplay} , grid_display = #{gridDisplay} - , char_display = #{charDisplay} + , line_display = #{lineDisplay} + , word_display = #{wordDisplay} + , circuit_num_display = #{circuitNumDisplay} , flow_display = #{flowDisplay} - , hallway_dimen_display = #{hallwayDimenDisplay} - , actual_dimen_display = #{actualDimenDisplay} - , no_dimen_display = #{noDimenDisplay} , trestle_display = #{trestleDisplay} - , coordi_display = #{coordiDisplay} - , draw_conver_display = #{drawConverDisplay} + , total_display = #{totalDisplay} + , corridor_dimension = #{corridorDimension} + , real_dimension = #{realDimension} + , none_dimension = #{noneDimension} , only_border = #{onlyBorder} , line_hatch = #{lineHatch} , all_painted = #{allPainted} @@ -61,55 +58,47 @@ , adsorp_range_small_semi = #{adsorpRangeSmallSemi} , adsorp_range_medium = #{adsorpRangeMedium} , adsorp_range_large = #{adsorpRangeLarge} - , random_grid = #{randomGrid} - , solid_grid = #{solidGrid} - , dot_grid = #{dotGrid} - , grid_color_set = #{gridColorSet} - , adsorp_point_add = #{adsorpPointAdd} , last_edit_datetime = GETDATE() WHEN NOT MATCHED THEN INSERT ( object_no - , assign_display - , draw_display - , grid_display - , char_display - , flow_display - , hallway_dimen_display - , actual_dimen_display - , no_dimen_display - , trestle_display - , coordi_display - , draw_conver_display - , only_border - , line_hatch - , all_painted - , adsorp_range_small - , adsorp_range_small_semi - , adsorp_range_medium - , adsorp_range_large - , random_grid - , solid_grid - , dot_grid - , grid_color_set - , adsorp_point_add + , alloc_display + , outline_display + , grid_display + , line_display + , word_display + , circuit_num_display + , flow_display + , trestle_display + , total_display + , corridor_dimension + , real_dimension + , none_dimension + , only_border + , line_hatch + , all_painted + , adsorp_range_small + , adsorp_range_small_semi + , adsorp_range_medium + , adsorp_range_large , regist_datetime ) VALUES ( #{objectNo} - , #{assignDisplay} - , #{drawDisplay} + , #{allocDisplay} + , #{outlineDisplay} , #{gridDisplay} - , #{charDisplay} + , #{lineDisplay} + , #{wordDisplay} + , #{circuitNumDisplay} , #{flowDisplay} - , #{hallwayDimenDisplay} - , #{actualDimenDisplay} - , #{noDimenDisplay} , #{trestleDisplay} - , #{coordiDisplay} - , #{drawConverDisplay} + , #{totalDisplay} + , #{corridorDimension} + , #{realDimension} + , #{noneDimension} , #{onlyBorder} , #{lineHatch} , #{allPainted} @@ -117,11 +106,6 @@ , #{adsorpRangeSmallSemi} , #{adsorpRangeMedium} , #{adsorpRangeLarge} - , #{randomGrid} - , #{solidGrid} - , #{dotGrid} - , #{gridColorSet} - , #{adsorpPointAdd} , GETDATE() ); @@ -129,25 +113,27 @@ /* sqlid : com.interplug.qcast.canvasSetting.updateCanvasSetting Canvas Setting 수정 */ UPDATE TB_CANVAS_SETTING - SET assign_display = #{assignDisplay} - , draw_display = #{drawDisplay} - , grid_display = #{gridDisplay} - , char_display = #{charDisplay} - , flow_display = #{flowDisplay} - , hallway_dimen_display = #{hallwayDimenDisplay} - , actual_dimen_display = #{actualDimenDisplay} - , no_dimen_display = #{noDimenDisplay} - , trestle_display = #{trestleDisplay} - , coordi_display = #{coordiDisplay} - , draw_conver_display = #{drawConverDisplay} - , only_border = #{onlyBorder} - , line_hatch = #{lineHatch} - , all_painted = #{allPainted} - , adsorp_range_small = #{adsorpRangeSmall} + SET alloc_display = #{allocDisplay} + , outline_display = #{outlineDisplay} + , grid_display = #{gridDisplay} + , line_display = #{lineDisplay} + , word_display = #{wordDisplay} + , circuit_num_display = #{circuitNumDisplay} + , flow_display = #{flowDisplay} + , trestle_display = #{trestleDisplay} + , total_display = #{totalDisplay} + , corridor_dimension = #{corridorDimension} + , real_dimension = #{realDimension} + , none_dimension = #{noneDimension} + , only_border = #{onlyBorder} + , line_hatch = #{lineHatch} + , all_painted = #{allPainted} + , adsorp_range_small = #{adsorpRangeSmall} , adsorp_range_small_semi = #{adsorpRangeSmallSemi} , adsorp_range_medium = #{adsorpRangeMedium} , adsorp_range_large = #{adsorpRangeLarge} - , last_edit_datetime = GETDATE() + , adsorp_point = #{adsorpPoint} + , last_edit_datetime = GETDATE() WHERE object_no = #{objectNo}