public void reportFeedbackFinished()
{
HcmWorker hcmWorker;
JmgRegistrationSetup jmgRegistrationSetup;
JmgRegistrationSetup employeeSetup;
JmgJobBundle bundle;
JmgRegistrationData registrationData = new JmgRegistrationData();
JmgJobFeedbackData feedbackData = new JmgJobFeedbackData();
jmgEmployee employee = JmgEmployee::findCardNo('2727');
utcdatetime registrationTime = DateTimeUtil::newDateTime(JmgProfileSeconds::getSysDate(), JmgProfileSeconds::getSysTime());
JmgRegistrationParameters params;
JmgPostStandardSystem jmgPostStandardSystem;
List statusQtyProdJournalCheckPost;
JmgProdMultiReportFinished jmgProdMultiReportFinished;
hcmWorker = employee.HcmWorker();
jmgRegistrationSetup = JmgRegistrationSetup::find('Production');
employeeSetup = JmgRegistrationSetup::find(JmgEmployee::find(employee.Worker).RegistrationSetupId);
bundle = new JmgJobBundle(employee.Worker, false, false, false, employeeSetup ? employeeSetup : jmgRegistrationSetup);
if (bundle.emplClockedIn())
{
feedbackData.parmJobId('MUSH-000298');
feedbackData.parmGoodQuantity(1);
feedbackData.parmStatus(JmgFeedbackStatus::Completed);
params = bundle.getFeedbackParameters(feedbackData.parmJobId());
params.errorSpecification(feedbackData.parmErrorSpecification());
params.goodQuantity(feedbackData.parmGoodQuantity());
params.reportAsFinished(feedbackData.parmStatus());
bundle.addJob(JmgJobTable::find(feedbackData.parmJobId()));
jmgPostStandardSystem = JmgPostStandardSystem::constructJobBundle(bundle, false);
// Status/quantity.
statusQtyProdJournalCheckPost = jmgPostStandardSystem.createProdStatusQty();
// Report as finished
jmgProdMultiReportFinished = jmgPostStandardSystem.createReportFinishedJournal();
bundle.setStatusQtyJournalPosting(statusQtyProdJournalCheckPost);
bundle.setReportFinishedJournalPosting(jmgProdMultiReportFinished);
bundle.makeFeedbackOnActiveJobs(DateTimeUtil::date(registrationTime), DateTimeUtil::time(registrationTime));
}
info('Done');
}