Browse Source

用印申请提交流程、获取下一环节用户

master
dimengzhe 2 years ago
parent
commit
be48386df7
  1. 1
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/FlowableApplication.java
  2. 2
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  3. 10
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  4. 5
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessVariables.java
  5. 2
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/system/sysuser/UserQuery.java
  6. 2
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserMapper.xml
  7. 5
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserRest.java
  8. 31
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserService.java
  9. 2
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/UserQuery.java
  10. 5
      yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/flowable/BusinessVariables.java
  11. 52
      yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/sealrecord/SealRecordService.java

1
yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/FlowableApplication.java

@ -16,6 +16,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
}, scanBasePackages = {
"com.yxt.common.base.config",
"org.flowable.ui.modeler", "org.flowable.ui.common","com.yxt.anrui.flowable.*"
,"com.yxt.supervise.flowable.*"
})
@EnableDiscoveryClient
@EnableFeignClients(basePackages = {"com.yxt.anrui.*","com.yxt.supervise.*"})

2
yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java

@ -424,7 +424,7 @@ public class FlowableRest implements FlowableFeign {
return rb.setData(new UserAndOrgPath());
}else{
Object o = task_map.get("candidateGroups");
return flowtaskService.getNextUserSidsNoOrgPath(rb, o);
return flowtaskService.getNextUserSidsNoOrgPath(rb, o,bv.getProjectSid());
}
}

10
yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -2101,20 +2101,20 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
if(o==null){
return rb.setMsg("流程设计问题");
}
String projectSid = dto.getProjectSid();
//log.info("getNextNodeUserSidsOfCreate3:{}",JSONObject.toJSONString(o));
return getNextUserSidsNoOrgPath(rb, o);
return getNextUserSidsNoOrgPath(rb, o,projectSid);
}
public ResultBean<UserAndOrgPath> getNextUserSidsNoOrgPath(ResultBean rb, Object o) {
public ResultBean<UserAndOrgPath> getNextUserSidsNoOrgPath(ResultBean rb, Object o,String projectSid) {
UserAndOrgPath mapParam=new UserAndOrgPath();
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(o));
String roleSid = jsonArray.get(0).toString();
//根据组织架构、角色两个参数取相关符合条件的用户信息
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(roleSid);
//log.info("getNextUserSids0:{}",JSONObject.toJSONString(userQuery));
userQuery.setProjectSid(projectSid);
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRoleNoOrgPath(userQuery).getData();
//log.info("getNextUserSids1:{}",JSONObject.toJSONString(sysUserVos));
if(sysUserVos==null||sysUserVos.size()<1){
return rb.fail().setMsg("环节没有用户");
}
@ -2127,12 +2127,10 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}
//符合条件的用户的sid,拼接的字符串
String nextNodeUserSids_ = nextNodeUserSids.toString();
//log.info("getNextUserSids2:{}",nextNodeUserSids_);
if(StringUtils.isBlank(nextNodeUserSids_))
return rb.fail().setMsg("环节没有用户");
nextNodeUserSids_ = nextNodeUserSids_.substring(0, nextNodeUserSids_.length() - 1);
mapParam.setUserSid(nextNodeUserSids_);
//log.info("getNextUserSids3:{}",JSONObject.toJSONString(mapParam));
return rb.success().setData(mapParam);
}
}

5
yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessVariables.java

@ -62,6 +62,7 @@ public class BusinessVariables {
* 业务参数按需传递
*/
private Map<String, Object> formVariables =new HashMap<>();
/* @ApiModelProperty("机构sid:切换结构使用")
private String orgPath;*/
@ApiModelProperty("项目sid")
private String projectSid;
}

2
yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/system/sysuser/UserQuery.java

@ -18,4 +18,6 @@ public class UserQuery implements Query {
@ApiModelProperty(value = "用户部门sid路径是必传项")
private String orgSidPath;
private String projectSid;
}

2
yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserMapper.xml

@ -294,7 +294,7 @@
and si.personTypeKey != '01'
</select>
<select id="getUserByRoleNoOrgPath" resultType="com.yxt.supervise.system.sysuser.SysUserVo">
select distinct si.name, su.sid, su.staffSid<!--, so.orgSidPath-->
select distinct si.name, su.sid, su.staffSid
from sys_user_role sr
left join sys_user su on sr.userSid = su.sid
left join sys_staffinfo si on si.sid = su.staffSid

5
yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserRest.java

@ -728,6 +728,11 @@ public class SysUserRest implements SysUserFeign {
return sysUserService.getUserByRoleNoOrgPath(userQuery);
}
@GetMapping("getUserByRoleAndProject")
public ResultBean<List<SysUserVo>> getUserByRoleAndProject(@SpringQueryMap UserQuery userQuery) {
return sysUserService.getUserByRoleAndProject(userQuery);
}
@GetMapping("getUserByType")
public ResultBean getUserByType(@RequestParam("userType") String userType) {
return sysUserService.getUserByType(userType);

31
yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserService.java

@ -5,7 +5,9 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.supervise.feign.crm.UserProjectVo;
import com.yxt.supervise.feign.crm.userproject.ProjectInformationFeign;
import com.yxt.supervise.feign.crm.userproject.UserProjectFeign;
import com.yxt.supervise.feign.report.WxUserFeign;
import com.yxt.supervise.system.config.DictCommonType;
import com.yxt.supervise.system.sysorganization.SysOrganization;
@ -122,6 +124,8 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
private WxUserFeign wxUserFeign;
@Autowired
private WxUserService wxUserService;
@Autowired
private UserProjectFeign userProjectFeign;
public PagerVo<SysUser> listPage(PagerQuery<SysUserQuery> pq) {
@ -1570,4 +1574,31 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
sysUserVoList = baseMapper.getUserByRoleNoOrgPath(query.getRoleSid());
return rb.success().setData(sysUserVoList);
}
public ResultBean<List<SysUserVo>> getUserByRoleAndProject(UserQuery query) {
ResultBean<List<SysUserVo>> rb = ResultBean.fireFail();
List<SysUserVo> sysUserVoList = new ArrayList<>();
if (StringUtils.isBlank(query.getRoleSid())) {
return rb.setMsg("角色sid不能为空");
}
//根据角色sid获取角色的层级
sysUserVoList = baseMapper.getUserByRoleNoOrgPath(query.getRoleSid());
sysUserVoList.removeAll(Collections.singleton(null));
List<String> stringList = new ArrayList<>();
//根据项目sid查询用户
List<UserProjectVo> sidsList = userProjectFeign.getWarehouse(query.getProjectSid()).getData();
if(sidsList != null){
sidsList.removeAll(Collections.singleton(null));
if(!sidsList.isEmpty()){
stringList = sidsList.stream().map(v->v.getUserSid()).collect(Collectors.toList());
}
}
if(!stringList.isEmpty()){
List<String> finalStringList = stringList;
sysUserVoList = sysUserVoList.stream().filter(v-> finalStringList.contains(v.getSid())).collect(Collectors.toList());
}else{
return rb.setMsg("请设置项目相关人员");
}
return rb.success().setData(sysUserVoList);
}
}

2
yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/UserQuery.java

@ -18,4 +18,6 @@ public class UserQuery implements Query {
@ApiModelProperty(value = "用户部门sid路径是必传项")
private String orgSidPath;
private String projectSid;
}

5
yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/flowable/BusinessVariables.java

@ -1,5 +1,6 @@
package com.yxt.supervise.enterprisecentre.api.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -60,6 +61,6 @@ public class BusinessVariables {
* 业务参数按需传递
*/
private Map<String, Object> formVariables =new HashMap<>();
/* @ApiModelProperty("机构sid:切换结构使用")
private String orgPath;*/
@ApiModelProperty("项目sid")
private String projectSid;
}

