Update20221122

This commit is contained in:
bcomsugi 2024-11-22 03:54:50 +07:00
parent be74d44e81
commit 603b998eb9
2 changed files with 34 additions and 10 deletions

View File

@ -628,7 +628,8 @@ class TransactionQuery(baseQBQuery):
self.QBDict[self.classNameRq]["TransactionDateRangeFilter"]={'FromTxnDate':kwargs.get('TransactionDateRangeFilter_FromTxnDate', ""), 'ToTxnDate':kwargs.get('TransactionDateRangeFilter_ToTxnDate', "")} self.QBDict[self.classNameRq]["TransactionDateRangeFilter"]={'FromTxnDate':kwargs.get('TransactionDateRangeFilter_FromTxnDate', ""), 'ToTxnDate':kwargs.get('TransactionDateRangeFilter_ToTxnDate', "")}
elif 'TransactionDateRangeFilter_DateMacro' in kwargs: elif 'TransactionDateRangeFilter_DateMacro' in kwargs:
self.QBDict[self.classNameRq]["TransactionDateRangeFilter"]={'DateMacro':kwargs['TransactionDateRangeFilter_DateMacro']} self.QBDict[self.classNameRq]["TransactionDateRangeFilter"]={'DateMacro':kwargs['TransactionDateRangeFilter_DateMacro']}
# <!-- EntityTypeFilter may have one of the following values: Customer, Employee, OtherName, Vendor -->
if 'TransactionEntityFilter_EntityTypeFilter' in kwargs: if 'TransactionEntityFilter_EntityTypeFilter' in kwargs:
self.QBDict[self.classNameRq]["TransactionEntityFilter"]={'EntityTypeFilter':kwargs['TransactionEntityFilter_EntityTypeFilter']} self.QBDict[self.classNameRq]["TransactionEntityFilter"]={'EntityTypeFilter':kwargs['TransactionEntityFilter_EntityTypeFilter']}
elif 'TransactionEntityFilter_ListID' in kwargs: elif 'TransactionEntityFilter_ListID' in kwargs:
@ -639,7 +640,8 @@ class TransactionQuery(baseQBQuery):
self.QBDict[self.classNameRq]["TransactionEntityFilter"]={'ListIDWithChildren':kwargs['TransactionEntityFilter_ListIDWithChildren']} self.QBDict[self.classNameRq]["TransactionEntityFilter"]={'ListIDWithChildren':kwargs['TransactionEntityFilter_ListIDWithChildren']}
elif 'TransactionEntityFilter_FullNameWithChildren' in kwargs: elif 'TransactionEntityFilter_FullNameWithChildren' in kwargs:
self.QBDict[self.classNameRq]["TransactionEntityFilter"]={'FullNameWithChildren':kwargs['TransactionEntityFilter_FullNameWithChildren']} self.QBDict[self.classNameRq]["TransactionEntityFilter"]={'FullNameWithChildren':kwargs['TransactionEntityFilter_FullNameWithChildren']}
# <!-- AccountTypeFilter may have one of the following values: AccountsPayable, AccountsReceivable, AllowedFor1099, APAndSalesTax, APOrCreditCard, ARAndAP, Asset, BalanceSheet, Bank, BankAndARAndAPAndUF, BankAndUF, CostOfSales, CreditCard, CurrentAsset, CurrentAssetAndExpense, CurrentLiability, Equity, EquityAndIncomeAndExpense, ExpenseAndOtherExpense, FixedAsset, IncomeAndExpense, IncomeAndOtherIncome, Liability, LiabilityAndEquity, LongTermLiability, NonPosting, OrdinaryExpense, OrdinaryIncome, OrdinaryIncomeAndCOGS, OrdinaryIncomeAndExpense, OtherAsset, OtherCurrentAsset, OtherCurrentLiability, OtherExpense, OtherIncome, OtherIncomeOrExpense -->
if 'TransactionAccountFilter_AccountTypeFilter' in kwargs: if 'TransactionAccountFilter_AccountTypeFilter' in kwargs:
self.QBDict[self.classNameRq]["TransactionAccountFilter"]={'AccountTypeFilter':kwargs['TransactionAccountFilter_AccountTypeFilter']} self.QBDict[self.classNameRq]["TransactionAccountFilter"]={'AccountTypeFilter':kwargs['TransactionAccountFilter_AccountTypeFilter']}
elif 'TransactionAccountFilter_ListID' in kwargs: elif 'TransactionAccountFilter_ListID' in kwargs:
@ -651,6 +653,7 @@ class TransactionQuery(baseQBQuery):
elif 'TransactionAccountFilter_FullNameWithChildren' in kwargs: elif 'TransactionAccountFilter_FullNameWithChildren' in kwargs:
self.QBDict[self.classNameRq]["TransactionAccountFilter"]={'FullNameWithChildren':kwargs['TransactionAccountFilter_FullNameWithChildren']} self.QBDict[self.classNameRq]["TransactionAccountFilter"]={'FullNameWithChildren':kwargs['TransactionAccountFilter_FullNameWithChildren']}
# <!-- ItemTypeFilter may have one of the following values: AllExceptFixedAsset, Assembly, Discount, FixedAsset, Inventory, InventoryAndAssembly, NonInventory, OtherCharge, Payment, Sales, SalesTax, Service -->
if 'TransactionItemFilter_ItemTypeFilter' in kwargs: if 'TransactionItemFilter_ItemTypeFilter' in kwargs:
self.QBDict[self.classNameRq]["TransactionItemFilter"]={'ItemTypeFilter':kwargs['TransactionItemFilter_ItemTypeFilter']} self.QBDict[self.classNameRq]["TransactionItemFilter"]={'ItemTypeFilter':kwargs['TransactionItemFilter_ItemTypeFilter']}
elif 'TransactionItemFilter_ListID' in kwargs: elif 'TransactionItemFilter_ListID' in kwargs:
@ -661,7 +664,7 @@ class TransactionQuery(baseQBQuery):
self.QBDict[self.classNameRq]["TransactionItemFilter"]={'ListIDWithChildren':kwargs['TransactionItemFilter_ListIDWithChildren']} self.QBDict[self.classNameRq]["TransactionItemFilter"]={'ListIDWithChildren':kwargs['TransactionItemFilter_ListIDWithChildren']}
elif 'TransactionItemFilter_FullNameWithChildren' in kwargs: elif 'TransactionItemFilter_FullNameWithChildren' in kwargs:
self.QBDict[self.classNameRq]["TransactionItemFilter"]={'FullNameWithChildren':kwargs['TransactionItemFilter_FullNameWithChildren']} self.QBDict[self.classNameRq]["TransactionItemFilter"]={'FullNameWithChildren':kwargs['TransactionItemFilter_FullNameWithChildren']}
if 'TransactionClassFilter_ListID' in kwargs: if 'TransactionClassFilter_ListID' in kwargs:
self.QBDict[self.classNameRq]["TransactionClassFilter"]={'ListID':kwargs['TransactionClassFilter_ListID']} self.QBDict[self.classNameRq]["TransactionClassFilter"]={'ListID':kwargs['TransactionClassFilter_ListID']}
elif 'TransactionClassFilter_FullName' in kwargs: elif 'TransactionClassFilter_FullName' in kwargs:
@ -670,16 +673,20 @@ class TransactionQuery(baseQBQuery):
self.QBDict[self.classNameRq]["TransactionClassFilter"]={'ListIDWithChildren':kwargs['TransactionClassFilter_ListIDWithChildren']} self.QBDict[self.classNameRq]["TransactionClassFilter"]={'ListIDWithChildren':kwargs['TransactionClassFilter_ListIDWithChildren']}
elif 'TransactionClassFilter_FullNameWithChildren' in kwargs: elif 'TransactionClassFilter_FullNameWithChildren' in kwargs:
self.QBDict[self.classNameRq]["TransactionClassFilter"]={'FullNameWithChildren':kwargs['TransactionClassFilter_FullNameWithChildren']} self.QBDict[self.classNameRq]["TransactionClassFilter"]={'FullNameWithChildren':kwargs['TransactionClassFilter_FullNameWithChildren']}
# <!-- TxnTypeFilter may have one of the following values: All, ARRefundCreditCard, Bill, BillPaymentCheck, BillPaymentCreditCard, BuildAssembly, Charge, Check, CreditCardCharge, CreditCardCredit, CreditMemo, Deposit, Estimate, InventoryAdjustment, Invoice, ItemReceipt, JournalEntry, LiabilityAdjustment, Paycheck, PayrollLiabilityCheck, PurchaseOrder, ReceivePayment, SalesOrder, SalesReceipt, SalesTaxPaymentCheck, Transfer, VendorCredit, YTDAdjustment -->
if 'TransactionTypeFilter_TxnTypeFilter' in kwargs: if 'TransactionTypeFilter_TxnTypeFilter' in kwargs:
self.QBDict[self.classNameRq]["TransactionTypeFilter"]={'TxnTypeFilter':kwargs['TransactionTypeFilter_TxnTypeFilter']} self.QBDict[self.classNameRq]["TransactionTypeFilter"]={'TxnTypeFilter':kwargs['TransactionTypeFilter_TxnTypeFilter']}
# <!-- TransactionDetailLevelFilter may have one of the following values: All, SummaryOnly [DEFAULT], AllExceptSummary -->
if 'TransactionDetailLevelFilter' in kwargs: if 'TransactionDetailLevelFilter' in kwargs:
self.QBDict[self.classNameRq]["TransactionDetailLevelFilter"]=kwargs['TransactionDetailLevelFilter'] self.QBDict[self.classNameRq]["TransactionDetailLevelFilter"]=kwargs['TransactionDetailLevelFilter']
# <!-- TransactionPostingStatusFilter may have one of the following values: Either [DEFAULT], NonPosting, Posting -->
if 'TransactionPostingStatusFilter' in kwargs: if 'TransactionPostingStatusFilter' in kwargs:
self.QBDict[self.classNameRq]["TransactionPostingStatusFilter"]=kwargs['TransactionPostingStatusFilter'] self.QBDict[self.classNameRq]["TransactionPostingStatusFilter"]=kwargs['TransactionPostingStatusFilter']
# <!-- TransactionPaidStatusFilter may have one of the following values: Either [DEFAULT], Closed, Open -->
if 'TransactionPaidStatusFilter' in kwargs: if 'TransactionPaidStatusFilter' in kwargs:
self.QBDict[self.classNameRq]["TransactionPaidStatusFilter"]=kwargs['TransactionPaidStatusFilter'] self.QBDict[self.classNameRq]["TransactionPaidStatusFilter"]=kwargs['TransactionPaidStatusFilter']
@ -945,8 +952,8 @@ class SalesOrderAdd(baseQBQuery):
elif 'PriceLevelRef_FullName' in eachLineAdd: elif 'PriceLevelRef_FullName' in eachLineAdd:
self.LineAddDict["PriceLevelRef"]={'FullName': eachLineAdd['PriceLevelRef_FullName']} self.LineAddDict["PriceLevelRef"]={'FullName': eachLineAdd['PriceLevelRef_FullName']}
if 'Amount' in eachLineAdd: if 'Amount ' in eachLineAdd:
self.LineAddDict["Amount"]=eachLineAdd['Amount'] self.LineAddDict["Amount "]=eachLineAdd['Amount ']
# Others # Others
if 'Other1' in eachLineAdd: if 'Other1' in eachLineAdd:
self.LineAddDict["Other1"]=eachLineAdd['Other1'] self.LineAddDict["Other1"]=eachLineAdd['Other1']
@ -1205,7 +1212,7 @@ def InventoryStockStatusByVendor(ReportEntityFilter_FullName:str='TACO') -> dict
ND=coldata['@value'] #Next Delivery Date ND=coldata['@value'] #Next Delivery Date
dt[FullName]={'ShortName':ShortName, 'QOH':QOH, 'QOSO':QOSO, 'QA':QA, 'QOPO':QOPO, 'UOM':UOM, 'min':min, 'max':max, 'ND':ND} dt[FullName]={'ShortName':ShortName, 'QOH':QOH, 'QOSO':QOSO, 'QA':QA, 'QOPO':QOPO, 'UOM':UOM, 'min':min, 'max':max, 'ND':ND}
# print(f'{dt = }') # print(f'{dt = }')
# print(len(dt)) print(f'InventoryStockStatusByVendor {len(dt) = }')
return dt return dt
""" """
{'@rowNumber': '1016', {'@rowNumber': '1016',

19
main.py
View File

@ -18,7 +18,7 @@ import pdfexcel4DNwithxlrd
from ItemInventoryQuery import ItemInventoryQuery from ItemInventoryQuery import ItemInventoryQuery
from SO_to_Inv import readSO, CustomerQuery from SO_to_Inv import readSO, CustomerQuery
import os import os
from QBClass.QBClasses import SalesOrderAdd, InventoryStockStatusByVendor, PriceLevelQuery from QBClass.QBClasses import SalesOrderAdd, InventoryStockStatusByVendor, PriceLevelQuery, TransactionQuery
from QBClass.QBClasses import CustomerQuery as CQ from QBClass.QBClasses import CustomerQuery as CQ
import pprint import pprint
@ -297,3 +297,20 @@ async def salesorderadd(request: Request):
return so.all() return so.all()
@app.post('/dasa2/transactionquery')
async def transactionquery(request: Request):
transactiondict = await request.body()
print("")
try:
transactiondict = json.loads(transactiondict)
except:
print('error TransactionQuery()')
return {'message':'error getting TransactionQuery Data. it is not json'}
print(f'{type(transactiondict)}, {transactiondict = }')
print(f'{transactiondict = }')
tq = TransactionQuery(**transactiondict)
print(tq.all())
print(f'{len(tq.to_json()) = }')
return tq.all()