Browse Source

Merge branch 'dev_jzg_lipf_v20260622'

lipf 2 tuần trước cách đây
mục cha
commit
7d7f5a06ec

+ 16 - 0
commons/src/main/java/com/jzg/commons/entity/finance/dto/ExportSuperviseSettlementDetailExcelDto.java

@@ -132,4 +132,20 @@ public class ExportSuperviseSettlementDetailExcelDto {
     @Schema(description = "对接人手机号")
     @ExcelProperty(value = "对接人手机号")
     private  String contactPersonPhone;
+
+    @Schema(description = "订单号")
+    @ExcelProperty(value = "订单号")
+    private String orderNo;
+
+    @Schema(description = "订单状态(编码)")
+    @ExcelProperty(value = "订单状态(编码)")
+    private String orderStatus;
+
+    @Schema(description = "订单状态(转义)")
+    @ExcelProperty(value = "订单状态(转义)")
+    private String orderStatusName;
+
+    @Schema(description = "发票号")
+    @ExcelProperty(value = "发票号")
+    private String invoiceNo;
 }

+ 20 - 0
commons/src/main/java/com/jzg/commons/entity/finance/po/InsPlyIncome.java

@@ -411,4 +411,24 @@ public class InsPlyIncome extends BaseModel {
     @Schema(description = "禁用标志:1-已对账(禁用),0-未对账(可用)")
     @ExcelIgnore
     private String disableFlag;
+
+    @TableField(exist = false)
+    @Schema(description = "投保人")
+    @ExcelIgnore
+    private String policyholder;
+
+    @TableField(exist = false)
+    @Schema(description = "支付时间")
+    @ExcelIgnore
+    private String payTime;
+
+    @TableField(exist = false)
+    @Schema(description = "报价时间")
+    @ExcelIgnore
+    private String reportTime;
+
+    @TableField(exist = false)
+    @Schema(description = "发票号")
+    @ExcelIgnore
+    private String invoiceNo;
 }

+ 20 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/ReceivableQueryVo.java

@@ -130,4 +130,24 @@ public class ReceivableQueryVo extends PageRequest {
      */
     private String invoiceType;
 
+    @Schema(description = "支付开始时间")
+    private String payTimeBegin;
+
+    @Schema(description = "支付结束时间")
+    private String payTimeEnd;
+
+    @Schema(description = "报价开始时间")
+    private String reportTimeBegin;
+
+    @Schema(description = "报价结束时间")
+    private String reportTimeEnd;
+
+    @Schema(description = "保险机构")
+    private String partnerCompanyId;
+
+    @Schema(description = "修改人")
+    private String updateBy;
+
+
+
 }

+ 9 - 1
commons/src/main/java/com/jzg/commons/entity/finance/vo/SettlementQueryVo.java

@@ -86,10 +86,18 @@ public class SettlementQueryVo extends PageRequest {
     @Schema(description = "租户代码")
     private String systemCode;
 
-
     /**
      * 签署月份,格式:2026-07
      */
     @Schema(description = "签署月份")
     private String signMonth;
+
+    @Schema(description = "回款时间-起")
+    private String receivePaymentDateBegin;
+
+    @Schema(description = "回款时间-止")
+    private String receivePaymentDateEnd;
+
+    @Schema(description = "发票号")
+    private String invoiceNo;
 }

+ 6 - 0
commons/src/main/java/com/jzg/commons/util/DateTimeUtils.java

