Explorar el Código

Merge remote-tracking branch 'origin/test' into test

Qchen hace 2 años
padre
commit
610c672d40
Se han modificado 27 ficheros con 479 adiciones y 91 borrados
  1. 24 0
      src/main/java/com/ydtech/modules/admin/constants/MoneyAttrConstants.java
  2. 23 0
      src/main/java/com/ydtech/modules/admin/constants/WithdrawTypeConstants.java
  3. 0 1
      src/main/java/com/ydtech/modules/admin/model/SysDeptAccountHistory.java
  4. 21 16
      src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountServiceImpl.java
  5. 21 4
      src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceImpl.java
  6. 4 3
      src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceNewImpl.java
  7. 14 1
      src/main/java/com/ydtech/modules/fnc/entity/InsPlyIncome.java
  8. 77 8
      src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java
  9. 46 16
      src/main/java/com/ydtech/modules/fnc/service/impl/InsPlyIncomeServiceImpl.java
  10. 12 2
      src/main/java/com/ydtech/modules/fnc/vo/InsPlyIncomeVo.java
  11. 2 2
      src/main/java/com/ydtech/modules/order/aop/aspect/AuditVerificationAspect.java
  12. 1 0
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java
  13. 14 0
      src/main/java/com/ydtech/modules/order/dao/InsPinAnAreaMapper.java
  14. 0 5
      src/main/java/com/ydtech/modules/order/entity/InsOrders.java
  15. 57 0
      src/main/java/com/ydtech/modules/order/entity/api/pingan/area/InsPinAnArea.java
  16. 7 0
      src/main/java/com/ydtech/modules/order/service/InsAreaCompanyService.java
  17. 13 0
      src/main/java/com/ydtech/modules/order/service/InsPinAnAreaService.java
  18. 11 0
      src/main/java/com/ydtech/modules/order/service/impl/HuaTaiOrderApiServiceImpl.java
  19. 5 0
      src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java
  20. 13 4
      src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java
  21. 25 0
      src/main/java/com/ydtech/modules/order/service/impl/InsPinAnAreaServiceImpl.java
  22. 2 2
      src/main/java/com/ydtech/modules/protocols/entity/po/PtlAgreementProductCostsAttrLinkHistory.java
  23. 2 2
      src/main/java/com/ydtech/modules/protocols/entity/po/PtlAgreementProductCostsNewHistory.java
  24. 22 11
      src/main/java/com/ydtech/modules/protocols/service/impl/PtlAgreementProductCostsNewServiceImpl.java
  25. 11 1
      src/main/java/com/ydtech/modules/protocols/service/impl/PtlAgreementUndwrtRulesNewServiceImpl.java
  26. 6 2
      src/main/resources/mapper/modules/fnc/InsPlyIncomeMapper.xml
  27. 46 11
      src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

+ 24 - 0
src/main/java/com/ydtech/modules/admin/constants/MoneyAttrConstants.java

@@ -0,0 +1,24 @@
+package com.ydtech.modules.admin.constants;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @version
+ * @description: 金钱属性
+ * @author: tz
+ * @date: 2024-4-11 17:36:15
+ **/
+@Getter
+@AllArgsConstructor
+public enum MoneyAttrConstants {
+
+    M_1(1, "手续费"),
+    M_2(2,"跟单费"),
+    M_3(3,"推广费");
+
+    private final Integer code;
+
+    private final String desc;
+}

+ 23 - 0
src/main/java/com/ydtech/modules/admin/constants/WithdrawTypeConstants.java

@@ -0,0 +1,23 @@
+package com.ydtech.modules.admin.constants;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @version
+ * @description: 提现类型
+ * @author: tz
+ * @date: 2024-4-11 17:36:15
+ **/
+@Getter
+@AllArgsConstructor
+public enum WithdrawTypeConstants {
+
+    WT_1("1", "提现"),
+    WT_2("2","收入");
+
+    private final String code;
+
+    private final String desc;
+}

+ 0 - 1
src/main/java/com/ydtech/modules/admin/model/SysDeptAccountHistory.java

@@ -3,7 +3,6 @@ package com.ydtech.modules.admin.model;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.ydtech.core.page.PageRequest;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 21 - 16
src/main/java/com/ydtech/modules/admin/service/impl/SysUserAccountServiceImpl.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.constants.MoneyAttrConstants;
+import com.ydtech.modules.admin.constants.WithdrawTypeConstants;
 import com.ydtech.modules.admin.dao.SysUserAccountMapper;
 import com.ydtech.modules.admin.model.po.SysAmountAuditingEntity;
 import com.ydtech.modules.admin.model.po.SysUserAccount;
