Browse Source

Merge remote-tracking branch 'origin/master'

master
wangpengfei 2 years ago
parent
commit
6d0a12679f
  1. 2
      supervise-report-ui/.env.development
  2. 16
      supervise-report-ui/src/api/main/main.js
  3. 2
      supervise-report-ui/src/main.js
  4. 123
      supervise-report-ui/src/views/index.vue
  5. 1
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/FlowableApplication.java
  6. 15
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  7. 44
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  8. 5
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessVariables.java
  9. 4
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserFeign.java
  10. 5
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserFeignFallback.java
  11. 3
      yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/system/sysuser/UserQuery.java
  12. 2
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserMapper.xml
  13. 5
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserRest.java
  14. 31
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserService.java
  15. 3
      yxt_supervise/supervise-system/supervise-system-biz/src/main/java/com/yxt/supervise/system/sysuser/UserQuery.java
  16. 5
      yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/api/flowable/BusinessVariables.java
  17. 76
      yxt_supervise/yxt-supervise-enterprisecentre/yxt-supervise-enterprisecentre-biz/src/main/java/com/yxt/supervise/enterprisecentre/biz/sealrecord/SealRecordService.java

2
supervise-report-ui/.env.development

@ -6,4 +6,4 @@ VUE_APP_BASE_API = '/api'
## 配置测试和本地开发时的 接口地址 ## 配置测试和本地开发时的 接口地址
##VUE_APP_URL = "http://8.130.39.13:8112" ##VUE_APP_URL = "http://8.130.39.13:8112"
VUE_APP_URL = "http://192.168.0.104:7009" VUE_APP_URL = "http://192.168.0.108:7009"

16
supervise-report-ui/src/api/main/main.js

@ -0,0 +1,16 @@
import request from '@/utils/request'
// 主页
// 列表
export default {
getProjectDailys(data) {
return request({
url: '/projectdaily/getProjectDailys',
method: 'post',
data: data
})
},
}

2
supervise-report-ui/src/main.js

