Forráskód Böngészése

订单汇总 问题处理

yzc 1 éve
szülő
commit
442a556a7f

+ 4 - 0
hx-form/src/main/java/com/fjhx/form/entity/OrderSummarySelectDto.java

@@ -1,5 +1,6 @@
 package com.fjhx.form.entity;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.domain.BaseSelectDto;
 import lombok.Getter;
 import lombok.Setter;
@@ -10,7 +11,10 @@ import java.util.Date;
 @Setter
 public class OrderSummarySelectDto extends BaseSelectDto {
 
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM")
     private Date accountAgeDate;
 
     private String accountAge;
+
+    private Integer isSettlement;
 }

+ 6 - 1
hx-form/src/main/java/com/fjhx/form/service/impl/ReportServiceImpl.java

@@ -158,7 +158,12 @@ public class ReportServiceImpl implements ReportService {
     @Override
     public Page<OrderSummaryBo> orderSummary(OrderSummarySelectDto dto) {
         IWrapper<Object> wrapper = IWrapper.getWrapper();
-        wrapper.having("accountAge = {0}", dto.getAccountAge());
+        if (ObjectUtil.isNotEmpty(dto.getAccountAge())) {
+            wrapper.having("accountAge = {0}", dto.getAccountAge());
+        }
+        if (ObjectUtil.isNotEmpty(dto.getIsSettlement())) {
+            wrapper.having("isSettlement = {0}", dto.getIsSettlement());
+        }
         wrapper.keyword(dto.getKeyword(),
                 new SqlField("c.code"),
                 new SqlField("cu.name"),

+ 18 - 22
hx-form/src/main/resources/mapper/ReportMapper.xml

@@ -78,8 +78,8 @@
                IFNULL(cor.sumOutFactoryMoney, 0)                         AS sumOutFactoryMoney,
                (c.amount * c.advance_ratio / 100)                        AS deposit,
                NULL                                                      AS difference,
-               IF(IFNULL(cla.sumClaimMoney, 0) >= c.amount AND IFNULL(cor.sumOutMoney, 0) >= c.factory_amount, '可结算',
-                  '不可结算')                                            AS isSettlement,
+               IF(IFNULL(cla.sumClaimMoney, 0) >= c.amount AND IFNULL(cor.sumOutMoney, 0) >= c.factory_amount, 1,
+                  0)                                                     AS isSettlement,
                c.settle_start_date,
                c.settle_end_date,
                c.contract_type,
@@ -90,26 +90,22 @@
                IFNULL(cor.sumOutMoney, 0) - IFNULL(cla.sumClaimMoney, 0) AS outstandingAmount,
                cor.firstTruckDate                                        AS firstTruckDate,
                CASE
-                   WHEN IFNULL(#{dto.accountAgeDate} THEN
-            WHEN IFNULL(DATEDIFF( IFNULL(#{dto.accountAgeDate},NOW()), cor.firstTruckDate ),0) &lt;= 30 THEN
-            '0~30'
-            WHEN IFNULL(DATEDIFF( IFNULL(#{dto.accountAgeDate},NOW()), cor.firstTruckDate ),0) &lt;= 60 THEN
-            '30~60'
-            WHEN IFNULL(DATEDIFF( IFNULL(#{dto.accountAgeDate},NOW()), cor.firstTruckDate ),0) &lt;= 90 THEN
-            '60~90'
-            WHEN IFNULL(DATEDIFF( IFNULL(#{dto.accountAgeDate},NOW()), cor.firstTruckDate ),0) &lt;= 120 THEN
-            '90~120'
-            WHEN IFNULL(DATEDIFF( IFNULL(#{dto.accountAgeDate},NOW()), cor.firstTruckDate ),0) > 120 THEN
-            '120以上'
-            END AS accountAge
-        FROM
-            contract c
-                LEFT JOIN (
-                    SELECT
-                        cc.contract_id,
-                        SUM( cc.contract_money ) AS sumClaimMoney
-                    FROM
-                        claim_contract cc
+                   WHEN #{dto.accountAgeDate} is null THEN ''
+                   WHEN IFNULL(DATEDIFF(#{dto.accountAgeDate}, cor.firstTruckDate), 0) &lt;= 30 THEN
+                       '0~30'
+                   WHEN IFNULL(DATEDIFF(#{dto.accountAgeDate}, cor.firstTruckDate), 0) &lt;= 60 THEN
+                       '30~60'
+                   WHEN IFNULL(DATEDIFF(#{dto.accountAgeDate}, cor.firstTruckDate), 0) &lt;= 90 THEN
+                       '60~90'
+                   WHEN IFNULL(DATEDIFF(#{dto.accountAgeDate}, cor.firstTruckDate), 0) &lt;= 120 THEN
+                       '90~120'
+                   WHEN IFNULL(DATEDIFF(#{dto.accountAgeDate}, cor.firstTruckDate), 0) > 120 THEN
+                       '120以上'
+                   END                                                   AS accountAge
+        FROM contract c
+                 LEFT JOIN (SELECT cc.contract_id,
+                                   SUM(cc.contract_money) AS sumClaimMoney
+                            FROM claim_contract cc
                             JOIN claim cl ON cc.claim_id = cl.id
                     WHERE
                         cl.confirm_status = 1