|
|
|
@ -607,55 +607,6 @@ public class QyWxOperationController { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 获取第二个节点数据
|
|
|
|
ApprovalInfo_SpRecord approvalInfo_spRecord = spRecord_list.get(1); |
|
|
|
if(approvalInfo_spRecord != null) |
|
|
|
{ |
|
|
|
// 获取第二个节点中审批人信息
|
|
|
|
List<ApprovalInfo_Details> details = approvalInfo_spRecord.getDetails(); |
|
|
|
// 获取仓储中心负责人标签下的成员
|
|
|
|
List<String> qyWxLabelUserList = QyWxConfig.getQyWxLabelUserList(crypt); |
|
|
|
// 定义当前是否为标签
|
|
|
|
boolean flagForLabel = true; // 默认为标签
|
|
|
|
if (details.size() != qyWxLabelUserList.size()) { |
|
|
|
// 如果节点数目不等于标签人员数
|
|
|
|
flagForLabel = false; |
|
|
|
} else { |
|
|
|
for (ApprovalInfo_Details ad : details |
|
|
|
) { |
|
|
|
// 获取当前节点审批人userId
|
|
|
|
String approver = ad.getApprover().getUserId(); |
|
|
|
flagForLabel = flagForLabel && qyWxLabelUserList.contains(approver); |
|
|
|
} |
|
|
|
} |
|
|
|
if (!flagForLabel) { |
|
|
|
// 如果第二个节点不是标签节点
|
|
|
|
if(approval_count > 1){ |
|
|
|
// 如果完成审批的节点数大于1
|
|
|
|
flagForDepository = 3; |
|
|
|
|
|
|
|
// 如果已经完成该审批记录,则进行删除
|
|
|
|
redisTemplate.delete(spNo); |
|
|
|
}else{ |
|
|
|
// 如果当前是第一个节点
|
|
|
|
flagForFirst = false; |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
// 如果第二个节点是标签节点
|
|
|
|
if(approval_count > 2){ |
|
|
|
// 如果完成审批的节点数大于2
|
|
|
|
flagForDepository = 3; |
|
|
|
// 如果已经完成该审批记录,则进行删除
|
|
|
|
redisTemplate.delete(spNo); |
|
|
|
}else{ |
|
|
|
// 如果当前并不是标签节点后
|
|
|
|
flagForDepository = 2; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 1-审批中;2-已同意;3-已驳回;4-已转审
|
|
|
|
if (!("1".equals(spStatus))) { |
|
|
|
|
|
|
|
@ -663,6 +614,55 @@ public class QyWxOperationController { |
|
|
|
if (QyWxConfig.out_approval_template_id.equals(approvalInfo.getTemplateId())) { |
|
|
|
// 如果是物料出库申请审批
|
|
|
|
|
|
|
|
// 获取第二个节点数据
|
|
|
|
ApprovalInfo_SpRecord approvalInfo_spRecord = spRecord_list.get(1); |
|
|
|
if(approvalInfo_spRecord != null) |
|
|
|
{ |
|
|
|
// 获取第二个节点中审批人信息
|
|
|
|
List<ApprovalInfo_Details> details = approvalInfo_spRecord.getDetails(); |
|
|
|
// 获取仓储中心负责人标签下的成员
|
|
|
|
List<String> qyWxLabelUserList = QyWxConfig.getQyWxLabelUserList(crypt); |
|
|
|
// 定义当前是否为标签
|
|
|
|
boolean flagForLabel = true; // 默认为标签
|
|
|
|
if (details.size() != qyWxLabelUserList.size()) { |
|
|
|
// 如果节点数目不等于标签人员数
|
|
|
|
flagForLabel = false; |
|
|
|
} else { |
|
|
|
for (ApprovalInfo_Details ad : details |
|
|
|
) { |
|
|
|
// 获取当前节点审批人userId
|
|
|
|
String approver = ad.getApprover().getUserId(); |
|
|
|
flagForLabel = flagForLabel && qyWxLabelUserList.contains(approver); |
|
|
|
} |
|
|
|
} |
|
|
|
if (!flagForLabel) { |
|
|
|
// 如果第二个节点不是标签节点
|
|
|
|
if(approval_count > 1){ |
|
|
|
// 如果完成审批的节点数大于1
|
|
|
|
flagForDepository = 3; |
|
|
|
|
|
|
|
// 如果已经完成该审批记录,则进行删除
|
|
|
|
redisTemplate.delete(spNo); |
|
|
|
}else{ |
|
|
|
// 如果当前是第一个节点
|
|
|
|
flagForFirst = false; |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
// 如果第二个节点是标签节点
|
|
|
|
if(approval_count > 2){ |
|
|
|
// 如果完成审批的节点数大于2
|
|
|
|
flagForDepository = 3; |
|
|
|
// 如果已经完成该审批记录,则进行删除
|
|
|
|
redisTemplate.delete(spNo); |
|
|
|
}else{ |
|
|
|
// 如果当前并不是标签节点后
|
|
|
|
flagForDepository = 2; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 开启一个线程用于进行处理
|
|
|
|
ApprovalInfo_Details finalApprovalInfo_details = approvalInfo_details; |
|
|
|
boolean finalFlagForFirst = flagForFirst; |
|
|
|
|