@ -50,7 +50,7 @@ VueAMap.initAMapApiLoader({
Vue.config.productionTip = false Vue.config.productionTip = false
let token = null let token = null
// let token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI4NWUwYWY0Yi1lMGJhLTQyM2UtOTIxMS1kYjI2MDg2NTgwM2YiLCJpc3MiOiJXQksiLCJleHAiOjE3MDA0NDI3NDF9.ofDoXvqN58tdWomVV70gwpRxjYn6qeaNlbnd7qyy0AI' // let token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI4NWUwYWY0Yi1lMGJhLTQyM2UtOTIxMS1kYjI2MDg2NTgwM2YiLCJpc3MiOiJXQksiLCJleHAiOjE3MDA2MjAwNzF9.iAXRy8SKmeGqteP68u_MD32b1hG7pNsYoZQ3C-fgHSI'
token = GetQueryString('token') token = GetQueryString('token')
if (token) { if (token) {
setStorage(token) setStorage(token)

123
supervise-report-ui/src/views/index.vue

@ -9,8 +9,9 @@
<div class="title-select"> <div class="title-select">
<el-select v-model="wareValue" placeholder="请选择仓库" style="width: 250px;margin-right: 50px;"> <el-select v-model="projectValue" placeholder="请选择项目" style="width: 250px;margin-right: 50px;"
<el-option v-for="item in warehouse" :key="item.value" :label="item.label" :value="item.value"> @change="projectSelect">
<el-option v-for="item in projectList" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
@ -143,11 +144,16 @@
<div class="bom"> <div class="bom">
<el-table v-loading="tableLoading" :data="listSalesChannelData" border style="width: 100%;"> <el-table v-loading="tableLoading" :data="projectlistlData" border style="width: 100%;" :row-style="{height: '50px'}">
<el-table-column width="200" label="销售渠道类别" prop="salesChannelCategory" align="center" /> <el-table-column width="200" label="项目名称" prop="projectName" align="center" />
<el-table-column label="总额" prop="totalAmount" align="center" /> <el-table-column label="授信额度(元)" prop="totalLoan" align="center" />
<el-table-column label="应收帐款" prop="accountsReceivable" align="center" /> <el-table-column label="用信额度(元)" prop="useLimit" align="center" />
<el-table-column label="扣除应收" prop="deductionAccountsReceivable" align="center" /> <el-table-column label="账户余额(元)" prop="accountsBalance" align="center" />
<el-table-column label="应收账款(元)" prop="accountsReceivable" align="center" />
<el-table-column label="库存货值(元)" prop="stockAmount" align="center" />
<el-table-column label="在途货值(元)" prop="transitAmount" align="center" />
<el-table-column label="预付款(元)" prop="advancePayment" align="center" />
<el-table-column label="质押率" prop="pledgeRatePercent" align="center" />
</el-table> </el-table>
@ -161,6 +167,7 @@
</div> </div>
<script> <script>
import * as echarts from 'echarts' import * as echarts from 'echarts'
import req from '@/api/main/main'
import { import {
getDateRang getDateRang
} from '@/utils/index' } from '@/utils/index'
@ -168,9 +175,10 @@
name: '', name: '',
data() { data() {
return { return {
tableLoading: false,
times: getDateRang('yesterday'), times: getDateRang('yesterday'),
wareValue: "", projectValue: "全部项目",
warehouse: [ projectList: [
{ {
label: "111111111", label: "111111111",
@ -185,66 +193,7 @@
value: "项目3" value: "项目3"
} }
], ],
listSalesChannelData: [{ projectlistlData: [
salesChannelCategory: '连网连锁店',
totalAmount: '2000000',
accountsReceivable: '31,914',
deductionAccountsReceivable: '35,793'
},
{
salesChannelCategory: '连锁内加盟',
totalAmount: '28,700',
accountsReceivable: '28,749',
deductionAccountsReceivable: '58,339'
},
{
salesChannelCategory: '配送中心',
totalAmount: '-1241.81',
accountsReceivable: '28,749',
deductionAccountsReceivable: '58,339'
},
{
salesChannelCategory: '连锁外加盟',
totalAmount: '29822.44',
accountsReceivable: '28,749',
deductionAccountsReceivable: '58,339'
},
{
salesChannelCategory: '配送中心',
totalAmount: '-1241.81',
accountsReceivable: '28,749',
deductionAccountsReceivable: '58,339'
},
{
salesChannelCategory: '连锁外加盟',
totalAmount: '29822.44',
accountsReceivable: '28,749',
deductionAccountsReceivable: '58,339'
},
{
salesChannelCategory: '配送中心',
totalAmount: '-1241.81',
accountsReceivable: '28,749',
deductionAccountsReceivable: '58,339'
},
{
salesChannelCategory: '连锁外加盟',
totalAmount: '29822.44',
accountsReceivable: '28,749',
deductionAccountsReceivable: '58,339'
},
{
salesChannelCategory: '配送中心',
totalAmount: '-1241.81',
accountsReceivable: '28,749',
deductionAccountsReceivable: '58,339'
},
{
salesChannelCategory: '连锁外加盟',
totalAmount: '29822.44',
accountsReceivable: '28,749',
deductionAccountsReceivable: '58,339'
}
], ],
} }
@ -253,12 +202,39 @@
this.drawLine() this.drawLine()
}, },
created() {
this.init()
},
methods: { methods: {
init() {
//
let params = {
orderDate: this.times,
projectSid: "",
}
req.getProjectDailys(params).then(res => {
console.log('getProjectDailys:', res)
this.projectlistlData = res.data
})
},
projectSelect(val) {
console.log('projectSelect:', val)
},
selectTime(val) { selectTime(val) {
console.log('val:', val)
console.log('selectTime:', val)
this.times = val this.times = val
this.init()
}, },
// 线 // 线
@ -359,10 +335,11 @@
text-align: right; text-align: right;
padding-right: 40px; padding-right: 40px;
} }
.mains{
.mains {
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; overflow-y: auto;
height: 100%; height: 100%;
} }
.index { .index {

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 = { }, scanBasePackages = {
"com.yxt.common.base.config", "com.yxt.common.base.config",
"org.flowable.ui.modeler", "org.flowable.ui.common","com.yxt.anrui.flowable.*" "org.flowable.ui.modeler", "org.flowable.ui.common","com.yxt.anrui.flowable.*"
,"com.yxt.supervise.flowable.*"
}) })
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableFeignClients(basePackages = {"com.yxt.anrui.*","com.yxt.supervise.*"}) @EnableFeignClients(basePackages = {"com.yxt.anrui.*","com.yxt.supervise.*"})

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

@ -322,11 +322,6 @@ public class FlowableRest implements FlowableFeign {
log.error("taskid:{},userSid:{}",taskId, userSid); log.error("taskid:{},userSid:{}",taskId, userSid);
log.error("formVariables:{}",JSON.toJSONString(formVariables)); log.error("formVariables:{}",JSON.toJSONString(formVariables));
taskService.setAssignee(taskId, userSid); taskService.setAssignee(taskId, userSid);
//formVariables.remove("userSid");
/*for(Map.Entry<String, Object> entry:formVariables.entrySet()){
taskService.setVariable(taskId,entry.getKey(),entry.getValue());
System.out.println(entry.getKey()+"--->"+entry.getValue());
}*/
taskService.complete(taskId, formVariables); taskService.complete(taskId, formVariables);
//根据流程实例的id取最新的待办环节,给环节设置上用户sid //根据流程实例的id取最新的待办环节,给环节设置上用户sid
ResultBean<List<LatestTaskVo>> ll = flowtaskService.getLatestTasksNew(instanceId); ResultBean<List<LatestTaskVo>> ll = flowtaskService.getLatestTasksNew(instanceId);
@ -335,13 +330,6 @@ public class FlowableRest implements FlowableFeign {
String id_ = latestTaskVo.getId_(); String id_ = latestTaskVo.getId_();
taskService.setAssignee(id_, nextUserSid); taskService.setAssignee(id_, nextUserSid);
vo.setTaskId(id_); vo.setTaskId(id_);
/* for(Map.Entry<String, Object> entry:formVariables.entrySet()){
taskService.setVariable(id_,entry.getKey(),entry.getValue());
taskService.setVariableLocal(id_,entry.getKey(),entry.getValue());
System.out.println(entry.getKey()+"--->"+entry.getValue());
}*/
// taskService.setVariables(id_,formVariables);
//在act_ru_variable表中增加环节上的业务参数的变量 //在act_ru_variable表中增加环节上的业务参数的变量
taskService.setVariablesLocal(id_,formVariables); taskService.setVariablesLocal(id_,formVariables);
nodeState = latestTaskVo.getName_(); nodeState = latestTaskVo.getName_();
@ -352,7 +340,6 @@ public class FlowableRest implements FlowableFeign {
vo.setNodeState(FlowComment.SETTLE.getRemark()); vo.setNodeState(FlowComment.SETTLE.getRemark());
} }
} }
//ResultBean<FlowRecordVo> flowRecordVoResultBean = flowableService.flowRecord(dto.getInstanceId(), dto.getModelId());
List<FlowElement> flowElements = processService.calApprovePath(dto.getModelId(), dto.getModelId(), List<FlowElement> flowElements = processService.calApprovePath(dto.getModelId(), dto.getModelId(),
dto.getFormVariables()); dto.getFormVariables());
boolean contains=false; boolean contains=false;
@ -424,7 +411,7 @@ public class FlowableRest implements FlowableFeign {
return rb.setData(new UserAndOrgPath()); return rb.setData(new UserAndOrgPath());
}else{ }else{
Object o = task_map.get("candidateGroups"); Object o = task_map.get("candidateGroups");
return flowtaskService.getNextUserSidsNoOrgPath(rb, o); return flowtaskService.getNextUserSidsNoOrgPath(rb, o,bv.getProjectSid());
} }
} }

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

