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

Merge remote-tracking branch 'origin/master'

lixiaolong пре 1 месец
родитељ
комит
272e273e2f

+ 2 - 0
commons/src/main/java/com/jzg/commons/entity/account/po/SysUserAccountChangeLog.java

@@ -93,6 +93,8 @@ public class SysUserAccountChangeLog extends BaseModel {
     @ExcelIgnore
     private static Map<Integer,String> operClassMap = new  HashMap<Integer,String>();
     static {
+
+        operClassMap.put(0,"支出"); // 有点提现完成,不知道为什么会是0, 所以这里添加一个
         operClassMap.put(1,"收入");
         operClassMap.put(2,"收入");
         operClassMap.put(3,"支出");

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

@@ -72,6 +72,9 @@ public class SettlementReportQueryVo extends PageRequest {
     @Schema(description = "开票状态 0-未开票 1-已开票")
     private String invoiceStatus;
 
+    @Schema(description = "结算状态 0-已开票未结清 1-已结清 2-未开票")
+    private String settlementStatus;
+
     @Schema(description = "租户代码")
     private String systemCode;
 

+ 4 - 0
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/client/OrgClient.java

@@ -33,6 +33,7 @@ public interface OrgClient {
     HttpResult<SysUserJzgInfo> queryUserByUserId(@RequestParam("userId") String userId,
                                                  @RequestParam("systemCode") String systemCode);
 
+
     /**
      * 查询所有成员和业务员的身份
      *
@@ -54,6 +55,9 @@ public interface OrgClient {
     HttpResult<PersonAreaVo> queryByAddress(@RequestParam("address") String address,
                                             @RequestParam("idCard") String idCard);
 
+    @GetMapping(value = "/area/queryAllParent")
+    HttpResult<List<SysArea>> queryAllParent(@RequestParam("countyCode") String countyCode);
+
     @GetMapping(value = "/agreement/getByCompanyId")
     HttpResult<List<PtlAgreement>> getByCompanyId(@RequestParam("companyId") String companyId,
                                                   @RequestParam("systemCode") String code

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

@@ -160,6 +160,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
     @Value("${minio.bucket-name}")
     private String bucketName;
 
+
     /**
      * null-safe → BigDecimal.ZERO
      */
@@ -1829,6 +1830,31 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         } else {
             insOrdersVo = selectById(Long.parseLong(ordersNo));
         }
+
+        HttpResult<List<SysArea>> sysAreasResult = orgClient.queryAllParent(insOrdersVo.getOwnersInfo().getCountyCode());
+        if(sysAreasResult.getCode() == 200) {
+            List<SysArea> sysAreas = sysAreasResult.getData();
+            insOrdersVo.getOwnersInfo().setProvince(sysAreas.get(3).getAreaCname());
+            insOrdersVo.getOwnersInfo().setCity(sysAreas.get(2).getAreaCname());
+            insOrdersVo.getOwnersInfo().setCounty(sysAreas.get(1).getAreaCname());
+        }
+
+        HttpResult<List<SysArea>> sysPoliCyAreasResult = orgClient.queryAllParent(insOrdersVo.getPolicyHolderInfo().getCountyCode());
+        if(sysPoliCyAreasResult.getCode() == 200) {
+            List<SysArea> sysAreas = sysAreasResult.getData();
+            insOrdersVo.getPolicyHolderInfo().setProvince(sysAreas.get(3).getAreaCname());
+            insOrdersVo.getPolicyHolderInfo().setCity(sysAreas.get(2).getAreaCname());
+            insOrdersVo.getPolicyHolderInfo().setCounty(sysAreas.get(1).getAreaCname());
+        }
+
+        HttpResult<List<SysArea>> sysInsuredAreasResult = orgClient.queryAllParent(insOrdersVo.getInsuredPersonInfo().getCountyCode());
+        if(sysInsuredAreasResult.getCode() == 200) {
+            List<SysArea> sysAreas = sysAreasResult.getData();
+            insOrdersVo.getInsuredPersonInfo().setProvince(sysAreas.get(3).getAreaCname());
+            insOrdersVo.getInsuredPersonInfo().setCity(sysAreas.get(2).getAreaCname());
+            insOrdersVo.getInsuredPersonInfo().setCounty(sysAreas.get(1).getAreaCname());
+        }
+
         log.info("根据orderNo=[{}]查询到的订单明细[{}]", ordersNo, JSONUtil.toJsonStr(insOrdersVo));
         AssertionUtils.isFail(Objects.isNull(insOrdersVo), "订单不存在");
         QuoteEchoVo resultVo = new QuoteEchoVo(insOrdersVo);

+ 10 - 0
tenant/organization/src/main/java/com/jzg/organization/controller/AreaController.java

@@ -2,6 +2,7 @@ package com.jzg.organization.controller;
 
 import com.jzg.commons.aop.PremissionCheck;
 import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.po.SysArea;
 import com.jzg.commons.entity.vo.PersonAreaVo;
 import com.jzg.commons.entity.vo.SysAreaVo;
 import com.jzg.organization.service.SysAreaService;
@@ -35,4 +36,13 @@ public class AreaController {
                                                    @RequestParam("idCard") String idCard) {
         return HttpResult.ok(sysAreaService.queryByAddress(address, idCard));
     }
+
+    @Schema(description = "根据县获取省市县类型")
+    @GetMapping(value = "queryAllParent")
+    public HttpResult<List<SysArea>> queryAllParent(@RequestParam("countyCode") String countyCode){
+        SysArea sysArea = new SysArea();
+        sysArea.setLevel(3);
+        sysArea.setUpperCode(countyCode);
+        return HttpResult.ok(sysAreaService.queryAllParent(sysArea));
+    }
 }

+ 8 - 0
tenant/organization/src/main/java/com/jzg/organization/mapper/ReceivableMapper.java

@@ -284,6 +284,14 @@ public interface ReceivableMapper extends BaseMapper<InsPlyIncome> {
      */
     InsPlyIncomeInvoiceSettlementVo querySettledAmountByInvoiceIds(@Param("invoiceIdList") List<String> invoiceIdList);
 
+    /**
+     * 查询未结清发票数量(status=0的发票数量)
+     *
+     * @param invoiceIdList 发票ID列表
+     * @return 未结清发票数量
+     */
+    int countUnsettledInvoicesByInvoiceIds(@Param("invoiceIdList") List<String> invoiceIdList);
+
     List<PlatformCompanyFeeVO> selectPlatformCompanySettlementReport(@Param("query") SettlementReportQueryVo settlementReportQueryVo);
 
     /**

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/mapper/SysUserAccountIncomeLogMapper.java

@@ -72,7 +72,7 @@ public interface SysUserAccountIncomeLogMapper extends BaseMapper<SysUserAccount
                 5 AS oper_type,
                 NULL AS related_order_id,
                 NULL AS bank_card_id_to,
-                NULL AS bank_card_no_to,
+                saa.bank_card_num AS bank_card_no_to,
                 NULL AS bank_card_id_in,
                 NULL AS bank_card_no_in,
                 NULL AS is_delete,

+ 26 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -6313,6 +6313,32 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                     records = records.stream().filter(action-> !"0".equals(action.getUnSettledAmount())).toList();
                 }
             }
+            // 根据结算状态过滤:0-已开票未结清 1-已结清 2-未开票
+            if(StrUtil.isNotEmpty(settlementReportQueryVo.getSettlementStatus())){
+                String settlementStatus = settlementReportQueryVo.getSettlementStatus();
+                if("2".equals(settlementStatus)){
+                    // 未开票:ins_ply_income_invoice没有数据
+                    records = records.stream().filter(action -> StrUtil.isEmpty(action.getInvoiceIds())).toList();
+                } else if("0".equals(settlementStatus)){
+                    // 已开票未结清:有发票数据,且存在status=0的发票
+                    records = records.stream().filter(action -> {
+                        if(StrUtil.isEmpty(action.getInvoiceIds())){
+                            return false;
+                        }
+                        List<String> invoiceIdList = Arrays.asList(action.getInvoiceIds().split(","));
+                        return baseMapper.countUnsettledInvoicesByInvoiceIds(invoiceIdList) > 0;
+                    }).toList();
+                } else if("1".equals(settlementStatus)){
+                    // 已结清:有发票数据,且所有发票status=1
+                    records = records.stream().filter(action -> {
+                        if(StrUtil.isEmpty(action.getInvoiceIds())){
+                            return false;
+                        }
+                        List<String> invoiceIdList = Arrays.asList(action.getInvoiceIds().split(","));
+                        return baseMapper.countUnsettledInvoicesByInvoiceIds(invoiceIdList) == 0;
+                    }).toList();
+                }
+            }
             receiverSettlementReport.setRecords(records);
         }
         return receiverSettlementReport;

+ 1 - 1
tenant/organization/src/main/resources/mapper/InsPlyIncomeInvoiceSettlementMapper.xml

@@ -33,7 +33,7 @@
         ipiis.invoice_id = ipii.id
         <where>
             ipii.invoice_type in (5, 6)
-            and ipiis.receive_payment_date &gt;= #{vo.settlementStartTime} and ipiis.receive_payment_date &lt;= #{vo.settlementEndTime}
+            and ipiis.create_time &gt;= #{vo.settlementStartTime} and ipiis.create_time &lt;= #{vo.settlementEndTime}
             <if test="vo.contactPerson != null and vo.contactPerson != ''">
                 and ipii.contact_person = #{vo.contactPerson}
             </if>

+ 16 - 0
tenant/organization/src/main/resources/mapper/ReceivableMapper.xml

@@ -2198,6 +2198,22 @@
         </where>
     </select>
 
+    <!-- 查询未结清发票数量(status=0的发票数量) -->
+    <select id="countUnsettledInvoicesByInvoiceIds" resultType="int">
+        select count(1)
+        from ins_ply_income_invoice ipii
+        <where>
+            ipii.is_delete = 0
+            and ipii.status = 0
+            <if test="invoiceIdList != null and invoiceIdList.size() > 0">
+                and ipii.id in
+                <foreach collection="invoiceIdList" item="item" open="(" separator="," close=")">
+                    ${item}
+                </foreach>
+            </if>
+        </where>
+    </select>
+
 
     <select id="selectPlatformCompanySettlementReport" resultType="com.jzg.commons.entity.finance.vo.PlatformCompanyFeeVO">
         SELECT