Ver Fonte

报销工作台:
1.报销中、已完成的报销类单据增加付现金额相关逻辑

lisheng há 1 semana atrás
pai
commit
137bd84f48

+ 21 - 10
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/plugin/form/ReimWorkBenchesHelper.java

@@ -173,25 +173,29 @@ public class ReimWorkBenchesHelper {
                     .or(new QFilter("description",QCP.like,"%"+ quickFilterStr +"%"));
         }
 
-        QFilter statusFilter = new QFilter("billstatus",QCP.in,new String[]{"A","B","C","D","E","F"});
+        QFilter statusFilter = new QFilter("billstatus",QCP.in,new String[]{"A","B","C","D","F"});
+        // 或者审核通过且付现金额不等于0
 
         DataSet dailyReimBurseDataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "er_dailyreimbursebill",
                 "id billid,bizdate applydate,'er_dailyreimbursebill' billtype,'er_dailyreimbursebill' pageid,billno billno,description description,reimburseamount applyamount," +
                         "approveamount approveamount,payamount payamount,notpayamount notpayamount,billstatus billstatus,costcompany.id company,applier.id applier",
-                getFilterArr(projectPersonFilter,quickFilter,statusFilter), "");
+                getFilterArr(projectPersonFilter,quickFilter,statusFilter.copy()
+                        .or(new QFilter("billstatus", QCP.equals, "E").and(new QFilter("payamount", QCP.large_than, BigDecimal.ZERO)))), "");
 
         //显示暂存、已提交、审核中、审核未通过、审核通过、等待付款的报销类单据。
         DataSet tripReimBillDataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "er_tripreimbursebill",
                 "id billid,bizdate applydate,'er_tripreimbursebill' billtype,'er_tripreimbursebill' pageid,billno billno,description description,amount applyamount," +
                         "approveamount approveamount,encashamount payamount,notpayamount notpayamount,billstatus billstatus,costcompany.id company,applier.id applier",
-                getFilterArr(projectPersonFilter,quickFilter,statusFilter), "");
+                getFilterArr(projectPersonFilter,quickFilter,statusFilter.copy()
+                        .or(new QFilter("billstatus", QCP.equals, "E").and(new QFilter("encashamount", QCP.large_than, BigDecimal.ZERO)))), "");
 
         // 付现金额、未付金额逻辑待确认
         DataSet publicReimBillDataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "er_publicreimbursebill",
                 "id billid,bizdate applydate,'er_publicreimbursebill' billtype,case when trim(nckd_pageid) != '' then nckd_pageid else 'nckd_dailyreimbursebill' end pageid," +
                         "billno billno,description description,reimburseamount applyamount," +
-                        "approveamount approveamount,reimburseamount payamount,notpayamount notpayamount,billstatus billstatus,costcompany.id company,applier.id applier",
-                getFilterArr(projectPersonFilter,quickFilter,statusFilter), "");
+                        "approveamount approveamount,payamount payamount,notpayamount notpayamount,billstatus billstatus,costcompany.id company,applier.id applier",
+                getFilterArr(projectPersonFilter,quickFilter,statusFilter.copy()
+                        .or(new QFilter("billstatus", QCP.equals, "E").and(new QFilter("payamount", QCP.large_than, BigDecimal.ZERO)))), "");
 
         QFilter checkFilter = null;
         if(StringUtils.isNotEmpty(quickFilterStr)){
@@ -200,7 +204,8 @@ public class ReimWorkBenchesHelper {
         DataSet checkingPayBillDataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "er_checkingpaybill",
                 "id billid,bizdate applydate,'er_checkingpaybill' billtype,'er_checkingpaybill' pageid,billno billno,applyexplain description,totalamount_head applyamount," +
                         "totalamount_head approveamount,payamount payamount,totalamount_head-payamount notpayamount,billstatus billstatus,company.id company,applier.id applier",
-                getFilterArr(new QFilter("applier", QCP.equals,currUserId), checkFilter, statusFilter), "");
+                getFilterArr(new QFilter("applier", QCP.equals,currUserId), checkFilter, statusFilter.copy()
+                        .or(new QFilter("billstatus", QCP.equals, "E").and(new QFilter("payamount", QCP.large_than, BigDecimal.ZERO)))), "");
 
         dataSetList.add(getTaskApproveData(tripReimBillDataSet));
         dataSetList.add(getTaskApproveData(publicReimBillDataSet));
