Browse Source

完善流程办理时终止等功能

master
yxt_djz 3 years ago
parent
commit
42d4c2daed
  1. 78
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  2. 15
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  3. 3
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  4. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java
  5. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java
  6. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundMapper.xml
  7. 73
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java
  8. 116
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java
  9. 46
      anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangEdit.vue
  10. 40
      anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangInfo.vue

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

@ -290,12 +290,9 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
SysStaffOrg sysStaffOrg = sysStaffOrgFeign.getOrgByStaffSid(dto.getStaffSid()).getData();
String orgSidPath = sysStaffOrg.getOrgSidPath();
Map<String, Object> variables = BeanUtil.beanToMap(dto);
String busSid = dto.getBusinessSid();
if (StringUtils.isBlank(busSid)) {
ResultBean resultBean = saveOrUpdateDto(dto);//insert
String businessSid = resultBean.getData().toString();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(dto, bv);
@ -314,16 +311,15 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
updateFlowFiled(BeanUtil.beanToMap(uff));
return resultBean1;
}
BaseOutsourcingApplicationDto booad = new BaseOutsourcingApplicationDto();
int r = submitBusinessData(dto, busSid, booad);
if (r == 0) {
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!");
ResultBean rb = submitBusinessData(dto, busSid,orgSidPath);
return rb;
}
ResultBean resultBean = saveOrUpdateDto(dto);//update
String businessSid = resultBean.getData().toString();
private synchronized ResultBean submitBusinessData(SubmitBaseOutSourcingApplicationDto dto,
String businessSid,String orgSidPath) {
Map<String, Object> variables = BeanUtil.beanToMap(dto);
BaseOutsourcingApplicationDto booad = baseMapper.getBySid(businessSid);
String businessTaskid = booad.getTaskId();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(dto, bv);
bv.setOrgSidPath(orgSidPath);
@ -332,38 +328,25 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
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) {
if (StringUtils.isBlank(businessTaskid) && StringUtils.isBlank(dto.getTaskId())) {
// 新提交 taskid都是空的
saveOrUpdateDto(dto);//update
ResultBean<UpdateFlowFieldVo> resultBean1 = flowableFeign.startProcess(bv);
UpdateFlowFieldVo uff = resultBean1.getData();
updateFlowFiled(BeanUtil.beanToMap(uff));
return resultBean1;
} else if (r == 2) {
} else if (StringUtils.isNotBlank(businessTaskid) && businessTaskid.equals(dto.getTaskId())) {//只有数据一致的时候才能进行下一步
bv.setTaskDefKey(booad.getTaskDefKey());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
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;
ResultBean<UpdateFlowFieldVo> rb = flowableFeign.handleProsess(bv);
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(rb.getData());
updateFlowFiled(stringObjectMap);
return rb;
}else{
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!");
}
return r;
}
/**
* 检查用户是否设置部门
*
@ -379,33 +362,6 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
return orgSid;
}
/**
* 保存流程业务关联表 数据
*
* @param map
*/
private void saveSysFormLink(Map<String, String> map) {
String sid = map.get("sid");
ResultBean resultBean = sysFormLinkFeign.selectByBusinessSid(sid);
if (!resultBean.getSuccess()) { // 新增
SysFormLinkDto sysFormLinkDto = new SysFormLinkDto();
sysFormLinkDto.setBusinessSid(map.get("sid"));
sysFormLinkDto.setProcInsId(map.get("procInsId"));
sysFormLinkDto.setTaskDefKey(map.get("taskDefKey"));
sysFormLinkDto.setNodeState(map.get("nodeState"));
sysFormLinkDto.setFormType(SysFormLinkTypeEnum.ORDER_DEPOSIT_VEHICLE.getCode());
sysFormLinkDto.setFlowState(Integer.parseInt(SysFormLinkFlowStateEnum.PROCESSING.getCode()));
sysFormLinkFeign.save(sysFormLinkDto);
} else { // 更新
Map<String, Object> updateMap = new HashMap<>();
updateMap.put("businessSid", sid);
updateMap.put("nodeState", map.get("nodeState"));
updateMap.put("taskDefKey", map.get("taskDefKey"));
updateMap.put("flowState", SysFormLinkFlowStateEnum.PROCESSING.getCode());
sysFormLinkFeign.updateFiled(updateMap);
}
}
/**
* 办理
*

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

@ -130,6 +130,10 @@ public class FlowableRest implements FlowableFeign {
if(o==null){
return rb.setMsg("流程设计问题");
}
return getNextUserSids(rb, orgSidPath, o);
}
private ResultBean getNextUserSids(ResultBean rb, String orgSidPath, Object o) {
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(o));
String roleSid = jsonArray.get(0).toString();
//根据组织架构、角色两个参数取相关符合条件的用户信息
@ -174,7 +178,9 @@ public class FlowableRest implements FlowableFeign {
task_map.put("name","结束");
return rb.setData("");
}else{
//如果不是最后一个环节 要取下一个环节的角色sid
Object o = task_map.get("candidateGroups");
return getNextUserSids(rb, orgSidPath, o);
/* //如果不是最后一个环节 要取下一个环节的角色sid
List<String> candidateGroups= (List<String>) task_map.get("candidateGroups");
String roleSid=candidateGroups.get(0);
//根据组织架构、角色两个参数取相关符合条件的用户信息
@ -182,14 +188,19 @@ public class FlowableRest implements FlowableFeign {
userQuery.setRoleSid(roleSid);
userQuery.setOrgSidPath(orgSidPath);
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRole(userQuery).getData();
if(sysUserVos==null||sysUserVos.size()<1){
return rb.setMsg("环节没有用户");
}
StringBuilder nextNodeUserSids = new StringBuilder();
for (SysUserVo su : sysUserVos) {
nextNodeUserSids.append(su.getSid()).append(",");
}
//符合条件的用户的sid,拼接的字符串
String nextNodeUserSids_ = nextNodeUserSids.toString();
if(StringUtils.isBlank(nextNodeUserSids_))
return rb.setMsg("环节没有用户");
nextNodeUserSids_ = nextNodeUserSids_.substring(0, nextNodeUserSids_.length() - 1);
return rb.setData(nextNodeUserSids_);
return rb.setData(nextNodeUserSids_);*/
}
}

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

