3 Commits 4b20283e52 ... 137bd84f48

Auteur SHA1 Bericht Datum
  lisheng 137bd84f48 报销工作台: 1 week geleden
  lisheng 58a86dcb70 单据收退换登记: 1 week geleden
  lisheng 1f62747db9 单据收退换登记: 1 week geleden

+ 4 - 5
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/common/util/ErFindRelationBillUtils.java

@@ -25,14 +25,13 @@ public class ErFindRelationBillUtils {
         Map<String ,Set<Object>> relationBillMap = new HashMap<>();
         // 查询付款处理
         Set<Object> casPaybillSet = getBotpRelationId(billType, BillTypeConstants.CAS_PAYBILL, Long.parseLong(billId), true);
+        // 凭证
+        Set<Long> voucherSet = DapVoucherUtil.getBuildData(Collections.singletonList(Long.valueOf(billId)), billType);
+        relationBillMap.put(BillTypeConstants.GL_VOUCHER,voucherSet.stream().map(r->(Object)r).collect(Collectors.toSet()));
 
         if(CollectionUtils.isNotEmpty(casPaybillSet)){
             relationBillMap.put(BillTypeConstants.CAS_PAYBILL,casPaybillSet);
-
-            // 凭证
-            Set<Long> voucherSet = DapVoucherUtil.getBuildVch(casPaybillSet, BillTypeConstants.CAS_PAYBILL);
-            relationBillMap.put(BillTypeConstants.GL_VOUCHER,voucherSet.stream().map(r->(Object)r).collect(Collectors.toSet()));
-
+            //Set<Long> voucherSet = DapVoucherUtil.getBuildData(casPaybillSet, BillTypeConstants.CAS_PAYBILL);
             //电子回单
             Set<Object> casPayBillElecReceipt = getCasPayBillElecReceipt(casPaybillSet);
             relationBillMap.put(BillTypeConstants.BEI_ELECRECEIPT,casPayBillElecReceipt);

+ 2 - 2
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/plugin/form/HandInReceiveTicketPlugin.java

@@ -422,7 +422,7 @@ public class HandInReceiveTicketPlugin extends AbstractFormPlugin implements Row
             }
         }
 
-        if(isHasReceipt){
+        if(!isHasReceipt){
             getView().showTipNotification("没有相应的电子回单!");
             return;
         }
@@ -573,7 +573,7 @@ public class HandInReceiveTicketPlugin extends AbstractFormPlugin implements Row
 
         for(DynamicObject selectRow : selectRows){
             DynamicObject billInfo = BusinessDataServiceHelper.loadSingle(selectRow.getString(HandInReceiveTicketConstant.SCANBILLENTRY.KEY_NCKD_BILLID),
-                    selectRow.getString(HandInReceiveTicketConstant.SCANBILLENTRY.KEY_NCKD_FORMID), ErReimBurseBillConstant.KEY_BILLSTATUS);
+                    selectRow.getString(HandInReceiveTicketConstant.SCANBILLENTRY.KEY_NCKD_FORMID), String.join(",",ErReimBurseBillConstant.KEY_BILLSTATUS,ErReimBurseBillConstant.KEY_BILLNO));
             if(!status.contains(billInfo.getString(ErReimBurseBillConstant.KEY_BILLSTATUS))){
                 getView().showTipNotification(String.format("单据%s打印失败:只有审核通过、等待付款、已付款状态的单据允许打印。",billInfo.getString(ErReimBurseBillConstant.KEY_BILLNO)));
                 args.setCancel(true);

+ 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);