fix: raw_cm_interval calculation

main
MrWaradana 11 months ago
parent be8a6390a6
commit 6bd918f5a2

@ -190,20 +190,21 @@ async def generate_transaction(
api_data = await fetch_api_data(data_in.assetnum, year) api_data = await fetch_api_data(data_in.assetnum, year)
if api_data: if api_data:
# Get current num_fail # # Get current num_fail
current_num_fail = api_data["data"][0]["num_fail"] current_num_fail = api_data["data"][0]["num_fail"]
# Calculate sum of previous failures for this asset # # Calculate sum of previous failures for this asset
previous_failures_query = ( # previous_failures_query = (
Select(func.sum(MasterRecords.raw_cm_interval)) # Select(func.sum(MasterRecords.raw_cm_interval))
.filter(MasterRecords.assetnum == data_in.assetnum) # .filter(MasterRecords.assetnum == data_in.assetnum)
.filter(MasterRecords.tahun < year) # .filter(MasterRecords.tahun < year)
) # )
previous_failures_result = await db_session.execute(previous_failures_query) # previous_failures_result = await db_session.execute(previous_failures_query)
previous_failures_sum = previous_failures_result.scalar() or 0 # previous_failures_sum = previous_failures_result.scalar() or 0
# Update with current minus sum of previous # # Update with current minus sum of previous
transaction.update({"raw_cm_interval": current_num_fail - previous_failures_sum}) # transaction.update({"raw_cm_interval": current_num_fail - previous_failures_sum})
transaction.update({"raw_cm_interval": current_num_fail})
transaction.update({"tahun": int(year), "seq": int(sequence)}) transaction.update({"tahun": int(year), "seq": int(sequence)})
transactions.append(MasterRecords(**transaction)) transactions.append(MasterRecords(**transaction))

Loading…
Cancel
Save