auto 1111

ht
qijirenjian 4 months ago
parent 7fe2a5edff
commit 514e7f2bc0

@ -82,13 +82,15 @@ public class ApiController {
Map<String ,String > map = new HashMap<>(); Map<String ,String > map = new HashMap<>();
RecordSet rs = I18nContextUtil.getBean(RecordSet.class); RecordSet rs = I18nContextUtil.getBean(RecordSet.class);
String sql = "select * from eteams.dbo.employee where id = 100001700000000003"; String sql = "SELECT CASE WHEN status = 1 THEN id ELSE activewfid END AS workflowid FROM e10_core_business.dbo.wfp_base WHERE id like '%00004537' AND delete_type = 0 AND tenant_key = 't6kj9c07jr'";
TenantRpcContext.setTargetTenantKey("t6kj9c07jr"); TenantRpcContext.setTargetTenantKey("t6kj9c07jr");
rs.setTenantKey("t6kj9c07jr"); rs.setTenantKey("t6kj9c07jr");
rs.executeQuery(sql); String poolname ="E10JTZH";
logger.error("sql == " +sql);
logger.error("poolname == " +poolname);
rs.executeQuery(sql,poolname);
if(rs.next()){ if(rs.next()){
map.put("username" , rs.getString("username")); map.put("workflowid" , rs.getString("workflowid"));
map.put("id" ,rs.getString("id"));
} }
logger.error("map == " +map); logger.error("map == " +map);
// logger.error("ApiController info : hello " ); // logger.error("ApiController info : hello " );

@ -7,10 +7,14 @@ import com.alibaba.fastjson.JSONObject;
import com.weaver.common.elog.util.DateUtils; import com.weaver.common.elog.util.DateUtils;
import com.weaver.common.hrm.util.HrmCommonUtil; import com.weaver.common.hrm.util.HrmCommonUtil;
import com.weaver.common.hrm.util.StringUtils; import com.weaver.common.hrm.util.StringUtils;
import com.weaver.common.i18n.tool.util.I18nContextUtil;
import com.weaver.framework.rpc.context.impl.TenantRpcContext;
import com.weaver.seconddev.njwebservice.entity.DataOptions; import com.weaver.seconddev.njwebservice.entity.DataOptions;
import com.weaver.seconddev.njwebservice.entity.FormDataDuty; import com.weaver.seconddev.njwebservice.entity.FormDataDuty;
import com.weaver.seconddev.njwebservice.prop.ConfigProp;
import com.weaver.seconddev.njwebservice.util.*; import com.weaver.seconddev.njwebservice.util.*;
import com.weaver.teams.domain.user.SimpleEmployee; import com.weaver.teams.domain.user.SimpleEmployee;
import com.weaver.verupgrade.conn.RecordSet;
import com.weaver.verupgrade.hrm.company.DepartmentComInfo; import com.weaver.verupgrade.hrm.company.DepartmentComInfo;
import com.weaver.verupgrade.workflow.workflow.WorkflowAllComInfo; import com.weaver.verupgrade.workflow.workflow.WorkflowAllComInfo;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
@ -47,12 +51,21 @@ public class AutoCreateWorkflowService {
@Autowired @Autowired
private DepartmentComInfo departmentComInfo; private DepartmentComInfo departmentComInfo;
@Autowired
private ConfigProp configProp;
private static final String HOST = "http://10.6.23.235:20600/papi/openapi"; private static final String HOST = "http://10.6.23.235:20600/papi/openapi";
public String createWorkflow(String loginName, String password, String workflowId, String creator, String requestLevel, String mainTable , String[] detailTables){ public String createWorkflow(String loginName, String password, String workflowId, String creator, String requestLevel, String mainTable , String[] detailTables){
log.error("AutoCreateWorkflowService start"); log.error("AutoCreateWorkflowService start");
log.error("loginName:"+loginName+"=> password:"+password+"=> workflowId:"+workflowId+"=> creator:"+creator); log.error("loginName:"+loginName+"=> password:"+password+"=> workflowId:"+workflowId+"=> creator:"+creator);
String jtzhkey = configProp.getJtzhkey();
String jtzhadmin = configProp.getJtzhadmin();
//log.error("jtzhkey:"+jtzhkey+" jtzhadmin:"+itzhadmin);
TenantRpcContext.setTargetTenantKey(jtzhkey);
TenantRpcContext.setTargetEmployeeId(jtzhadmin);
//实现自定义webservice接口逻辑 //实现自定义webservice接口逻辑
String currentDate = DateUtils.getCurrentDate(); String currentDate = DateUtils.getCurrentDate();
String curDateTime = DateUtils.getCurDateTime(); String curDateTime = DateUtils.getCurDateTime();
@ -93,21 +106,29 @@ public class AutoCreateWorkflowService {
//3.根据工号获取创建人id (租户概念后续增加) //3.根据工号获取创建人id (租户概念后续增加)
String groupId = "weaver-ebuilder-form-service";//不确定 String groupId = "weaver-ebuilder-form-service";//不确定
String sql = "select ID,TENANT_KEY from eteams.employee where status = 'normal' and job_num = '"+creator+"' and tenant_key = '"+createTenantKey+"'"; String sql = "select ID,TENANT_KEY from eteams.dbo.employee where status = 'normal' and job_num = '"+creator+"' and tenant_key = '"+createTenantKey+"'";
Map<String,Object> recordMap = new HashMap<>(); Map<String,Object> recordMap = new HashMap<>();
// String sourceType = "LOGIC"; // String sourceType = "LOGIC";
String sourceType = zhsjy; String sourceType = zhsjy;
log.error("createWorkflow sql1 :"+sql); log.error("createWorkflow sql1 :"+sql + " sourceType : " +sourceType);
RecordSet rs = I18nContextUtil.getBean(RecordSet.class);
Map<String, Object> result = databaseUtils.execute(sourceType, groupId, sql); rs.executeQuery(sql, zhsjy);
List<Map<String,Object>> recordList = databaseUtils.getDataSourceList(result); String tenantKey = "";
if(rs.next()){
log.error("recordList : "+recordList); creator = rs.getString("ID");
if(CollectionUtils.isNotEmpty(recordList)){ tenantKey = rs.getString("TENANT_KEY");
recordMap = recordList.get(0);
} }
creator = String.valueOf(recordMap.get("id"));
String tenantKey = (String)recordMap.get("tenant_key"); // Map<String, Object> result = databaseUtils.execute(sourceType, groupId, sql);
// List<Map<String,Object>> recordList = databaseUtils.getDataSourceList(result);
//
// log.error("recordList : "+recordList);
// if(CollectionUtils.isNotEmpty(recordList)){
// recordMap = recordList.get(0);
// }
// creator = String.valueOf(recordMap.get("id"));
// String tenantKey = (String)recordMap.get("tenant_key");
log.error("创建人ID:" + creator + " 租户key:" + tenantKey); log.error("创建人ID:" + creator + " 租户key:" + tenantKey);
@ -185,6 +206,7 @@ public class AutoCreateWorkflowService {
String hrmResource = (String) mainMap.get("hrm:"+str2); String hrmResource = (String) mainMap.get("hrm:"+str2);
Long id = getIdByWorkcode(hrmResource,createTenantKey,zhsjy); Long id = getIdByWorkcode(hrmResource,createTenantKey,zhsjy);
SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(id); SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(id);
log.error("simpleEmployee == " + simpleEmployee.toString());
optionId = simpleEmployee.getDepartmentId(); optionId = simpleEmployee.getDepartmentId();
if (key.contains("com:")) { if (key.contains("com:")) {
optionId = Long.valueOf(departmentComInfo.getSubcompanyid1(String.valueOf(optionId))); optionId = Long.valueOf(departmentComInfo.getSubcompanyid1(String.valueOf(optionId)));
@ -415,13 +437,19 @@ public class AutoCreateWorkflowService {
Map<String,Object> recordMap = new HashMap<>(); Map<String,Object> recordMap = new HashMap<>();
// String sourceType = "LOGIC"; // String sourceType = "LOGIC";
String sourceType = zhsjy; String sourceType = zhsjy;
Map<String, Object> result = databaseUtils.execute(sourceType, groupId, sql); // Map<String, Object> result = databaseUtils.execute(sourceType, groupId, sql);
List<Map<String,Object>> recordList = databaseUtils.getDataSourceList(result); // List<Map<String,Object>> recordList = databaseUtils.getDataSourceList(result);
if(CollectionUtils.isNotEmpty(recordList)){ // if(CollectionUtils.isNotEmpty(recordList)){
recordMap = recordList.get(0); // recordMap = recordList.get(0);
// }
RecordSet rs = I18nContextUtil.getBean(RecordSet.class);
rs.executeQuery(sql, zhsjy);
Long id = null;
if(rs.next()){
id = Long.parseLong(rs.getString("id"));
} }
log.error("人员ID"+recordMap.get("id")); log.error("人员ID"+id);
return recordMap.get("id") == null ? null :(Long) recordMap.get("id"); return id == null ? null :(Long) recordMap.get("id");
} }
} }

@ -1,22 +1,33 @@
package com.weaver.seconddev.njwebservice; package com.weaver.seconddev.njwebservice;
import com.alibaba.fastjson.JSON; import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.common.hrm.util.HrmCommonUtil;
import com.weaver.common.hrm.util.Util; import com.weaver.common.hrm.util.Util;
import com.weaver.common.i18n.tool.util.I18nContextUtil; import com.weaver.common.i18n.tool.util.I18nContextUtil;
import com.weaver.framework.rpc.annotation.RpcReference;
import com.weaver.framework.rpc.context.impl.TenantRpcContext;
import com.weaver.seconddev.njwebservice.entity.ToDoCountReq; import com.weaver.seconddev.njwebservice.entity.ToDoCountReq;
import com.weaver.seconddev.njwebservice.entity.ToDoRequestReq; import com.weaver.seconddev.njwebservice.entity.ToDoRequestReq;
import com.weaver.seconddev.njwebservice.entity.ToDoRequestRes; import com.weaver.seconddev.njwebservice.entity.ToDoRequestRes;
import com.weaver.seconddev.njwebservice.entity.ToDoWorkFlow; import com.weaver.seconddev.njwebservice.entity.ToDoWorkFlow;
import com.weaver.seconddev.njwebservice.prop.ConfigProp;
import com.weaver.teams.domain.user.SimpleEmployee;
import com.weaver.verupgrade.conn.CONN_TYPE; import com.weaver.verupgrade.conn.CONN_TYPE;
import com.weaver.verupgrade.conn.RecordSet; import com.weaver.verupgrade.conn.RecordSet;
import com.weaver.verupgrade.workflow.webservices.WorkflowBaseInfo;
import com.weaver.verupgrade.workflow.webservices.WorkflowRequestInfo; import com.weaver.verupgrade.workflow.webservices.WorkflowRequestInfo;
import com.weaver.verupgrade.workflow.webservices.WorkflowService; import com.weaver.verupgrade.workflow.webservices.WorkflowService;
import com.weaver.workflow.common.entity.list.api.RequestListConditionApiEntity;
import com.weaver.workflow.common.entity.list.api.publicapi.RequestListInfoPAEntity;
import com.weaver.workflow.list.api.rest.publicapi.WflRequestListRest;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/** /**
* *
@ -27,7 +38,13 @@ public class OutToDoWorkflowService {
@Autowired @Autowired
private WorkflowService workflowService; private WorkflowService workflowService;
@Autowired
private HrmCommonUtil hrmCommonUtil;
@Autowired
private ConfigProp configProp;
@RpcReference(group = "workflow")
private WflRequestListRest wflRequestListRest;
private final static Logger log = LoggerFactory.getLogger(OutToDoWorkflowService.class); private final static Logger log = LoggerFactory.getLogger(OutToDoWorkflowService.class);
@ -56,6 +73,13 @@ public class OutToDoWorkflowService {
log.error("outToDoWorkflowList入参:"+param); log.error("outToDoWorkflowList入参:"+param);
// ToDoRequestReq param = JSON.parseObject(json, ToDoRequestReq.class); // ToDoRequestReq param = JSON.parseObject(json, ToDoRequestReq.class);
String jtzhkey = configProp.getJtzhkey();
String jtzhadmin = configProp.getJtzhadmin();
log.error("jtzhkey:"+jtzhkey+" jtzhadmin:"+jtzhadmin);
TenantRpcContext.setTargetTenantKey(jtzhkey);
TenantRpcContext.setTargetEmployeeId(jtzhadmin);
// todo 访问ip 配置 // todo 访问ip 配置
String pc_url = ""; String pc_url = "";
String mobile_url = ""; String mobile_url = "";
@ -70,8 +94,8 @@ public class OutToDoWorkflowService {
param.setWorkcode(Util.null2String(rs.getString("id"))); param.setWorkcode(Util.null2String(rs.getString("id")));
Long userId = Util.getLongValue(rs.getString("id")); Long userId = Util.getLongValue(rs.getString("id"));
log.error("用户id:"+userId); log.error("用户id:"+userId);
WorkflowRequestInfo[] info = workflowService.getToDoWorkflowRequestList(Integer.parseInt(param.getPageNo()), Integer.parseInt(param.getPageSize()), WorkflowRequestInfo[] info = new OutToDoWorkflowService().getWorkflowRequestListByType(Integer.parseInt(param.getPageNo()), Integer.parseInt(param.getPageSize()),
Integer.parseInt(param.getRecordCount()), userId, param.getConditions()); Integer.parseInt(param.getRecordCount()), userId, param.getConditions(),"todo");
log.error("info:"+info.length); log.error("info:"+info.length);
res.setMsg("find:" + info.length); res.setMsg("find:" + info.length);
@ -100,4 +124,87 @@ public class OutToDoWorkflowService {
} }
return res; return res;
} }
public WorkflowRequestInfo[] getWorkflowRequestListByType(int pageNo, int pageSize, int recordCount, Long userId, String[] conditions,String type) {
List wris = new ArrayList();
RecordSet recordSet=new RecordSet();
try {
SimpleEmployee employee = hrmCommonUtil.getSimpleEmployee(userId);
RequestListConditionApiEntity conditionEntity=new RequestListConditionApiEntity();
WeaResult<List<RequestListInfoPAEntity>> weaResult=null;
if("todo".equals(type)){//代办
weaResult=wflRequestListRest.getToDoWorkflowRequestList(employee, conditionEntity,pageNo, pageSize);
}else if("done".equals(type)){//已办
weaResult=wflRequestListRest.getHandledWorkflowRequestList(employee, conditionEntity,pageNo, pageSize);
} else if ("processed".equals(type)) {//办结
weaResult=wflRequestListRest.getProcessedWorkflowRequestList(employee, conditionEntity,pageNo, pageSize);
}
if(weaResult!=null) {
if (weaResult.isStatus()&&weaResult.getData().size()>0) {
List<RequestListInfoPAEntity> requestListInfoPAEntities = weaResult.getData();
for (RequestListInfoPAEntity requestListInfoPA : requestListInfoPAEntities) {
WorkflowRequestInfo wri = new WorkflowRequestInfo();
wri.setRequestId(com.weaver.verupgrade.general.Util.null2String(requestListInfoPA.getRequestid()));
wri.setRequestName(com.weaver.verupgrade.general.Util.null2String(requestListInfoPA.getRequestname()));
wri.setRequestLevel(com.weaver.verupgrade.general.Util.null2String(requestListInfoPA.getRequestLevel()));
//设置工作流基本信息
WorkflowBaseInfo workflowBaseInfo = new WorkflowBaseInfo();
workflowBaseInfo.setWorkflowId(com.weaver.verupgrade.general.Util.null2String(requestListInfoPA.getWorkflowid()));
workflowBaseInfo.setWorkflowName(com.weaver.verupgrade.general.Util.null2String(requestListInfoPA.getWorkflowName()));
workflowBaseInfo.setWorkflowTypeId(com.weaver.verupgrade.general.Util.null2String(requestListInfoPA.getWorkflowType()));
workflowBaseInfo.setWorkflowTypeName(com.weaver.verupgrade.general.Util.null2String(requestListInfoPA.getWorkflowTypeName()));
wri.setWorkflowBaseInfo(workflowBaseInfo);
// if(requestListInfoPA.getCurrentNodeInfo().size()>0){
// wri.setCurrentNodeName(Util.null2String(requestListInfoPA.getCurrentNodeInfo().get(0).getNodeName()));
// wri.setCurrentNodeId(requestListInfoPA.getCurrentNodeInfo().get(0).getId() + "");
// }
//列表不会有当前节点信息,需要单独走下接口 com.weaver.workflow.core.api.rest.seconddev.WfcRequestGetDataRpc4SecondDev#getCurrentNodeByRequestID
// List<Long> requestIds=new ArrayList<>();
// requestIds.add(requestListInfoPA.getRequestid());
// WeaUser user = OrgUtil.getIn18User(userId);
// Map<Long, SecDevWfcSimpleNodeEntity> map= wfcRequestGetDataRpc4SecondDev.getCurrentNodeByRequestID(requestIds,user);
// SecDevWfcSimpleNodeEntity secDevWfcSimpleNodeEntity=map.get(requestListInfoPA.getRequestid());
// if(secDevWfcSimpleNodeEntity!=null){
// wri.setCurrentNodeName(Util.null2String(secDevWfcSimpleNodeEntity.getNodeName()));
// wri.setCurrentNodeId( Util.null2String( secDevWfcSimpleNodeEntity.getId()));
// }
String sql="select wc.nodeid,wp.nodename as nodename1,wpf.nodename as nodename2 from wfc_currentnode wc left join wfp_node wp on wc.nodeid=wp.id left join wfpf_node wpf on wc.nodeid=wpf.id where wc.tenant_key=? and wc.requestid=? and wc.delete_type=0 order by wc.create_time desc" ;
recordSet.executeForWf(sql, employee.getTenantKey(), requestListInfoPA.getRequestid()+"");
if(recordSet.next()){
String nodeid= com.weaver.verupgrade.general.Util.null2String(recordSet.getString("nodeid"));
String nodename1= com.weaver.verupgrade.general.Util.null2String(recordSet.getString("nodename1"));
String nodename2= com.weaver.verupgrade.general.Util.null2String(recordSet.getString("nodename2"));
wri.setCurrentNodeName(nodename1);
if("".equals(nodename1)){
wri.setCurrentNodeName(nodename2);
}
wri.setCurrentNodeId(nodeid);
}
wri.setCreatorId(com.weaver.verupgrade.general.Util.null2String(requestListInfoPA.getCreatorId()));
wri.setCreatorName(com.weaver.verupgrade.general.Util.null2String(requestListInfoPA.getCreatorName()));
wri.setCreateTime(com.weaver.verupgrade.general.Util.null2String(requestListInfoPA.getCreateTime()));
wri.setLastOperatorName(com.weaver.verupgrade.general.Util.null2String(requestListInfoPA.getLastOperatorName()));
wri.setLastOperateTime(com.weaver.verupgrade.general.Util.null2String(requestListInfoPA.getLastOperateTime()));
wri.setReceiveTime(com.weaver.verupgrade.general.Util.null2String(requestListInfoPA.getReceiveTime()));
wris.add(wri);
}
}
}
} catch (Exception e) {
log.error("getWorkflowRequestListByType>>>>error",e);
}
WorkflowRequestInfo[] wriarrays = new WorkflowRequestInfo[wris.size()];
for (int i = 0; i < wris.size(); i++)
wriarrays[i] = (WorkflowRequestInfo) wris.get(i);
return wriarrays;
}
} }

@ -14,5 +14,11 @@ public class ConfigProp {
@Value("${ZWZDYW}") @Value("${ZWZDYW}")
private String ZWZDYW; private String ZWZDYW;
@Value("${jtzhkey}")
private String jtzhkey;
@Value("${jtzhadmin}")
private String jtzhadmin;
} }

@ -212,15 +212,23 @@ public class WfUtil {
public String getValidWfid(String tenantKey,String wfid,String zhsjy,String jtzhTenantKey) { public String getValidWfid(String tenantKey,String wfid,String zhsjy,String jtzhTenantKey) {
String workflowid = ""; String workflowid = "";
RecordSet rs = I18nContextUtil.getBean(RecordSet.class); try{
rs.setTenantKey(jtzhTenantKey);
String sql = "SELECT CASE WHEN status = 1 THEN id ELSE activewfid END AS workflowid FROM e10_core_business.dbo.wfp_base WHERE id like '%" + wfid + "' AND delete_type = 0 AND tenant_key = '" + tenantKey + "'"; RecordSet rs = I18nContextUtil.getBean(RecordSet.class);
//log.error("oaflowid:"+sql+" zhsjy:"+zhsjy); rs.setTenantKey(jtzhTenantKey);
rs.executeSql(sql, zhsjy); String sql = "SELECT CASE WHEN status = 1 THEN id ELSE activewfid END AS workflowid FROM e10_core_business.dbo.wfp_base WHERE id like '%" + wfid + "' AND delete_type = 0 AND tenant_key = '" + tenantKey + "'";
//log.error(JSON.toJSONString(rs.getExecuteResult())); log.error("oaflowid: "+sql+" zhsjy: "+zhsjy + " tenantKey: " +tenantKey );
if (rs.next()) { boolean b1 = rs.executeQuery(sql, zhsjy);
workflowid = Util.null2String(rs.getString("workflowid")); log.error("b1 : "+b1 + "result: "+rs.getExecuteResult().toString());
if (rs.next()) {
workflowid = Util.null2String(rs.getString("workflowid"));
}
}catch (Exception e){
e.printStackTrace();
log.error("getValidWfid -err " + e);
} }
return workflowid; return workflowid;
} }

Loading…
Cancel
Save