@ -1246,6 +1246,9 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().taskId(flowTaskVo.getTaskId()).singleResult();
Execution execution = runtimeService.createExecutionQuery().executionId(historicTaskInstance.getExecutionId()).singleResult();
DelegateExecution delegateExecution = (DelegateExecution) execution;
if(delegateExecution==null){
return new ResultBean<List<LatestTaskVo>>().fail().setMsg("流程已办结,不能撤回!").setData(new ArrayList<>());
}
// 获取当前节点的activityId,即xml中每个标签的ID
String currentActivityId = delegateExecution.getCurrentActivityId();
// List<Task> list1 = taskService.createTaskQuery().processInstanceId(historicTaskInstance.getProcessInstanceId()).list();

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java

@ -24,5 +24,8 @@ public class ScmVehicleReturn extends BaseEntity {
private BigDecimal money;
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty(value = "taskId")
private String taskId;
@ApiModelProperty(value = "taskDefKey")
private String taskDefKey;
}

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java

@ -55,4 +55,6 @@ public class ScmVehicleReturnDto implements Dto {
private String businessSid;
@ApiModelProperty("comment")
private String comment;
@ApiModelProperty(value = "procInsId")
private String procInsId;
}

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

@ -16,7 +16,7 @@
<update id="updateFlowFiled" parameterType="java.util.Map">
UPDATE scm_apply_inbound
SET nodeState=#{nodeState}, taskDefKey=#{taskDefKey}
SET nodeState=#{nodeState}, taskDefKey=#{taskDefKey}, taskId=#{taskId}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>

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

