auto 1111

ht
qijirenjian 2 months ago
parent 7fe2a5edff
commit 514e7f2bc0

@ -82,13 +82,15 @@ public class ApiController {
Map<String ,String > map = new HashMap<>();
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");
rs.setTenantKey("t6kj9c07jr");
rs.executeQuery(sql);
String poolname ="E10JTZH";
logger.error("sql == " +sql);
logger.error("poolname == " +poolname);
rs.executeQuery(sql,poolname);
if(rs.next()){
map.put("username" , rs.getString("username"));
map.put("id" ,rs.getString("id"));
map.put("workflowid" , rs.getString("workflowid"));
}
logger.error("map == " +map);
// 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.hrm.util.HrmCommonUtil;
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.FormDataDuty;
import com.weaver.seconddev.njwebservice.prop.ConfigProp;
import com.weaver.seconddev.njwebservice.util.*;
import com.weaver.teams.domain.user.SimpleEmployee;
import com.weaver.verupgrade.conn.RecordSet;
import com.weaver.verupgrade.hrm.company.DepartmentComInfo;
import com.weaver.verupgrade.workflow.workflow.WorkflowAllComInfo;
import org.apache.commons.collections.CollectionUtils;
@ -47,12 +51,21 @@ public class AutoCreateWorkflowService {
@Autowired
private DepartmentComInfo departmentComInfo;
@Autowired
private ConfigProp configProp;
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){
log.error("AutoCreateWorkflowService start");
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接口逻辑
String currentDate = DateUtils.getCurrentDate();
String curDateTime = DateUtils.getCurDateTime();
@ -93,21 +106,29 @@ public class AutoCreateWorkflowService {
//3.根据工号获取创建人id (租户概念后续增加)
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<>();
// String sourceType = "LOGIC";
String sourceType = zhsjy;
log.error("createWorkflow sql1 :"+sql);
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);
log.error("createWorkflow sql1 :"+sql + " sourceType : " +sourceType);
RecordSet rs = I18nContextUtil.getBean(RecordSet.class);
rs.executeQuery(sql, zhsjy);
String tenantKey = "";
if(rs.next()){
creator = rs.getString("ID");
tenantKey = rs.getString("TENANT_KEY");
}
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);
@ -185,6 +206,7 @@ public class AutoCreateWorkflowService {
String hrmResource = (String) mainMap.get("hrm:"+str2);
Long id = getIdByWorkcode(hrmResource,createTenantKey,zhsjy);
SimpleEmployee simpleEmployee = hrmCommonUtil.getSimpleEmployee(id);
log.error("simpleEmployee == " + simpleEmployee.toString());
optionId = simpleEmployee.getDepartmentId();
if (key.contains("com:")) {
optionId = Long.valueOf(departmentComInfo.getSubcompanyid1(String.valueOf(optionId)));
@ -415,13 +437,19 @@ public class AutoCreateWorkflowService {
Map<String,Object> recordMap = new HashMap<>();
// String sourceType = "LOGIC";
String sourceType = zhsjy;
Map<String, Object> result = databaseUtils.execute(sourceType, groupId, sql);
List<Map<String,Object>> recordList = databaseUtils.getDataSourceList(result);
if(CollectionUtils.isNotEmpty(recordList)){
recordMap = recordList.get(0);
// Map<String, Object> result = databaseUtils.execute(sourceType, groupId, sql);
// List<Map<String,Object>> recordList = databaseUtils.getDataSourceList(result);
// if(CollectionUtils.isNotEmpty(recordList)){
// 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"));
return recordMap.get("id") == null ? null :(Long) recordMap.get("id");
log.error("人员ID"+id);
return id == null ? null :(Long) recordMap.get("id");
}
}

@ -1,22 +1,33 @@
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.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.ToDoRequestReq;
import com.weaver.seconddev.njwebservice.entity.ToDoRequestRes;
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.RecordSet;
import com.weaver.verupgrade.workflow.webservices.WorkflowBaseInfo;
import com.weaver.verupgrade.workflow.webservices.WorkflowRequestInfo;
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.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
*
@ -27,7 +38,13 @@ public class OutToDoWorkflowService {
@Autowired
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);
@ -56,6 +73,13 @@ public class OutToDoWorkflowService {
log.error("outToDoWorkflowList入参:"+param);
// 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 配置
String pc_url = "";
String mobile_url = "";
@ -70,8 +94,8 @@ public class OutToDoWorkflowService {
param.setWorkcode(Util.null2String(rs.getString("id")));
Long userId = Util.getLongValue(rs.getString("id"));
log.error("用户id:"+userId);
WorkflowRequestInfo[] info = workflowService.getToDoWorkflowRequestList(Integer.parseInt(param.getPageNo()), Integer.parseInt(param.getPageSize()),
Integer.parseInt(param.getRecordCount()), userId, param.getConditions());
WorkflowRequestInfo[] info = new OutToDoWorkflowService().getWorkflowRequestListByType(Integer.parseInt(param.getPageNo()), Integer.parseInt(param.getPageSize()),
Integer.parseInt(param.getRecordCount()), userId, param.getConditions(),"todo");
log.error("info:"+info.length);
res.setMsg("find:" + info.length);
@ -100,4 +124,87 @@ public class OutToDoWorkflowService {
}
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}")
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) {
String workflowid = "";
RecordSet rs = I18nContextUtil.getBean(RecordSet.class);
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 + "'";
//log.error("oaflowid:"+sql+" zhsjy:"+zhsjy);
rs.executeSql(sql, zhsjy);
//log.error(JSON.toJSONString(rs.getExecuteResult()));
if (rs.next()) {
workflowid = Util.null2String(rs.getString("workflowid"));
try{
RecordSet rs = I18nContextUtil.getBean(RecordSet.class);
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 + "'";
log.error("oaflowid: "+sql+" zhsjy: "+zhsjy + " tenantKey: " +tenantKey );
boolean b1 = rs.executeQuery(sql, zhsjy);
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;
}

Loading…
Cancel
Save