Do you know why my TBO logic only fires off on import not on create?
Below is my code
public void doSave(boolean saveLock, String versionLabel, Object extendedArgs[]) throws DfException {
//SimpleDateFormat sdfDate = new SimpleDateFormat("dd/MM/yyyy");
//SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss");
//Date now = new Date();
//String strDate = sdfDate.format(now);
//String strTime = sdfTime.format(now);
String parentFolderId = "/Supply Chain/Procurement";
IDfFolder newFolder = null;
String newFolderId = new String();
IDfQuery queryCRcounter = new DfQuery();
IDfCollection collCRcounter = null;
queryCRcounter.setDQL("Select counter from otp_proc_counter");
collCRcounter = queryCRcounter.execute(super.getSession(), DfQuery.READ_QUERY);
//IDfQuery fPath = new DfQuery();
//IDfCollection colPath = null;
//fPath.setDQL("select r_folder_path from dm_folder where r_object_id in (select i_folder_id from otp_folder where object_name=" + super.getObjectName()+")" );
//colPath = fPath.execute(super.getSession(), DfQuery.READ_QUERY);
if (getTypeName().equals("otp_procurement_doc")) {
writeToLog("after getting object type");
if (this.getString("reference_no") == null || this.getString("reference_no").equals("")) {
writeToLog("after reference number");
setBoolean("can_file", true);
setString("file_plan", super.getObjectName());
IDfSysObject sysobj = (IDfSysObject) getSession().getObject(getObjectId());
try {
newFolder = (IDfFolder) getSession().newObject("otp_folder");
newFolder.setObjectName(super.getObjectName());
System.out.println("Folder created : " + super.getObjectName());
writeToLog("new folder created = " + super.getObjectName());
// String folderP = newFolder.getString("i_cabinet_id");
//writeToLog(" cabinet id ==" + folderP);
//String folderpp = newFolder.getFolderPath(0);
//newFolder.link(folderpp);
//writeToLog("folder path= " + folderpp);
newFolder.link(((IDfFolder)getSession().getObject(sysobj.getFolderId(0))).getFolderPath(0));
newFolder.save();
newFolder.link(parentFolderId);
newFolder.save();
newFolderId = newFolder.getString("i_folder_id");
System.out.println(newFolderId);
// writeToLog("new folder id = " + newFolderId);
} catch (DfException dfe) {
dfe.printStackTrace();
}
}
else{
System.out.println("reference number not null ");
writeToLog("reference number not null");
}
}else {
System.out.println("get object type");
writeToLog("get object type");
}
super.doSave(saveLock, versionLabel, extendedArgs);
if (collCRcounter.next() && getTypeName().equals("otp_procurement_doc")) {
writeToLog("After object name");
if (this.getString("reference_no") == null || this.getString("reference_no").equals("")) {
writeToLog("After getting String");
Integer CounterRef = collCRcounter.getInt("counter");
writeToLog("get counter =" + CounterRef);
collCRcounter.close();
writeToLog("integer counter ref===" + CounterRef);
//
queryCRcounter.setDQL("Update otp_proc_counter object set counter = " + (CounterRef + 1) + " WHERE counter = " + CounterRef);
collCRcounter = queryCRcounter.execute(super.getSession(), DfQuery.EXEC_QUERY);
collCRcounter.close();
setString("reference_no", "SCM " + (CounterRef + 1));
setString("order_number", "SCM " + (CounterRef + 1));
writeToLog("proc ord = " + (CounterRef + 1));
} else {
// queryCRcounter.setDQL("create otp_proc_counter OBJECTS SET counter = 1");
// collCRcounter = queryCRcounter.execute(super.getSession(), DfQuery.EXEC_QUERY);
collCRcounter.close();
// writeToLog("order number is not null");
}
}else{
System.out.println("type name is not otp_procurement_doc");
// writeToLog("type name is not otp_procurement");
}
super.doSave(saveLock, versionLabel, extendedArgs);
System.out.println("==================== Started Do Save=================");
//writeToLog("==================== Started Do Save=================");
super.setInt("savecount", super.getInt("savecount") + 1);
System.out.println("savecount: " + super.getInt("savecount"));
System.out.println("1Thembani isnew:" + isNew);
// writeToLog("savecount: " + super.getInt("savecount"));
//writeToLog(strDate + strTime);
// writeToLog("1Thembani isnew:" + isNew);
//writeToLog(strDate + strTime);
IDfSysObject sysObj = (IDfSysObject) getSession().getObject(getObjectId());
//byte b[] = {35,36,37,38,39};
//ByteArrayOutputStream out = new ByteArrayOutputStream();
//super.appendContent(out);
//super.doSave(saveLock,versionLabel,extendedArgs);
System.out.println("2Thembani isnew:" + isNew);
// writeToLog("2Thembani isnew:" + isNew);
//writeToLog(strDate + strTime);
if (sysObj == null) {
System.out.println("Save Object can not be found.");
// writeToLog("Save Object can not be found.");
//writeToLog(strDate + strTime);
} else {
System.out.println("Executing On SAVE with " + sysObj.getObjectId().getId());
// writeToLog("Executing On SAVE with " + sysObj.getObjectId().getId());
//writeToLog(strDate + strTime);
//***********link
if (super.getInt("savecount") >= 3) {
linkToFolder(sysObj.getObjectId().getId());
System.out.println("************link executed *************");
// writeToLog("************link executed *************");
//writeToLog(strDate + strTime);
}
//*************end link
super.doSave(saveLock, versionLabel, extendedArgs);
System.out.println("3Thembani isnew:" + isNew);
// writeToLog("3Thembani isnew:" + isNew);
//writeToLog(strDate + strTime);
for (int i = 0; i < super.getVersionLabelCount(); i++) {
if (super.getRepeatingString("r_version_label", i).equals("_NEW_")) {
isNew = true;
}
}
//Making sure that the afterSAveActions method is called only once
if (!isNew && super.getInt("savecount") == 3) {
System.out.println("---------- Calling afterSaveActions from doSave ----------");
// writeToLog("---------- Calling afterSaveActions from doSave ----------");
// writeToLog(strDate + strTime);
//AfterSaveActions();
}
}
System.out.println("Save Count=================" + super.getInt("savecount"));
System.out.println("==================== End Do Save=================");
// writeToLog("Save Count=================" + super.getInt("savecount"));
// writeToLog(strDate + strTime);
// writeToLog("==================== End Do Save=================");
// writeToLog(strDate + strTime);
}//end save()
}