Browse Source

完善流程审批功能

master
yxt_djz 3 years ago
parent
commit
03d01c4b39
  1. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  2. 175
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowProcinst.java
  3. 4
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.java
  4. 94
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.xml
  5. 9
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  6. 10
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableService.java
  7. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java
  8. 2
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationAdd.vue
  9. 4
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplication.vue
  10. 4
      anrui-scm/anrui-scm-ui/src/views/workFlow/caigoutuikuFlow/caigoutuiku.vue
  11. 2
      anrui-scm/anrui-scm-ui/src/views/workFlow/cheliangneigouFlow/neigouguanli/neigouDaiBanInfo.vue
  12. 2
      anrui-scm/anrui-scm-ui/src/views/workFlow/cunfangdidianbiangengFlow/cunfangdidianbiangeng.vue
  13. 2
      anrui-scm/anrui-scm-ui/src/views/workFlow/paichanguanliFlow/paichanguanli/cheliangpaichanDaiBanInfo.vue
  14. 2
      anrui-scm/anrui-scm-ui/src/views/workFlow/tiaojiaguanliFlow/tiaojiaguanli/tiaojiaDaiBanInfo.vue
  15. 2
      anrui-scm/anrui-scm-ui/src/views/workFlow/weishoumaiduanFlow/weishoumaiduanguanli/weishoumaiduanDaiBanInfo.vue

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

@ -406,6 +406,9 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
fl.setBusinessSid(flowTaskVo.getBusinessSid());
fl.setUserSid(flowTaskVo.getUserSid());
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(fl);
if(!resultBean.getSuccess()){
return ResultBean.fireFail().setMsg(resultBean.getMsg());
}
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(stringObjectMap);
return resultBean;

175
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowProcinst.java

