Canvas 설정 insert/update 구분 처리

This commit is contained in:
changkyu choi 2024-12-04 13:45:04 +09:00
parent 8f53484316
commit 817e13ec8a
3 changed files with 31 additions and 72 deletions

View File

@ -1,6 +1,7 @@
package com.interplug.qcast.biz.canvasSetting; package com.interplug.qcast.biz.canvasSetting;
import com.interplug.qcast.biz.canvasSetting.dto.CanvasSettingInfo; import com.interplug.qcast.biz.canvasSetting.dto.CanvasSettingInfo;
import com.interplug.qcast.config.Exception.QcastException;
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;
@ -32,7 +33,7 @@ public class CanvasSettingController {
@Operation(description = "Canvas Setting 정보를 등록 한다.") @Operation(description = "Canvas Setting 정보를 등록 한다.")
@PostMapping("/canvas-settings") @PostMapping("/canvas-settings")
@ResponseStatus(HttpStatus.CREATED) @ResponseStatus(HttpStatus.CREATED)
public Map<String, String> insertCanvasSetting(@RequestBody CanvasSettingInfo csi) { public Map<String, String> insertCanvasSetting(@RequestBody CanvasSettingInfo csi) throws QcastException {
log.debug("Setting 등록 ::::: " + csi.getObjectNo()); log.debug("Setting 등록 ::::: " + csi.getObjectNo());

View File

@ -1,10 +1,14 @@
package com.interplug.qcast.biz.canvasSetting; package com.interplug.qcast.biz.canvasSetting;
import com.interplug.qcast.biz.canvasSetting.dto.CanvasSettingInfo; import com.interplug.qcast.biz.canvasSetting.dto.CanvasSettingInfo;
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse;
import com.interplug.qcast.config.Exception.ErrorCode;
import com.interplug.qcast.config.Exception.QcastException;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -20,15 +24,31 @@ public class CanvasSettingService {
} }
// Canvas Setting 등록 // Canvas Setting 등록
public Map<String, String> insertCanvasSetting(CanvasSettingInfo csi) { public Map<String, String> insertCanvasSetting(CanvasSettingInfo csi) throws QcastException {
Map<String, String> response = new HashMap<>(); Map<String, String> response = new HashMap<>();
try { if (csi.getObjectNo() == null) {
canvasSettingMapper.insertCanvasSetting(csi); throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다.");
}
response.put("objectNo", csi.getObjectNo());
response.put("returnMessage", "common.message.confirm.mark"); try {
// 먼저 데이터가 존재하는지 확인
CanvasSettingInfo existingSetting = canvasSettingMapper.selectCanvasSetting(csi.getObjectNo());
// 데이터가 존재하지 않으면 insert
if (existingSetting.getObjectNo() == null) {
canvasSettingMapper.insertCanvasSetting(csi);
response.put("objectNo", csi.getObjectNo());
response.put("returnMessage", "common.message.confirm.mark");
} else {
canvasSettingMapper.updateCanvasSetting(csi);
response.put("objectNo", csi.getObjectNo());
response.put("returnMessage", "common.message.confirm.mark");
}
} catch (Exception e) { } catch (Exception e) {
response.put("objectNo", csi.getObjectNo()); response.put("objectNo", csi.getObjectNo());

View File

@ -68,68 +68,7 @@
<insert id="insertCanvasSetting" parameterType="com.interplug.qcast.biz.canvasSetting.dto.CanvasSettingInfo"> <insert id="insertCanvasSetting" parameterType="com.interplug.qcast.biz.canvasSetting.dto.CanvasSettingInfo">
/* sqlid : com.interplug.qcast.canvasSetting.insertCanvasSetting Canvas Setting 등록 */ /* sqlid : com.interplug.qcast.canvasSetting.insertCanvasSetting Canvas Setting 등록 */
MERGE TB_CANVAS_SETTING AS target INSERT INTO TB_CANVAS_SETTING
USING (SELECT #{objectNo} AS object_no) AS source
ON (target.object_no = source.object_no)
WHEN MATCHED THEN
UPDATE
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}
, image_display = #{imageDisplay}
, 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}
, adsorp_point = #{adsorpPoint}
, dot_grid_display = #{dotGridDisplay}
, line_grid_display = #{lineGridDisplay}
, grid_type = #{gridType}
, grid_horizon = #{gridHorizon}
, grid_vertical = #{gridVertical}
, grid_ratio = #{gridRatio}
, grid_dimen = #{gridDimen}
, grid_color = #{gridColor}
, word_font = #{wordFont}
, word_font_style = #{wordFontStyle}
, word_font_size = #{wordFontSize}
, word_font_color = #{wordFontColor}
, flow_font = #{flowFont}
, flow_font_style = #{flowFontStyle}
, flow_font_size = #{flowFontSize}
, flow_font_color = #{flowFontColor}
, dimensio_font = #{dimensioFont}
, dimensio_font_style = #{dimensioFontStyle}
, dimensio_font_size = #{dimensioFontSize}
, dimensio_font_color = #{dimensioFontColor}
, circuit_num_font = #{circuitNumFont}
, circuit_num_font_style = #{circuitNumFontStyle}
, circuit_num_font_size = #{circuitNumFontSize}
, circuit_num_font_color = #{circuitNumFontColor}
, length_font = #{lengthFont}
, length_font_style = #{lengthFontStyle}
, length_font_size = #{lengthFontSize}
, length_font_color = #{lengthFontColor}
, origin_pixel = #{originPixel}
, origin_color = #{originColor}
, origin_horizon = #{originHorizon}
, origin_vertical = #{originVertical}
, last_edit_datetime = GETDATE()
WHEN NOT MATCHED THEN
INSERT
( (
object_no object_no
, alloc_display , alloc_display
@ -186,8 +125,7 @@
, origin_horizon , origin_horizon
, origin_vertical , origin_vertical
, regist_datetime , regist_datetime
) ) VALUES (
VALUES (
#{objectNo} #{objectNo}
, #{allocDisplay} , #{allocDisplay}
, #{outlineDisplay} , #{outlineDisplay}