|
|
@@ -51,8 +51,8 @@ import org.springblade.school.feign.ISalaryClient;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.Comparator;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
@@ -170,8 +170,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
Message message = new Message();
|
|
|
message.setUserId(AuthUtil.getUserId());
|
|
|
message.setUserName(AuthUtil.getUserName());
|
|
|
- message.setToUserId(Long.valueOf(e.getAuditUserId()));
|
|
|
message.setMessageType(1);
|
|
|
+ message.setOrigin(1);
|
|
|
message.setParameter(String.valueOf(auditProecessDTO.getBillId()));
|
|
|
//不同的审批, 不同的模板
|
|
|
if ("付费审批".equals(auditProecessDTO.getProcessType())) {
|
|
|
@@ -224,10 +224,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
}
|
|
|
|
|
|
message.setUrl("/approveData/index");
|
|
|
- R save = messageClient.save(message);
|
|
|
- if (!save.isSuccess()) {
|
|
|
- throw new SecurityException("发送消息失败");
|
|
|
- }
|
|
|
+ sendMsgToGroup(message, e.getAuditUserId());
|
|
|
|
|
|
auditProecess.setAuditStatus("S");
|
|
|
} else {
|
|
|
@@ -255,11 +252,11 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
public void operationFinanceProcess(AuditProecess auditProecess) {
|
|
|
|
|
|
//查看最新操作记录,防止重复提交
|
|
|
- AuditProecess auditProecess1 = baseMapper.selectById(auditProecess.getId());
|
|
|
- if (auditProecess1 == null) {
|
|
|
+ AuditProecess proecessTemp = baseMapper.selectById(auditProecess.getId());
|
|
|
+ if (proecessTemp == null) {
|
|
|
throw new SecurityException("未查到此审批记录,禁止操作");
|
|
|
}
|
|
|
- if ("A".equals(auditProecess1.getAuditStatus()) || "B".equals(auditProecess1.getAuditStatus())) {
|
|
|
+ if ("A".equals(proecessTemp.getAuditStatus()) || "B".equals(proecessTemp.getAuditStatus())) {
|
|
|
throw new SecurityException("当前记录已经完成审批,禁止重复操作");
|
|
|
}
|
|
|
|
|
|
@@ -281,7 +278,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
sendMessage.setPageLabel(auditProecess.getPageLabel());
|
|
|
sendMessage.setPageStatus(auditProecess.getPageStatus());
|
|
|
|
|
|
-
|
|
|
//用户操作 1.通过 2.驳回
|
|
|
Integer operate = auditProecess.getOperate();
|
|
|
//查看当前审批是否为最后一级
|
|
|
@@ -293,7 +289,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
//不是最后一级
|
|
|
if ("F".equals(iffinalItem)) {
|
|
|
|
|
|
-
|
|
|
//通过
|
|
|
if (operate == 1) {
|
|
|
//如果是第一级, 则修改状态为审批中
|
|
|
@@ -307,7 +302,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
auditProecess.setAuditStatus("A");
|
|
|
//查询下一级,开启待审
|
|
|
LambdaQueryWrapper<AuditProecess> auditProecessLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
@@ -333,44 +327,39 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
|
|
|
String corpName = null;
|
|
|
- if (auditProecess1.getCorpId() != null) {
|
|
|
- R<CorpsDesc> corpMessage = iCorpsDescClient.getCorpMessage(auditProecess1.getCorpId());
|
|
|
+ if (proecessTemp.getCorpId() != null) {
|
|
|
+ R<CorpsDesc> corpMessage = iCorpsDescClient.getCorpMessage(proecessTemp.getCorpId());
|
|
|
if (corpMessage.isSuccess() && corpMessage.getData() != null) {
|
|
|
corpName = corpMessage.getData().getCname();
|
|
|
}
|
|
|
}
|
|
|
String orderDate = null;
|
|
|
- if (auditProecess1.getBillId() != null) {
|
|
|
- Order order = orderDescClient.getById(auditProecess1.getBillId());
|
|
|
+ if (proecessTemp.getBillId() != null) {
|
|
|
+ Order order = orderDescClient.getById(proecessTemp.getBillId());
|
|
|
if (order != null) {
|
|
|
|
|
|
orderDate = simpleDateFormat.format(order.getCreateTime());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
Message message = new Message();
|
|
|
message.setUserName(AuthUtil.getUserName());
|
|
|
message.setUserId(AuthUtil.getUserId());
|
|
|
message.setParameter(String.valueOf(auditProecess.getBillId()));
|
|
|
- //消息通知下一级
|
|
|
- message.setToUserId(Long.valueOf(proecess.getAuditUserId()));
|
|
|
message.setMessageType(1);
|
|
|
message.setTenantId(AuthUtil.getTenantId());
|
|
|
//付费申请模板
|
|
|
message.setMessageBody("您有付费审核,公司名:" + corpName + "," + "采购订单号:" +
|
|
|
- "" + auditProecess1.getBillNo() + "," + "订单日期:" + orderDate + ",请审核。"
|
|
|
- + "提交人:" + auditProecess1.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecess1.getSendTime())
|
|
|
+ "" + proecessTemp.getBillNo() + "," + "订单日期:" + orderDate + ",请审核。"
|
|
|
+ + "提交人:" + proecessTemp.getSendName() + " " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
|
|
|
);
|
|
|
|
|
|
message.setCreateUser(AuthUtil.getUserId());
|
|
|
message.setUrl("/approveData/index");
|
|
|
message.setCreateTime(new Date());
|
|
|
|
|
|
- R save = messageClient.save(message);
|
|
|
- if (!save.isSuccess()) {
|
|
|
- throw new SecurityException("发送消息失败");
|
|
|
- }
|
|
|
+ // 消息批量通知下一级
|
|
|
+ sendMsgToGroup(message, proecess.getAuditUserId());
|
|
|
}
|
|
|
//不通过
|
|
|
else if (operate == 2) {
|
|
|
@@ -381,7 +370,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
throw new SecurityException("修改财务数据失败");
|
|
|
}
|
|
|
|
|
|
- sendMessage.setMessageBody("您的付费请核未通过" + ",采购订单号:" + auditProecess1.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ sendMessage.setMessageBody("您的付费请核未通过" + ",采购订单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
R save = messageClient.save(sendMessage);
|
|
|
if (!save.isSuccess()) {
|
|
|
throw new SecurityException("发送消息失败");
|
|
|
@@ -400,7 +389,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
throw new SecurityException("修改财务数据失败");
|
|
|
}
|
|
|
|
|
|
- sendMessage.setMessageBody("您的付费请核已通过" + ",采购订单号:" + auditProecess1.getBillNo() + ",请继续操作");
|
|
|
+ sendMessage.setMessageBody("您的付费请核已通过" + ",采购订单号:" + proecessTemp.getBillNo() + ",请继续操作");
|
|
|
R save = messageClient.save(sendMessage);
|
|
|
if (!save.isSuccess()) {
|
|
|
throw new SecurityException("发送消息失败");
|
|
|
@@ -414,7 +403,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
if (!r.isSuccess()) {
|
|
|
throw new SecurityException("修改财务数据失败");
|
|
|
}
|
|
|
- sendMessage.setMessageBody("您的付费请核未通过" + ",采购订单号:" + auditProecess1.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ sendMessage.setMessageBody("您的付费请核未通过" + ",采购订单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
R save = messageClient.save(sendMessage);
|
|
|
if (!save.isSuccess()) {
|
|
|
throw new SecurityException("发送消息失败");
|
|
|
@@ -423,6 +412,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
} else {
|
|
|
throw new SecurityException("审批异常,请联系管理员");
|
|
|
}
|
|
|
+
|
|
|
+ cleanMsg(proecessTemp.getAuditUserId(), AuthUtil.getUserId(), proecessTemp.getSrcBillId());
|
|
|
+
|
|
|
//保存操作记录
|
|
|
auditProecess.setAuditMsg(auditProecess.getAuditMsg());
|
|
|
auditProecess.setAuditItem(new Date());
|
|
|
@@ -435,11 +427,11 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
public void serverProcess(AuditProecess auditProecess) {
|
|
|
|
|
|
//查看最新操作记录,防止重复提交
|
|
|
- AuditProecess auditProecess1 = baseMapper.selectById(auditProecess.getId());
|
|
|
- if (auditProecess1 == null) {
|
|
|
+ AuditProecess proecessTemp = baseMapper.selectById(auditProecess.getId());
|
|
|
+ if (proecessTemp == null) {
|
|
|
throw new SecurityException("未查到此审批记录,禁止操作");
|
|
|
}
|
|
|
- if ("A".equals(auditProecess1.getAuditStatus()) || "B".equals(auditProecess1.getAuditStatus())) {
|
|
|
+ if ("A".equals(proecessTemp.getAuditStatus()) || "B".equals(proecessTemp.getAuditStatus())) {
|
|
|
throw new SecurityException("当前记录已经完成审批,禁止重复操作");
|
|
|
}
|
|
|
|
|
|
@@ -473,7 +465,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
//不是最后一级
|
|
|
if ("F".equals(iffinalItem)) {
|
|
|
|
|
|
-
|
|
|
//通过
|
|
|
if (operate == 1) {
|
|
|
//如果是第一级, 则修改状态为审批中
|
|
|
@@ -487,7 +478,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
auditProecess.setAuditStatus("A");
|
|
|
//查询下一级,开启待审
|
|
|
LambdaQueryWrapper<AuditProecess> auditProecessLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
@@ -514,8 +504,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
message.setParameter(String.valueOf(auditProecess.getBillId()));
|
|
|
message.setUserName(AuthUtil.getUserName());
|
|
|
message.setUserId(AuthUtil.getUserId());
|
|
|
- //消息通知下一级
|
|
|
- message.setToUserId(Long.valueOf(proecess.getAuditUserId()));
|
|
|
message.setMessageType(1);
|
|
|
message.setTenantId(AuthUtil.getTenantId());
|
|
|
message.setMessageBody("你有新的审批待操作,请及时处理");
|
|
|
@@ -523,10 +511,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
message.setUrl("/approveData/index");
|
|
|
message.setCreateTime(new Date());
|
|
|
|
|
|
- R save = messageClient.save(message);
|
|
|
- if (!save.isSuccess()) {
|
|
|
- throw new SecurityException("发送消息失败");
|
|
|
- }
|
|
|
+ // 消息批量通知下一级
|
|
|
+ sendMsgToGroup(message, proecess.getAuditUserId());
|
|
|
}
|
|
|
//不通过
|
|
|
else if (operate == 2) {
|
|
|
@@ -556,7 +542,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
throw new SecurityException("修改财务数据失败");
|
|
|
}
|
|
|
|
|
|
-
|
|
|
sendMessage.setMessageBody("您的请核已通过,请继续操作");
|
|
|
R save = messageClient.save(sendMessage);
|
|
|
if (!save.isSuccess()) {
|
|
|
@@ -580,6 +565,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
} else {
|
|
|
throw new SecurityException("审批异常,请联系管理员");
|
|
|
}
|
|
|
+
|
|
|
+ cleanMsg(proecessTemp.getAuditUserId(), AuthUtil.getUserId(), proecessTemp.getSrcBillId());
|
|
|
+
|
|
|
//保存操作记录
|
|
|
auditProecess.setAuditMsg(auditProecess.getAuditMsg());
|
|
|
auditProecess.setAuditItem(new Date());
|
|
|
@@ -591,11 +579,11 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
@GlobalTransactional(rollbackFor = Exception.class)
|
|
|
public void orderCheckProcess(AuditProecess auditProecess) {
|
|
|
//查看最新操作记录,防止重复提交
|
|
|
- AuditProecess auditProecess1 = baseMapper.selectById(auditProecess.getId());
|
|
|
- if (auditProecess1 == null) {
|
|
|
+ AuditProecess proecessTemp = baseMapper.selectById(auditProecess.getId());
|
|
|
+ if (proecessTemp == null) {
|
|
|
throw new SecurityException("未查到此审批记录,禁止操作");
|
|
|
}
|
|
|
- if ("A".equals(auditProecess1.getAuditStatus()) || "B".equals(auditProecess1.getAuditStatus())) {
|
|
|
+ if ("A".equals(proecessTemp.getAuditStatus()) || "B".equals(proecessTemp.getAuditStatus())) {
|
|
|
throw new SecurityException("当前记录已经完成审批,禁止重复操作");
|
|
|
}
|
|
|
|
|
|
@@ -617,7 +605,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
sendMessage.setPageLabel(auditProecess.getPageLabel());
|
|
|
sendMessage.setPageStatus(auditProecess.getPageStatus());
|
|
|
|
|
|
-
|
|
|
//用户操作 1.通过 2.驳回
|
|
|
Integer operate = auditProecess.getOperate();
|
|
|
//查看当前审批是否为最后一级
|
|
|
@@ -629,7 +616,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
//不是最后一级
|
|
|
if ("F".equals(iffinalItem)) {
|
|
|
|
|
|
-
|
|
|
//通过
|
|
|
if (operate == 1) {
|
|
|
//如果是第一级, 则修改状态为审批中
|
|
|
@@ -640,7 +626,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
auditProecess.setAuditStatus("A");
|
|
|
//查询下一级,开启待审
|
|
|
LambdaQueryWrapper<AuditProecess> auditProecessLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
@@ -664,56 +649,49 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
proecess.setAuditStatus("S");
|
|
|
baseMapper.updateById(proecess);
|
|
|
|
|
|
-
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
|
|
|
String corpName = null;
|
|
|
- if (auditProecess1.getCorpId() != null) {
|
|
|
- R<CorpsDesc> corpMessage = iCorpsDescClient.getCorpMessage(auditProecess1.getCorpId());
|
|
|
+ if (proecessTemp.getCorpId() != null) {
|
|
|
+ R<CorpsDesc> corpMessage = iCorpsDescClient.getCorpMessage(proecessTemp.getCorpId());
|
|
|
if (corpMessage.isSuccess() && corpMessage.getData() != null) {
|
|
|
corpName = corpMessage.getData().getCname();
|
|
|
}
|
|
|
}
|
|
|
String orderDate = null;
|
|
|
- if (auditProecess1.getBillId() != null) {
|
|
|
- Order order = orderDescClient.getById(auditProecess1.getBillId());
|
|
|
+ if (proecessTemp.getBillId() != null) {
|
|
|
+ Order order = orderDescClient.getById(proecessTemp.getBillId());
|
|
|
if (order != null) {
|
|
|
|
|
|
orderDate = simpleDateFormat.format(order.getCreateTime());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
Message message = new Message();
|
|
|
message.setParameter(String.valueOf(auditProecess.getBillId()));
|
|
|
message.setUserName(AuthUtil.getUserName());
|
|
|
message.setUserId(AuthUtil.getUserId());
|
|
|
- //消息通知下一级
|
|
|
- message.setToUserId(Long.valueOf(proecess.getAuditUserId()));
|
|
|
message.setMessageType(1);
|
|
|
message.setTenantId(AuthUtil.getTenantId());
|
|
|
|
|
|
//判断模板类型
|
|
|
- if ("销售审批".equals(auditProecess1.getProcessType())) {
|
|
|
+ if ("销售审批".equals(proecessTemp.getProcessType())) {
|
|
|
message.setMessageBody("您有销售审核,公司名:" + corpName + "," + "销售订单号:" +
|
|
|
- "" + auditProecess1.getBillNo() + "," + "订单日期:" + orderDate + ",请审核。"
|
|
|
- + "提交人:" + auditProecess1.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecess1.getSendTime())
|
|
|
+ "" + proecessTemp.getBillNo() + "," + "订单日期:" + orderDate + ",请审核。"
|
|
|
+ + "提交人:" + proecessTemp.getSendName() + " " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
|
|
|
);
|
|
|
- } else if ("采购审批".equals(auditProecess1.getProcessType())) {
|
|
|
+ } else if ("采购审批".equals(proecessTemp.getProcessType())) {
|
|
|
message.setMessageBody("您有采购审核,公司名:" + corpName + "," + "采购订单号:" +
|
|
|
- "" + auditProecess1.getBillNo() + "," + "订单日期:" + orderDate + ",请审核。"
|
|
|
- + "提交人:" + auditProecess1.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecess1.getSendTime())
|
|
|
+ "" + proecessTemp.getBillNo() + "," + "订单日期:" + orderDate + ",请审核。"
|
|
|
+ + "提交人:" + proecessTemp.getSendName() + " " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
|
|
|
);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
message.setCreateUser(AuthUtil.getUserId());
|
|
|
message.setUrl("/approveData/index");
|
|
|
message.setCreateTime(new Date());
|
|
|
|
|
|
- R save = messageClient.save(message);
|
|
|
- if (!save.isSuccess()) {
|
|
|
- throw new SecurityException("发送消息失败");
|
|
|
- }
|
|
|
+ // 消息批量通知下一级
|
|
|
+ sendMsgToGroup(message, proecess.getAuditUserId());
|
|
|
}
|
|
|
//不通过
|
|
|
else if (operate == 2) {
|
|
|
@@ -724,10 +702,10 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
throw new SecurityException("修改财务数据失败");
|
|
|
}
|
|
|
|
|
|
- if ("销售审批".equals(auditProecess1.getProcessType())) {
|
|
|
- sendMessage.setMessageBody("您的销售请核未通过" + ",销售订单号:" + auditProecess1.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
- } else if ("采购审批".equals(auditProecess1.getProcessType())) {
|
|
|
- sendMessage.setMessageBody("您的采购请核未通过" + ",销售订单号:" + auditProecess1.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ if ("销售审批".equals(proecessTemp.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的销售请核未通过" + ",销售订单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ } else if ("采购审批".equals(proecessTemp.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的采购请核未通过" + ",销售订单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -750,10 +728,10 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
}
|
|
|
|
|
|
|
|
|
- if ("销售审批".equals(auditProecess1.getProcessType())) {
|
|
|
- sendMessage.setMessageBody("您的销售请核已通过" + ",销售订单号:" + auditProecess1.getBillNo() + ",请继续操作");
|
|
|
- } else if ("采购审批".equals(auditProecess1.getProcessType())) {
|
|
|
- sendMessage.setMessageBody("您的采购请核已通过" + ",销售订单号:" + auditProecess1.getBillNo() + ",请继续操作");
|
|
|
+ if ("销售审批".equals(proecessTemp.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的销售请核已通过" + ",销售订单号:" + proecessTemp.getBillNo() + ",请继续操作");
|
|
|
+ } else if ("采购审批".equals(proecessTemp.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的采购请核已通过" + ",销售订单号:" + proecessTemp.getBillNo() + ",请继续操作");
|
|
|
}
|
|
|
R save = messageClient.save(sendMessage);
|
|
|
if (!save.isSuccess()) {
|
|
|
@@ -768,10 +746,10 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
if (!r.isSuccess()) {
|
|
|
throw new SecurityException("修改财务数据失败");
|
|
|
}
|
|
|
- if ("销售审批".equals(auditProecess1.getProcessType())) {
|
|
|
- sendMessage.setMessageBody("您的销售请核未通过" + ",销售订单号:" + auditProecess1.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
- } else if ("采购审批".equals(auditProecess1.getProcessType())) {
|
|
|
- sendMessage.setMessageBody("您的采购请核未通过" + ",销售订单号:" + auditProecess1.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ if ("销售审批".equals(proecessTemp.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的销售请核未通过" + ",销售订单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ } else if ("采购审批".equals(proecessTemp.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的采购请核未通过" + ",销售订单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
}
|
|
|
R save = messageClient.save(sendMessage);
|
|
|
if (!save.isSuccess()) {
|
|
|
@@ -781,6 +759,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
} else {
|
|
|
throw new SecurityException("审批异常,请联系管理员");
|
|
|
}
|
|
|
+
|
|
|
+ cleanMsg(proecessTemp.getAuditUserId(), AuthUtil.getUserId(), proecessTemp.getSrcBillId());
|
|
|
+
|
|
|
//保存操作记录
|
|
|
auditProecess.setAuditMsg(auditProecess.getAuditMsg());
|
|
|
auditProecess.setAuditItem(new Date());
|
|
|
@@ -809,10 +790,11 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@GlobalTransactional(rollbackFor = Exception.class)
|
|
|
public void changeAuditUser(AuditProecess auditProecess) {
|
|
|
- baseMapper.updateById(auditProecess);
|
|
|
-
|
|
|
- // 保存后查询具体内容
|
|
|
AuditProecess process = baseMapper.selectById(auditProecess.getId());
|
|
|
+ List<String> userIdList = Arrays.stream(process.getAuditUserId().split(",")).collect(Collectors.toList());
|
|
|
+ userIdList.remove(String.valueOf(AuthUtil.getUserId()));
|
|
|
+ process.setAuditUserId(String.join(",", userIdList));
|
|
|
+ baseMapper.updateById(process);
|
|
|
|
|
|
String corpName = null;
|
|
|
if (process.getCorpId() != null) {
|
|
|
@@ -832,7 +814,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
Message message = new Message();
|
|
|
message.setUserId(AuthUtil.getUserId());
|
|
|
message.setUserName(AuthUtil.getUserName());
|
|
|
- message.setToUserId(Long.valueOf(process.getAuditUserId()));
|
|
|
+ message.setToUserId(Long.valueOf(auditProecess.getAuditUserId()));
|
|
|
message.setMessageType(1);
|
|
|
message.setParameter(String.valueOf(process.getBillId()));
|
|
|
// 不同的审批, 不同的模板
|
|
|
@@ -914,11 +896,11 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
@GlobalTransactional(rollbackFor = Exception.class)
|
|
|
public void salaryCheck(AuditProecess auditProecess) {
|
|
|
//查看最新操作记录,防止重复提交
|
|
|
- AuditProecess auditProecess1 = baseMapper.selectById(auditProecess.getId());
|
|
|
- if (auditProecess1 == null) {
|
|
|
+ AuditProecess proecessTemp = baseMapper.selectById(auditProecess.getId());
|
|
|
+ if (proecessTemp == null) {
|
|
|
throw new SecurityException("未查到此审批记录,禁止操作");
|
|
|
}
|
|
|
- if ("A".equals(auditProecess1.getAuditStatus()) || "B".equals(auditProecess1.getAuditStatus())) {
|
|
|
+ if ("A".equals(proecessTemp.getAuditStatus()) || "B".equals(proecessTemp.getAuditStatus())) {
|
|
|
throw new SecurityException("当前记录已经完成审批,禁止重复操作");
|
|
|
}
|
|
|
|
|
|
@@ -993,35 +975,31 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
message.setParameter(String.valueOf(auditProecess.getBillId()));
|
|
|
message.setUserName(AuthUtil.getUserName());
|
|
|
message.setUserId(AuthUtil.getUserId());
|
|
|
- //消息通知下一级
|
|
|
- message.setToUserId(Long.valueOf(proecess.getAuditUserId()));
|
|
|
message.setMessageType(1);
|
|
|
message.setTenantId(AuthUtil.getTenantId());
|
|
|
- if (auditProecess1.getCheckType().equals("xsgz")) {
|
|
|
+ if ("xsgz".equals(proecessTemp.getCheckType())) {
|
|
|
message.setMessageBody("您有小学部工资审核请审核。"
|
|
|
- + "提交人:" + auditProecess1.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecess1.getSendTime())
|
|
|
+ + "提交人:" + proecessTemp.getSendName() + " " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
|
|
|
);
|
|
|
- } else if (auditProecess1.getCheckType().equals("czgz")) {
|
|
|
+ } else if ("czgz".equals(proecessTemp.getCheckType())) {
|
|
|
message.setMessageBody("您有初中部工资审核请审核。"
|
|
|
- + "提交人:" + auditProecess1.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecess1.getSendTime())
|
|
|
+ + "提交人:" + proecessTemp.getSendName() + " " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
|
|
|
);
|
|
|
- } else if (auditProecess1.getCheckType().equals("gzgz")) {
|
|
|
+ } else if ("gzgz".equals(proecessTemp.getCheckType())) {
|
|
|
message.setMessageBody("您有高中部工资审核请审核。"
|
|
|
- + "提交人:" + auditProecess1.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecess1.getSendTime())
|
|
|
+ + "提交人:" + proecessTemp.getSendName() + " " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
|
|
|
);
|
|
|
- } else if (auditProecess1.getCheckType().equals("hqgz")) {
|
|
|
+ } else if ("hqgz".equals(proecessTemp.getCheckType())) {
|
|
|
message.setMessageBody("您有后勤部工资审核请审核。"
|
|
|
- + "提交人:" + auditProecess1.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecess1.getSendTime())
|
|
|
+ + "提交人:" + proecessTemp.getSendName() + " " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
|
|
|
);
|
|
|
}
|
|
|
message.setCreateUser(AuthUtil.getUserId());
|
|
|
message.setUrl("/approveData/index");
|
|
|
message.setCreateTime(new Date());
|
|
|
|
|
|
- R save = messageClient.save(message);
|
|
|
- if (!save.isSuccess()) {
|
|
|
- throw new SecurityException("发送消息失败");
|
|
|
- }
|
|
|
+ // 消息批量通知下一级
|
|
|
+ sendMsgToGroup(message, proecess.getAuditUserId());
|
|
|
}
|
|
|
//不通过
|
|
|
else if (operate == 2) {
|
|
|
@@ -1031,13 +1009,13 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
if (!r.isSuccess()) {
|
|
|
throw new SecurityException("修改原数据失败");
|
|
|
}
|
|
|
- if (auditProecess1.getCheckType().equals("xsgz")) {
|
|
|
+ if ("xsgz".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的小学部工资请核未通过,驳回原因:" + auditProecess.getAuditMsg());
|
|
|
- } else if (auditProecess1.getCheckType().equals("czgz")) {
|
|
|
+ } else if ("czgz".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的初中部工资请核未通过,驳回原因:" + auditProecess.getAuditMsg());
|
|
|
- } else if (auditProecess1.getCheckType().equals("gzgz")) {
|
|
|
+ } else if ("gzgz".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的高中部工资请核未通过,驳回原因:" + auditProecess.getAuditMsg());
|
|
|
- } else if (auditProecess1.getCheckType().equals("hqgz")) {
|
|
|
+ } else if ("hqgz".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的后勤部工资请核未通过,驳回原因:" + auditProecess.getAuditMsg());
|
|
|
}
|
|
|
R save = messageClient.save(sendMessage);
|
|
|
@@ -1057,13 +1035,13 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
if (!r.isSuccess()) {
|
|
|
throw new SecurityException(r.getMsg());
|
|
|
}
|
|
|
- if (auditProecess1.getCheckType().equals("xsgz")) {
|
|
|
+ if ("xsgz".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的小学部工资请核已通过,请继续操作");
|
|
|
- } else if (auditProecess1.getCheckType().equals("czgz")) {
|
|
|
+ } else if ("czgz".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的初中部工资请核已通过,请继续操作");
|
|
|
- } else if (auditProecess1.getCheckType().equals("gzgz")) {
|
|
|
+ } else if ("gzgz".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的高中部工资请核已通过,请继续操作");
|
|
|
- } else if (auditProecess1.getCheckType().equals("hqgz")) {
|
|
|
+ } else if ("hqgz".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的后勤部工资请核已通过,请继续操作");
|
|
|
}
|
|
|
R save = messageClient.save(sendMessage);
|
|
|
@@ -1079,13 +1057,13 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
if (!r.isSuccess()) {
|
|
|
throw new SecurityException("修改原数据失败");
|
|
|
}
|
|
|
- if (auditProecess1.getCheckType().equals("xsgz")) {
|
|
|
+ if ("xsgz".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的小学部工资请核未通过,驳回原因:" + auditProecess.getAuditMsg());
|
|
|
- } else if (auditProecess1.getCheckType().equals("czgz")) {
|
|
|
+ } else if ("czgz".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的初中部工资请核未通过,驳回原因:" + auditProecess.getAuditMsg());
|
|
|
- } else if (auditProecess1.getCheckType().equals("gzgz")) {
|
|
|
+ } else if ("gzgz".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的高中部工资请核未通过,驳回原因:" + auditProecess.getAuditMsg());
|
|
|
- } else if (auditProecess1.getCheckType().equals("hqgz")) {
|
|
|
+ } else if ("hqgz".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的后勤部工资请核未通过,驳回原因:" + auditProecess.getAuditMsg());
|
|
|
}
|
|
|
R save = messageClient.save(sendMessage);
|
|
|
@@ -1096,6 +1074,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
} else {
|
|
|
throw new SecurityException("审批异常,请联系管理员");
|
|
|
}
|
|
|
+
|
|
|
+ cleanMsg(proecessTemp.getAuditUserId(), AuthUtil.getUserId(), proecessTemp.getSrcBillId());
|
|
|
+
|
|
|
//保存操作记录
|
|
|
auditProecess.setAuditMsg(auditProecess.getAuditMsg());
|
|
|
auditProecess.setAuditItem(new Date());
|
|
|
@@ -1112,11 +1093,11 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
@GlobalTransactional(rollbackFor = Exception.class)
|
|
|
public void officeCheck(AuditProecess auditProecess) {
|
|
|
// 查看最新操作记录,防止重复提交
|
|
|
- AuditProecess auditProecess1 = baseMapper.selectById(auditProecess.getId());
|
|
|
- if (auditProecess1 == null) {
|
|
|
+ AuditProecess proecessTemp = baseMapper.selectById(auditProecess.getId());
|
|
|
+ if (proecessTemp == null) {
|
|
|
throw new SecurityException("未查到此审批记录,禁止操作");
|
|
|
}
|
|
|
- if ("A".equals(auditProecess1.getAuditStatus()) || "B".equals(auditProecess1.getAuditStatus())) {
|
|
|
+ if ("A".equals(proecessTemp.getAuditStatus()) || "B".equals(proecessTemp.getAuditStatus())) {
|
|
|
throw new SecurityException("当前记录已经完成审批,禁止重复操作");
|
|
|
}
|
|
|
|
|
|
@@ -1188,27 +1169,23 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
message.setParameter(String.valueOf(auditProecess.getBillId()));
|
|
|
message.setUserName(AuthUtil.getUserName());
|
|
|
message.setUserId(AuthUtil.getUserId());
|
|
|
- //消息通知下一级
|
|
|
- message.setToUserId(Long.valueOf(proecess.getAuditUserId()));
|
|
|
message.setMessageType(1);
|
|
|
message.setTenantId(AuthUtil.getTenantId());
|
|
|
- if ("ocg".equals(auditProecess1.getCheckType())) {
|
|
|
+ if ("ocg".equals(proecessTemp.getCheckType())) {
|
|
|
message.setMessageBody("您有办公用品采购审核请审核。"
|
|
|
- + "提交人:" + auditProecess1.getSendName() + " 提交时间" + simpleDateFormat.format(auditProecess1.getSendTime())
|
|
|
+ + "提交人:" + proecessTemp.getSendName() + " 提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
|
|
|
);
|
|
|
- } else if ("oly".equals(auditProecess1.getCheckType())) {
|
|
|
+ } else if ("oly".equals(proecessTemp.getCheckType())) {
|
|
|
message.setMessageBody("您有办公用品领用审核请审核。"
|
|
|
- + "提交人:" + auditProecess1.getSendName() + " 提交时间" + simpleDateFormat.format(auditProecess1.getSendTime())
|
|
|
+ + "提交人:" + proecessTemp.getSendName() + " 提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
|
|
|
);
|
|
|
}
|
|
|
message.setCreateUser(AuthUtil.getUserId());
|
|
|
message.setUrl("/approveData/index");
|
|
|
message.setCreateTime(new Date());
|
|
|
|
|
|
- R save = messageClient.save(message);
|
|
|
- if (!save.isSuccess()) {
|
|
|
- throw new SecurityException("发送消息失败");
|
|
|
- }
|
|
|
+ // 消息批量通知下一级
|
|
|
+ sendMsgToGroup(message, proecess.getAuditUserId());
|
|
|
}
|
|
|
// 不通过
|
|
|
else if (operate == 2) {
|
|
|
@@ -1218,9 +1195,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
throw new SecurityException("修改原数据失败");
|
|
|
}
|
|
|
|
|
|
- if ("ocg".equals(auditProecess1.getCheckType())) {
|
|
|
+ if ("ocg".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的办公用品采购请核未通过,驳回原因:" + auditProecess.getAuditMsg());
|
|
|
- } else if ("oly".equals(auditProecess1.getCheckType())) {
|
|
|
+ } else if ("oly".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的办公用品领用请核未通过,驳回原因:" + auditProecess.getAuditMsg());
|
|
|
}
|
|
|
R save = messageClient.save(sendMessage);
|
|
|
@@ -1240,9 +1217,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
throw new SecurityException(r.getMsg());
|
|
|
}
|
|
|
|
|
|
- if ("ocg".equals(auditProecess1.getCheckType())) {
|
|
|
+ if ("ocg".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的办公用品采购请核已通过,请继续操作");
|
|
|
- } else if ("oly".equals(auditProecess1.getCheckType())) {
|
|
|
+ } else if ("oly".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的办公用品领用请核已通过,请继续操作");
|
|
|
}
|
|
|
R save = messageClient.save(sendMessage);
|
|
|
@@ -1258,9 +1235,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
throw new SecurityException("修改原数据失败");
|
|
|
}
|
|
|
|
|
|
- if ("ocg".equals(auditProecess1.getCheckType())) {
|
|
|
+ if ("ocg".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的办公用品采购请核未通过,驳回原因:" + auditProecess.getAuditMsg());
|
|
|
- } else if ("oly".equals(auditProecess1.getCheckType())) {
|
|
|
+ } else if ("oly".equals(proecessTemp.getCheckType())) {
|
|
|
sendMessage.setMessageBody("您的办公用品领用请核未通过,驳回原因:" + auditProecess.getAuditMsg());
|
|
|
}
|
|
|
R save = messageClient.save(sendMessage);
|
|
|
@@ -1271,6 +1248,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
} else {
|
|
|
throw new SecurityException("审批异常,请联系管理员");
|
|
|
}
|
|
|
+
|
|
|
+ cleanMsg(proecessTemp.getAuditUserId(), AuthUtil.getUserId(), proecessTemp.getSrcBillId());
|
|
|
+
|
|
|
//保存操作记录
|
|
|
auditProecess.setAuditMsg(auditProecess.getAuditMsg());
|
|
|
auditProecess.setAuditItem(new Date());
|
|
|
@@ -1366,8 +1346,6 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
message.setParameter(String.valueOf(auditProecess.getBillId()));
|
|
|
message.setUserName(AuthUtil.getUserName());
|
|
|
message.setUserId(AuthUtil.getUserId());
|
|
|
- //消息通知下一级
|
|
|
- message.setToUserId(Long.valueOf(proecess.getAuditUserId()));
|
|
|
message.setMessageType(1);
|
|
|
message.setTenantId(AuthUtil.getTenantId());
|
|
|
|
|
|
@@ -1385,10 +1363,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
message.setUrl("/approveData/index");
|
|
|
message.setCreateTime(new Date());
|
|
|
|
|
|
- R save = messageClient.save(message);
|
|
|
- if (!save.isSuccess()) {
|
|
|
- throw new SecurityException("发送消息失败");
|
|
|
- }
|
|
|
+ // 消息批量通知下一级
|
|
|
+ sendMsgToGroup(message, proecess.getAuditUserId());
|
|
|
}
|
|
|
// 不通过
|
|
|
else if (operate == 2) {
|
|
|
@@ -1469,10 +1445,40 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
|
|
|
} else {
|
|
|
throw new SecurityException("审批异常,请联系管理员");
|
|
|
}
|
|
|
+
|
|
|
+ cleanMsg(proecessTemp.getAuditUserId(), AuthUtil.getUserId(), proecessTemp.getSrcBillId());
|
|
|
+
|
|
|
//保存操作记录
|
|
|
auditProecess.setAuditMsg(auditProecess.getAuditMsg());
|
|
|
auditProecess.setAuditItem(new Date());
|
|
|
baseMapper.updateById(auditProecess);
|
|
|
}
|
|
|
|
|
|
+ private void sendMsgToGroup(Message message, String group) {
|
|
|
+ List<String> userList = Arrays.asList(group.split(","));
|
|
|
+ userList.forEach(user -> {
|
|
|
+ message.setToUserId(Long.valueOf(user));
|
|
|
+ R save = messageClient.save(message);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ private void cleanMsg(String userId, Long toUserId, Long billId) {
|
|
|
+ List<Long> userIdList = Arrays.stream(userId.split(","))
|
|
|
+ .map(s -> Long.parseLong(s.trim()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ Message message = new Message();
|
|
|
+ message.setUserList(userIdList);
|
|
|
+ message.setToUserId(toUserId);
|
|
|
+ message.setParameter(String.valueOf(billId));
|
|
|
+
|
|
|
+ R save = messageClient.clean(message);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("清除消息失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|