Browse Source

车辆外采流程办理

master
yxt_djz 3 years ago
parent
commit
d3157bbe12
  1. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeign.java
  2. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeignFallback.java
  3. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/flow/FlowTaskVo.java
  4. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationRest.java
  5. 170
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  6. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java
  7. 2
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  8. 2
      anrui-scm/anrui-scm-ui/src/api/baseoutsourcingapplication/baseoutsourcingapplication.js
  9. 25
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplicationInfo.vue
  10. 77
      anrui-system-ui/src/views/flow/doneList.vue

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeign.java

@ -135,9 +135,8 @@ public interface BaseOutsourcingApplicationFeign {
@ApiParam(value = "工作流任务相关--请求参数") @RequestBody FlowTaskVo flowTaskVo) ; @ApiParam(value = "工作流任务相关--请求参数") @RequestBody FlowTaskVo flowTaskVo) ;
@ApiOperation(value = "驳回任务") @ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject/{businessSid}") @PostMapping(value = "/reject")
public ResultBean taskReject(@ApiParam(value = "业务sid") @PathVariable(value = "businessSid")String businessSid, public ResultBean taskReject( @ApiParam(value = "工作流任务相关--请求参数")@RequestBody FlowTaskVo flowTaskVo);
@ApiParam(value = "工作流任务相关--请求参数")@RequestBody FlowTaskVo flowTaskVo);
@ApiOperation(value = "终止任务") @ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess/{businessSid}") @PostMapping(value = "/breakProcess/{businessSid}")

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeignFallback.java

@ -113,7 +113,7 @@ public class BaseOutsourcingApplicationFeignFallback implements BaseOutsourcingA
} }
@Override @Override
public ResultBean taskReject(String businessSid, FlowTaskVo flowTaskVo) { public ResultBean taskReject( FlowTaskVo flowTaskVo) {
return null; return null;
} }

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/flow/FlowTaskVo.java

@ -21,7 +21,8 @@ public class FlowTaskVo {
@ApiModelProperty("任务Id") @ApiModelProperty("任务Id")
private String taskId; private String taskId;
@ApiModelProperty("businessSid ")
private String businessSid;
@ApiModelProperty("用户Id") @ApiModelProperty("用户Id")
private String userId; private String userId;
@ApiModelProperty("用户Sid") @ApiModelProperty("用户Sid")

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationRest.java

@ -149,8 +149,8 @@ public class BaseOutsourcingApplicationRest implements BaseOutsourcingApplicatio
} }
@Override @Override
public ResultBean taskReject(String businessSid, FlowTaskVo flowTaskVo) { public ResultBean taskReject( FlowTaskVo flowTaskVo) {
return baseOutsourcingApplicationService.taskReject(businessSid, flowTaskVo); return baseOutsourcingApplicationService.taskReject( flowTaskVo);
} }
@Override @Override

170
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java

