배치면초기설정 plan_no 추가 적용

This commit is contained in:
changkyu choi 2025-02-14 17:06:20 +09:00
parent a52776b48d
commit 9eee768bef
9 changed files with 256 additions and 192 deletions

View File

@ -22,41 +22,50 @@ public class CanvasBasicSettingController {
private final CanvasBasicSettingService canvasBasicSettingService; private final CanvasBasicSettingService canvasBasicSettingService;
@Operation(description = "Canvas Basic Setting 정보를 조회 한다.") @Operation(description = "Canvas Basic Setting 정보를 조회 한다.")
@GetMapping("/canvas-basic-settings/by-object/{objectNo}") @GetMapping("/canvas-basic-settings/by-object/{objectNo}/{planNo}")
public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(@PathVariable String objectNo) public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(@PathVariable String objectNo, @PathVariable Integer planNo)
throws QcastException { throws QcastException {
log.debug("Basic Setting 조회 ::::: " + objectNo); log.debug("Basic Setting 조회 ::::: " + objectNo + " : " + planNo);
return canvasBasicSettingService.selectCanvasBasicSetting(objectNo); return canvasBasicSettingService.selectCanvasBasicSetting(objectNo, planNo);
} }
@Operation(description = "Canvas Basic Setting 정보를 등록 한다.") @Operation(description = "Canvas Basic Setting 정보를 등록 한다.")
@PostMapping("/canvas-basic-settings") @PostMapping("/canvas-basic-settings")
@ResponseStatus(HttpStatus.CREATED) @ResponseStatus(HttpStatus.CREATED)
public Map<String, String> insertCanvasBasicSetting(@RequestBody CanvasBasicSettingInfo csi) public Map<String, String> insertCanvasBasicSetting(@RequestBody CanvasBasicSettingInfo csi) throws QcastException {
throws QcastException {
log.debug("Basic Setting 등록 ::::: " + csi.getObjectNo());
log.debug("Basic Setting 등록 ::::: " + csi.getObjectNo());
return canvasBasicSettingService.insertCanvasBasicSetting(csi);
return canvasBasicSettingService.insertCanvasBasicSetting(csi);
} }
@Operation(description = "Canvas Basic Setting 정보를 삭제 한다.")
@DeleteMapping("/canvas-basic-settings/delete-basic-settings/{objectNo}/{planNo}")
@ResponseStatus(HttpStatus.NO_CONTENT)
public void deleteCanvasBasicSetting(@PathVariable String objectNo, @PathVariable Integer planNo) throws QcastException {
log.debug("Basic Setting 삭제 ::::: " + objectNo + " : " + planNo);
canvasBasicSettingService.deleteCanvasBasicSetting(objectNo, planNo);
}
@Operation(description = "지붕면 할당 정보를 등록 한다.") @Operation(description = "지붕면 할당 정보를 등록 한다.")
@PostMapping("/roof-allocation-settings") @PostMapping("/roof-allocation-settings")
@ResponseStatus(HttpStatus.CREATED) @ResponseStatus(HttpStatus.CREATED)
public Map<String, String> insertRoofAllocSetting(@RequestBody RoofAllocationSettingInfo rasi) public Map<String, String> insertRoofAllocSetting(@RequestBody RoofAllocationSettingInfo rasi) throws QcastException {
throws QcastException {
log.debug("지붕면 할당 등록 ::::: " + rasi.getObjectNo()); log.debug("지붕면 할당 등록 ::::: " + rasi.getObjectNo());
return canvasBasicSettingService.insertRoofAllocSetting(rasi); return canvasBasicSettingService.insertRoofAllocSetting(rasi);
} }
@Operation(description = "Canvas 지붕재추가 Setting 정보를 삭제 한다.") @Operation(description = "Canvas 지붕재추가 Setting 정보를 삭제 한다.")
@DeleteMapping("/canvas-basic-settings/delete-RoofMaterials/{objectNo}") @DeleteMapping("/canvas-basic-settings/delete-RoofMaterials/{objectNo}/{planNo}")
@ResponseStatus(HttpStatus.NO_CONTENT) @ResponseStatus(HttpStatus.NO_CONTENT)
public void deleteRoofMaterialsAdd(@PathVariable String objectNo) throws QcastException { public void deleteRoofMaterialsAdd(@PathVariable String objectNo, @PathVariable Integer planNo) throws QcastException {
canvasBasicSettingService.deleteRoofMaterialsAdd(objectNo); canvasBasicSettingService.deleteRoofMaterialsAdd(objectNo, planNo);
} }
} }

View File

@ -13,30 +13,33 @@ import com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo;
public interface CanvasBasicSettingMapper { public interface CanvasBasicSettingMapper {
// Canvas Basic Setting 유무 조회 // Canvas Basic Setting 유무 조회
public CanvasBasicSettingInfo getCanvasBasicSettingCnt(String objectNo); public CanvasBasicSettingInfo getCanvasBasicSettingCnt(String objectNo, Integer planNo);
// Canvas Basic Setting 조회(objectNo)
public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(String objectNo);
// Canvas Basic Setting 등록
public void insertCanvasBasicSetting(CanvasBasicSettingInfo csi);
// Canvas Basic Setting 수정
public void updateCanvasBasicSetting(CanvasBasicSettingInfo csi);
// Canvas 지붕재추가 Setting 유무 조회
public RoofMaterialsAddInfo getRoofMaterialsCnt(String objectNo);
// Canvas 지붕재추가 Setting 등록
public void insertRoofMaterialsAdd(RoofMaterialsAddInfo rma);
// Canvas 지붕재추가 Setting 수정
public void updateRoofMaterialsAdd(RoofMaterialsAddInfo rma);
// 지붕면 할당 Setting 등록
public void insertRoofAllocation(RoofAllocationInfo rai);
// Canvas 지붕재추가 Setting 삭제 // Canvas Basic Setting 조회(objectNo)
public void deleteRoofMaterialsAdd(String objectNo); public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(String objectNo, Integer planNo);
// Canvas Basic Setting 등록
public void insertCanvasBasicSetting(CanvasBasicSettingInfo csi);
// Canvas Basic Setting 수정
public void updateCanvasBasicSetting(CanvasBasicSettingInfo csi);
// Canvas Basic Setting 삭제
public void deleteCanvasBasicSetting(String objectNo, Integer planNo);
// Canvas 지붕재추가 Setting 유무 조회
public RoofMaterialsAddInfo getRoofMaterialsCnt(String objectNo, Integer planNo);
// Canvas 지붕재추가 Setting 등록
public void insertRoofMaterialsAdd(RoofMaterialsAddInfo rma);
// Canvas 지붕재추가 Setting 수정
public void updateRoofMaterialsAdd(RoofMaterialsAddInfo rma);
// 지붕면 할당 Setting 등록
public void insertRoofAllocation(RoofAllocationInfo rai);
// Canvas 지붕재추가 Setting 삭제
public void deleteRoofMaterialsAdd(String objectNo, Integer planNo);
} }

View File

