Compare commits
10 Commits
f9c4126dde
...
48ab6d03ad
| Author | SHA1 | Date | |
|---|---|---|---|
| 48ab6d03ad | |||
| 8ba8498fae | |||
| 245ff379aa | |||
| dbc4a9f2e0 | |||
| 0069e3bb01 | |||
| 30f04bf805 | |||
| 2b3bd2785f | |||
| fb136e3c03 | |||
| 285bd708fb | |||
| 5d397023bf |
@@ -38,6 +38,9 @@ public class SellInfoDto extends BaseDto{
|
||||
String formula;
|
||||
String payBackBank;
|
||||
String payBackNumber;
|
||||
String etc;
|
||||
String guestKinds;
|
||||
long deduction;
|
||||
|
||||
long installment;
|
||||
long phoneId;
|
||||
@@ -81,6 +84,7 @@ public class SellInfoDto extends BaseDto{
|
||||
.phoneId(sellInfo.getPhoneId())
|
||||
.usim(sellInfo.getUsim())
|
||||
.faceValueRebate(sellInfo.getFaceValueRebate())
|
||||
.deduction(sellInfo.getDeduction())
|
||||
.guestMoney(sellInfo.getGuestMoney())
|
||||
.introductionPay(sellInfo.getIntroductionPay())
|
||||
.payBack(sellInfo.getPayBack())
|
||||
@@ -90,6 +94,8 @@ public class SellInfoDto extends BaseDto{
|
||||
.disclosureSubsidyYn(sellInfo.isDisclosureSubsidyYn())
|
||||
.cashRebate(sellInfo.getCashRebate())
|
||||
.addRebate(sellInfo.getAddRebate())
|
||||
.etc(sellInfo.getEtc())
|
||||
.guestKinds(sellInfo.getGuestKinds())
|
||||
.build();
|
||||
sellInfoDto.base(sellInfo);
|
||||
|
||||
|
||||
@@ -18,5 +18,5 @@ public class MainRatePlan extends BaseEntity{
|
||||
private String planType;
|
||||
private String planName;
|
||||
private long price;
|
||||
|
||||
private long sort;
|
||||
}
|
||||
|
||||
@@ -34,6 +34,8 @@ public class SellInfo extends BaseEntity{
|
||||
private String formula;
|
||||
private String payBackBank;
|
||||
private String payBackNumber;
|
||||
private String etc;
|
||||
private String guestKinds;
|
||||
|
||||
private long installment;
|
||||
private long phoneId;
|
||||
@@ -46,6 +48,7 @@ public class SellInfo extends BaseEntity{
|
||||
private long disclosureSubsidy;
|
||||
private long addRebate;
|
||||
private long cashRebate;
|
||||
private long deduction;
|
||||
|
||||
private boolean payBackYn;
|
||||
private boolean disclosureSubsidyYn;
|
||||
|
||||
@@ -17,5 +17,6 @@ public class SubRatePlan extends BaseEntity{
|
||||
private String carrierName;
|
||||
private String planName;
|
||||
private long price;
|
||||
private long sort;
|
||||
|
||||
}
|
||||
|
||||
@@ -33,10 +33,13 @@ public class SellAddInfoParameter{
|
||||
private long faceValueRebate;
|
||||
private long guestMoney;
|
||||
private long introductionPay;
|
||||
private long deduction;
|
||||
private long payBack;
|
||||
private String payBackDay;
|
||||
private String payBackBank;
|
||||
private String payBackNumber;
|
||||
private String etc;
|
||||
private String guestKinds;
|
||||
|
||||
private long factoryPrice;
|
||||
private long disclosureSubsidy;
|
||||
|
||||
@@ -11,5 +11,5 @@ import com.ns.mobile.website.biz.entity.MainRatePlan;
|
||||
|
||||
@Repository
|
||||
public interface MainRatePlanRepository extends JpaRepository<MainRatePlan, Long> {
|
||||
Optional<List<MainRatePlan>> findByDelYn(boolean delYn);
|
||||
Optional<List<MainRatePlan>> findByDelYnOrderBySortAsc(boolean delYn);
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@ import com.ns.mobile.website.biz.entity.SubRatePlan;
|
||||
|
||||
@Repository
|
||||
public interface SubRatePlanRepository extends JpaRepository<SubRatePlan, Long> {
|
||||
Optional<List<SubRatePlan>> findByDelYn(boolean delYn);
|
||||
Optional<List<SubRatePlan>> findByDelYnOrderBySortAsc(boolean delYn);
|
||||
}
|
||||
|
||||
@@ -90,13 +90,13 @@ public class SellInfoServiceImpl implements SellInfoService{
|
||||
SellAddInfoModel result = new SellAddInfoModel();
|
||||
List<BusinessPartner> businessPartnerList = businessPartnerRepository.findByDelYn(false).orElseThrow(() -> new BizApiException("거래처 조회가 실패하였습니다."));
|
||||
result.setBusinessPartnerList(businessPartnerList);
|
||||
List<MainRatePlan> mainRatePlanList = mainRatePlanRepository.findByDelYn(false).orElseThrow(() -> new BizApiException("요금제 조회가 실패하였습니다."));
|
||||
List<MainRatePlan> mainRatePlanList = mainRatePlanRepository.findByDelYnOrderBySortAsc(false).orElseThrow(() -> new BizApiException("요금제 조회가 실패하였습니다."));
|
||||
result.setMainRatePlanList(mainRatePlanList);
|
||||
List<MobileCarrier> mobileCarrierList = mobileCarrierRepository.findByDelYn(false).orElseThrow(() -> new BizApiException("통신사 조회가 실패하였습니다."));
|
||||
result.setMobileCarrierList(mobileCarrierList);
|
||||
List<Phone> phoneList = phoneRepository.findByDelYn(false).orElseThrow(() -> new BizApiException("핸드폰 조회가 실패하였습니다."));
|
||||
result.setPhoneList(phoneList);
|
||||
List<SubRatePlan> subRatePlanList = subRatePlanRepository.findByDelYn(false).orElseThrow(() -> new BizApiException("부가서비스 조회가 실패하였습니다."));
|
||||
List<SubRatePlan> subRatePlanList = subRatePlanRepository.findByDelYnOrderBySortAsc(false).orElseThrow(() -> new BizApiException("부가서비스 조회가 실패하였습니다."));
|
||||
result.setSubRatePlanList(subRatePlanList);
|
||||
|
||||
return result;
|
||||
@@ -122,6 +122,7 @@ public class SellInfoServiceImpl implements SellInfoService{
|
||||
.formula(parameter.getFormula())
|
||||
.payBackYn(parameter.isPayBackYn())
|
||||
.payBackBank(parameter.getPayBackBank())
|
||||
.deduction(parameter.getDeduction())
|
||||
.payBackNumber(parameter.getPayBackNumber())
|
||||
.installment(parameter.getInstallment())
|
||||
.phoneId(parameter.getPhoneId())
|
||||
@@ -135,6 +136,8 @@ public class SellInfoServiceImpl implements SellInfoService{
|
||||
.disclosureSubsidyYn(parameter.isDisclosureSubsidyYn())
|
||||
.cashRebate(parameter.getCashRebate())
|
||||
.addRebate(parameter.getAddRebate())
|
||||
.etc(parameter.getEtc())
|
||||
.guestKinds(parameter.getGuestKinds())
|
||||
.build();
|
||||
|
||||
sellInfoRepository.save(sellInfo);
|
||||
|
||||
@@ -123,9 +123,17 @@ public class SellInfoController extends BaseController {
|
||||
date1.set(yyyy, MM, dd);
|
||||
cell.setCellValue(date1);
|
||||
cell.setCellStyle(formatCs);
|
||||
}else if(myTitle[c].equals("정산금액") || myTitle[c].equals("세금") || myTitle[c].equals("실마진")) {
|
||||
//현금수납 or 유선상품권
|
||||
//
|
||||
}else if(myTitle[c].equals("정산금액") || myTitle[c].equals("세금") || myTitle[c].equals("실마진") || myTitle[c].equals("채권발생액") || myTitle[c].equals("현금수납 or 유선상품권") || myTitle[c].equals("중간마진") || myTitle[c].equals("P/B")
|
||||
|| myTitle[c].equals("액면R/B") || myTitle[c].equals("추가R/B") || myTitle[c].equals("고객현금") || myTitle[c].equals("차감") || myTitle[c].equals("유심비") || myTitle[c].equals("수수료") || myTitle[c].equals("출고가")
|
||||
|| myTitle[c].equals("공시지원금") || myTitle[c].equals("할부원금") || myTitle[c].equals("실채권입금액") ) {
|
||||
Long money = Long.parseLong(dataArry.getJSONObject(r).getString(myTitle[c]).replaceAll(",", ""));
|
||||
if(money == 0) {
|
||||
cell.setCellValue('0');
|
||||
}else {
|
||||
cell.setCellValue(money);
|
||||
}
|
||||
}else {
|
||||
cell.setCellValue(dataArry.getJSONObject(r).getString(myTitle[c]));
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
spring:
|
||||
datasource:
|
||||
driver-class-name: org.mariadb.jdbc.Driver
|
||||
url: jdbc:mariadb://119.70.122.80:13306/erp?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul
|
||||
url: jdbc:mariadb://192.168.219.121:13306/erp?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul
|
||||
username: kuhan
|
||||
password: Gnfkqhsh1!
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ let appVue = new Vue({
|
||||
insertType: 'change',
|
||||
usim: '',
|
||||
formula: '',
|
||||
addFormula: '',
|
||||
faceValueRebate: '',
|
||||
guestMoney: '',
|
||||
introductionPay: '',
|
||||
@@ -42,7 +43,11 @@ let appVue = new Vue({
|
||||
disclosureSubsidy: '',
|
||||
disclosureSubsidyYn: false,
|
||||
addRebate: '',
|
||||
cashRebate: ''
|
||||
cashRebate: '',
|
||||
etc: '',
|
||||
guestKind: '',
|
||||
deductionFormula: '',
|
||||
deduction: ''
|
||||
},
|
||||
mounted: function () {
|
||||
this.init();
|
||||
@@ -100,18 +105,12 @@ let appVue = new Vue({
|
||||
alert('생일을 입력하세요');
|
||||
return false;
|
||||
}
|
||||
if($this.phoneNumber== ''){
|
||||
alert('핸드폰번호를 입력하세요');
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this.mainRatePlan== ''){
|
||||
alert('요금제를 입력하세요');
|
||||
return false;
|
||||
}
|
||||
if($this.phoneId== ''){
|
||||
alert('핸드폰을 선택하세요');
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this.formula== ''){
|
||||
alert('리베이트 계산식을 입력하세요');
|
||||
return false;
|
||||
@@ -120,20 +119,31 @@ let appVue = new Vue({
|
||||
alert('액면가를 입력하세요');
|
||||
return false;
|
||||
}
|
||||
if($this.insertType != 'other'){
|
||||
if($this.cashRebate== '' || $this.cashRebate== 0){
|
||||
alert('현금수납를 입력하세요');
|
||||
return false;
|
||||
}
|
||||
if($this.phoneNumber== ''){
|
||||
alert('핸드폰번호를 입력하세요');
|
||||
return false;
|
||||
}
|
||||
if($this.phoneId== ''){
|
||||
alert('핸드폰을 선택하세요');
|
||||
return false;
|
||||
}
|
||||
if($this.factoryPrice== '' ||$this.factoryPrice== 0){
|
||||
alert('출고가를 입력하세요');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if($this.disclosureSubsidy != '' && $this.disclosureSubsidy != 0 && $this.disclosureSubsidy != '0'){
|
||||
$this.disclosureSubsidyYn = true;
|
||||
}
|
||||
let index = $('#businessPartner').find(':selected').index();
|
||||
//시리얼 입력 여부
|
||||
if($this.info.businessPartnerList[index].serialYn){
|
||||
if($this.serialNumber == ''){
|
||||
let confirmAction = confirm("시리얼 번호 필수인데 그냥 입력 하시겠습니까?");
|
||||
if (confirmAction) {
|
||||
|
||||
@@ -141,13 +151,22 @@ let appVue = new Vue({
|
||||
return false;
|
||||
}
|
||||
}
|
||||
debugger;
|
||||
}
|
||||
let realFormula = $this.formula;
|
||||
if($this.addRebate != '' && $this.addRebate != 0 && $this.addRebate != '0'){
|
||||
realFormula = realFormula + '+' + $this.addFormula;
|
||||
}
|
||||
if($this.deduction != '' && $this.deduction != 0 && $this.deduction != '0'){
|
||||
realFormula = realFormula + $this.deductionFormula;
|
||||
}
|
||||
|
||||
let parameter = {
|
||||
openingDate : $this.openingDate,
|
||||
birthday : $this.birthday,
|
||||
pbirthday : $this.pbirthday,
|
||||
payBackDay : $this.payBackDay,
|
||||
|
||||
|
||||
usim : $this.usim.replaceAll(',', ''),
|
||||
faceValueRebate : $this.faceValueRebate.replaceAll(',', ''),
|
||||
guestMoney : $this.guestMoney.replaceAll(',', ''),
|
||||
@@ -157,42 +176,45 @@ let appVue = new Vue({
|
||||
disclosureSubsidy : $this.disclosureSubsidy.replaceAll(',', ''),
|
||||
cashRebate: $this.cashRebate.replaceAll(',', ''),
|
||||
addRebate: $this.addRebate.replaceAll(',', ''),
|
||||
deduction : $this.deduction.replaceAll(',', '').replaceAll('-', ''),
|
||||
|
||||
businessPartner : $this.businessPartner,
|
||||
mobileCarrier : $this.mobileCarrier,
|
||||
name : $this.name,
|
||||
phoneNumber : $this.phoneNumber,
|
||||
phoneNumber : $this.phoneNumber.replaceAll('-', ''),
|
||||
pname : $this.pname,
|
||||
pphoneNumber : $this.pphoneNumber,
|
||||
pphoneNumber : $this.pphoneNumber.replaceAll('-', ''),
|
||||
mainRatePlan : $this.mainRatePlan,
|
||||
subRatePlan : $this.subRatePlan.toString(),
|
||||
serialNumber : $this.serialNumber,
|
||||
installment : $this.installment,
|
||||
phoneId : $this.phoneId,
|
||||
insertType : $this.insertType,
|
||||
formula : $this.formula,
|
||||
formula : realFormula,
|
||||
payBackYn : $this.payBackYn,
|
||||
payBackBank : $this.payBackBank,
|
||||
payBackNumber : $this.payBackNumber,
|
||||
disclosureSubsidyYn : $this.disclosureSubsidyYn
|
||||
disclosureSubsidyYn : $this.disclosureSubsidyYn,
|
||||
etc : $this.etc,
|
||||
guestKind : $this.guestKind
|
||||
}
|
||||
|
||||
console.log(parameter);
|
||||
/*nscompany.mobile.api.sell.add(parameter, function (success, message, data) {
|
||||
nscompany.mobile.api.sell.add(parameter, function (success, message, data) {
|
||||
if (!success) {
|
||||
alert(message);
|
||||
return false;
|
||||
}
|
||||
alert("저장 되었습니다.");
|
||||
location.reload();
|
||||
});*/
|
||||
});
|
||||
},
|
||||
openingDayBlur: function (){
|
||||
let $this = this;
|
||||
|
||||
//개통일 date로 변환
|
||||
if($this.openingDate.length == 4){
|
||||
$this.openingDate = '2023' + $this.openingDate;
|
||||
$this.openingDate = '2026' + $this.openingDate;
|
||||
}
|
||||
else if($this.openingDate.length == 6){
|
||||
$this.openingDate = '20' + $this.openingDate;
|
||||
@@ -203,7 +225,7 @@ let appVue = new Vue({
|
||||
|
||||
//개통일 date로 변환
|
||||
if($this.payBackDay.length == 4){
|
||||
$this.payBackDay = '2023' + $this.payBackDay;
|
||||
$this.payBackDay = '2026' + $this.payBackDay;
|
||||
}
|
||||
if($this.payBackDay.length == 6){
|
||||
$this.payBackDay = '20' + $this.payBackDay;
|
||||
@@ -232,6 +254,26 @@ let appVue = new Vue({
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
phoneNumberBlur: function (){
|
||||
let $this = this;
|
||||
|
||||
if($this.phoneNumber.length == 11){
|
||||
let numbers = $this.phoneNumber.replace(/[^0-9]/g, "")
|
||||
.replace(/^(\d{3})(\d{4})(\d{4})$/, `$1-$2-$3`);
|
||||
$this.phoneNumber = numbers;
|
||||
}
|
||||
},
|
||||
pPhoneNumberBlur: function (){
|
||||
let $this = this;
|
||||
|
||||
if($this.pphoneNumber.length == 11){
|
||||
let numbers = $this.pphoneNumber.replace(/[^0-9]/g, "")
|
||||
.replace(/^(\d{3})(\d{4})(\d{4})$/, `$1-$2-$3`);
|
||||
$this.pphoneNumber = numbers;
|
||||
}
|
||||
},
|
||||
|
||||
birthdayChange: function (){
|
||||
let $this = this;
|
||||
if($this.birthday.length != 8){ //생일 입력 안됨
|
||||
@@ -301,11 +343,17 @@ let appVue = new Vue({
|
||||
}));
|
||||
$('#subRatePlan').selectpicker('refresh');
|
||||
|
||||
//시리얼 입력 여부
|
||||
if($this.info.businessPartnerList[index].serialYn){
|
||||
$("#serialNumber").removeAttr('disabled');
|
||||
}else{
|
||||
$("#serialNumber").attr('disabled', 'disabled');
|
||||
}
|
||||
},
|
||||
formulaChange: function(e){
|
||||
let $this = this;
|
||||
var result = 0;
|
||||
var calc = e.target.value; //-1-2-3 = -6
|
||||
var calc = $this.formula;//+'+'+$this.addFormula + $this.deductionFormula; //-1-2-3 = -6
|
||||
var plusList = calc.split('+');//-1-2-3
|
||||
|
||||
for(var i=0;i<plusList.length;i++){
|
||||
@@ -327,6 +375,59 @@ let appVue = new Vue({
|
||||
var value = result*10000;
|
||||
$this.faceValueRebate = moneyText(value.toString());
|
||||
},
|
||||
addFormulaChange: function(e){
|
||||
let $this = this;
|
||||
var result = 0;
|
||||
var calc = $this.addFormula; //-1-2-3 = -6
|
||||
var plusList = calc.split('+');//-1-2-3
|
||||
|
||||
for(var i=0;i<plusList.length;i++){
|
||||
if(plusList[i].indexOf('-') == -1){ //only 숫자
|
||||
result += Number(plusList[i]);
|
||||
}else{
|
||||
var subList = plusList[i].split('-');//-1-2-3
|
||||
for(var j=0;j<subList.length;j++){
|
||||
if(subList[j] == '' && j == 0){
|
||||
|
||||
}else if(subList[j] != '' && j == 0){
|
||||
result +=Number(subList[j]);
|
||||
}else{
|
||||
result -=Number(subList[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var value = result*10000;
|
||||
$this.addRebate = moneyText(value.toString());
|
||||
$this.formulaChange();
|
||||
},
|
||||
|
||||
deductionFormulaChange: function(e){
|
||||
let $this = this;
|
||||
var result = 0;
|
||||
var calc = $this.deductionFormula; //-1-2-3 = -6
|
||||
var plusList = calc.split('+');//-1-2-3
|
||||
|
||||
for(var i=0;i<plusList.length;i++){
|
||||
if(plusList[i].indexOf('-') == -1){ //only 숫자
|
||||
result += Number(plusList[i]);
|
||||
}else{
|
||||
var subList = plusList[i].split('-');//-1-2-3
|
||||
for(var j=0;j<subList.length;j++){
|
||||
if(subList[j] == '' && j == 0){
|
||||
|
||||
}else if(subList[j] != '' && j == 0){
|
||||
result +=Number(subList[j]);
|
||||
}else{
|
||||
result -=Number(subList[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var value = result*10000;
|
||||
$this.deduction = moneyText(value.toString());
|
||||
$this.formulaChange();
|
||||
},
|
||||
callMoneyText: function(value){
|
||||
return moneyText(value);
|
||||
},
|
||||
|
||||
@@ -75,11 +75,16 @@ let appVue = new Vue({
|
||||
},
|
||||
getSettlementAmount: function(x){
|
||||
//(액면리베이트+고객현금)-(현금수납+유심비+수수료) = 정산금액
|
||||
|
||||
let $this = this;
|
||||
let fees = $this.getFees(x);
|
||||
var settlementAmount = (x.faceValueRebate+x.guestMoney) - (x.cashRebate+x.usim+fees);
|
||||
var settlementAmount = (x.faceValueRebate+x.guestMoney+x.addRebate) - (x.cashRebate+x.usim+fees);
|
||||
|
||||
if(x.name == '김주호'){
|
||||
return settlementAmount.toLocaleString('ko-KR');
|
||||
}else{
|
||||
return moneyText(settlementAmount,'Y');
|
||||
}
|
||||
},
|
||||
getTex: function(x){
|
||||
//정산금액 * 0.1 = 세금
|
||||
@@ -87,6 +92,14 @@ let appVue = new Vue({
|
||||
var settlementAmount = Number($this.getSettlementAmount(x).replaceAll(',',''));
|
||||
var tex = settlementAmount*0.1;
|
||||
|
||||
if((0 < Number(tex) && Number(tex) < 999)){
|
||||
if(isNaN(Number(tex))) { //NaN인지 판별
|
||||
return 0;
|
||||
}else { //NaN이 아닌 경우
|
||||
const numberTex = Number(tex).toLocaleString('ko-KR');
|
||||
return numberTex;
|
||||
}
|
||||
}
|
||||
return moneyText(tex,'Y');
|
||||
},
|
||||
getMiddleMargin: function(x){
|
||||
@@ -94,8 +107,14 @@ let appVue = new Vue({
|
||||
let $this = this;
|
||||
var settlementAmount = Number($this.getSettlementAmount(x).replaceAll(',',''));
|
||||
var middleMargin = (settlementAmount - (x.payBack+x.introductionPay+x.usim));
|
||||
|
||||
if(x.name == '정연미'){
|
||||
debugger;
|
||||
}
|
||||
if(x.name == '김주호'){
|
||||
return middleMargin.toLocaleString('ko-KR');
|
||||
}else{
|
||||
return moneyText(middleMargin,'Y');
|
||||
}
|
||||
},
|
||||
getRealMargin: function(x){
|
||||
//(중간마진-세금)+세금키핑 = 실마진 //세금키핑없음
|
||||
@@ -103,25 +122,31 @@ let appVue = new Vue({
|
||||
var middleMargin = Number($this.getMiddleMargin(x).replaceAll(',',''));
|
||||
var tex = Number($this.getTex(x).replaceAll(',',''));
|
||||
var realMargin = (middleMargin-tex);
|
||||
|
||||
if(x.name == '김주호'){
|
||||
return realMargin.toLocaleString('ko-KR');
|
||||
}else{
|
||||
return moneyText(realMargin,'Y');
|
||||
}
|
||||
},
|
||||
callMoneyText: function(value){
|
||||
return moneyText(value,'Y');
|
||||
},
|
||||
getBondIssuanceAmount: function(x){
|
||||
//(액면리베이트+추가리베이트+유심)-(현금수납+수수료+차감) = 채권발생액 //차감없음
|
||||
//(액면리베이트+추가리베이트+유심)-(현금수납+수수료+차감) = 채권발생액
|
||||
let $this = this;
|
||||
let fees = $this.getFees(x);
|
||||
|
||||
if(x.name=='하지영')
|
||||
debugger;
|
||||
var settlementAmount = Number($this.getSettlementAmount(x).replaceAll(',',''));
|
||||
var bondIssuanceAmount = ((settlementAmount + x.addRebate + x.usim)-(x.guestMoney+fees));
|
||||
var bondIssuanceAmount = ((settlementAmount + x.usim)-(x.guestMoney+fees+x.deduction));
|
||||
|
||||
return moneyText(bondIssuanceAmount,'Y');
|
||||
},
|
||||
getRealBondIssuanceAmount: function(x){
|
||||
//채권발생액-유심비 = 실체권발생액
|
||||
let $this = this;
|
||||
if(x.name == '김경빈')debugger;
|
||||
var bondIssuanceAmount = Number($this.getBondIssuanceAmount(x).replaceAll(',',''));
|
||||
var realBondIssuanceAmount = (bondIssuanceAmount-x.usim);
|
||||
|
||||
@@ -137,7 +162,7 @@ let appVue = new Vue({
|
||||
let $this = this;
|
||||
|
||||
if($this.searchDate.length == 2){
|
||||
$this.searchDate = '2023' + $this.searchDate;
|
||||
$this.searchDate = '2026' + $this.searchDate;
|
||||
}
|
||||
else if($this.searchDate.length == 4){
|
||||
$this.searchDate = '20' + $this.searchDate;
|
||||
@@ -189,7 +214,7 @@ let appVue = new Vue({
|
||||
var myTable = $("#amountTable");
|
||||
var rows = $("table > tbody > tr").length;
|
||||
var columns = $("table > thead > tr > th").length;
|
||||
if (rows < 2) {
|
||||
if (rows < 1) {
|
||||
alert("엑셀파일로 저장할 데이터가 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -3349,7 +3349,7 @@
|
||||
that.$menuInner.find('.active a').trigger('click', true); // retain active class
|
||||
|
||||
$this.trigger('focus');
|
||||
debugger;
|
||||
|
||||
if (!that.options.liveSearch) {
|
||||
// Prevent screen from scrolling if the user hits the spacebar
|
||||
e.preventDefault();
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<div class="row d-flex justify-content-center">
|
||||
<label for="formula" class="col-sm-2 col-form-label mb-3 pt-3">계산식</label>
|
||||
<div class="col-sm-3 mb-3 pt-3">
|
||||
<input type="text" class="form-control" id="formula" value="1+2+4+5+6-2" v-model="formula" @input="formulaChange" tabindex="4">
|
||||
<input type="text" class="form-control" id="formula" value="1+2+4+5+6-2" v-model="formula" @input="formulaChange" tabindex="3">
|
||||
</div>
|
||||
<div class="vr p-0 m-0"></div>
|
||||
<label for="faceValueRebate" class="col-sm-2 col-form-label mb-3 pt-3">R(액면R/B)</label>
|
||||
@@ -54,6 +54,28 @@
|
||||
<input type="text" class="form-control" id="faceValueRebate" v-model="faceValueRebate" disabled="disabled" value="160000">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row d-flex justify-content-center">
|
||||
<label for="formula" class="col-sm-2 col-form-label mb-3 pt-3">추가 계산식</label>
|
||||
<div class="col-sm-3 mb-3 pt-3">
|
||||
<input type="text" class="form-control" id="addFormula" value="1+2+4+5+6-2" v-model="addFormula" @input="addFormulaChange" tabindex="4">
|
||||
</div>
|
||||
<div class="vr p-0 m-0"></div>
|
||||
<label for="faceValueRebate" class="col-sm-2 col-form-label mb-3 pt-3">추가R/B</label>
|
||||
<div class="col-sm-3 mb-3 pt-3">
|
||||
<input type="text" class="form-control" id="addRebate" v-model="addRebate" value="130000" disabled="disabled">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row d-flex justify-content-center">
|
||||
<label for="formula" class="col-sm-2 col-form-label mb-3 pt-3">차감 계산식</label>
|
||||
<div class="col-sm-3 mb-3 pt-3">
|
||||
<input type="text" class="form-control" id="deductionFormula" value="1+2+4+5+6-2" v-model="deductionFormula" @input="deductionFormulaChange" tabindex="4">
|
||||
</div>
|
||||
<div class="vr p-0 m-0"></div>
|
||||
<label for="faceValueRebate" class="col-sm-2 col-form-label mb-3 pt-3">차감</label>
|
||||
<div class="col-sm-3 mb-3 pt-3">
|
||||
<input type="text" class="form-control" id="deduction" v-model="deduction" value="130000" disabled="disabled">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row d-flex justify-content-center">
|
||||
<label for="cashRebate" class="col-sm-2 col-form-label mb-3">P(현금수납 or 상품권)</label>
|
||||
<div class="col-sm-3 mb-3">
|
||||
@@ -78,7 +100,18 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
※ 계산식엔 상품권 빼고 작성
|
||||
<br>
|
||||
※ 상품권은 추가 계산식, P(현금수납 or 상품권)에 동일하게 작성
|
||||
<br>
|
||||
※ 현금 페이백은 페이백(P/B)에 작성
|
||||
<br>
|
||||
※ 가이드 = P(현금수납 or 상품권)
|
||||
<br>
|
||||
※ 할부 P 계산식
|
||||
출고가 - 공시지원금 - 전환지원금 = 단말기 구매가
|
||||
-> 단말기 구매가 - 할부금 + 유통망 추가 지원금
|
||||
<br>
|
||||
<h5 class="mt-3 mb-3">고객정보 등록</h5>
|
||||
<div class="border border-2 mb-3">
|
||||
<div class="row d-flex justify-content-center">
|
||||
@@ -108,12 +141,12 @@
|
||||
<div class="row d-flex justify-content-center">
|
||||
<label for="phoneNumber" class="col-sm-2 col-form-label mb-3">핸드폰번호</label>
|
||||
<div class="col-sm-3 mb-3">
|
||||
<input type="text" class="form-control" id="phoneNumber" v-model="phoneNumber" value="" tabindex="11">
|
||||
<input type="text" class="form-control" id="phoneNumber" v-model="phoneNumber" value="" tabindex="11" @blur="phoneNumberBlur">
|
||||
</div>
|
||||
<div class="vr p-0"></div>
|
||||
<label for="pphoneNumber" class="col-sm-2 col-form-label mb-3">법대핸드폰번호</label>
|
||||
<div class="col-sm-3 mb-3">
|
||||
<input type="text" class="form-control" id="pphoneNumber" v-model="pphoneNumber" value="" tabindex="14" disabled="disabled">
|
||||
<input type="text" class="form-control" id="pphoneNumber" v-model="pphoneNumber" value="" tabindex="14" disabled="disabled" @blur="pPhoneNumberBlur">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -186,12 +219,16 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row d-flex justify-content-center">
|
||||
<button type="button" class="btn btn-primary btn-round mb-3 col-sm-2" @click="save" tabindex="23">저장</button>
|
||||
</div>
|
||||
|
||||
<h5 class="mt-3 mb-3">기타</h5>
|
||||
<div class="border border-2 mb-3">
|
||||
<div class="row d-flex justify-content-center">
|
||||
<label for="addRebate" class="col-sm-2 col-form-label mb-3 pt-3">추가R/B</label>
|
||||
<label for="" class="col-sm-2 col-form-label mb-3 pt-3">공란</label>
|
||||
<div class="col-sm-3 mb-3 pt-3">
|
||||
<input type="text" class="form-control" id="addRebate" v-model="addRebate" value="130000" @blur="addRebate = callMoneyText(addRebate)" tabindex="23">
|
||||
<input type="text" class="form-control" id="" value="" disabled="disabled">
|
||||
</div>
|
||||
<div class="vr p-0 m-0"></div>
|
||||
<label for="usim" class="col-sm-2 col-form-label mb-3 pt-3">유심비</label>
|
||||
@@ -200,7 +237,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
※ 워치 는 유심비 0원
|
||||
|
||||
<div class="row d-flex justify-content-center">
|
||||
<label for="payBackDay" class="col-sm-2 col-form-label mb-3">페이백 지급예정일자</label>
|
||||
@@ -250,10 +287,22 @@
|
||||
<input type="text" class="form-control" disabled id="payBackNumber" v-model="payBackNumber" value="111999111222333" tabindex="28">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row d-flex justify-content-center">
|
||||
<label for="etc" class="col-sm-2 col-form-label mb-3">기타</label>
|
||||
<div class="col-sm-3 mb-3">
|
||||
<input type="text" class="form-control" id="etc" v-model="etc" value="" tabindex="29">
|
||||
</div>
|
||||
<div class="vr p-0 m-0"></div>
|
||||
<label for="guestKind" class="col-sm-2 col-form-label mb-3">고객종류</label>
|
||||
<div class="col-sm-3 mb-3">
|
||||
<input type="text" class="form-control" id="guestKind" v-model="guestKind" value="" tabindex="30">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row d-flex justify-content-center">
|
||||
<button type="button" class="btn btn-primary btn-round mb-3 col-sm-2" @click="save" tabindex="29">저장</button>
|
||||
<button type="button" class="btn btn-primary btn-round mb-3 col-sm-2" @click="save" tabindex="31">저장</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -70,8 +70,10 @@
|
||||
<th scope="col">액면R/B</th>
|
||||
<th scope="col">추가R/B</th>
|
||||
<th scope="col">고객현금</th>
|
||||
|
||||
<th scope="col">차감</th>
|
||||
<th scope="col">차감내용</th>
|
||||
|
||||
<th scope="col">현금수납 or 유선상품권</th>
|
||||
<th scope="col">유심비</th>
|
||||
<th scope="col">수수료</th>
|
||||
@@ -126,8 +128,8 @@
|
||||
<td>{{callMoneyText(x.faceValueRebate)}}</td>
|
||||
<td>{{callMoneyText(x.addRebate)}}</td>
|
||||
<td>{{callMoneyText(x.guestMoney)}}</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
<td>{{callMoneyText(x.deduction)}}</td> <!-- 차감 -->
|
||||
<td>0</td> <!-- 차감 내용 -->
|
||||
<td>{{callMoneyText(x.cashRebate)}}</td>
|
||||
<td>{{callMoneyText(x.usim)}}</td>
|
||||
<td>{{getFees(x)}}</td>
|
||||
@@ -148,7 +150,7 @@
|
||||
<td>{{getinstallmentPrincipal(x)}}</td>
|
||||
<td>{{x.formula}}</td>
|
||||
<td>{{x.payBackBank}} {{x.payBackBankNumber}}</td>
|
||||
<td></td>
|
||||
<td>{{x.etc}}</td>
|
||||
<td>{{getRealBondIssuanceAmount(x)}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
Reference in New Issue
Block a user