Sfoglia il codice sorgente

资金预警需求-预警报表:
1.动账提醒报表增加银企接口过滤
2.消息文案调整

lisheng 4 giorni fa
parent
commit
3846dabd49

+ 7 - 5
main/java/kd/cosmic/jkjt/tmc/bei/common/constant/MsgWarnTemplateConstant.java

@@ -47,7 +47,7 @@ public class MsgWarnTemplateConstant {
         String MSGTEMPLATE_PAYMENT_NOTIFICATION = new StringBuffer()
                 .append("时间:").append("%s").append("\r\n")
                 .append("收款方:").append("%s").append("\r\n")
-                .append("合计金额:").append("%s").append("\r\n")
+                .append("合计金额:").append("%s").append("\r\n")
                 .append("付款方账户:").append("%s").append("\r\n")
                 .append("付款方账号:").append("%s").append("\r\n")
                 .append("付款方开户行:").append("%s").append("\r\n")
@@ -69,7 +69,7 @@ public class MsgWarnTemplateConstant {
                                            String description,String time  ) {
         String MSGTEMPLATE_PAYMENT_NOTIFICATION = new StringBuffer()
                 .append("收款方:").append("%s").append("\r\n")
-                .append("金额:").append("%s").append("\r\n")
+                .append("金额:").append("%s").append("\r\n")
                 .append("付款方账户:").append("%s").append("\r\n")
                 .append("付款方账号:").append("%s").append("\r\n")
                 .append("付款方开户行:").append("%s").append("\r\n")
@@ -93,7 +93,7 @@ public class MsgWarnTemplateConstant {
                                                  String receiver, String description, String time) {
         String MSGTEMPLATE_LARGETRANS = new StringBuffer()
                 .append("收款方:").append("%s").append("\r\n")
-                .append("金额:").append("%s").append("\r\n")
+                .append("金额:").append("%s").append("\r\n")
                 .append("付款方账户:").append("%s").append("\r\n")
                 .append("付款方账号:").append("%s").append("\r\n")
                 .append("付款方开户行:").append("%s").append("\r\n")
@@ -117,12 +117,13 @@ public class MsgWarnTemplateConstant {
                                               String receiver, String description, String time) {
         String MSGTEMPLATE_ACCCHANGE_DEBIT = new StringBuffer()
                 .append("收款方:").append("%s").append("\r\n")
-                .append("转出金额:").append("%s").append("\r\n")
+                .append("转出金额:").append("%s").append("\r\n")
                 .append("付款方账户:").append("%s").append("\r\n")
                 .append("付款方账号:").append("%s").append("\r\n")
                 .append("付款方开户行:").append("%s").append("\r\n")
                 .append("摘要:").append("%s").append("\r\n")
                 .append("时间:").append("%s").append("\r\n")
+                .append("流水同步时间会晚于动账提醒").append("\r\n")
                 .toString();
         return String.format(MSGTEMPLATE_ACCCHANGE_DEBIT, receiver,amount, payerAccount, payerAccountId, payerBank, description, time);
     }
@@ -182,12 +183,13 @@ public class MsgWarnTemplateConstant {
     public static String formatAccChangeCreditMessage(String amount, String payerAccount, String receiveAccount,
                                               String receiveBank, String description, String time) {
         String MSGTEMPLATE_ACCCHANGE_CREDIT = new StringBuffer()
-                .append("到账金额:").append("%s").append("\r\n")
+                .append("到账金额:").append("%s").append("\r\n")
                 .append("付款方账户:").append("%s").append("\r\n")
                 .append("收款方账号:").append("%s").append("\r\n")
                 .append("收款方开户行:").append("%s").append("\r\n")
                 .append("摘要:").append("%s").append("\r\n")
                 .append("到账时间:").append("%s").append("\r\n")
+                .append("流水同步时间会晚于动账提醒").append("\r\n")
                 .toString();
         return String.format(MSGTEMPLATE_ACCCHANGE_CREDIT, amount, payerAccount, receiveAccount, receiveBank, description, time);
     }

+ 2 - 0
main/java/kd/cosmic/jkjt/tmc/bei/formplugin/detail/TransDetailMsgWarnList.java

@@ -82,6 +82,8 @@ public class TransDetailMsgWarnList extends AbstractListPlugin {
         }
         // 动账提醒
         if( "nckd_rpt_accchange".equals(billFormId)){
+            qFilters.add(new QFilter("accountbank.issetbankinterface", QFilter.equals, true));
+
             return;
         }
         // 动账提醒夜间提醒

+ 9 - 1
main/java/kd/cosmic/jkjt/tmc/bei/task/AccChangeMsgWarnTask.java

@@ -77,7 +77,15 @@ public class AccChangeMsgWarnTask extends AbstractTask implements StopTask {
             messageInfo.setEntityNumber(BeiBeTransDetailConstant.ENTITYID);
             messageInfo.setBizDataId(transDetail.getLong("id"));
 
-            String feishuMessage = MsgWarnTemplateConstant.getFeishuTemplate(WARTYPE.getName(),messageContent);
+            String title = "";
+            BigDecimal debitAmount = transDetail.getBigDecimal(BeiBeTransDetailConstant.KEY_DEBITAMOUNT);
+            // 付款
+            if(debitAmount != null && debitAmount.compareTo(BigDecimal.ZERO) > 0){
+                title = "动账提醒-出款到账通知";
+            }else{
+                title = "动账提醒-收款成功通知";
+            }
+            String feishuMessage = MsgWarnTemplateConstant.getFeishuTemplate(title,messageContent);
             MsgWarnMessageInfo warnMessageInfo = new MsgWarnMessageInfo(WARTYPE.getValue(),
                     company.getString("name"),
                     uniqueKey,

+ 2 - 2
main/java/kd/cosmic/jkjt/tmc/bei/task/DailyReimMsgWarnTask.java

@@ -74,7 +74,7 @@ public class DailyReimMsgWarnTask extends AbstractTask implements StopTask {
         //每月首个工作日上午9点发送上月预警信息
         LocalDate today = LocalDate.now();
         // 上个月第一天
-        LocalDate firstDayOfLastMonth = today.minusMonths(13).withDayOfMonth(1);
+        LocalDate firstDayOfLastMonth = today.minusMonths(1).withDayOfMonth(1);
         // 本月第一天
         LocalDate firstDayOfThisMonth = today.withDayOfMonth(1);
         Date beginDate = Date.from(firstDayOfLastMonth.atStartOfDay().atZone(java.time.ZoneId.systemDefault()).toInstant());
@@ -90,7 +90,7 @@ public class DailyReimMsgWarnTask extends AbstractTask implements StopTask {
         }
         // 获取流水的月份,同一个月只能发送一次
         String timeFlag = DateUtils.formatDateMonth(beginDate);
-        String timeStr = String.format("%s年%s月",firstDayOfLastMonth.getYear(),firstDayOfLastMonth.getMonthValue()-1);
+        String timeStr = String.format("%s年%s月",firstDayOfLastMonth.getYear(),firstDayOfLastMonth.getMonthValue());
 
         for(DynamicObject transDetail : transDetailData){
             String uniqueKey = String.join("-", WARTYPE.getValue(),timeFlag,transDetail.getString("foppunit"));

+ 33 - 12
main/java/kd/cosmic/jkjt/tmc/bei/task/NonDirectConMsgWarnTask.java

@@ -137,20 +137,41 @@ public class NonDirectConMsgWarnTask extends AbstractTask implements StopTask {
 
     protected DynamicObjectCollection getTransDetailData(DynamicObject company , Date beginDate , Date endDate){
         DataSet debitDetailDataSet = getTransDetailDataSet(company, beginDate,endDate,true);
-        DataSet crediDetailDataSet = getTransDetailDataSet(company, beginDate,endDate,false);
-        DataSet transDetailDataSet = debitDetailDataSet.union(crediDetailDataSet);
-        // 看报表与消息的兼容程度,再看怎么处理,暂时转成动态对象集合
-        return ORM.create().toPlainDynamicObjectCollection(transDetailDataSet.copy());
+//        DataSet crediDetailDataSet = getTransDetailDataSet(company, beginDate,endDate,false);
+//        DataSet transDetailDataSet = debitDetailDataSet.union(crediDetailDataSet);
+//        // 看报表与消息的兼容程度,再看怎么处理,暂时转成动态对象集合
+        return ORM.create().toPlainDynamicObjectCollection(debitDetailDataSet.copy());
     }
 
-    /**
-     * 获取账户交易明细
-     * 1.非日常报销账户
-     * 2.
-     * @param company
-     * @param beginDate
-     * @return
-     */
+
+    protected DataSet getPaymentDataSet(DynamicObject company , Date beginDate , Date endDate) {
+        List<QFilter> filterList = new ArrayList<>();
+        filterList.add(new QFilter("org", QFilter.equals, company.getPkValue()));
+        if(beginDate != null){
+            filterList.add(new QFilter(BeiBeTransDetailConstant.KEY_BIZTIME, QFilter.large_equals, beginDate));
+        }
+        if(endDate != null){
+            filterList.add(new QFilter(BeiBeTransDetailConstant.KEY_BIZTIME, QFilter.less_than, endDate));
+        }
+        filterList.add(new QFilter("settletype.number", QCP.equals,"JSFS13"));
+        filterList.add(new QFilter("billstatus", QCP.equals,"D"));
+
+
+//        DataSet dataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "cas_paybill",
+//                "id,company.id,accountbank.id,"+amountField+",biztime",
+//                filterList.toArray(new QFilter[0]), "");
+
+
+        return null;
+    }
+        /**
+         * 获取账户交易明细
+         * 1.非日常报销账户
+         * 2.
+         * @param company
+         * @param beginDate
+         * @return
+         */
     protected DataSet getTransDetailDataSet(DynamicObject company , Date beginDate , Date endDate,boolean isDebitamount){
 
         String amountField = isDebitamount?BeiBeTransDetailConstant.KEY_DEBITAMOUNT:BeiBeTransDetailConstant.KEY_CREDITAMOUNT;