@@ -65,7 +67,6 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
         SysUserAccount newAccount = new SysUserAccount();
 
         if (ObjectUtils.isNotEmpty(sysUserAccountEntity)) {
-
             sysUserAccountEntity.setHandlingFee(sysUserAccount.getHandlingFee().add(sysUserAccountEntity.getHandlingFee()));
             sysUserAccountEntity.setDocumentary(sysUserAccount.getDocumentary().add(sysUserAccountEntity.getDocumentary()));
             sysUserAccountEntity.setPromotion(sysUserAccount.getPromotion().add(sysUserAccountEntity.getPromotion()));
@@ -74,14 +75,15 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
             }
             baseMapper.updateById(sysUserAccountEntity);
         } else {
-            newAccount.setUserId(userId);
-            newAccount.setDocumentary(sysUserAccount.getDocumentary());
-            newAccount.setPromotion(sysUserAccount.getPromotion());
-            newAccount.setHandlingFee(sysUserAccount.getHandlingFee());
+            sysUserAccountEntity = new SysUserAccount();
+            sysUserAccountEntity.setUserId(userId);
+            sysUserAccountEntity.setDocumentary(sysUserAccount.getDocumentary());
+            sysUserAccountEntity.setPromotion(sysUserAccount.getPromotion());
+            sysUserAccountEntity.setHandlingFee(sysUserAccount.getHandlingFee());
             if (StringUtils.isNotEmpty(sysUserAccount.getDocumentaryStatus())) {
-                newAccount.setDocumentaryStatus(sysUserAccount.getDocumentaryStatus());
+                sysUserAccountEntity.setDocumentaryStatus(sysUserAccount.getDocumentaryStatus());
             }
-            baseMapper.insert(newAccount);
+            baseMapper.insert(sysUserAccountEntity);
         }
 
         if (StringUtils.isNotEmpty(sysUserAccount.getDocumentaryStatus())) {
@@ -90,36 +92,39 @@ public class SysUserAccountServiceImpl extends ServiceImpl<SysUserAccountMapper,
             sysUserAccountHistory.setUserId(sysUserAccount.getUserId());
             sysUserAccountHistory.setDocumentary(Integer.valueOf(sysUserAccount.getDocumentaryStatus()));
             sysUserAccountHistory.setSuborder(sysUserAccount.getSuborderId());
+            //跟单费
             if(sysUserAccount.getDocumentary()!=null && sysUserAccount.getDocumentary().compareTo(BigDecimal.ZERO)!=0){
                 sysUserAccountHistory.setAmount(sysUserAccount.getDocumentary());
-                sysUserAccountHistory.setProperty(2);
-                if("2".equals(sysUserAccount.getDocumentaryStatus())){ // 收入  相加
-                    sysUserAccountHistory.setSurplusAmount(sysUserAccount.getDocumentary().add(newAccount.getDocumentary()));
+                sysUserAccountHistory.setProperty(MoneyAttrConstants.M_2.getCode());
+                if(WithdrawTypeConstants.WT_2.getCode().equals(sysUserAccount.getDocumentaryStatus())){ // 收入  相加
+                    sysUserAccountHistory.setSurplusAmount(sysUserAccountEntity.getDocumentary());
                 }else {
                     BigDecimal subtract = newSysAccount.getDocumentary().subtract(sysUserAccount.getDocumentary());
                     sysUserAccountHistory.setSurplusAmount(subtract);
                 }
                 sysUserAccountHistoryService.updayteByUserAccount(sysUserAccountHistory);
             }
+            //手续费
             if(sysUserAccount.getHandlingFee()!=null  &&  sysUserAccount.getHandlingFee().compareTo(BigDecimal.ZERO) !=0){
                 sysUserAccountHistory.setId(null);
                 sysUserAccountHistory.setAmount(sysUserAccount.getHandlingFee());
-                sysUserAccountHistory.setProperty(1);
-                if("2".equals(sysUserAccount.getDocumentaryStatus())){ // 收入  相加
-                    sysUserAccountHistory.setSurplusAmount(sysUserAccount.getHandlingFee().add(newAccount.getHandlingFee()));
+                sysUserAccountHistory.setProperty(MoneyAttrConstants.M_1.getCode());
+                if(WithdrawTypeConstants.WT_2.getCode().equals(sysUserAccount.getDocumentaryStatus())){ // 收入  相加
+                    sysUserAccountHistory.setSurplusAmount(sysUserAccountEntity.getHandlingFee());
                 }else {
                     BigDecimal subtract = newSysAccount.getHandlingFee().subtract(sysUserAccount.getHandlingFee());
                     sysUserAccountHistory.setSurplusAmount(subtract);
                 }
                 sysUserAccountHistoryService.updayteByUserAccount(sysUserAccountHistory);
             }
+            //推广费
             if(sysUserAccount.getPromotion() !=null && sysUserAccount.getPromotion().compareTo(BigDecimal.ZERO) !=0){
                 sysUserAccountHistory.setId(null);
 
                 sysUserAccountHistory.setAmount(sysUserAccount.getPromotion());
-                sysUserAccountHistory.setProperty(3);
-                if("2".equals(sysUserAccount.getDocumentaryStatus())){ // 收入  相加
-                    sysUserAccountHistory.setSurplusAmount(sysUserAccount.getPromotion().add(newAccount.getPromotion()));
+                sysUserAccountHistory.setProperty(MoneyAttrConstants.M_3.getCode());
+                if(WithdrawTypeConstants.WT_2.getCode().equals(sysUserAccount.getDocumentaryStatus())){ // 收入  相加
+                    sysUserAccountHistory.setSurplusAmount(sysUserAccountEntity.getPromotion());
                 }else {
                     BigDecimal subtract = newSysAccount.getPromotion().subtract(sysUserAccount.getPromotion());
                     sysUserAccountHistory.setSurplusAmount(subtract);

+ 21 - 4
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceImpl.java

@@ -2661,8 +2661,20 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                 .add(insFeeOrderNew.getJqDeptProportionLevel4())
                 .add(insFeeOrderNew.getJqDeptProportionLevel5());
 
+        //分销总比例
+        BigDecimal sumRetail = new BigDecimal(0);
+        if(insFeeOrderNew.getFirstDetailProportion().compareTo(new BigDecimal(0)) > 0){
+            sumRetail = sumRetail.add(insFeeOrderNew.getFirstDetailProportion());
+        }
+        if(insFeeOrderNew.getSecondDetailProportion().compareTo(new BigDecimal(0)) > 0){
+            sumRetail = sumRetail.add(insFeeOrderNew.getSecondDetailProportion());
+        }
+        if(insFeeOrderNew.getThirdDetailProportion().compareTo(new BigDecimal(0)) > 0){
+            sumRetail = sumRetail.add(insFeeOrderNew.getThirdDetailProportion());
+        }
+
         //交强总出口费比例
-        BigDecimal jqExportTotalProportion = jqEntranceFee.getTotalProportion().subtract(sumJqDeptProportion);
+        BigDecimal jqExportTotalProportion = jqEntranceFee.getTotalProportion().subtract(sumJqDeptProportion).subtract(sumRetail);
 
         //交强出口手续费比例
         BigDecimal jqExportSuperviseCosts =
@@ -2717,8 +2729,10 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                 .add(insFeeOrderNew.getSyDeptProportionLevel5());
 
         //商业总出口费比例
-        BigDecimal syExportTotalProportion = syEntranceFee.getTotalProportion().subtract(sumSyDeptProportion);
-
+        BigDecimal syExportTotalProportion = new BigDecimal(0);
+        if(syEntranceFee.getTotalProportion().compareTo(new BigDecimal(0)) > 0) {
+            syExportTotalProportion = syEntranceFee.getTotalProportion().subtract(sumSyDeptProportion).subtract(sumRetail);
+        }
         //商业出口手续费比例
         BigDecimal syExportSuperviseCosts =
                 syExportTotalProportion.compareTo(syEntranceFee.getSuperviseCosts()) > 0 ? syEntranceFee.getSuperviseCosts() : syExportTotalProportion;
@@ -2773,7 +2787,10 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                 .add(insFeeOrderNew.getNoDeptProportionLevel5());
 
         //非车总出口费比例
-        BigDecimal nonExportTotalProportion = nonEntranceFee.getTotalProportion().subtract(sumNonDeptProportion);
+        BigDecimal nonExportTotalProportion = new BigDecimal(0);
+        if(nonEntranceFee.getTotalProportion().compareTo(new BigDecimal(0)) > 0) {
+            nonExportTotalProportion = nonEntranceFee.getTotalProportion().subtract(sumSyDeptProportion).subtract(sumRetail);
+        }
 
         //非车出口手续费比例
         BigDecimal nonExportSuperviseCosts =

+ 4 - 3
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceNewImpl.java

@@ -400,23 +400,24 @@ public class FeeRuleSchemeServiceNewImpl implements FeeRuleSchemeNewService {
             List<EsmUserReferrer> parents = esmUserReferrerService.findParents(sysUser.getId());
 
             if (esmRetail != null) {
+                BigDecimal sumPremium = insFeeOrderNew.getJqPremium().add(insFeeOrderNew.getSyPremium()).add(insFeeOrderNew.getNoPremium());
                 if(Integer.parseInt(esmRetail.getRetailtype()) >= 3){
                     insFeeOrderNew.setFirstDetailProportion(new BigDecimal(esmRetail.getDisrate1()));
-                    insFeeOrderNew.setFirstDetailPremiums(insFeeOrderNew.getJqNoTaxPremium().multiply(new BigDecimal(esmRetail.getDisrate1())).divide(new BigDecimal("100")));
+                    insFeeOrderNew.setFirstDetailPremiums(sumPremium.multiply(new BigDecimal(esmRetail.getDisrate1())).divide(new BigDecimal("100")));
                     if(parents != null && parents.size() > 2){
                         insFeeOrderNew.setThreeLevelUserId(parents.get(2).getId());
                     }
                 }
                 if(Integer.parseInt(esmRetail.getRetailtype()) >= 2){
                     insFeeOrderNew.setSecondDetailProportion(new BigDecimal(esmRetail.getDisrate2()));
-                    insFeeOrderNew.setSecondDetailPremiums(insFeeOrderNew.getJqNoTaxPremium().multiply(new BigDecimal(esmRetail.getDisrate2())).divide(new BigDecimal("100")));
+                    insFeeOrderNew.setSecondDetailPremiums(sumPremium.multiply(new BigDecimal(esmRetail.getDisrate2())).divide(new BigDecimal("100")));
                     if(parents != null && parents.size() > 1){
                         insFeeOrderNew.setTwoLevelUserId(parents.get(1).getId());
                     }
                 }
                 if(Integer.parseInt(esmRetail.getRetailtype()) >= 1){
                     insFeeOrderNew.setThirdDetailProportion(new BigDecimal(esmRetail.getDisrate3()));
-                    insFeeOrderNew.setThirdDetailPremiums(insFeeOrderNew.getJqNoTaxPremium().multiply(new BigDecimal(esmRetail.getDisrate3())).divide(new BigDecimal("100")));
+                    insFeeOrderNew.setThirdDetailPremiums(sumPremium.multiply(new BigDecimal(esmRetail.getDisrate3())).divide(new BigDecimal("100")));
                     if(parents != null && parents.size() > 0) {
                         insFeeOrderNew.setFirstLevelUserId(parents.get(0).getId());
                     }

+ 14 - 1
src/main/java/com/ydtech/modules/fnc/entity/InsPlyIncome.java

@@ -31,10 +31,18 @@ public class InsPlyIncome implements Serializable {
     @TableField("orderno")
     private String orderno;
 
-    @ApiModelProperty("保单号")
+    @ApiModelProperty("交强保单号")
     @TableField("policyno")
     private String policyno;
 
+    @ApiModelProperty("商业保单号")
+    @TableField("sy_policyno")
+    private String syPolicyno;
+
+    @ApiModelProperty("非车保单号")
+    @TableField("no_policyno")
+    private String noPolicyno;
+
     @ApiModelProperty("结算单号")
     @TableField(exist = false)
     private String settleno;
@@ -136,6 +144,11 @@ public class InsPlyIncome implements Serializable {
     private String documentaryFeesStatus;
 
 
+    @ApiModelProperty("是否是非车")
+    @TableField("is_not_car")
+    private String isNotCar;
+
+
     @ApiModelProperty("总单数")
     @TableField(exist = false)
     private String totalorders;

+ 77 - 8
src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java

@@ -151,18 +151,87 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
             if (ObjectUtils.isNotEmpty(insFeeOrderNew) ) {
 //                手续非佣金  =  交强监管费用 + 商业监管费用 + 非车监管费用
 //                非跟单费用  = 交强非跟单费用 + 商业非跟单费用 + 非车非跟单费用
+                //手续费入口费用
+//                BigDecimal jqPremiumAmount = this.zeroBigdecimal(insFeeOrderNew.getJqSuperviseCostsPremiums());//交强监管费
+//                BigDecimal syPremiumAmount = this.zeroBigdecimal(insFeeOrderNew.getSySuperviseCostsPremiums());//商业监管费
+//                BigDecimal noPremiumAmount = this.zeroBigdecimal(insFeeOrderNew.getNoSuperviseCostsPremiums());//非车监管费用
+//                BigDecimal totalPremiumAmount = jqPremiumAmount.add(syPremiumAmount).add(noPremiumAmount);    // 手续非佣金
+//                //其他费用入口费用
+//                BigDecimal jqOtherCostsPremiums  =this.zeroBigdecimal(insFeeOrderNew.getJqOtherCostsPremiums());//交强其他费用
+//                BigDecimal syOtherCostsPremiums  =this.zeroBigdecimal(insFeeOrderNew.getSyOtherCostsPremiums()); //商业其他费用
+//                BigDecimal noOtherCostsProportion = this.zeroBigdecimal(insFeeOrderNew.getNoOtherCostsPremiums());//非车其他费用
+//                BigDecimal totalOtherPremiumAmount = jqOtherCostsPremiums.add(syOtherCostsPremiums).add(noOtherCostsProportion);  //非跟单费用
+
+                //总机构 交强管理比例
+                BigDecimal sumJqDeptProportion = insFeeOrderNew.getJqDeptProportionLevel1()
+                        .add(insFeeOrderNew.getJqDeptProportionLevel2())
+                        .add(insFeeOrderNew.getJqDeptProportionLevel3())
+                        .add(insFeeOrderNew.getJqDeptProportionLevel4())
+                        .add(insFeeOrderNew.getJqDeptProportionLevel5());
+
+                //总机构 商业管理比例
+                BigDecimal sumSyDeptProportion = insFeeOrderNew.getSyDeptProportionLevel1()
+                        .add(insFeeOrderNew.getSyDeptProportionLevel2())
+                        .add(insFeeOrderNew.getSyDeptProportionLevel3())
+                        .add(insFeeOrderNew.getSyDeptProportionLevel4())
+                        .add(insFeeOrderNew.getSyDeptProportionLevel5());
+
+                //总机构 非车管理比例
+                BigDecimal sumNoDeptProportion = insFeeOrderNew.getNoDeptProportionLevel1()
+                        .add(insFeeOrderNew.getNoDeptProportionLevel2())
+                        .add(insFeeOrderNew.getNoDeptProportionLevel3())
+                        .add(insFeeOrderNew.getNoDeptProportionLevel4())
+                        .add(insFeeOrderNew.getNoDeptProportionLevel5());
+
+                //总分销比例
+                BigDecimal sumRetail = insFeeOrderNew.getFirstDetailProportion().add(insFeeOrderNew.getSecondDetailProportion()).add(insFeeOrderNew.getThirdDetailProportion());
+
+                //交强出口比例
+                BigDecimal jqExportProceduresProportion = new BigDecimal(0);
+                if(insFeeOrderNew.getJqCostsProportion().compareTo(sumJqDeptProportion.add(sumRetail))>0){
+                    jqExportProceduresProportion = insFeeOrderNew.getJqCostsProportion().subtract(sumJqDeptProportion).subtract(sumRetail);
+                }
+                //商业出口比例
+                BigDecimal syExportProceduresProportion = new BigDecimal(0);
+                if(insFeeOrderNew.getSyCostsProportion().compareTo(sumSyDeptProportion.add(sumRetail))>0){
+                    syExportProceduresProportion = insFeeOrderNew.getSyCostsProportion().subtract(sumSyDeptProportion).subtract(sumRetail);
+                }
+                //非车出口比例
+                BigDecimal noExportProceduresProportion = new BigDecimal(0);
+                if(insFeeOrderNew.getNoCostsProportion().compareTo(sumNoDeptProportion.add(sumRetail))>0){
+                    noExportProceduresProportion = insFeeOrderNew.getNoCostsProportion().subtract(sumNoDeptProportion).subtract(sumRetail);
+                }
+
+                //交强手续费出口比例
+                BigDecimal jqExportProceduresFee = insFeeOrderNew.getJqPremium().multiply(insFeeOrderNew.getJqSuperviseCostsProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+                //交强跟单出口费用
+                BigDecimal jqExportOtherFee = insFeeOrderNew.getJqPremium()
+                        .multiply(jqExportProceduresProportion
+                                .subtract(insFeeOrderNew.getJqSuperviseCostsProportion()).divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+
+                //商业手续费出口比例
+                BigDecimal syExportProceduresFee = insFeeOrderNew.getSyPremium().multiply(insFeeOrderNew.getSySuperviseCostsProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+                //商业跟单出口比例
+                BigDecimal syExportOtherFee = insFeeOrderNew.getSyPremium()
+                        .multiply(syExportProceduresProportion
+                                .subtract(insFeeOrderNew.getSySuperviseCostsProportion()).divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+
+                //非车手续费出口比例
+                BigDecimal noExportProceduresFee = insFeeOrderNew.getNoPremium().multiply(insFeeOrderNew.getNoSuperviseCostsProportion().divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
+                //非车跟单出口比例
+                BigDecimal noExportOtherFee = insFeeOrderNew.getNoPremium()
+                        .multiply(noExportProceduresProportion
+                                .subtract(insFeeOrderNew.getNoSuperviseCostsProportion()).divide(new BigDecimal(100))).setScale(2,BigDecimal.ROUND_DOWN);
 
+                //用户出口手续费
+                BigDecimal totalPremiumAmount = new BigDecimal(0);
+                totalPremiumAmount = totalPremiumAmount.add(jqExportProceduresFee).add(syExportProceduresFee).add(noExportProceduresFee);
 
-                BigDecimal jqPremiumAmount = this.zeroBigdecimal(insFeeOrderNew.getJqSuperviseCostsPremiums());//交强监管费
-                BigDecimal syPremiumAmount = this.zeroBigdecimal(insFeeOrderNew.getSySuperviseCostsPremiums());//商业监管费
-                BigDecimal noPremiumAmount = this.zeroBigdecimal(insFeeOrderNew.getNoSuperviseCostsPremiums());//非车监管费用
-                BigDecimal totalPremiumAmount = jqPremiumAmount.add(syPremiumAmount).add(noPremiumAmount);    // 手续非佣金
+                //用户出口跟单费
+                BigDecimal totalOtherPremiumAmount = new BigDecimal(0);
+                totalOtherPremiumAmount = totalOtherPremiumAmount.add(jqExportOtherFee).add(syExportOtherFee).add(noExportOtherFee);
 
-                BigDecimal jqOtherCostsPremiums  =this.zeroBigdecimal(insFeeOrderNew.getJqOtherCostsPremiums());//交强其他费用
-                BigDecimal syOtherCostsPremiums  =this.zeroBigdecimal(insFeeOrderNew.getSyOtherCostsPremiums()); //商业其他费用
-                BigDecimal noOtherCostsProportion = this.zeroBigdecimal(insFeeOrderNew.getNoOtherCostsPremiums());//非车其他费用
 
-                BigDecimal totalOtherPremiumAmount = jqOtherCostsPremiums.add(syOtherCostsPremiums).add(noOtherCostsProportion);  //非跟单费用
 //              用戶
                 sysUserAccount.setHandlingFee(totalPremiumAmount);
                 sysUserAccount.setDocumentary(totalOtherPremiumAmount);

+ 46 - 16
src/main/java/com/ydtech/modules/fnc/service/impl/InsPlyIncomeServiceImpl.java

@@ -1,6 +1,10 @@
 package com.ydtech.modules.fnc.service.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.ydtech.core.page.HttpResult;
@@ -90,25 +94,17 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
 
 
     private void saveBalanc(InsFeeOrderNew insFeeOrderNew, InsOrders insOrders, InsAreaCompany insAreaCompany) {
-        StringBuffer stringBuffer = new StringBuffer();
         InsPlyIncome insPlyIncome = new InsPlyIncome();
 
-        if (ObjectUtils.isNotEmpty(insAreaCompany)) {
-            // 使用链式条件判断来减少嵌套
-            if (StringUtils.isNotEmpty(insAreaCompany.getJqpolicyno())) {
-                stringBuffer.append(insAreaCompany.getJqpolicyno());
-                if (StringUtils.isNotEmpty(insAreaCompany.getSypolicyno())) {
-                    stringBuffer.append(",");
-                    stringBuffer.append(insAreaCompany.getSypolicyno());
-                }
-            } else if (StringUtils.isNotEmpty(insAreaCompany.getSypolicyno())) {
-                // 如果jqpolicyno为空但sypolicyno不为空,则只添加sypolicyno
-                stringBuffer.append(insAreaCompany.getSypolicyno());
-            }
+
+        insPlyIncome.setOrderno(insFeeOrderNew.getId());  // 子订单号
+//      存储保单号
+        try {
+            this.setPolicyno(insPlyIncome,insAreaCompany);
+        } catch (JsonProcessingException e) {
+            throw new RuntimeException(e);
         }
-        String policyno = stringBuffer.toString();  // 保单号
-        insPlyIncome.setOrderno(insOrders.getOrderno());
-        insPlyIncome.setPolicyno(policyno);
+
         insPlyIncome.setDeptId(insFeeOrderNew.getDeptId());
         insPlyIncome.setRiskcode(insOrders.getProductid());
         insPlyIncome.setPayDate(insAreaCompany.getPayDate());
@@ -140,6 +136,40 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
         baseMapper.insert(insPlyIncome);
 
     }
+
+    private void setPolicyno(InsPlyIncome insPlyIncome, InsAreaCompany insAreaCompany) throws JsonProcessingException {
+        ObjectMapper objJson = new ObjectMapper();
+
+        String jqpolicyno = insAreaCompany.getJqpolicyno();  // 交强保单号
+        String sypolicyno = insAreaCompany.getSypolicyno();  // 商业保单号
+        JSONArray crossInsurance = insAreaCompany.getCrossInsurance();  // 非车保单号
+
+        if(ObjectUtils.isNotEmpty(jqpolicyno)){
+            insPlyIncome.setPolicyno(jqpolicyno);
+
+        }
+        if(ObjectUtils.isNotEmpty(sypolicyno)){
+            insPlyIncome.setSyPolicyno(sypolicyno);
+        }
+        if(ObjectUtils.isNotEmpty(crossInsurance)){
+         JsonNode   jsonArryNode= objJson.readTree(crossInsurance.toJSONString());
+            if (jsonArryNode.isArray()) {
+                for (JsonNode jsonNode : jsonArryNode) {
+                    JsonNode jsonNode1 = jsonNode.get("policyNumber");//非车保单号
+                    if(ObjectUtils.isNotEmpty(jsonNode1)){
+                        insPlyIncome.setNoPolicyno(jsonNode1.asText());
+                    }else {
+                       String  nopolicy =   jsonNode.get("policy").asText();   //非车保单号
+                        insPlyIncome.setNoPolicyno(nopolicy);
+                    }
+                }
+            }
+
+        }
+
+
+    }
+
     private BigDecimal sumAmount(BigDecimal amount1, BigDecimal amount2, BigDecimal amount3) {
         BigDecimal jqNoTaxPremium = (amount1 != null) ? amount1 : BigDecimal.ZERO;
         BigDecimal syNoTaxPremium = (amount2 != null) ? amount2 : BigDecimal.ZERO;

+ 12 - 2
src/main/java/com/ydtech/modules/fnc/vo/InsPlyIncomeVo.java

@@ -44,7 +44,7 @@ public class InsPlyIncomeVo implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private LocalDate endDate;
 
-    @ApiModelProperty("保单号")
+    @ApiModelProperty("交强保单号")
     private String policyno;
 
     @ApiModelProperty("机构")
@@ -80,7 +80,7 @@ public class InsPlyIncomeVo implements Serializable {
     private int pageNum=1;
 
     @ApiModelProperty("协议类型")
-    private String agreementtype;
+    private String agreementType;
 
     @ApiModelProperty("时间范围")
     private String timeFrame;
@@ -112,4 +112,14 @@ public class InsPlyIncomeVo implements Serializable {
     private BigDecimal  totAmount;
     @ApiModelProperty("结算金额")
     private BigDecimal settlementAmount;
+
+    @ApiModelProperty("商业保单号")
+    private String syPolicyno;
+
+    @ApiModelProperty("非车保单号")
+    private String noPolicyno;
+
+    @ApiModelProperty("是否非车")
+    private String isNotCar;
+
 }

+ 2 - 2
src/main/java/com/ydtech/modules/order/aop/aspect/AuditVerificationAspect.java

@@ -54,12 +54,12 @@ public class AuditVerificationAspect {
             InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
             InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
             //先进行承保规则判断
-//            feeRuleSchemeNewService.verificationRuleFactor(insAreaCompany, insOrders);
+            feeRuleSchemeNewService.verificationRuleFactor(insAreaCompany, insOrders);
             //再进行费用因子判断
             try {
                 feeRuleSchemeNewService.verificationCostFactor(insAreaCompany, insOrders);
             } catch (Exception ignored) {
-
+                System.out.printf("费用因子匹配失败:" + ignored.getMessage());
             }
         }
     }

+ 1 - 0
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java

@@ -51,6 +51,7 @@ public interface InsAreaCompanyMapper extends BaseMapper<InsAreaCompany> {
      */
     Page<InsOrders> getPendingAuditOrders(Page page, @Param("params") OrderQueryVo orderQueryVo);
 
+    Page<InsOrders> getAlreadyAuditOrders(Page page, @Param("params") OrderQueryVo orderQueryVo);
 }
 
 

+ 14 - 0
src/main/java/com/ydtech/modules/order/dao/InsPinAnAreaMapper.java

@@ -0,0 +1,14 @@
+package com.ydtech.modules.order.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.order.entity.api.pingan.area.InsPinAnArea;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/4/12 9:23
+ *  @Description:  针对平安区域的转换
+ */
+public interface InsPinAnAreaMapper extends BaseMapper<InsPinAnArea> {
+
+}

+ 0 - 5
src/main/java/com/ydtech/modules/order/entity/InsOrders.java

@@ -213,11 +213,6 @@ public class InsOrders implements Serializable {
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 
-    /**
-     * 紫金能源车(鼎然-车辆风险评分  add by hxl 2024-04-09
-     */
-//    @TableField(value = "ubi_predicted_info_score")
-//    private String ubiPredictedInfoScore;
 
     public InsOrders(SysUser user, SysDept dept, BaseQuoteInfoVo quoteInfoVo) {
         // 2. 组装订单

+ 57 - 0
src/main/java/com/ydtech/modules/order/entity/api/pingan/area/InsPinAnArea.java

@@ -0,0 +1,57 @@
+package com.ydtech.modules.order.entity.api.pingan.area;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@TableName(value ="ins_pinan_area")
+@NoArgsConstructor
+@Data
+public class InsPinAnArea implements Serializable {
+
+    /**
+     * 主键自增
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 省/市code
+     */
+    @TableField(value = "value_code")
+    private String valueCode;
+
+    /**
+     * 省市名称
+     */
+    @TableField(value = "value_chinese_name")
+    private String valueChineseName;
+
+    /**
+     * 市code
+     */
+    @TableField(value = "city_code")
+    private String cityCode;
+
+    /**
+     * 市名称
+     */
+    @TableField(value = "city_name")
+    private String cityName;
+    /**
+     * 地区代码
+     */
+    @TableField(value = "area_code")
+    private String areaCode;
+
+    /**
+     * 地区名称
+     */
+    @TableField(value = "area_cname")
+    private String areaCname;
+}

+ 7 - 0
src/main/java/com/ydtech/modules/order/service/InsAreaCompanyService.java

@@ -78,5 +78,12 @@ public interface InsAreaCompanyService extends IService<InsAreaCompany> {
      */
     Page<InsOrders> getPendingAuditOrders(Page page, OrderQueryVo orderQueryVo);
 
+    /**
+     * 查询已审核得订单
+     * @param page
+     * @param orderQueryVo
+     * @return
+     */
+    Page<InsOrders> getAlreadyAuditOrders(Page page, OrderQueryVo orderQueryVo);
 
 }

+ 13 - 0
src/main/java/com/ydtech/modules/order/service/InsPinAnAreaService.java

@@ -0,0 +1,13 @@
+package com.ydtech.modules.order.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.order.entity.api.pingan.area.InsPinAnArea;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/4/12 9:44
+ *  @Description: 添加平安数据区域表
+ */
+public interface InsPinAnAreaService extends IService<InsPinAnArea> {
+}

+ 11 - 0
src/main/java/com/ydtech/modules/order/service/impl/HuaTaiOrderApiServiceImpl.java

@@ -6,6 +6,8 @@ import com.ydtech.constants.enums.InsuranceRisk;
 import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
+import com.ydtech.modules.admin.model.vo.PersonAreaVo;
+import com.ydtech.modules.admin.service.SysAreaService;
 import com.ydtech.modules.fee.service.FeeRuleSchemeService;
 import com.ydtech.modules.ins.model.vo.*;
 import com.ydtech.modules.ins.model.ya.YaQuoteInfoVo;
@@ -76,6 +78,8 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
 
     private final HuaTaiQuotationProcessorComponent huaTaiQuotationProcessorComponent;
 
+    private final SysAreaService sysAreaService;
+
     @Value("${upload.file.path}")
     private String uploadFilePath;
 
@@ -165,6 +169,13 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         InsOrders insOrders = insOrdersService.getById(insAreaCompany.getOrderno());
         YaQuoteInfoVo yaQuoteInfoVo = new YaQuoteInfoVo(insOrders);
 
+        //查找车主的区划信息
+        PersonAreaVo ownerPersonArea = sysAreaService.queryByAddress(yaQuoteInfoVo.getOwnerInfo().getAddr(),
+                yaQuoteInfoVo.getOwnerInfo().getIdentifyNumber());
+        huaTaiConfigureParameters.setCity(ownerPersonArea.getCityCode());
+        huaTaiConfigureParameters.setProvince(ownerPersonArea.getProvinceCode());
+        huaTaiConfigureParameters.setDistrict(ownerPersonArea.getCountyCode());
+
         // 2. 调用转投保接口
         HuaTaiSubmitResponse response = submitForUnderwriting(yaQuoteInfoVo, insAreaCompany, huaTaiConfigureParameters, engageList);
 

+ 5 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java

@@ -107,6 +107,11 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
         return baseMapper.getPendingAuditOrders(page,orderQueryVo);
     }
 
+    @Override
+    public Page<InsOrders> getAlreadyAuditOrders(Page page, OrderQueryVo orderQueryVo) {
+        return baseMapper.getAlreadyAuditOrders(page,orderQueryVo);
+    }
+
 }
 
 

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

@@ -350,11 +350,20 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
         }
         Page<InsAreaCompany> page = PageRequest.buildPageRequest(orderQueryVo.getPageRequest());
-        Page<InsOrders> pendingAuditOrders = insAreaCompanyService.getPendingAuditOrders(page,orderQueryVo);
 
-        return new BasePageResult<>(pendingAuditOrders.getCurrent(), page.getSize(), pendingAuditOrders.getTotal(),
-                pendingAuditOrders.getPages(),
-                pendingAuditOrders.getRecords());
+        Page<InsOrders> resultOrders = new Page<>();
+
+        //查询未审核
+        if(orderQueryVo.getAuditStatus().equals("0")){
+            resultOrders = insAreaCompanyService.getPendingAuditOrders(page, orderQueryVo);
+        }else if(orderQueryVo.getAuditStatus().equals("1")){
+            //已审核
+            resultOrders = insAreaCompanyService.getAlreadyAuditOrders(page,orderQueryVo);
+        }
+
+        return new BasePageResult<>(resultOrders.getCurrent(), page.getSize(), resultOrders.getTotal(),
+                resultOrders.getPages(),
+                resultOrders.getRecords());
     }
 
 //    @Override

+ 25 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsPinAnAreaServiceImpl.java

@@ -0,0 +1,25 @@
+package com.ydtech.modules.order.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.order.dao.InsPinAnAreaMapper;
+import com.ydtech.modules.order.entity.api.pingan.area.InsPinAnArea;
+import com.ydtech.modules.order.service.InsPinAnAreaService;
+import org.springframework.stereotype.Service;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/4/12 9:43
+ *  @Description: 添加平安区域数据表
+ */
+@Service
+public class InsPinAnAreaServiceImpl extends ServiceImpl<InsPinAnAreaMapper, InsPinAnArea>
+        implements InsPinAnAreaService {
+
+
+
+}
+
+
+
+

+ 2 - 2
src/main/java/com/ydtech/modules/protocols/entity/po/PtlAgreementProductCostsAttrLinkHistory.java

@@ -20,8 +20,8 @@ import java.time.LocalDateTime;
 @AllArgsConstructor
 public class PtlAgreementProductCostsAttrLinkHistory {
 
-    @TableId(value = "id", type = com.baomidou.mybatisplus.annotation.IdType.AUTO)
-    private Integer id;
+    @TableId(value = "id")
+    private String id;
 
     @ApiModelProperty(value = "费用id")
     @TableField(value = "costs_id")

+ 2 - 2
src/main/java/com/ydtech/modules/protocols/entity/po/PtlAgreementProductCostsNewHistory.java

@@ -22,8 +22,8 @@ import java.util.List;
 @AllArgsConstructor
 public class PtlAgreementProductCostsNewHistory {
 
-    @TableId(value = "id",type= IdType.AUTO)
-    private Integer id;
+    @TableId(value = "id")
+    private String id;
 
     @ApiModelProperty(value = "协议id")
     @TableField(value = "agreement_id")

+ 22 - 11
src/main/java/com/ydtech/modules/protocols/service/impl/PtlAgreementProductCostsNewServiceImpl.java

@@ -12,6 +12,7 @@ import com.ydtech.modules.protocols.entity.po.*;
 import com.ydtech.modules.protocols.entity.vo.AgreementProductCosts;
 import com.ydtech.modules.protocols.entity.vo.AgreementProductCostsSave;
 import com.ydtech.modules.protocols.service.*;
+import com.ydtech.utils.idgen.IdGenerate;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -282,7 +283,8 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
         //校验非车信息是否存在
         List<PtlAgreementProductCostsAttrLink> nonMotorInsurance = agreementProductCosts.getCostsAttrLinks().stream().filter(x -> x.getAttrCode().equals("NonMotorInsurance")).collect(Collectors.toList());
         if (nonMotorInsurance.size() > 0) {
-            if((!nonMotorInsurance.get(0).getMin().equals("0") || !nonMotorInsurance.get(0).getMax().equals("0"))) {
+            if(nonMotorInsurance.get(0).getMin() != null || nonMotorInsurance.get(0).getMax() != null)
+            {
                 if((agreementProductCosts.getNoCostsProportion() == null || agreementProductCosts.getNoCostsProportion().equals("0"))){
                     throw new SystemException("检测到存在非车费用因子,请填写非车费用!");
                 }
@@ -312,6 +314,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
         PtlAgreementProductCostsNewHistory ptlAgreementProductCostsNewHistory = new PtlAgreementProductCostsNewHistory();
         BeanUtils.copyProperties(agreementProductCosts, ptlAgreementProductCostsNewHistory);
         //添加费用ID
+        ptlAgreementProductCostsNewHistory.setId(IdGenerate.nextId());
         ptlAgreementProductCostsNewHistory.setCostsId(ptlAgreementProductCostsNew.getId());
         //生成批次ID
         String uuid = UUID.randomUUID().toString();
@@ -341,6 +344,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
                 costsAttrLink.add(x);
                 BeanUtils.copyProperties(x, costsAttrLinkHistory);
                 //设置产品费用因子历史记录
+                costsAttrLinkHistory.setId(IdGenerate.nextId());
                 costsAttrLinkHistory.setBatch(uuid);
                 costsAttrLinkHistory.setOperatorType("add");
                 costsAttrLinkHistory.setModifier(BaseController.getUser().getId());
@@ -354,6 +358,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
                     costsAttrLink.add(x);
                     BeanUtils.copyProperties(x, costsAttrLinkHistory);
                     //设置产品费用因子历史记录
+                    costsAttrLinkHistory.setId(IdGenerate.nextId());
                     costsAttrLinkHistory.setBatch(uuid);
 
                     costsAttrLinkHistory.setOperatorType("add");
@@ -374,15 +379,15 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
     @Override
     public boolean costsUpdate(AgreementProductCosts agreementProductCosts) {
         //校验非车信息是否存在
-//        List<PtlAgreementProductCostsAttrLink> nonMotorInsurance = agreementProductCosts.getCostsAttrLinks().stream().filter(x -> x.getAttrCode().equals("NonMotorInsurance")).collect(Collectors.toList());
-//        if (nonMotorInsurance.size() > 0) {
-//
-//            if((!nonMotorInsurance.get(0).getMin().equals("0") || !nonMotorInsurance.get(0).getMax().equals("0"))) {
-//                if((agreementProductCosts.getNoCostsProportion() == null || agreementProductCosts.getNoCostsProportion().equals("0"))){
-//                    throw new SystemException("检测到存在非车费用因子,请填写非车费用!");
-//                }
-//            }
-//        }
+        List<PtlAgreementProductCostsAttrLink> nonMotorInsurance = agreementProductCosts.getCostsAttrLinks().stream().filter(x -> x.getAttrCode().equals("NonMotorInsurance")).collect(Collectors.toList());
+        if (nonMotorInsurance.size() > 0) {
+            if(nonMotorInsurance.get(0).getMin() != null || nonMotorInsurance.get(0).getMax() != null)
+            {
+                if((agreementProductCosts.getNoCostsProportion() == null || agreementProductCosts.getNoCostsProportion().equals("0"))){
+                    throw new SystemException("检测到存在非车费用因子,请填写非车费用!");
+                }
+            }
+        }
 
         //更新费用主表信息
         PtlAgreementProductCostsNew ptlAgreementProductCostsNew = new PtlAgreementProductCostsNew();
@@ -413,6 +418,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
         PtlAgreementProductCostsNewHistory ptlAgreementProductCostsNewHistory = new PtlAgreementProductCostsNewHistory();
         BeanUtils.copyProperties(agreementProductCosts, ptlAgreementProductCostsNewHistory);
         //添加费用ID
+        ptlAgreementProductCostsNewHistory.setId(IdGenerate.nextId());
         ptlAgreementProductCostsNewHistory.setCostsId(ptlAgreementProductCostsNew.getId());
         //生成批次ID
         String uuid = UUID.randomUUID().toString();
@@ -454,6 +460,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
                 //设置产品费用因子历史记录
                 PtlAgreementProductCostsAttrLinkHistory costsAttrLinkHistory = new PtlAgreementProductCostsAttrLinkHistory();
                 BeanUtils.copyProperties(x, costsAttrLinkHistory);
+                costsAttrLinkHistory.setId(IdGenerate.nextId());
                 costsAttrLinkHistory.setBatch(uuid);
 
                 costsAttrLinkHistory.setOperatorType("update");
@@ -471,6 +478,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
                         //设置产品费用因子历史记录
                         PtlAgreementProductCostsAttrLinkHistory costsAttrLinkHistory = new PtlAgreementProductCostsAttrLinkHistory();
                         BeanUtils.copyProperties(x, costsAttrLinkHistory);
+                        costsAttrLinkHistory.setId(IdGenerate.nextId());
                         costsAttrLinkHistory.setBatch(uuid);
 
                         costsAttrLinkHistory.setOperatorType("update");
@@ -487,6 +495,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
                         //设置产品费用因子历史记录
                         PtlAgreementProductCostsAttrLinkHistory costsAttrLinkHistory = new PtlAgreementProductCostsAttrLinkHistory();
                         BeanUtils.copyProperties(x, costsAttrLinkHistory);
+                        costsAttrLinkHistory.setId(IdGenerate.nextId());
                         costsAttrLinkHistory.setBatch(uuid);
 
                         costsAttrLinkHistory.setOperatorType("update");
@@ -517,6 +526,7 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
         BeanUtils.copyProperties(ptlAgreementProductCostsNew, ptlAgreementProductCostsNewHistory);
         BeanUtils.copyProperties(productCostsExport, ptlAgreementProductCostsNewHistory);
         //添加费用ID
+        ptlAgreementProductCostsNewHistory.setId(IdGenerate.nextId());
         ptlAgreementProductCostsNewHistory.setCostsId(ptlAgreementProductCostsNew.getId());
         //生成批次ID
         String uuid = UUID.randomUUID().toString();
@@ -538,8 +548,9 @@ public class PtlAgreementProductCostsNewServiceImpl extends ServiceImpl<PtlAgree
             PtlAgreementProductCostsAttrLinkHistory costsAttrLinkHistory = new PtlAgreementProductCostsAttrLinkHistory();
             BeanUtils.copyProperties(x, costsAttrLinkHistory);
             //设置产品费用因子历史记录
+            costsAttrLinkHistory.setId(IdGenerate.nextId());
             costsAttrLinkHistory.setBatch(uuid);
-            costsAttrLinkHistory.setOperatorType("add");
+            costsAttrLinkHistory.setOperatorType("delete");
             costsAttrLinkHistory.setModifier(BaseController.getUser().getId());
             costsAttrLinkHistory.setOperatorTime(LocalDateTime.now());
             costsAttrLinkHistories.add(costsAttrLinkHistory);

+ 11 - 1
src/main/java/com/ydtech/modules/protocols/service/impl/PtlAgreementUndwrtRulesNewServiceImpl.java

@@ -227,7 +227,7 @@ public class PtlAgreementUndwrtRulesNewServiceImpl extends ServiceImpl<PtlAgreem
         List<PtlAgreementUndwrtRulesAttrLink> costsAttrLink = new ArrayList<>();
         rulesAttrList.forEach(x -> {
             //单独处理车牌号
-            if ("LicenseNo".equals(x.getAttrCode())) {
+            if ("LicenseNo".equals(x.getAttrCode()) && (x.getMin() != null && !x.getMin().equals(""))) {
                 x.setOperator(x.getDictLabal().getJSONObject(0).getString("parentNumber"));
                 x.setRulesId(ptlAgreementUndwrtRulesNew.getId());
                 x.setId(0);
@@ -297,6 +297,16 @@ public class PtlAgreementUndwrtRulesNewServiceImpl extends ServiceImpl<PtlAgreem
         List<PtlAgreementUndwrtRulesAttrLink> costsAttrLinks = agreementUndwrtRules.getRulesAttrList();
         List<PtlAgreementUndwrtRulesAttrLink> costsAttrLink = new ArrayList<>();
         costsAttrLinks.forEach(x -> {
+            //转换数组
+            if(x.getMinArray() != null && x.getMinArray().length > 0){
+                x.setMin(String.join(",",x.getMinArray()));
+            }
+
+            //处理中文逗号
+            if(x.getMin() != null && x.getMin().contains(","))
+            {
+                x.setMin(x.getMin().replace(",",","));
+            }
             //单独处理车牌号
             if ("LicenseNo".equals(x.getAttrCode()) && (x.getMin() != null && x.getMin() != "")) {
                 x.setOperator(x.getDictLabal().getJSONObject(0).getString("parentNumber"));

+ 6 - 2
src/main/resources/mapper/modules/fnc/InsPlyIncomeMapper.xml

@@ -29,6 +29,8 @@
         <result column="contract_file_id" property="contractFileId"/>
         <result column="handling_fees_status" property="handlingFeesStatus"/>
         <result column="documentary_fees_status" property="documentaryFeesStatus"/>
+        <result column="no_policyno" property="noPolicyno"/>
+        <result column="sy_policyno" property="syPolicyno"/>
     </resultMap>
 
     <select id="queryNew"  resultType="com.ydtech.modules.fnc.entity.InsPlyIncome">
@@ -55,6 +57,8 @@
                 a.contract_id  as  "contractId",
                 a.contract_file_id  as  "contractFileId",
                 a.handling_fees_status  as  "handlingFeesStatus",
+                a.no_policyno  as  "noPolicyno",
+                a.sy_policyno  as  "syPolicyno",
                 a.documentary_fees_status  as  "documentaryFeesStatus",
                 a.create_time  as  "createTime"
                 from  ins_ply_income a
@@ -63,8 +67,8 @@
                 <if test="startDate !=null  and  startDate!='' and  endDate !=null and endDate !=''">
                     and DATE_FORMAT( a.signdate, '%Y-%m-%d')  between DATE_FORMAT(#{startDate}, '%Y-%m-%d') and DATE_FORMAT(#{endDate}, '%Y-%m-%d')
                 </if>
-                <if test="agreementtype !=null  and  agreementtype  !=''">
-                    and pa.agreement_type =#{agreementtype}
+                <if test="agreementType !=null  and  agreementType  !=''">
+                    and pa.agreement_type =#{agreementType}
                 </if>
 
                <if test="handlingFeesStatus !=null  and  handlingFeesStatus  !=''">

+ 46 - 11
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -134,26 +134,29 @@
 
     <select id="getPendingAuditOrders" resultType="com.ydtech.modules.order.entity.InsOrders">
         SELECT
-            *
+        *
         FROM
-            ins_orders
+        ins_orders
         WHERE
-            orderno IN (
-            SELECT
-                orderno
-            FROM
-                ins_area_company
-            WHERE
-                    id IN ( SELECT ins_order_no FROM ins_fee_order_new WHERE ins_order_no IN ( SELECT id FROM ins_area_company WHERE orderstatus = 2 OR orderstatus = 3 ) UNION SELECT ins_order_no FROM ins_fee_audit )
+        orderno IN (
+        SELECT
+        orderno
+        FROM
+        ins_area_company
+        WHERE
+        id IN ( SELECT ins_order_no FROM ins_fee_order_new WHERE id NOT IN ( SELECT ins_order_no FROM ins_fee_audit ) )
+        AND orderstatus = 2
         )
+        AND
+        orderstatus= 2
         <if test="params.orderNo != null and params.orderNo != ''">
             AND orderno = #{params.orderNo}
         </if>
         <if test="params.licenseNo != null and params.licenseNo != ''">
-            AND license_no = #{params.licenseNo}
+            AND licenseno = #{params.licenseNo}
         </if>
         <if test="params.frameNo != null and params.frameNo != ''">
-            AND frame_no = #{params.frameNo}
+            AND frameno = #{params.frameNo}
         </if>
         <if test="params.insuredname != null and params.insuredname != ''">
             AND insuredname = #{params.insuredname}
@@ -163,4 +166,36 @@
         </if>
     </select>
 
+
+    <select id="getAlreadyAuditOrders" resultType="com.ydtech.modules.order.entity.InsOrders">
+        SELECT
+        *
+        FROM
+        ins_orders
+        WHERE
+        orderno IN (
+        SELECT
+        orderno
+        FROM
+        ins_area_company
+        WHERE
+        id IN ( SELECT ifon.ins_order_no FROM ins_fee_order_new ifon RIGHT JOIN ins_fee_audit ifa ON ifon.ins_order_no = ifa.ins_order_no ))
+          AND
+            orderstatus = 2
+        <if test="params.orderNo != null and params.orderNo != ''">
+            AND orderno = #{params.orderNo}
+        </if>
+        <if test="params.licenseNo != null and params.licenseNo != ''">
+            AND licenseno = #{params.licenseNo}
+        </if>
+        <if test="params.frameNo != null and params.frameNo != ''">
+            AND frameno = #{params.frameNo}
+        </if>
+        <if test="params.insuredname != null and params.insuredname != ''">
+            AND insuredname = #{params.insuredname}
+        </if>
+        <if test="params.startDate != null and params.startDate != ''">
+            BETWEEN createtime = #{params.startDate} and #{params.endDate}
+        </if>
+    </select>
 </mapper>