Просмотр исходного кода

Merge branch 'test' of http://www.baoxianzhanggui.com:8090/sxzgd/java-insagent-pc into test

hxl13994548489 2 лет назад
Родитель
Сommit
e5de438b59

+ 108 - 100
src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java

@@ -3,28 +3,26 @@ 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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;
 import com.ydtech.modules.admin.model.SysDeptAccount;
-import com.ydtech.modules.admin.model.SysDeptAccountHistory;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.model.po.SysUserAccount;
 import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
 import com.ydtech.modules.admin.service.*;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.esm.service.EsmUserReferrerService;
-import com.ydtech.modules.fee.service.FeeRuleSchemeNewService;
 import com.ydtech.modules.fnc.dao.FncInsAreaCompanyMapper;
+import com.ydtech.modules.fnc.dao.InsFeeAuditMapper;
 import com.ydtech.modules.fnc.dao.InsPlyIncomeMapper;
+import com.ydtech.modules.fnc.entity.InsAreaCompany;
 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;
 import com.ydtech.modules.ins.model.InsCommission;
 import com.ydtech.modules.ins.model.InsCompanyFee;
@@ -33,11 +31,8 @@ import com.ydtech.modules.ins.service.InsCommissionService;
 import com.ydtech.modules.ins.service.InsCompanyFeeService;
 import com.ydtech.modules.ins.service.InsDeptFeeService;
 import com.ydtech.modules.order.dao.InsOrdersMapper;
-import com.ydtech.modules.fnc.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsFeeOrder;
 import com.ydtech.modules.order.entity.InsOrders;
-import com.ydtech.modules.order.service.InsFeeOrderService;
-import com.ydtech.modules.protocol.entity.po.PtlAgreement;
 import com.ydtech.modules.protocol.service.PtlAgreementService;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
 import com.ydtech.modules.protocols.entity.po.InsFeeOrderNewDistribution;
@@ -62,7 +57,7 @@ import java.util.List;
 
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author gws
@@ -108,56 +103,59 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
     private InsFeeOrderNewDistributionService insFeeOrderNewDistributionService;
 
 
-
-    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;
-        this.esmUserReferrerService=esmUserReferrerService;
-        this.sysUserService=sysUserService;
-        this.insCommissionService=insCommissionService;
-        this.insCompanyFeeService=insCompanyFeeService;
-        this.insPlyIncomeMapper=insPlyIncomeMapper;
+        this.insDeptFeeService = insDeptFeeService;
+        this.esmUserReferrerService = esmUserReferrerService;
+        this.sysUserService = sysUserService;
+        this.insCommissionService = insCommissionService;
+        this.insCompanyFeeService = insCompanyFeeService;
+        this.insPlyIncomeMapper = insPlyIncomeMapper;
     }
