领用审批优化,加上会签的逻辑
This commit is contained in:
parent
97213e6e60
commit
c205a38005
|
|
@ -29,7 +29,7 @@ public class SysWorkflowConfig {
|
|||
/**
|
||||
* 配置值
|
||||
*/
|
||||
private Integer configValue;
|
||||
private String configValue;
|
||||
|
||||
/**
|
||||
* 0关闭 1启用
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ public class SysWorkflowNode {
|
|||
private String remark;
|
||||
|
||||
/**
|
||||
* 审批结果,0拒绝 1通过
|
||||
* 审批结果,0待审批 1通过 2已驳回
|
||||
*/
|
||||
private int isAccept;
|
||||
|
||||
|
|
|
|||
|
|
@ -11,4 +11,6 @@ public interface SysWorkflowConfigMapper {
|
|||
int addSysWorkflowConfig(SysWorkflowConfig sysWorkflowConfig);
|
||||
|
||||
int deleteSysWorkflowConfig(SysWorkflowConfig sysWorkflowConfig);
|
||||
|
||||
String selectConfigValueByNodeId(Integer nodeId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,10 +3,12 @@ package com.bonus.material.work.mapper;
|
|||
import com.bonus.material.work.domain.SysWorkflowRecord;
|
||||
import com.bonus.material.work.domain.SysWorkflowRecordHistory;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface SysWorkflowRecordHistoryMapper {
|
||||
|
||||
|
||||
int addSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory);
|
||||
|
||||
SysWorkflowRecordHistory seleteSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory);
|
||||
List<SysWorkflowRecordHistory> seleteSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.bonus.material.work.mapper;
|
|||
|
||||
import com.bonus.material.work.domain.SysWorkflowRecord;
|
||||
import com.bonus.material.work.domain.dto.SysWorkflowAuditDto;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
public interface SysWorkflowRecordMapper {
|
||||
|
||||
|
|
@ -11,6 +12,8 @@ public interface SysWorkflowRecordMapper {
|
|||
// 修改审批流任务信息
|
||||
int updateSysWorkflowRecord(SysWorkflowRecord sysWorkflowRecord);
|
||||
|
||||
|
||||
|
||||
// 根据任务id,查询审批流任务信息
|
||||
SysWorkflowAuditDto getSysWorkflowRecodeByTaskId(Integer taskId);
|
||||
SysWorkflowAuditDto getSysWorkflowRecodeByTaskId(@Param("taskId") Integer taskId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,19 +48,17 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
|
|||
sysWorkflowNode.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString());
|
||||
//保存创建时间
|
||||
sysWorkflowNode.setCreateTime(DateUtils.getNowDate());
|
||||
String[] ConfigValue = sysWorkflowNode.getConfigValues().split(",");
|
||||
|
||||
if (sysWorkflowNode.getConfigValues().isEmpty()){
|
||||
throw new ServiceException("请选择审核人员");
|
||||
}
|
||||
int count = sysWorkflowNodeMapper.addSysWorkflowNode(sysWorkflowNode);
|
||||
for (int i = 0; i < ConfigValue.length; i++) {
|
||||
SysWorkflowConfig sysWorkflowConfig = new SysWorkflowConfig();
|
||||
sysWorkflowConfig.setNodeId(sysWorkflowNode.getId());
|
||||
sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType());
|
||||
sysWorkflowConfig.setConfigValue(Integer.valueOf(ConfigValue[i]));
|
||||
sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues());
|
||||
//新增审核详情表信息
|
||||
sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig);
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
|
|
@ -85,39 +83,65 @@ public class SysWorkflowNodeServiceImpl implements SysWorkflowNodeService {
|
|||
@Transactional
|
||||
public int updateSysWorkflowNode(SysWorkflowNode sysWorkflowNode) {
|
||||
int count = sysWorkflowNodeMapper.updateSysWorkflowNode(sysWorkflowNode);
|
||||
String[] ConfigValue = sysWorkflowNode.getConfigValues().split(",");
|
||||
if (sysWorkflowNode.getConfigValues().isEmpty()){
|
||||
throw new ServiceException("请选择审核人员");
|
||||
}
|
||||
SysWorkflowConfig sysWorkflowConfig = new SysWorkflowConfig();
|
||||
sysWorkflowConfig.setNodeId(sysWorkflowNode.getId());
|
||||
sysWorkflowConfigMapper.deleteSysWorkflowConfig(sysWorkflowConfig);
|
||||
for (int i = 0; i < ConfigValue.length; i++) {
|
||||
sysWorkflowConfig.setNodeId(sysWorkflowNode.getId());
|
||||
sysWorkflowConfig.setConfigType(sysWorkflowNode.getNodeSignType());
|
||||
sysWorkflowConfig.setConfigValue(Integer.valueOf(ConfigValue[i]));
|
||||
sysWorkflowConfig.setConfigValue(sysWorkflowNode.getConfigValues());
|
||||
//新增审核详情表信息
|
||||
sysWorkflowConfigMapper.addSysWorkflowConfig(sysWorkflowConfig);
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysWorkflowNode> listByTaskId(SysWorkflowNode sysWorkflowNode) {
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
List<SysWorkflowNode> sysWorkflowNodeList = sysWorkflowNodeMapper.listByTaskId(sysWorkflowNode);
|
||||
for (SysWorkflowNode SysWorkflowNode: sysWorkflowNodeList) {
|
||||
SysWorkflowRecordHistory sysWorkflowRecordHistory = new SysWorkflowRecordHistory();
|
||||
sysWorkflowRecordHistory.setRecordId(SysWorkflowNode.getRecordId());
|
||||
sysWorkflowRecordHistory.setNodeId(SysWorkflowNode.getNodeId());
|
||||
System.out.println(sysWorkflowRecordHistory);
|
||||
SysWorkflowRecordHistory sysWorkflowRecordHistoryNew = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
|
||||
if (StringUtils.isNotNull(sysWorkflowRecordHistoryNew)){
|
||||
List<SysWorkflowRecordHistory> sysWorkflowRecordHistoryList = sysWorkflowRecordHistoryMapper.seleteSysWorkflowRecordHistory(sysWorkflowRecordHistory);
|
||||
if (StringUtils.isNotNull(sysWorkflowRecordHistoryList)){
|
||||
//判断是或签还是会签0:或签 1:会签
|
||||
if (0==SysWorkflowNode.getNodeSignType()){
|
||||
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryList.get(0).getIsAccept());
|
||||
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryList.get(0).getCreateTime());
|
||||
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryList.get(0).getRemark());
|
||||
}else {
|
||||
String[] ConfigValue =SysWorkflowNode.getConfigValues().split(",");
|
||||
// 过滤数组元素
|
||||
for (SysWorkflowRecordHistory sysWorkflowRecordHistoryNew : sysWorkflowRecordHistoryList) {
|
||||
/*List<String> filteredList = Arrays.stream(ConfigValue)
|
||||
.filter(value -> value.equals(sysWorkflowRecordHistoryNew.getCreateBy()))
|
||||
.collect(Collectors.toList());
|
||||
//判断是不是所有人都审核完成
|
||||
if(filteredList.size()==0){
|
||||
|
||||
}*/
|
||||
//查看当前人是否审核
|
||||
if(userId.toString().equals(sysWorkflowRecordHistoryNew.getCreateBy())){
|
||||
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryNew.getIsAccept());
|
||||
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryNew.getCreateTime());
|
||||
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryNew.getRemark());
|
||||
}
|
||||
//查看别人审核是否有驳回的
|
||||
if (sysWorkflowRecordHistoryNew.getIsAccept().equals(2)){
|
||||
SysWorkflowNode.setIsAccept(sysWorkflowRecordHistoryNew.getIsAccept());
|
||||
SysWorkflowNode.setCreateTime(sysWorkflowRecordHistoryNew.getCreateTime());
|
||||
SysWorkflowNode.setRemark(sysWorkflowRecordHistoryNew.getRemark());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return sysWorkflowNodeList;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,12 +17,14 @@ import com.bonus.material.work.mapper.SysWorkflowRecordMapper;
|
|||
import com.bonus.material.work.mapper.SysWorkflowTypeMapper;
|
||||
import com.bonus.material.work.service.SysWorkflowRecordHistoryService;
|
||||
import com.bonus.material.work.service.SysWorkflowRecordService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHistoryService {
|
||||
|
||||
|
|
@ -50,6 +52,9 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
@Override
|
||||
@Transactional
|
||||
public int updateSysWorkflowRecordHistory(SysWorkflowRecordHistory sysWorkflowRecordHistory) {
|
||||
//保存审核人信息
|
||||
Long userId = SecurityUtils.getUserId();
|
||||
sysWorkflowRecordHistory.setCreateBy(userId.toString());
|
||||
sysWorkflowRecordHistoryMapper.addSysWorkflowRecordHistory(sysWorkflowRecordHistory);
|
||||
//根据当前审批状态,修改流程状态
|
||||
if (sysWorkflowRecordHistory.getIsAccept()==1){
|
||||
|
|
@ -80,12 +85,10 @@ public class SysWorkflowRecordHistoryServiceImpl implements SysWorkflowRecordHis
|
|||
sysWorkflowRecord.setWorkflowStatus(2);
|
||||
sysWorkflowRecordMapper.updateSysWorkflowRecord(sysWorkflowRecord);
|
||||
System.out.println("-------------节点更新任务信息为完成-------------");
|
||||
|
||||
SysWorkflowAuditDto sysWorkflowRecodeInfo = sysWorkflowRecordMapper.getSysWorkflowRecodeByTaskId(sysWorkflowRecordHistory.getTaskId());
|
||||
if (sysWorkflowRecodeInfo == null) {
|
||||
throw new ServiceException("任务类型为空");
|
||||
}
|
||||
|
||||
// 根据任务类型修改业务状态
|
||||
switch (sysWorkflowRecodeInfo.getTaskType()) {
|
||||
// 领料任务:2
|
||||
|
|
|
|||
|
|
@ -24,4 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<delete id="deleteSysWorkflowConfig">
|
||||
delete from sys_workflow_config where node_id=#{nodeId}
|
||||
</delete>
|
||||
<select id="selectConfigValueByNodeId" resultType="java.lang.String">
|
||||
select config_value from sys_workflow_config where node_id = #{nodeId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<select id="listByTaskId" resultType="com.bonus.material.work.domain.SysWorkflowNode">
|
||||
select swn.id as id, swn.type_id typeId, swn.node_name as nodeName, swn.node_sort as nodeSort,
|
||||
swn.node_sign_type as nodeSignType, swn.node_sign_config as nodeSignConfig,swn.id as nodeId,
|
||||
swrh.create_by as createBy,swn.is_enable as isEnable,
|
||||
swrh.create_by as createBy,swn.is_enable as isEnable,sec.config_value as configValues,
|
||||
GROUP_CONCAT(DISTINCT sec.config_value SEPARATOR ',') AS configValues,
|
||||
swr.id as recordId
|
||||
from sys_workflow_node swn
|
||||
|
|
|
|||
|
|
@ -29,20 +29,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</if>
|
||||
</update>
|
||||
|
||||
<select id="getSysWorkflowRecodeByTaskId" resultType="com.bonus.material.work.domain.dto.SysWorkflowAuditDto">
|
||||
|
||||
<select id="getSysWorkflowRecodeByTaskId" parameterType="Integer" resultType="com.bonus.material.work.domain.dto.SysWorkflowAuditDto">
|
||||
select
|
||||
a.id,
|
||||
a.task_id,
|
||||
a.task_type,
|
||||
a.task_code,
|
||||
a.workflow_id,
|
||||
a.workflow_status
|
||||
a.id as id,
|
||||
a.task_id as taskId,
|
||||
a.task_type as taskType,
|
||||
a.task_code as taskCode,
|
||||
a.workflow_id as workflowId,
|
||||
a.workflow_status as workflowStatus
|
||||
from sys_workflow_record a
|
||||
<where>
|
||||
<if test="taskId != null">
|
||||
a.task_id = #{taskId}
|
||||
and a.task_id = #{taskId}
|
||||
</if>
|
||||
</where>
|
||||
limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -27,9 +27,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</trim>
|
||||
</insert>
|
||||
<select id="seleteSysWorkflowRecordHistory" resultType="com.bonus.material.work.domain.SysWorkflowRecordHistory">
|
||||
select swrh.is_accept as isAccept,swrh.create_time as createTime,swrh.remark as remark
|
||||
select swrh.is_accept as isAccept,swrh.create_time as createTime,swrh.remark as remark,swrh.next_node_id as nextNodeId,
|
||||
swrh.create_by as createBy
|
||||
from sys_workflow_record_history swrh
|
||||
where swrh.record_id=#{recordId} and swrh.node_id= #{nodeId}
|
||||
limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue