提交修改

This commit is contained in:
quyixiao 2020-11-11 14:59:27 +08:00
parent c843474fee
commit 3fb2dfd0f9
3 changed files with 30 additions and 18 deletions

View File

@ -52,4 +52,8 @@ public class StaffSimpleInfo implements Serializable {
private Long recordId;
}

View File

@ -193,9 +193,17 @@ public class DingtalkBusiness {
return sendWorkMSGByEntity(appid, fromStaffEntity, toStaffEntity, workMsgTypeEnum, "https://www.baidu.com");
}
public String sendWorkMSGWithAsyn(StaffSimpleInfo fromStaff, List<StaffSimpleInfo> toStaffids, int type) {
if(toStaffids.get(0).getEmployeeId() == null || toStaffids.get(0).getEmployeeId().length() == 0){
public String sendWorkMSGWithAsyn(Long resultRecordId , int type) {
return null;
}
public String sendWorkMSGWithAsyn(StaffSimpleInfo fromStaff, List<StaffSimpleInfo> toStaffids, int type) {
if (toStaffids.get(0).getEmployeeId() == null || toStaffids.get(0).getEmployeeId().length() == 0) {
//查询第三方id
List<Long> ids = toStaffids.stream().map(new Function<StaffSimpleInfo, Long>() {
@Override
@ -204,8 +212,8 @@ public class DingtalkBusiness {
}
}).collect(Collectors.toList());
List<StaffSimpleInfo> staffSimpleInfos = staffService.selectStaffSimpleInfos(ids);
Map<Long, StaffSimpleInfo> map = toStaffids.stream().collect(Collectors.toMap(StaffSimpleInfo::getId, e->e));
for (StaffSimpleInfo staff:staffSimpleInfos
Map<Long, StaffSimpleInfo> map = toStaffids.stream().collect(Collectors.toMap(StaffSimpleInfo::getId, e -> e));
for (StaffSimpleInfo staff : staffSimpleInfos
) {
StaffSimpleInfo staff1 = map.get(staff.getId());
staff1.setEmployeeId(staff1.getEmployeeId());

View File

@ -793,14 +793,14 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
} else if (FlowApprovalRoleTypeEnums.FOUR_SUPPER.getType().equals(flowApprovalRole.getType())) {
approvalStaff = getDepartmentStaff(resultRecord.getStaffId(), 5);
}
if(approvalStaff !=null && StringUtil.isNotBlank()){
insertFlowRecord(flowRecord,approvalStaff,flows,flowApprovalRole,resultRecord,i);
if(approvalStaff !=null && StringUtil.isNotBlank(approvalStaff.getName())){
insertFlowRecord(flowRecord,approvalStaff,flows,flowApprovalRole,resultRecord,i,null);
}else{
List<StaffRole> staffRoles= staffRoleService.selectAllStaffRoleByDepartmentLevel(Arrays.asList(new String[]{RoleEnums.MASTER_PM.getName(),RoleEnums.CHILD_PM.getName()}));
for(StaffRole staffRole:staffRoles){
approvalStaff = staffService.selectStaffById(staffRole.getStaffId());
if(staffRole.getDepartmentId() ==0){ //如果是管理所有部门
insertFlowRecord(flowRecord,approvalStaff,flows,flowApprovalRole,resultRecord,i);
insertFlowRecord(flowRecord,approvalStaff,flows,flowApprovalRole,resultRecord,i,1);
}else{
DepartmentsStaffRelateEntity relateEntity = departmentsStaffRelateService.selectLastDepartmentByStaffId(resultRecord.getStaffId());
Map<String, String> map = departmentsService.selectUserAllDepartmentIds(relateEntity.getDepartmentId());
@ -814,33 +814,28 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
}
}
if(flag){ //如果管理员是管理特定部门
insertFlowRecord(flowRecord,approvalStaff,flows,flowApprovalRole,resultRecord,i);
insertFlowRecord(flowRecord,approvalStaff,flows,flowApprovalRole,resultRecord,i,1);
}
}
}
}
i++;
}
resultRecordService.updateResultRecordById(resultRecord);
return R.ok();
}
public void insertFlowRecord(FlowRecord flowRecord,StaffEntity staffEntity,List<Flow> flows,FlowApprovalRole flowApprovalRole ,ResultRecord resultRecord,int i ){
flowRecord.setApprovalStaffName(staffEntity.getName());
flowRecord.setApprovalStaffId(staffEntity.getId());
public void insertFlowRecord(FlowRecord flowRecord,StaffEntity approvalStaff,List<Flow> flows,FlowApprovalRole flowApprovalRole ,ResultRecord resultRecord,int i,Integer stepType ){
flowRecord.setApprovalStaffName(approvalStaff.getName());
flowRecord.setApprovalStaffId(approvalStaff.getId());
flowRecord.setFlowName(getFlow(flows, flowApprovalRole.getFlowId()).getOptDesc());
flowRecord.setRecordStaffId(resultRecord.getStaffId());
flowRecord.setFlowId(flowApprovalRole.getFlowId());
FlowChart flowChart = flowService.selectFlowChartByChartId(flowApprovalRole.getFlowId());
flowRecord.setProcessId(flowChart.getProcessId());
flowRecord.setFlowProcess(flowChart.getFlowProcess());
String staffRole = StaffRoles.getStaffRole(staffEntity.getId(), StringUtil.strToLongs(flowApprovalRole.getRoleId()));
String staffRole = StaffRoles.getStaffRole(approvalStaff.getId(), StringUtil.strToLongs(flowApprovalRole.getRoleId()));
if (i == 0) {
flowRecord.setStatus(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus());
resultRecord.setFlowStaffIdRole(staffRole);
@ -850,7 +845,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
}
flowRecord.setFlowStaffIdRole(staffRole);
flowRecord.setFlowIndex(flowApprovalRole.getStepIndex());
flowRecord.setType(flowApprovalRole.getStepType()); //步骤类型0依次1或签同时通知一人通过或拒绝即可2会签同时通知所有人同意才可
flowRecord.setType(stepType !=null ? stepType :flowApprovalRole.getStepType()); //步骤类型0依次1或签同时通知一人通过或拒绝即可2会签同时通知所有人同意才可
flowRecordService.insertFlowRecord(flowRecord);
}
@ -1020,6 +1015,11 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
flowRecord.setStatus(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus());
flowRecordService.updateFlowRecordById(flowRecord);
}
dingtalkBusiness.sendWorkMSGWithAsyn(fromStaff, staffSimpleInfos, WorkMsgTypeEnum.PROCESS.getType());
FlowChart currentFlowChart = flowService.selectFlowChartByChartId(currentFlowRecord.getFlowId());
resultRecord.setFlowProcess(currentFlowChart.getFlowProcess());