+
     @Override
     @Transactional
     public void feeAudit(String orderNo, String insOrderNo, boolean isAutoAudit) {
         //添加费用审核表及轨迹信息
-        InsFeeAudit insFeeAudit = saveInsFeeAuditAndHistory(orderNo, insOrderNo,isAutoAudit, FeeAuditAuditstatus.PASSED.getCode());
+        InsFeeAudit insFeeAudit = saveInsFeeAuditAndHistory(orderNo, insOrderNo, isAutoAudit, FeeAuditAuditstatus.PASSED.getCode());
 
-        InsOrders order=insOrdersMapper.selectById(orderNo);
-        InsAreaCompany insAreaCompany=insAreaCompanyMapper.selectById(insFeeAudit.getInsOrderNo());
+        InsOrders order = insOrdersMapper.selectById(orderNo);
+        InsAreaCompany insAreaCompany = insAreaCompanyMapper.selectById(insFeeAudit.getInsOrderNo());
 
         //获取该订单的费用
         InsFeeOrderNew insFeeOrderNew = insFeeOrderNewService.getOne(new LambdaQueryWrapper<InsFeeOrderNew>()
                 .eq(InsFeeOrderNew::getInsOrderNo, insFeeAudit.getInsOrderNo()));
 
         //生成机构费用
-        gene_deptfee( order, insFeeOrderNew,insAreaCompany);
+        gene_deptfee(order, insFeeOrderNew, insAreaCompany);
         //结算费用生成
-        insPlyIncomeService.saveBalanceNew(order,insFeeOrderNew,insAreaCompany);
+        insPlyIncomeService.saveBalanceNew(order, insFeeOrderNew, insAreaCompany);
 
         //生成  用户账户表  数据
-        if(StringUtils.isNotEmpty(order.getUserid())){
-        //用戶賬戶表
+        if (StringUtils.isNotEmpty(order.getUserid())) {
+            //用戶賬戶表
             SysUserAccount sysUserAccount = new SysUserAccount();
             //add  by  hxl  2024-05-07  begin   ==========
             //判断当前用户是否是出单员,如果是直接给团队长结算   角色id为19为出单员
-            String userId="";
+            String userId = "";
             SysUserBaseVO sysUserBaseVO = sysUserService.selectUserById(order.getUserid());
-            if("19".equals(sysUserBaseVO.getRoleId())){
-               //查找该机构的团队长
+            if ("19".equals(sysUserBaseVO.getRoleId())) {
+                //查找该机构的团队长
                 userId = sysUserService.findTDZUserIdByDeptId(sysUserBaseVO.getDeptId());
-                if(userId==null || "".equals(userId)){
-                    throw new SystemException("出单员"+sysUserBaseVO.getName()+"所在机构缺少团队长,请设置!!!");
+                if (userId == null || "".equals(userId)) {
+                    throw new SystemException("出单员" + sysUserBaseVO.getName() + "所在机构缺少团队长,请设置!!!");
                 }
 
-            }else{
+            } else {
                 userId = order.getUserid();
             }
             sysUserAccount.setUserId(userId);
             // add by  hxl   2024-05-07  end ==================
-            if (ObjectUtils.isNotEmpty(insFeeOrderNew) ) {
+            if (ObjectUtils.isNotEmpty(insFeeOrderNew)) {
 
                 //用户出口手续费
                 BigDecimal totalPremiumAmount = new BigDecimal(0);
@@ -166,14 +164,15 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
 
                 //用户出口跟单费
                 BigDecimal totalOtherPremiumAmount = new BigDecimal(0);
-                totalOtherPremiumAmount = totalOtherPremiumAmount.add(insFeeOrderNew.getJqExportOtherCostsPremiums()).add(insFeeOrderNew.getSyExportOtherCostsPremiums()).add(insFeeOrderNew.getNoExportOtherCostsPremiums());
+                totalOtherPremiumAmount =
+                        totalOtherPremiumAmount.add(insFeeOrderNew.getJqExportOtherCostsPremiums()).add(insFeeOrderNew.getSyExportOtherCostsPremiums()).add(insFeeOrderNew.getNoExportOtherCostsPremiums());
 
 
                 //用戶
                 sysUserAccount.setHandlingFee(totalPremiumAmount);
                 sysUserAccount.setDocumentary(totalOtherPremiumAmount);
                 //算佣金
-                this.countUserAmount(insFeeOrderNew,orderNo);
+                this.countUserAmount(insFeeOrderNew, orderNo);
                 sysUserAccount.setDocumentaryStatus("2");  // 收入
                 sysUserAccount.setSuborderId(orderNo);  // 订单Id
                 sysUserAccountService.addOrUpdate(sysUserAccount);
@@ -250,14 +249,18 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                     }
                     // 记录历史信息
                     // 拼接备注
-                    String remark = this.getDeptFeeHistoryLog(i,jqDeptPremiumsLevels,syDeptPremiumsLevels,noDeptPremiumsLevels,distributionFee);
-                    sysDeptAccountHistoryService.addHistory(levelDeptId, sumManagementFee, levelSysDeptAccount.getManagementFee(), "2", insOrderNo, BaseController.getUser().getId(), remark);
+                    String remark = this.getDeptFeeHistoryLog(i, jqDeptPremiumsLevels, syDeptPremiumsLevels, noDeptPremiumsLevels,
+                            distributionFee);
+                    sysDeptAccountHistoryService.addHistory(levelDeptId, sumManagementFee, levelSysDeptAccount.getManagementFee(), "2",
+                            insOrderNo, BaseController.getUser().getId(), remark);
                 }
             }
         }
     }
 
-    private void createInsFeeOrderNewDistribution(InsFeeOrderNew insFeeOrderNew, InsAreaCompany insAreaCompany, InsOrders insOrders, String userId, BigDecimal commissionRate, BigDecimal commissionAmount, String commissionLevel) {
+    private void createInsFeeOrderNewDistribution(InsFeeOrderNew insFeeOrderNew, InsAreaCompany insAreaCompany, InsOrders insOrders,
+                                                  String userId, BigDecimal commissionRate, BigDecimal commissionAmount,
+                                                  String commissionLevel) {
         InsFeeOrderNewDistribution insFeeOrderNewDistribution = new InsFeeOrderNewDistribution();
         insFeeOrderNewDistribution.setId(IdGenerate.nextId());
         insFeeOrderNewDistribution.setOrderNo(insFeeOrderNew.getInsOrderNo());
@@ -276,8 +279,8 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         insFeeOrderNewDistributionService.save(insFeeOrderNewDistribution);
     }
 
-    private String getDeptFeeHistoryLog(Integer index,BigDecimal[] jqDeptPremiumsLevels,BigDecimal[] syDeptPremiumsLevels,
-                                        BigDecimal[] noDeptPremiumsLevels,BigDecimal distributionFee){
+    private String getDeptFeeHistoryLog(Integer index, BigDecimal[] jqDeptPremiumsLevels, BigDecimal[] syDeptPremiumsLevels,
+                                        BigDecimal[] noDeptPremiumsLevels, BigDecimal distributionFee) {
         StringBuilder remarkBuilder = new StringBuilder();
         if (jqDeptPremiumsLevels[index - 1].compareTo(BigDecimal.ZERO) != 0) {
             remarkBuilder.append("交强").append(index).append("级机构管理费:");
@@ -394,26 +397,27 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
 
     /**
      * 生成保司费用(应收费用)
+     *
      * @param order
      * @param insFeeOrder
      * @throws Exception
      */
-    private void gene_orderIncome( InsOrders order, InsFeeOrderNew insFeeOrder,InsAreaCompany plyDto) throws Exception{
+    private void gene_orderIncome(InsOrders order, InsFeeOrderNew insFeeOrder, InsAreaCompany plyDto) throws Exception {
 
-        InsPlyIncome insPlyIncome =new InsPlyIncome();
+        InsPlyIncome insPlyIncome = new InsPlyIncome();
         insPlyIncome.setOrderno(order.getOrderno());
         insPlyIncome.setDeptId(order.getDeptid());
         insPlyIncome.setCompanyId(plyDto.getCompanyId());
         insPlyIncome.setAgreementId(String.valueOf(plyDto.getAgreementId()));
         insPlyIncome.setLicenseno(order.getLicenseno());
-        insPlyIncome.setPayDate(StringUtils.isNullOrEmpty(plyDto.getPayDate())?plyDto.getCreatetime():plyDto.getPayDate());
-        insPlyIncome.setSignDate(StringUtils.isNullOrEmpty(plyDto.getInsidePayTime())?plyDto.getPayDate():plyDto.getInsidePayTime());
-        insPlyIncome.setCreateTime(LocalDate.now() );
-        if(StringUtils.isNotEmpty(plyDto.getJqpolicyno())){
+        insPlyIncome.setPayDate(StringUtils.isNullOrEmpty(plyDto.getPayDate()) ? plyDto.getCreatetime() : plyDto.getPayDate());
+        insPlyIncome.setSignDate(StringUtils.isNullOrEmpty(plyDto.getInsidePayTime()) ? plyDto.getPayDate() : plyDto.getInsidePayTime());
+        insPlyIncome.setCreateTime(LocalDate.now());
+        if (StringUtils.isNotEmpty(plyDto.getJqpolicyno())) {
             insPlyIncome.setPolicyno(plyDto.getJqpolicyno());
             insPlyIncome.setRiskcode("交强");
             insPlyIncome.setTaxamount(plyDto.getTaxamount());
-            if(!ObjectUtils.isEmpty(insFeeOrder)){
+            if (!ObjectUtils.isEmpty(insFeeOrder)) {
                 insPlyIncome.setNoTaxPremium(insFeeOrder.getJqNoTaxPremium());
                 insPlyIncome.setCommissionFeerate(insFeeOrder.getJqSuperviseCostsProportion());
                 insPlyIncome.setOtherFeerate(insFeeOrder.getJqCostsProportion().subtract(insFeeOrder.getJqSuperviseCostsProportion()));
@@ -423,11 +427,11 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
             }
             insPlyIncomeMapper.insert(insPlyIncome);
         }
-        if(StringUtils.isNotEmpty(plyDto.getSypolicyno())){
+        if (StringUtils.isNotEmpty(plyDto.getSypolicyno())) {
             insPlyIncome.setPolicyno(plyDto.getSypolicyno());
             insPlyIncome.setRiskcode("商业");
             insPlyIncome.setTaxamount(new BigDecimal(0));
-            if(!ObjectUtils.isEmpty(insFeeOrder)){
+            if (!ObjectUtils.isEmpty(insFeeOrder)) {
                 insPlyIncome.setNoTaxPremium(insFeeOrder.getSyNoTaxPremium());
                 insPlyIncome.setCommissionFeerate(insFeeOrder.getSySuperviseCostsProportion());
                 insPlyIncome.setOtherFeerate(insFeeOrder.getSyCostsProportion().subtract(insFeeOrder.getSySuperviseCostsProportion()));
@@ -439,33 +443,35 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         }
 
     }
+
     /**
      * 生成机构费用
+     *
      * @param order
      * @param insFeeOrder
      * @throws Exception
      */
-    private void gene_deptfee( InsOrders order, InsFeeOrderNew insFeeOrder,InsAreaCompany plyDto){
+    private void gene_deptfee(InsOrders order, InsFeeOrderNew insFeeOrder, InsAreaCompany plyDto) {
         InsDeptFee deptFee = new InsDeptFee();
         deptFee.setOrderno(order.getOrderno());
-        if(!ObjectUtils.isEmpty(insFeeOrder)){
+        if (!ObjectUtils.isEmpty(insFeeOrder)) {
             deptFee.setQuoteno(insFeeOrder.getInsOrderNo());
         }
         deptFee.setAgreeid(String.valueOf(plyDto.getAgreementId()));
         deptFee.setAuditstatus("1");
         deptFee.setSettlestatus("0");
-        if(plyDto.getInsidePayTime()!=null){
-            deptFee.setSignDate(DateUtil.formatFullTime(plyDto.getInsidePayTime(),DateUtil.FULL_TIME_SPLIT_PATTERN));
+        if (plyDto.getInsidePayTime() != null) {
+            deptFee.setSignDate(DateUtil.formatFullTime(plyDto.getInsidePayTime(), DateUtil.FULL_TIME_SPLIT_PATTERN));
 
         }
         deptFee.setInscompany(plyDto.getCompanyId());
-        if(StringUtils.isNotEmpty(plyDto.getJqpolicyno())){
+        if (StringUtils.isNotEmpty(plyDto.getJqpolicyno())) {
             deptFee.setPolicyno(plyDto.getJqpolicyno());
             deptFee.setRiskcode("交强");
             deptFee.setLicenseno(order.getLicenseno());
             geneJqInsDeptFee(order, insFeeOrder, deptFee);
         }
-        if(StringUtils.isNotEmpty(plyDto.getSypolicyno())){
+        if (StringUtils.isNotEmpty(plyDto.getSypolicyno())) {
             deptFee.setPolicyno(plyDto.getSypolicyno());
             deptFee.setRiskcode("商业");
             deptFee.setLicenseno(order.getLicenseno());
@@ -475,7 +481,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
     }
 
     private void geneJqInsDeptFee(InsOrders order, InsFeeOrderNew insFeeOrder, InsDeptFee deptFee) {
-        if(!ObjectUtils.isEmpty(insFeeOrder)){
+        if (!ObjectUtils.isEmpty(insFeeOrder)) {
             if (insFeeOrder.getJqDeptPremiumsLevel1().doubleValue() > 0) {
                 deptFee.setComcode(order.getDeptid().substring(0, 2));  //99140302M01D01
                 deptFee.setComlevel("一级");
@@ -505,7 +511,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
     }
 
     private void geneSyInsDeptFee(InsOrders order, InsFeeOrderNew insFeeOrder, InsDeptFee deptFee) {
-        if(!ObjectUtils.isEmpty(insFeeOrder)){
+        if (!ObjectUtils.isEmpty(insFeeOrder)) {
             if (insFeeOrder.getSyDeptPremiumsLevel1().doubleValue() > 0) {
                 deptFee.setComcode(order.getDeptid().substring(0, 2));  //99140302M01D01
                 deptFee.setComlevel("一级");
@@ -540,16 +546,15 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
      * @param order
      * @return
      */
-    public void saveRetail(InsOrders order,InsFeeOrder insFeeOrder,InsAreaCompany plyDto) throws Exception{
-        List<String> userlist=new ArrayList<>();
-        esmUserReferrerService.getUpUser(order.getUserid(),userlist);
+    public void saveRetail(InsOrders order, InsFeeOrder insFeeOrder, InsAreaCompany plyDto) throws Exception {
+        List<String> userlist = new ArrayList<>();
+        esmUserReferrerService.getUpUser(order.getUserid(), userlist);
 
         //userlist:包括本人在内向上所有人
-        if(userlist.size()-1>0){
-            if(userlist.size()-1>=1
-                    &&insFeeOrder.getThirdRetailPremiums().doubleValue()>0)
-            {//三级分销
-                SysUser user=sysUserService.getById(userlist.get(1));
+        if (userlist.size() - 1 > 0) {
+            if (userlist.size() - 1 >= 1
+                    && insFeeOrder.getThirdRetailPremiums().doubleValue() > 0) {//三级分销
+                SysUser user = sysUserService.getById(userlist.get(1));
                 InsCommission commission = new InsCommission();
                 commission.setOrderno(order.getOrderno());
                 commission.setQuoteno(insFeeOrder.getInsOrderNo());
@@ -562,9 +567,9 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                 commission.setLevel("3");
                 commission.setAuditstatus("1");  //0未审核 1已审核
                 commission.setSettlestatus("0"); //0未结算 1已结算
-                commission.setInsuredtime(DateUtil.formatFullTime(plyDto.getPayDate(),DateUtil.FULL_TIME_SPLIT_PATTERN));
-                commission.setSignDate(DateUtil.formatFullTime(plyDto.getInsidePayTime(),DateUtil.FULL_TIME_SPLIT_PATTERN));
-                if(StringUtils.isNotEmpty(plyDto.getJqpolicyno())){
+                commission.setInsuredtime(DateUtil.formatFullTime(plyDto.getPayDate(), DateUtil.FULL_TIME_SPLIT_PATTERN));
+                commission.setSignDate(DateUtil.formatFullTime(plyDto.getInsidePayTime(), DateUtil.FULL_TIME_SPLIT_PATTERN));
+                if (StringUtils.isNotEmpty(plyDto.getJqpolicyno())) {
                     commission.setPolicyno(plyDto.getJqpolicyno());
                     commission.setRiskcode("交强");
                     commission.setLicenseno(order.getLicenseno());
@@ -572,7 +577,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                     commission.setCommissionamount(insFeeOrder.getJqNoTaxPremium().multiply(insFeeOrder.getThirdRetailProportion()).divide(new BigDecimal(100)).doubleValue());
                     insCommissionService.insert(commission);
                 }
-                if(StringUtils.isNotEmpty(plyDto.getSypolicyno())){
+                if (StringUtils.isNotEmpty(plyDto.getSypolicyno())) {
                     commission.setPolicyno(plyDto.getSypolicyno());
                     commission.setRiskcode("商业");
                     commission.setLicenseno(order.getLicenseno());
@@ -582,10 +587,9 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                 }
 
             }
-            if(userlist.size()-1>=2
-                    &&insFeeOrder.getSecondRetailPremiums().doubleValue()>0)
-            {//二级分销
-                SysUser user=sysUserService.getById(userlist.get(2));
+            if (userlist.size() - 1 >= 2
+                    && insFeeOrder.getSecondRetailPremiums().doubleValue() > 0) {//二级分销
+                SysUser user = sysUserService.getById(userlist.get(2));
                 InsCommission commission = new InsCommission();
                 commission.setOrderno(order.getOrderno());
                 commission.setQuoteno(insFeeOrder.getInsOrderNo());
@@ -600,9 +604,9 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                 commission.setLevel("2");
                 commission.setAuditstatus("1");  //0未审核 1已审核
                 commission.setSettlestatus("0"); //0未结算 1已结算
-                commission.setInsuredtime(DateUtil.formatFullTime(plyDto.getPayDate(),DateUtil.FULL_TIME_SPLIT_PATTERN));
-                commission.setSignDate(DateUtil.formatFullTime(plyDto.getInsidePayTime(),DateUtil.FULL_TIME_SPLIT_PATTERN));
-                if(StringUtils.isNotEmpty(plyDto.getJqpolicyno())){
+                commission.setInsuredtime(DateUtil.formatFullTime(plyDto.getPayDate(), DateUtil.FULL_TIME_SPLIT_PATTERN));
+                commission.setSignDate(DateUtil.formatFullTime(plyDto.getInsidePayTime(), DateUtil.FULL_TIME_SPLIT_PATTERN));
+                if (StringUtils.isNotEmpty(plyDto.getJqpolicyno())) {
                     commission.setPolicyno(plyDto.getJqpolicyno());
                     commission.setRiskcode("交强");
                     commission.setLicenseno(order.getLicenseno());
@@ -610,7 +614,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                     commission.setCommissionamount(insFeeOrder.getJqNoTaxPremium().multiply(insFeeOrder.getSecondRetailProportion()).divide(new BigDecimal(100)).doubleValue());
                     insCommissionService.insert(commission);
                 }
-                if(StringUtils.isNotEmpty(plyDto.getSypolicyno())){
+                if (StringUtils.isNotEmpty(plyDto.getSypolicyno())) {
                     commission.setPolicyno(plyDto.getSypolicyno());
                     commission.setRiskcode("商业");
                     commission.setLicenseno(order.getLicenseno());
@@ -619,10 +623,9 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                     insCommissionService.insert(commission);
                 }
             }
-            if(userlist.size()-1>=3
-                    &&insFeeOrder.getFirstRetailPremiums().doubleValue()>0)
-            {//一级分销
-                SysUser user=sysUserService.getById(userlist.get(3));
+            if (userlist.size() - 1 >= 3
+                    && insFeeOrder.getFirstRetailPremiums().doubleValue() > 0) {//一级分销
+                SysUser user = sysUserService.getById(userlist.get(3));
                 InsCommission commission = new InsCommission();
                 commission.setOrderno(order.getOrderno());
                 commission.setQuoteno(insFeeOrder.getInsOrderNo());
@@ -637,9 +640,9 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                 commission.setLevel("1");
                 commission.setAuditstatus("1");  //0未审核 1已审核
                 commission.setSettlestatus("0"); //0未结算 1已结算
-                commission.setInsuredtime(DateUtil.formatFullTime(plyDto.getPayDate(),DateUtil.FULL_TIME_SPLIT_PATTERN));
-                commission.setSignDate(DateUtil.formatFullTime(plyDto.getInsidePayTime(),DateUtil.FULL_TIME_SPLIT_PATTERN));
-                if(StringUtils.isNotEmpty(plyDto.getJqpolicyno())){
+                commission.setInsuredtime(DateUtil.formatFullTime(plyDto.getPayDate(), DateUtil.FULL_TIME_SPLIT_PATTERN));
+                commission.setSignDate(DateUtil.formatFullTime(plyDto.getInsidePayTime(), DateUtil.FULL_TIME_SPLIT_PATTERN));
+                if (StringUtils.isNotEmpty(plyDto.getJqpolicyno())) {
                     commission.setPolicyno(plyDto.getJqpolicyno());
                     commission.setRiskcode("交强");
                     commission.setLicenseno(order.getLicenseno());
@@ -647,7 +650,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                     commission.setCommissionamount(insFeeOrder.getJqNoTaxPremium().multiply(insFeeOrder.getFirstRetailProportion()).divide(new BigDecimal(100)).doubleValue());
                     insCommissionService.insert(commission);
                 }
-                if(StringUtils.isNotEmpty(plyDto.getSypolicyno())){
+                if (StringUtils.isNotEmpty(plyDto.getSypolicyno())) {
                     commission.setPolicyno(plyDto.getSypolicyno());
                     commission.setRiskcode("商业");
                     commission.setLicenseno(order.getLicenseno());
@@ -662,11 +665,12 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
 
     /**
      * 生成个代费用
+     *
      * @param order
      * @param insFeeOrder
      * @throws Exception
      */
-    public void saveInsCompanyFee(InsOrders order,InsFeeOrder insFeeOrder,InsAreaCompany plyDto) throws Exception {
+    public void saveInsCompanyFee(InsOrders order, InsFeeOrder insFeeOrder, InsAreaCompany plyDto) throws Exception {
 
         InsCompanyFee insCompanyFee = new InsCompanyFee();
         insCompanyFee.setOrderno(order.getOrderno());
@@ -680,30 +684,30 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         insCompanyFee.setDeptname(order.getDeptname());
         insCompanyFee.setSettletype("B");
         insCompanyFee.setSettlestatus("0");
-        insCompanyFee.setCreatetime(DateUtil.getDateFormat(new Date(),DateUtil.FULL_TIME_SPLIT_PATTERN));
-        if(plyDto.getInsidePayTime()!=null){
-            insCompanyFee.setSignDate(DateUtil.formatFullTime(plyDto.getInsidePayTime(),DateUtil.FULL_TIME_SPLIT_PATTERN));
+        insCompanyFee.setCreatetime(DateUtil.getDateFormat(new Date(), DateUtil.FULL_TIME_SPLIT_PATTERN));
+        if (plyDto.getInsidePayTime() != null) {
+            insCompanyFee.setSignDate(DateUtil.formatFullTime(plyDto.getInsidePayTime(), DateUtil.FULL_TIME_SPLIT_PATTERN));
         }
-        if(ObjectUtils.isNotEmpty(insFeeOrder)){
-            BigDecimal dept_rate=insFeeOrder.getFirstDeptProportion()
+        if (ObjectUtils.isNotEmpty(insFeeOrder)) {
+            BigDecimal dept_rate = insFeeOrder.getFirstDeptProportion()
                     .add(insFeeOrder.getSecondDeptProportion())
                     .add(insFeeOrder.getThirdDeptProportion())
                     .add(insFeeOrder.getForthDeptProportion())
                     .add(insFeeOrder.getFifthDeptProportion());
-            BigDecimal retail_rate=insFeeOrder.getFirstRetailProportion()
+            BigDecimal retail_rate = insFeeOrder.getFirstRetailProportion()
                     .add(insFeeOrder.getSecondRetailProportion())
                     .add(insFeeOrder.getThirdRetailProportion());
-            if(StringUtils.isNotEmpty(plyDto.getJqpolicyno())){
+            if (StringUtils.isNotEmpty(plyDto.getJqpolicyno())) {
                 insCompanyFee.setPolicyno(plyDto.getJqpolicyno());
                 insCompanyFee.setRiskcode("交强");
                 //交强费用比例=交强险费用比例-五级机构管理费比例-三级分销比例
                 insCompanyFee.setFeerate(insFeeOrder.getJqCostsProportion().subtract(dept_rate).subtract(retail_rate).doubleValue());
-                insCompanyFee.setFeeamount(insFeeOrder.getJqNoTaxPremium().multiply(insFeeOrder.getJqCostsProportion().subtract(dept_rate).subtract(retail_rate)).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue());
+                insCompanyFee.setFeeamount(insFeeOrder.getJqNoTaxPremium().multiply(insFeeOrder.getJqCostsProportion().subtract(dept_rate).subtract(retail_rate)).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
                 insCompanyFee.setJqpremium(insFeeOrder.getJqNoTaxPremium().doubleValue());
                 //保存业务员费用
                 insCompanyFeeService.insert(insCompanyFee);
             }
-            if(StringUtils.isNotEmpty(plyDto.getSypolicyno())){
+            if (StringUtils.isNotEmpty(plyDto.getSypolicyno())) {
                 insCompanyFee.setPolicyno(plyDto.getSypolicyno());
                 insCompanyFee.setRiskcode("商业");
                 insCompanyFee.setFeerate(0);
@@ -711,7 +715,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
                 insCompanyFee.setJqpremium(0);
                 //商业费用比例=商业险费用比例-五级机构管理费比例-三级分销比例
                 insCompanyFee.setDisrate(insFeeOrder.getSyCostsProportion().subtract(dept_rate).subtract(retail_rate).doubleValue());
-                insCompanyFee.setDisamount(insFeeOrder.getSyNoTaxPremium().multiply(insFeeOrder.getSyCostsProportion().subtract(dept_rate).subtract(retail_rate)).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue());
+                insCompanyFee.setDisamount(insFeeOrder.getSyNoTaxPremium().multiply(insFeeOrder.getSyCostsProportion().subtract(dept_rate).subtract(retail_rate)).divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
                 insCompanyFee.setSypremium(insFeeOrder.getSyNoTaxPremium().doubleValue());
                 //保存业务员费用
                 insCompanyFeeService.insert(insCompanyFee);
@@ -735,17 +739,20 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         //查询费用审核表
         InsFeeAudit insFeeAudit = getOne(new LambdaQueryWrapper<InsFeeAudit>().eq(InsFeeAudit::getOrderno, orderNo));
 
+        String userId;
+        // 填充审核人
+        if (isAutoAudit) {
+            userId = "自动审核";
+        } else {
+            userId = StpUtil.getLoginId().toString();
+        }
+
         //添加审核轨迹表
         InsFeeAuditHistory insFeeAuditHistory = new InsFeeAuditHistory();
         if (insFeeAudit == null) {
             insFeeAudit = new InsFeeAudit();
-            // 填充审核人
-            if (isAutoAudit) {
-                insFeeAudit.setAudituser("自动审核");
-            } else {
-                insFeeAudit.setAudituser(StpUtil.getLoginId().toString());
-            }
             // 设置订单号和保险订单号
+            insFeeAudit.setAudituser(userId);
             insFeeAudit.setOrderno(orderNo);
             insFeeAudit.setInsOrderNo(insOrderNo);
             insFeeAudit.setAudittime(LocalDateTime.now());
@@ -754,6 +761,7 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
         } else {
             //状态码为已审核且数据不为空,则更新审核状态
             insFeeAudit.setAuditstatus(auditstatus);
+            insFeeAudit.setAudituser(userId);
             this.update(insFeeAudit, new LambdaUpdateWrapper<InsFeeAudit>().eq(InsFeeAudit::getOrderno, orderNo));
         }
         //复制审核对象的属性

+ 7 - 0
src/main/java/com/ydtech/modules/ins/model/vo/CarInfoVo.java

@@ -181,6 +181,13 @@ public class CarInfoVo {
         return EnergyType.isNewEnergy(energyType);
     }
 
+    /**
+     * 获取核定载质量吨位
+     * @return
+     */
+    public Double limitLoadTon(){
+        return Double.parseDouble(limitLoad) / 1000;
+    }
 
     public CarModelDTO toCarModelDTO() {
         CarModelDTO carModelDTO = new CarModelDTO();

+ 1 - 1
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -231,7 +231,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         //已承保添加轨迹表
         if (InsOrderStatusEnum.ACCEPT_INSURANCE.getCode().equals(insAreaCompany.getOrderstatus())) {
             //添加审核表及轨迹信息
-            insFeeAuditService.saveInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), true, FeeAuditAuditstatus.UNREVICEWED.getCode());
+            insFeeAuditService.saveInsFeeAuditAndHistory(insAreaCompany.getOrderno(), insAreaCompany.getId(), false, FeeAuditAuditstatus.UNREVICEWED.getCode());
         }
 
     }