productstock

This commit is contained in:
ragilap
2025-12-31 07:08:03 +07:00
111 changed files with 6946 additions and 1060 deletions
+109 -1
View File
@@ -148,6 +148,45 @@ const (
ExpenseCategoryNonBOP ExpenseCategory = "NON-BOP"
)
// -------------------------------------------------------------------
// Payment Method
// -------------------------------------------------------------------
type PaymentMethod string
const (
PaymentMethodTransfer PaymentMethod = "TRANSFER"
PaymentMethodCash PaymentMethod = "CASH"
PaymentMethodCard PaymentMethod = "CARD"
PaymentMethodCheque PaymentMethod = "CHEQUE"
PaymentMethodSaldo PaymentMethod = "SALDO"
)
// -------------------------------------------------------------------
// Trasaction Type
// -------------------------------------------------------------------
type TransactionType string
const (
TransactionTypePenjualan TransactionType = "PENJUALAN"
TransactionTypePembelian TransactionType = "PEMBELIAN"
TransactionTypeBiaya TransactionType = "BIAYA"
TransactionTypeInjection TransactionType = "INJECTION"
TransactionTypeSaldoAwal TransactionType = "SALDO_AWAL"
)
// -------------------------------------------------------------------
// Payment Party
// -------------------------------------------------------------------
type PaymentParty string
const (
PaymentPartyCustomer PaymentParty = "CUSTOMER"
PaymentPartySupplier PaymentParty = "SUPPLIER"
)
// -------------------------------------------------------------------
// Kandang Status
// -------------------------------------------------------------------
@@ -331,6 +370,51 @@ var ExpenseApprovalSteps = map[approvalutils.ApprovalStep]string{
ExpenseStepSelesai: "Selesai",
}
// -------------------------------------------------------------------
// Payment Approval
// -------------------------------------------------------------------
const (
ApprovalWorkflowPayment approvalutils.ApprovalWorkflowKey = approvalutils.ApprovalWorkflowKey("PAYMENTS")
PaymentStepPengajuan approvalutils.ApprovalStep = 1
PaymentStepDisetujui approvalutils.ApprovalStep = 2
)
var PaymentApprovalSteps = map[approvalutils.ApprovalStep]string{
PaymentStepPengajuan: "Pengajuan",
PaymentStepDisetujui: "Disetujui",
}
// -------------------------------------------------------------------
// Inisial Balance Approval
// -------------------------------------------------------------------
const (
ApprovalWorkflowInitial approvalutils.ApprovalWorkflowKey = approvalutils.ApprovalWorkflowKey("INITIAL_BALANCES")
InitialStepPengajuan approvalutils.ApprovalStep = 1
InitialStepDisetujui approvalutils.ApprovalStep = 2
)
var InitialApprovalSteps = map[approvalutils.ApprovalStep]string{
InitialStepPengajuan: "Pengajuan",
InitialStepDisetujui: "Disetujui",
}
// -------------------------------------------------------------------
// Injection Approval
// -------------------------------------------------------------------
const (
ApprovalWorkflowInjection approvalutils.ApprovalWorkflowKey = approvalutils.ApprovalWorkflowKey("INJECTIONS")
InjectionStepPengajuan approvalutils.ApprovalStep = 1
InjectionStepDisetujui approvalutils.ApprovalStep = 2
)
var InjectionApprovalSteps = map[approvalutils.ApprovalStep]string{
InjectionStepPengajuan: "Pengajuan",
InjectionStepDisetujui: "Disetujui",
}
// -------------------------------------------------------------------
// Document
// -------------------------------------------------------------------
@@ -482,7 +566,31 @@ func IsValidExpenseCategory(v string) bool {
return false
}
// e xample use
func IsValidPaymentMethod(v string) bool {
switch PaymentMethod(v) {
case PaymentMethodTransfer, PaymentMethodCash, PaymentMethodCard, PaymentMethodCheque, PaymentMethodSaldo:
return true
}
return false
}
func IsValidTransactionType(v string) bool {
switch TransactionType(v) {
case TransactionTypePenjualan, TransactionTypePembelian, TransactionTypeBiaya, TransactionTypeInjection, TransactionTypeSaldoAwal:
return true
}
return false
}
func IsValidPaymentParty(v string) bool {
switch PaymentParty(v) {
case PaymentPartyCustomer, PaymentPartySupplier:
return true
}
return false
}
// example use
// Recording helper