@ -742,7 +742,10 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
userName.append(data.getName()).append(","); userName.append(data.getName()).append(",");
} }
String userName_str=""; String userName_str="";
userName_str=userName.substring(0,userName.length()-1); if(StringUtils.isNotBlank(userName)){
userName_str=userName.substring(0,userName.length()-1);
}
flowTask.setAssigneeName(userName_str); flowTask.setAssigneeName(userName_str);
} }
flowTask.setPreviousPersonSid(histTask.get("previousPersonSid")==null?"":histTask.get("previousPersonSid").toString()); flowTask.setPreviousPersonSid(histTask.get("previousPersonSid")==null?"":histTask.get("previousPersonSid").toString());
@ -750,42 +753,22 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
flowTask.setProcDefId(histTask.get("PROC_DEF_ID_") == null ? "" : histTask.get("PROC_DEF_ID_").toString()); flowTask.setProcDefId(histTask.get("PROC_DEF_ID_") == null ? "" : histTask.get("PROC_DEF_ID_").toString());
flowTask.setTaskDefKey(histTask.get("taskDefKey") == null ? "" : histTask.get("taskDefKey").toString()); flowTask.setTaskDefKey(histTask.get("taskDefKey") == null ? "" : histTask.get("taskDefKey").toString());
flowTask.setTaskName(histTask.get("NAME_") == null ? "" : histTask.get("NAME_").toString()); flowTask.setTaskName(histTask.get("NAME_") == null ? "" : histTask.get("NAME_").toString());
// 判断是否办结
/*Object end_act_id_ = histTask.get("END_ACT_ID_");
if (end_act_id_ != null) {
flowTask.setTaskName(ProcessStateEnum.FINISHED.getStateName());
}*/
// 流程定义信息
// ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
// .processDefinitionId(histTask.get("PROC_DEF_ID_").toString())
// .singleResult();
flowTask.setDeployId(histTask.get("DEPLOYMENT_ID_") == null ? "" : histTask.get("DEPLOYMENT_ID_").toString()); flowTask.setDeployId(histTask.get("DEPLOYMENT_ID_") == null ? "" : histTask.get("DEPLOYMENT_ID_").toString());
flowTask.setProcDefName(histTask.get("PROC_DEF_NAME_") == null ? "" : histTask.get("PROC_DEF_NAME_").toString()); flowTask.setProcDefName(histTask.get("PROC_DEF_NAME_") == null ? "" : histTask.get("PROC_DEF_NAME_").toString());
flowTask.setProcDefVersion(histTask.get("PROC_DEF_VERSION_") == null ? 0 : Integer.parseInt(histTask.get("PROC_DEF_VERSION_").toString())); flowTask.setProcDefVersion(histTask.get("PROC_DEF_VERSION_") == null ? 0 : Integer.parseInt(histTask.get("PROC_DEF_VERSION_").toString()));
flowTask.setProcInsId(histTask.get("PROC_INST_ID_").toString()); flowTask.setProcInsId(histTask.get("PROC_INST_ID_").toString());
flowTask.setHisProcInsId(histTask.get("PROC_INST_ID_").toString()); flowTask.setHisProcInsId(histTask.get("PROC_INST_ID_").toString());
// 流程发起人信息
// HistoricProcessInstance hi = historyService.createHistoricProcessInstanceQuery()
// .processInstanceId(histTask.get("PROC_INST_ID_").toString())
// .singleResult();
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(histTask.get("START_USER_ID_").toString()); ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(histTask.get("START_USER_ID_").toString());
if(!sysUserVoResultBean.getSuccess()){
continue;
}
flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid()); flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid());
flowTask.setStartUserName(sysUserVoResultBean.getData().getName()); flowTask.setStartUserName(sysUserVoResultBean.getData().getName());
// ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(historicProcessInstance.getStartUserId());
if(sysUserVoResultBean.getData()!=null){ if(sysUserVoResultBean.getData()!=null){
flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid()); flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid());
flowTask.setStartUserName(sysUserVoResultBean.getData().getName()); flowTask.setStartUserName(sysUserVoResultBean.getData().getName());
/*ResultBean<String> pathSidByUserSid = sysStaffOrgFeign.getPathSidByUserSid(sysUserVoResultBean.getData().getSid());
String ogrName="";
if(pathSidByUserSid.getData()!=null){
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(pathSidByUserSid.getData());
ogrName=sysOrganizationVoResultBean.getData().getName();
}
flowTask.setStartDeptName(ogrName+"-"+sysUserVoResultBean.getData().getOrganizationName());*/
} }
// flowTask.setStartDeptName(sysUserVoResultBean.getData().getOrganizationName());
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().includeProcessVariables().taskId(flowTask.getTaskId()).singleResult(); HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().includeProcessVariables().taskId(flowTask.getTaskId()).singleResult();
flowTask.setProcessVariables(historicTaskInstance.getProcessVariables()); flowTask.setProcessVariables(historicTaskInstance.getProcessVariables());
Object end_act_id = histTask.get("end_act_id_"); Object end_act_id = histTask.get("end_act_id_");
@ -2101,20 +2084,21 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
if(o==null){ if(o==null){
return rb.setMsg("流程设计问题"); return rb.setMsg("流程设计问题");
} }
String projectSid = dto.getProjectSid();
//log.info("getNextNodeUserSidsOfCreate3:{}",JSONObject.toJSONString(o)); //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(); UserAndOrgPath mapParam=new UserAndOrgPath();
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(o)); JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(o));
String roleSid = jsonArray.get(0).toString(); String roleSid = jsonArray.get(0).toString();
//根据组织架构、角色两个参数取相关符合条件的用户信息 //根据组织架构、角色两个参数取相关符合条件的用户信息
UserQuery userQuery = new UserQuery(); UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(roleSid); userQuery.setRoleSid(roleSid);
//log.info("getNextUserSids0:{}",JSONObject.toJSONString(userQuery)); userQuery.setProjectSid(projectSid);
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRoleNoOrgPath(userQuery).getData(); // List<SysUserVo> sysUserVos = sysUserFeign.getUserByRoleNoOrgPath(userQuery).getData();
//log.info("getNextUserSids1:{}",JSONObject.toJSONString(sysUserVos)); List<SysUserVo> sysUserVos = sysUserFeign.getUserByRoleAndProject(userQuery).getData();
if(sysUserVos==null||sysUserVos.size()<1){ if(sysUserVos==null||sysUserVos.size()<1){
return rb.fail().setMsg("环节没有用户"); return rb.fail().setMsg("环节没有用户");
} }
@ -2127,12 +2111,10 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
} }
//符合条件的用户的sid,拼接的字符串 //符合条件的用户的sid,拼接的字符串
String nextNodeUserSids_ = nextNodeUserSids.toString(); String nextNodeUserSids_ = nextNodeUserSids.toString();
//log.info("getNextUserSids2:{}",nextNodeUserSids_);
if(StringUtils.isBlank(nextNodeUserSids_)) if(StringUtils.isBlank(nextNodeUserSids_))
return rb.fail().setMsg("环节没有用户"); return rb.fail().setMsg("环节没有用户");
nextNodeUserSids_ = nextNodeUserSids_.substring(0, nextNodeUserSids_.length() - 1); nextNodeUserSids_ = nextNodeUserSids_.substring(0, nextNodeUserSids_.length() - 1);
mapParam.setUserSid(nextNodeUserSids_); mapParam.setUserSid(nextNodeUserSids_);
//log.info("getNextUserSids3:{}",JSONObject.toJSONString(mapParam));
return rb.success().setData(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<>(); private Map<String, Object> formVariables =new HashMap<>();
/* @ApiModelProperty("机构sid:切换结构使用")
private String orgPath;*/ @ApiModelProperty("项目sid")
private String projectSid;
} }

