Canvas 설정 컬럼 변경에 따른 수정 및 Grid 설정 API 추가

This commit is contained in:
changkyu choi 2024-09-26 15:42:12 +09:00
parent 9cd928ccb0
commit eba3ea2e75
8 changed files with 287 additions and 109 deletions

View File

@ -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<String, String> insertCanvasGridStatus(@RequestBody CanvasGridSettingInfo csi) {
log.debug("Grid Setting 등록 ::::: " + csi.getObjectNo());
return canvasGridSettingService.insertCanvasGridSetting(csi);
}
}

View File

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

View File

@ -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<String, String> insertCanvasGridSetting(CanvasGridSettingInfo csi) {
Map<String, String> 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;
}
}

View File

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

View File

@ -32,7 +32,7 @@ public class CanvasSettingController {
@Operation(description = "Canvas Setting 정보를 등록 한다.")
@PostMapping("/canvas-settings")
@ResponseStatus(HttpStatus.CREATED)
public Map<String, String> insertCanvasStatus(@RequestBody CanvasSettingInfo csi) {
public Map<String, String> insertCanvasSetting(@RequestBody CanvasSettingInfo csi) {
log.debug("Setting 등록 ::::: " + csi.getObjectNo());

View File

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

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.interplug.qcast.biz.canvasGridSetting.CanvasGridSettingMapper">
<select id="selectCanvasGridSetting" parameterType="string"
resultType="com.interplug.qcast.biz.canvasGridSetting.dto.CanvasGridSettingInfo">
/* sqlid : com.interplug.qcast.canvasGridSetting.selectCanvasGridSetting Canvas Grid Setting 조회 */
SELECT object_no
, dot_grid_display
, line_grid_display
, grid_chk01
, grid_chk02
, grid_horizon
, grid_vertical
, grid_ratio
, grid_dimen
, regist_datetime
, last_edit_datetime
FROM TB_CANVAS_GRID_SETTING
WHERE object_no = #{objectNo}
</select>
<insert id="insertCanvasGridSetting" parameterType="com.interplug.qcast.biz.canvasGridSetting.dto.CanvasGridSettingInfo">
/* 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()
);
</insert>
</mapper>

View File

@ -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()
);
</insert>
@ -129,25 +113,27 @@
<update id="updateCanvasSetting" parameterType="com.interplug.qcast.biz.canvasSetting.dto.CanvasSettingInfo">
/* 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}
</update>