提交修改
This commit is contained in:
parent
3f4a1612ee
commit
d1957ecad6
File diff suppressed because it is too large
Load Diff
@ -642,4 +642,12 @@ public class ResultRecordController extends AbstractController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -257,4 +257,13 @@ public class TestController {
|
||||
}
|
||||
}
|
||||
|
||||
// http://localhost:8080/lz_management/test/resultrecord?resultRecordId=157
|
||||
@RequestMapping("/test/resultrecord")
|
||||
public void resultRecorcd(Long resultRecordId) throws Exception{
|
||||
R r = resultRecordService.initFlowRecord(resultRecordId);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,36 @@
|
||||
package com.lz.modules.app.enums;
|
||||
|
||||
public enum FlowApprovalRoleTypeEnums {
|
||||
|
||||
ME(-1,"自己"),
|
||||
STAFF(0,"指定员工"),
|
||||
ONE_SUPPER(1,"一级主管"),
|
||||
TWO_SUPPER(2,"二级主管"),
|
||||
THREE_SUPPER(3,"三级主管"),
|
||||
FOUR_SUPPER(4,"四级主管"),
|
||||
FIVE_SUPPER(5,"五级主管");
|
||||
|
||||
private Integer type;
|
||||
private String desc ;
|
||||
|
||||
FlowApprovalRoleTypeEnums(Integer type, String desc) {
|
||||
this.type = type;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public Integer getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(Integer type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
public void setDesc(String desc) {
|
||||
this.desc = desc;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package com.lz.modules.app.enums;
|
||||
|
||||
public enum FlowRecordStatusEnums {
|
||||
|
||||
UN_TO_STATUS(0, "流程未到"),
|
||||
FINISHED_STATUS(1, "流程已走"),
|
||||
CURRENT_FLOW_STATUS(2, "当前流程"),
|
||||
SKIP_STATUS(3, "跳过");
|
||||
|
||||
private Integer status;
|
||||
private String desc ;
|
||||
|
||||
FlowRecordStatusEnums(Integer name, String desc) {
|
||||
this.status = name;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
public Integer getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(Integer status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
public void setDesc(String desc) {
|
||||
this.desc = desc;
|
||||
}
|
||||
}
|
||||
@ -34,4 +34,6 @@ public interface FlowApprovalRoleMapper extends BaseMapper<FlowApprovalRole> {
|
||||
|
||||
|
||||
Long insertFlowApprovalRoles(@Param("list") List<FlowApprovalRole> flowApprovalRoles);
|
||||
|
||||
List<FlowApprovalRole> selectFlowApprovalRoleList(@Param("flowIds") List<Long> flowIds);
|
||||
}
|
||||
@ -58,4 +58,5 @@ public interface FlowRecordMapper extends BaseMapper<FlowRecord> {
|
||||
|
||||
List<TaskListDto> selectFinishTasksByApprovalStaffId(@Param("approvalStaffId") Long approvalStaffId, @Param("page") IPage page);
|
||||
|
||||
void insertFlowRecords(@Param("flowRecords") List<FlowRecord> flowRecords);
|
||||
}
|
||||
@ -37,7 +37,7 @@ public class FlowApprovalRole implements java.io.Serializable {
|
||||
private Integer type;
|
||||
//审批人角色id
|
||||
@ApiModelProperty(value = "审批人角色id", name = "roleId")
|
||||
private Long roleId;
|
||||
private String roleId;
|
||||
//流程表id
|
||||
@ApiModelProperty(value = "流程表id", name = "flowId")
|
||||
private Long flowId;
|
||||
@ -142,14 +142,14 @@ public class FlowApprovalRole implements java.io.Serializable {
|
||||
* 审批人角色id
|
||||
* @return
|
||||
*/
|
||||
public Long getRoleId() {
|
||||
public String getRoleId() {
|
||||
return roleId;
|
||||
}
|
||||
/**
|
||||
* 审批人角色id
|
||||
* @param roleId
|
||||
*/
|
||||
public void setRoleId(Long roleId) {
|
||||
public void setRoleId(String roleId) {
|
||||
this.roleId = roleId;
|
||||
}
|
||||
|
||||
|
||||
@ -28,6 +28,9 @@ public class StaffRoleDto {
|
||||
return JSON.toJSONString(staffRoleDtoList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
List<StaffRoleDto> staffRoleDtoList = new ArrayList<>();
|
||||
StaffRoleDto staffRoleDto = new StaffRoleDto(314l,6l);
|
||||
|
||||
30
src/main/java/com/lz/modules/flow/model/StaffRoles.java
Normal file
30
src/main/java/com/lz/modules/flow/model/StaffRoles.java
Normal file
@ -0,0 +1,30 @@
|
||||
package com.lz.modules.flow.model;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class StaffRoles {
|
||||
|
||||
private Long staffId;
|
||||
private List<Long> roleIds;
|
||||
|
||||
public StaffRoles(Long staffId, List<Long> roleIds) {
|
||||
this.staffId = staffId;
|
||||
this.roleIds = roleIds;
|
||||
}
|
||||
|
||||
|
||||
public static String getStaffRole(Long staffId, List<Long> roloIds) {
|
||||
Set<Long> set = new HashSet<>();
|
||||
for (Long roleId : roloIds) {
|
||||
set.add(roleId);
|
||||
}
|
||||
|
||||
List<Long> list = new ArrayList<>();
|
||||
list.addAll(set);
|
||||
Map<String, List<Long>> map = new HashMap<>();
|
||||
map.put(staffId + "", list );
|
||||
return JSON.toJSONString(map);
|
||||
}
|
||||
}
|
||||
@ -33,4 +33,6 @@ public interface FlowApprovalRoleService extends IService<FlowApprovalRole> {
|
||||
|
||||
|
||||
Long insertFlowApprovalRoles(List<FlowApprovalRole> flowApprovalRoles);
|
||||
|
||||
List<FlowApprovalRole> selectFlowApprovalRoleList(List<Long> flowIds);
|
||||
}
|
||||
@ -57,4 +57,6 @@ public interface FlowRecordService extends IService<FlowRecord> {
|
||||
Long copyFlowRecord(FlowRecord flowRecord);
|
||||
|
||||
PageUtils selectTaskListByApprovalStaffId(AssessTaskReq req, Long approvalStaffId);
|
||||
|
||||
void insertFlowRecords(List<FlowRecord> flowRecords);
|
||||
}
|
||||
@ -89,5 +89,12 @@ public class FlowApprovalRoleServiceImpl extends ServiceImpl<FlowApprovalRoleMap
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FlowApprovalRole> selectFlowApprovalRoleList(List<Long> flowIds) {
|
||||
|
||||
return flowApprovalRoleMapper.selectFlowApprovalRoleList(flowIds);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -158,4 +158,9 @@ public class FlowRecordServiceImpl extends ServiceImpl<FlowRecordMapper, FlowRec
|
||||
|
||||
return pageUtils;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertFlowRecords(List<FlowRecord> flowRecords) {
|
||||
flowRecordMapper.insertFlowRecords(flowRecords);
|
||||
}
|
||||
}
|
||||
|
||||
@ -107,4 +107,5 @@ public interface ResultRecordService extends IService<ResultRecord> {
|
||||
|
||||
void batchDeleteByStaffIds(List<String> staffIds);
|
||||
|
||||
R initFlowRecord(Long resultRecordId);
|
||||
}
|
||||
@ -12,6 +12,8 @@ import com.lz.modules.app.dto.GraphicsStatisticalDto;
|
||||
import com.lz.modules.app.entity.DepartmentsEntity;
|
||||
import com.lz.modules.app.entity.DepartmentsStaffRelateEntity;
|
||||
import com.lz.modules.app.entity.StaffEntity;
|
||||
import com.lz.modules.app.enums.FlowApprovalRoleTypeEnums;
|
||||
import com.lz.modules.app.enums.FlowRecordStatusEnums;
|
||||
import com.lz.modules.app.req.ResultRecordReq;
|
||||
import com.lz.modules.app.resp.OwnResultResp;
|
||||
import com.lz.modules.app.resp.ResultRecordResp;
|
||||
@ -21,10 +23,7 @@ import com.lz.modules.app.service.StaffService;
|
||||
import com.lz.modules.app.utils.t.TwoTuple;
|
||||
import com.lz.modules.flow.entity.*;
|
||||
import com.lz.modules.flow.enums.FlowRecordEnum;
|
||||
import com.lz.modules.flow.model.Auth;
|
||||
import com.lz.modules.flow.model.StaffRoleDto;
|
||||
import com.lz.modules.flow.model.TypeFlowDto;
|
||||
import com.lz.modules.flow.model.TypeRoleDto;
|
||||
import com.lz.modules.flow.model.*;
|
||||
import com.lz.modules.flow.service.*;
|
||||
import com.lz.modules.job.business.DingtalkBusiness;
|
||||
import com.lz.modules.performance.req.AssessDetailReq;
|
||||
@ -118,6 +117,9 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
@Autowired
|
||||
private DingtalkBusiness dingtalkBusiness;
|
||||
|
||||
@Autowired
|
||||
private FlowApprovalRoleService flowApprovalRoleService;
|
||||
|
||||
@Value("${dingtalk.appid}")
|
||||
private String appid;
|
||||
|
||||
@ -684,6 +686,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
lastFlowRecordNoStatus.setGmtCreate(new Date()); //更新驳回时间
|
||||
flowRecordService.updateFlowRecordById(lastFlowRecordNoStatus);
|
||||
|
||||
|
||||
// 可能会被删除
|
||||
FlowRecord lastUsedFlowRecord = flowRecordService.selectLastFlowRecordByRecordId(resultRecord.getId());
|
||||
lastUsedFlowRecord.setId(null);
|
||||
@ -746,4 +749,86 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
public void batchDeleteByStaffIds(List<String> staffIds) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public R initFlowRecord(Long resultRecordId) {
|
||||
ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(resultRecordId);
|
||||
List<Flow> flows = flowService.selectByFlowId(resultRecord.getEvaluationId());
|
||||
List<Long> flowIds = new ArrayList<>();
|
||||
for(Flow flow:flows){
|
||||
flowIds.add(flow.getId());
|
||||
}
|
||||
List<FlowApprovalRole> flowApprovalRoles =flowApprovalRoleService.selectFlowApprovalRoleList(flowIds);
|
||||
List<FlowRecord> flowRecords = new ArrayList<>();
|
||||
int i = 0 ;
|
||||
DepartmentsStaffRelateEntity relateEntity = departmentsStaffRelateService.selectLastDepartmentByStaffId(resultRecord.getStaffId());
|
||||
Map<String, String> map = departmentsService.selectUserAllDepartmentInFo(relateEntity.getDepartmentId());
|
||||
|
||||
for(FlowApprovalRole flowApprovalRole:flowApprovalRoles){
|
||||
FlowRecord flowRecord = new FlowRecord();
|
||||
flowRecord.setRecordId(resultRecord.getId());
|
||||
StaffEntity staffEntity = new StaffEntity();
|
||||
if(FlowApprovalRoleTypeEnums.ME.getType().equals(flowApprovalRole.getType())){
|
||||
staffEntity = staffService.selectStaffById(resultRecord.getStaffId());
|
||||
}else if(FlowApprovalRoleTypeEnums.STAFF.getType().equals(flowApprovalRole.getType())){
|
||||
staffEntity = staffService.selectStaffById(flowApprovalRole.getApprovalId());
|
||||
}else if(FlowApprovalRoleTypeEnums.ONE_SUPPER.getType().equals(flowApprovalRole.getType())){
|
||||
staffEntity = getDepartmentStaff(map,1);
|
||||
}else if(FlowApprovalRoleTypeEnums.TWO_SUPPER.getType().equals(flowApprovalRole.getType())){
|
||||
staffEntity = getDepartmentStaff(map,2);
|
||||
}else if(FlowApprovalRoleTypeEnums.THREE_SUPPER.getType().equals(flowApprovalRole.getType())){
|
||||
staffEntity = getDepartmentStaff(map,3);
|
||||
}else if(FlowApprovalRoleTypeEnums.FOUR_SUPPER.getType().equals(flowApprovalRole.getType())){
|
||||
staffEntity = getDepartmentStaff(map,4);
|
||||
}else if(FlowApprovalRoleTypeEnums.FOUR_SUPPER.getType().equals(flowApprovalRole.getType())){
|
||||
staffEntity = getDepartmentStaff(map,5);
|
||||
}
|
||||
flowRecord.setApprovalStaffName(staffEntity.getName());
|
||||
flowRecord.setApprovalStaffId(staffEntity.getId());
|
||||
flowRecord.setFlowName(getFlow(flows,flowApprovalRole.getFlowId()).getOptDesc());
|
||||
flowRecord.setRecordStaffId(resultRecord.getStaffId());
|
||||
flowRecord.setFlowId(flowApprovalRole.getFlowId());
|
||||
String staffRole = StaffRoles.getStaffRole(resultRecord.getStaffId(), StringUtil.strToLongs(flowApprovalRole.getRoleId()));
|
||||
if(i == 0 ){
|
||||
flowRecord.setStatus(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus());
|
||||
resultRecord.setFlowStaffIdRole(staffRole);
|
||||
}else{
|
||||
flowRecord.setStatus(FlowRecordStatusEnums.UN_TO_STATUS.getStatus());
|
||||
}
|
||||
flowRecord.setFlowStaffIdRole(staffRole);
|
||||
flowRecord.setFlowIndex(flowApprovalRole.getStepIndex());
|
||||
flowRecord.setType(flowApprovalRole.getStepType()); //步骤类型0:依次,1:或签(同时通知,一人通过或拒绝即可),2会签(同时通知,所有人同意才可)
|
||||
i ++;
|
||||
flowRecords.add(flowRecord);
|
||||
}
|
||||
flowRecordService.insertFlowRecords(flowRecords);
|
||||
resultRecordService.updateResultRecordById(resultRecord);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
public StaffEntity getDepartmentStaff(Map<String, String> map, int level) {
|
||||
for (int i = 1; i < 6; i++) {
|
||||
String deparment = map.get("dd" + i );
|
||||
if (StringUtil.isNotBlank(deparment)) {
|
||||
DepartmentsStaffRelateEntity departmentsStaffRelateEntity = departmentsStaffRelateService.selectDepartmentByDepartmentId(deparment);
|
||||
if (departmentsStaffRelateEntity != null) {
|
||||
StaffEntity staffEntity = staffService.selectStaffById(departmentsStaffRelateEntity.getStaffId());
|
||||
if (level == i) {
|
||||
return staffEntity;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return new StaffEntity();
|
||||
|
||||
}
|
||||
|
||||
public Flow getFlow(List<Flow> flows,Long flowId){
|
||||
for(Flow flow : flows){
|
||||
if(flow.getId().equals(flowId)){
|
||||
return flow;
|
||||
}
|
||||
}
|
||||
return new Flow();
|
||||
}
|
||||
}
|
||||
|
||||
@ -118,5 +118,15 @@
|
||||
;
|
||||
</insert>
|
||||
|
||||
|
||||
<select id="selectFlowApprovalRoleList" resultType="com.lz.modules.flow.entity.FlowApprovalRole">
|
||||
select * from lz_flow_approval_role where flow_id in
|
||||
<foreach collection="flowIds" item="item" index="index" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
order by step_index asc
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
|
||||
@ -108,6 +108,7 @@
|
||||
)
|
||||
</insert>
|
||||
|
||||
|
||||
<update id="updateFlowRecordById" parameterType="FlowRecord" >
|
||||
update
|
||||
lz_flow_record
|
||||
@ -221,5 +222,44 @@
|
||||
order by r.gmt_modified desc
|
||||
</select>
|
||||
|
||||
|
||||
<insert id="insertFlowRecords">
|
||||
insert into lz_flow_record(
|
||||
department_level,
|
||||
record_id,
|
||||
approval_staff_id,
|
||||
approval_staff_name,
|
||||
flow_name,
|
||||
record_staff_id,
|
||||
flow_id,
|
||||
flow_index,
|
||||
status,
|
||||
flow_staff_id_role,
|
||||
status_name,
|
||||
type,
|
||||
is_delete,
|
||||
gmt_create,
|
||||
gmt_modified
|
||||
)values
|
||||
<foreach collection="flowRecords" item="item" separator=",">
|
||||
( #{ item.departmentLevel},
|
||||
#{ item.recordId},
|
||||
#{ item.approvalStaffId},
|
||||
#{ item.approvalStaffName},
|
||||
#{ item.flowName},
|
||||
#{ item.recordStaffId},
|
||||
#{ item.flowId},
|
||||
#{ item.flowIndex},
|
||||
#{ item.status},
|
||||
#{ item.flowStaffIdRole},
|
||||
#{ item.statusName},
|
||||
#{ item.type},
|
||||
0,
|
||||
now(),
|
||||
now()
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
||||
@ -96,7 +96,7 @@ public class MysqlMain {
|
||||
//list.add(new TablesBean("lz_flow_chart_detail_record"));
|
||||
//list.add(new TablesBean("lz_flow_approval_role"));
|
||||
|
||||
list.add(new TablesBean("lz_evaluation_group"));
|
||||
list.add(new TablesBean("lz_flow_record"));
|
||||
|
||||
List<TablesBean> list2 = new ArrayList<TablesBean>();
|
||||
Map<String, String> map = MysqlUtil2ShowCreateTable.getComments();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user