4
yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/supervise/system/sysuser/SysUserFeign.java

@ -7,6 +7,7 @@ import com.yxt.common.core.vo.PagerVo;
import com.yxt.supervise.system.sysstaffinfo.SysStaffinfoVo; import com.yxt.supervise.system.sysstaffinfo.SysStaffinfoVo;
import com.yxt.supervise.system.sysuser.app.AppUserOrgInfoVo; import com.yxt.supervise.system.sysuser.app.AppUserOrgInfoVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
@ -231,4 +232,7 @@ public interface SysUserFeign {
@ApiOperation(value = "获取角色的用户") @ApiOperation(value = "获取角色的用户")
@GetMapping(value = "getUserByRoleNoOrgPath") @GetMapping(value = "getUserByRoleNoOrgPath")
ResultBean<List<SysUserVo>> getUserByRoleNoOrgPath(@SpringQueryMap UserQuery userQuery); ResultBean<List<SysUserVo>> getUserByRoleNoOrgPath(@SpringQueryMap UserQuery userQuery);
@ApiModelProperty("根据项目和角色获取用户")
@GetMapping("getUserByRoleAndProject")
public ResultBean<List<SysUserVo>> getUserByRoleAndProject(@SpringQueryMap UserQuery userQuery);
} }

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

@ -219,4 +219,9 @@ public class SysUserFeignFallback implements SysUserFeign {
public ResultBean<List<SysUserVo>> getUserByRoleNoOrgPath(UserQuery userQuery) { public ResultBean<List<SysUserVo>> getUserByRoleNoOrgPath(UserQuery userQuery) {
return null; return null;
} }
@Override
public ResultBean<List<SysUserVo>> getUserByRoleAndProject(UserQuery userQuery) {
return null;
}
} }

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