@ -0,0 +1,175 @@
package com.yxt.anrui.flowable.api.flow;
public class FlowProcinst {
private String ID_;// `varchar (192),
private String REV_;//` int (11),
private String PROC_INST_ID_;//` varchar (192),
private String BUSINESS_KEY_;//` varchar (765),
private String PROC_DEF_ID_;//` varchar (192),
private String START_TIME_;//` datetime ,
private String END_TIME_;//` datetime ,
private String DURATION_;//` bigint (20),
private String START_USER_ID_;//` varchar (765),
private String START_ACT_ID_;//` varchar (765),
private String END_ACT_ID_;//` varchar (765),
private String SUPER_PROCESS_INSTANCE_ID_;//` varchar (192),
private String DELETE_REASON_;//` varchar (12000),
private String TENANT_ID_;//` varchar (765),
private String NAME_;//` varchar (765),
private String CALLBACK_ID_;//` varchar (765),
private String CALLBACK_TYPE_;//` varchar (765),
private String REFERENCE_ID_;//` varchar (765),
private String REFERENCE_TYPE_;//` varchar (765)
public String getID_() {
return ID_;
}
public void setID_(String ID_) {
this.ID_ = ID_;
}
public String getREV_() {
return REV_;
}
public void setREV_(String REV_) {
this.REV_ = REV_;
}
public String getPROC_INST_ID_() {
return PROC_INST_ID_;
}
public void setPROC_INST_ID_(String PROC_INST_ID_) {
this.PROC_INST_ID_ = PROC_INST_ID_;
}
public String getBUSINESS_KEY_() {
return BUSINESS_KEY_;
}
public void setBUSINESS_KEY_(String BUSINESS_KEY_) {
this.BUSINESS_KEY_ = BUSINESS_KEY_;
}
public String getPROC_DEF_ID_() {
return PROC_DEF_ID_;
}
public void setPROC_DEF_ID_(String PROC_DEF_ID_) {
this.PROC_DEF_ID_ = PROC_DEF_ID_;
}
public String getSTART_TIME_() {
return START_TIME_;
}
public void setSTART_TIME_(String START_TIME_) {
this.START_TIME_ = START_TIME_;
}
public String getEND_TIME_() {
return END_TIME_;
}
public void setEND_TIME_(String END_TIME_) {
this.END_TIME_ = END_TIME_;
}
public String getDURATION_() {
return DURATION_;
}
public void setDURATION_(String DURATION_) {
this.DURATION_ = DURATION_;
}
public String getSTART_USER_ID_() {
return START_USER_ID_;
}
public void setSTART_USER_ID_(String START_USER_ID_) {
this.START_USER_ID_ = START_USER_ID_;
}
public String getSTART_ACT_ID_() {
return START_ACT_ID_;
}
public void setSTART_ACT_ID_(String START_ACT_ID_) {
this.START_ACT_ID_ = START_ACT_ID_;
}
public String getEND_ACT_ID_() {
return END_ACT_ID_;
}
public void setEND_ACT_ID_(String END_ACT_ID_) {
this.END_ACT_ID_ = END_ACT_ID_;
}
public String getSUPER_PROCESS_INSTANCE_ID_() {
return SUPER_PROCESS_INSTANCE_ID_;
}
public void setSUPER_PROCESS_INSTANCE_ID_(String SUPER_PROCESS_INSTANCE_ID_) {
this.SUPER_PROCESS_INSTANCE_ID_ = SUPER_PROCESS_INSTANCE_ID_;
}
public String getDELETE_REASON_() {
return DELETE_REASON_;
}
public void setDELETE_REASON_(String DELETE_REASON_) {
this.DELETE_REASON_ = DELETE_REASON_;
}
public String getTENANT_ID_() {
return TENANT_ID_;
}
public void setTENANT_ID_(String TENANT_ID_) {
this.TENANT_ID_ = TENANT_ID_;
}
public String getNAME_() {
return NAME_;
}
public void setNAME_(String NAME_) {
this.NAME_ = NAME_;
}
public String getCALLBACK_ID_() {
return CALLBACK_ID_;
}
public void setCALLBACK_ID_(String CALLBACK_ID_) {
this.CALLBACK_ID_ = CALLBACK_ID_;
}
public String getCALLBACK_TYPE_() {
return CALLBACK_TYPE_;
}
public void setCALLBACK_TYPE_(String CALLBACK_TYPE_) {
this.CALLBACK_TYPE_ = CALLBACK_TYPE_;
}
public String getREFERENCE_ID_() {
return REFERENCE_ID_;
}
public void setREFERENCE_ID_(String REFERENCE_ID_) {
this.REFERENCE_ID_ = REFERENCE_ID_;
}
public String getREFERENCE_TYPE_() {
return REFERENCE_TYPE_;
}
public void setREFERENCE_TYPE_(String REFERENCE_TYPE_) {
this.REFERENCE_TYPE_ = REFERENCE_TYPE_;
}
}

4
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.java

@ -1,12 +1,16 @@
package com.yxt.anrui.flowable.biz.flow;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.flowable.api.flow.FlowProcinst;
import com.yxt.anrui.flowable.api.flow.Flowable;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.Map;
@Mapper
public interface FlowableMapper extends BaseMapper<Flowable> {
void insetFlowableTask(Map<String,Object> params);
FlowProcinst getFlowProcinstById(@Param("id") String id);
}

94
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableMapper.xml

