|
|
@@ -22,7 +22,6 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import io.seata.spring.annotation.GlobalTransactional;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springblade.client.entity.Message;
|
|
|
import org.springblade.client.feign.IMessageClient;
|
|
|
@@ -48,6 +47,8 @@ import org.springblade.los.business.amends.entity.Amends;
|
|
|
import org.springblade.los.business.amends.mapper.AmendsMapper;
|
|
|
import org.springblade.los.business.customsDeclaration.entity.CustomsDeclaration;
|
|
|
import org.springblade.los.business.customsDeclaration.mapper.CustomsDeclarationMapper;
|
|
|
+import org.springblade.los.business.generalBill.entity.GeneralBill;
|
|
|
+import org.springblade.los.business.generalBill.mapper.GeneralBillMapper;
|
|
|
import org.springblade.los.business.sea.entity.Bills;
|
|
|
import org.springblade.los.business.sea.mapper.BillsMapper;
|
|
|
import org.springblade.los.check.dto.LosAuditProecessDTO;
|
|
|
@@ -141,6 +142,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
|
|
|
private final IBCurrencyService bCurrencyService;
|
|
|
|
|
|
+ private final GeneralBillMapper generalBillMapper;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public IPage<LosAuditProecessVO> selectAuditProecessPage(IPage<LosAuditProecessVO> page, LosAuditProecessVO auditProecess) {
|
|
|
@@ -219,7 +222,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
if (corpMessage != null) {
|
|
|
corpName = corpMessage.getCorpName();
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
corpName = auditProecessDTO.getCorpsName();
|
|
|
}
|
|
|
String billsDate = null;
|
|
|
@@ -235,12 +238,13 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
message.setMessageBody("您有新的单据审核,客户名:" + corpName + "," + "业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ " 提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
);
|
|
|
- }if ("海运进口审核".equals(auditProecessDTO.getProcessType())) {
|
|
|
+ }
|
|
|
+ if ("海运进口审核".equals(auditProecessDTO.getProcessType())) {
|
|
|
message.setMessageBody("您有新的单据审核,客户名:" + corpName + "," + "业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ " 提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
);
|
|
|
- }else if ("贸易代理单据审核".equals(auditProecess.getProcessType())) {
|
|
|
- message.setMessageBody("您有新的贸易代理审核,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ } else if ("贸易代理单据审核".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的贸易代理审核,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ "提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
);
|
|
|
} else if ("贸易代理货款付费申请".equals(auditProecess.getProcessType())) {
|
|
|
@@ -252,27 +256,43 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
+ "提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
);
|
|
|
} else if ("贸易代理货款付费确认".equals(auditProecess.getProcessType())) {
|
|
|
- message.setMessageBody("您有新的贸易代理货款付费待确认,业务单号:" + auditProecessDTO.getBillNo()+",请审核。"
|
|
|
+ message.setMessageBody("您有新的贸易代理货款付费待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ + "提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
+ );
|
|
|
+ } else if ("付费申请".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的付费申请待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ "提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
);
|
|
|
- }else if ("付费申请".equals(auditProecess.getProcessType())) {
|
|
|
- message.setMessageBody("您有新的付费申请待确认,业务单号:" + auditProecessDTO.getBillNo()+",请审核。"
|
|
|
+ } else if ("海运出口AMEND".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的海运出口AMEND待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ "提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
);
|
|
|
- }else if ("海运出口AMEND".equals(auditProecess.getProcessType())) {
|
|
|
- message.setMessageBody("您有新的海运出口AMEND待确认,业务单号:" + auditProecessDTO.getBillNo()+",请审核。"
|
|
|
+ } else if ("海运进口AMEND".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的海运进口AMEND待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ "提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
);
|
|
|
- }else if ("海运进口AMEND".equals(auditProecess.getProcessType())) {
|
|
|
- message.setMessageBody("您有新的海运进口AMEND待确认,业务单号:" + auditProecessDTO.getBillNo()+",请审核。"
|
|
|
+ } else if ("空运出口AMEND".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的空运出口AMEND待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ "提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
);
|
|
|
- }else if ("空运出口AMEND".equals(auditProecess.getProcessType())) {
|
|
|
- message.setMessageBody("您有新的空运出口AMEND待确认,业务单号:" + auditProecessDTO.getBillNo()+",请审核。"
|
|
|
+ } else if ("空运进口AMEND".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的空运进口AMEND待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ "提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
);
|
|
|
- }else if ("空运进口AMEND".equals(auditProecess.getProcessType())) {
|
|
|
- message.setMessageBody("您有新的空运进口AMEND待确认,业务单号:" + auditProecessDTO.getBillNo()+",请审核。"
|
|
|
+ } else if ("海运舱单审核".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的海运舱单审核待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ + "提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
+ );
|
|
|
+ } else if ("空运舱单审核".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的空运舱单审核待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ + "提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
+ );
|
|
|
+ } else if ("快递业务审核".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的快递业务审核待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ + "提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
+ );
|
|
|
+ } else if ("海运派车审核".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的海运派车审核待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
|
|
|
+ "提交人:" + auditProecessDTO.getSendName() + " " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
|
|
|
);
|
|
|
}
|
|
|
@@ -394,7 +414,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
throw new SecurityException("审批通过失败");
|
|
|
}
|
|
|
detail.setStatus(2);
|
|
|
- int version = StringUtil.isBlank(detail.getVersion()) ? 1 :Integer.parseInt(detail.getVersion());
|
|
|
+ int version = StringUtil.isBlank(detail.getVersion()) ? 1 : Integer.parseInt(detail.getVersion());
|
|
|
detail.setVersion(String.valueOf(version + 1));
|
|
|
int count = billsMapper.updateById(detail);
|
|
|
if (count == 0) {
|
|
|
@@ -479,7 +499,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
if (detail == null) {
|
|
|
throw new SecurityException("审批通过失败");
|
|
|
}
|
|
|
- int version = StringUtil.isBlank(detail.getVersion()) ? 1 :Integer.parseInt(detail.getVersion());
|
|
|
+ int version = StringUtil.isBlank(detail.getVersion()) ? 1 : Integer.parseInt(detail.getVersion());
|
|
|
detail.setVersion(String.valueOf(version + 1));
|
|
|
detail.setStatus(4);
|
|
|
int count = billsMapper.updateById(detail);
|
|
|
@@ -519,7 +539,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
if (bills == null) {
|
|
|
throw new SecurityException("审批通过失败");
|
|
|
}
|
|
|
- int version = StringUtil.isBlank(detail.getVersion()) ? 1 :Integer.parseInt(detail.getVersion());
|
|
|
+ int version = StringUtil.isBlank(detail.getVersion()) ? 1 : Integer.parseInt(detail.getVersion());
|
|
|
detail.setVersion(String.valueOf(version + 1));
|
|
|
detail.setStatus(3);
|
|
|
detail.setBillStatus(3);
|
|
|
@@ -3379,7 +3399,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
}
|
|
|
if ("FFSQ-SK".equals(auditProecess.getPaidApplication())) {
|
|
|
detail.setFirstStatus("录入");
|
|
|
- } else {
|
|
|
+ } else {
|
|
|
detail.setBusinessStatus("录入");
|
|
|
}
|
|
|
int count = agentMapper.updateById(detail);
|
|
|
@@ -3390,7 +3410,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
sendMessage.setMessageBody("您的贸易代理审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
} else if ("贸易代理货款付费申请".equals(auditProecess.getProcessType())) {
|
|
|
sendMessage.setMessageBody("您的贸易代理货款付费申请未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
- } else if ("贸易代理货款收费确认".equals(auditProecess.getProcessType())) {
|
|
|
+ } else if ("贸易代理货款收费确认".equals(auditProecess.getProcessType())) {
|
|
|
sendMessage.setMessageBody("您的贸易代理货款收费确认未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
} else if ("贸易代理货款付费确认".equals(auditProecess.getProcessType())) {
|
|
|
sendMessage.setMessageBody("您的贸易代理货款付费确认未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
@@ -3444,7 +3464,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
}
|
|
|
if ("FFSQ-SK".equals(auditProecess.getPaidApplication())) {
|
|
|
detail.setFirstStatus("录入");
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
detail.setBusinessStatus("录入");
|
|
|
}
|
|
|
int count = agentMapper.updateById(detail);
|
|
|
@@ -3484,6 +3504,271 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public void generalBillCheck(LosAuditProecess auditProecess) {
|
|
|
+ //查看最新操作记录,防止重复提交
|
|
|
+ LosAuditProecess proecessTemp = baseMapper.selectById(auditProecess.getId());
|
|
|
+ if (proecessTemp == null) {
|
|
|
+ throw new SecurityException("未查到此审批记录,禁止操作");
|
|
|
+ }
|
|
|
+ if ("A".equals(proecessTemp.getAuditStatus()) || "B".equals(proecessTemp.getAuditStatus())) {
|
|
|
+ throw new SecurityException("当前记录已经完成审批,禁止重复操作");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (auditProecess.getAuditStatus() == null || !"S".equals(auditProecess.getAuditStatus())) {
|
|
|
+ throw new SecurityException("审批状态非待审,禁止操作");
|
|
|
+ }
|
|
|
+ //信息
|
|
|
+ Message sendMessage = new Message();
|
|
|
+ sendMessage.setParameter(String.valueOf(auditProecess.getBillId()));
|
|
|
+ sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
+ sendMessage.setUserId(AuthUtil.getUserId());
|
|
|
+ sendMessage.setToUserId(auditProecess.getSendUserId());
|
|
|
+ sendMessage.setToUserName(auditProecess.getSendName());
|
|
|
+ sendMessage.setMessageType(1);
|
|
|
+ sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
+ sendMessage.setCreateUser(AuthUtil.getUserId());
|
|
|
+ sendMessage.setCreateTime(new Date());
|
|
|
+ sendMessage.setUrl(auditProecess.getUrl());
|
|
|
+ sendMessage.setPageLabel(auditProecess.getPageLabel());
|
|
|
+ sendMessage.setPageStatus(auditProecess.getPageStatus());
|
|
|
+
|
|
|
+ //用户操作 1.通过 2.驳回
|
|
|
+ Integer operate = auditProecess.getOperate();
|
|
|
+ //查看当前审批是否为最后一级
|
|
|
+ String iffinalItem = auditProecess.getIffinalItem();
|
|
|
+ //审批人
|
|
|
+ auditProecess.setAuditUserId(String.valueOf(AuthUtil.getUserId()));
|
|
|
+ //审批时间
|
|
|
+ auditProecess.setAuditOpTime(new Date());
|
|
|
+
|
|
|
+ GeneralBill bills = generalBillMapper.selectById(proecessTemp.getBillId());
|
|
|
+ if (bills == null) {
|
|
|
+ throw new SecurityException("审批失败");
|
|
|
+ }
|
|
|
+ //不是最后一级
|
|
|
+ if ("F".equals(iffinalItem)) {
|
|
|
+ //通过
|
|
|
+ if (operate == 1) {
|
|
|
+ //如果是第一级, 则修改状态为审批中
|
|
|
+ if (auditProecess.getLevelId() == 1) {
|
|
|
+ bills.setStatus(2);
|
|
|
+ int version = StringUtil.isBlank(bills.getVersion()) ? 1 : Integer.parseInt(bills.getVersion());
|
|
|
+ bills.setVersion(String.valueOf(version + 1));
|
|
|
+ int count = generalBillMapper.updateById(bills);
|
|
|
+ if (count == 0) {
|
|
|
+ throw new SecurityException("审批开始修改审核状态失败");
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0)
|
|
|
+ .eq(FeeCenter::getPid, bills.getId()));
|
|
|
+ for (FeeCenter item : feeCenterList) {
|
|
|
+ item.setApproverId(AuthUtil.getUserId());
|
|
|
+ item.setApproverName(AuthUtil.getUserName());
|
|
|
+ item.setApproveTime(new Date());
|
|
|
+ }
|
|
|
+ feeCenterService.saveOrUpdateBatch(feeCenterList);
|
|
|
+ }
|
|
|
+
|
|
|
+ auditProecess.setAuditStatus("A");
|
|
|
+ //查询下一级,开启待审
|
|
|
+ LambdaQueryWrapper<LosAuditProecess> auditProecessLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ auditProecessLambdaQueryWrapper
|
|
|
+ .eq(LosAuditProecess::getBatchNo, auditProecess.getBatchNo())
|
|
|
+ .eq(LosAuditProecess::getSrcBillId, auditProecess.getSrcBillId())
|
|
|
+ .eq(LosAuditProecess::getIsDelete, 0)
|
|
|
+ .eq(LosAuditProecess::getActId, auditProecess.getActId())
|
|
|
+ .eq(LosAuditProecess::getBillId, auditProecess.getBillId())
|
|
|
+ .eq(LosAuditProecess::getBillNo, auditProecess.getBillNo())
|
|
|
+ .eq(LosAuditProecess::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(LosAuditProecess::getLevelId, auditProecess.getLevelId() + 1);
|
|
|
+ Integer count = baseMapper.selectCount(auditProecessLambdaQueryWrapper);
|
|
|
+ if (count != null && count > 1) {
|
|
|
+ throw new SecurityException("审核失败,获取下一级信息失败");
|
|
|
+ }
|
|
|
+ LosAuditProecess proecess = baseMapper.selectOne(auditProecessLambdaQueryWrapper);
|
|
|
+ if (proecess == null) {
|
|
|
+ throw new SecurityException("审批通过=>获取下一级信息失败");
|
|
|
+ }
|
|
|
+ proecess.setAuditStatus("S");
|
|
|
+ baseMapper.updateById(proecess);
|
|
|
+
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
|
|
|
+
|
|
|
+ //获得订单创建日期
|
|
|
+ String billsDate = null;
|
|
|
+ if (proecessTemp.getBillId() != null) {
|
|
|
+ billsDate = simpleDateFormat.format(bills.getCreateTime());
|
|
|
+ }
|
|
|
+
|
|
|
+ Message message = new Message();
|
|
|
+ message.setUserName(AuthUtil.getUserName());
|
|
|
+ message.setUserId(AuthUtil.getUserId());
|
|
|
+ message.setParameter(String.valueOf(auditProecess.getBillId()));
|
|
|
+ message.setMessageType(1);
|
|
|
+ message.setTenantId(AuthUtil.getTenantId());
|
|
|
+ message.setUrl(auditProecess.getUrl());
|
|
|
+ message.setPageLabel(auditProecess.getPageLabel());
|
|
|
+ message.setPageStatus(auditProecess.getPageStatus());
|
|
|
+ if ("海运舱单审核".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的海运舱单审核,业务单号:" + proecessTemp.getBillNo() + ","
|
|
|
+ + "单据日期:" + billsDate + ",请审核。"
|
|
|
+ + "提交人:" + proecessTemp.getSendName() + " " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
|
|
|
+ );
|
|
|
+ } else if ("空运舱单审核".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的空运舱单审核,业务单号:" + proecessTemp.getBillNo() + ","
|
|
|
+ + "单据日期:" + billsDate + ",请审核。"
|
|
|
+ + "提交人:" + proecessTemp.getSendName() + " " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
|
|
|
+ );
|
|
|
+ } else if ("快递业务审核".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的快递业务审核,业务单号:" + proecessTemp.getBillNo() + ","
|
|
|
+ + "单据日期:" + billsDate + ",请审核。"
|
|
|
+ + "提交人:" + proecessTemp.getSendName() + " " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
|
|
|
+ );
|
|
|
+ } else if ("海运派车审核".equals(auditProecess.getProcessType())) {
|
|
|
+ message.setMessageBody("您有新的海运派车审核,业务单号:" + proecessTemp.getBillNo() + ","
|
|
|
+ + "单据日期:" + billsDate + ",请审核。"
|
|
|
+ + "提交人:" + proecessTemp.getSendName() + " " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
|
|
|
+ );
|
|
|
+ }
|
|
|
+ message.setCreateUser(AuthUtil.getUserId());
|
|
|
+ message.setCreateTime(new Date());
|
|
|
+
|
|
|
+ // 消息批量通知下一级
|
|
|
+ sendMsgToGroup(message, proecess.getAuditUserId());
|
|
|
+ }
|
|
|
+ //不通过
|
|
|
+ else if (operate == 2) {
|
|
|
+ auditProecess.setAuditStatus("B");
|
|
|
+ int version = StringUtil.isBlank(bills.getVersion()) ? 1 : Integer.parseInt(bills.getVersion());
|
|
|
+ bills.setVersion(String.valueOf(version + 1));
|
|
|
+ bills.setStatus(4);
|
|
|
+ int count = generalBillMapper.updateById(bills);
|
|
|
+ if (count == 0) {
|
|
|
+ throw new SecurityException("修改订单数据失败");
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0)
|
|
|
+ .eq(FeeCenter::getPid, bills.getId()));
|
|
|
+ for (FeeCenter item : feeCenterList) {
|
|
|
+ item.setApproverId(AuthUtil.getUserId());
|
|
|
+ item.setApproverName(AuthUtil.getUserName());
|
|
|
+ item.setApproveTime(new Date());
|
|
|
+ }
|
|
|
+ feeCenterService.saveOrUpdateBatch(feeCenterList);
|
|
|
+ if ("海运舱单审核".equals(auditProecess.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的海运舱单审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ } else if ("空运舱单审核".equals(auditProecess.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的空运舱单审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ } else if ("快递业务审核".equals(auditProecess.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的快递业务审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ } else if ("海运派车审核".equals(auditProecess.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的海运派车审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ }
|
|
|
+
|
|
|
+ R save = messageClient.save(sendMessage);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ //是最后一级
|
|
|
+ else if ("T".equals(iffinalItem)) {
|
|
|
+ //通过
|
|
|
+ if (operate == 1) {
|
|
|
+ auditProecess.setAuditStatus("A");
|
|
|
+ int version = StringUtil.isBlank(bills.getVersion()) ? 1 : Integer.parseInt(bills.getVersion());
|
|
|
+ bills.setVersion(String.valueOf(version + 1));
|
|
|
+ bills.setStatus(3);
|
|
|
+ int count = generalBillMapper.updateById(bills);
|
|
|
+ if (count == 0) {
|
|
|
+ throw new SecurityException("修改订单数据失败");
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterList = new ArrayList<>();
|
|
|
+ feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0)
|
|
|
+ .eq(FeeCenter::getPid, bills.getId()));
|
|
|
+ for (FeeCenter item : feeCenterList) {
|
|
|
+ item.setApproverId(AuthUtil.getUserId());
|
|
|
+ item.setApproverName(AuthUtil.getUserName());
|
|
|
+ item.setApproveTime(new Date());
|
|
|
+ item.setAuditStatus("1");
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenters = feeCenterList.stream().filter(e -> 0 == e.getAccStatus()).collect(Collectors.toList());
|
|
|
+ if (!feeCenters.isEmpty()) {
|
|
|
+ FinAccBills finAccBills = new FinAccBills();
|
|
|
+ finAccBills.setFeeCenterList(feeCenters);
|
|
|
+ finAccBills.setBusinessTypeCode("HYZD");
|
|
|
+ finAccBills.setBillNoFormat("HYZD");
|
|
|
+ finAccBills.setAccountType("");
|
|
|
+ finAccBills.setRefno(bills.getRefno());
|
|
|
+ finAccBillsService.generateBill(finAccBills);
|
|
|
+ }
|
|
|
+ feeCenterService.saveOrUpdateBatch(feeCenterList);
|
|
|
+ if ("海运舱单审核".equals(auditProecess.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的海运舱单审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ } else if ("空运舱单审核".equals(auditProecess.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的空运舱单审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ } else if ("快递业务审核".equals(auditProecess.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的快递业务审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ } else if ("海运派车审核".equals(auditProecess.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的海运派车审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ }
|
|
|
+ R save = messageClient.save(sendMessage);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //不通过
|
|
|
+ else if (operate == 2) {
|
|
|
+ //todo 调用feign取消
|
|
|
+ auditProecess.setAuditStatus("B");
|
|
|
+ bills.setStatus(4);
|
|
|
+ int count = generalBillMapper.updateById(bills);
|
|
|
+ if (count == 0) {
|
|
|
+ throw new SecurityException("修改订单数据失败");
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0)
|
|
|
+ .eq(FeeCenter::getPid, bills.getId()));
|
|
|
+ for (FeeCenter item : feeCenterList) {
|
|
|
+ item.setApproverId(AuthUtil.getUserId());
|
|
|
+ item.setApproverName(AuthUtil.getUserName());
|
|
|
+ item.setApproveTime(new Date());
|
|
|
+ }
|
|
|
+ feeCenterService.saveOrUpdateBatch(feeCenterList);
|
|
|
+ if ("海运舱单审核".equals(auditProecess.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的海运舱单审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ } else if ("空运舱单审核".equals(auditProecess.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的空运舱单审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ } else if ("快递业务审核".equals(auditProecess.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的快递业务审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ } else if ("海运派车审核".equals(auditProecess.getProcessType())) {
|
|
|
+ sendMessage.setMessageBody("您的海运派车审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
|
|
|
+ }
|
|
|
+
|
|
|
+ R save = messageClient.save(sendMessage);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new SecurityException("审批异常,请联系管理员");
|
|
|
+ }
|
|
|
+
|
|
|
+ cleanMsg(proecessTemp.getAuditUserId(), AuthUtil.getUserId(), proecessTemp.getSrcBillId());
|
|
|
+
|
|
|
+ //保存操作记录
|
|
|
+ auditProecess.setAuditMsg(auditProecess.getAuditMsg());
|
|
|
+ auditProecess.setAuditItem(new Date());
|
|
|
+ baseMapper.updateById(auditProecess);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public R deteleByBillId(Long billId) {
|
|
|
baseMapper.deteleByBillId(billId);
|
|
|
return R.data("操作成功");
|