From 19872e3661f2025eb845be318033d0023e0fa459 Mon Sep 17 00:00:00 2001 From: won503 Date: Tue, 4 Apr 2023 13:17:48 +0900 Subject: [PATCH] =?UTF-8?q?admin=5Fchrg=20=EB=93=B1=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custMgt/components/InsertChrgModal.vue | 35 ++++++++++--- .../uplus/ez/api/custMgt/CustMgtMapper.java | 1 + .../uplus/ez/api/custMgt/CustMgtService.java | 49 ++++++++++++++++++- .../uplus/ez/api/custMgt/dto/ChrgAmtDto.java | 25 ++++++++++ .../ez/api/custMgt/dto/InsertChrgReqDto.java | 2 +- .../mapper/mysql/custMgt/custMgt-mapper.xml | 16 +++++- 6 files changed, 117 insertions(+), 11 deletions(-) create mode 100644 src/main/java/kr/co/uplus/ez/api/custMgt/dto/ChrgAmtDto.java diff --git a/frontend/src/modules/custMgt/components/InsertChrgModal.vue b/frontend/src/modules/custMgt/components/InsertChrgModal.vue index f57b2f5..033a130 100644 --- a/frontend/src/modules/custMgt/components/InsertChrgModal.vue +++ b/frontend/src/modules/custMgt/components/InsertChrgModal.vue @@ -65,13 +65,13 @@ value="01" id="popup_radio5" v-model="nmineeDivCd" - @change="changeNmineDiv($event)" /> @@ -137,9 +136,9 @@ export default { endMonth: '', nmineeDivCd: '01', - chrgAmtE: '', - chrgAmtC: '', - + chrgAmtE: '0', + chrgAmtC: '0', + charDiv: '', userId: '', custNm: '', userSttusCd: '', @@ -174,10 +173,15 @@ export default { }, // 모달 끄기 insertChrgClose() { + this.formReset(); var dimmed = document.getElementsByClassName('insertChrgModal'); for (var i = 0; i < dimmed.length; i++) { dimmed[i].style.display = 'none'; } + + }, + formReset() { + Object.assign(this.$data, this.$options.data()); }, searchIdPop(){ this.$refs.userListPop.UserListPopOpen(); @@ -271,12 +275,29 @@ export default { this.endDate = initEndDate; }, saveChrg(){ + var chrgAmt =0; + if (this.nmineeDivCd =='01') { + this.chrgDiv = 'E'; + chrgAmt = this.chrgAmtE + }else{ + this.chrgDiv='C'; + chrgAmt = this.chrgAmtC + } + + + if (chrgAmt<=0) { + this.row.title = '경고'; + this.row.msg1 = '충전금을 입력해주세요.'; + this.$parent.alertInsert(this.row); + return false; + } let param = { userId : this.userId, strtYm : this.startDate, endYm : this.endDate, - chrgAmt : this.chrgAmtE, + chrgDiv : this.chrgDiv, + chrgAmt : chrgAmt, } custMgtApi.insertChrg(param).then((respose)=> { diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtMapper.java b/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtMapper.java index 76268e6..bf40998 100644 --- a/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtMapper.java +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtMapper.java @@ -132,6 +132,7 @@ public interface CustMgtMapper { void addChrg(ChrgInfo chrgInfo); /**충전관리 삭제 */ void deleteChrg(DeleteChrgReqDto deleteChrgReqDto); + int updateChrgAmt(ChrgAmtDto chrgAmtDto); diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtService.java b/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtService.java index 5593b2c..60a6f23 100644 --- a/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtService.java +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/CustMgtService.java @@ -5,6 +5,8 @@ import kr.co.uplus.ez.common.components.HubeasyApiComponents; import kr.co.uplus.ez.common.data.*; import kr.co.uplus.ez.common.utils.DateUtils; import kr.co.uplus.ez.common.utils.EncryptionUtil; +import kr.co.uplus.ez.common.utils.TextUtils; + import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.mybatis.spring.SqlSessionTemplate; @@ -1116,12 +1118,13 @@ public class CustMgtService { UserDetails userDetails = (UserDetails) principal; String regId = userDetails.getUsername(); - logger.debug("insertChrgReqDto= {}", insertChrgReqDto); +// logger.debug("insertChrgReqDto= {}", insertChrgReqDto); + ChrgInfo chrgInfo = new ChrgInfo(); chrgInfo.setChrgSeq(chrgSeq); chrgInfo.setUserSeq(userSeq); - chrgInfo.setChrgDiv(insertChrgReqDto.getChrdDiv()); + chrgInfo.setChrgDiv(insertChrgReqDto.getChrgDiv()); String StrYm = insertChrgReqDto.getStrtYm().replace("-", "").substring(0, 6); chrgInfo.setStrtYm(StrYm); String EndYm = insertChrgReqDto.getEndYm().replace("-", "").substring(0, 6); @@ -1132,6 +1135,48 @@ public class CustMgtService { custMgtMapper.insertChrgInfo(chrgInfo); + Date now = new Date(); + String presentYm = DateUtils.dateToStr(now, "yyyyMM"); + + ChrgAmtDto chrgAmtDto = new ChrgAmtDto(); + if (presentYm.equals(StrYm)) { + int resultcnt = 0; +// logger.debug("presentYm= {}", presentYm); + + if ("E".equals(insertChrgReqDto.getChrgDiv())) { + //소멸 충전금 업데이트 + chrgAmtDto.setUserSeq(userSeq); + chrgAmtDto.setLmtYm(chrgInfo.getStrtYm()); + chrgAmtDto.setExtcChrgAmt(chrgInfo.getChrgAmt()); + chrgAmtDto.setCfwdChrgAmt("0"); + resultcnt = custMgtMapper.updateChrgAmt(chrgAmtDto); + }else if ("C".equals(insertChrgReqDto.getChrgDiv())) { + //이월 충전금 업데이트 + chrgAmtDto.setUserSeq(userSeq); + chrgAmtDto.setLmtYm(chrgInfo.getStrtYm()); + chrgAmtDto.setCfwdChrgAmt(chrgInfo.getChrgAmt()); + chrgAmtDto.setExtcChrgAmt("0"); + resultcnt = custMgtMapper.updateChrgAmt(chrgAmtDto); + } + + //insert 및 update 성공시 resultCnt 0이상의 정수값이 return됨 + //update성공시 + if (resultcnt>0) { +// String clientKey = DateUtils.date2strYMDHMS() + "AD" + RandomStringUtils.randomAlphanumeric(8); +// SendMsgDto sendMsgDto = new SendMsgDto(); +// sendMsgDto.setClientKey(clientKey); +// sendMsgDto.setMsg("[LG U+ 메시지허브이지]\n" +// + " " + insertChrgReqDto.getChrgAmt() + " 입니다."); + } + } + + + +// EXTC_CHRG_AMT 소멸 충전금 +// CFWD_CHRG_AMT 이월 충전금 + + + return new InsertChrgResDto(ApiResponseCode.SUCCESS); } diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/dto/ChrgAmtDto.java b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/ChrgAmtDto.java new file mode 100644 index 0000000..1712c99 --- /dev/null +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/ChrgAmtDto.java @@ -0,0 +1,25 @@ +package kr.co.uplus.ez.api.custMgt.dto; + +import java.io.Serializable; + +import lombok.Data; + +@SuppressWarnings("serial") +@Data +public class ChrgAmtDto implements Serializable{ + + /** 충전 SEQUENCE */ + private String chrgSeq; + /** 유저 SEQUENCE */ + private int userSeq; + /** 한도년월 */ + private String lmtYm; + /** 충전 시작년월 */ + private String strtYm; + /** 충전구분 */ + private String chrgDiv; + /** 소멸 충전금 */ + private String extcChrgAmt; + /** 이월 충전금 */ + private String cfwdChrgAmt; +} diff --git a/src/main/java/kr/co/uplus/ez/api/custMgt/dto/InsertChrgReqDto.java b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/InsertChrgReqDto.java index 1de23bf..80ce72c 100644 --- a/src/main/java/kr/co/uplus/ez/api/custMgt/dto/InsertChrgReqDto.java +++ b/src/main/java/kr/co/uplus/ez/api/custMgt/dto/InsertChrgReqDto.java @@ -19,7 +19,7 @@ public class InsertChrgReqDto implements Serializable{ @ApiModelProperty(example = "고객명", name = "고객명", dataType = "String") private String userId; @ApiModelProperty(example = "충전구분", name = "충전구분", dataType = "String") - private String chrdDiv; + private String chrgDiv; @ApiModelProperty(example = "충전시작일", name = "충전시작일", dataType = "String") private String strtYm; @ApiModelProperty(example = "충전종료일", name = "충전종료일", dataType = "String") diff --git a/src/main/resources/mapper/mysql/custMgt/custMgt-mapper.xml b/src/main/resources/mapper/mysql/custMgt/custMgt-mapper.xml index 6ea668b..2df71f0 100644 --- a/src/main/resources/mapper/mysql/custMgt/custMgt-mapper.xml +++ b/src/main/resources/mapper/mysql/custMgt/custMgt-mapper.xml @@ -1297,7 +1297,7 @@ ) VALUES( #{chrgSeq} , #{userSeq} - , 'E' + , #{chrgDiv} , #{strtYm} , #{endYm} , #{chrgAmt} @@ -1309,6 +1309,20 @@ ) + + UPDATE + hubez_admin.EZ_USER_LMT eul + set + eul.MRT_LMT_AMT = eul.MRT_LMT_AMT + #{extcChrgAmt}+ #{cfwdChrgAmt} + ,eul.EXTC_CHRG_AMT = eul.EXTC_CHRG_AMT + #{extcChrgAmt} + ,eul.EXTC_CHRG_BLNC = eul.EXTC_CHRG_BLNC + #{extcChrgAmt} + ,eul.CFWD_CHRG_AMT = eul.CFWD_CHRG_AMT+ #{cfwdChrgAmt} + ,eul.CFWD_CHRG_BLNC = eul.CFWD_CHRG_BLNC+ #{cfwdChrgAmt} + WHERE eul.USER_SEQ = #{userSeq} + AND eul.LMT_YM =#{lmtYm} + + + UPDATE hubez_admin.EZ_CHARGE_MNG ecm