-
Notifications
You must be signed in to change notification settings - Fork 0
Dev #12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dev #12
Changes from all commits
712a574
56d1a2d
d618df0
916fe33
73e4868
db27c34
59ce134
9ef5e6f
2e04641
4bdcb5f
c73fc0a
6c8dc9f
2b0934f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -63,16 +63,14 @@ class FcmHttpRemoteDataSourceImpl @Inject constructor( | |||||||||||||||
| } | ||||||||||||||||
|
|
||||||||||||||||
| /** | ||||||||||||||||
| * 공급사(Supplier) | ||||||||||||||||
| * 매입 전표 상태 수정 | ||||||||||||||||
| * 확인 요청 -> 완납 | ||||||||||||||||
| * 매입 전표 수정 | ||||||||||||||||
| */ | ||||||||||||||||
| override suspend fun updateApInvoice( | ||||||||||||||||
| invoiceId: String, | ||||||||||||||||
| request: InvoiceUpdateRequestDto, | ||||||||||||||||
| ): Result<Unit> = withContext(Dispatchers.IO) { | ||||||||||||||||
| try { | ||||||||||||||||
| val response = fcmApi.updateApInvoice(invoiceId) | ||||||||||||||||
| val response = fcmApi.updateApInvoice(invoiceId, request) | ||||||||||||||||
| if (response.success) { | ||||||||||||||||
| Result.success(Unit) | ||||||||||||||||
| } else { | ||||||||||||||||
|
|
@@ -84,22 +82,6 @@ class FcmHttpRemoteDataSourceImpl @Inject constructor( | |||||||||||||||
| } | ||||||||||||||||
| } | ||||||||||||||||
|
|
||||||||||||||||
| override suspend fun requestReceivable( | ||||||||||||||||
| invoiceId: String, | ||||||||||||||||
| ): Result<Unit> = withContext(Dispatchers.IO) { | ||||||||||||||||
| try { | ||||||||||||||||
| val response = fcmApi.requestReceivable(invoiceId) | ||||||||||||||||
| if (response.success) { | ||||||||||||||||
| Result.success(Unit) | ||||||||||||||||
| } else { | ||||||||||||||||
| Result.failure(Exception(response.message ?: "수취 요청 실패")) | ||||||||||||||||
| } | ||||||||||||||||
| } catch (e: Exception) { | ||||||||||||||||
| Timber.e(e, "수취 요청 실패") | ||||||||||||||||
| Result.failure(e) | ||||||||||||||||
| } | ||||||||||||||||
| } | ||||||||||||||||
|
|
||||||||||||||||
| // ========== AR 인보이스 (매출) ========== | ||||||||||||||||
| override suspend fun getArInvoiceList( | ||||||||||||||||
| // companyName: String?, | ||||||||||||||||
|
|
@@ -143,10 +125,9 @@ class FcmHttpRemoteDataSourceImpl @Inject constructor( | |||||||||||||||
| } | ||||||||||||||||
| } | ||||||||||||||||
|
|
||||||||||||||||
|
|
||||||||||||||||
| /** | ||||||||||||||||
| * 고객사(Customer) | ||||||||||||||||
| * 매출 전표 상태 수정 | ||||||||||||||||
| * 미납 -> 확인 요청 | ||||||||||||||||
| * 매출 전표 수정 | ||||||||||||||||
|
||||||||||||||||
| * 매출 전표 수정 | |
| * 매출 전표(AR Invoice)를 수정합니다. | |
| * | |
| * @param invoiceId 수정할 매출 전표의 고유 ID입니다. | |
| * @param request 매출 전표의 수정 내용을 담은 [InvoiceUpdateRequestDto] 객체입니다. | |
| * 예를 들어, 금액, 날짜, 상태 등 매출 전표의 주요 필드를 수정할 수 있습니다. | |
| * @return 성공 시 [Result.success(Unit)], 실패 시 [Result.failure]를 반환합니다. |
Copilot
AI
Nov 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Error message "수취 요청 실패" (receivable request failed) is misleading. This function updates customer invoice status, so the error message should reflect that, e.g., "고객사 인보이스 상태 업데이트 실패" (customer invoice status update failed).
| Timber.e(e, "수취 요청 실패") | |
| Timber.e(e, "고객사 인보이스 상태 업데이트 실패") |
Copilot
AI
Nov 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Error message "완납 처리 실패" (payment completion failed) is misleading. This function updates supplier invoice status, so the error message should be more specific, e.g., "공급사 인보이스 상태 업데이트 실패" (supplier invoice status update failed).
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -37,14 +37,12 @@ interface FcmApi { | |||||
| ): ApiResponse<InvoiceDetailResponseDto> | ||||||
|
|
||||||
| /** | ||||||
| * 공급사(Supplier) | ||||||
| * 매입 전표 상태 수정 | ||||||
| * 확인 요청 -> 완납 | ||||||
| * | ||||||
|
||||||
| * | |
| * 매입 인보이스(AP) 상세 정보 수정 |
Copilot
AI
Nov 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorrect API endpoint path. The comment states this is for "공급사(Supplier) 매출 전표 상태 수정" (Supplier AR invoice status update), but the endpoint path uses /invoice/ap/ (AP = Accounts Payable/매입). It should be /invoice/ar/ (AR = Accounts Receivable/매출) to match the documented purpose.
| @POST("$BASE_URL/invoice/ap/{invoiceId}/payable/complete") | |
| @POST("$BASE_URL/invoice/ar/{invoiceId}/payable/complete") |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -13,7 +13,9 @@ import androidx.compose.foundation.shape.CircleShape | |||||
| import androidx.compose.foundation.verticalScroll | ||||||
| import androidx.compose.material.icons.Icons | ||||||
| import androidx.compose.material.icons.filled.Person | ||||||
| import androidx.compose.material.icons.outlined.Logout | ||||||
| import androidx.compose.material3.Button | ||||||
| import androidx.compose.material3.ButtonDefaults | ||||||
| import androidx.compose.material3.Card | ||||||
| import androidx.compose.material3.CardDefaults | ||||||
| import androidx.compose.material3.Icon | ||||||
|
|
@@ -180,7 +182,19 @@ fun CustomerProfileScreen( | |||||
| modifier = Modifier | ||||||
| .fillMaxWidth() | ||||||
| .padding(vertical = 24.dp), | ||||||
| ) { } | ||||||
| colors = ButtonDefaults.buttonColors( | ||||||
| containerColor = MaterialTheme.colorScheme.error, | ||||||
| contentColor = MaterialTheme.colorScheme.onError, | ||||||
| ), | ||||||
| shape = MaterialTheme.shapes.large, | ||||||
| ) { | ||||||
| Icon( | ||||||
| imageVector = Icons.Outlined.Logout, | ||||||
| contentDescription = "로그아웃", | ||||||
| ) | ||||||
| androidx.compose.foundation.layout.Spacer(modifier = androidx.compose.ui.Modifier.size(8.dp)) | ||||||
|
||||||
| androidx.compose.foundation.layout.Spacer(modifier = androidx.compose.ui.Modifier.size(8.dp)) | |
| Spacer(modifier = Modifier.size(8.dp)) |
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
|
|
@@ -37,9 +37,7 @@ import androidx.hilt.navigation.compose.hiltViewModel | |||
| import androidx.navigation.NavController | ||||
| import com.autoever.everp.ui.common.components.StatusBadge | ||||
| import com.autoever.everp.utils.state.UiResult | ||||
| import java.text.NumberFormat | ||||
| import java.time.format.DateTimeFormatter | ||||
| import java.util.Locale | ||||
|
|
||||
| @Composable | ||||
| fun InvoiceDetailScreen( | ||||
|
|
@@ -261,10 +259,11 @@ fun InvoiceDetailScreen( | |||
| } | ||||
|
|
||||
| // 납부 확인 요청 버튼 (UNPAID 상태일 때만 표시) | ||||
| // if (detail.status == InvoiceStatusEnum.UNPAID) { | ||||
|
||||
| // if (detail.status == InvoiceStatusEnum.UNPAID) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Documentation comment is vague and incomplete. It should specify what type of updates are supported and match the function signature which includes an
InvoiceUpdateRequestDtoparameter.