diff --git a/src/main/java/com/interplug/qcast/biz/canvasSetting/CanvasSettingController.java b/src/main/java/com/interplug/qcast/biz/canvasSetting/CanvasSettingController.java new file mode 100644 index 00000000..5803b21c --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/canvasSetting/CanvasSettingController.java @@ -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 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); + } + +} diff --git a/src/main/java/com/interplug/qcast/biz/canvasSetting/CanvasSettingMapper.java b/src/main/java/com/interplug/qcast/biz/canvasSetting/CanvasSettingMapper.java new file mode 100644 index 00000000..805ef51f --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/canvasSetting/CanvasSettingMapper.java @@ -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 selectCanvasSetting(String objectNo); + + // Canvas Setting 등록 + public void insertCanvasSetting(CanvasSettingInfo csi); + + // Canvas Setting 수정 + public void updateCanvasSetting(CanvasSettingInfo csi); + +} \ No newline at end of file diff --git a/src/main/java/com/interplug/qcast/biz/canvasSetting/CanvasSettingService.java b/src/main/java/com/interplug/qcast/biz/canvasSetting/CanvasSettingService.java new file mode 100644 index 00000000..4621db46 --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/canvasSetting/CanvasSettingService.java @@ -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 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); + } + +} 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 new file mode 100644 index 00000000..61d9099f --- /dev/null +++ b/src/main/java/com/interplug/qcast/biz/canvasSetting/dto/CanvasSettingInfo.java @@ -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; //수정일시 + +} diff --git a/src/main/resources/mappers/canvasSetting/canvasSettingMapper.xml b/src/main/resources/mappers/canvasSetting/canvasSettingMapper.xml new file mode 100644 index 00000000..9b299234 --- /dev/null +++ b/src/main/resources/mappers/canvasSetting/canvasSettingMapper.xml @@ -0,0 +1,117 @@ + + + + + + + + + /* 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() + ); + + + + /* 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} + + + \ No newline at end of file