Преглед изворни кода

Merge remote-tracking branch 'origin/dev_jzg_lipf_v20260622'

jiakai пре 1 месец
родитељ
комит
8d1fb8d3fc

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/BatchModifyVo.java

@@ -60,6 +60,9 @@ public class BatchModifyVo {
     @Schema(description = "修改标识 1-手续费 2-跟单费 3-驾意险 4-所有都改")
     private String updateFlag;
 
+    @Schema(description = "要重新绑定的协议id")
+    private String updateAgreementId;
+
     @Schema(description = "公司id")
     private List<String> companyIds;
 

+ 8 - 2
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -2349,6 +2349,11 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                 log.info("根据订单号[{}]没有找到车险订单信息和订单的费用信息",orderNo);
                 continue;
             }
+            if(StrUtil.isNotBlank(batchModifyVo.getUpdateAgreementId())){
+                insFeeOrdersMapper.update(null, new LambdaUpdateWrapper<InsFeeOrders>()
+                        .set(InsFeeOrders::getAgreementId, batchModifyVo.getUpdateAgreementId())
+                        .eq(InsFeeOrders::getOrderNo,orderNo));
+            }
             // add by lipf, 进行费用的修改
             if(this.rationIsNotAllNull(batchModifyVo)){
                 log.info("费用比例不为空,同步调整费用。batchModifyVo=[{}]", JSONUtil.toJsonStr(batchModifyVo));
@@ -2366,12 +2371,12 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                         .set(InsFeeOrders::getSigningTime,batchModifyVo.getSigningTime())
                         .eq(InsFeeOrders::getOrderNo,orderNo));
             }
-            if(StrUtil.isNotEmpty(batchModifyVo.getContractUserName())){
+            if(StrUtil.isNotBlank(batchModifyVo.getContractUserName())){
                 baseMapper.update(null, new LambdaUpdateWrapper<InsOrders>()
                         .set(InsOrders::getDockingPerson, batchModifyVo.getContractUserName())
                         .eq(InsOrders::getId,orderNo));
             }
-            if(StrUtil.isNotEmpty(batchModifyVo.getContractPhone())){
+            if(StrUtil.isNotBlank(batchModifyVo.getContractPhone())){
                 baseMapper.update(null, new LambdaUpdateWrapper<InsOrders>()
                         .set(InsOrders::getDockingPersonPhone, batchModifyVo.getContractPhone())
                         .eq(InsOrders::getId,orderNo));
@@ -2420,6 +2425,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         int orderCount = baseMapper.update(null, new LambdaUpdateWrapper<InsOrders>()
                 .set(InsOrders::getCompanyId, companyId)
                 .set(InsOrders::getCompanyName, companyName)
+                .set(InsOrders::getAgreementId, batchModifyVo.getUpdateAgreementId())
                 .in(InsOrders::getId, orderNos));
         log.info("修改ins_orders保司信息完成,影响行数: {}", orderCount);
 

+ 18 - 5
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -31,6 +31,7 @@ import com.jzg.commons.entity.finance.vo.importimcome.*;
 import com.jzg.commons.entity.orders.po.InsOrderAdjust;
 import com.jzg.commons.entity.po.*;
 import com.jzg.commons.entity.quote.vo.orders.InsOrdersVo;
+import com.jzg.commons.entity.vo.AgreementVo;
 import com.jzg.commons.entity.vo.PtlAgreementCostRatioVo;
 import com.jzg.commons.exception.ServiceException;
 import com.jzg.commons.exception.SystemException;
@@ -3930,13 +3931,19 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         HttpResult<String> updateOrdersRes = insFeeOrdersClient.updateOrdersBatch(batchModifyVo);
         log.info("更新车险订单的结果:updateOrdersRes=[{}]", JSONUtil.toJsonStr(updateOrdersRes));
 
-        // 如果companyIds不为空,则执行保司信息修改逻辑
+        // 如果updateAgreementId不为空,则执行保司信息修改逻辑
         // 涉及表:ins_ply_income(未对账的才改)、ins_orders、ins_order_adjust
-        if (CollUtil.isNotEmpty(batchModifyVo.getCompanyIds())) {
-            List<String> companyIds = batchModifyVo.getCompanyIds();
+        String updateAgreementId = batchModifyVo.getUpdateAgreementId();
+        if (StrUtil.isNotBlank(updateAgreementId)) {
+            // 根据协议查询公司和子公司
+            AgreementVo agreementVo = ptlAgreementMapper.queryById(updateAgreementId);
+            if (null == agreementVo){
+                throw new ServiceException("未找到对应协议,请检查协议配置");
+            }
+
             // 获取新的保司ID(companyIds第一个元素)和合作保险公司ID(companyIds第二个元素,若不存在则使用保司ID)
-            String newCompanyId = CollUtil.getFirst(companyIds);
-            String newPartnerCompanyId = CollUtil.size(companyIds) > 1 ? CollUtil.getLast(companyIds) : newCompanyId;
+            String newCompanyId = agreementVo.getCompanyId();
+            String newPartnerCompanyId = agreementVo.getPartnerCompanyId();
 
             // 1. 修改ins_ply_income表(仅修改未对账的数据)
             // 调用setDisableFlagForOtherReceivable设置disableFlag:1-已对账(已开票),0-未对账(未开票)
@@ -3979,15 +3986,21 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                 log.info("没有未对账的应收订单需要修改保司信息");
             }
 
+            // 修改ins_fee_orders、ins_orders和ins_ply_income的agreement_id
+            insFeeOrdersClient.updateOrdersBatch(batchModifyVo);
+
             // 修改ins_ply_income表
             LambdaUpdateWrapper<InsPlyIncome> incomeUpdateWrapper = new LambdaUpdateWrapper<>();
             incomeUpdateWrapper.set(InsPlyIncome::getCompanyId, newCompanyId)
                     .set(InsPlyIncome::getPartnerCompanyId, newPartnerCompanyId)
+                    .set(InsPlyIncome::getAgreementId, updateAgreementId)
+                    .set(InsPlyIncome::getAgreementName, agreementVo.getAgreementName())
                     .in(InsPlyIncome::getId, updateIncomeIds);
             baseMapper.update(null, incomeUpdateWrapper);
             log.info("修改ins_ply_income保司信息完成,未对账数据条数: {}", updateIncomeIds.size());
 
             // 2. 修改ins_orders和ins_order_adjust表(通过feignClient调用quotation-summary服务)
+            batchModifyVo.setCompanyIds(CollUtil.newArrayList(newCompanyId));
             HttpResult<String> updateCompanyRes = insOrdersClient.updateCompanyBatch(batchModifyVo);
             log.info("修改ins_orders和ins_order_adjust保司信息的结果:updateCompanyRes=[{}]", JSONUtil.toJsonStr(updateCompanyRes));
         }