@ -20,120 +20,144 @@ import org.springframework.stereotype.Service;
public class CanvasBasicSettingService { public class CanvasBasicSettingService {
private final CanvasBasicSettingMapper canvasBasicSettingMapper; private final CanvasBasicSettingMapper canvasBasicSettingMapper;
// Canvas Basic Setting 조회(objectNo) //Canvas Basic Setting 조회(objectNo)
public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(String objectNo) public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(String objectNo, Integer planNo) throws QcastException {
throws QcastException { try {
try { return canvasBasicSettingMapper.selectCanvasBasicSetting(objectNo, planNo);
return canvasBasicSettingMapper.selectCanvasBasicSetting(objectNo); } catch (Exception e) {
} catch (Exception e) { throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage());
throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage()); }
} }
}
// Canvas Basic Setting 등록 // Canvas Basic Setting 등록
public Map<String, String> insertCanvasBasicSetting(CanvasBasicSettingInfo csi) public Map<String, String> insertCanvasBasicSetting(CanvasBasicSettingInfo csi) throws QcastException {
throws QcastException {
Map<String, String> response = new HashMap<>();
if (csi.getObjectNo() == null && csi.getPlanNo() == null) {
throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다.");
}
Map<String, String> response = new HashMap<>(); try {
// 먼저 데이터가 존재하는지 확인
CanvasBasicSettingInfo cntData = canvasBasicSettingMapper.getCanvasBasicSettingCnt(csi.getObjectNo(), csi.getPlanNo());
log.debug("cntData ::::: " + cntData);
// 데이터가 존재하지 않으면 insert
if (cntData.getRoofCnt().intValue() < 1) {
// 도면/치수/각도 정보 insert
canvasBasicSettingMapper.insertCanvasBasicSetting(csi);
// for-each 루프를 사용하여 지붕재추가 Setting
for (RoofMaterialsAddInfo rma : csi.getRoofMaterialsAddList()) {
rma.setObjectNo(csi.getObjectNo());
rma.setPlanNo(csi.getPlanNo());
// 신규 지붕재추가 정보 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());
rma.setPlanNo(csi.getPlanNo());
// 신규 지붕재추가 정보 insert
canvasBasicSettingMapper.updateRoofMaterialsAdd(rma);
}
response.put("objectNo", csi.getObjectNo());
response.put("returnMessage", "common.message.confirm.mark");
}
} catch (Exception e) {
throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage());
}
if (csi.getObjectNo() == null) { // 생성된 objectNo 반환
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE, "올바르지 않은 입력값입니다."); return response;
} }
// Canvas Basic Setting 삭제
public void deleteCanvasBasicSetting(String objectNo, Integer planNo) throws QcastException {
if ((objectNo == null || objectNo.trim().isEmpty()) && (planNo == null)) {
throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다.");
}
// 먼저 데이터가 존재하는지 확인
CanvasBasicSettingInfo cntData = canvasBasicSettingMapper.getCanvasBasicSettingCnt(objectNo, planNo);
log.debug("cntData ::::: " + cntData);
// 데이터가 존재하지 않으면 insert
if (cntData.getRoofCnt().intValue() > 0) {
// Canvas Basic Setting 정보 삭제
canvasBasicSettingMapper.deleteCanvasBasicSetting(objectNo, planNo);
// 지붕재추가 정보 삭제
canvasBasicSettingMapper.deleteRoofMaterialsAdd(objectNo, planNo);
} else {
throw new QcastException(ErrorCode.NOT_FOUND, "삭제할 배치면이 존재하지 않습니다.");
}
}
// 지붕면 할당 Setting 등록
public Map<String, String> insertRoofAllocSetting(RoofAllocationSettingInfo rasi) throws QcastException {
Map<String, String> response = new HashMap<>();
if (rasi.getObjectNo() == null && rasi.getPlanNo() == null) {
throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다.");
}
try { try {
// 기존 지붕재추가 정보 삭제 insert
canvasBasicSettingMapper.deleteRoofMaterialsAdd(rasi.getObjectNo(), rasi.getPlanNo());
// for-each 루프를 사용하여 지붕재추가 Setting
for (RoofAllocationInfo rai : rasi.getRoofAllocationList()) {
rai.setObjectNo(rasi.getObjectNo());
rai.setPlanNo(rasi.getPlanNo());
canvasBasicSettingMapper.insertRoofAllocation(rai);
}
response.put("objectNo", rasi.getObjectNo());
response.put("returnMessage", "common.message.confirm.mark");
} catch (Exception e) {
throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage());
}
// 먼저 데이터가 존재하는지 확인 // 생성된 objectNo 반환
CanvasBasicSettingInfo cntData = return response;
canvasBasicSettingMapper.getCanvasBasicSettingCnt(csi.getObjectNo());
log.debug("cntData ::::: " + cntData); }
// 데이터가 존재하지 않으면 insert // 지붕재추가 삭제
if (cntData.getRoofCnt().intValue() < 1) { public void deleteRoofMaterialsAdd(String objectNo, Integer planNo) throws QcastException {
// 도면/치수/각도 정보 insert
canvasBasicSettingMapper.insertCanvasBasicSetting(csi); if ((objectNo == null || objectNo.trim().isEmpty()) && (planNo == null)) {
throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다.");
// for-each 루프를 사용하여 지붕재추가 Setting }
for (RoofMaterialsAddInfo rma : csi.getRoofMaterialsAddList()) {
try {
rma.setObjectNo(csi.getObjectNo()); // 먼저 데이터가 존재하는지 확인
// 신규 지붕재추가 정보 insert RoofMaterialsAddInfo cntData = canvasBasicSettingMapper.getRoofMaterialsCnt(objectNo, planNo);
canvasBasicSettingMapper.insertRoofMaterialsAdd(rma);
} // 데이터가 존재하지 않으면 수정하지 않고 예외를 던짐
if (cntData.getRoofCnt().intValue() > 0) {
} else { canvasBasicSettingMapper.deleteRoofMaterialsAdd(objectNo, planNo);
// 도면/치수/각도 정보 update } else {
canvasBasicSettingMapper.updateCanvasBasicSetting(csi); throw new QcastException(ErrorCode.NOT_FOUND, "삭제할 지붕재가 존재하지 않습니다.");
}
// for-each 루프를 사용하여 지붕재추가 Setting } catch (Exception e) {
for (RoofMaterialsAddInfo rma : csi.getRoofMaterialsAddList()) { if (e instanceof QcastException) throw e;
throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage());
rma.setObjectNo(csi.getObjectNo()); }
// 신규 지붕재추가 정보 insert }
canvasBasicSettingMapper.updateRoofMaterialsAdd(rma);
}
}
response.put("objectNo", csi.getObjectNo());
response.put("returnMessage", "common.message.confirm.mark");
} catch (Exception e) {
throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage());
}
// 생성된 objectNo 반환
return response;
}
// 지붕면 할당 Setting 등록
public Map<String, String> insertRoofAllocSetting(RoofAllocationSettingInfo rasi)
throws QcastException {
Map<String, String> response = new HashMap<>();
if (rasi.getObjectNo() == null) {
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE, "올바르지 않은 입력값입니다.");
}
try {
// 기존 지붕재추가 정보 삭제 insert
canvasBasicSettingMapper.deleteRoofMaterialsAdd(rasi.getObjectNo());
// for-each 루프를 사용하여 지붕재추가 Setting
for (RoofAllocationInfo rai : rasi.getRoofAllocationList()) {
rai.setObjectNo(rasi.getObjectNo());
canvasBasicSettingMapper.insertRoofAllocation(rai);
}
response.put("objectNo", rasi.getObjectNo());
response.put("returnMessage", "common.message.confirm.mark");
} catch (Exception e) {
throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage());
}
// 생성된 objectNo 반환
return response;
}
// 지붕재추가 삭제
public void deleteRoofMaterialsAdd(String objectNo) throws QcastException {
if (objectNo == null || objectNo.trim().isEmpty()) {
throw new QcastException(ErrorCode.INVALID_INPUT_VALUE, "올바르지 않은 입력값입니다.");
}
try {
// 먼저 데이터가 존재하는지 확인
RoofMaterialsAddInfo cntData = canvasBasicSettingMapper.getRoofMaterialsCnt(objectNo);
// 데이터가 존재하지 않으면 수정하지 않고 예외를 던짐
if (cntData.getRoofCnt().intValue() > 0) {
canvasBasicSettingMapper.deleteRoofMaterialsAdd(objectNo);
} else {
throw new QcastException(ErrorCode.NOT_FOUND, "삭제할 지붕재가 존재하지 않습니다.");
}
} catch (Exception e) {
if (e instanceof QcastException) throw e;
throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage());
}
}
} }

