Transaction Validation

PHOTO EMBED

Fri Apr 11 2025 04:08:41 GMT+0000 (Coordinated Universal Time)

Saved by @Pooja

void Transactions.get_Transaction_Validations(int getdata)
{
	getTransInfo = Transactions[ID == input.getdata];
	idsString = "";
	count = getTransInfo.count();
	startIndex = 0;
	// 	
	for each  test in getTransInfo
	{
		// Assign Transaction ID based on the index
		// 		if(startIndex < 1000)
		// 		{
		// 			test.Transaction="TNID-001";
		// 		}
		// 		else if(startIndex < 2000)
		// 		{
		// 			test.Transaction="TNID-002";
		// 		}
		// 		else if(startIndex < 3000)
		// 		{
		// 			test.Transaction="TNID-003";
		// 		}
		// 		else if(startIndex < 4000)
		// 		{
		// 			test.Transaction="TNID-004";
		// 		}
		// 		else if(startIndex < 5000)
		// 		{
		// 			test.Transaction="TNID-005";
		// 		}
		// 		info "Record ID: " + test.ID.toString() + " | Start Index: " + startIndex + " | Transaction: " + test.Transaction;
		startIndex = startIndex + 1;
		// Maintain ID String
		if(idsString != "")
		{
			idsString = idsString + ",";
		}
		idsString = idsString + test.ID.toString();
		// Generate Application Number
		// 		getID = Transactions[ID != null] sort by Application_No1 desc;
		// 		if(getID.count() == 0)
		// 		{
		// 			test.Application_No1="APP-001";
		// 		}
		// 		else
		// 		{
		// 			var1 = getID.Application_No1.getsuffix("APP-");
		// 			if(var1.isEmpty() || !var1.isNumber())
		// 			{
		// 				var2 = 1;
		// 			}
		// 			else
		// 			{
		// 				var2 = var1.toLong() + 1;
		// 			}
		// 			autoList = var2.toString().length();
		// 			TarnsList = {1:"APP-00",2:"APP-0",3:"APP-"};
		// 			test.Application_No1=TarnsList.get(autoList) + var2;
		// 		}
		// 		// Fetch Partner Category
		// 		getcategory = Partner_Enquiry[Partner_Entity_Name == test.Partner_Entity_Name];
		// 		// 		test.Partner_Category=getcategory.Partner_Category;
		// 		// Perform Validation Checks
		// 		for each  getValidation in Validation_Rule_Master[Partner_Category.Partner_Category == test.Partner_Category]
		// 		{
		// 			if(getValidation.count() > 0)
		// 			{
		// 				if(test.Documentation_Status == getValidation.Valid_Tags)
		// 				{
		// 					test.Document_Check=true;
		// 				}
		// 			}
		// 			else
		// 			{
		// 				test.Document_Check=false;
		// 			}
		// 		}
		// 		for each  getValidation in Validation_Rule_Master[Partner_Category.Partner_Category == test.Partner_Category]
		// 		{
		// 			if(getValidation.count() > 0)
		// 			{
		// 				if(test.Program == getValidation.Valid_Tags)
		// 				{
		// 					test.Program_check=true;
		// 				}
		// 			}
		// 			else
		// 			{
		// 				test.Program_check=false;
		// 			}
		// 		}
		// 		for each  getValidation in Validation_Rule_Master[Partner_Category.Partner_Category == test.Partner_Category]
		// 		{
		// 			if(getValidation.count() > 0)
		// 			{
		// 				if(test.Elective == getValidation.Valid_Tags)
		// 				{
		// 					test.Elective_Check=true;
		// 				}
		// 			}
		// 			else
		// 			{
		// 				test.Elective_Check=false;
		// 			}
		// 		}
		// 		// Final Validation Check
		// 		if(test.Document_Check == true && test.Elective_Check == true && test.Program_check == true)
		// 		{
		// 		test.Validation_Check_Status="Valid";
		// 		}
		// 		else
		// 		{
		// 			test.Validation_Check_Status="Invalid";
		// 		}
		// Fetch Partner Name
		//	partner = Partner_Details[Partner_ID == test.Partner_ID];
		//	test.Partner_Entity_Name=partner.Partner_Entity_Name;
		//fetch Address
		getAddress = Partner_Onboarding_and_KYC[Partner_Entity_Name == test.Partner_Entity_Name];
		test.Partner_Address=getAddress.Partner_Address;
		test.Partner_Category=getAddress.Partner_Category;
		ratecarddet1 = RATE_CARD[Partner_Entity_Name.Partner_Entity_Name == test.Partner_Entity_Name];
		thisapp.Transactions.CreateTransactionID(test.ID);
		if(ratecarddet1.count() == 0)
		{
			test.Validation_Comments="Partner entity not onboarded in Partner Master Data. Complete onboarding process and re-initiate transactions.";
			//test.Validation_Comments="Partner Entity name is not matching with the rate card.";
			test.Validation_Check_Status="Invalid";
			//test.Transaction="";
		}
		else
		{
			ratecarddet2 = RATE_CARD[Partner_Entity_Name.Partner_Entity_Name == test.Partner_Entity_Name && University_Name.University_Name == test.University_Name];
			if(ratecarddet2.count() == 0)
			{
				test.Validation_Comments="University not updated in masters. Update University Master and re-initiate transactions.";
				//test.Validation_Comments="University is not matching with the rate card.";
				test.Validation_Check_Status="Invalid";
				//test.Transaction="";
			}
			else
			{
				ratecarddet3 = RATE_CARD[Partner_Entity_Name.Partner_Entity_Name == test.Partner_Entity_Name && University_Name.University_Name == test.University_Name && Elective.Elective == test.Elective];
				if(ratecarddet3.count() == 0)
				{
					test.Validation_Comments="Elective not updated in masters. Update Elective Master and re-initiate transactions.";
					//	test.Validation_Comments="Elective is not matching with the rate card.";
					test.Validation_Check_Status="Invalid";
					//test.Transaction="";
				}
				else
				{
					// 					info "program " + test.Program;
					// 					info "rate card program " + ratecarddet3.Programs.Programs;
					ratecarddet4 = RATE_CARD[Partner_Entity_Name.Partner_Entity_Name == test.Partner_Entity_Name && University_Name.University_Name == test.University_Name && Elective.Elective == test.Elective && Programs.Programs == test.Program];
					if(ratecarddet4.count() == 0)
					{
						test.Validation_Comments="Program not updated in the master. Update Program Master and re-initiate transactions.";
						//test.Validation_Comments="Program is not matching with the rate card.";
						test.Validation_Check_Status="Invalid";
						//test.Transaction="";
					}
					else
					{
						ratecarddet5 = RATE_CARD[Partner_Entity_Name.Partner_Entity_Name == test.Partner_Entity_Name && University_Name.University_Name == test.University_Name && Elective.Elective == test.Elective && Programs.Programs == test.Program && CP_Approval_Status == "Approved"];
						// 						info "rate card 5 " + ratecarddet4;
						if(ratecarddet5.count() == 0)
						{
							test.Validation_Comments="Rate Card is not approved.";
							test.Validation_Check_Status="Invalid";
							//test.Transaction="";
						}
						else
						{
							validStatuses = {"Category A","Category B","Category C","Category D","Category E","Category F","L1 verified","L2 verified","Re-upload required"};
							if(!validStatuses.contains(test.Documentation_Status1.Document_Status))
							{
								test.Validation_Comments="Document Status is Invalid";
								test.Validation_Check_Status="Invalid";
							}
							else
							{
								/*Fetch Payout*/
								getPayout = RATE_CARD[Elective.Elective == test.Elective && Programs.Programs == test.Program && Partner_Entity_Name.Partner_Entity_Name == test.Partner_Entity_Name && University_Name.University_Name == test.University_Name && CP_Approval_Status == "Approved"];
								if(getPayout.count() > 0)
								{
									for each  recs in getPayout
									{
										getpartnerid = Partner_Onboarding_and_KYC[Partner_Entity_Name == recs.Partner_Entity_Name.Partner_Entity_Name];
										if(test.Enrollment_Date >= recs.Effective_start_date && test.Enrollment_Date <= recs.Effective_end_date)
										{
											test.Partner_ID=getpartnerid.Partner_ID;
											test.Contracting_organisation=getpartnerid.Contracting_organisation1;
											test.Validation_Check_Status="Valid";
											test.Validation_Comments="Ready for commission calculation.";
											// 										if(test.Validation_Check_Status == "Valid")
											// 										{
											// 										}
											/*create Transaction ID*/
											test.Payout=getPayout.Payout;
											//	info "info test id " + test.ID;
											// 										thisapp.Transactions.Trasaction_ID(test.ID);
										}
										else
										{
											test.Validation_Comments="No approved rate card found for the enrollment date.";
											//test.Validation_Comments="Effective start and end date is not macthing with the enrollment date.";
											test.Validation_Check_Status="Invalid";
											test.Transaction="";
										}
									}
								}
							}
						}
					}
				}
			}
		}
		// 		else
		// 		{
		// 			test.Validation_Check_Status="Invalid";
		// 		}
		// 		/* Fetch Partner ID*/
		getPartner = Partner_Details[Partner_Entity_Name == test.Partner_Entity_Name];
		if(getPartner.count() > 0)
		{
			test.Partner_ID=getPartner.Partner_ID;
		}
		// Redirect if validation status is not pending
		// 		if(test.Validation_Check_Status != "Pending")
		// 		{
		// 			openUrl("#Report:Transactions_Status","same window");
		// 		}
		// Set Internal Invoice Status
		test.Internal_Invoice_Status="Open";
		// CP Validation
		cp_mas = Partner_Details[Partner_Entity_Name == test.Partner_Entity_Name];
		if(cp_mas.count() > 0)
		{
			test.CP_Master_Validation="Success";
			test.Send_mail_to_CP="Yes";
		}
		else
		{
			test.CP_Master_Validation="Failure";
		}
		// Send Email if required
		if(getTransInfo.Send_mail_to_CP == "Yes" && getTransInfo.CP_Master_Validation == "Success")
		{
			getCP = Rate_Card_Master[Partner_Entity_Name == getTransInfo.Partner_Entity_Name];
			if(getCP.count() > 0)
			{
				Content = "<a href='https://creatorapp.zohopublic.in/centralisedprocurement_usdcglobal/usdc1/report-perma/Transactions_Status/ZpWz5PETb5DNQJuNmJHRxJmPvTtxJnr194fJAF5SgQDyQdymhZA3tj955m5eOFgXFhKWyWh57O8tWNw3WGDj4XYVEGfdCYP2P79G?ID=" + getTransInfo.ID + "'>Click here to View</a>";
				sendmail
				[
					from :zoho.adminuserid
					to :"vimal@techvaria.com"
					subject :"Review Transaction"
					message :"Dear " + getCP.Partner_Entity_Name + ",<br><br>Your Accumulated Commission Calculation was successful.<br><br>Please take a moment to review the details and let us know if you have any questions or concerns.<br><br>" + Content + "<br><br>If you require further information or clarification, feel free to reach out to us.<br><br>Best Regards,<br>Team"
				]
			}
		}
	}
}
content_copyCOPY