52
yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/sealrecord/SealRecordService.java

@ -139,7 +139,7 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
qw.orderByDesc("id");
return qw;
}
public PagerVo<SealRecordVo> listPageVo(PagerQuery<SealRecordQuery> pq) {
SealRecordQuery query = pq.getParams();
QueryWrapper<SealRecord> qw = createQueryWrapper(query);
@ -148,7 +148,7 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
PagerVo<SealRecordVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean saveOrUpdateDto(SealRecordDto dto){
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
@ -190,11 +190,11 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
if (StringUtils.isBlank(dtoSid)) {
SealRecord sealRecord = this.insertByDto(dto);
return rb.success().setData(sealRecord.getSid());
}
}
this.updateByDto(dto);
return rb.success().setData(dto.getSid());
}
public SealRecord insertByDto(SealRecordDto dto){
SealRecord entity = new SealRecord();
StringBuilder files=new StringBuilder();
@ -208,7 +208,7 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
baseMapper.insert(entity);
return entity;
}
public void updateByDto(SealRecordDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
@ -225,7 +225,7 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
entity.setFile_path(paths);
baseMapper.updateById(entity);
}
public SealRecordDetailsVo fetchDetailsVoBySid(String sid){
SealRecord entity = fetchBySid(sid);
if(entity==null){
@ -249,7 +249,7 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
return vo;
}
public ResultBean submit(SealRecordDto dto) {
public ResultBean submitOld(SealRecordDto dto) {
ResultBean resultBean = this.saveOrUpdateDto(dto);
boolean success = resultBean.getSuccess();
if(!success){
@ -264,8 +264,7 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
BeanUtil.copyProperties(dto, bv);
bv.setOrgSidPath(dto.getCreaterOrgPath()==null?"":dto.getCreaterOrgPath());
bv.setBusinessSid(businessSid);
bv.setUserSid(dto.getUser_sid());//"0331e5b5-9d60-11ed-87ce-525401028fe8");
//variables.put("businessSid", businessSid);
bv.setUserSid(dto.getUser_sid());
String project_sid = dto.getProject_sid();
if(StringUtils.isBlank(project_sid)){
return resultBean.setMsg("project_sid不能为空!");
@ -338,6 +337,41 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
return resultBean.success();
}
public ResultBean submit(SealRecordDto dto) {
ResultBean resultBean = this.saveOrUpdateDto(dto);
boolean success = resultBean.getSuccess();
if(!success){
return resultBean;
}
// String user_sid = dto.getUser_sid();
String user_sid = "4ee0138e-7b10-4ca1-a9a3-71ff94066a73";
String project_sid = dto.getProject_sid();
dto.setUser_sid(user_sid);
if(StringUtils.isBlank(user_sid)){
return resultBean.setMsg("用户sid不能为空!");
}
if(StringUtils.isBlank(project_sid)){
return resultBean.setMsg("项目不能为空!");
}
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
String businessSid= (String) resultBean.getData();
Map<String, Object> variables = new HashMap<>();
variables.put("projectName", dto.getProject_name());
bv.setProjectSid(project_sid);
bv.setBusinessSid(businessSid);
bv.setUserSid(dto.getUser_sid());
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.SEALSONAPPLICATION.getProDefId());
ResultBean<UpdateFlowFieldVo> resultBean1 = flowableFeign.startProcess(bv);
if(!resultBean1.getSuccess()){
return resultBean1;
}
UpdateFlowFieldVo uff = resultBean1.getData();
updateFlowFiled(uff);
return resultBean.success();
}
private int updateFlowFiled(UpdateFlowFieldVo updateFlowFieldVo) {
UpdateWrapper<SealRecord> uw = new UpdateWrapper<>();
uw.eq("sid", updateFlowFieldVo.getSid());

Loading…
Cancel
Save