견적특이사항 / 아이템 표시, 미표시 동기화 api 추가
This commit is contained in:
parent
6efd3d5426
commit
570b942882
@ -0,0 +1,41 @@
|
||||
package com.interplug.qcast.biz.specialNote;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.interplug.qcast.biz.specialNote.dto.SpecialNoteItemRequest;
|
||||
import com.interplug.qcast.biz.specialNote.dto.SpecialNoteRequest;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/api/special-note")
|
||||
@RequiredArgsConstructor
|
||||
@Tag(name = "SpecialNoteController", description = "견적 특이사항 관련 API")
|
||||
public class SpecialNoteController {
|
||||
|
||||
private final SpecialNoteService specialNoteService;
|
||||
|
||||
@Operation(description = "견적 특이사항 정보를 등록/수정한다. (동기화)")
|
||||
@PostMapping("/special-note-save")
|
||||
@ResponseStatus(HttpStatus.OK)
|
||||
public void setSpecialNoteSave(@RequestBody SpecialNoteRequest specialNoteRequest)
|
||||
throws Exception {
|
||||
specialNoteService.setSpecialNoteSave(specialNoteRequest);
|
||||
}
|
||||
|
||||
@Operation(description = "견적 특이사항 ITEM 정보를 등록/수정한다. (동기화)")
|
||||
@PostMapping("/special-note-item-save")
|
||||
@ResponseStatus(HttpStatus.OK)
|
||||
public void setSpecialNoteItemSave(@RequestBody SpecialNoteItemRequest specialNoteItemRequest)
|
||||
throws Exception {
|
||||
specialNoteService.setStoreDisplayItemSave(specialNoteItemRequest);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.interplug.qcast.biz.specialNote;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import com.interplug.qcast.biz.specialNote.dto.SpecialNoteItemRequest;
|
||||
import com.interplug.qcast.biz.specialNote.dto.SpecialNoteRequest;
|
||||
|
||||
@Mapper
|
||||
public interface SpecialNoteMapper {
|
||||
|
||||
void setSpecialNoteSave(SpecialNoteRequest specialNoteRequest) throws Exception;
|
||||
|
||||
void setStoreDisplayItemSave(SpecialNoteItemRequest specialNoteItemRequest) throws Exception;
|
||||
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
package com.interplug.qcast.biz.specialNote;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.interplug.qcast.biz.specialNote.dto.SpecialNoteItemRequest;
|
||||
import com.interplug.qcast.biz.specialNote.dto.SpecialNoteRequest;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class SpecialNoteService {
|
||||
|
||||
private final SpecialNoteMapper specialNoteMapper;
|
||||
|
||||
public void setSpecialNoteSave(SpecialNoteRequest specialNoteRequest) throws Exception {
|
||||
specialNoteMapper.setSpecialNoteSave(specialNoteRequest);
|
||||
}
|
||||
|
||||
public void setStoreDisplayItemSave(SpecialNoteItemRequest specialNoteItemRequest)
|
||||
throws Exception {
|
||||
specialNoteMapper.setStoreDisplayItemSave(specialNoteItemRequest);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package com.interplug.qcast.biz.specialNote.dto;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class SpecialNoteItemRequest {
|
||||
|
||||
/** Special Note Type Code */
|
||||
private String spnTypeCd;
|
||||
|
||||
/** Special Note Attribute */
|
||||
private String spnAttrCd;
|
||||
|
||||
/** Item Id */
|
||||
private String itemId;
|
||||
|
||||
/** Del Flag */
|
||||
private String delFlg;
|
||||
|
||||
/** Inputted Date */
|
||||
private String registDatetime;
|
||||
|
||||
/** Updated Date */
|
||||
private String lastEditDatetime;
|
||||
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
package com.interplug.qcast.biz.specialNote.dto;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class SpecialNoteRequest {
|
||||
|
||||
/** Special Note Type Code */
|
||||
private String spnTypeCd;
|
||||
|
||||
/** Special Note Attribute */
|
||||
private String spnAttrCd;
|
||||
|
||||
/** Used Flg */
|
||||
private String useFlg;
|
||||
|
||||
/** Remarks */
|
||||
private String remarks;
|
||||
|
||||
/** Del Flag */
|
||||
private String delFlg;
|
||||
|
||||
/** Inputted Date */
|
||||
private String registDatetime;
|
||||
|
||||
/** Updated Date */
|
||||
private String lastEditDatetime;
|
||||
|
||||
}
|
||||
82
src/main/resources/mappers/specialNote/specialNoteMapper.xml
Normal file
82
src/main/resources/mappers/specialNote/specialNoteMapper.xml
Normal file
@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.interplug.qcast.biz.specialNote.SpecialNoteMapper">
|
||||
|
||||
<insert id="setSpecialNoteSave" parameterType="com.interplug.qcast.biz.specialNote.dto.SpecialNoteRequest" >
|
||||
/* sqlid : com.interplug.qcast.specialNote.setSpecialNoteSave (견적 특이사항 정보 등록/수정 - 동기화) */
|
||||
MERGE T_OBJECT_SPECIAL_NOTE AS A
|
||||
USING
|
||||
(
|
||||
SELECT #{spnAttrCd} AS SPN_ATTR_CD
|
||||
, #{spnTypeCd} AS SPN_TYPE_CD
|
||||
) AS T
|
||||
ON (
|
||||
A.SPN_ATTR_CD = T.SPN_ATTR_CD
|
||||
AND A.SPN_TYPE_CD = T.SPN_TYPE_CD
|
||||
)
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
USE_FLG = #{useFlg}
|
||||
, REMARKS = #{remarks}
|
||||
, DEL_FLG = #{delFlg}
|
||||
, REGIST_DATETIME = #{registDatetime}
|
||||
, LAST_EDIT_DATETIME = #{lastEditDatetime}
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
SPN_ATTR_CD
|
||||
, SPN_TYPE_CD
|
||||
, USE_FLG
|
||||
, REMARKS
|
||||
, DEL_FLG
|
||||
, REGIST_DATETIME
|
||||
, LAST_EDIT_DATETIME
|
||||
) VALUES (
|
||||
#{spnAttrCd}
|
||||
, #{SpnTypeCd}
|
||||
, #{useFlg}
|
||||
, #{remarks}
|
||||
, #{delFlg}
|
||||
, #{registDatetime}
|
||||
, #{lastEditDatetime}
|
||||
);
|
||||
</insert>
|
||||
|
||||
<insert id="setStoreDisplayItemSave" parameterType="com.interplug.qcast.biz.specialNote.dto.SpecialNoteItemRequest" >
|
||||
/* sqlid : com.interplug.qcast.specialNote.setStoreDisplayItemSave (견적 특이사항 ITEM 정보 등록/수정 - 동기화) */
|
||||
MERGE T_OBJECT_SPECIAL_NOTE_ITEM AS A
|
||||
USING
|
||||
(
|
||||
SELECT #{spnAttrCd} AS SPN_ATTR_CD
|
||||
, #{spnTypeCd} AS SPN_TYPE_CD
|
||||
, #{itemId} AS ITEM_ID
|
||||
) AS T
|
||||
ON (
|
||||
A.SPN_ATTR_CD = T.SPN_ATTR_CD
|
||||
AND A.SPN_TYPE_CD = T.SPN_TYPE_CD
|
||||
AND A.ITEM_ID = T.ITEM_ID
|
||||
)
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
DEL_FLG = #{delFlg}
|
||||
, REGIST_DATETIME = #{registDatetime}
|
||||
, LAST_EDIT_DATETIME = #{lastEditDatetime}
|
||||
WHEN NOT MATCHED THEN
|
||||
INSERT (
|
||||
SPN_ATTR_CD
|
||||
, SPN_TYPE_CD
|
||||
, ITEM_ID
|
||||
, DEL_FLG
|
||||
, REGIST_DATETIME
|
||||
, LAST_EDIT_DATETIME
|
||||
) VALUES (
|
||||
#{spnAttrCd}
|
||||
, #{spnTypeCd}
|
||||
, #{itemId}
|
||||
, #{delFlg}
|
||||
, #{registDatetime}
|
||||
, #{lastEditDatetime}
|
||||
);
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
Loading…
x
Reference in New Issue
Block a user