Commit a4625ed8 by TongZuu

init create CheckQuqueWorkflow

parent e56debe3
...@@ -1050,7 +1050,7 @@ public class CscConnection implements Connection { ...@@ -1050,7 +1050,7 @@ public class CscConnection implements Connection {
} }
public NClob createNClob() throws SQLException { public NClob createNClob() throws SQLException {
// TODO Auto-generated method stub // TODO Auto-generated methtod stub
return null; return null;
} }
......
...@@ -49,5 +49,4 @@ public class WorkflowProcess extends MyProcess { ...@@ -49,5 +49,4 @@ public class WorkflowProcess extends MyProcess {
workflow_data.save(); workflow_data.save();
} }
} }
} }
...@@ -7,13 +7,17 @@ import java.rmi.RemoteException; ...@@ -7,13 +7,17 @@ import java.rmi.RemoteException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Vector; import java.util.Vector;
import koala.dynamicjava.tree.ThisExpression;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import com.csc.entity.CSC_Quque; import com.csc.entity.CSC_Quque;
import com.csc.library.database.StaticProperties; import com.csc.library.database.StaticProperties;
import com.csc.library.process.DbProcess; import com.csc.library.process.DbProcess;
import com.csc.library.session.DbInquiry;
import com.csc.library.session.DbRecord; import com.csc.library.session.DbRecord;
import com.csc.library.session.InitialEnvironment; import com.csc.library.session.InitialEnvironment;
import com.csc.library.session.InitialInquiry;
import com.csc.library.session.InitialProcess; import com.csc.library.session.InitialProcess;
import com.csc.library.session.InitialRecord; import com.csc.library.session.InitialRecord;
import com.csc.library.utilities.CscCalendar; import com.csc.library.utilities.CscCalendar;
...@@ -324,6 +328,9 @@ public class GenProcessQuque extends ThreadProcess { ...@@ -324,6 +328,9 @@ public class GenProcessQuque extends ThreadProcess {
} }
public String createImmediateQueue(UProfile upf, HashMap paramdata,String engName, String thaiName, String screenName, String remark,String classname,String process_type,String referkey) throws RemoteException { public String createImmediateQueue(UProfile upf, HashMap paramdata,String engName, String thaiName, String screenName, String remark,String classname,String process_type,String referkey) throws RemoteException {
if( this.isDuplicateProcessWorkflow(upf , param , process_type) ){
return "";
}
DbRecord db = new InitialRecord(upf).getDbRecord("com.csc.entity.CSC_Quque"); DbRecord db = new InitialRecord(upf).getDbRecord("com.csc.entity.CSC_Quque");
CscCalendar d = new CscCalendar(); CscCalendar d = new CscCalendar();
InitialEnvironment inv= new InitialEnvironment("GLOBAL"); InitialEnvironment inv= new InitialEnvironment("GLOBAL");
...@@ -362,4 +369,46 @@ public class GenProcessQuque extends ThreadProcess { ...@@ -362,4 +369,46 @@ public class GenProcessQuque extends ThreadProcess {
return processID; return processID;
} }
private boolean isDuplicateProcessWorkflow(UProfile up , HashMap param , String processType){
if(processType.equalsIgnoreCase("W")){
if(param.containsKey("wf_seq_no") && param.containsKey("step_id")){
String wf_seq_no = param.get("wf_seq_no").toString();
String step_id = param.get("step_id").toString();
String referkey = up.getEmployee()+"$"+wf_seq_no+"$"+step_id;
String filter = "referkey='"+referkey+"'";
if(param.containsKey("transfer_id")){
filter = "("+referkey+" or TR"+param.get("transfer_id").toString()+"$"+wf_seq_no+"$"+step_id+")";
}
DbInquiry inqQ = null;
try{
inqQ = new InitialInquiry(this.getUProfile()).getDbInquiry("com.csc.entity.CSC_Quque");
inqQ.setColumn("ququeid,referkey,companyid");
inqQ.setFilter(filter);
DbRecord workflow_data = new InitialRecord(this.getUProfile()).getDbRecord("Workflow_data_notrigger");
workflow_data.setWFOff();
workflow_data.setColumn(workflow_data.getListKey() + ",q_status");
workflow_data.set("runno", wf_seq_no);
if(workflow_data.search("runno") == 1){
if( workflow_data.getString("q_status").equalsIgnoreCase("F") && inqQ.recCount() == 0){
workflow_data.set("q_status", "W");
workflow_data.setWFOff();
if(workflow_data.save() > 0){
return false;
}
}
}
}catch(Exception e){
MyLog.error(this ,up , e);
}finally{
if( inqQ != null ){
inqQ.closeConnection();
}
}
}
}else{
return false;
}
return true;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment