배치면초기설정 유무 추가 및 수정
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.CanvasBasicSettingInfo;
|
||||||
import com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingResponse;
|
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.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@ -23,22 +24,29 @@ 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}/{roofApply}")
|
||||||
public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(@PathVariable String objectNo) {
|
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 정보를 등록 한다.")
|
@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 {
|
||||||
|
|
||||||
log.debug("Basic Setting 등록 ::::: " + csi.getObjectNo());
|
log.debug("Basic Setting 등록 ::::: " + csi.getObjectNo());
|
||||||
|
|
||||||
return canvasBasicSettingService.insertCanvasBasicSetting(csi);
|
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
|
@Mapper
|
||||||
public interface CanvasBasicSettingMapper {
|
public interface CanvasBasicSettingMapper {
|
||||||
|
|
||||||
|
// Canvas Basic Setting 유무 조회
|
||||||
|
public CanvasBasicSettingInfo getCanvasBasicSettingCnt(String objectNo);
|
||||||
|
|
||||||
// Canvas Basic Setting 조회(objectNo)
|
// Canvas Basic Setting 조회(objectNo)
|
||||||
public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(String objectNo);
|
public List<CanvasBasicSettingResponse> selectCanvasBasicSetting(String objectNo, String roofSeq);
|
||||||
|
|
||||||
// Canvas Basic Setting 등록
|
// Canvas Basic Setting 등록
|
||||||
public void insertCanvasBasicSetting(CanvasBasicSettingInfo csi);
|
public void insertCanvasBasicSetting(CanvasBasicSettingInfo csi);
|
||||||
|
|
||||||
|
// Canvas Basic Setting 수정
|
||||||
|
public void updateCanvasBasicSetting(CanvasBasicSettingInfo csi);
|
||||||
|
|
||||||
|
// Canvas 지붕재추가 Setting 유무 조회
|
||||||
|
public RoofMaterialsAddInfo getRoofMaterialsCnt(String objectNo, String roofSeq);
|
||||||
|
|
||||||
// Canvas 지붕재추가 Setting 등록
|
// Canvas 지붕재추가 Setting 등록
|
||||||
public void insertRoofMaterialsAdd(RoofMaterialsAddInfo rma);
|
public void insertRoofMaterialsAdd(RoofMaterialsAddInfo rma);
|
||||||
|
|
||||||
|
// Canvas 지붕재추가 Setting 수정
|
||||||
|
public void updateRoofMaterialsAdd(RoofMaterialsAddInfo rma);
|
||||||
|
|
||||||
// Canvas 지붕재추가 Setting 삭제
|
// 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.CanvasBasicSettingInfo;
|
||||||
import com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingResponse;
|
import com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingResponse;
|
||||||
import com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo;
|
import com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo;
|
||||||
|
import com.interplug.qcast.config.Exception.ErrorCode;
|
||||||
|
import com.interplug.qcast.config.Exception.QcastException;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@ -18,36 +20,58 @@ 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, String roofSeq) {
|
||||||
return canvasBasicSettingMapper.selectCanvasBasicSetting(objectNo);
|
return canvasBasicSettingMapper.selectCanvasBasicSetting(objectNo, roofSeq);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Canvas Basic Setting 등록
|
// 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<>();
|
Map<String, String> response = new HashMap<>();
|
||||||
|
|
||||||
|
if (csi.getObjectNo() == null) {
|
||||||
|
throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다.");
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
// 도면/치수/각도 정보 insert/update
|
// 먼저 데이터가 존재하는지 확인
|
||||||
|
CanvasBasicSettingInfo cntData = canvasBasicSettingMapper.getCanvasBasicSettingCnt(csi.getObjectNo());
|
||||||
|
|
||||||
|
// 데이터가 존재하지 않으면 insert
|
||||||
|
if (cntData.getRoofCnt().intValue() < 1) {
|
||||||
|
// 도면/치수/각도 정보 insert
|
||||||
canvasBasicSettingMapper.insertCanvasBasicSetting(csi);
|
canvasBasicSettingMapper.insertCanvasBasicSetting(csi);
|
||||||
|
|
||||||
// 기존 지붕재추가 정보 삭제 후 insert
|
|
||||||
canvasBasicSettingMapper.deleteRoofMaterialsAdd(csi.getObjectNo());
|
|
||||||
|
|
||||||
int roofSeq = 1;
|
|
||||||
// for-each 루프를 사용하여 지붕재추가 Setting
|
// for-each 루프를 사용하여 지붕재추가 Setting
|
||||||
for (RoofMaterialsAddInfo rma : csi.getRoofMaterialsAddList()) {
|
for (RoofMaterialsAddInfo rma : csi.getRoofMaterialsAddList()) {
|
||||||
|
|
||||||
rma.setObjectNo(csi.getObjectNo());
|
rma.setObjectNo(csi.getObjectNo());
|
||||||
rma.setRoofSeq(roofSeq++); //roofSeq는 순차적으로 새로 생성하여 insert
|
|
||||||
|
|
||||||
// 신규 지붕재추가 정보 insert
|
// 신규 지붕재추가 정보 insert
|
||||||
canvasBasicSettingMapper.insertRoofMaterialsAdd(rma);
|
canvasBasicSettingMapper.insertRoofMaterialsAdd(rma);
|
||||||
}
|
}
|
||||||
|
|
||||||
response.put("objectNo", csi.getObjectNo());
|
response.put("objectNo", csi.getObjectNo());
|
||||||
response.put("returnMessage", "common.message.confirm.mark");
|
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) {
|
} catch (Exception e) {
|
||||||
response.put("objectNo", csi.getObjectNo());
|
response.put("objectNo", csi.getObjectNo());
|
||||||
response.put("returnMessage", "common.message.save.error");
|
response.put("returnMessage", "common.message.save.error");
|
||||||
@ -58,4 +82,23 @@ public class CanvasBasicSettingService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 지붕재추가 삭제
|
||||||
|
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 {
|
public class CanvasBasicSettingInfo {
|
||||||
|
|
||||||
private String objectNo; //견적서 번호
|
private String objectNo; //견적서 번호
|
||||||
private int roofSizeSet; //치수(복사도/실측값/육지붕)
|
private Integer roofSizeSet; //치수(복사도/실측값/육지붕)
|
||||||
private String roofAngleSet; //각도(경사/각도)
|
private String roofAngleSet; //각도(경사/각도)
|
||||||
|
private Integer roofCnt; //존재여부
|
||||||
private Date registDatetime; //생성일시
|
private Date registDatetime; //생성일시
|
||||||
private Date lastEditDatetime; //수정일시
|
private Date lastEditDatetime; //수정일시
|
||||||
|
|
||||||
|
|||||||
@ -11,13 +11,14 @@ public class RoofMaterialsAddInfo {
|
|||||||
|
|
||||||
private String objectNo; //견적서 번호
|
private String objectNo; //견적서 번호
|
||||||
private boolean roofApply; //적용
|
private boolean roofApply; //적용
|
||||||
private int roofSeq; //순번 SEQ
|
private Integer roofSeq; //순번 SEQ
|
||||||
private String roofMatlCd; //타입
|
private String roofMatlCd; //타입
|
||||||
private int roofWidth; //넓이
|
private Integer roofWidth; //넓이
|
||||||
private int roofHeight; //높이
|
private Integer roofHeight; //높이
|
||||||
private int roofHajebichi; //하제비치
|
private Integer roofHajebichi; //하제비치
|
||||||
private String roofGap; //간격
|
private String roofGap; //간격
|
||||||
private String roofLayout; //방식
|
private String roofLayout; //방식
|
||||||
|
private Integer roofCnt; //존재여부
|
||||||
private Date registDatetime; //생성일시
|
private Date registDatetime; //생성일시
|
||||||
private Date lastEditDatetime; //수정일시
|
private Date lastEditDatetime; //수정일시
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,14 @@
|
|||||||
|
|
||||||
<mapper namespace="com.interplug.qcast.biz.canvasBasicSetting.CanvasBasicSettingMapper">
|
<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"
|
<select id="selectCanvasBasicSetting" parameterType="string"
|
||||||
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 조회 */
|
||||||
@ -25,17 +33,7 @@
|
|||||||
|
|
||||||
<insert id="insertCanvasBasicSetting" parameterType="com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingInfo">
|
<insert id="insertCanvasBasicSetting" parameterType="com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingInfo">
|
||||||
/* sqlid : com.interplug.qcast.canvasBasicSetting.insertCanvasBasicSetting Canvas Basic Setting 등록 */
|
/* sqlid : com.interplug.qcast.canvasBasicSetting.insertCanvasBasicSetting Canvas Basic Setting 등록 */
|
||||||
MERGE TB_CANVAS_BASIC_SETUP AS target
|
INSERT INTO TB_CANVAS_BASIC_SETUP
|
||||||
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
|
|
||||||
(
|
(
|
||||||
object_no
|
object_no
|
||||||
, roof_size_set
|
, roof_size_set
|
||||||
@ -52,7 +50,25 @@
|
|||||||
);
|
);
|
||||||
</insert>
|
</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 등록 */
|
/* sqlid : com.interplug.qcast.canvasBasicSetting.insertRoofMaterialsAdd Canvas 지붕재추가 Setting 등록 */
|
||||||
INSERT INTO TB_CANVAS_ROOF_MATERIALS_ADD
|
INSERT INTO TB_CANVAS_ROOF_MATERIALS_ADD
|
||||||
(
|
(
|
||||||
@ -83,11 +99,27 @@
|
|||||||
);
|
);
|
||||||
</insert>
|
</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">
|
<delete id="deleteRoofMaterialsAdd" parameterType="string">
|
||||||
/* 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 roof_seq = 1
|
AND roof_seq = #{roofSeq}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
x
Reference in New Issue
Block a user