diff --git a/src/entities/transaction/model/types.ts b/src/entities/transaction/model/types.ts
index 1f75622..ddf888a 100644
--- a/src/entities/transaction/model/types.ts
+++ b/src/entities/transaction/model/types.ts
@@ -534,10 +534,14 @@ export interface AllTransactionCancelParams{
bankCode: string;
accountNo: string;
accountHolder: string;
- supplyAmount: number;
- goodsVatAmount: number;
- taxFreeAmount: number;
- serviceAmount: number;
+ supplyAmount: number | null;
+ goodsVatAmount: number | null;
+ taxFreeAmount: number | null;
+ serviceAmount: number | null;
+ clientIp?: string;
+ partCancelCl: boolean;
+ isNpg: boolean;
+ serviceCode: string;
};
export interface AllTransactionCancelResponse {
@@ -547,15 +551,20 @@ export interface AllTransactionCancelInfoParams {
tid: string;
};
export interface AllTransactionCancelInfoResponse {
- remainAmount: number;
- partCancelCl: boolean;
- isCompoundTax: boolean;
- supplyAmount: number | null;
+ debtPreventionCancelDisplayInfo?: DebtPreventionCancelDisplayInfo | null;
+ debtPreventionCancelRequestInfo?: DebtPreventionCancelRequestInfo | null;
goodsVat: number | null;
- taxFreeAmount: number | null;
+ isCompoundTax: boolean;
+ isConditionalVatAutoCalcMerchant: boolean;
+ isNpg: boolean;
+ isVatAutoCalcMerchant: boolean;
+ isVatDisplayed: boolean;
+ partCancelCl: boolean;
+ remainAmount: number;
serviceAmount: number | null;
- debtPreventionCancelDisplayInfo: DebtPreventionCancelDisplayInfo | null;
- debtPreventionCancelRequestInfo: DebtPreventionCancelRequestInfo | null;
+ supplyAmount: number | null;
+ taxFreeAmount: number | null;
+ vatAutoCalcSummary: number;
};
export interface DebtPreventionCancelDisplayInfo {
isCancel: boolean;
diff --git a/src/entities/transaction/ui/all-transaction-all-cancel.tsx b/src/entities/transaction/ui/all-transaction-all-cancel.tsx
index b5989e5..04a3af4 100644
--- a/src/entities/transaction/ui/all-transaction-all-cancel.tsx
+++ b/src/entities/transaction/ui/all-transaction-all-cancel.tsx
@@ -5,27 +5,57 @@ import { AllTransactionCancelSectionBankGroup } from './section/all-transaction-
export interface AllTransactionAllCancelProps extends AllTransactionCancelInfoResponse {
serviceCode: string;
+ cancelPassword: string;
+ setCancelPassword: (cancelPassword: string) => void;
+ bankCode?: string;
+ setBankCode?: (BankCode: string) => void;
+ accountNo?: string;
+ setAccountNo?: (accountNo: string) => void;
+ accountHolder?: string;
+ setAccountHolder?: (accountHolder: string) => void;
};
export const AllTransactionAllCancel = ({
serviceCode,
- remainAmount,
- partCancelCl,
- isCompoundTax,
- supplyAmount,
- goodsVat,
- taxFreeAmount,
- serviceAmount,
debtPreventionCancelDisplayInfo,
- debtPreventionCancelRequestInfo
+ debtPreventionCancelRequestInfo,
+ goodsVat,
+ isCompoundTax,
+ isConditionalVatAutoCalcMerchant,
+ isNpg,
+ isVatAutoCalcMerchant,
+ isVatDisplayed,
+ partCancelCl,
+ remainAmount,
+ serviceAmount,
+ supplyAmount,
+ taxFreeAmount,
+ vatAutoCalcSummary,
+ cancelPassword,
+ setCancelPassword,
+ bankCode,
+ setBankCode,
+ accountNo,
+ setAccountNo,
+ accountHolder,
+ setAccountHolder
}: AllTransactionAllCancelProps) => {
- console.log(serviceCode)
return (
<>
-
+
{ serviceCode === '03' &&
-
+
}
>
diff --git a/src/entities/transaction/ui/all-transaction-part-cancel.tsx b/src/entities/transaction/ui/all-transaction-part-cancel.tsx
index b71b29c..ffcced6 100644
--- a/src/entities/transaction/ui/all-transaction-part-cancel.tsx
+++ b/src/entities/transaction/ui/all-transaction-part-cancel.tsx
@@ -3,22 +3,44 @@ import { AllTransactionCancelInfoResponse } from '../model/types';
import { NumericFormat } from 'react-number-format';
import { AllTransactionCancelSectionPasswordGroup } from './section/all-transaction-cancel-section-password-group';
import { AllTransactionCancelSectionBankGroup } from './section/all-transaction-cancel-section-bank-group';
+import { BankCode } from '@/shared/@types/banking-code';
export interface AllTransactionPartCancelProps extends AllTransactionCancelInfoResponse {
serviceCode: string;
+ cancelPassword: string;
+ setCancelPassword: (cancelPassword: string) => void;
+ bankCode?: string;
+ setBankCode?: (BankCode: string) => void;
+ accountNo?: string;
+ setAccountNo?: (accountNo: string) => void;
+ accountHolder?: string;
+ setAccountHolder?: (accountHolder: string) => void;
};
export const AllTransactionPartCancel = ({
serviceCode,
- remainAmount,
- partCancelCl,
- isCompoundTax,
- supplyAmount,
- goodsVat,
- taxFreeAmount,
- serviceAmount,
debtPreventionCancelDisplayInfo,
- debtPreventionCancelRequestInfo
+ debtPreventionCancelRequestInfo,
+ goodsVat,
+ isCompoundTax,
+ isConditionalVatAutoCalcMerchant,
+ isNpg,
+ isVatAutoCalcMerchant,
+ isVatDisplayed,
+ partCancelCl,
+ remainAmount,
+ serviceAmount,
+ supplyAmount,
+ taxFreeAmount,
+ vatAutoCalcSummary,
+ cancelPassword,
+ setCancelPassword,
+ bankCode,
+ setBankCode,
+ accountNo,
+ setAccountNo,
+ accountHolder,
+ setAccountHolder
}: AllTransactionPartCancelProps) => {
@@ -114,9 +136,19 @@ export const AllTransactionPartCancel = ({
}
-
+
{ serviceCode === '03' &&
-
+
}
>
diff --git a/src/entities/transaction/ui/section/all-transaction-cancel-section-bank-group.tsx b/src/entities/transaction/ui/section/all-transaction-cancel-section-bank-group.tsx
index f0a6b10..2c3ed1b 100644
--- a/src/entities/transaction/ui/section/all-transaction-cancel-section-bank-group.tsx
+++ b/src/entities/transaction/ui/section/all-transaction-cancel-section-bank-group.tsx
@@ -1,12 +1,47 @@
-export const AllTransactionCancelSectionBankGroup = () => {
+import { ChangeEvent, useState } from "react";
+
+export interface AllTransactionCancelSectionBankGroupProps {
+ bankCode?: string;
+ setBankCode?: (BankCode: string) => void;
+ accountNo?: string;
+ setAccountNo?: (accountNo: string) => void;
+ accountHolder?: string;
+ setAccountHolder?: (accountHolder: string) => void;
+};
+export const AllTransactionCancelSectionBankGroup = ({
+ bankCode,
+ setBankCode,
+ accountNo,
+ setAccountNo,
+ accountHolder,
+ setAccountHolder
+}: AllTransactionCancelSectionBankGroupProps ) => {
+
+ const [newBankCode, setNewBankCode] = useState(bankCode);
+ const [newAccountNo, setNewAccountNo] = useState(accountNo);
+ const [newAccountHolder, setNewAccountHolder] = useState(accountHolder);
+
+ const onChangeNewBankCode = (value: string) => {
+ setNewBankCode(value);
+ };
+ const onChangeNewAccountNo = (value: string) => {
+ setNewAccountNo(value);
+ };
+ const onChangeNewAccountHolder = (value: string) => {
+ setNewAccountHolder(value);
+ };
return (
<>
@@ -30,7 +66,8 @@ export const AllTransactionCancelSectionBankGroup = () => {
) => onChangeNewAccountHolder(e.target.value) }
/>
diff --git a/src/entities/transaction/ui/section/all-transaction-cancel-section-password-group.tsx b/src/entities/transaction/ui/section/all-transaction-cancel-section-password-group.tsx
index dfadefa..a109488 100644
--- a/src/entities/transaction/ui/section/all-transaction-cancel-section-password-group.tsx
+++ b/src/entities/transaction/ui/section/all-transaction-cancel-section-password-group.tsx
@@ -1,5 +1,20 @@
-export const AllTransactionCancelSectionPasswordGroup = () => {
+import { ChangeEvent, useState } from "react";
+export interface AllTransactionCancelSectionPasswordGroupProps {
+ cancelPassword: string;
+ setCancelPassword: (cancelPassword: string) => void;
+};
+
+export const AllTransactionCancelSectionPasswordGroup = ({
+ cancelPassword,
+ setCancelPassword
+}: AllTransactionCancelSectionPasswordGroupProps) => {
+
+ const [newCancelPassword, setNewCancelPassword] = useState(cancelPassword);
+
+ const onChangeNewCancelPassword = (value: string) => {
+ setCancelPassword(value);
+ };
return (
<>
@@ -8,11 +23,14 @@ export const AllTransactionCancelSectionPasswordGroup = () => {
) => onChangeNewCancelPassword(e.target.value) }
/>
+ {/*
비밀번호 불일치
+ */}
>
);
}
\ No newline at end of file
diff --git a/src/pages/transaction/all-transaction/cancel-page.tsx b/src/pages/transaction/all-transaction/cancel-page.tsx
index 161268d..96b3cfc 100644
--- a/src/pages/transaction/all-transaction/cancel-page.tsx
+++ b/src/pages/transaction/all-transaction/cancel-page.tsx
@@ -20,9 +20,11 @@ import {
} from '@/widgets/sub-layout/use-sub-layout';
import { useAllTransactioCancleInfoMutation } from '@/entities/transaction/api/use-all-transaction-cancel-info-mutation';
import { NumericFormat } from 'react-number-format';
+import { useStore } from '@/shared/model/store';
export const AllTransactionCancelPage = () => {
const location = useLocation();
+ const userInfo = useStore.getState().UserStore.userInfo;
const tid = location.state.tid;
const serviceCode = location.state.serviceCode;
@@ -32,16 +34,26 @@ export const AllTransactionCancelPage = () => {
// all or part
const [tabAction, setTabAction] = useState(CancelTabKeys.All);
- const [remainAmount, setRemainAmount] = useState(0);
- const [totalCancelAmount, setTotalCancelAmount] = useState(0);
- const [partCancelCl, setPartCancelCl] = useState(false);
- const [isCompoundTax, setIsCompoundTax] = useState(false);
- const [supplyAmount, setSupplyAmount] = useState(null);
+ const [debtPreventionCancelDisplayInfo, setDebtPreventionCancelDisplayInfo] = useState(null);
+ const [debtPreventionCancelRequestInfo, setDebtPreventionCancelRequestInfo] = useState(null);
const [goodsVat, setGoodsVat] = useState(null);
- const [taxFreeAmount, setTaxFreeAmount] = useState(null);
+ const [isCompoundTax, setIsCompoundTax] = useState(false);
+ const [isConditionalVatAutoCalcMerchant, setIsConditionalVatAutoCalcMerchant] = useState(false);
+ const [isNpg, setIsNpg] = useState(false);
+ const [isVatAutoCalcMerchant, setIsVatAutoCalcMerchant] = useState(false);
+ const [isVatDisplayed, setIsVatDisplayed] = useState(false);
+ const [partCancelCl, setPartCancelCl] = useState(false);
+ const [remainAmount, setRemainAmount] = useState(0);
const [serviceAmount, setServiceAmount] = useState(null);
- const [debtPreventionCancelDisplayInfo, setDebtPreventionCancelDisplayInfo] = useState(null);
- const [debtPreventionCancelRequestInfo, setDebtPreventionCancelRequestInfo] = useState(null);
+ const [supplyAmount, setSupplyAmount] = useState(null);
+ const [taxFreeAmount, setTaxFreeAmount] = useState(null);
+ const [vatAutoCalcSummary, setVatAutoCalcSummary] = useState(0);
+ const [totalCancelAmount, setTotalCancelAmount] = useState(0);
+ const [cancelPassword, setCancelPassword] = useState('');
+
+ const [bankCode, setBankCode] = useState('');
+ const [accountNo, setAccountNo] = useState('');
+ const [accountHolder, setAccountHolder] = useState('');
const { mutateAsync: transactionCancel } = useAllTransactioCancleMutation();
const { mutateAsync: allTransactionCancelInfo } = useAllTransactioCancleInfoMutation();
@@ -52,16 +64,21 @@ export const AllTransactionCancelPage = () => {
tid: tid
};
allTransactionCancelInfo(params).then((rs: AllTransactionCancelInfoResponse) => {
- setRemainAmount(rs.remainAmount);
- setPartCancelCl(rs.partCancelCl);
- setIsCompoundTax(rs.isCompoundTax);
- setSupplyAmount(rs.supplyAmount);
- setGoodsVat(rs.goodsVat);
- setTaxFreeAmount(rs.taxFreeAmount);
- setServiceAmount(rs.serviceAmount);
setDebtPreventionCancelDisplayInfo(rs.debtPreventionCancelDisplayInfo);
setDebtPreventionCancelRequestInfo(rs.debtPreventionCancelRequestInfo);
-
+ setGoodsVat(rs.goodsVat);
+ setIsCompoundTax(rs.isCompoundTax);
+ setIsConditionalVatAutoCalcMerchant(rs.isConditionalVatAutoCalcMerchant);
+ setIsNpg(rs.isNpg);
+ setIsVatAutoCalcMerchant(rs.isVatAutoCalcMerchant);
+ setIsVatDisplayed(rs.isVatDisplayed);
+ setPartCancelCl(rs.partCancelCl);
+ setRemainAmount(rs.remainAmount);
+ setServiceAmount(rs.serviceAmount);
+ setSupplyAmount(rs.supplyAmount);
+ setTaxFreeAmount(rs.taxFreeAmount);
+ setVatAutoCalcSummary(rs.vatAutoCalcSummary);
+
if(!partCancelCl){
setTotalCancelAmount(rs.remainAmount);
}
@@ -82,16 +99,20 @@ export const AllTransactionCancelPage = () => {
const callTransactionCancel = () => {
let transactionCancelParams: AllTransactionCancelParams = {
- tid: location?.state.tid,
- cancelAmount: 0,
- cancelPassword: "string",
- bankCode: "string",
- accountNo: "string",
- accountHolder: "string",
- supplyAmount: 0,
- goodsVatAmount: 0,
- taxFreeAmount: 0,
- serviceAmount: 0
+ tid: tid,
+ cancelAmount: totalCancelAmount,
+ cancelPassword: cancelPassword,
+ bankCode: bankCode,
+ accountNo: accountNo,
+ accountHolder: accountHolder,
+ supplyAmount: supplyAmount,
+ goodsVatAmount: goodsVat,
+ taxFreeAmount: taxFreeAmount,
+ serviceAmount: serviceAmount,
+ clientIp: userInfo.clientAddressIP,
+ partCancelCl: partCancelCl,
+ isNpg: isNpg,
+ serviceCode: serviceCode
};
transactionCancel(transactionCancelParams).then((rs: AllTransactionCancelResponse) => {
console.log(rs);
@@ -150,29 +171,55 @@ export const AllTransactionCancelPage = () => {
{ (tabAction === CancelTabKeys.All) &&
}
{ partCancelCl && (tabAction === CancelTabKeys.Part) &&
}