Browse Source

Merge remote-tracking branch 'origin/master'

master
dimengzhe 3 years ago
parent
commit
8a44ecdabe
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleDto.java
  2. 40
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/VehicleState.java
  3. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java
  4. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java
  5. 6
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  6. 11
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowdefinition/FlowDefinitionService.java
  7. 4
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java
  8. 131
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  9. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleDto.java

@ -100,4 +100,8 @@ public class BaseVehicleDto implements Dto {
private String certificateState = "001";
@ApiModelProperty(value = "合格证状态value")
private String certificateStateValue = "虚拟";
@ApiModelProperty(value = "调车状态key")
private String witPinState;
@ApiModelProperty(value = "调车状态value")
private String witPinStateValue;
}

40
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/VehicleState.java

@ -45,6 +45,46 @@ public class VehicleState {
}
}
@Getter
public static enum ShuntingEnum {
/**
* 未调车
*/
UN_SHUNTING("100", "未调车"),
/**
* 内销
*/
WITPIN("101", "内销"),
/**
* 内购
*/
WITPURCHASE("102", "内购"),
/**
* 外采
*/
OUTCOLL("103", "外采");
/**
* code值
*/
private final String code;
/**
* 备注
*/
private final String remarks;
/**
* 构造器
*
* @param code code值
* @param remarks 备注
*/
private ShuntingEnum(String code, String remarks) {
this.code = code;
this.remarks = remarks;
}
}
@Getter
public static enum BuyoutEnum {
/**

5
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java

@ -73,6 +73,11 @@ public interface FlowTaskFeign {
@ResponseBody
ResultBean businessDoneList(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid,
@RequestBody PagerQuery<BusinessTaskQuery> taskQueryPagerQuery);
@ApiOperation(value = "业务系统查询已办任务列表_移动端")
@PostMapping("/businessDoneListForApp/{userSid}")
@ResponseBody
ResultBean businessDoneListForApp(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid,
@RequestBody PagerQuery<BusinessTaskQuery> taskQueryPagerQuery);
@ApiOperation(value = "流程历史流转记录")
@PostMapping(value = "/flowRecord")

5
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java

@ -66,6 +66,11 @@ public class FlowTaskFeignFallBack implements FlowTaskFeign {
return null;
}
@Override
public ResultBean businessDoneListForApp(String userSid, PagerQuery<BusinessTaskQuery> taskQueryPagerQuery) {
return null;
}
@Override
public ResultBean flowRecord(RecordQuery recordQuery) {
return null;

6
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java

@ -235,6 +235,7 @@ public class FlowableRest implements FlowableFeign {
dto.setFormVariables(new HashMap<String, Object>());
Map<String, Object> formVariables = dto.getFormVariables();
formVariables.put("businessSid",dto.getBusinessSid());
String nextUserSid = dto.getNextNodeUserSids();
if(StringUtils.isBlank(nextUserSid)){
ResultBean<String> nextNodeUserSidsOfSubmit = getNextNodeUserSidsOfSubmit(dto);
@ -281,8 +282,11 @@ public class FlowableRest implements FlowableFeign {
log.error("formVariables:{}",JSON.toJSONString(formVariables));
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);
//根据流程实例的id取最新的待办环节,给环节设置上用户sid
ResultBean<List<LatestTaskVo>> ll = flowtaskService.getLatestTasksNew(instanceId);
if (ll.getData().size() > 0) {

11
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowdefinition/FlowDefinitionService.java

@ -151,7 +151,7 @@ public class FlowDefinitionService extends FlowServiceFactory {
if (Objects.nonNull(task)) {
taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.NORMAL.getType(), sysUser.getUserName() + "发起流程申请");
// taskService.setAssignee(task.getId(), sysUser.getUserId().toString());
taskService.complete(task.getId(), variables, true);
taskService.complete(task.getId(), variables);
}
return ResultBean.fireSuccess().setMsg("流程启动成功");
} catch (Exception e) {
@ -188,17 +188,26 @@ public class FlowDefinitionService extends FlowServiceFactory {
ProcessInstance processInstance = runtimeService.startProcessInstanceById(procDefId, variables);
// 给第一步申请人节点设置任务执行人和意见 todo:第一个节点不设置为申请人节点有点问题?
Task task = taskService.createTaskQuery().processInstanceId(processInstance.getProcessInstanceId()).singleResult();
for(Map.Entry<String, Object> entry:variables.entrySet()){
taskService.setVariable(task.getId(),entry.getKey(),entry.getValue());
System.out.println(entry.getKey()+"--->"+entry.getValue());
}
if (Objects.nonNull(task)) {
taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.NORMAL.getType(),
sysUser.getName() + "发起流程申请");
taskService.setAssignee(task.getId(), userSid);
taskService.complete(task.getId(), variables);
}
ResultBean<List<LatestTaskVo>> latestTasksNew = flowTaskService.getLatestTasksNew(processInstance.getId());
List<LatestTaskVo> data = latestTasksNew.getData();
LatestTaskVo latestTaskVo = data.get(0);
String id_ = latestTaskVo.getId_();
taskService.setAssignee(id_,nextNodeUserSids);
/*for(Map.Entry<String, Object> entry:variables.entrySet()){
taskService.setVariable(id_,entry.getKey(),entry.getValue());
System.out.println(entry.getKey()+"--->"+entry.getValue());
}*/
ResultBean<FlowTask> rb = new ResultBean<>();
FlowTask flowTask = new FlowTask();
flowTask.setTaskId(task.getId());

4
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java

@ -117,6 +117,10 @@ public class FlowTaskController implements FlowTaskFeign {
public ResultBean businessDoneList(String userSid, PagerQuery<BusinessTaskQuery> taskQueryPagerQuery) {
return flowTaskService.businessDoneListNew(userSid, taskQueryPagerQuery);
}
@Override
public ResultBean businessDoneListForApp(String userSid, PagerQuery<BusinessTaskQuery> taskQueryPagerQuery) {
return flowTaskService.businessDoneListNewForApp(userSid, taskQueryPagerQuery);
}
@Override
public ResultBean flowRecord(RecordQuery recordQuery) {

131
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -432,6 +432,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}*/
taskQuery.active()
.includeProcessVariables()
.includeTaskLocalVariables()
.or()
//.taskCandidateGroupIn(roleSidList)
.taskAssigneeLike("%" + userSid + "%")
@ -456,7 +457,8 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
FlowTaskDto flowTask = new FlowTaskDto();
Map<String, Object> processVariables = task.getProcessVariables();
flowTask.setProcessVariables(processVariables);
Map<String, Object> taskLocalVariables= task.getTaskLocalVariables();
System.out.println(JSON.toJSONString(taskLocalVariables));
// 当前流程信息
flowTask.setTaskId(task.getId());
flowTask.setTaskDefKey(task.getTaskDefinitionKey());
@ -697,6 +699,127 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
// 设置手机端参数
// Map<String, Map<String, Object>> map = getAppOrPcVariables(flowTask);
// flowTask.setAppVariables(map.get("appVariables"));
// flowTask.setPcVariables(map.get("pcVariables"));
hisTaskList.add(flowTask);
}
page.setTotal(count);
page.setRecords(hisTaskList);
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>();
return rb.success().setData(page);
}
/**
* 已办任务列表
*
* @param pageNum 当前页码
* @param pageSize 每页条数
* @return
*/
public ResultBean<Page<FlowTaskDto>> businessFinishedListForApp(String userSid, List<BusinessTaskParam> params, Integer pageNum, Integer pageSize) {
Page<FlowTaskDto> page = new Page<>();
Map<String, Object> paraMap = new HashMap<>();
List<Map<String, Object>> ll = new ArrayList<>();
for (BusinessTaskParam btq : params) {
paraMap.put(btq.getField(), btq.getValue());
Map<String, Object> mapss = new HashMap<>();
if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.EQUAL)) {
mapss.put("symbol", "=");
mapss.put("value", btq.getValue());
mapss.put("filed", btq.getField());
}
if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.LIKE)) {
mapss.put("symbol", "like");
mapss.put("value", "%" + btq.getValue() + "%");
mapss.put("filed", btq.getField());
}
/* if(btq.getSqlOperationSymbol().equals(SQLOperationSymbol.NONE)){
if("processDefinitionId".equals(btq.getField())){
taskInstanceQuery.processDefinitionId(btq.getValue());
}
}*/
ll.add(mapss);
}
paraMap.put("userSid", userSid);
paraMap.put("list", ll);
paraMap.put("page", (pageNum - 1) * pageSize);
paraMap.put("size", pageSize);
// List<Map<String, Object>> maps = baseMapper.finishedList(userSid, ll ,(pageNum-1)*pageSize,pageSize);
List<Map<String, Object>> maps = baseMapper.finishedList1(paraMap);
int count = baseMapper.finishedListCount(paraMap);
List<FlowTaskDto> hisTaskList = new ArrayList();
for (Map<String, Object> histTask : maps) {
FlowTaskDto flowTask = new FlowTaskDto();
// 当前流程信息
flowTask.setTaskId(histTask.get("ID_").toString());
// 审批人员信息
Timestamp start_time_ = (Timestamp) histTask.get("START_TIME_");
long time = start_time_.getTime();
Date date = new Date(time);
flowTask.setCreateTime(date);
flowTask.setAssigneeSid(histTask.get("ASSIGNEE_") == null ? "" : histTask.get("ASSIGNEE_").toString());
if (histTask.get("ASSIGNEE_") != null && StringUtils.isNotBlank(histTask.get("ASSIGNEE_").toString())) {
ResultBean<List<SysUserVo>> assignee_ = sysUserFeign.fetchBySids(histTask.get("ASSIGNEE_").toString());
StringBuilder userName=new StringBuilder();
List<SysUserVo> data1 = assignee_.getData();
for( SysUserVo data:data1){
userName.append(data.getName()).append(",");
}
String userName_str="";
userName_str=userName.substring(0,userName.length()-1);
flowTask.setAssigneeName(userName_str);
}
flowTask.setHasRevokeButton(userSid.equals(flowTask.getAssigneeSid()) ? true : false);
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.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.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.setProcInsId(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());
flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid());
flowTask.setStartUserName(sysUserVoResultBean.getData().getName());
flowTask.setStartDeptName(sysUserVoResultBean.getData().getOrganizationName());
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().includeProcessVariables().taskId(flowTask.getTaskId()).singleResult();
flowTask.setProcessVariables(historicTaskInstance.getProcessVariables());
Object end_act_id = histTask.get("end_act_id_");
if (end_act_id != null) {
flowTask.setEndActId((String) end_act_id);
}
Object end_time = histTask.get("END_TIME_");
if (end_time != null) {
Timestamp end_time_t = (Timestamp) end_time;
long end_time_t_l = end_time_t.getTime();
flowTask.setEndTime(new Date(end_time_t_l));
}
flowTask.setProcessVariables(historicTaskInstance.getProcessVariables());
ResultBean<List<SysProUrlVo>> listResultBean = sysProUrlService.selectUrlByKey(flowTask.getProcDefId(), flowTask.getTaskDefKey(), "2", "2");
flowTask.setSysProUrlVo(listResultBean.getData().get(0));
// 设置手机端参数
// Map<String, Map<String, Object>> map = getAppOrPcVariables(flowTask);
// flowTask.setAppVariables(map.get("appVariables"));
// flowTask.setPcVariables(map.get("pcVariables"));
hisTaskList.add(flowTask);
@ -1515,6 +1638,12 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
List<BusinessTaskParam> fields = taskQueryPagerQuery.getParams().getFields();
return businessFinishedList(userSid, fields, current, size);
}
public ResultBean businessDoneListNewForApp(String userSid, PagerQuery<BusinessTaskQuery> taskQueryPagerQuery) {
int size = Integer.valueOf(taskQueryPagerQuery.getSize() + "");
int current = Integer.valueOf(taskQueryPagerQuery.getCurrent() + "");
List<BusinessTaskParam> fields = taskQueryPagerQuery.getParams().getFields();
return businessFinishedListForApp(userSid, fields, current, size);
}
public ResultBean stopProcessNew(String userSid, FlowTaskVo flowTaskVo) {
stopProcess(userSid, flowTaskVo);

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

@ -453,6 +453,8 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
baseVehicleDto.setLockedStateValue(VehicleState.LockEnum.UN_LOCK.getRemarks());
baseVehicleDto.setVehicleState(VehicleState.StockEnum.ING_STOCK.getCode());
baseVehicleDto.setVehicleStateValue(VehicleState.StockEnum.ING_STOCK.getRemarks());
baseVehicleDto.setWitPinState(VehicleState.ShuntingEnum.UN_SHUNTING.getCode());
baseVehicleDto.setWitPinStateValue(VehicleState.ShuntingEnum.UN_SHUNTING.getRemarks());
baseVehicleDto.setManPurOrderTypeKey("001");
baseVehicleDto.setManPurOrderTypeValue("排产订单");
baseVehicleDto.setContractPrice(Integer.parseInt(booad.getContractPrice().toString()));

Loading…
Cancel
Save