Pārlūkot izejas kodu

修改bug:
私有应收-跟单-开票记录,列表页要展示分支公司、年、月,用于区分开票的年份
私有应收-跟单-开票记录,应收项应该显示车险;应收金额应该显示开票当月的应收,这两张票都是6月的永诚跟单

jiakai 3 mēneši atpakaļ
vecāks
revīzija
0c7238ddf3

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

@@ -128,4 +128,24 @@ public class InvoiceRecordResult extends PageRequest {
      * 开票日期
      */
     private String createTime;
+
+    /**
+     * 跟单费的年份
+     */
+    private String year;
+
+    /**
+     * 跟单费的月份
+     */
+    private String month;
+
+    /**
+     * 分支公司id
+     */
+    private String partnerCompanyId;
+
+    /**
+     * 分支公司名称
+     */
+    private String partnerCompanyName;
 }

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

@@ -214,6 +214,11 @@ public interface ReceivableMapper extends BaseMapper<InsPlyIncome> {
      */
     Page<InvoiceRecordResult> getInvoiceRecordList(Page page, @Param("invoiceRecordQueryVo") InvoiceRecordQueryVo invoiceRecordQueryVo);
 
+    /**
+     * 获取开票记录
+     */
+    Page<InvoiceRecordResult> getFollowInvoiceRecordList(Page page, @Param("invoiceRecordQueryVo") InvoiceRecordQueryVo invoiceRecordQueryVo);
+
     List<CompanySuperviseSettlementReportDto> selectAllCompanyReports(@Param("queryVo") SettlementReportQueryVo queryVo);
 
     /**

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

@@ -3213,7 +3213,12 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
             invoiceRecordQueryVo.setSettlementStatus(null);
         }
         invoiceRecordQueryVo.setSystemCode(baseController.getSystemCode());
-        Page<InvoiceRecordResult> invoiceRecordList = baseMapper.getInvoiceRecordList(invoiceRecordQueryVo.getPage(), invoiceRecordQueryVo);
+        Page<InvoiceRecordResult> invoiceRecordList = null;
+        if ("2".equals(invoiceRecordQueryVo.getInvoiceType())){
+            invoiceRecordList = baseMapper.getFollowInvoiceRecordList(invoiceRecordQueryVo.getPage(), invoiceRecordQueryVo);
+        }else if ("1".equals(invoiceRecordQueryVo.getInvoiceType())){
+            invoiceRecordList = baseMapper.getInvoiceRecordList(invoiceRecordQueryVo.getPage(), invoiceRecordQueryVo);
+        }
         List<InvoiceRecordResult> records = invoiceRecordList.getRecords();
         if(CollUtil.isNotEmpty(records)){
             Map<String, String> allCompanyHierarchyPaths = esmInsCompanyClient.getAllCompanyHierarchyPaths();

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

@@ -1378,6 +1378,77 @@
         ORDER BY ipii.create_time DESC
     </select>
 
+    <select id="getFollowInvoiceRecordList" resultType="com.jzg.commons.entity.finance.vo.InvoiceRecordResult">
+        SELECT
+        ipii.id,
+        ipii.company_id,
+        ipii.invoice_no,
+        ipii.invoice_type,
+        ipii.invoice_risk_type,
+        CASE
+        WHEN ipii.invoice_party = '1' THEN
+        '我方开票' ELSE '保司开票'
+        END as invoice_party,
+        ipii.overinflated_amount,
+        ipii.receivable_supervise_premium,
+        ipii.tax_point,
+        ipii.create_time,
+        ipii.create_by,
+        ipii.update_time,
+        ipii.update_by,
+        eic.name as company_name,
+        eic.name_simple as companyNameSimple,
+        sum( ipiis.actual_received_amount ) AS actual_received_amount,
+        ipii.status,
+        ipii.payment_reason,
+        GROUP_CONCAT(DISTINCT iffo.year SEPARATOR ',') AS year,
+        GROUP_CONCAT(DISTINCT iffo.month SEPARATOR ',') AS month,
+        iffo.partner_company_id,
+        ( select cp.name from  esm_ins_company cp  where cp.id = iffo.partner_company_id) as partner_company_name
+        FROM
+        ins_ply_income_invoice ipii
+        LEFT JOIN ins_ply_follow_invoice_link ipfii ON ipii.id = ipfii.invoice_id  AND ipfii.is_delete = 0
+        LEFT JOIN ins_fee_follow_order iffo ON iffo.id = ipfii.follow_id  AND iffo.is_delete = 0
+        LEFT JOIN ins_ply_income_invoice_settlement ipiis ON ipii.id = ipiis.invoice_id AND ipiis.is_delete = 0
+        LEFT JOIN esm_ins_company eic on eic.id = ipii.company_id AND eic.is_delete = 0
+        <where>
+            ipii.is_delete = 0
+            AND ipii.system_code = #{invoiceRecordQueryVo.systemCode}
+            <if test="invoiceRecordQueryVo.invoiceType != null and invoiceRecordQueryVo.invoiceType != ''">
+                AND ipii.invoice_type = #{invoiceRecordQueryVo.invoiceType}
+            </if>
+            <if test="invoiceRecordQueryVo.accountsReceivable != null and invoiceRecordQueryVo.accountsReceivable != ''">
+                AND ipii.invoice_risk_type = #{invoiceRecordQueryVo.accountsReceivable}
+            </if>
+            <if test="invoiceRecordQueryVo.recordId != null and invoiceRecordQueryVo.recordId != ''">
+                AND ipii.id = #{invoiceRecordQueryVo.recordId}
+            </if>
+            <if test="invoiceRecordQueryVo.companyId != null and invoiceRecordQueryVo.companyId != ''">
+                AND ipii.company_id = #{invoiceRecordQueryVo.companyId}
+            </if>
+            <if test="invoiceRecordQueryVo.invoiceParty != null and invoiceRecordQueryVo.invoiceParty != ''">
+                AND ipii.invoice_party = #{invoiceRecordQueryVo.invoiceParty}
+            </if>
+            <if test="invoiceRecordQueryVo.companyNameSimple != null and invoiceRecordQueryVo.companyNameSimple != ''">
+                AND eic.id = #{invoiceRecordQueryVo.companyNameSimple}
+            </if>
+        </where>
+        <if test="invoiceRecordQueryVo.settlementStatus != null and invoiceRecordQueryVo.settlementStatus != ''">
+            HAVING CASE
+            WHEN ipii.receivable_supervise_premium = SUM(ipiis.actual_received_amount) THEN '1'
+            ELSE '0'
+            END = #{invoiceRecordQueryVo.settlementStatus}
+        </if>
+        GROUP BY
+        ipii.id,
+        ipii.receivable_supervise_premium,
+        ipii.invoice_type,
+        ipii.company_id,
+        ipii.invoice_party,
+        iffo.partner_company_id
+        ORDER BY ipii.create_time DESC
+    </select>
+
     <!-- 基础结果集映射 -->
     <resultMap id="BaseResultMap" type="com.jzg.commons.entity.finance.dto.CompanySuperviseSettlementReportDto">
         <result column="company_id" property="companyId"/>