@ -117,8 +117,8 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
if (StringUtils.isNotBlank(query.getModelName())) { if (StringUtils.isNotBlank(query.getModelName())) {
qw.like("modelName", query.getModelName()); qw.like("modelName", query.getModelName());
} }
qw.eq("useOrgSid",query.getUseOrgSid()); qw.eq("useOrgSid", query.getUseOrgSid());
qw.eq("createBySid",query.getUserSid()); qw.eq("createBySid", query.getUserSid());
// qw.eq("createBySid",query.getUserSid()); // qw.eq("createBySid",query.getUserSid());
return qw; return qw;
} }
@ -137,7 +137,7 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
SysOrganizationVo data1 = sysOrganizationVoResultBean.getData(); SysOrganizationVo data1 = sysOrganizationVoResultBean.getData();
Integer isDept = data1.getIsDept(); Integer isDept = data1.getIsDept();
String psid = data1.getPsid(); String psid = data1.getPsid();
if (isDept != null){ if (isDept != null) {
if (isDept == 0 && !psid.equals(0)) { if (isDept == 0 && !psid.equals(0)) {
orgSidPath = s; orgSidPath = s;
break; break;
@ -153,14 +153,14 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
return p; return p;
} }
public ResultBean saveOrUpdateDto(BaseOutsourcingApplicationDto dto){ public ResultBean saveOrUpdateDto(BaseOutsourcingApplicationDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BaseOutsourcingApplication entity = new BaseOutsourcingApplication(); BaseOutsourcingApplication entity = new BaseOutsourcingApplication();
List<BaseOutsourcingApplicationVehicleDto> baseOutsourcingApplicationVehicleDtos = dto.getBaseOutsourcingApplicationVehicleDtos(); List<BaseOutsourcingApplicationVehicleDto> baseOutsourcingApplicationVehicleDtos = dto.getBaseOutsourcingApplicationVehicleDtos();
String sid1 = entity.getSid(); String sid1 = entity.getSid();
String sid = dto.getSid(); String sid = dto.getSid();
if (StringUtils.isBlank(sid)){//新增 if (StringUtils.isBlank(sid)) {//新增
BeanUtil.copyProperties(dto,entity); BeanUtil.copyProperties(dto, entity);
entity.setSid(sid1); entity.setSid(sid1);
entity.setApplicationDate(new SimpleDateFormat("yyyy-MM-dd").format(new Date())); entity.setApplicationDate(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
entity.setApplicationCode(generateBillNo(dto.getUserSid()).get("billNo_Num")); entity.setApplicationCode(generateBillNo(dto.getUserSid()).get("billNo_Num"));
@ -171,12 +171,12 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
for (SysStaffOrgVo datum : data) { for (SysStaffOrgVo datum : data) {
orgSidPath = datum.getOrgSidPath(); orgSidPath = datum.getOrgSidPath();
String[] split = orgSidPath.split("/"); String[] split = orgSidPath.split("/");
for (String s : split) { for (String s : split) {//TODO 封装到组织架构的feign中
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(s); ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(s);
SysOrganizationVo data1 = sysOrganizationVoResultBean.getData(); SysOrganizationVo data1 = sysOrganizationVoResultBean.getData();
Integer isDept = data1.getIsDept(); Integer isDept = data1.getIsDept();
String psid = data1.getPsid(); String psid = data1.getPsid();
if (isDept != null){ if (isDept != null) {
if (isDept == 0 && !psid.equals(0)) { if (isDept == 0 && !psid.equals(0)) {
orgSidPath = s; orgSidPath = s;
break; break;
@ -189,17 +189,17 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
save(entity); save(entity);
for (BaseOutsourcingApplicationVehicleDto baseOutsourcingApplicationVehicleDto : baseOutsourcingApplicationVehicleDtos) { for (BaseOutsourcingApplicationVehicleDto baseOutsourcingApplicationVehicleDto : baseOutsourcingApplicationVehicleDtos) {
BaseOutsourcingApplicationVehicle baseOutsourcingApplicationVehicle = new BaseOutsourcingApplicationVehicle(); BaseOutsourcingApplicationVehicle baseOutsourcingApplicationVehicle = new BaseOutsourcingApplicationVehicle();
BeanUtil.copyProperties(baseOutsourcingApplicationVehicleDto,baseOutsourcingApplicationVehicle); BeanUtil.copyProperties(baseOutsourcingApplicationVehicleDto, baseOutsourcingApplicationVehicle);
baseOutsourcingApplicationVehicle.setOutAppSid(sid1); baseOutsourcingApplicationVehicle.setOutAppSid(sid1);
baseOutsourcingApplicationVehicleService.save(baseOutsourcingApplicationVehicle); baseOutsourcingApplicationVehicleService.save(baseOutsourcingApplicationVehicle);
} }
return rb.success().setMsg("添加成功").setData(entity.getSid()); return rb.success().setMsg("添加成功").setData(entity.getSid());
} }
updateBySid(dto,sid); updateBySid(dto, sid);
baseOutsourcingApplicationVehicleService.deleteByOutAppSid(sid); baseOutsourcingApplicationVehicleService.deleteByOutAppSid(sid);
for (BaseOutsourcingApplicationVehicleDto baseOutsourcingApplicationVehicleDto : baseOutsourcingApplicationVehicleDtos) { for (BaseOutsourcingApplicationVehicleDto baseOutsourcingApplicationVehicleDto : baseOutsourcingApplicationVehicleDtos) {
BaseOutsourcingApplicationVehicle baseOutsourcingApplicationVehicle = new BaseOutsourcingApplicationVehicle(); BaseOutsourcingApplicationVehicle baseOutsourcingApplicationVehicle = new BaseOutsourcingApplicationVehicle();
BeanUtil.copyProperties(baseOutsourcingApplicationVehicleDto,baseOutsourcingApplicationVehicle); BeanUtil.copyProperties(baseOutsourcingApplicationVehicleDto, baseOutsourcingApplicationVehicle);
baseOutsourcingApplicationVehicle.setOutAppSid(sid); baseOutsourcingApplicationVehicle.setOutAppSid(sid);
baseOutsourcingApplicationVehicleService.save(baseOutsourcingApplicationVehicle); baseOutsourcingApplicationVehicleService.save(baseOutsourcingApplicationVehicle);
} }
@ -219,7 +219,7 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BaseOutsourcingApplicationDetailsVo baseOutsourcingApplicationDetailsVo = new BaseOutsourcingApplicationDetailsVo(); BaseOutsourcingApplicationDetailsVo baseOutsourcingApplicationDetailsVo = new BaseOutsourcingApplicationDetailsVo();
BaseOutsourcingApplication baseOutsourcingApplication = fetchBySid(sid); BaseOutsourcingApplication baseOutsourcingApplication = fetchBySid(sid);
BeanUtil.copyProperties(baseOutsourcingApplication,baseOutsourcingApplicationDetailsVo); BeanUtil.copyProperties(baseOutsourcingApplication, baseOutsourcingApplicationDetailsVo);
List<BaseOutsourcingApplicationVehicleVo> baseOutsourcingApplicationVehicleVos = baseOutsourcingApplicationVehicleService.fetchByOutAppSid(sid); List<BaseOutsourcingApplicationVehicleVo> baseOutsourcingApplicationVehicleVos = baseOutsourcingApplicationVehicleService.fetchByOutAppSid(sid);
baseOutsourcingApplicationDetailsVo.setBaseOutsourcingApplicationVehicleVos(baseOutsourcingApplicationVehicleVos); baseOutsourcingApplicationDetailsVo.setBaseOutsourcingApplicationVehicleVos(baseOutsourcingApplicationVehicleVos);
return rb.success().setData(baseOutsourcingApplicationDetailsVo); return rb.success().setData(baseOutsourcingApplicationDetailsVo);
@ -227,10 +227,11 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
/** /**
* 生成单据编号制定编号规则:单据类型编号数据字典key+部门编码+yyyyMMDD+0000 * 生成单据编号制定编号规则:单据类型编号数据字典key+部门编码+yyyyMMDD+0000
*
* @param userSid * @param userSid
* @return * @return
*/ */
public Map<String, String> generateBillNo(String userSid){ public Map<String, String> generateBillNo(String userSid) {
List<DictCommonVo> commonVoList = dictCommonFeign.getTypeValues(DictCommonType.BILLSTYPE, "0").getData(); List<DictCommonVo> commonVoList = dictCommonFeign.getTypeValues(DictCommonType.BILLSTYPE, "0").getData();
String billsType = ""; String billsType = "";
if (commonVoList.size() > 0) { if (commonVoList.size() > 0) {
@ -262,8 +263,8 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
int i = selectCountByOrgSid(billsType, date, orgSid); int i = selectCountByOrgSid(billsType, date, orgSid);
String num = String.format("%04d", i + 1); // 不足4位补0 String num = String.format("%04d", i + 1); // 不足4位补0
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
map.put("billNo_Num", billsType + orgCode + date.replaceAll("-","") + num); map.put("billNo_Num", billsType + orgCode + date.replaceAll("-", "") + num);
map.put("billNo", billsType + orgCode + date.replaceAll("-","")); map.put("billNo", billsType + orgCode + date.replaceAll("-", ""));
map.put("staffSid", user.getStaffSid()); map.put("staffSid", user.getStaffSid());
map.put("staffName", user.getName()); map.put("staffName", user.getName());
map.put("orgSid", orgSid); map.put("orgSid", orgSid);
@ -285,39 +286,83 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
public ResultBean submitBaseOutSourcingApplication(SubmitBaseOutSourcingApplicationDto dto) { public ResultBean submitBaseOutSourcingApplication(SubmitBaseOutSourcingApplicationDto dto) {
//取组织架构的全路径sid //取组织架构的全路径sid
SysStaffOrg sysStaffOrg=sysStaffOrgFeign.getOrgByStaffSid(dto.getStaffSid()).getData(); SysStaffOrg sysStaffOrg = sysStaffOrgFeign.getOrgByStaffSid(dto.getStaffSid()).getData();
String orgSidPath=sysStaffOrg.getOrgSidPath(); String orgSidPath = sysStaffOrg.getOrgSidPath();
Map<String, Object> variables=BeanUtil.beanToMap(dto); Map<String, Object> variables = BeanUtil.beanToMap(dto);
ResultBean resultBean = saveOrUpdateDto(dto);
String busSid = dto.getBusinessSid();
if (StringUtils.isBlank(busSid)) {
ResultBean resultBean = saveOrUpdateDto(dto);//insert
String businessSid = resultBean.getData().toString(); String businessSid = resultBean.getData().toString();
BusinessVariables bv= new BusinessVariables(); BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(dto,bv); BeanUtil.copyProperties(dto, bv);
bv.setOrgSidPath(orgSidPath); bv.setOrgSidPath(orgSidPath);
bv.setBusinessSid(businessSid); bv.setBusinessSid(businessSid);
bv.setUserSid(dto.getUserSid()); bv.setUserSid(dto.getUserSid());
variables.put("businessSid",businessSid); variables.put("businessSid", businessSid);
bv.setFormVariables(variables); bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId()); bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId());
//如果taskid从业务的数据库中查询出来,那这个taskid 和当前的关系是什么 如果数据库中查询出来的taskid是第四个环节的id,但是目前是做的第一次的提交操作。 //如果taskid从业务的数据库中查询出来,那这个taskid 和当前的关系是什么 如果数据库中查询出来的taskid是第四个环节的id,但是目前是做的第一次的提交操作。
// 应该是也不允许走if 也不运行走else 那应该如何验证这个id是否允许走else呢? // 应该是也不允许走if 也不运行走else 那应该如何验证这个id是否允许走else呢?
// 取出来业务数据的taskid和前端传递的taskid作比较 来判断数据的是否有效 本质上是数据版本一致性的问题 // 取出来业务数据的taskid和前端传递的taskid作比较 来判断数据的是否有效 本质上是数据版本一致性的问题
BaseOutsourcingApplicationDto booad=baseMapper.getBySid(businessSid);
String businessTaskid=booad.getTaskId();
if(StringUtils.isBlank(businessTaskid)&&StringUtils.isBlank(dto.getTaskId())){
// 新提交 taskid都是空的
ResultBean<UpdateFlowFieldVo> resultBean1 = flowableFeign.startProcess(bv); ResultBean<UpdateFlowFieldVo> resultBean1 = flowableFeign.startProcess(bv);
UpdateFlowFieldVo uff=resultBean1.getData(); UpdateFlowFieldVo uff = resultBean1.getData();
updateFlowFiled(BeanUtil.beanToMap(uff)); updateFlowFiled(BeanUtil.beanToMap(uff));
return resultBean1; return resultBean1;
}else if(businessTaskid.equals(dto.getTaskId())){//只有数据一致的时候才能进行下一步 }
BaseOutsourcingApplicationDto booad = new BaseOutsourcingApplicationDto();
int r = submitBusinessData(dto, busSid, booad);
if (r == 0) {
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!");
}
ResultBean resultBean = saveOrUpdateDto(dto);//update
String businessSid = resultBean.getData().toString();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(dto, bv);
bv.setOrgSidPath(orgSidPath);
bv.setBusinessSid(businessSid);
bv.setUserSid(dto.getUserSid());
variables.put("businessSid", businessSid);
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId());
//如果taskid从业务的数据库中查询出来,那这个taskid 和当前的关系是什么 如果数据库中查询出来的taskid是第四个环节的id,但是目前是做的第一次的提交操作。
// 应该是也不允许走if 也不运行走else 那应该如何验证这个id是否允许走else呢?
// 取出来业务数据的taskid和前端传递的taskid作比较 来判断数据的是否有效 本质上是数据版本一致性的问题
if (r == 1) {
ResultBean<UpdateFlowFieldVo> resultBean1 = flowableFeign.startProcess(bv);
UpdateFlowFieldVo uff = resultBean1.getData();
updateFlowFiled(BeanUtil.beanToMap(uff));
return resultBean1;
} else if (r == 2) {
bv.setTaskDefKey(booad.getTaskDefKey()); bv.setTaskDefKey(booad.getTaskDefKey());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId()); bv.setInstanceId(dto.getInstanceId());
return complete(bv); return complete(bv);
}else{
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!");
} }
return ResultBean.fireFail();
} }
private synchronized int submitBusinessData(SubmitBaseOutSourcingApplicationDto dto,
String businessSid, BaseOutsourcingApplicationDto booad) {
int r = 0;
booad = baseMapper.getBySid(businessSid);
String businessTaskid = booad.getTaskId();
if (StringUtils.isBlank(businessTaskid) && StringUtils.isBlank(dto.getTaskId())) {
// 新提交 taskid都是空的
r = 1;
} else if (StringUtils.isNotBlank(businessTaskid) && businessTaskid.equals(dto.getTaskId())) {//只有数据一致的时候才能进行下一步
r = 2;
}
return r;
}
/** /**
* 检查用户是否设置部门 * 检查用户是否设置部门
* *
@ -362,24 +407,26 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
/** /**
* 办理 * 办理
*
* @param bv * @param bv
* @return * @return
*/ */
public ResultBean complete(BusinessVariables bv) { public ResultBean complete(BusinessVariables bv) {
BaseOutsourcingApplicationDto booad=baseMapper.getBySid(bv.getBusinessSid()); BaseOutsourcingApplicationDto booad = baseMapper.getBySid(bv.getBusinessSid());
String businessTaskid=booad.getTaskId(); String businessTaskid = booad.getTaskId();
if(businessTaskid.equals(bv.getTaskId())){ //只有数据一致的时候才能进行下一步 if (businessTaskid.equals(bv.getTaskId())) { //只有数据一致的时候才能进行下一步
ResultBean<UpdateFlowFieldVo> rb = flowableFeign.handleProsess(bv); ResultBean<UpdateFlowFieldVo> rb = flowableFeign.handleProsess(bv);
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(rb.getData()); Map<String, Object> stringObjectMap = BeanUtil.beanToMap(rb.getData());
updateFlowFiled(stringObjectMap); updateFlowFiled(stringObjectMap);
return rb; return rb;
}else{ } else {
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!"); return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!");
} }
} }
/** /**
* 更新流程相关的状态 * 更新流程相关的状态
*
* @param map * @param map
* @return * @return
*/ */
@ -389,40 +436,41 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
/** /**
* 撤回 * 撤回
*
* @param userSid * @param userSid
* @param businessSid * @param businessSid
* @param flowTaskVo * @param flowTaskVo
* @return * @return
*/ */
public ResultBean revokeProcess(String userSid, String businessSid, FlowTaskVo flowTaskVo) { public ResultBean revokeProcess(String userSid, String businessSid, FlowTaskVo flowTaskVo) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl=new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo(); com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(flowTaskVo,fl); BeanUtil.copyProperties(flowTaskVo, fl);
fl.setBusinessSid(businessSid); fl.setBusinessSid(businessSid);
fl.setUserSid(userSid); fl.setUserSid(userSid);
ResultBean<UpdateFlowFieldVo> resultBean =flowableFeign.revokeProcess(fl); ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(fl);
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); Map<String, Object> stringObjectMap = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(stringObjectMap);
return resultBean; return resultBean;
} }
/** /**
* 驳回 * 驳回
*
* @param businessSid * @param businessSid
* @param flowTaskVo * @param flowTaskVo
* @return * @return
*/ */
public ResultBean taskReject(String businessSid, FlowTaskVo flowTaskVo) { public ResultBean taskReject(FlowTaskVo flowTaskVo) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl=new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo(); com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(flowTaskVo,fl); BeanUtil.copyProperties(flowTaskVo, fl);
fl.setBusinessSid(businessSid); BaseOutsourcingApplicationDto boad = baseMapper.getBySid(flowTaskVo.getBusinessSid());
BaseOutsourcingApplicationDto boad = baseMapper.getBySid(businessSid); ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(fl);
ResultBean<UpdateFlowFieldVo> resultBean =flowableFeign.taskReject(fl);
UpdateFlowFieldVo data = resultBean.getData(); UpdateFlowFieldVo data = resultBean.getData();
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(resultBean.getData()); Map<String, Object> stringObjectMap = BeanUtil.beanToMap(resultBean.getData());
stringObjectMap.put("taskDefKey",data.getTaskDefKey()); stringObjectMap.put("taskDefKey", data.getTaskDefKey());
stringObjectMap.put("procInstSid",boad.getProcInstSid()); stringObjectMap.put("procInstSid", boad.getProcInstSid());
stringObjectMap.put("procDefId",boad.getProcDefId()); stringObjectMap.put("procDefId", boad.getProcDefId());
stringObjectMap.put("nodeState",data.getNodeState()); stringObjectMap.put("nodeState", data.getNodeState());
//stringObjectMap.put("taskId",resultBean.getData().getTaskId()); //stringObjectMap.put("taskId",resultBean.getData().getTaskId());
updateFlowFiled(stringObjectMap); updateFlowFiled(stringObjectMap);
@ -431,13 +479,14 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
/** /**
* 终止流程 * 终止流程
*
* @param businessSid * @param businessSid
* @param flowTaskVo * @param flowTaskVo
* @return * @return
*/ */
public ResultBean breakProcess(String businessSid, FlowTaskVo flowTaskVo) { public ResultBean breakProcess(String businessSid, FlowTaskVo flowTaskVo) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl=new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo(); com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(flowTaskVo,fl); BeanUtil.copyProperties(flowTaskVo, fl);
fl.setBusinessSid(businessSid); fl.setBusinessSid(businessSid);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(fl); ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(fl);
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
@ -446,12 +495,13 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
/** /**
* 流程历史流转记录 * 流程历史流转记录
*
* @param procInsId * @param procInsId
* @param deployId * @param deployId
* @return * @return
*/ */
public ResultBean flowRecord(String procInsId, String deployId) { public ResultBean flowRecord(String procInsId, String deployId) {
return flowTaskFeign.businessFlowRecord(procInsId,deployId); return flowTaskFeign.businessFlowRecord(procInsId, deployId);
} }
public ResultBean readXml(String deployId) { public ResultBean readXml(String deployId) {
@ -466,40 +516,40 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
return flowTaskFeign.getNextTasks(taskId); return flowTaskFeign.getNextTasks(taskId);
} }
public ResultBean<List<SysUserVo>> getUsersByRoleSid(String orgSid,String roleSid) { public ResultBean<List<SysUserVo>> getUsersByRoleSid(String orgSid, String roleSid) {
UserQuery userQuery=new UserQuery(); UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(roleSid); userQuery.setRoleSid(roleSid);
userQuery.setOrgSidPath(orgSid); userQuery.setOrgSidPath(orgSid);
return sysUserFeign.getUserByRole(userQuery); return sysUserFeign.getUserByRole(userQuery);
} }
public ResultBean getProcessCirculationNodesByMap(BaseOutsourcingApplicationDto dto) { public ResultBean getProcessCirculationNodesByMap(BaseOutsourcingApplicationDto dto) {
BusinessVariables bv=new BusinessVariables(); BusinessVariables bv = new BusinessVariables();
bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId()); bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId());
bv.setFormVariables(BeanUtil.beanToMap(dto)); bv.setFormVariables(BeanUtil.beanToMap(dto));
ResultBean processCirculationNodesByMap =flowTaskFeign.getProcessCirculationNodesByMap(bv); ResultBean processCirculationNodesByMap = flowTaskFeign.getProcessCirculationNodesByMap(bv);
processCirculationNodesByMap.setCode("200"); processCirculationNodesByMap.setCode("200");
processCirculationNodesByMap.setSuccess(true); processCirculationNodesByMap.setSuccess(true);
return processCirculationNodesByMap; return processCirculationNodesByMap;
} }
public ResultBean getNextNodesForSubmit(GetNextNodeDto gnnd) { public ResultBean getNextNodesForSubmit(GetNextNodeDto gnnd) {
BusinessVariables bv=new BusinessVariables(); BusinessVariables bv = new BusinessVariables();
bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId()); bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId());
bv.setTaskDefKey(gnnd.getTaskDefKey()); bv.setTaskDefKey(gnnd.getTaskDefKey());
bv.setFormVariables(gnnd.getFormVariables()); bv.setFormVariables(gnnd.getFormVariables());
ResultBean processCirculationNodesByMap =flowTaskFeign.getNextNodesForSubmit(bv); ResultBean processCirculationNodesByMap = flowTaskFeign.getNextNodesForSubmit(bv);
processCirculationNodesByMap.setCode("200"); processCirculationNodesByMap.setCode("200");
processCirculationNodesByMap.setSuccess(true); processCirculationNodesByMap.setSuccess(true);
return processCirculationNodesByMap; return processCirculationNodesByMap;
} }
public ResultBean getPreviousNodesForReject(GetNextNodeDto gnnd) { public ResultBean getPreviousNodesForReject(GetNextNodeDto gnnd) {
BusinessVariables bv=new BusinessVariables(); BusinessVariables bv = new BusinessVariables();
bv.setTaskDefKey(gnnd.getTaskDefKey()); bv.setTaskDefKey(gnnd.getTaskDefKey());
bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId()); bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId());
bv.setFormVariables(gnnd.getFormVariables()); bv.setFormVariables(gnnd.getFormVariables());
ResultBean processCirculationNodesByMap =flowTaskFeign.getPreviousNodesForReject(bv); ResultBean processCirculationNodesByMap = flowTaskFeign.getPreviousNodesForReject(bv);
processCirculationNodesByMap.setCode("200"); processCirculationNodesByMap.setCode("200");
processCirculationNodesByMap.setSuccess(true); processCirculationNodesByMap.setSuccess(true);
return processCirculationNodesByMap; return processCirculationNodesByMap;

2
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java

@ -102,7 +102,7 @@ public interface FlowableFeign {
@ApiOperation(value = "撤回流程") @ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess") @PostMapping(value = "/revokeProcess")
@ResponseBody @ResponseBody
ResultBean revokeProcess(@RequestBody com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl); ResultBean<UpdateFlowFieldVo> revokeProcess(@RequestBody com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl);
@ApiOperation(value = "驳回流程") @ApiOperation(value = "驳回流程")
@PostMapping(value = "/taskReject") @PostMapping(value = "/taskReject")

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

@ -284,7 +284,7 @@ public class FlowableRest implements FlowableFeign {
} }
@Override @Override
public ResultBean revokeProcess(com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl) { public ResultBean<UpdateFlowFieldVo> revokeProcess(com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
UpdateFlowFieldVo vo = new UpdateFlowFieldVo(); UpdateFlowFieldVo vo = new UpdateFlowFieldVo();
ResultBean<List<LatestTaskVo>> resultBean = flowtaskService.revokeProcess(fl); ResultBean<List<LatestTaskVo>> resultBean = flowtaskService.revokeProcess(fl);

2
anrui-scm/anrui-scm-ui/src/api/baseoutsourcingapplication/baseoutsourcingapplication.js

@ -92,7 +92,7 @@ export default {
// 驳回任务 // 驳回任务
rejectTask: function(params) { rejectTask: function(params) {
return request({ return request({
url: '/base/baseoutsourcingapplication/reject/' + params.businessSid, url: '/base/baseoutsourcingapplication/reject',
method: 'post', method: 'post',
data: params, data: params,
headers: { headers: {

25
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplicationInfo.vue

@ -10,7 +10,7 @@
</div> </div>
</div> </div>
<!-- 标题按钮部分结束 --> <!-- 标题按钮部分结束 -->
<div class="listconadd"> <div >
<el-form ref="form_obj" :model="formobj" label-position="right" class="formadd"> <el-form ref="form_obj" :model="formobj" label-position="right" class="formadd">
<el-row> <el-row>
<el-col :span="3" class="tleftb">申请编号</el-col> <el-col :span="3" class="tleftb">申请编号</el-col>
@ -72,7 +72,6 @@
</el-table> </el-table>
</div> </div>
</el-form> </el-form>
</div> </div>
</div> </div>
</template> </template>
@ -135,6 +134,14 @@ export default {
this.revokeList.businessSid = sid this.revokeList.businessSid = sid
this.revokeList.instanceId = obj.instanceId this.revokeList.instanceId = obj.instanceId
this.revokeList.taskId = obj.taskId this.revokeList.taskId = obj.taskId
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 600 + 'px'
}
}, '*')
}, },
methods: { methods: {
// //
@ -153,15 +160,15 @@ export default {
}) })
}, },
/** 撤回任务 */ /** 撤回任务 */
handleRevoke() {alert(1); handleRevoke() {
request.revokeTask(this.revokeList).then((response) => { request.revokeTask(this.revokeList).then((response) => {
if (response.code === '200') { if (response.code === '200') {
this.$notify({ window.parent.postMessage({
title: '提示', cmd: 'returnHeight',
message: '执行成功', params: {
type: 'success', code: 1,
duration: 2000 }
}) }, '*')
} else { } else {
this.$notify({ this.$notify({
title: '提示', title: '提示',

77
anrui-system-ui/src/views/flow/doneList.vue

@ -92,58 +92,16 @@
</div> </div>
<!-- Start查看页面 --> <!-- Start查看页面 -->
<el-dialog <el-dialog
title=""
:visible.sync="centerDialogVisible" :visible.sync="centerDialogVisible"
width="85%" width="78%"
height="100%" height="1%"
:before-close="closeIt" :before-close="closeIt"
center><!--src="http://localhost:9531/#/xiaoshouguanliFlow/dingjinshouqu" closeIt --> center>
<div class="scroll_div"> <iframe frameborder="0" id="iframe_done"
<iframe id="iframe_done" height="1000px" width="100%" style="width:100%;"
:src="this.centerDialogVisible === true ? url :''" :src="this.centerDialogVisible === true ? url :''"
scrolling="no"></iframe> ></iframe>
<div class="diaTitle"><i class="el-icon-notebook-2"></i><span>审批记录</span></div>
<div>
<el-card class="box-card" v-if="flowRecordList">
<el-col :span="16" :offset="4">
<div class="block">
<el-timeline>
<el-timeline-item
v-for="(item,index ) in flowRecordList"
:key="index"
:icon="setIcon(item.finishTime)"
:color="setColor(item.finishTime)"
>
<p style="font-weight: 700">{{item.taskName}}</p>
<el-card :body-style="{ padding: '10px' }">
<label v-if="item.assigneeName" style="font-weight: normal;margin-right: 30px;">实际办理
{{item.assigneeName}}
<el-tag type="info" size="mini">{{item.deptName}}</el-tag>
</label>
<label v-if="item.candidate"
style="font-weight: normal;margin-right: 30px;">候选办理{{item.candidate}}</label><br>
<label style="font-weight: normal">接收时间 </label><label style="color:#8a909c;font-weight: normal">{{item.createTime}}</label><br>
<label v-if="item.finishTime" style="font-weight: normal">办结时间 </label>
<label style="color:#8a909c;font-weight: normal">{{item.finishTime}}</label><br>
<label v-if="item.duration" style="font-weight: normal">耗时</label>
<label style="color:#8a909c;font-weight: normal">{{item.duration}}</label>
<p v-if="item.comment">
<el-tag type="success" v-if="item.comment.type === '1'"> {{item.comment.comment}}</el-tag>
<el-tag type="warning" v-if="item.comment.type === '2'"> {{item.comment.comment}}</el-tag>
<el-tag type="danger" v-if="item.comment.type === '3'"> {{item.comment.comment}}</el-tag>
<el-tag type="danger" v-if="item.comment.type === '7'"> {{item.comment.comment}}</el-tag>
</p>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</el-col>
</el-card>
</div>
</div>
<span slot="footer" class="dialog-footer">
<!-- <el-button type="danger" :disabled="this.taskName_now == '已办结'?true:false" @click="openRevoke"> </el-button>-->
<!-- <el-button type="info" @click="centerDialogVisible = false"> </el-button>-->
</span>
</el-dialog> </el-dialog>
<!-- End查看页面--> <!-- End查看页面-->
@ -203,6 +161,7 @@
}, },
data() { data() {
return { return {
dialogHeight:'80%',
isDialogVisible: false, // isDialogVisible: false, //
centerDialogVisible: false, // centerDialogVisible: false, //
editDialog: false, editDialog: false,
@ -245,6 +204,10 @@
} }
} }
}, },
mounted() {
// vuewindowpostMessagehandleMessage
window.addEventListener('message', this.handleMessage)
},
created() { created() {
// //
// this.getList() // this.getList()
@ -268,12 +231,24 @@
} }
}, },
methods: { methods: {
setIframeHeight(iframe) {
iframe.height = this.dialogHeight;//iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight;
},
async handleMessage (event) {
var code= event.data.params.code;
if(code==1){
this.init()
this.centerDialogVisible=false
}else if(code==2){
this.dialogHeight = event.data.params.data
this.setIframeHeight(document.getElementById('iframe_done'));
}
},
init() { init() {
var token = getStorage(); var token = getStorage();
loginDetails(token).then((response) => { loginDetails(token).then((response) => {
if (response.code === '200') { if (response.code === '200') {
this.loginInfo = response.data; this.loginInfo = response.data;
console.log(this.loginInfo)
this.revokeList.userSid = this.loginInfo.sid this.revokeList.userSid = this.loginInfo.sid
this.listQuery.params.userSid = this.loginInfo.sid this.listQuery.params.userSid = this.loginInfo.sid
this.getList() this.getList()
@ -282,7 +257,6 @@
}, },
/** 打开详情 */ /** 打开详情 */
handleCheck(row) { handleCheck(row) {
console.log('row', row)
this.selectUrl_list.proc_def_id = row.procDefId this.selectUrl_list.proc_def_id = row.procDefId
this.selectUrl_list.taskDefKey = row.taskDefKey this.selectUrl_list.taskDefKey = row.taskDefKey
this.selectUrl_list.type = 2 // this.selectUrl_list.type = 2 //
@ -297,7 +271,6 @@
if (response.code === '200') { if (response.code === '200') {
// this.url = 'http://120.46.131.15' + response.data.url + '?row=' + row.processVariables.businessSid + '#data=' + JSON.stringify(parameter_list) + '?token=' + getStorage() // this.url = 'http://120.46.131.15' + response.data.url + '?row=' + row.processVariables.businessSid + '#data=' + JSON.stringify(parameter_list) + '?token=' + getStorage()
this.url = 'http://localhost:9531' + response.data.url + '?row=' + row.processVariables.businessSid + '#data=' + JSON.stringify(parameter_list) + '?token=123456abc' this.url = 'http://localhost:9531' + response.data.url + '?row=' + row.processVariables.businessSid + '#data=' + JSON.stringify(parameter_list) + '?token=123456abc'
console.log('页面url', this.url)
} else { } else {
this.$notify({ this.$notify({
title: '提示', title: '提示',

Loading…
Cancel
Save