@ -11,49 +11,53 @@
#{outcome,jdbcType=VARCHAR}
)
</insert>
<!--
<insert id="insetFlowableTask">
insert into `act_ru_task` (`REV`, `EXECUTION_ID`, `PROC_INST_ID`, `PROC_DEF_ID`,
`TASK_DEF_ID`, `SCOPE_ID`, `SUB_SCOPE_ID`, `SCOPE_TYPE`, `SCOPE_DEFINITION_ID`,
`PROPAGATED_STAGE_INST_ID`, `NAME`, `PARENT_TASK_ID`, `DESCRIPTION`,
`TASK_DEF_KEY`, `OWNER`, `ASSIGNEE`, `DELEGATION`, `PRIORITY`,
`CREATE_TIME`, `DUE_DATE`, `CATEGORY`, `SUSPENSION_STATE`, `TENANT_ID`,
`FORM_KEY`, `CLAIM_TIME`, `IS_COUNT_ENABLED`, `VAR_COUNT`, `ID_LINK_COUNT`,
`SUB_TASK_COUNT`, `days`, `reason`)
VALUES
(
#{item.modelSid,jdbcType=VARCHAR},&lt;!&ndash;sid&ndash;&gt;
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR}
)
</insert>
-->
<select id="getFlowProcinstById" resultType="com.yxt.anrui.flowable.api.flow.FlowProcinst">
select * from act_hi_procinst where ID_=#{id}
</select>
<!--
<insert id="insetFlowableTask">
insert into `act_ru_task` (`REV`, `EXECUTION_ID`, `PROC_INST_ID`, `PROC_DEF_ID`,
`TASK_DEF_ID`, `SCOPE_ID`, `SUB_SCOPE_ID`, `SCOPE_TYPE`, `SCOPE_DEFINITION_ID`,
`PROPAGATED_STAGE_INST_ID`, `NAME`, `PARENT_TASK_ID`, `DESCRIPTION`,
`TASK_DEF_KEY`, `OWNER`, `ASSIGNEE`, `DELEGATION`, `PRIORITY`,
`CREATE_TIME`, `DUE_DATE`, `CATEGORY`, `SUSPENSION_STATE`, `TENANT_ID`,
`FORM_KEY`, `CLAIM_TIME`, `IS_COUNT_ENABLED`, `VAR_COUNT`, `ID_LINK_COUNT`,
`SUB_TASK_COUNT`, `days`, `reason`)
VALUES
(
#{item.modelSid,jdbcType=VARCHAR},&lt;!&ndash;sid&ndash;&gt;
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR},
#{item.modelSid,jdbcType=VARCHAR}
)
</insert>
-->
</mapper>

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

