|
|
@@ -2,6 +2,8 @@ package com.ydtech.modules.fnc.service.impl;
|
|
|
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.ydtech.constants.enums.dict.FeeAuditAuditstatus;
|
|
|
import com.ydtech.constants.enums.dict.ins.InsFeeAuditDistributionStatusEnum;
|
|
|
import com.ydtech.exception.SystemException;
|
|
|
import com.ydtech.modules.admin.model.SysDept;
|
|
|
@@ -18,7 +20,9 @@ import com.ydtech.modules.fnc.dao.FncInsAreaCompanyMapper;
|
|
|
import com.ydtech.modules.fnc.dao.InsPlyIncomeMapper;
|
|
|
import com.ydtech.modules.fnc.entity.InsFeeAudit;
|
|
|
import com.ydtech.modules.fnc.dao.InsFeeAuditMapper;
|
|
|
+import com.ydtech.modules.fnc.entity.InsFeeAuditHistory;
|
|
|
import com.ydtech.modules.fnc.entity.InsPlyIncome;
|
|
|
+import com.ydtech.modules.fnc.service.InsFeeAuditHistoryService;
|
|
|
import com.ydtech.modules.fnc.service.InsFeeAuditService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.ydtech.modules.fnc.service.InsPlyIncomeService;
|
|
|
@@ -41,6 +45,7 @@ import com.ydtech.utils.DateUtil;
|
|
|
import com.ydtech.utils.StringUtils;
|
|
|
import com.ydtech.utils.idgen.IdGenerate;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -91,11 +96,13 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
|
|
|
@Autowired
|
|
|
private InsPlyIncomeService insPlyIncomeService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private InsFeeAuditHistoryService insFeeAuditHistoryService;
|
|
|
@Autowired
|
|
|
private PtlAgreementService ptlAgreementService;
|
|
|
|
|
|
|
|
|
- public InsFeeAuditServiceImpl(FncInsAreaCompanyMapper insAreaCompanyMapper, InsOrdersMapper insOrdersMapper, InsDeptFeeService insDeptFeeService,EsmUserReferrerService esmUserReferrerService,SysUserService sysUserService,InsCommissionService insCommissionService,InsCompanyFeeService insCompanyFeeService,InsPlyIncomeMapper insPlyIncomeMapper) {
|
|
|
+ public InsFeeAuditServiceImpl(FncInsAreaCompanyMapper insAreaCompanyMapper, InsOrdersMapper insOrdersMapper, InsDeptFeeService insDeptFeeService, EsmUserReferrerService esmUserReferrerService, SysUserService sysUserService, InsCommissionService insCommissionService, InsCompanyFeeService insCompanyFeeService, InsPlyIncomeMapper insPlyIncomeMapper) {
|
|
|
this.insAreaCompanyMapper = insAreaCompanyMapper;
|
|
|
this.insOrdersMapper = insOrdersMapper;
|
|
|
this.insDeptFeeService=insDeptFeeService;
|
|
|
@@ -107,21 +114,9 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
|
|
|
}
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public void feeAudit(String orderNo, String insOrderNo,boolean isAutoAudit){
|
|
|
- //添加审核表
|
|
|
- InsFeeAudit insFeeAudit=new InsFeeAudit();
|
|
|
- if(isAutoAudit){
|
|
|
- insFeeAudit.setAudituser("自动审核");
|
|
|
- }else{
|
|
|
- insFeeAudit.setAudituser(StpUtil.getLoginId().toString());
|
|
|
- }
|
|
|
- //保存审核表
|
|
|
- insFeeAudit.setOrderno(orderNo);
|
|
|
- insFeeAudit.setInsOrderNo(insOrderNo);
|
|
|
- insFeeAudit.setAuditstatus("1");
|
|
|
- insFeeAudit.setAudittime(LocalDateTime.now());
|
|
|
- this.save(insFeeAudit);
|
|
|
-
|
|
|
+ public void feeAudit(String orderNo, String insOrderNo, boolean isAutoAudit) {
|
|
|
+ //添加费用审核表及轨迹信息
|
|
|
+ InsFeeAudit insFeeAudit = saveInsFeeAuditAndHistory(orderNo, insOrderNo,isAutoAudit, FeeAuditAuditstatus.PASSED.getCode());
|
|
|
|
|
|
InsOrders order=insOrdersMapper.selectById(orderNo);
|
|
|
InsAreaCompany insAreaCompany=insAreaCompanyMapper.selectById(insFeeAudit.getInsOrderNo());
|
|
|
@@ -682,4 +677,56 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存保险费用审核信息及审核历史。
|
|
|
+ *
|
|
|
+ * @param orderNo 订单号
|
|
|
+ * @param insOrderNo 保险订单号
|
|
|
+ * @param isAutoAudit 是否自动审核,true表示自动审核,false表示人工审核
|
|
|
+ * @param auditstatus 审核状态码
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public InsFeeAudit saveInsFeeAuditAndHistory(String orderNo, String insOrderNo, boolean isAutoAudit, String auditstatus) {
|
|
|
+ //查询费用审核表
|
|
|
+ InsFeeAudit insFeeAudit = getOne(new LambdaQueryWrapper<InsFeeAudit>().eq(InsFeeAudit::getOrderno, orderNo));
|
|
|
+
|
|
|
+ //添加审核轨迹表
|
|
|
+ InsFeeAuditHistory insFeeAuditHistory = new InsFeeAuditHistory();
|
|
|
+ if (insFeeAudit == null) {
|
|
|
+ insFeeAudit = new InsFeeAudit();
|
|
|
+ // 填充审核人
|
|
|
+ if (isAutoAudit) {
|
|
|
+ insFeeAudit.setAudituser("自动审核");
|
|
|
+ } else {
|
|
|
+ insFeeAudit.setAudituser(StpUtil.getLoginId().toString());
|
|
|
+ }
|
|
|
+ // 设置订单号和保险订单号
|
|
|
+ insFeeAudit.setOrderno(orderNo);
|
|
|
+ insFeeAudit.setInsOrderNo(insOrderNo);
|
|
|
+ insFeeAudit.setAudittime(LocalDateTime.now());
|
|
|
+ insFeeAudit.setAuditstatus(auditstatus);
|
|
|
+ this.save(insFeeAudit);
|
|
|
+ } else {
|
|
|
+ //状态码为已审核且数据不为空,则更新审核状态
|
|
|
+ insFeeAudit.setAuditstatus(auditstatus);
|
|
|
+ this.update(insFeeAudit, new LambdaUpdateWrapper<InsFeeAudit>().eq(InsFeeAudit::getOrderno, orderNo));
|
|
|
+ }
|
|
|
+ //复制审核对象的属性
|
|
|
+ BeanUtils.copyProperties(insFeeAudit, insFeeAuditHistory);
|
|
|
+
|
|
|
+ InsAreaCompany insAreaCompany = insAreaCompanyMapper.selectById(insFeeAudit.getInsOrderNo());
|
|
|
+
|
|
|
+ // 设置操作时间和操作人及保险公司名称
|
|
|
+ insFeeAuditHistory.setInsCompany(insAreaCompany.getInscompany());
|
|
|
+ insFeeAuditHistory.setOperatorTime(LocalDateTime.now());
|
|
|
+ insFeeAuditHistory.setOperator(BaseController.getUser().getName());
|
|
|
+
|
|
|
+ // 保存审核轨迹
|
|
|
+ insFeeAuditHistoryService.save(insFeeAuditHistory);
|
|
|
+
|
|
|
+ return insFeeAudit;
|
|
|
+ }
|
|
|
}
|