견적서 등록 시 생성된 id 반환 처리
This commit is contained in:
parent
f7a41332d5
commit
1a36f6211f
@ -2,6 +2,7 @@ package com.interplug.qcast.biz.canvasStatus;
|
|||||||
|
|
||||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus;
|
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus;
|
||||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse;
|
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse;
|
||||||
|
import com.interplug.qcast.config.Exception.CanvasStatusException;
|
||||||
|
|
||||||
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;
|
||||||
@ -27,14 +28,14 @@ public class CanvasStatusController {
|
|||||||
|
|
||||||
@Operation(description = "견적서를 조회 한다.")
|
@Operation(description = "견적서를 조회 한다.")
|
||||||
@GetMapping("/canvas-statuses/by-object/{objectNo}")
|
@GetMapping("/canvas-statuses/by-object/{objectNo}")
|
||||||
public List<CanvasStatusResponse> selectObjectNoCanvasStatus(@PathVariable String objectNo) {
|
public List<CanvasStatusResponse> selectObjectNoCanvasStatus(@PathVariable String objectNo, @PathVariable String userId) {
|
||||||
return canvasStatusService.selectObjectNoCanvasStatus(objectNo);
|
return canvasStatusService.selectObjectNoCanvasStatus(objectNo, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(description = "견적서를 등록 한다.")
|
@Operation(description = "견적서를 등록 한다.")
|
||||||
@PostMapping("/canvas-statuses")
|
@PostMapping("/canvas-statuses")
|
||||||
@ResponseStatus(HttpStatus.CREATED)
|
@ResponseStatus(HttpStatus.CREATED)
|
||||||
public String insertCanvasStatus(@RequestBody CanvasStatus cs) {
|
public Integer insertCanvasStatus(@RequestBody CanvasStatus cs) throws CanvasStatusException {
|
||||||
return canvasStatusService.insertCanvasStatus(cs);
|
return canvasStatusService.insertCanvasStatus(cs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,10 @@ public interface CanvasStatusMapper {
|
|||||||
public List<CanvasStatusResponse> selectAllCanvasStatus(String userId);
|
public List<CanvasStatusResponse> selectAllCanvasStatus(String userId);
|
||||||
|
|
||||||
// 견적서 조회(objectNo)
|
// 견적서 조회(objectNo)
|
||||||
public List<CanvasStatusResponse> selectObjectNoCanvasStatus(String objectNo);
|
public List<CanvasStatusResponse> selectObjectNoCanvasStatus(String objectNo, String userId);
|
||||||
|
|
||||||
|
// 견적서 조회(id)
|
||||||
|
public List<CanvasStatusResponse> selectIdCanvasStatus(String objectNo, String userId);
|
||||||
|
|
||||||
// 견적서 등록
|
// 견적서 등록
|
||||||
public void insertCanvasStatus(CanvasStatus cs);
|
public void insertCanvasStatus(CanvasStatus cs);
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package com.interplug.qcast.biz.canvasStatus;
|
|||||||
|
|
||||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus;
|
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus;
|
||||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse;
|
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse;
|
||||||
|
import com.interplug.qcast.config.Exception.CanvasStatusException;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
@ -20,21 +21,37 @@ public class CanvasStatusService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 견적서 조회(objectNo)
|
// 견적서 조회(objectNo)
|
||||||
public List<CanvasStatusResponse> selectObjectNoCanvasStatus(String objectNo) {
|
public List<CanvasStatusResponse> selectObjectNoCanvasStatus(String objectNo, String userId) {
|
||||||
return canvasStatusMapper.selectObjectNoCanvasStatus(objectNo);
|
return canvasStatusMapper.selectObjectNoCanvasStatus(objectNo, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 견적서 등록
|
// 견적서 등록
|
||||||
public String insertCanvasStatus(CanvasStatus cs) {
|
public Integer insertCanvasStatus(CanvasStatus cs) throws CanvasStatusException {
|
||||||
|
|
||||||
try {
|
Integer id = 0;
|
||||||
canvasStatusMapper.insertCanvasStatus(cs);
|
|
||||||
} catch (Exception e) {
|
// 먼저 데이터가 존재하는지 확인
|
||||||
System.out.println("오류 발생 : " + e.getMessage());
|
List<CanvasStatusResponse> existingStatus = canvasStatusMapper.selectObjectNoCanvasStatus(cs.getObjectNo(), cs.getUserId());
|
||||||
|
|
||||||
|
// 데이터가 이미 존재하면 저장하지 않고 예외를 던짐
|
||||||
|
if (existingStatus.size() > 0) {
|
||||||
|
throw new CanvasStatusException("해당 objectNo로 이미 견적서가 존재합니다.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 생성된 objectNo 반환
|
// 데이터가 없으면 저장
|
||||||
return cs.getObjectNo();
|
try {
|
||||||
|
canvasStatusMapper.insertCanvasStatus(cs);
|
||||||
|
|
||||||
|
// 데이터 저장 후 Max id 확인
|
||||||
|
List<CanvasStatusResponse> maxId = canvasStatusMapper.selectIdCanvasStatus(cs.getObjectNo(), cs.getUserId());
|
||||||
|
id = maxId.get(0).getId();
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new CanvasStatusException("견적서 등록 중 오류 발생");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 생성된 id 반환
|
||||||
|
return id;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,13 @@
|
|||||||
|
package com.interplug.qcast.config.Exception;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
|
||||||
|
public class CanvasStatusException extends BaseException{
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 6263785244527827114L;
|
||||||
|
|
||||||
|
public CanvasStatusException(String message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -45,6 +45,16 @@
|
|||||||
, last_edit_datetime
|
, last_edit_datetime
|
||||||
FROM TB_CANVAS_STATUS
|
FROM TB_CANVAS_STATUS
|
||||||
WHERE object_no = #{objectNo}
|
WHERE object_no = #{objectNo}
|
||||||
|
AND user_id = #{userId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectIdCanvasStatus" parameterType="string"
|
||||||
|
resultType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse">
|
||||||
|
/* sqlid : com.interplug.qcast.canvasStatus.selectIdCanvasStatus 견적서 조회 */
|
||||||
|
SELECT MAX(id) AS id
|
||||||
|
FROM TB_CANVAS_STATUS
|
||||||
|
WHERE object_no = #{objectNo}
|
||||||
|
AND user_id = #{userId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="insertCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus">
|
<insert id="insertCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus">
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user