View File

@ -11,6 +11,7 @@ import lombok.Setter;
public class CanvasBasicSettingInfo { public class CanvasBasicSettingInfo {
private String objectNo; //견적서 번호 private String objectNo; //견적서 번호
private Integer planNo; // plan 번호
private Integer roofSizeSet; //치수(복사도/실측값/육지붕) private Integer roofSizeSet; //치수(복사도/실측값/육지붕)
private String roofAngleSet; //각도(경사/각도) private String roofAngleSet; //각도(경사/각도)
private Integer roofCnt; //존재여부 private Integer roofCnt; //존재여부

View File

@ -8,6 +8,7 @@ import lombok.Setter;
public class CanvasBasicSettingResponse { public class CanvasBasicSettingResponse {
private String objectNo; // 견적서 번호 private String objectNo; // 견적서 번호
private Integer planNo; // plan 번호
private Integer roofSizeSet; // 치수(복사도/실측값/육지붕) private Integer roofSizeSet; // 치수(복사도/실측값/육지붕)
private String roofAngleSet; // 각도(경사/각도) private String roofAngleSet; // 각도(경사/각도)
private boolean roofApply; // 적용 private boolean roofApply; // 적용

View File

@ -9,18 +9,19 @@ import lombok.Setter;
@Setter @Setter
public class RoofAllocationInfo { public class RoofAllocationInfo {
private String objectNo; // 견적서 번호 private String objectNo; // 견적서 번호
private boolean roofApply; // 적용 private Integer planNo; // plan 번호
private Integer roofSeq; // 순번 SEQ private boolean roofApply; // 적용
private String roofMatlCd; // 타입 private Integer roofSeq; // 순번 SEQ
private Integer roofWidth; // 넓이 private String roofMatlCd; // 타입
private Integer roofHeight; // 높이 private Integer roofWidth; // 넓이
private Integer roofHajebichi; // 하제비치 private Integer roofHeight; // 높이
private String roofGap; // 간격 private Integer roofHajebichi;// 하제비치
private String roofLayout; // 방식 private String roofGap; // 간격
private Float roofPitch; // 경사도 private String roofLayout; // 방식
private Float roofAngle; // 각도 private Float roofPitch; // 경사도
private Date registDatetime; // 생성일시 private Float roofAngle; // 각도
private Date lastEditDatetime; // 수정일시 private Date registDatetime; // 생성일시
private Date lastEditDatetime;// 수정일시
private String returnMessage; // return message private String returnMessage; // return message
} }

View File

@ -9,9 +9,10 @@ import lombok.Setter;
@Setter @Setter
public class RoofAllocationSettingInfo { public class RoofAllocationSettingInfo {
private String objectNo; //견적서 번호 private String objectNo; //견적서 번호
private Integer roofSizeSet; //치수(복사도/실측값/육지붕) private Integer planNo; // plan 번호
private String roofAngleSet; //각도(경사/각도) private Integer roofSizeSet; //치수(복사도/실측값/육지붕)
private String roofAngleSet; //각도(경사/각도)
private List<RoofAllocationInfo> roofAllocationList; private List<RoofAllocationInfo> roofAllocationList;
} }

View File

@ -9,19 +9,20 @@ import lombok.Setter;
@Setter @Setter
public class RoofMaterialsAddInfo { public class RoofMaterialsAddInfo {
private String objectNo; // 견적서 번호 private String objectNo; // 견적서 번호
private boolean roofApply; // 적용 private Integer planNo; // plan 번호
private Integer roofSeq; // 순번 SEQ private boolean roofApply; // 적용
private String roofMatlCd; // 타입 private Integer roofSeq; // 순번 SEQ
private Integer roofWidth; // 넓이 private String roofMatlCd; // 타입
private Integer roofHeight; // 높이 private Integer roofWidth; // 넓이
private Integer roofHajebichi; // 하제비치 private Integer roofHeight; // 높이
private String roofGap; // 간격 private Integer roofHajebichi;// 하제비치
private String roofLayout; // 방식 private String roofGap; // 간격
private Float roofPitch; // 경사도 private String roofLayout; // 방식
private Float roofAngle; // 각도 private Float roofPitch; // 경사도
private Integer roofCnt; // 존재여부 private Float roofAngle; // 각도
private Date registDatetime; // 생성일시 private Integer roofCnt; // 존재여부
private Date lastEditDatetime; // 수정일시 private Date registDatetime; // 생성일시
private Date lastEditDatetime;// 수정일시
private String returnMessage; // return message private String returnMessage; // return message
} }

View File

@ -3,18 +3,20 @@
<mapper namespace="com.interplug.qcast.biz.canvasBasicSetting.CanvasBasicSettingMapper"> <mapper namespace="com.interplug.qcast.biz.canvasBasicSetting.CanvasBasicSettingMapper">
<select id="getCanvasBasicSettingCnt" parameterType="string" <select id="getCanvasBasicSettingCnt" parameterType="map"
resultType="com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingInfo"> resultType="com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingInfo">
/* sqlid : com.interplug.qcast.canvasBasicSetting.getCanvasBasicSettingCnt Canvas Basic Setting 유무 */ /* sqlid : com.interplug.qcast.canvasBasicSetting.getCanvasBasicSettingCnt Canvas Basic Setting 유무 */
SELECT COUNT(1) AS roofCnt SELECT COUNT(1) AS roofCnt
FROM TB_CANVAS_BASIC_SETUP FROM TB_CANVAS_BASIC_SETUP
WHERE object_no = #{objectNo} WHERE object_no = #{objectNo}
AND plan_no = #{planNo}
</select> </select>
<select id="selectCanvasBasicSetting" parameterType="string" <select id="selectCanvasBasicSetting" parameterType="map"
resultType="com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingResponse"> resultType="com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingResponse">
/* sqlid : com.interplug.qcast.canvasBasicSetting.selectCanvasBasicSetting Canvas Basic Setting 조회 */ /* sqlid : com.interplug.qcast.canvasBasicSetting.selectCanvasBasicSetting Canvas Basic Setting 조회 */
SELECT cbs.object_no SELECT cbs.object_no
, cbs.plan_no
, cbs.roof_size_set , cbs.roof_size_set
, cbs.roof_angle_set , cbs.roof_angle_set
, crma.roof_apply , crma.roof_apply
@ -30,7 +32,9 @@
FROM TB_CANVAS_BASIC_SETUP cbs FROM TB_CANVAS_BASIC_SETUP cbs
LEFT JOIN TB_CANVAS_ROOF_MATERIALS_ADD crma LEFT JOIN TB_CANVAS_ROOF_MATERIALS_ADD crma
ON cbs.object_no = crma.object_no ON cbs.object_no = crma.object_no
AND cbs.plan_no = crma.plan_no
WHERE cbs.object_no = #{objectNo} WHERE cbs.object_no = #{objectNo}
AND cbs.plan_no = #{planNo}
</select> </select>
<insert id="insertCanvasBasicSetting" parameterType="com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingInfo"> <insert id="insertCanvasBasicSetting" parameterType="com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingInfo">
@ -38,6 +42,7 @@
INSERT INTO TB_CANVAS_BASIC_SETUP INSERT INTO TB_CANVAS_BASIC_SETUP
( (
object_no object_no
, plan_no
, roof_size_set , roof_size_set
, roof_angle_set , roof_angle_set
, regist_datetime , regist_datetime
@ -45,6 +50,7 @@
) )
VALUES ( VALUES (
#{objectNo} #{objectNo}
, #{planNo}
, #{roofSizeSet} , #{roofSizeSet}
, #{roofAngleSet} , #{roofAngleSet}
, GETDATE() , GETDATE()
@ -59,14 +65,23 @@
, roof_angle_set = #{roofAngleSet} , roof_angle_set = #{roofAngleSet}
, last_edit_datetime = GETDATE() , last_edit_datetime = GETDATE()
WHERE object_no = #{objectNo} WHERE object_no = #{objectNo}
AND plan_no = #{planNo}
</update> </update>
<select id="getRoofMaterialsCnt" parameterType="string" <delete id="deleteCanvasBasicSetting" parameterType="map">
/* sqlid : com.interplug.qcast.canvasBasicSetting.deleteCanvasBasicSetting Canvas Basic Setting 삭제 */
DELETE FROM TB_CANVAS_BASIC_SETUP
WHERE object_no = #{objectNo}
AND plan_no = #{planNo}
</delete>
<select id="getRoofMaterialsCnt" parameterType="map"
resultType="com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo"> resultType="com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo">
/* sqlid : com.interplug.qcast.canvasBasicSetting.getRoofMaterialsCnt Canvas 지붕재추가 Setting 유무 */ /* sqlid : com.interplug.qcast.canvasBasicSetting.getRoofMaterialsCnt Canvas 지붕재추가 Setting 유무 */
SELECT COUNT(1) AS roofCnt SELECT COUNT(1) AS roofCnt
FROM TB_CANVAS_BASIC_SETUP FROM TB_CANVAS_BASIC_SETUP
WHERE object_no = #{objectNo} WHERE object_no = #{objectNo}
AND plan_no = #{planNo}
</select> </select>
<insert id="insertRoofMaterialsAdd" parameterType="com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo"> <insert id="insertRoofMaterialsAdd" parameterType="com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo">
@ -74,6 +89,7 @@
INSERT INTO TB_CANVAS_ROOF_MATERIALS_ADD INSERT INTO TB_CANVAS_ROOF_MATERIALS_ADD
( (
object_no object_no
, plan_no
, roof_apply , roof_apply
, roof_seq , roof_seq
, roof_matl_cd , roof_matl_cd
@ -89,6 +105,7 @@
) )
VALUES ( VALUES (
#{objectNo} #{objectNo}
, #{planNo}
, #{roofApply} , #{roofApply}
, #{roofSeq} , #{roofSeq}
, #{roofMatlCd} , #{roofMatlCd}
@ -107,8 +124,9 @@
<update id="updateRoofMaterialsAdd" parameterType="com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo"> <update id="updateRoofMaterialsAdd" parameterType="com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo">
/* sqlid : com.interplug.qcast.canvasBasicSetting.updateRoofMaterialsAdd Canvas 지붕재추가 Setting 수정 */ /* sqlid : com.interplug.qcast.canvasBasicSetting.updateRoofMaterialsAdd Canvas 지붕재추가 Setting 수정 */
MERGE TB_CANVAS_ROOF_MATERIALS_ADD AS target MERGE TB_CANVAS_ROOF_MATERIALS_ADD AS target
USING (SELECT #{objectNo} AS object_no) AS source USING (SELECT #{objectNo} AS object_no, #{planNo} AS plan_no) AS source
ON (target.object_no = source.object_no ON (target.object_no = source.object_no
AND target.plan_no = source.plan_no
AND target.roof_seq = #{roofSeq}) AND target.roof_seq = #{roofSeq})
WHEN MATCHED THEN WHEN MATCHED THEN
UPDATE UPDATE
@ -127,6 +145,7 @@
INSERT INSERT
( (
object_no object_no
, plan_no
, roof_apply , roof_apply
, roof_seq , roof_seq
, roof_matl_cd , roof_matl_cd
@ -141,6 +160,7 @@
) )
VALUES ( VALUES (
#{objectNo} #{objectNo}
, #{planNo}
, #{roofApply} , #{roofApply}
, #{roofSeq} , #{roofSeq}
, #{roofMatlCd} , #{roofMatlCd}
@ -161,6 +181,7 @@
INSERT INTO TB_CANVAS_ROOF_MATERIALS_ADD INSERT INTO TB_CANVAS_ROOF_MATERIALS_ADD
( (
object_no object_no
, plan_no
, roof_apply , roof_apply
, roof_seq , roof_seq
, roof_matl_cd , roof_matl_cd
@ -176,6 +197,7 @@
) )
VALUES ( VALUES (
#{objectNo} #{objectNo}
, #{planNo}
, #{roofApply} , #{roofApply}
, #{roofSeq} , #{roofSeq}
, #{roofMatlCd} , #{roofMatlCd}
@ -191,10 +213,11 @@
); );
</insert> </insert>
<delete id="deleteRoofMaterialsAdd" parameterType="string"> <delete id="deleteRoofMaterialsAdd" parameterType="map">
/* sqlid : com.interplug.qcast.canvasBasicSetting.deleteRoofMaterialsAdd Canvas 지붕재추가 Setting 삭제 */ /* sqlid : com.interplug.qcast.canvasBasicSetting.deleteRoofMaterialsAdd Canvas 지붕재추가 Setting 삭제 */
DELETE FROM TB_CANVAS_ROOF_MATERIALS_ADD DELETE FROM TB_CANVAS_ROOF_MATERIALS_ADD
WHERE object_no = #{objectNo} WHERE object_no = #{objectNo}
AND plan_no = #{planNo}
</delete> </delete>
</mapper> </mapper>