@@ -25,6 +25,9 @@ public class DateTimeUtils {
      * @date 2026/8/27 15:10
      */
     public static String obtainStartTime(String beginDate){
+        if(StrUtil.isEmpty(beginDate)){
+            return null;
+        }
         LocalDate localDate = LocalDate.parse(beginDate, DATE_FORMATTER);
         return localDate.atStartOfDay().format(DateTimeFormatter.ofPattern(pattern));
     }
@@ -38,6 +41,9 @@ public class DateTimeUtils {
      * @date 2026/8/27 15:10
      */
     public static String obtainNextDayStartTime(String endDate){
+        if(StrUtil.isEmpty(endDate)){
+            return null;
+        }
         LocalDate localDate= LocalDate.parse(endDate, DATE_FORMATTER);
         LocalDateTime nextLocalDateTime = localDate.plusDays(1).atStartOfDay();
         return nextLocalDateTime.format(DateTimeFormatter.ofPattern(pattern));

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/controller/ReceivableController.java

@@ -197,7 +197,7 @@ public class ReceivableController {
 
     @PostMapping("updateInsPlyIncome")
     @Operation(summary = "应收记录的修改")
-    public HttpResult<String> updateInsPlyIncome(InsPlyIncomeModify modifyParam){
+    public HttpResult<String> updateInsPlyIncome(@RequestBody InsPlyIncomeModify modifyParam){
         String userName = baseController.getUserName();
         log.info("应收记录的修改.useName=[{}],modifyParam=[{}]", userName, modifyParam);
         modifyParam.setUpdateBy(userName);

+ 10 - 1
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -311,6 +311,12 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
     @Override
     public Page<InsPlyIncome> getReceivablePage(ReceivableQueryVo receivableQueryVo) {
         log.info("获取私有协议手续费应收列表。receivableQueryVo=[{}]", JSONUtil.toJsonStr(receivableQueryVo));
+
+//        if(StrUtil.isNotEmpty(receivableQueryVo.getUpdateBy())){
+//            insFeeOrdersClient.getUserNameByMobile();
+//        }
+
+
         Page<InsPlyIncome> page = baseMapper.getReceivablePage(receivableQueryVo.getPage(), receivableQueryVo);
         List<InsPlyIncome> records = page.getRecords();
         records = records.stream().filter(action->{
@@ -5363,6 +5369,9 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         log.info("查询结算手续费结算记录:settlementQueryVo=[{}]", JSONUtil.toJsonStr(settlementQueryVo));
         // 设置空条件
         setNoneCondition(settlementQueryVo);
+        settlementQueryVo.setReceivePaymentDateBegin(DateTimeUtils.obtainStartTime(settlementQueryVo.getReceivePaymentDateBegin()));
+        settlementQueryVo.setReceivePaymentDateEnd(DateTimeUtils.obtainNextDayStartTime(settlementQueryVo.getReceivePaymentDateEnd()));
+
         // 设置租户
         settlementQueryVo.setSystemCode(baseController.getSystemCode());
         Page<ExportSuperviseSettlementExcelDto> exportSuperviseSettlementExcelDtos = baseMapper.superviseSettlementExcelDtos(page, settlementQueryVo);
@@ -7007,7 +7016,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         policy.setUpdateTime(LocalDateTime.now());
         insOrdersPolicyMapper.updateById(policy);
         log.info("保险单号修改成功");
-        return null;
+        return HttpResult.ok("修改成功");
     }
 }
 

+ 56 - 13
tenant/organization/src/main/resources/mapper/ReceivableMapper.xml

@@ -208,9 +208,9 @@
         io.real_quote_user_id,
         io.real_quote_user_id as real_quote_user_name,
         io.signing_time,
-        date(io.signing_time ) as sign_date,
+        date(io.signing_time) as sign_date,
         year(io.signing_time) as sign_year,
-        DATE_FORMAT(io.signing_time,'%Y-%m') AS sign_month,
+        DATE_FORMAT(io.signing_time, '%Y-%m') AS sign_month,
         ipi.id,
         io.id as 'orderNo',
         eic.name_simple as companyName,
@@ -247,9 +247,10 @@
         ipi.jq_other_costs_premiums,
         ipi.sy_other_costs_premiums,
         ipi.jy_other_costs_premiums,
-        COALESCE(ipi.jy_supervise_costs_premiums, 0) + COALESCE(ipi.jy_other_costs_premiums,0) as jyTotalPremiums,
+        COALESCE(ipi.jy_supervise_costs_premiums, 0) + COALESCE(ipi.jy_other_costs_premiums, 0) as jyTotalPremiums,
         io.product_name,
         iocui.name AS insuredPerson,
+        iocui2.name as policyholder,
         ipi.jq_premium,
         ipi.sy_premium,
         ipi.jy_premium,
@@ -279,18 +280,42 @@
         ipi.update_time,
         ipi.update_by,
         io.docking_person,
-        eic.name_simple as companyNameSimple, ipi.contact_person , ipi.contact_person_phone
+        eic.name_simple as companyNameSimple,
+        ipi.contact_person ,
+        ipi.contact_person_phone,
+        io.pay_time,
+        io.create_time as report_time
         FROM
         ins_ply_income ipi
-        LEFT JOIN ins_orders io ON ipi.order_no = io.id AND io.is_delete = 0
-        LEFT JOIN ins_orders_car_user_info iocui ON ipi.order_no = iocui.order_no and iocui.policy_person_type = '3' AND iocui.is_delete = 0
-        LEFT JOIN ins_orders_risk ior1 ON ipi.order_no = ior1.order_no and ior1.risk_code = '0507' AND ior1.is_delete = 0
-        LEFT JOIN ins_orders_risk ior2 ON ipi.order_no = ior2.order_no and ior2.risk_code = '0510' AND ior2.is_delete = 0
-        LEFT JOIN ins_orders_policy iop ON ipi.order_no = iop.order_no AND iop.is_delete = 0
-        LEFT JOIN esm_ins_company eic on ipi.company_id = eic.id AND eic.is_delete = 0
-        left join ptl_agreement pa on pa.id = io.agreement_id
+        LEFT JOIN ins_orders io ON
+        ipi.order_no = io.id
+        AND io.is_delete = 0
+        LEFT JOIN ins_orders_car_user_info iocui ON
+        ipi.order_no = iocui.order_no
+        and iocui.policy_person_type = '3'
+        AND iocui.is_delete = 0
+        LEFT JOIN ins_orders_car_user_info iocui2 ON
+        ipi.order_no = iocui2.order_no
+        and iocui2.policy_person_type = '2'
+        AND iocui2.is_delete = 0
+        LEFT JOIN ins_orders_risk ior1 ON
+        ipi.order_no = ior1.order_no
+        and ior1.risk_code = '0507'
+        AND ior1.is_delete = 0
+        LEFT JOIN ins_orders_risk ior2 ON
+        ipi.order_no = ior2.order_no
+        and ior2.risk_code = '0510'
+        AND ior2.is_delete = 0
+        LEFT JOIN ins_orders_policy iop ON
+        ipi.order_no = iop.order_no
+        AND iop.is_delete = 0
+        LEFT JOIN esm_ins_company eic on
+        ipi.company_id = eic.id
+        AND eic.is_delete = 0
+        left join ptl_agreement pa on
+        pa.id = io.agreement_id
         where
-            ipi.is_delete  = 0
+        ipi.is_delete = 0
     </sql>
     <!-- 查询应收订单总额 lipf 2026年6月4日10:22:57 -->
     <select id="queryAllTotalReceivablePremiumByOrderNo" resultType="java.math.BigDecimal">
@@ -331,6 +356,18 @@
     <select id="getReceivablePage" resultType="com.jzg.commons.entity.finance.po.InsPlyIncome">
         <include refid="query"/>
         and ipi.system_code = #{receivableQueryVo.systemCode}
+        <if test="receivableQueryVo.payTimeBegin != null and receivableQueryVo.payTimeEnd != null">
+            and io.pay_time between #{receivableQueryVo.payTimeBegin} and #{receivableQueryVo.payTimeEnd}
+        </if>
+        <if test="receivableQueryVo.reportTimeBegin != null and receivableQueryVo.reportTimeEnd != null">
+            and io.create_time between #{receivableQueryVo.reportTimeBegin} and #{receivableQueryVo.reportTimeEnd}
+        </if>
+        <if test="receivableQueryVo.updateBy != null and receivableQueryVo.updateBy !='' ">
+            and ipi.update_by = #{receivableQueryVo.updateBy}
+        </if>
+        <if test="receivableQueryVo.partnerCompanyId != null">
+            and ipi.partner_company_id = #{receivableQueryVo.partnerCompanyId}
+        </if>
         <if test="receivableQueryVo.riskCode != null and receivableQueryVo.riskCode != '' ">
             and io.product_name = #{receivableQueryVo.riskCode}
         </if>
@@ -628,7 +665,7 @@
         ipiis.create_by ,
         ipiis.create_time,
         ipiis.settlement_payment_difference ,
-        ipiis.settlement_payment_reason
+        ipiis.settlement_payment_reason,ipii.invoice_no
         FROM
         ins_ply_income_invoice_settlement ipiis
         LEFT JOIN ins_ply_income_invoice ipii ON ipii.id = ipiis.invoice_id AND ipii.is_delete = 0
@@ -639,6 +676,12 @@
         <where>
             ipiis.is_delete = 0
             AND ipiis.system_code = #{settlementQueryVo.systemCode}
+            <if test="settlementQueryVo.receivePaymentDateBegin != null and settlementQueryVo.receivePaymentDateBegin != '' and settlementQueryVo.receivePaymentDateEnd != null and settlementQueryVo.receivePaymentDateEnd != '' ">
+                and ipiis.receive_payment_date between #{settlementQueryVo.receivePaymentDateBegin} and #{settlementQueryVo.receivePaymentDateEnd}
+            </if>
+            <if test="settlementQueryVo.invoiceNo != null and settlementQueryVo.invoiceNo != '' ">
+                and ipii.invoice_no = #{settlementQueryVo.invoiceNo}
+            </if>
             <if test="settlementQueryVo.settlementIds != null and settlementQueryVo.settlementIds != ''">
                 AND ipiis.id IN
                 <foreach collection="settlementQueryVo.settlementIds" item="settlementId" open="(" separator="," close=")">