@@ -268,21 +273,26 @@ public class ReimWorkBenchesHelper {
         dataSetList.add(prepayBillDataSet);
         // 显示已废弃、已关闭、审核未通过、已付款的报销类单据。
         QFilter reimBillStatusFilter = new QFilter("billstatus", QCP.in, new String[]{"H", "I","G"});
+
+        // 或者审核通过且付现金额为0
         DataSet tripReimBillDataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "er_tripreimbursebill",
                 "id billid,bizdate applydate,'er_tripreimbursebill' billtype,'er_tripreimbursebill' pageid,billno billno,description description,amount applyamount," +
                         "approveamount approveamount,billstatus billstatus,costcompany.id company,applier.id applier",
-                getFilterArr(projectPersonFilter,quickFilter,reimBillStatusFilter), "");
+                getFilterArr(projectPersonFilter,quickFilter,reimBillStatusFilter.copy()
+                        .or(new QFilter("billstatus", QCP.equals, "E").and(new QFilter("encashamount", QCP.equals, BigDecimal.ZERO)))), "");
 
         DataSet publicReimBillDataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "er_publicreimbursebill",
                 "id billid,bizdate applydate,'er_publicreimbursebill' billtype,case when trim(nckd_pageid) != '' then nckd_pageid else 'nckd_dailyreimbursebill' end pageid," +
                         "billno billno,description description,reimburseamount applyamount," +
                         "approveamount approveamount,billstatus billstatus,costcompany.id company,applier.id applier",
-                getFilterArr(projectPersonFilter,quickFilter,reimBillStatusFilter), "");
+                getFilterArr(projectPersonFilter,quickFilter,reimBillStatusFilter.copy()
+                        .or(new QFilter("billstatus", QCP.equals, "E").and(new QFilter("payamount", QCP.equals, BigDecimal.ZERO)))), "");
 
         DataSet dailyReimBurseDataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "er_dailyreimbursebill",
                 "id billid,bizdate applydate,'er_dailyreimbursebill' billtype,'er_dailyreimbursebill' pageid,billno billno,description description,reimburseamount applyamount," +
                         "approveamount approveamount,billstatus billstatus,costcompany.id company,applier.id applier",
-                getFilterArr(projectPersonFilter,quickFilter,reimBillStatusFilter), "");
+                getFilterArr(projectPersonFilter,quickFilter,reimBillStatusFilter.copy()
+                        .or(new QFilter("billstatus", QCP.equals, "E").and(new QFilter("payamount", QCP.equals, BigDecimal.ZERO)))), "");
 
 
         QFilter checkFilter = null;
@@ -292,7 +302,8 @@ public class ReimWorkBenchesHelper {
         DataSet checkingPayBillDataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "er_checkingpaybill",
                 "id billid,bizdate applydate,'er_checkingpaybill' billtype,'er_checkingpaybill' pageid,billno billno,applyexplain description,payamount applyamount," +
                         "payamount approveamount,billstatus billstatus,company.id company,applier.id applier",
-                getFilterArr(new QFilter("applier", QCP.equals,currUserId), checkFilter, reimBillStatusFilter), "");
+                getFilterArr(new QFilter("applier", QCP.equals,currUserId), checkFilter, reimBillStatusFilter.copy()
+                        .or(new QFilter("billstatus", QCP.equals, "E").and(new QFilter("payamount", QCP.equals, BigDecimal.ZERO)))), "");
 
         dataSetList.add(tripReimBillDataSet);
         dataSetList.add(publicReimBillDataSet);