@ -23,6 +23,7 @@ import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicleDto;
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicleVo;
import com.yxt.anrui.scm.api.scmvehicleexamine.AppScmVehicleExamineDto;
import com.yxt.anrui.scm.api.scmvehicleexamine.ScmEntryVehicleExamineDto;
import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnDto;
import com.yxt.anrui.scm.biz.flow.FlowableService;
import com.yxt.anrui.scm.biz.scmapplyinboundvehicle.ScmApplyInboundVehicleService;
import com.yxt.anrui.scm.biz.scmvehicleexamine.ScmVehicleExamineService;
@ -241,7 +242,6 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
// }
return baseMapper.update(null, uw);
}
/**
* 提交入账申请
*
@ -249,54 +249,58 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
* @return
*/
public ResultBean submitRecordApplication(SubmitScmApplyInboundDto dto) {
ResultBean rb = ResultBean.fireFail();
//取组织架构的全路径sid
// SysStaffOrg sysStaffOrg = sysStaffOrgFeign.getOrgByStaffSid(dto.getUserSid()).getData();
String orgSidPath = dto.getOrgSidPath(); //sysStaffOrg.getOrgSidPath();
String orgSidPath = dto.getOrgSidPath();
String busSid = dto.getBusinessSid();
if (StringUtils.isBlank(busSid)) {
Map<String, Object> variables = BeanUtil.beanToMap(dto);
ScmApplyInbound booad = new ScmApplyInbound();
int r = submitBusinessData(dto, booad);
if (r == 0) {
return rb.setMsg("操作失败,提交的数据不一致!");
ResultBean resultBean = saveOrUpdateApplyInBound(dto);//insert
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.RECORDAPPLICATION.getProDefId());
ResultBean<UpdateFlowFieldVo> resultBean1 = flowableFeign.startProcess(bv);
UpdateFlowFieldVo uff = resultBean1.getData();
updateFlowFiled(BeanUtil.beanToMap(uff));
return resultBean1;
}
return submitBusinessData(dto, busSid,orgSidPath);
}
ResultBean<String> resultBean = saveOrUpdateApplyInBound(dto);
String businessSid = resultBean.getData();
private synchronized ResultBean submitBusinessData(SubmitScmApplyInboundDto dto,String businessSid,String orgSidPath) {
Map<String, Object> variables = BeanUtil.beanToMap(dto);
ScmApplyInbound entity = this.fetchBySid(dto.getSid());
String businessTaskid = entity.getTaskId();
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.RECORDAPPLICATION.getProDefId());
if (r == 1) {
if (StringUtils.isBlank(businessTaskid) && StringUtils.isBlank(dto.getTaskId())) {
saveOrUpdateApplyInBound(dto);
ResultBean<UpdateFlowFieldVo> resultBean1 = flowableFeign.startProcess(bv);
UpdateFlowFieldVo uff = resultBean1.getData();
updateFlowFiled(uff);
updateFlowFiled(BeanUtil.beanToMap(uff));
return resultBean1;
} else if (r == 2) {
bv.setTaskDefKey(booad.getTaskDefKey());
} else if (StringUtils.isNotBlank(businessTaskid) && businessTaskid.equals(dto.getTaskId())) {//只有数据一致的时候才能进行下一步
saveOrUpdateApplyInBound(dto);
bv.setTaskDefKey(entity.getTaskDefKey());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(booad.getProcInsId());
bv.setInstanceId(dto.getProcInsId());
bv.setTaskId(dto.getTaskId());
ResultBean<UpdateFlowFieldVo> rrb = flowableFeign.handleProsess(bv);
updateFlowFiled(rrb.getData());
return rrb;
}else{
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!");
}
return rb;
}
private synchronized int submitBusinessData(SubmitScmApplyInboundDto dto, ScmApplyInbound booad) {
int r = 0;
booad = this.fetchBySid(dto.getSid());
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;
}
/**
@ -312,7 +316,6 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
if (StringUtils.isBlank(booad.getTaskId()) || !booad.getTaskId().equals(dto.getTaskId())) {
return rb.setMsg("操作失败,提交的数据不一致!");
}
//取组织架构的全路径sid
// SysStaffOrg sysStaffOrg = sysStaffOrgFeign.getOrgByStaffSid(dto.getApplicationSid()).getData();
String orgSidPath = dto.getOrgSidPath();
@ -331,8 +334,8 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
ResultBean<UpdateFlowFieldVo> rrb = flowableFeign.handleProsess(bv);
String taskDefKey = rrb.getData().getTaskDefKey();
updateFlowFiled(rrb.getData());
if("Event_end".equals(taskDefKey)){
if("Event_end".equals(taskDefKey)){
List<ScmApplyInboundVehicleDto> vehicleList = dto.getVehicleList();
for(ScmApplyInboundVehicleDto scmApplyInboundVehicleDto:vehicleList){
ScmEntryVehicleExamineDto scmEntryVehicleExamineDto=new ScmEntryVehicleExamineDto();
@ -377,6 +380,7 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
String incomingSourceRef = resultBean.getData().get(0).getIncomingSourceRef();
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("sid", businessSid);
paramMap.put("taskId", resultBean.getData().get(0).getId_());
if (incomingSourceRef.contains("start")) {
paramMap.put("nodeState", SysFormLinkFlowStateEnum.UNCOMMITTED.getState());
paramMap.put("taskDefKey", taskDefKey);
@ -408,6 +412,7 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
String incomingSourceRef = resultBean.getData().get(0).getIncomingSourceRef();
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("sid", businessSid);
paramMap.put("taskId", resultBean.getData().get(0).getId_());
paramMap.put("nodeState", nodeState);
paramMap.put("taskDefKey", taskDefKey);
if (incomingSourceRef.contains("start")) {
@ -433,7 +438,7 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
}
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("sid", businessSid);
paramMap.put("nodeState", String.valueOf(resultBean.getData()));
paramMap.put("nodeState", "已终止");
paramMap.put("taskDefKey", "Event_end");
paramMap.put("flowState", SysFormLinkFlowStateEnum.BREAK.getCode());
updateFlowFiled(paramMap);

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

@ -205,7 +205,6 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
String busSid = scmVehicleReturnDto.getBusinessSid();
if (org.apache.commons.lang3.StringUtils.isBlank(busSid)) {
ResultBean resultBean = saveOrUpdateVehicleReturn(scmVehicleReturnDto);
// ResultBean resultBean = saveOrUpdateDto(dto);//insert
String businessSid = resultBean.getData().toString();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(scmVehicleReturnDto, bv);
@ -223,115 +222,40 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
updateFlowFiled(BeanUtil.beanToMap(uff));
return resultBean1;
}
Map<String,Object> mm= submitBusinessData(scmVehicleReturnDto, busSid);
int r=(int)mm.get("r");
ScmVehicleReturnDto booad = (ScmVehicleReturnDto) mm.get("bean");
if (r == 0) {
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!");
return submitBusinessData(scmVehicleReturnDto, busSid,orgSidPath,variables);
}
ResultBean resultBean = saveOrUpdateVehicleReturn(scmVehicleReturnDto);//update
String businessSid = resultBean.getData().toString();
private synchronized ResultBean submitBusinessData(ScmVehicleReturnDto dto,
String businessSid ,String orgSidPath,
Map<String, Object> variables) {
ScmVehicleReturnDto booad = baseMapper.getBySid(businessSid);
String businessTaskid = booad.getTaskId();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(scmVehicleReturnDto, bv);
BeanUtil.copyProperties(dto, bv);
bv.setOrgSidPath(orgSidPath);
bv.setBusinessSid(businessSid);
bv.setUserSid(scmVehicleReturnDto.getUserSid());
bv.setUserSid(dto.getUserSid());
variables.put("businessSid", businessSid);
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.SCMVEHICLERETURN.getProDefId());
//如果taskid从业务的数据库中查询出来,那这个taskid 和当前的关系是什么 如果数据库中查询出来的taskid是第四个环节的id,但是目前是做的第一次的提交操作。
// 应该是也不允许走if 也不运行走else 那应该如何验证这个id是否允许走else呢?
// 取出来业务数据的taskid和前端传递的taskid作比较 来判断数据的是否有效 本质上是数据版本一致性的问题
if (r == 1) {
if (org.apache.commons.lang3.StringUtils.isBlank(businessTaskid) && org.apache.commons.lang3.StringUtils.isBlank(dto.getTaskId())) {
saveOrUpdateVehicleReturn(dto);//update
ResultBean<UpdateFlowFieldVo> resultBean1 = flowableFeign.startProcess(bv);
UpdateFlowFieldVo uff = resultBean1.getData();
updateFlowFiled(BeanUtil.beanToMap(uff));
return resultBean1;
} else if (r == 2) {
} else if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskid) && businessTaskid.equals(dto.getTaskId())) {//只有数据一致的时候才能进行下一步
saveOrUpdateVehicleReturn(dto);//update
bv.setTaskDefKey(booad.getTaskDefKey());
bv.setComment(org.apache.commons.lang3.StringUtils.isNotBlank(scmVehicleReturnDto.getComment()) ? scmVehicleReturnDto.getComment() : "重新提交");
bv.setComment(org.apache.commons.lang3.StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(booad.getInstanceId());
return complete(bv);
}
return ResultBean.fireFail();/*
if (resultBean.getSuccess()) {
String businessSid = resultBean.getData().toString();
//判断车辆的状态是否包含采购退库的状态,如果是的话,返回审核失败
ResultBean<List<String>> vinNoList1 = scmVehicleReturnDetailsService.selectVinNoList(businessSid);
if (vinNoList1.getSuccess() && vinNoList1.getData() != null && vinNoList1.getData().size() != 0) {
//查询车架号数组中是否有采购退库状态的车辆,若有则返回true,没有返回false
ResultBean<Boolean> stringResultBean = baseVehicleFeign.selectStateByVinNo(vinNoList1.getData());
if (stringResultBean.getSuccess()) {
if (stringResultBean.getData()) {
return rb.setMsg("该申请中包含车辆状态已是采购退库状态的车辆");
}
}
}
variables.put("businessSid", businessSid);
if (Integer.parseInt(scmVehicleReturnDto.getMoney()) > 0) {
variables.put("isLoan", true);
ResultBean<UpdateFlowFieldVo> rrb = flowableFeign.handleProsess(bv);
updateFlowFiled(BeanUtil.beanToMap(rrb.getData()));
return rrb;
}else{
variables.put("isLoan", false);
}
variables.put("orgSid", orgSid);//部门sid
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(scmVehicleReturnDto, bv);
bv.setOrgSidPath(orgSidPath);
bv.setBusinessSid(businessSid);
bv.setUserSid(scmVehicleReturnDto.getUserSid());
variables.put("businessSid", businessSid);
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.SCMVEHICLERETURN.getProDefId());
ResultBean<UpdateFlowFieldVo> businessResultBean =flowableFeign.startProcess(bv);//flowableFeign.businessStart(bv);
if (businessResultBean.getSuccess() && businessResultBean.getData() != null) {
UpdateFlowFieldVo uff = businessResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(uff));
} else {
return rb.setMsg(businessResultBean.getMsg());
}
} else {
return rb.setMsg(resultBean.getMsg());
}
return resultBean;*/
}
private synchronized Map<String,Object> submitBusinessData(ScmVehicleReturnDto dto,
String businessSid ) {
Map<String,Object> map=new HashMap<>();
int r = 0;
ScmVehicleReturnDto booad = baseMapper.getBySid(businessSid);
String businessTaskid = booad.getTaskId();
if (org.apache.commons.lang3.StringUtils.isBlank(businessTaskid) && org.apache.commons.lang3.StringUtils.isBlank(dto.getTaskId())) {
// 新提交 taskid都是空的
r = 1;
} else if (org.apache.commons.lang3.StringUtils.isNotBlank(businessTaskid) && businessTaskid.equals(dto.getTaskId())) {//只有数据一致的时候才能进行下一步
r = 2;
}
map.put("r",r);
map.put("bean",booad);
return map;
}
/**
* 查询用户是否设置了部门
* *
*
* @param userSid 用户sid
* @return
*/
private String checkUserOrg(String userSid) {
String orgSid = "";
String staffSid = sysUserFeign.selectBySid(userSid).getData().getStaffSid();
ResultBean<String> resultBean = sysStaffOrgFeign.getSysStaffOrgSidListByStaffSid(staffSid);
if (resultBean.getSuccess()) {
orgSid = resultBean.getData();
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!");
}
return orgSid;
}
/**
* 办理流程
*
@ -344,8 +268,12 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
if (isTrue) {
return rb.setMsg("该申请中包含车辆状态已是采购退库状态的车辆");
}
String money=(String)bv.getFormVariables().get("money");
if (Integer.parseInt(money) > 0) {
bv.getFormVariables().put("isLoan", true);
} else {
bv.getFormVariables().put("isLoan", false);
}
ScmVehicleReturnDto booad = baseMapper.getBySid(bv.getBusinessSid());
String businessTaskid = booad.getTaskId();
if (businessTaskid.equals(bv.getTaskId())) { //只有数据一致的时候才能进行下一步

46
anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangEdit.vue

@ -16,7 +16,7 @@
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<div >
<div class="wlInfo"><span>车辆入账单</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top">
<el-row class="lineone">
@ -123,8 +123,10 @@ export default {
formobj: {
sid: '', // sid
applicationSid: window.sessionStorage.getItem('userSid'), // sid
userSid: window.sessionStorage.getItem('userSid'), // sid
applicationName: window.sessionStorage.getItem('name'), //
orgSidPath: window.sessionStorage.getItem('orgSidPath'),
staffSid: window.sessionStorage.getItem('staffSid'),
userSid: window.sessionStorage.getItem('userSid'), // sid
applicationCode: '', //
configName: '',
departureDate: '',
@ -148,7 +150,6 @@ export default {
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showInfo(obj.businessSid)
console.log('iframe页面获取的obj:', obj)
//
this.formobj.businessSid = obj.businessSid
this.formobj.instanceId = obj.instanceId
@ -158,7 +159,7 @@ export default {
params: {
//
code: 2,
data: 1500 + 'px'
data: 600 + 'px'
}
}, '*')
},
@ -168,7 +169,6 @@ export default {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【编辑】入账单'
console.log('编辑回显', sid)
req.fetchBySid(sid).then((resp) => {
const data = resp.data
this.formobj.applicationCode = data.applicationCode
@ -180,6 +180,9 @@ export default {
this.formobj.modelSid = data.modelSid
this.formobj.purchaseOrderNo = data.purchaseOrderNo
this.formobj.vehicleOrderSid = data.vehicleOrderSid
this.formobj.taskDefKey = data.taskDefKey
this.formobj.taskId = data.taskId
this.formobj.nodeState = data.nodeState
if (data.inboundVehicleList.length > 0) {
data.inboundVehicleList.forEach((e) => {
this.formobj.vehicleList.push({
@ -206,17 +209,22 @@ export default {
})
},
saveEdit() {
console.log(this.formobj, 636363)
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((resp) => {
this.submitdisabled = false
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
//
window.parent.postMessage(
{
cmd: 'returnHeight',
params: {
//
code: 1
}
},
'*'
)
this.handleReturn('true')
}).catch(() => {
this.submitdisabled = false
@ -229,11 +237,17 @@ export default {
submitVehicleApply() {
req.submitVehicleApply(this.formobj).then((res) => {
if (res.code == '200') {
this.$message({
showClose: true,
type: 'success',
message: '提交成功'
})
//
window.parent.postMessage(
{
cmd: 'returnHeight',
params: {
//
code: 1
}
},
'*'
)
this.handleReturn('true')
} else {
this.$message({

40
anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangInfo.vue

@ -194,9 +194,7 @@ export default {
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
var dd = decodeURIComponent(data)
console.log('iframe页面获取的dddddddd:', dd)
const obj = JSON.parse(dd)
console.log('iframe页面获取的obj:', obj)
var sid = obj.businessSid
this.showInfo(sid)
@ -413,12 +411,16 @@ export default {
this.stopList.comment = this.dialogList.comment
req.breakTask(this.stopList).then(response => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
window.parent.postMessage(
{
cmd: 'returnHeight',
params: {
//
code: 1
}
},
'*'
)
} else {
this.$notify({
title: '提示',
@ -434,19 +436,17 @@ export default {
this.revokeList.comment = this.dialogList.comment
req.revokeTask(this.revokeList).then(response => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
window.parent.postMessage(
{
cmd: 'returnHeight',
params: {
//
code: 1
}
},
'*'
)
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
}

Loading…
Cancel
Save