Commit a4625ed8 by TongZuu

init create CheckQuqueWorkflow

parent e56debe3
......@@ -1050,7 +1050,7 @@ public class CscConnection implements Connection {
}
public NClob createNClob() throws SQLException {
// TODO Auto-generated method stub
// TODO Auto-generated methtod stub
return null;
}
......
......@@ -49,5 +49,4 @@ public class WorkflowProcess extends MyProcess {
workflow_data.save();
}
}
}
......@@ -7,13 +7,17 @@ import java.rmi.RemoteException;
import java.util.HashMap;
import java.util.Vector;
import koala.dynamicjava.tree.ThisExpression;
import org.apache.commons.lang.StringUtils;
import com.csc.entity.CSC_Quque;
import com.csc.library.database.StaticProperties;
import com.csc.library.process.DbProcess;
import com.csc.library.session.DbInquiry;
import com.csc.library.session.DbRecord;
import com.csc.library.session.InitialEnvironment;
import com.csc.library.session.InitialInquiry;
import com.csc.library.session.InitialProcess;
import com.csc.library.session.InitialRecord;
import com.csc.library.utilities.CscCalendar;
......@@ -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 {
if( this.isDuplicateProcessWorkflow(upf , param , process_type) ){
return "";
}
DbRecord db = new InitialRecord(upf).getDbRecord("com.csc.entity.CSC_Quque");
CscCalendar d = new CscCalendar();
InitialEnvironment inv= new InitialEnvironment("GLOBAL");
......@@ -362,4 +369,46 @@ public class GenProcessQuque extends ThreadProcess {
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