@ -28,10 +28,7 @@ package com.yxt.anrui.flowable.biz.flow;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.yxt.anrui.flowable.api.flow.FlowTaskQuery;
import com.yxt.anrui.flowable.api.flow.FlowTaskVo;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow.*;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum;
import com.yxt.anrui.flowable.api.utils.ProcessStateEnum;
@ -296,6 +293,10 @@ public class FlowableRest implements FlowableFeign {
public ResultBean<UpdateFlowFieldVo> revokeProcess(com.yxt.anrui.flowable.api.flowtask.FlowTaskVo fl) {
ResultBean rb = ResultBean.fireFail();
UpdateFlowFieldVo vo = new UpdateFlowFieldVo();
ResultBean<FlowProcinst> flowProcinstById = flowableService.getFlowProcinstById(fl.getInstanceId());
if(!StringUtils.isBlank(flowProcinstById.getData().getEND_TIME_())){
return rb.setMsg("撤回失败,流程已办结或终止");
}
ResultBean<List<LatestTaskVo>> resultBean = flowtaskService.revokeProcess(fl);
if (!resultBean.getSuccess()) {
return rb;

10
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableService.java

@ -33,7 +33,15 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
@Autowired
private FlowTaskService flowTaskService;
public ResultBean businessStart(BusinessVariables bv) {
public ResultBean<FlowProcinst> getFlowProcinstById(String id) {
ResultBean<FlowProcinst> rb =ResultBean.fireFail();
FlowProcinst fp=baseMapper.getFlowProcinstById(id);
if(fp==null){
return rb;
}
return rb.success().setData(fp);
}
public ResultBean businessStart(BusinessVariables bv) {
/* variables.put("procDefId", procDefId);
variables.put("userSid", userSid);*/

3
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java

@ -397,6 +397,9 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
fl.setBusinessSid(flowTaskVo.getBusinessSid());
fl.setUserSid(flowTaskVo.getUserSid());
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(fl);
if(!resultBean.getSuccess()){
return ResultBean.fireFail().setMsg(resultBean.getMsg());
}
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(stringObjectMap);
return resultBean;

2
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationAdd.vue

@ -167,7 +167,7 @@
<modellibrary v-show="viewState == 1.2" ref="chexingxuanze" @handleChexing="selectChexing"></modellibrary>
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisible" width="80%">
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form label-position="right" class="formadd" >
<el-row>
<el-col :span="4" class="tleftb">当前环节</el-col>

4
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplication.vue

@ -78,7 +78,7 @@
</el-form>
</div>
<!-- 选择待办人 的弹出框-->
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisible" width="80%">
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form label-position="right" class="formadd" >
<el-row>
<el-col :span="4" class="tleftb">当前环节</el-col>
@ -99,7 +99,7 @@
</el-form>
</el-dialog>
<!-- 选择待办人 的弹出框-->
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisibleForReject" width="80%">
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisibleForReject" width="80%">
<el-form label-position="right" class="formadd" >
<el-row>
<el-col :span="4" class="tleftb">当前环节</el-col>

4
anrui-scm/anrui-scm-ui/src/views/workFlow/caigoutuikuFlow/caigoutuiku.vue

@ -86,7 +86,7 @@
<!--End 添加修改部分-->
</div>
<!-- 选择待办人 的弹出框-->
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisible" width="80%">
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form label-position="right" class="formadd" >
<el-row>
<el-col :span="4" class="tleftb">当前环节</el-col>
@ -108,7 +108,7 @@
</el-dialog>
<!-- 选择待办人 的弹出框-->
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisibleForReject" width="80%">
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisibleForReject" width="80%">
<el-form label-position="right" class="formadd" >
<el-row>
<el-col :span="4" class="tleftb">当前环节</el-col>

2
anrui-scm/anrui-scm-ui/src/views/workFlow/cheliangneigouFlow/neigouguanli/neigouDaiBanInfo.vue

@ -96,7 +96,7 @@
<flow :xmlData="xmlData" :taskData="taskList"></flow>
<!--End 添加修改部分-->
<!-- 选择待办人 的弹出框-->
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisible" width="80%">
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form label-position="right" class="formadd" >
<el-row v-show="currentLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">当前环节</el-col>

2
anrui-scm/anrui-scm-ui/src/views/workFlow/cunfangdidianbiangengFlow/cunfangdidianbiangeng.vue

@ -129,7 +129,7 @@
<flow :xmlData="xmlData" :taskData="taskList"></flow>
<!--End 添加修改部分-->
<!-- 选择待办人 的弹出框-->
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisible" width="80%">
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form label-position="right" class="formadd">
<el-row v-show="currentLink">
<el-col :span="4" class="tleftb">当前环节</el-col>

2
anrui-scm/anrui-scm-ui/src/views/workFlow/paichanguanliFlow/paichanguanli/cheliangpaichanDaiBanInfo.vue

@ -160,7 +160,7 @@
<flow :xmlData="xmlData" :taskData="taskList"></flow>
<!--End 添加修改部分-->
<!-- 选择待办人 的弹出框-->
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisible" width="80%">
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form label-position="right" class="formadd" >
<el-row v-show="currentLink">
<el-col :span="4" class="tleftb">当前环节</el-col>

2
anrui-scm/anrui-scm-ui/src/views/workFlow/tiaojiaguanliFlow/tiaojiaguanli/tiaojiaDaiBanInfo.vue

@ -83,7 +83,7 @@
<!--End 添加修改部分-->
<span class="el-icon-picture-outline">流程图</span>
<flow :xmlData="xmlData" :taskData="taskList"></flow>
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisible" width="80%">
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form label-position="right" class="formadd" >
<el-row v-show="currentLink">
<el-col :span="4" class="tleftb">当前环节</el-col>

2
anrui-scm/anrui-scm-ui/src/views/workFlow/weishoumaiduanFlow/weishoumaiduanguanli/weishoumaiduanDaiBanInfo.vue

@ -75,7 +75,7 @@
<flow :xmlData="xmlData" :taskData="taskList"></flow>
<!--End 添加修改部分-->
<!-- 选择待办人 的弹出框-->
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisible" width="80%">
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form label-position="right" class="formadd" >
<el-row v-show="currentLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">当前环节</el-col>

Loading…
Cancel
Save