wuhp před 2 roky
rodič
revize
0a3ea900a4

+ 45 - 13
src/main/java/com/ydtech/modules/fnc/service/impl/InsPlyIncomeServiceImpl.java

@@ -1594,6 +1594,7 @@ handlingProportion,
     }
 
     @Override
+    @Transactional
     public HttpResult<Object> batchSumBalance(InsPlyIncomeVo insPlyIncomeVo) {
 
         List<InsPlyIncomeVo> multipleSelection = insPlyIncomeVo.getMultipleSelection();
@@ -1602,41 +1603,44 @@ handlingProportion,
         BigDecimal settleNotMentAmount = BigDecimal.ZERO;
         for (InsPlyIncomeVo item :  multipleSelection){
             SettlementDocumentaryFeesEntity settlementDocumentaryFeesVo = new SettlementDocumentaryFeesEntity();
-            if(item.getSettlementAmount()  ==null  ||  item .getSettlementAmount().compareTo(BigDecimal.ZERO) <0){
+            if(item.getInvoicCommissionFeevalue()  ==null  ||  item .getSettlementAmount().compareTo(BigDecimal.ZERO) <0){
                 throw new SystemException("请输入正确金额");
             }
             String id = item.getId();
             SettlementDocumentaryFeesEntity settlementDocumentaryFeesEntity = settlementDocumentaryFeesService.getBaseMapper().selectById(id);   // 开票
             BigDecimal invoicedNotSettledAmount = settlementDocumentaryFeesEntity.getInvoicedNotSettledAmount();//未结算金额
-            if(item.getSettlementAmount().compareTo(invoicedNotSettledAmount) >0){
+            if(item.getInvoicCommissionFeevalue().compareTo(invoicedNotSettledAmount) >0){
                 throw new SystemException("结算金额大于未结算金额");
             }
-            if(item.getSettlementAmount().compareTo(BigDecimal.ZERO) >0){
+            if(item.getInvoicCommissionFeevalue().compareTo(BigDecimal.ZERO) >0){
                 settlementDocumentaryFeesVo.setInvoiceId(settlementDocumentaryFeesEntity.getInvoicId());   //开票号
                 settlementDocumentaryFeesVo.setSettlementTime(insPlyIncomeVo.getSettlementTime());   //结算时间
                 settlementDocumentaryFeesVo.setSettlementStatus("2");   //2为结算状态
                 settlementDocumentaryFeesVo.setCompanyId(settlementDocumentaryFeesEntity.getCompanyId());  // 保险公司id
                 settlementDocumentaryFeesVo.setPartnerCompaniesId(settlementDocumentaryFeesEntity.getPartnerCompaniesId());  //合作公司id
-                settlementDocumentaryFeesVo.setUnsettledAmount(insPlyIncomeVo.getInvoicCommissionFeevalue().subtract(insPlyIncomeVo.getSettlementAmount()));  //未结算金额
+//                settlementDocumentaryFeesVo.setUnsettledAmount(insPlyIncomeVo.getInvoicCommissionFeevalue().subtract(insPlyIncomeVo.getSettlementAmount()));  //未结算金额
                 settlementDocumentaryFeesVo.setIsNotCar(settlementDocumentaryFeesEntity.getIsNotCar()); // 是否是非车
                 settlementDocumentaryFeesVo.setInvoicingMethod(settlementDocumentaryFeesEntity.getInvoicingMethod());  //开票方式
                 settlementDocumentaryFeesVo.setTaxPoints(settlementDocumentaryFeesEntity.getTaxPoints());  //税点
-                settlementDocumentaryFeesVo.setSettlementImageId(settlementDocumentaryFeesEntity.getSettlementImageId());
+                settlementDocumentaryFeesVo.setSettlementImageId(insPlyIncomeVo.getSettlementImageId());
                 if ("0".equals(insPlyIncomeVo.getInvoicingMethod())) {
-                    settlementDocumentaryFeesVo.setExpendAmount(settlementDocumentaryFeesEntity.getSettlementAmount().multiply(BigDecimal.ONE.subtract(insPlyIncomeVo.getTaxPoints().divide(new BigDecimal(100)))));
+                    settlementDocumentaryFeesVo.setExpendAmount(item.getInvoicCommissionFeevalue().multiply(BigDecimal.ONE.subtract(insPlyIncomeVo.getTaxPoints().divide(new BigDecimal(100)))));
                 } else {
-                    settlementDocumentaryFeesVo.setExpendAmount(settlementDocumentaryFeesEntity.getSettlementAmount());   //进账金额
+                    settlementDocumentaryFeesVo.setExpendAmount(item.getInvoicCommissionFeevalue());   //进账金额
                 }
-                settlementDocumentaryFeesVo.setSettlementAmount(insPlyIncomeVo.getSettlementAmount());   //进账金额
+                settlementDocumentaryFeesVo.setSettlementAmount(item.getInvoicCommissionFeevalue());   //进账金额
                 settlementDocumentaryFeesVo.setHandlingFeesStatus(settlementDocumentaryFeesEntity.getHandlingFeesStatus());
-                settlementDocumentaryFeesVo.setTotalAmount(insPlyIncomeVo.getInvoicCommissionFeevalue());
+                settlementDocumentaryFeesVo.setTotalAmount(settlementDocumentaryFeesEntity.getSettlementAmount());
                 settlementDocumentaryFeesVo.setCreateTime(LocalDateTime.now());
+                settlementDocumentaryFeesVo.setSettlementTime(LocalDate.now());
                 settlementDocumentaryFeesVo.setParentId(insPlyIncomeVo.getId());
                 settlementDocumentaryFeesVo.setAgreementType("2");  //1平台 2  保险
+                settlementDocumentaryFeesVo.setInvoicedSettledAmount(item.getInvoicCommissionFeevalue());
+                settlementDocumentaryFeesVo.setInvoicedNotSettledAmount(BigDecimal.ZERO);
 
                 //       生成跟单费结算记录
                 SettlementDocumentaryLogEntity settlementDocumentaryLogEntity = new SettlementDocumentaryLogEntity();
-                settlementDocumentaryLogEntity.setAmount(settlementDocumentaryFeesVo.getSettlementAmount());  // 结算金额
+                settlementDocumentaryLogEntity.setAmount(item.getInvoicCommissionFeevalue());  // 结算金额
                 settlementDocumentaryLogEntity.setSettlementDocumentaryId(settlementDocumentaryFeesEntity.getId()); // 关联id
                 settlementDocumentaryLogEntity.setAmountType("2");  //跟单费结算
                 settlementDocumentaryLogEntity.setCreateTime(new Date());
@@ -1645,10 +1649,10 @@ handlingProportion,
                 settlementDocumentaryLogService.save(settlementDocumentaryLogEntity);
                 //修改开票金额
 
-                BigDecimal add = settlementDocumentaryFeesEntity.getInvoicedSettledAmount().add(insPlyIncomeVo.getSettlementAmount());
+                BigDecimal add = settlementDocumentaryFeesEntity.getInvoicedSettledAmount().add(item.getInvoicCommissionFeevalue());
                 settlementDocumentaryFeesEntity.setInvoicedSettledAmount(add);
 
-                BigDecimal subtract = settlementDocumentaryFeesEntity.getTotalAmount().subtract(add);
+                BigDecimal subtract = settlementDocumentaryFeesEntity.getSettlementAmount().subtract(item.getInvoicCommissionFeevalue());
                 settlementDocumentaryFeesEntity.setInvoicedNotSettledAmount(subtract);
 
                 if (subtract.compareTo(BigDecimal.ZERO) == 0) {
@@ -1673,7 +1677,7 @@ handlingProportion,
             }
             settlementDocumentaryFeesSumService.updateById(settlementDocumentaryFeesSumEntity);
         }
-        return null;
+        return HttpResult.ok();
     }
 
 
@@ -2668,7 +2672,35 @@ handlingProportion,
     @Override
     public HttpResult<InsPlyIncome> ptInsert(InsPlyIncomeVo insPlyIncomeVo) {
         InsPlyIncome insPlyIncome = new InsPlyIncome();
+        String agreementId = insPlyIncomeVo.getAgreementId();
+        if(StringUtils.isNotEmpty(agreementId)){
+            HttpResult<PtlAgreementQueryVo> byAgreementId = ptlAgreementService.getByAgreementId(agreementId);
+            if(byAgreementId!=null  && ObjectUtils.isNotEmpty(byAgreementId.getData())){
+                PtlAgreementQueryVo data = byAgreementId.getData();
+                PtlAgreement agreement = data.getAgreement();
+                if(ObjectUtils.isNotEmpty(agreement)){
+                    insPlyIncomeVo.setPartnerCompaniesId(agreement.getPartnerCompaniesId());
+                    insPlyIncomeVo.setCompanyId(agreement.getInsuranceCompanyId());
+                }
+            }
+        }
+
         BeanUtils.copyProperties(insPlyIncomeVo, insPlyIncome);
+        if (StringUtils.isNotEmpty(insPlyIncome.getPartnerCompaniesId())) {
+//                合作公司id
+            String partnerCompaniesId = insPlyIncome.getPartnerCompaniesId();
+            insPlyIncome.setPartnerCompaniesId(partnerCompaniesId);
+            EsmInsCompany esmInsCompany = EsmInsCompanyService.getById(partnerCompaniesId);
+            String name = esmInsCompany.getNamesimple();   //合作名称
+            insPlyIncome.setPartnerCompaniesName(name);
+            insPlyIncome.setPartnerCompaniesId(insPlyIncome.getPartnerCompaniesId());
+        }
+        if (StringUtils.isNotEmpty(insPlyIncome.getCompanyId())) {
+            String insuranceCompanyId = insPlyIncome.getCompanyId();
+            EsmInsCompany esmInsCompany = EsmInsCompanyService.getById(insuranceCompanyId);
+            String name = esmInsCompany.getNamesimple();   //保险公司名称  简称
+            insPlyIncome.setCompanyName(name);
+        }
         insPlyIncome.setCreateTime(LocalDate.now());
         insPlyIncomeVo.setAgreementType("1");
         baseMapper.insert(insPlyIncome);

+ 3 - 0
src/main/java/com/ydtech/modules/fnc/service/impl/SettlementDocumentaryFeesServiceImpl.java

@@ -68,6 +68,9 @@ public class SettlementDocumentaryFeesServiceImpl extends ServiceImpl<Settlement
             if (StringUtils.isNotEmpty(settlementDocumentaryFeesVo.getSettlementStatus())) {
                 params.put("settlementStatus", settlementDocumentaryFeesVo.getSettlementStatus());
             }
+            if (StringUtils.isNotEmpty(settlementDocumentaryFeesVo.getSettlementSumId())) {
+                params.put("settlementSumId", settlementDocumentaryFeesVo.getSettlementSumId());
+            }
             PageInfo<List<SettlementDocumentaryFeesEntity>> pageHelper = null;
             List<SettlementDocumentaryFeesEntity> list = this.baseMapper.querySettle(params);
             pageHelper = new PageInfo(list);

+ 6 - 0
src/main/java/com/ydtech/modules/fnc/vo/InsPlyIncomeVo.java

@@ -61,6 +61,7 @@ public class InsPlyIncomeVo implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private LocalDate settlementTime;
 
+
     @ApiModelProperty("交强保单号")
     private String policyno;
 
@@ -363,6 +364,11 @@ public class InsPlyIncomeVo implements Serializable {
     private String settlementSumId;
 
 
+    @ApiModelProperty("已开票未结算")
+    private BigDecimal  invoicedNotSettledAmount;
+
+
+
 
 
 }

+ 3 - 1
src/main/resources/mapper/modules/fnc/InsPlyIncomeMapper.xml

@@ -150,8 +150,9 @@
                 a.settle_other_status  as  "settleOtherStatus",
                 a.user_id  as  "userId",
                 a.invoicing_method  as  "invoicingMethod",
-                a.settlement_image_id as "settlementImageId",
+                a.settlement_image_id as "settlementUserName",
                 a.task_id as "taskId",
+                su1.name as "taskId",
                 a.create_time  as  "createTime"
     </sql>
 
@@ -167,6 +168,7 @@
         from  ins_ply_income a
         LEFT  JOIN  ptl_agreement  pa  on  a.agreement_id  = pa.id
         LEFT  JOIN  sys_user   su  on su.id=a.user_id
+        LEFT  JOIN  sys_user   su1  on su1.id=a.settlement_user_id
         LEFT  JOIN   ins_upload_files  upf   on  a.settlement_image_id=upf.id
         LEFT  JOIN   esm_ins_company  eic   on  eic.id=a.partner_companies_id
         LEFT  JOIN   sys_dept b on pa.dept_id=b.id

+ 2 - 5
src/main/resources/mapper/modules/fnc/SettlementDocumentaryFeesSumMapper.xml

@@ -6,7 +6,7 @@
     <sql id="income_com">
                 a.id as  "id",
                 a.total_amount  as  "totalAmount",
-                a.create_time  as  "createTime"
+                a.create_time  as  "createTime",
                 a.company_id  as  "companyId",
                 a.settlement_status  as  "settlementStatus",
                 a.user_id  as  "userId",
@@ -44,10 +44,7 @@
             <if test="partnerCompaniesId  !=null  and  partnerCompaniesId  !=''">
                 AND a.partner_companies_id =#{partnerCompaniesId}
             </if>
-          <if test="partnerCompaniesId  !=null  and  partnerCompaniesId  !=''">
-                AND a.partner_companies_id =#{partnerCompaniesId}
-            </if>
-        <if test="completionStatus  !=null  and  completionStatus  !=''">
+          <if test="completionStatus  !=null  and  completionStatus  !=''">
                 AND a.completion_status =#{completionStatus}
             </if>
         </where>