Canvas Setting CRU API

This commit is contained in:
changkyu choi 2024-08-29 17:22:03 +09:00
parent 689e62ea0b
commit 7e1cc54ae1
5 changed files with 256 additions and 0 deletions

View File

@ -0,0 +1,45 @@
package com.interplug.qcast.biz.canvasSetting;
import com.interplug.qcast.biz.canvasSetting.dto.CanvasSettingInfo;
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.List;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
@Slf4j
@RestController
@RequestMapping("/api/canvas-management")
@RequiredArgsConstructor
@Tag(name = "CanvasSettingController", description = "Canvas Setting 관련 API")
public class CanvasSettingController {
private final CanvasSettingService canvasSettingService;
@Operation(description = "Canvas Setting 정보를 조회 한다.")
@GetMapping("/canvas-settings/by-object/{objectNo}")
public List<CanvasSettingInfo> selectCanvasSetting(@PathVariable String objectNo) {
return canvasSettingService.selectCanvasSetting(objectNo);
}
@Operation(description = "Canvas Setting 정보를 등록 한다.")
@PostMapping("/canvas-settings")
@ResponseStatus(HttpStatus.CREATED)
public String insertCanvasStatus(@RequestBody CanvasSettingInfo csi) {
log.debug("Setting 등록 ::::: " + csi.getObjectNo());
return canvasSettingService.insertCanvasSetting(csi);
}
@Operation(description = "Canvas Setting 정보를 수정 한다.")
@PutMapping("/canvas-settings")
public void updateCanvasStatus(@RequestBody CanvasSettingInfo csi) {
canvasSettingService.updateCanvasSetting(csi);
}
}

View File

@ -0,0 +1,21 @@
package com.interplug.qcast.biz.canvasSetting;
import com.interplug.qcast.biz.canvasSetting.dto.CanvasSettingInfo;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface CanvasSettingMapper {
// Canvas Setting 조회(objectNo)
public List<CanvasSettingInfo> selectCanvasSetting(String objectNo);
// Canvas Setting 등록
public void insertCanvasSetting(CanvasSettingInfo csi);
// Canvas Setting 수정
public void updateCanvasSetting(CanvasSettingInfo csi);
}

View File

@ -0,0 +1,42 @@
package com.interplug.qcast.biz.canvasSetting;
import com.interplug.qcast.biz.MainController;
import com.interplug.qcast.biz.canvasSetting.dto.CanvasSettingInfo;
import lombok.RequiredArgsConstructor;
import java.util.List;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class CanvasSettingService {
// @Autowired CanvasSettingMapper canvasSettingMapper;
private final CanvasSettingMapper canvasSettingMapper;
// Canvas Setting 조회(objectNo)
public List<CanvasSettingInfo> selectCanvasSetting(String objectNo) {
return canvasSettingMapper.selectCanvasSetting(objectNo);
}
// Canvas Setting 등록
public String insertCanvasSetting(CanvasSettingInfo csi) {
try {
canvasSettingMapper.insertCanvasSetting(csi);
} catch (Exception e) {
System.out.println("오류 발생 : " + e.getMessage());
}
// 생성된 objectNo 반환
return csi.getObjectNo();
}
// Canvas Setting 수정
public void updateCanvasSetting(CanvasSettingInfo csi) {
canvasSettingMapper.updateCanvasSetting(csi);
}
}

View File

@ -0,0 +1,31 @@
package com.interplug.qcast.biz.canvasSetting.dto;
import java.sql.Date;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class CanvasSettingInfo {
private String objectNo; //견적서 번호
private String assignDisplay; //할당 표시
private String drawDisplay; //도면 표시
private String gridDisplay; //그리드 표시
private String charDisplay; //문자 표시
private String flowDisplay; //흐름방향 표시
private String hallwayDimenDisplay; //복도치수 표시
private String actualDimenDisplay; //실제치수 표시
private String noDimenDisplay; //치수 표시 없음
private String trestleDisplay; //가대 표시
private String coordiDisplay; //좌표 표시
private String drawConverDisplay; //도면전환 표시
private String onlyBorder; //화면표시 테두리만
private String lineHatch; //화면표시 라인해치
private String allPainted; //화면표시 모두칠함
private String adsorpRangeSetting; //흡착범위 설정
private Date registDatetime; //생성일시
private Date lastEditDatetime; //수정일시
}

View File

@ -0,0 +1,117 @@
<?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.canvasSetting.CanvasSettingMapper">
<select id="selectCanvasSetting" parameterType="string"
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
, only_border
, line_hatch
, all_painted
, adsorp_range_setting
, regist_datetime
, last_edit_datetime
FROM TB_CANVAS_SETTING
WHERE object_no = #{objectNo}
</select>
<insert id="insertCanvasSetting" parameterType="com.interplug.qcast.biz.canvasSetting.dto.CanvasSettingInfo">
/* sqlid : com.interplug.qcast.canvasSetting.insertCanvasSetting Canvas Setting 등록 */
MERGE TB_CANVAS_SETTING AS target
USING (SELECT #{objectNo} AS object_no) AS source
ON (target.object_no = source.object_no)
WHEN MATCHED THEN
UPDATE
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}
, 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_setting
, regist_datetime
)
VALUES (
#{objectNo}
, #{assignDisplay}
, #{drawDisplay}
, #{gridDisplay}
, #{charDisplay}
, #{flowDisplay}
, #{hallwayDimenDisplay}
, #{actualDimenDisplay}
, #{noDimenDisplay}
, #{trestleDisplay}
, #{coordiDisplay}
, #{drawConverDisplay}
, #{onlyBorder}
, #{lineHatch}
, #{allPainted}
, #{adsorpRangeSetting}
, GETDATE()
);
</insert>
<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}
, last_edit_datetime = GETDATE()
WHERE object_no = #{objectNo}
</update>
</mapper>