@ -12,10 +12,11 @@ import lombok.Data;
@Data @Data
public class UserQuery implements Query { public class UserQuery implements Query {
private static final long serialVersionUID = -3979717077029562761L;
@ApiModelProperty(value = "角色sid必传项") @ApiModelProperty(value = "角色sid必传项")
private String roleSid; private String roleSid;
@ApiModelProperty(value = "用户部门sid路径是必传项") @ApiModelProperty(value = "用户部门sid路径是必传项")
private String orgSidPath; 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' and si.personTypeKey != '01'
</select> </select>
<select id="getUserByRoleNoOrgPath" resultType="com.yxt.supervise.system.sysuser.SysUserVo"> <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 from sys_user_role sr
left join sys_user su on sr.userSid = su.sid left join sys_user su on sr.userSid = su.sid
left join sys_staffinfo si on si.sid = su.staffSid 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); return sysUserService.getUserByRoleNoOrgPath(userQuery);
} }
@GetMapping("getUserByRoleAndProject")
public ResultBean<List<SysUserVo>> getUserByRoleAndProject(@SpringQueryMap UserQuery userQuery) {
return sysUserService.getUserByRoleAndProject(userQuery);
}
@GetMapping("getUserByType") @GetMapping("getUserByType")
public ResultBean getUserByType(@RequestParam("userType") String userType) { public ResultBean getUserByType(@RequestParam("userType") String userType) {
return sysUserService.getUserByType(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.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; 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.ProjectInformationFeign;
import com.yxt.supervise.feign.crm.userproject.UserProjectFeign;
import com.yxt.supervise.feign.report.WxUserFeign; import com.yxt.supervise.feign.report.WxUserFeign;
import com.yxt.supervise.system.config.DictCommonType; import com.yxt.supervise.system.config.DictCommonType;
import com.yxt.supervise.system.sysorganization.SysOrganization; import com.yxt.supervise.system.sysorganization.SysOrganization;
@ -122,6 +124,8 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
private WxUserFeign wxUserFeign; private WxUserFeign wxUserFeign;
@Autowired @Autowired
private WxUserService wxUserService; private WxUserService wxUserService;
@Autowired
private UserProjectFeign userProjectFeign;
public PagerVo<SysUser> listPage(PagerQuery<SysUserQuery> pq) { public PagerVo<SysUser> listPage(PagerQuery<SysUserQuery> pq) {
@ -1570,4 +1574,31 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
sysUserVoList = baseMapper.getUserByRoleNoOrgPath(query.getRoleSid()); sysUserVoList = baseMapper.getUserByRoleNoOrgPath(query.getRoleSid());
return rb.success().setData(sysUserVoList); 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);
}
} }

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

@ -12,10 +12,11 @@ import lombok.Data;
@Data @Data
public class UserQuery implements Query { public class UserQuery implements Query {
private static final long serialVersionUID = -3979717077029562761L;
@ApiModelProperty(value = "角色sid必传项") @ApiModelProperty(value = "角色sid必传项")
private String roleSid; private String roleSid;
@ApiModelProperty(value = "用户部门sid路径是必传项") @ApiModelProperty(value = "用户部门sid路径是必传项")
private String orgSidPath; 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; package com.yxt.supervise.enterprisecentre.api.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -60,6 +61,6 @@ public class BusinessVariables {
* 业务参数按需传递 * 业务参数按需传递
*/ */
private Map<String, Object> formVariables =new HashMap<>(); private Map<String, Object> formVariables =new HashMap<>();
/* @ApiModelProperty("机构sid:切换结构使用") @ApiModelProperty("项目sid")
private String orgPath;*/ private String projectSid;
} }

76
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"); qw.orderByDesc("id");
return qw; return qw;
} }
public PagerVo<SealRecordVo> listPageVo(PagerQuery<SealRecordQuery> pq) { public PagerVo<SealRecordVo> listPageVo(PagerQuery<SealRecordQuery> pq) {
SealRecordQuery query = pq.getParams(); SealRecordQuery query = pq.getParams();
QueryWrapper<SealRecord> qw = createQueryWrapper(query); QueryWrapper<SealRecord> qw = createQueryWrapper(query);
@ -148,7 +148,7 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
PagerVo<SealRecordVo> p = PagerUtil.pageToVo(pagging, null); PagerVo<SealRecordVo> p = PagerUtil.pageToVo(pagging, null);
return p; return p;
} }
public ResultBean saveOrUpdateDto(SealRecordDto dto){ public ResultBean saveOrUpdateDto(SealRecordDto dto){
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid(); String dtoSid = dto.getSid();
@ -190,11 +190,11 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
if (StringUtils.isBlank(dtoSid)) { if (StringUtils.isBlank(dtoSid)) {
SealRecord sealRecord = this.insertByDto(dto); SealRecord sealRecord = this.insertByDto(dto);
return rb.success().setData(sealRecord.getSid()); return rb.success().setData(sealRecord.getSid());
} }
this.updateByDto(dto); this.updateByDto(dto);
return rb.success().setData(dto.getSid()); return rb.success().setData(dto.getSid());
} }
public SealRecord insertByDto(SealRecordDto dto){ public SealRecord insertByDto(SealRecordDto dto){
SealRecord entity = new SealRecord(); SealRecord entity = new SealRecord();
StringBuilder files=new StringBuilder(); StringBuilder files=new StringBuilder();
@ -208,7 +208,7 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
baseMapper.insert(entity); baseMapper.insert(entity);
return entity; return entity;
} }
public void updateByDto(SealRecordDto dto){ public void updateByDto(SealRecordDto dto){
String dtoSid = dto.getSid(); String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) { if (StringUtils.isBlank(dtoSid)) {
@ -225,7 +225,7 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
entity.setFile_path(paths); entity.setFile_path(paths);
baseMapper.updateById(entity); baseMapper.updateById(entity);
} }
public SealRecordDetailsVo fetchDetailsVoBySid(String sid){ public SealRecordDetailsVo fetchDetailsVoBySid(String sid){
SealRecord entity = fetchBySid(sid); SealRecord entity = fetchBySid(sid);
if(entity==null){ if(entity==null){
@ -249,7 +249,7 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
return vo; return vo;
} }
public ResultBean submit(SealRecordDto dto) { public ResultBean submitOld(SealRecordDto dto) {
ResultBean resultBean = this.saveOrUpdateDto(dto); ResultBean resultBean = this.saveOrUpdateDto(dto);
boolean success = resultBean.getSuccess(); boolean success = resultBean.getSuccess();
if(!success){ if(!success){
@ -264,8 +264,7 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
BeanUtil.copyProperties(dto, bv); BeanUtil.copyProperties(dto, bv);
bv.setOrgSidPath(dto.getCreaterOrgPath()==null?"":dto.getCreaterOrgPath()); bv.setOrgSidPath(dto.getCreaterOrgPath()==null?"":dto.getCreaterOrgPath());
bv.setBusinessSid(businessSid); bv.setBusinessSid(businessSid);
bv.setUserSid(dto.getUser_sid());//"0331e5b5-9d60-11ed-87ce-525401028fe8"); bv.setUserSid(dto.getUser_sid());
//variables.put("businessSid", businessSid);
String project_sid = dto.getProject_sid(); String project_sid = dto.getProject_sid();
if(StringUtils.isBlank(project_sid)){ if(StringUtils.isBlank(project_sid)){
return resultBean.setMsg("project_sid不能为空!"); return resultBean.setMsg("project_sid不能为空!");
@ -338,6 +337,41 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
return resultBean.success(); 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) { private int updateFlowFiled(UpdateFlowFieldVo updateFlowFieldVo) {
UpdateWrapper<SealRecord> uw = new UpdateWrapper<>(); UpdateWrapper<SealRecord> uw = new UpdateWrapper<>();
uw.eq("sid", updateFlowFieldVo.getSid()); uw.eq("sid", updateFlowFieldVo.getSid());
@ -360,7 +394,7 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
return baseMapper.update(null, uw); return baseMapper.update(null, uw);
} }
public ResultBean complete(BusinessVariables bv) { public ResultBean completeOld(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid(); String businessSid = bv.getBusinessSid();
SealRecord sealRecord = this.fetchBySid(businessSid); SealRecord sealRecord = this.fetchBySid(businessSid);
@ -447,6 +481,28 @@ public class SealRecordService extends MybatisBaseService<SealRecordMapper, Seal
} }
} }
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
SealRecord sealRecord = this.fetchBySid(businessSid);
String project_sid = sealRecord.getProject_sid();
bv.setModelId(sealRecord.getProcDefId());
bv.setProjectSid(sealRecord.getProject_sid());
if(StringUtils.isBlank(project_sid)){
return rb.setMsg("project_sid不能为空!");
}
if (bv.getTaskId().equals(sealRecord.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled( resultBean.getData());
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean revokeProcess(String userSid, String businessSid, FlowTaskVo flowTaskVo) { public ResultBean revokeProcess(String userSid, String businessSid, FlowTaskVo flowTaskVo) {
FlowTaskVo fl = new FlowTaskVo(); FlowTaskVo fl = new FlowTaskVo();
BeanUtil.copyProperties(flowTaskVo, fl); BeanUtil.copyProperties(flowTaskVo, fl);

Loading…
Cancel
Save