Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/service/impl/FlowBusinessServiceImpl.java
@@ -25,6 +25,7 @@ import com.vci.ubcs.flow.engine.entity.FlowProcess; import com.vci.ubcs.flow.engine.utils.FlowCache; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.flowable.engine.HistoryService; import org.flowable.engine.TaskService; import org.flowable.engine.history.HistoricProcessInstance; @@ -117,7 +118,7 @@ HistoricProcessInstanceQuery historyQuery = historyService.createHistoricProcessInstanceQuery().startedBy(taskUser).orderByProcessInstanceStartTime().desc(); if (bladeFlow.getCategory() != null) { if (StringUtils.isNotEmpty(bladeFlow.getCategory())) { historyQuery.processDefinitionCategory(bladeFlow.getCategory()); } if (bladeFlow.getProcessDefinitionName() != null) { @@ -142,7 +143,7 @@ String[] businessKey = Func.toStrArray(StringPool.COLON, historicProcessInstance.getBusinessKey()); if (businessKey.length > 1) { flow.setBusinessTable(businessKey[0]); flow.setBusinessId(businessKey[1]); flow.setBusinessId(businessKey.length>1?businessKey[1]:"1"); } flow.setHistoryActivityName(historicProcessInstance.getName()); flow.setProcessInstanceId(historicProcessInstance.getId()); @@ -190,7 +191,7 @@ HistoricTaskInstanceQuery doneQuery = historyService.createHistoricTaskInstanceQuery().taskAssignee(taskUser).finished() .includeProcessVariables().orderByHistoricTaskInstanceEndTime().desc(); if (bladeFlow.getCategory() != null) { if (StringUtils.isNotEmpty(bladeFlow.getCategory())) { doneQuery.processCategoryIn(Func.toStrList(bladeFlow.getCategory())); } if (bladeFlow.getProcessDefinitionName() != null) { @@ -230,7 +231,7 @@ if (Func.isNotEmpty(historicProcessInstance)) { String[] businessKey = Func.toStrArray(StringPool.COLON, historicProcessInstance.getBusinessKey()); flow.setBusinessTable(businessKey[0]); flow.setBusinessId(businessKey[1]); flow.setBusinessId(businessKey.length>1?businessKey[1]:"1"); if (historicProcessInstance.getEndActivityId() != null) { flow.setProcessIsFinished(FlowEngineConstant.STATUS_FINISHED); } else { @@ -278,7 +279,8 @@ * @param status ç¶æ */ private void buildFlowTaskList(BladeFlow bladeFlow, List<BladeFlow> flowList, TaskQuery taskQuery, String status) { if (bladeFlow.getCategory() != null) { // if (bladeFlow.getCategory() != null) { if (StringUtils.isNotEmpty(bladeFlow.getCategory())) { taskQuery.processCategoryIn(Func.toStrList(bladeFlow.getCategory())); } if (bladeFlow.getProcessDefinitionName() != null) { @@ -305,7 +307,7 @@ if (Func.isNotEmpty(historicProcessInstance)) { String[] businessKey = Func.toStrArray(StringPool.COLON, historicProcessInstance.getBusinessKey()); flow.setBusinessTable(businessKey[0]); flow.setBusinessId(businessKey[1]); flow.setBusinessId(businessKey.length>1?businessKey[1]:"1"); } FlowProcess processDefinition = FlowCache.getProcessDefinition(task.getProcessDefinitionId()); Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowProcessTSController.java
ÎļþÃû´Ó Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/ProcessTSController.java ÐÞ¸Ä @@ -29,7 +29,7 @@ @RestController @RequestMapping("processTS") @AllArgsConstructor public class ProcessTSController { public class FlowProcessTSController { private final FlowEngineService flowEngineService; private final ProcessTemplateService processTemplateService; @@ -41,7 +41,7 @@ @GetMapping("/tlist") public R<IPage<ProcessTemplate>> tlist(@RequestParam Map<String, Object> flow, Query query) { IPage<ProcessTemplate> pages = processTemplateService.page(Condition.getPage(query), Condition.getQueryWrapper(flow, ProcessTemplate.class) .select("id,model_key modelKey,model_name modelName,button_Type_Key buttonTypeKey,button_Type_value buttonTypeValue") .select("id,model_key modelKey,model_name modelName,button_Type_Key buttonTypeKey,button_Type_value buttonTypeValue,description") .orderByDesc("last_updated")); return R.data(pages); } Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowTaskUserController.java
@@ -8,6 +8,8 @@ import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.*; import java.util.List; /** * æµç¨taskå®¡æ¹æ§å¶ @@ -24,11 +26,12 @@ /** * æµç¨task审æ¹äººåå表 * ProcessTemplateTypeEnum * @return */ @GetMapping("list") public R<FlowTaskUserC> list() { return R.data(taskUserService.getUser()); public R<Object> list(String type,String templateId) { return R.data(taskUserService.getUser(type,templateId)); } /** Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/VCIFlowController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ package com.vci.ubcs.flow.engine.controller; import com.vci.ubcs.flow.core.entity.BladeFlow; import com.vci.ubcs.flow.engine.entity.FlowTaskUserC; import com.vci.ubcs.flow.engine.service.FlowTaskUserService; import com.vci.ubcs.flow.engine.service.VICFlowService; import lombok.AllArgsConstructor; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.*; import java.util.List; /** * å®å¶æµç¨ãå¯å¨ã转åã宿æ§å¶å¨ * * @author wang1 */ @NonDS @RestController @RequestMapping("vciflow") @AllArgsConstructor public class VCIFlowController { private final VICFlowService vicFlowService; /** * å¯å¨ * @return */ @PostMapping("start") public R<BladeFlow> list(@RequestBody FlowTaskUserC flowTaskUserC) { return vicFlowService.startProcess(flowTaskUserC); } /** * æµç¨é¢æµ */ @PostMapping("a") public R<BladeFlow> a(@RequestBody FlowTaskUserC flowTaskUserC) { return vicFlowService.startProcess(flowTaskUserC); } } Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskUser.java
@@ -37,6 +37,7 @@ private String id; private String name;//ä¿åçè¿ä¸ªæ¶èåç§° private String modelKey; private String modelName; private String classifyId; private String templateId; private String taskId;//æµç¨taskid Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskUserC.java
@@ -34,10 +34,17 @@ private String createdBy; private String name;//ä¿åçè¿ä¸ªæ¶èåç§° private String modelKey; private String modelName; private String processName; private String processDesc; private String topName; private String classifyId; private String templateId; private String taskId;//é¶æ®µidï¼å°±æ¯æµç¨taskid private String taskName;//é¶æ®µåç§° private List<FlowTaskUser> flowTaskUsers;//æ¯ä¸ªèç¹æ¶è人 private List<ProcessStageAttr> processStageAttr;//æµç¨é¶æ®µä¿åç屿§ private List<String> ids;//æµç¨åèµ·ä¸ä¼ éè¿æ¥çæ°æ®id } Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/FlowEngineService.java
@@ -173,4 +173,6 @@ */ List<Map<String,String>> getNodeByFlowableKey(String key); String getTaskIdString(); } Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/FlowTaskUserService.java
@@ -35,9 +35,10 @@ /** * æ¥è¯¢å½åç»é人对è¿ä¸ªæµç¨çtaskUser * @param type ProcessTemplateTypeEnum * @return */ FlowTaskUserC getUser(); Object getUser(String type,String templateId); /** * æ°å¢/ä¿®æ¹æµç¨èç¹å®¡æ ¸äººé ç½®ãå¹¶ä¸ä¿®æ¹æµç¨xmlé¨ç½²æä»¶ @@ -51,4 +52,12 @@ * @param name */ void deleteUser(String name); /** * éè¿æ¨¡æ¿id忍¡åkeyæ¥è¯¢å®¡æ¹äºº * @param templateId * @param modelKey * @return */ List<FlowTaskUser> getTaskUserByTemplateAndModelKey(String templateId,String modelKey); } Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/VICFlowService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ /* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill åºéª (smallchill@163.com) */ package com.vci.ubcs.flow.engine.service; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.flow.core.entity.BladeFlow; import com.vci.ubcs.flow.engine.entity.FlowTaskUser; import com.vci.ubcs.flow.engine.entity.FlowTaskUserC; import org.springblade.core.tool.api.R; /** * FlowService * * @author wang1 */ public interface VICFlowService{ /** * å¯å¨æµç¨ * @return */ R<BladeFlow> startProcess(FlowTaskUserC flowTaskUserC); } Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowEngineServiceImpl.java
@@ -93,6 +93,8 @@ private static final String USR_TASK = "userTask"; private static final String IMAGE_NAME = "image"; private static final String XML_NAME = "xml"; private static final String TASKID = "taskId"; private static final String TASKNAME = "taskName"; private static final Integer INT_1024 = 1024; private static final BpmnJsonConverter BPMN_JSON_CONVERTER = new BpmnJsonConverter(); private static final BpmnXMLConverter BPMN_XML_CONVERTER = new BpmnXMLConverter(); @@ -508,16 +510,19 @@ for (FlowElement flowElement : process.getFlowElements()) { if (flowElement instanceof UserTask) { Map<String,String> mi = new HashMap<>(); mi.put("taskId",flowElement.getId()); mi.put("taskName",flowElement.getName()); mi.put(TASKID,flowElement.getId()); mi.put(TASKNAME,flowElement.getName()); ll.add(mi); } } } return ll; } @Override public String getTaskIdString(){ return TASKID; } /** * æ¯å¦å·²å®ç» * Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowTaskUserServiceImpl.java
@@ -28,6 +28,7 @@ import com.vci.ubcs.flow.engine.entity.*; import com.vci.ubcs.flow.engine.mapper.FlowMapper; import com.vci.ubcs.flow.engine.mapper.FlowTaskUserMapper; import com.vci.ubcs.flow.engine.mapper.ProcessTemplateMapper; import com.vci.ubcs.flow.engine.service.FlowEngineService; import com.vci.ubcs.flow.engine.service.FlowTaskUserService; import com.vci.ubcs.flow.engine.utils.FlowCache; @@ -92,23 +93,62 @@ private FlowEngineService flowEngineService; private FlowTaskUserMapper flowTaskUserMapper; private ProcessTemplateMapper processTemplateMapper; /** * æ¥è¯¢å½åç»é人对è¿ä¸ªæµç¨çtaskUser * @param type ProcessTemplateTypeEnum * @return */ @Override public FlowTaskUserC getUser(){ QueryWrapper<FlowTaskUser> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("CREATED_BY", AuthUtil.getUserId()); List<FlowTaskUser> flowTaskUsers = baseMapper.selectList(queryWrapper); FlowTaskUserC flowTaskUserCR = new FlowTaskUserC(); if(flowTaskUsers.size()==0){ return flowTaskUserCR; public Object getUser(String type,String templateId){ Map kv = new HashMap(); //æ ¹æ®typeæ¥è¯¢topæµç¨æ°æ® Map<String, Object> m = new HashMap<>(); m.put("button_type_key", type); m.put("template_id", templateId); List<ProcessTemplate> processTemplates = processTemplateMapper.selectByMap(m); if(processTemplates.size()==0){ throw new ServiceException("主é¢åºå®ä¹-模æ¿ç®¡ç-æµç¨æ¨¡æ¿ï¼æ²¡æç»å®æµç¨!"); } flowTaskUserCR.setName(flowTaskUsers.get(0).getName());//æ¶èåç§° flowTaskUserCR.setFlowTaskUsers(flowTaskUsers); return flowTaskUserCR; ProcessTemplate processTemplate = processTemplates.get(0); kv.put("flow",processTemplate); //topæ¶èé¨åæ°æ® QueryWrapper<FlowTaskUser> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("CREATED_BY", TaskUtil.getTaskUser()); List<FlowTaskUser> flowTaskUsers = baseMapper.selectList(queryWrapper); List<FlowTaskUserC> cl = new ArrayList<>(); Map<String,List<FlowTaskUser>> nameMap = new HashMap<>(); for(FlowTaskUser flowTaskUser:flowTaskUsers){ String name = flowTaskUser.getName();//æ¶èåç§° List<FlowTaskUser> flowTaskUserListo = null; if(nameMap.get(name)==null){ flowTaskUserListo = new ArrayList<>(); }else { flowTaskUserListo = nameMap.get(name); } flowTaskUserListo.add(flowTaskUser); nameMap.put(name,flowTaskUserListo); } for (String name:nameMap.keySet()){ FlowTaskUserC flowTaskUserCR = new FlowTaskUserC(); flowTaskUserCR.setName(name);//æ¶èåç§° flowTaskUserCR.setModelKey(nameMap.get(name).get(0).getModelKey()); flowTaskUserCR.setModelName(nameMap.get(name).get(0).getModelName()); flowTaskUserCR.setFlowTaskUsers(nameMap.get(name)); cl.add(flowTaskUserCR); } kv.put("collect",cl); //æ°æ®èç¹æ°æ® List<Map<String,String>> tl = flowEngineService.getNodeByFlowableKey(processTemplate.getModelKey()); kv.put("user",tl); return kv; } @Override @@ -117,17 +157,20 @@ String name = flowTaskUserC.getName();//æ¶èåç§° //æ°å¢æ åµä¸éªè¯æ¶èåç§°ä¸éå¤ if(flowTaskUsers.get(0).getId()!=null) { Map<String, Object> m = new HashMap<>(); m.put("name", name); QueryWrapper q = Condition.getQueryWrapper(m, FlowTaskUser.class) .select("id,model_key modelKey,name,description,version,created,last_updated lastUpdated"); if(flowTaskUserMapper.selectCount(q)>0){ throw new ServiceException("æ¶èåç§°å·²ç»åå¨!"); } Map<String, Object> m = new HashMap<>(); m.put("name", name); m.put("created_by", TaskUtil.getTaskUser()); QueryWrapper q = Condition.getQueryWrapper(m, FlowTaskUser.class) .select("1"); if(flowTaskUserMapper.selectCount(q)>0){ throw new ServiceException("æ¶èåç§°å·²ç»åå¨!"); } for (FlowTaskUser flowTaskUseri:flowTaskUsers){ flowTaskUseri.setName(name); flowTaskUseri.setCreatedBy(TaskUtil.getTaskUser()); flowTaskUseri.setTemplateId(flowTaskUserC.getTemplateId()); flowTaskUseri.setModelKey(flowTaskUserC.getModelKey()); } //æ°å¢ãä¿®æ¹ this.saveOrUpdateBatch(flowTaskUsers); @@ -139,8 +182,14 @@ public void deleteUser(String name){ Map<String, Object> m = new HashMap<>(); m.put("name", name); m.put("created_by", AuthUtil.getUserId()); m.put("created_by", TaskUtil.getTaskUser()); baseMapper.deleteByMap(m); } public List<FlowTaskUser> getTaskUserByTemplateAndModelKey(String templateId,String modelKey){ Map<String, Object> m = new HashMap<>(); m.put("template_id", templateId); m.put("model_key", modelKey); return baseMapper.selectByMap(m); } } Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,145 @@ /* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill åºéª (smallchill@163.com) */ package com.vci.ubcs.flow.engine.service.impl; import com.vci.ubcs.flow.core.constant.ProcessConstant; import com.vci.ubcs.flow.core.entity.BladeFlow; import com.vci.ubcs.flow.core.utils.TaskUtil; import com.vci.ubcs.flow.engine.entity.*; import com.vci.ubcs.flow.engine.service.FlowEngineService; import com.vci.ubcs.flow.engine.service.FlowTaskUserService; import com.vci.ubcs.flow.engine.service.VICFlowService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.flowable.bpmn.model.*; import org.flowable.engine.*; import org.flowable.engine.impl.persistence.entity.ExecutionEntity; import org.flowable.engine.repository.ProcessDefinition; import org.flowable.engine.runtime.ProcessInstance; import org.flowable.task.api.Task; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.support.Kv; import org.springframework.stereotype.Service; import java.util.*; /** * 工使µæå¡å®ç°ç±» * * @author Chill */ @Slf4j @Service @AllArgsConstructor public class VCIFlowserviceImpl implements VICFlowService { private final RuntimeService runtimeService; private final IdentityService identityService; private final RepositoryService repositoryService; private final TaskService taskService; private final FlowTaskUserService flowTaskUserService; private final FlowEngineService flowEngineService; private final HistoryService historyService; @Override public R<BladeFlow> startProcess(FlowTaskUserC flowTaskUserC){ String modelKey = flowTaskUserC.getModelKey(); String templateId = flowTaskUserC.getTemplateId(); Kv kv = Kv.create() .set(ProcessConstant.TASK_VARIABLE_CREATE_USER, AuthUtil.getUserName()); // 设置æµç¨å¯å¨ç¨æ· identityService.setAuthenticatedUserId(TaskUtil.getTaskUser()); // å¼å¯æµç¨ //æ¥è¯¢ææ°çæµç¨é¨ç½²id ProcessDefinition latesDefinition = repositoryService.createProcessDefinitionQuery().latestVersion().processDefinitionKey(modelKey).singleResult(); String processDefinitionId = latesDefinition.getId(); //æ¥è¯¢æ¯ä¸æ¥å®¡æ ¸äºº List<FlowTaskUser> taskUsers = flowTaskUserService.getTaskUserByTemplateAndModelKey(templateId,modelKey); Set<String> taskIdSet = new HashSet<>(); for (FlowTaskUser taskUser:taskUsers){ kv.put(taskUser.getTaskId(),TaskUtil.getTaskUser(taskUser.getUserId())); taskIdSet.add(taskUser.getTaskId()); } //对æ¯é ç½®çå®¡æ ¸äººååæµç¨ä¸èç¹æ¯å¦ä¸è´ï¼å¯è½å卿µç¨èç¹åæ´äºï¼å¤äºæè å°äºèç¹ï¼ä½æ¯é ç½®å®¡æ ¸äººåçèç¹æ²¡æå List<Map<String,String>> processTasks = flowEngineService.getNodeByFlowableKey(modelKey); for (Map<String,String> mi:processTasks){ String taskId = mi.get(flowEngineService.getTaskIdString()); if(!taskIdSet.contains(taskId)){ throw new ServiceException("æµç¨å·²éæ°é¨ç½²ï¼èç¹å·²æ¹åï¼è¯·è®¾ç½®å®¡æ ¸äººåï¼"); } } if(taskIdSet.size()!=processTasks.size()){ throw new ServiceException("æµç¨å·²éæ°é¨ç½²ï¼èç¹å·²æ¹åï¼è¯·è®¾ç½®å®¡æ ¸äººåï¼"); } //æµç¨ä¸æä»¶ãåéç //do.. ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinitionId, modelKey, kv); // ç»è£ æµç¨éç¨ç±» BladeFlow flow = new BladeFlow(); flow.setProcessInstanceId(processInstance.getId()); nextFlowNode("next","039ac1d8-0c1e-11ee-bebb-5c3a4570456d"); return R.data(flow); } /** * è·åä»»å¡èç¹ * * @param node æ¥è¯¢èç¹éæ© * @param processInstanceId æµç¨å®ä¾id */ public void nextFlowNode(String node, String processInstanceId) { Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).active().singleResult(); ExecutionEntity ee = (ExecutionEntity) runtimeService.createExecutionQuery() .executionId(task.getExecutionId()).singleResult(); // å½å审æ¹èç¹ String crruentActivityId = ee.getActivityId(); BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId()); FlowNode flowNode = (FlowNode) bpmnModel.getFlowElement(crruentActivityId); // è¾åºè¿çº¿ List<SequenceFlow> outFlows = flowNode.getOutgoingFlows(); for (SequenceFlow sequenceFlow : outFlows) { //å½å审æ¹èç¹ if ("now".equals(node)) { FlowElement sourceFlowElement = sequenceFlow.getSourceFlowElement(); System.out.println("å½åèç¹: id=" + sourceFlowElement.getId() + ",name=" + sourceFlowElement.getName()); } else if ("next".equals(node)) { // ä¸ä¸ä¸ªå®¡æ¹èç¹ FlowElement targetFlow = sequenceFlow.getTargetFlowElement(); if (targetFlow instanceof UserTask) { System.out.println("ä¸ä¸èç¹: id=" + targetFlow.getId() + ",name=" + targetFlow.getName()); } // 妿ä¸ä¸ªå®¡æ¹èç¹ä¸ºç»æèç¹ if (targetFlow instanceof EndEvent) { System.out.println("ä¸ä¸èç¹ä¸ºç»æèç¹ï¼id=" + targetFlow.getId() + ",name=" + targetFlow.getName()); } } } } } Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/ProcessTemplateTypeEnum.java
@@ -20,12 +20,12 @@ /** * åç¨ */ ENABLE("ENABLE","åç¨"), ENABLE("ENABLE","å¯ç¨"), /** * å¯ç¨ */ DISABLE("DISABLE","å¯ç¨"); DISABLE("DISABLE","åç¨"); /** * æä¸¾çå¼ Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/controller/UserController.java
@@ -142,6 +142,12 @@ return R.data(UserWrapper.build().pageVO(pages)); } @GetMapping("/allPage") public R<List<UserVO>> allPage(User user,Long deptId) { List<User> userss = userService.selectAllUser(user,deptId); return R.data(UserWrapper.build().listVO(userss)); } /** * æ°å¢æä¿®æ¹ */ Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/mapper/UserMapper.java
@@ -43,6 +43,8 @@ */ List<User> selectUserPage(IPage<User> page, @Param("user") User user, @Param("deptIdList") List<Long> deptIdList, @Param("tenantId") String tenantId); List<User> selectUserPage(@Param("user") User user, @Param("deptIdList") List<Long> deptIdList, @Param("tenantId") String tenantId); /** * è·åç¨æ· * @@ -50,7 +52,7 @@ * @param account * @return */ User getUser(String tenantId, String account); User getUser(String tenantId, String account,String name); /** * è·å导åºç¨æ·æ°æ® Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/IUserService.java
@@ -84,6 +84,15 @@ * èªå®ä¹å页 * * @param user * @param deptId * @return */ List<User> selectAllUser(User user, Long deptId); /** * èªå®ä¹å页 * * @param user * @param query * @return */ @@ -107,6 +116,15 @@ UserInfo userInfo(String tenantId, String account); /** * ç¨æ·ä¿¡æ¯,为å¥ä¸å äºä¸è¾¹é£ä¸ªæ¹æ³å¢ï¼å 为æä¸æ¢,çµæ¯æç¹å¤ * * @param tenantId * @param account * @return */ UserInfo userInfo(String tenantId, String account,String name); /** * ç¨æ·ä¿¡æ¯ * * @param tenantId Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java
@@ -162,6 +162,13 @@ } @Override public List<User> selectAllUser(User user, Long deptId){ List<Long> deptIdList = SysCache.getDeptChildIds(deptId); List<User> users = baseMapper.selectUserPage(user, deptIdList, (AuthUtil.getTenantId().equals(BladeConstant.ADMIN_TENANT_ID) ? StringPool.EMPTY : AuthUtil.getTenantId())); return users; } @Override public IPage<UserVO> selectUserSearch(UserVO user, Query query) { LambdaQueryWrapper<User> queryWrapper = Wrappers.<User>query().lambda(); String tenantId = AuthUtil.getTenantId(); @@ -206,13 +213,20 @@ @Override public UserInfo userInfo(String tenantId, String account) { User user = baseMapper.getUser(tenantId, account); User user = baseMapper.getUser(tenantId, account,null); return buildUserInfo(user); } @Override public UserInfo userInfo(String tenantId, String account,String name) { User user = baseMapper.getUser(tenantId, account,name); UserInfo userInfo = buildUserInfo(user); return null; } @Override public UserInfo userInfo(String tenantId, String account, UserEnum userEnum) { User user = baseMapper.getUser(tenantId, account); User user = baseMapper.getUser(tenantId, account,null); return buildUserInfo(user, userEnum); } Source/UBCS/ubcs-service/ubcs-user/src/main/resources/mapper/UserMapper.xml
@@ -77,7 +77,11 @@ LEFT JOIN PL_SYS_USER_PWDSTRATEGY plup on plup.USER_ID=pou.ID LEFT JOIN PL_SYS_PWDSTRATEGY pss on pss.ID=plup.PWDSTRATEGY_ID WHERE tenant_id = #{param1} and account = #{param2} and is_deleted = 0 tenant_id = #{param1} and account = #{param2} <if test="param3!=null and param3 != ''"> and name = #{param3} </if> and is_deleted = 0 </select> <select id="exportUser" resultType="com.vci.ubcs.system.user.excel.UserExcel">