2018-06-03 22:26:41 +08:00

131 lines
6.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@page import="com.amarsoft.are.util.json.JSONObject"%>
<%@page import="com.amarsoft.are.util.json.JSONDecoder"%>
<%@page import="com.amarsoft.dict.als.manage.NameManager"%>
<%@page import="com.amarsoft.are.jbo.JBOTransaction"%>
<%@page import="com.amarsoft.are.jbo.BizObject"%>
<%@page import="com.amarsoft.are.jbo.JBOFactory"%>
<%@page import="com.amarsoft.are.jbo.BizObjectManager"%>
<%@page import="com.tenwa.flow.service.FlowUserManageServieImp"%>
<%@page import="com.tenwa.flow.service.FlowUserManageServie"%>
<%@ page contentType="text/html; charset=GBK"%>
<%@ include file="/IncludeBeginMDAJAX.jsp"%><%
JBOTransaction tx = JBOFactory.createJBOTransaction();
String result = "";
String xCoordinate = CurPage.getParameter("xcoordinate");
String yCoordinate = CurPage.getParameter("ycoordinate");
String flowno = CurPage.getParameter("flowno");
String flowunid = CurPage.getParameter("flowunid");
BizObjectManager fmManager = JBOFactory.getBizObjectManager("jbo.sys.FLOW_MODEL");
BizObjectManager ftManager = JBOFactory.getBizObjectManager("jbo.sys.FLOW_TASK");
BizObject fm = fmManager.createQuery("xcoordinate=:xcoordinate and ycoordinate=:ycoordinate and flowno=:flowno ")
.setParameter("xcoordinate",xCoordinate).setParameter("ycoordinate",yCoordinate).setParameter("flowno",flowno).getSingleResult(false);
String phaseno = fm.getAttribute("phaseno").getString();
String userMethod = fm.getAttribute("ATTRIBUTE7").getString();
String operatorNunber=fm.getAttribute("ATTRIBUTE8").getString();
String userinfo = fm.getAttribute("ACTIONSCRIPT").getString();
String initUserNames="";
if(!phaseno.equals("0010")){
JSONObject jsonConfigs=JSONDecoder.decode(userinfo);
for(int j=0;j<jsonConfigs.size();j++){
JSONObject jsonConfig = (JSONObject) jsonConfigs.get(j).getValue();
String ctype=jsonConfig.getValue("usertype").toString();
String userconfig=jsonConfig.getValue("userinfo").toString();
if(initUserNames.length()>0)initUserNames+="£»";
if(ctype.equals("¸ù¾ÝSQLÓï¾ä")){
FlowUserManageServie fUserManager=new FlowUserManageServieImp(Sqlca,new ASUser(""));
Map<String,String>model=new HashMap<String,String>();
model.put("FlowUnid", flowunid);
model.put("ObjectNo", flowunid);
Map<String,String>mapUserInfo = fUserManager.getDesignatedSQL(model,userconfig);
String userNames="";
for(String key:mapUserInfo.keySet()){
if(userNames.length()>0){userNames+="£¬";}
userNames+=mapUserInfo.get(key);
}
initUserNames+=userNames;
}else{
String[] userconfigs = userconfig.split(",");
initUserNames+=userconfigs[1];
}
}
}
if(userMethod.equals("01")){
List<BizObject> fts = ftManager.createQuery("objectno=:objectno and phaseno=:phaseno order by begintime desc ").setParameter("objectno",flowunid).setParameter("phaseno",phaseno).getResultList(false);
if(fts.size()==0){
result=initUserNames+"@"+"";
}else{
String endtime = fts.get(0).getAttribute("endtime").getString();
String userId = fts.get(0).getAttribute("userid").getString();
String userName = NameManager.getUserName(userId);
if(endtime==null || endtime.equals("")){
result = userName+"@"+"";
}else{
result = userName+"@"+endtime;
}
}
}else if(userMethod.equals("02")){
List<BizObject> fts = ftManager.createQuery("objectno=:objectno and phaseno=:phaseno ").setParameter("objectno",flowunid).setParameter("phaseno",phaseno).getResultList(false);
if(fts.size()==0){
if(userinfo!=null && !userinfo.equals("")){
result=initUserNames+"@"+"";
}
}else{
String userNames = "";
for(BizObject ft:fts){
if(userNames.length()>0){userNames+="£¬";}
userNames+= NameManager.getUserName(ft.getAttribute("userid").getString());
}
List<BizObject> unsubmit = ftManager.createQuery("objectno=:objectno and phaseno=:phaseno and (endtime is null or endtime ='') ").setParameter("objectno",flowunid).setParameter("phaseno",phaseno).getResultList(false);
if(unsubmit.size()>0){
result = userNames+"@"+"";
}else{
List<BizObject> submit = ftManager.createQuery("objectno=:objectno and phaseno=:phaseno order by endtime desc ").setParameter("objectno",flowunid).setParameter("phaseno",phaseno).getResultList(false);
result = userNames+"@"+submit.get(0).getAttribute("endtime").getString();
}
}
}else if(userMethod.equals("03")){
List<BizObject> fts = ftManager.createQuery("objectno=:objectno and phaseno=:phaseno ").setParameter("objectno",flowunid).setParameter("phaseno",phaseno).getResultList(false);
if(fts.size()==0){
result=initUserNames+"@"+"";
}else{
List<BizObject> submit = ftManager.createQuery("objectno=:objectno and phaseno=:phaseno and endTime is not null and length(endTime)>0 order by endtime ").setParameter("objectno",flowunid).setParameter("phaseno",phaseno).getResultList(false);
if(submit.size()>0){
String userName =NameManager.getUserName(submit.get(0).getAttribute("userid").getString());
result = userName+"@"+submit.get(0).getAttribute("endtime").getString();
}else{
String userNames = "";
for(BizObject ft:fts){
if(userNames.length()>0){userNames+="£¬";}
userNames+= NameManager.getUserName(ft.getAttribute("userid").getString());
}
result = userNames+"@"+"";
}
}
}else{
List<BizObject> fts = ftManager.createQuery("objectno=:objectno and phaseno=:phaseno ").setParameter("objectno",flowunid).setParameter("phaseno",phaseno).getResultList(false);
if(fts.size()==0){
result=initUserNames+"@"+"";
}else{
List<BizObject> submit = ftManager.createQuery("objectno=:objectno and phaseno=:phaseno and endTime is not null and endTime<>'' order by endtime desc").setParameter("objectno",flowunid).setParameter("phaseno",phaseno).getResultList(false);
Integer configNumber=Integer.valueOf("operatorNunber");
if(submit.size()<configNumber){
String userNames = "";
for(BizObject ft:fts){
if(userNames.length()>0){userNames+="£¬";}
userNames+= NameManager.getUserName(ft.getAttribute("userid").getString());
}
result = userNames+"@"+"";
}else{
String userNames = "";
for(BizObject sub:submit){
if(userNames.length()>0){userNames+="£¬";}
userNames+= NameManager.getUserName(sub.getAttribute("userid").getString());
}
result = userNames+"@"+submit.get(0).getAttribute("endtime").getString();
}
}
}
out.println(result);
%><%@ include file="/IncludeEndAJAX.jsp"%>