diff --git a/secondev-history-action/src/main/java/com/weaver/seconddev/interfaces/workflow/controller/ApiController.java b/secondev-history-action/src/main/java/com/weaver/seconddev/interfaces/workflow/controller/ApiController.java index 420f230..0cf1e78 100644 --- a/secondev-history-action/src/main/java/com/weaver/seconddev/interfaces/workflow/controller/ApiController.java +++ b/secondev-history-action/src/main/java/com/weaver/seconddev/interfaces/workflow/controller/ApiController.java @@ -82,13 +82,15 @@ public class ApiController { Map 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 " ); diff --git a/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/AutoCreateWorkflowService.java b/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/AutoCreateWorkflowService.java index 9c475e4..f35386c 100644 --- a/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/AutoCreateWorkflowService.java +++ b/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/AutoCreateWorkflowService.java @@ -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 recordMap = new HashMap<>(); // String sourceType = "LOGIC"; String sourceType = zhsjy; - log.error("createWorkflow sql1 :"+sql); - - Map result = databaseUtils.execute(sourceType, groupId, sql); - List> 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 result = databaseUtils.execute(sourceType, groupId, sql); +// List> 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 recordMap = new HashMap<>(); // String sourceType = "LOGIC"; String sourceType = zhsjy; - Map result = databaseUtils.execute(sourceType, groupId, sql); - List> recordList = databaseUtils.getDataSourceList(result); - if(CollectionUtils.isNotEmpty(recordList)){ - recordMap = recordList.get(0); +// Map result = databaseUtils.execute(sourceType, groupId, sql); +// List> 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"); } } \ No newline at end of file diff --git a/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/OutToDoWorkflowService.java b/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/OutToDoWorkflowService.java index 077247e..5091b00 100644 --- a/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/OutToDoWorkflowService.java +++ b/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/OutToDoWorkflowService.java @@ -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> 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 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 requestIds=new ArrayList<>(); +// requestIds.add(requestListInfoPA.getRequestid()); +// WeaUser user = OrgUtil.getIn18User(userId); +// Map 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; + } + + } diff --git a/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/prop/ConfigProp.java b/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/prop/ConfigProp.java index 13a453a..bde3e46 100644 --- a/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/prop/ConfigProp.java +++ b/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/prop/ConfigProp.java @@ -14,5 +14,11 @@ public class ConfigProp { @Value("${ZWZDYW}") private String ZWZDYW; + @Value("${jtzhkey}") + private String jtzhkey; + + @Value("${jtzhadmin}") + private String jtzhadmin; + } diff --git a/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/util/WfUtil.java b/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/util/WfUtil.java index a44b0a0..6e5213d 100644 --- a/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/util/WfUtil.java +++ b/secondev-ht-njwebservice/src/main/java/com/weaver/seconddev/njwebservice/util/WfUtil.java @@ -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; }