배치면초기설정 유무 추가 및 수정
This commit is contained in:
parent
cc6ed2ea43
commit
b953998a19
@ -2,6 +2,7 @@ package com.interplug.qcast.biz.canvasBasicSetting;
|
||||
|
||||
import com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingInfo;
|
||||
import com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingResponse;
|
||||
import com.interplug.qcast.config.Exception.QcastException;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
@ -23,22 +24,29 @@ public class CanvasBasicSettingController {
|
||||
private final CanvasBasicSettingService canvasBasicSettingService;
|
||||
|
||||
@Operation(description = "Canvas Basic Setting 정보를 조회 한다.")
|
||||
@GetMapping("/canvas-basic-settings/by-object/{objectNo}")
|
||||
public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(@PathVariable String objectNo) {
|
||||
@GetMapping("/canvas-basic-settings/by-object/{objectNo}/{roofApply}")
|
||||
public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(@PathVariable String objectNo, @PathVariable String roofSeq) {
|
||||
|
||||
log.debug("Basic Setting 조회 ::::: " + objectNo);
|
||||
log.debug("Basic Setting 조회 ::::: " + objectNo + " " + roofSeq);
|
||||
|
||||
return canvasBasicSettingService.selectCanvasBasicSetting(objectNo);
|
||||
return canvasBasicSettingService.selectCanvasBasicSetting(objectNo, roofSeq);
|
||||
}
|
||||
|
||||
@Operation(description = "Canvas Basic Setting 정보를 등록 한다.")
|
||||
@PostMapping("/canvas-basic-settings")
|
||||
@ResponseStatus(HttpStatus.CREATED)
|
||||
public Map<String, String> insertCanvasBasicSetting(@RequestBody CanvasBasicSettingInfo csi) {
|
||||
public Map<String, String> insertCanvasBasicSetting(@RequestBody CanvasBasicSettingInfo csi) throws QcastException {
|
||||
|
||||
log.debug("Basic Setting 등록 ::::: " + csi.getObjectNo());
|
||||
|
||||
return canvasBasicSettingService.insertCanvasBasicSetting(csi);
|
||||
}
|
||||
|
||||
@Operation(description = "Canvas 지붕재추가 Setting 정보를 삭제 한다.")
|
||||
@DeleteMapping("/canvas-basic-settings/delete-RoofMaterials/{objectNo}/{roofApply}")
|
||||
@ResponseStatus(HttpStatus.NO_CONTENT)
|
||||
public void deleteRoofMaterialsAdd(@PathVariable String objectNo, @PathVariable String roofSeq) throws QcastException {
|
||||
canvasBasicSettingService.deleteRoofMaterialsAdd(objectNo, roofSeq);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -11,16 +11,28 @@ import com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo;
|
||||
@Mapper
|
||||
public interface CanvasBasicSettingMapper {
|
||||
|
||||
// Canvas Basic Setting 유무 조회
|
||||
public CanvasBasicSettingInfo getCanvasBasicSettingCnt(String objectNo);
|
||||
|
||||
// Canvas Basic Setting 조회(objectNo)
|
||||
public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(String objectNo);
|
||||
public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(String objectNo, String roofSeq);
|
||||
|
||||
// Canvas Basic Setting 등록
|
||||
public void insertCanvasBasicSetting(CanvasBasicSettingInfo csi);
|
||||
|
||||
// Canvas Basic Setting 수정
|
||||
public void updateCanvasBasicSetting(CanvasBasicSettingInfo csi);
|
||||
|
||||
// Canvas 지붕재추가 Setting 유무 조회
|
||||
public RoofMaterialsAddInfo getRoofMaterialsCnt(String objectNo, String roofSeq);
|
||||
|
||||
// Canvas 지붕재추가 Setting 등록
|
||||
public void insertRoofMaterialsAdd(RoofMaterialsAddInfo rma);
|
||||
|
||||
// Canvas 지붕재추가 Setting 수정
|
||||
public void updateRoofMaterialsAdd(RoofMaterialsAddInfo rma);
|
||||
|
||||
// Canvas 지붕재추가 Setting 삭제
|
||||
public void deleteRoofMaterialsAdd(String objectNo);
|
||||
public void deleteRoofMaterialsAdd(String objectNo, String roofSeq);
|
||||
|
||||
}
|
||||
@ -11,6 +11,8 @@ import org.springframework.stereotype.Service;
|
||||
import com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingInfo;
|
||||
import com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingResponse;
|
||||
import com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo;
|
||||
import com.interplug.qcast.config.Exception.ErrorCode;
|
||||
import com.interplug.qcast.config.Exception.QcastException;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@ -18,35 +20,57 @@ public class CanvasBasicSettingService {
|
||||
private final CanvasBasicSettingMapper canvasBasicSettingMapper;
|
||||
|
||||
// Canvas Basic Setting 조회(objectNo)
|
||||
public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(String objectNo) {
|
||||
return canvasBasicSettingMapper.selectCanvasBasicSetting(objectNo);
|
||||
public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(String objectNo, String roofSeq) {
|
||||
return canvasBasicSettingMapper.selectCanvasBasicSetting(objectNo, roofSeq);
|
||||
}
|
||||
|
||||
// Canvas Basic Setting 등록
|
||||
public Map<String, String> insertCanvasBasicSetting(CanvasBasicSettingInfo csi) {
|
||||
public Map<String, String> insertCanvasBasicSetting(CanvasBasicSettingInfo csi) throws QcastException {
|
||||
|
||||
Map<String, String> response = new HashMap<>();
|
||||
|
||||
if (csi.getObjectNo() == null) {
|
||||
throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다.");
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
// 도면/치수/각도 정보 insert/update
|
||||
canvasBasicSettingMapper.insertCanvasBasicSetting(csi);
|
||||
// 먼저 데이터가 존재하는지 확인
|
||||
CanvasBasicSettingInfo cntData = canvasBasicSettingMapper.getCanvasBasicSettingCnt(csi.getObjectNo());
|
||||
|
||||
// 기존 지붕재추가 정보 삭제 후 insert
|
||||
canvasBasicSettingMapper.deleteRoofMaterialsAdd(csi.getObjectNo());
|
||||
|
||||
int roofSeq = 1;
|
||||
// for-each 루프를 사용하여 지붕재추가 Setting
|
||||
for (RoofMaterialsAddInfo rma : csi.getRoofMaterialsAddList()) {
|
||||
|
||||
rma.setObjectNo(csi.getObjectNo());
|
||||
rma.setRoofSeq(roofSeq++); //roofSeq는 순차적으로 새로 생성하여 insert
|
||||
|
||||
// 신규 지붕재추가 정보 insert
|
||||
canvasBasicSettingMapper.insertRoofMaterialsAdd(rma);
|
||||
}
|
||||
response.put("objectNo", csi.getObjectNo());
|
||||
response.put("returnMessage", "common.message.confirm.mark");
|
||||
// 데이터가 존재하지 않으면 insert
|
||||
if (cntData.getRoofCnt().intValue() < 1) {
|
||||
// 도면/치수/각도 정보 insert
|
||||
canvasBasicSettingMapper.insertCanvasBasicSetting(csi);
|
||||
|
||||
// for-each 루프를 사용하여 지붕재추가 Setting
|
||||
for (RoofMaterialsAddInfo rma : csi.getRoofMaterialsAddList()) {
|
||||
|
||||
rma.setObjectNo(csi.getObjectNo());
|
||||
|
||||
// 신규 지붕재추가 정보 insert
|
||||
canvasBasicSettingMapper.insertRoofMaterialsAdd(rma);
|
||||
}
|
||||
|
||||
response.put("objectNo", csi.getObjectNo());
|
||||
response.put("returnMessage", "common.message.confirm.mark");
|
||||
|
||||
} else {
|
||||
// 도면/치수/각도 정보 update
|
||||
canvasBasicSettingMapper.updateCanvasBasicSetting(csi);
|
||||
|
||||
// for-each 루프를 사용하여 지붕재추가 Setting
|
||||
for (RoofMaterialsAddInfo rma : csi.getRoofMaterialsAddList()) {
|
||||
|
||||
rma.setObjectNo(csi.getObjectNo());
|
||||
|
||||
// 신규 지붕재추가 정보 insert
|
||||
canvasBasicSettingMapper.updateRoofMaterialsAdd(rma);
|
||||
}
|
||||
|
||||
response.put("objectNo", csi.getObjectNo());
|
||||
response.put("returnMessage", "common.message.confirm.mark");
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
response.put("objectNo", csi.getObjectNo());
|
||||
@ -57,5 +81,24 @@ public class CanvasBasicSettingService {
|
||||
return response;
|
||||
|
||||
}
|
||||
|
||||
// 지붕재추가 삭제
|
||||
public void deleteRoofMaterialsAdd(String objectNo, String roofSeq) throws QcastException {
|
||||
|
||||
if (objectNo == null || objectNo.trim().isEmpty() || roofSeq == null || roofSeq.trim().isEmpty()) {
|
||||
throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다.");
|
||||
}
|
||||
|
||||
// 먼저 데이터가 존재하는지 확인
|
||||
RoofMaterialsAddInfo cntData = canvasBasicSettingMapper.getRoofMaterialsCnt(objectNo, roofSeq);
|
||||
|
||||
// 데이터가 존재하지 않으면 수정하지 않고 예외를 던짐
|
||||
if (cntData.getRoofCnt().intValue() > 0) {
|
||||
canvasBasicSettingMapper.deleteRoofMaterialsAdd(objectNo, roofSeq);
|
||||
} else {
|
||||
throw new QcastException (ErrorCode.NOT_FOUND ,"삭제할 지붕재가 존재하지 않습니다.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -11,8 +11,9 @@ import lombok.Setter;
|
||||
public class CanvasBasicSettingInfo {
|
||||
|
||||
private String objectNo; //견적서 번호
|
||||
private int roofSizeSet; //치수(복사도/실측값/육지붕)
|
||||
private Integer roofSizeSet; //치수(복사도/실측값/육지붕)
|
||||
private String roofAngleSet; //각도(경사/각도)
|
||||
private Integer roofCnt; //존재여부
|
||||
private Date registDatetime; //생성일시
|
||||
private Date lastEditDatetime; //수정일시
|
||||
|
||||
|
||||
@ -11,13 +11,14 @@ public class RoofMaterialsAddInfo {
|
||||
|
||||
private String objectNo; //견적서 번호
|
||||
private boolean roofApply; //적용
|
||||
private int roofSeq; //순번 SEQ
|
||||
private Integer roofSeq; //순번 SEQ
|
||||
private String roofMatlCd; //타입
|
||||
private int roofWidth; //넓이
|
||||
private int roofHeight; //높이
|
||||
private int roofHajebichi; //하제비치
|
||||
private Integer roofWidth; //넓이
|
||||
private Integer roofHeight; //높이
|
||||
private Integer roofHajebichi; //하제비치
|
||||
private String roofGap; //간격
|
||||
private String roofLayout; //방식
|
||||
private Integer roofCnt; //존재여부
|
||||
private Date registDatetime; //생성일시
|
||||
private Date lastEditDatetime; //수정일시
|
||||
|
||||
|
||||
@ -2,6 +2,14 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.interplug.qcast.biz.canvasBasicSetting.CanvasBasicSettingMapper">
|
||||
|
||||
<select id="getCanvasBasicSettingCnt" parameterType="string"
|
||||
resultType="com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingInfo">
|
||||
/* sqlid : com.interplug.qcast.canvasBasicSetting.getCanvasBasicSettingCnt Canvas Basic Setting 유무 */
|
||||
SELECT COUNT(1) AS cnt
|
||||
FROM TB_CANVAS_BASIC_SETUP
|
||||
WHERE object_no = #{objectNo}
|
||||
</select>
|
||||
|
||||
<select id="selectCanvasBasicSetting" parameterType="string"
|
||||
resultType="com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingResponse">
|
||||
@ -20,22 +28,12 @@
|
||||
FROM TB_CANVAS_BASIC_SETUP cbs
|
||||
LEFT JOIN TB_CANVAS_ROOF_MATERIALS_ADD crma
|
||||
ON cbs.object_no = crma.object_no
|
||||
WHERE cbs.object_no = #{objectNo}
|
||||
WHERE cbs.object_no = #{objectNo}
|
||||
</select>
|
||||
|
||||
<insert id="insertCanvasBasicSetting" parameterType="com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingInfo">
|
||||
/* sqlid : com.interplug.qcast.canvasBasicSetting.insertCanvasBasicSetting Canvas Basic Setting 등록 */
|
||||
MERGE TB_CANVAS_BASIC_SETUP AS target
|
||||
USING (SELECT #{objectNo} AS object_no) AS source
|
||||
ON (target.object_no = source.object_no)
|
||||
WHEN MATCHED THEN
|
||||
UPDATE
|
||||
SET roof_size_set = #{roofSizeSet}
|
||||
, roof_angle_set = #{roofAngleSet}
|
||||
, last_edit_datetime = GETDATE()
|
||||
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT
|
||||
/* sqlid : com.interplug.qcast.canvasBasicSetting.insertCanvasBasicSetting Canvas Basic Setting 등록 */
|
||||
INSERT INTO TB_CANVAS_BASIC_SETUP
|
||||
(
|
||||
object_no
|
||||
, roof_size_set
|
||||
@ -52,7 +50,25 @@
|
||||
);
|
||||
</insert>
|
||||
|
||||
<insert id="insertRoofMaterialsAdd" parameterType="com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingInfo">
|
||||
<update id="updateCanvasBasicSetting" parameterType="com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingInfo">
|
||||
/* sqlid : com.interplug.qcast.canvasBasicSetting.updateCanvasBasicSetting Canvas Basic Setting 수정 */
|
||||
UPDATE TB_CANVAS_BASIC_SETUP
|
||||
SET roof_size_set = #{roofSizeSet}
|
||||
, roof_angle_set = #{roofAngleSet}
|
||||
, last_edit_datetime = GETDATE()
|
||||
WHERE object_no = #{objectNo}
|
||||
</update>
|
||||
|
||||
<select id="getRoofMaterialsCnt" parameterType="string"
|
||||
resultType="com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo">
|
||||
/* sqlid : com.interplug.qcast.canvasBasicSetting.getRoofMaterialsCnt Canvas 지붕재추가 Setting 유무 */
|
||||
SELECT COUNT(1) AS cnt
|
||||
FROM TB_CANVAS_BASIC_SETUP
|
||||
WHERE object_no = #{objectNo}
|
||||
AND roof_seq = #{roofSeq}
|
||||
</select>
|
||||
|
||||
<insert id="insertRoofMaterialsAdd" parameterType="com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo">
|
||||
/* sqlid : com.interplug.qcast.canvasBasicSetting.insertRoofMaterialsAdd Canvas 지붕재추가 Setting 등록 */
|
||||
INSERT INTO TB_CANVAS_ROOF_MATERIALS_ADD
|
||||
(
|
||||
@ -65,7 +81,7 @@
|
||||
, roof_hajebichi
|
||||
, roof_gap
|
||||
, roof_layout
|
||||
, regist_datetime
|
||||
, regist_datetime
|
||||
, last_edit_datetime
|
||||
)
|
||||
VALUES (
|
||||
@ -83,11 +99,27 @@
|
||||
);
|
||||
</insert>
|
||||
|
||||
<update id="updateRoofMaterialsAdd" parameterType="com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo">
|
||||
/* sqlid : com.interplug.qcast.canvasBasicSetting.updateRoofMaterialsAdd Canvas 지붕재추가 Setting 수정 */
|
||||
UPDATE TB_CANVAS_ROOF_MATERIALS_ADD
|
||||
SET roof_apply
|
||||
, roof_seq = #{roofSeqv}
|
||||
, roof_matl_cd = #{roofMatlCd}
|
||||
, roof_width = #{roofWidth}
|
||||
, roof_height = #{roofHeight}
|
||||
, roof_hajebichi = #{roofHajebichi}
|
||||
, roof_gap = #{roofGap}
|
||||
, roof_layout = #{roofLayout}
|
||||
, last_edit_datetime = GETDATE()
|
||||
WHERE object_no = #{objectNo}
|
||||
AND roof_seq = #{roofApply}
|
||||
</update>
|
||||
|
||||
<delete id="deleteRoofMaterialsAdd" parameterType="string">
|
||||
/* sqlid : com.interplug.qcast.canvasBasicSetting.deleteRoofMaterialsAdd Canvas 지붕재추가 Setting 삭제 */
|
||||
DELETE FROM TB_CANVAS_ROOF_MATERIALS_ADD
|
||||
WHERE object_no = #{objectNo}
|
||||
AND roof_seq = 1
|
||||
AND roof_seq = #{roofSeq}
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
Loading…
x
Reference in New Issue
Block a user