견적서 API 아이템 히스토리 저장 기능 추가

This commit is contained in:
LAPTOP-L3VE7KK2\USER 2024-11-14 11:23:02 +09:00
parent c881f67875
commit 55a7d121a7
4 changed files with 87 additions and 6 deletions

View File

@ -39,6 +39,9 @@ public interface EstimateMapper {
// 아이템 마스터 목록 조회
public List<NoteResponse> selectEstimateNoteItemList(NoteRequest noteRequest);
// 아이템 히스토리 번호 조회
public String selectEstimateItemHisNo(EstimateRequest estimateRequest);
// 물건정보 수정
public int updateObject(EstimateRequest estimateRequest);
@ -57,6 +60,9 @@ public interface EstimateMapper {
// 견적서 아이템 등록
public int insertEstimateItem(ItemRequest itemRequest);
// 견적서 아이템 히스토리 등록
public int insertEstimateItemHis(ItemRequest itemRequest);
// 견적서 지붕재 목록 삭제(물리 삭제)
public int deleteEstimateRoofList(EstimateRequest estimateRequest);

View File

@ -357,6 +357,8 @@ public class EstimateService {
itemRequest.setFileUploadFlg(itemResponse.getFileUploadFlg());
itemRequest.setPkgMaterialFlg(itemResponse.getPkgMaterialFlg());
itemRequest.setItemGroup(itemResponse.getItemGroup());
itemRequest.setPartAdd("0");
itemRequest.setDelFlg("0");
break;
}
}
@ -508,11 +510,13 @@ public class EstimateService {
estimateMapper.deleteEstimateItemList(estimateRequest);
// 견적서 아이템 신규 추가
int j = 1;
String hisNo = estimateMapper.selectEstimateItemHisNo(estimateRequest); // 아이템 히스토리 번호 조회
int j = 1, k = 1;
for (ItemRequest itemRequest : itemList) {
itemRequest.setHisNo(hisNo);
itemRequest.setObjectNo(estimateRequest.getObjectNo());
itemRequest.setPlanNo(estimateRequest.getPlanNo());
itemRequest.setDispOrder(String.valueOf(j++));
itemRequest.setDispOrder(String.valueOf(k++));
itemRequest.setPartAdd(
!StringUtils.isEmpty(itemRequest.getPartAdd()) ? itemRequest.getPartAdd() : "0");
itemRequest.setItemChangeFlg(
@ -521,7 +525,13 @@ public class EstimateService {
: "0");
itemRequest.setUserId(estimateRequest.getUserId());
estimateMapper.insertEstimateItem(itemRequest);
estimateMapper.insertEstimateItemHis(itemRequest);
if (!"1".equals(itemRequest.getDelFlg())) {
itemRequest.setDispOrder(String.valueOf(j++));
estimateMapper.insertEstimateItem(itemRequest);
}
}
// QSP Q.CAST SEND API

View File

@ -71,6 +71,12 @@ public class ItemRequest {
@Schema(description = "아이템 그룹코드")
private String itemGroup;
@Schema(description = "히스토리 번호")
private String hisNo;
@Schema(description = "삭제여부")
private String delFlg;
@Schema(description = "사용자아이디")
private String userId;
}

View File

@ -419,6 +419,15 @@
</foreach>
</select>
<select id="selectEstimateItemHisNo" parameterType="com.interplug.qcast.biz.estimate.dto.NoteRequest" resultType="String">
/* sqlid : com.interplug.qcast.biz.estimate.selectEstimateItemHisNo */
SELECT
ISNULL(MAX(PEH.HIS_NO), 0) + 1 AS HIS_NO
FROM T_PART_ESTIMATE_HIS PEH WITH (NOLOCK)
WHERE PEH.OBJECT_NO = #{objectNo}
AND PEH.PLAN_NO = #{planNo}
</select>
<update id="updateObject" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.updateObject */
UPDATE T_OBJECT
@ -560,6 +569,56 @@
)
</insert>
<insert id="insertEstimateItemHis" parameterType="com.interplug.qcast.biz.estimate.dto.ItemRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateItemHits */
INSERT INTO T_PART_ESTIMATE_HIS
(
HIS_NO
, OBJECT_NO
, PLAN_NO
, DISP_ORDER
, ITEM_ID
, ITEM_NO
, ITEM_NAME
, UNIT
, AMOUNT
, UNIT_PRICE
, SALE_PRICE
<if test='specialNoteCd != null and specialNoteCd != ""'>
, SPECIAL_NOTE_CD
</if>
, PKG_MATERIAL_FLG
, ITEM_CHANGE_FLG
, FILE_UPLOAD_FLG
, PART_ADD
, DEL_FLG
, CREATE_DATETIME
, CREATE_USER
) VALUES (
#{hisNo}
, #{objectNo}
, #{planNo}
, #{dispOrder}
, #{itemId}
, #{itemNo}
, #{itemName}
, #{unit}
, #{amount}
, #{unitPrice}
, #{salePrice}
<if test='specialNoteCd != null and specialNoteCd != ""'>
, #{specialNoteCd}
</if>
, #{pkgMaterialFlg}
, #{itemChangeFlg}
, #{fileUploadFlg}
, #{partAdd}
, #{delFlg}
, GETDATE()
, #{userId}
)
</insert>
<insert id="insertEstimateRoof" parameterType="com.interplug.qcast.biz.estimate.dto.RoofRequest">
/* sqlid : com.interplug.qcast.biz.estimate.insertEstimateRoof */
<selectKey keyProperty="roofNo" keyColumn="roofNo" resultType="String" order="AFTER">
@ -638,21 +697,21 @@
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateRoofList */
DELETE FROM T_ROOF_ESTIMATE
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
AND PLAN_NO = #{planNo}
</delete>
<delete id="deleteEstimateRoofItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateRoofItemList */
DELETE FROM T_ROOF_ITEM_ESTIMATE
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
AND PLAN_NO = #{planNo}
</delete>
<delete id="deleteEstimateItemList" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">
/* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateItemList */
DELETE FROM T_PART_ESTIMATE
WHERE OBJECT_NO = #{objectNo}
AND PLAN_NO = #{planNo}
AND PLAN_NO = #{planNo}
</delete>
<insert id="insertEstimateCopy" parameterType="com.interplug.qcast.biz.estimate.dto.EstimateRequest">