부가세참고
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import axios from 'axios';
|
||||
import { API_URL_VAT_RETURN } from '@/shared/api/api-url-vat-return';
|
||||
import { resultify } from '@/shared/lib/resultify';
|
||||
import { CBDCAxiosError } from '@/shared/@types/error';
|
||||
import {
|
||||
VatReturnReferenceRequestResponse,
|
||||
VatReturnReferenceRequestParams,
|
||||
} from '../model/types';
|
||||
import {
|
||||
useMutation,
|
||||
UseMutationOptions
|
||||
} from '@tanstack/react-query';
|
||||
|
||||
export const vatReturnReferenceRequest = (params: VatReturnReferenceRequestParams) => {
|
||||
return resultify(
|
||||
axios.post<VatReturnReferenceRequestResponse>(API_URL_VAT_RETURN.vatReturnReferenceRequest(), params),
|
||||
);
|
||||
};
|
||||
|
||||
export const useVatReturnReferenceRequestMutation = (options?: UseMutationOptions<VatReturnReferenceRequestResponse, CBDCAxiosError, VatReturnReferenceRequestParams>) => {
|
||||
const mutation = useMutation<VatReturnReferenceRequestResponse, CBDCAxiosError, VatReturnReferenceRequestParams>({
|
||||
...options,
|
||||
mutationFn: (params: VatReturnReferenceRequestParams) => vatReturnReferenceRequest(params),
|
||||
});
|
||||
|
||||
return {
|
||||
...mutation,
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,29 @@
|
||||
import axios from 'axios';
|
||||
import { API_URL_VAT_RETURN } from '@/shared/api/api-url-vat-return';
|
||||
import { resultify } from '@/shared/lib/resultify';
|
||||
import { CBDCAxiosError } from '@/shared/@types/error';
|
||||
import {
|
||||
VatReturnTaxInvoiceResponse,
|
||||
VatReturnTaxInvoiceParams,
|
||||
} from '../model/types';
|
||||
import {
|
||||
useMutation,
|
||||
UseMutationOptions
|
||||
} from '@tanstack/react-query';
|
||||
|
||||
export const vatReturnTaxInvoice = (params: VatReturnTaxInvoiceParams) => {
|
||||
return resultify(
|
||||
axios.post<VatReturnTaxInvoiceResponse>(API_URL_VAT_RETURN.vatReturnTaxInvoice(), params),
|
||||
);
|
||||
};
|
||||
|
||||
export const useVatReturnTaxInvoiceMutation = (options?: UseMutationOptions<VatReturnTaxInvoiceResponse, CBDCAxiosError, VatReturnTaxInvoiceParams>) => {
|
||||
const mutation = useMutation<VatReturnTaxInvoiceResponse, CBDCAxiosError, VatReturnTaxInvoiceParams>({
|
||||
...options,
|
||||
mutationFn: (params: VatReturnTaxInvoiceParams) => vatReturnTaxInvoice(params),
|
||||
});
|
||||
|
||||
return {
|
||||
...mutation,
|
||||
};
|
||||
};
|
||||
@@ -82,4 +82,68 @@ export interface VatReturnDetailResponse {
|
||||
supplierBusinessRegistrationNumber?: string;
|
||||
supplierCompanyName?: string;
|
||||
supplierCeoName?: string;
|
||||
};
|
||||
export enum TaxType {
|
||||
|
||||
};
|
||||
export interface VatReturnReferenceRequestParams {
|
||||
mid: string;
|
||||
startMonth: string;
|
||||
endMonth: string;
|
||||
taxType: string,
|
||||
requestorName: string;
|
||||
contactNumber: string;
|
||||
email: string;
|
||||
};
|
||||
export interface VatReturnReferenceRequestResponse {
|
||||
requestId: number;
|
||||
mid: string;
|
||||
requestPeriod: string;
|
||||
taxTypeDescription: string;
|
||||
requestDateTime: string;
|
||||
requestStatus: string;
|
||||
requestorName: string;
|
||||
contactNumber: string;
|
||||
email: string;
|
||||
};
|
||||
|
||||
export interface VatReturnTaxInvoiceParams {
|
||||
taxInvoiceNumber: string;
|
||||
}
|
||||
export interface VatReturnTaxInvoiceResponse {
|
||||
supplierInfo: SupplierInfo;
|
||||
recipientInfo: RecipientInfo;
|
||||
issueDate: string;
|
||||
supplyAmount: number;
|
||||
taxAmount: number;
|
||||
totalAmount: number;
|
||||
transactionDetails: TransactionDetails;
|
||||
};
|
||||
|
||||
export interface SupplierInfo {
|
||||
businessRegistrationNumber: string;
|
||||
companyName: string;
|
||||
ceoName: string;
|
||||
address: string;
|
||||
businessType: string;
|
||||
businessItem: string;
|
||||
};
|
||||
export interface RecipientInfo {
|
||||
businessRegistrationNumber: string;
|
||||
companyName: string;
|
||||
ceoName: string;
|
||||
address: string;
|
||||
businessType: string;
|
||||
businessItem: string;
|
||||
email: string;
|
||||
};
|
||||
export interface TransactionDetails {
|
||||
transactionPeriod: string;
|
||||
itemName: string;
|
||||
specification: string;
|
||||
quantity: number;
|
||||
unitPrice: number;
|
||||
supplyAmount: number;
|
||||
taxAmount: number;
|
||||
remarks: string;
|
||||
};
|
||||
@@ -129,9 +129,6 @@ export const ListWrap = () => {
|
||||
<div className="transaction-list">
|
||||
{ getListDateGroup() }
|
||||
</div>
|
||||
<div className="apply-row bottom-padding">
|
||||
<button className="btn-50 btn-blue flex-1">수기발행</button>
|
||||
</div>
|
||||
<ListFilter
|
||||
filterOn={ filterOn }
|
||||
setFilterOn={ setFilterOn }
|
||||
|
||||
@@ -6,34 +6,45 @@ import { ReferenceRequestSuccess } from './reference-request-success';
|
||||
import { ReferenceRequestFail } from './reference-request-fail';
|
||||
import { FilterButtonGroups } from '@/shared/ui/filter/button-groups';
|
||||
import { VatReturnTaxBtnGroups } from '../model/contant';
|
||||
import { VatReturnPayTax } from '../model/types';
|
||||
import { VatReturnPayTax, VatReturnReferenceRequestParams, VatReturnReferenceRequestResponse } from '../model/types';
|
||||
import { useStore } from '@/shared/model/store';
|
||||
import { useVatReturnReferenceRequestMutation } from '../api/use-vat-reference-request-mutation';
|
||||
|
||||
export const ReferenceWrap = () => {
|
||||
|
||||
const midOptions = useStore.getState().UserStore.selectOptionsMids;
|
||||
|
||||
const [success, setSuccess] = useState<boolean>(false);
|
||||
|
||||
const [successPageOn, setSuccessPageOn] = useState<boolean>(false);
|
||||
const [failPageOn, setFailPageOn] = useState<boolean>(false);
|
||||
const [mid, setMid] = useState<string>('nictest00m');
|
||||
const [mid, setMid] = useState<string>('');
|
||||
const [startDate, setStartDate] = useState<string>(moment().format('YYYY.MM.DD'));
|
||||
const [endDate, setEndDate] = useState<string>(moment().format('YYYY.MM.DD'));
|
||||
const [payTax, setPayTax] = useState<VatReturnPayTax>(VatReturnPayTax.Tax);
|
||||
const [email, setEmail] = useState<string>('');
|
||||
|
||||
const midOptions = useStore.getState().UserStore.selectOptionsMids;
|
||||
const { mutateAsync: vatReturnReferenceRequest } = useVatReturnReferenceRequestMutation();
|
||||
|
||||
|
||||
let EmailOptions = [
|
||||
{name: 'focp212@naver.com', value: 'focp212@naver.com'}
|
||||
];
|
||||
|
||||
const onClickToResquest = () => {
|
||||
if(success){
|
||||
let params: VatReturnReferenceRequestParams = {
|
||||
mid: mid,
|
||||
startMonth: startDate,
|
||||
endMonth: endDate,
|
||||
taxType: payTax,
|
||||
requestorName: '',
|
||||
contactNumber: '',
|
||||
email: email
|
||||
}
|
||||
vatReturnReferenceRequest(params).then((rs: VatReturnReferenceRequestResponse) => {
|
||||
setSuccessPageOn(true);
|
||||
}
|
||||
else{
|
||||
}).catch((error) => {
|
||||
setFailPageOn(true);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user