提交内容:内部账户对账单

时间:2025-11-03 17:21
提交人:邹江涛
This commit is contained in:
zoujiangtao 2025-11-03 17:21:51 +08:00
parent 65a20c9dc5
commit 96bf7240e6
2 changed files with 21 additions and 10 deletions

View File

@ -40,7 +40,7 @@ import java.math.BigDecimal;
import java.util.*;
/**
* 标准单据列表插件
* 内部账户对账单列表操作更新确认对账取消对账
*/
public class JszxdzdListPlugin extends AbstractListPlugin implements Plugin {
private static final Log logger = LogFactory.getLog(JszxdzdListPlugin.class);
@ -156,6 +156,7 @@ public class JszxdzdListPlugin extends AbstractListPlugin implements Plugin {
Date shkd_jsrq = dynamicObject.getDate("shkd_jsrq");//结束日期
DataSet emptyDataSet = getData(shkd_qsrq, shkd_jsrq);
DynamicObjectCollection dataRows = ORM.create().toPlainDynamicObjectCollection(emptyDataSet);
logger.info("更新数据 → 数据行数:" + dataRows.size() + "\n第一条数据" + dataRows.get(0));
for (DynamicObject dataRow : dataRows) {
Long settcenter = dataRow.getLong("settcenter");//结算中心
Long org = dataRow.getLong("org");//资金组织
@ -167,18 +168,21 @@ public class JszxdzdListPlugin extends AbstractListPlugin implements Plugin {
if (settcenter.equals(shkd_jszxdata) && org.equals(shkd_zjzzorg) && inneraccount.equals(shkd_nbzh)
&& amountstart.compareTo(shkd_qcyeamount) == 0 && currincome.compareTo(shkd_bqsramount) == 0
&& currpay.compareTo(shkd_bqzcamount) == 0 && amountend.compareTo(shkd_qmyeamount) == 0) {
logger.info("更新数据 → 数据一致:" + dataRow);
break;
} else if (settcenter.equals(shkd_jszxdata) && org.equals(shkd_zjzzorg) && inneraccount.equals(shkd_nbzh)) {
dataRow.set("shkd_qcyeamount", amountstart);//期初余额
dataRow.set("shkd_bqsramount", currincome);//本期收入
dataRow.set("shkd_bqzcamount", currpay);//本期支出
dataRow.set("shkd_qmyeamount", amountend);//期末余额
dataRow.set("shkd_sfyz", false);//期末余额
SaveServiceHelper.save(new DynamicObject[]{dataRow});
logger.info("更新数据 → 数据不一致:" + dataRow);
dynamicObject.set("shkd_qcyeamount", amountstart);//期初余额
dynamicObject.set("shkd_bqsramount", currincome);//本期收入
dynamicObject.set("shkd_bqzcamount", currpay);//本期支出
dynamicObject.set("shkd_qmyeamount", amountend);//期末余额
dynamicObject.set("shkd_sfyz", false);//期末余额
SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
break;
}
}
}
this.getView().showSuccessNotification("更新成功");
this.getView().invokeOperation("refresh");
} else if ("shkd_confirmre".equals(itemKey)) {
String msg = "是否确认对账";
@ -293,8 +297,9 @@ public class JszxdzdListPlugin extends AbstractListPlugin implements Plugin {
private DataSet queryAccts() {
QFilter innerAccQFilter = new QFilter("acctclassify", "=", AcctClassifyEnum.INNER_ACCOUNT.getValue());
innerAccQFilter.and(new QFilter("acctstatus", "!=", BankAcctStatusEnum.CLOSED.getValue()));
String appId = TmcAppEnum.IFM.getValue();
List<Long> orgIdList = IfmSettleCenterHelper.getAuthorizedRegisteredSettleCenterIds(RequestContext.get().getCurrUserId(), TmcAppEnum.IFM.getValue(), "ifm_statementrpt", "47150e89000000ac");
// List<Long> orgIdList = IfmSettleCenterHelper.getAuthorizedRegisteredSettleCenterIds(RequestContext.get().getCurrUserId(), TmcAppEnum.IFM.getValue(), "ifm_statementrpt", "47150e89000000ac");
// 默认司库调度用户
List<Long> orgIdList = IfmSettleCenterHelper.getAuthorizedRegisteredSettleCenterIds(2122443891381665794L, TmcAppEnum.IFM.getValue(), "ifm_statementrpt", "47150e89000000ac");
innerAccQFilter.and(new QFilter("bank.id", "in", orgIdList));
String selectInnerAccFields = "id,company.id,bank.id,bankaccountnumber,opendate, currency.fbasedataid.id as currencyid";
return QueryServiceHelper.queryDataSet(this.getClass().getName(), "bd_accountbanks", selectInnerAccFields, innerAccQFilter.toArray(), (String) null);

View File

@ -24,12 +24,13 @@ import kd.tmc.fbp.common.enums.TmcAppEnum;
import kd.tmc.fbp.common.util.DateUtils;
import kd.tmc.ifm.enums.AcctClassifyEnum;
import kd.tmc.ifm.helper.IfmSettleCenterHelper;
import java.text.SimpleDateFormat;
import java.math.BigDecimal;
import java.util.*;
/**
* 后台任务插件
* 内部账户对账单报表数据保存
*/
public class JszxdzdTaskPlugin extends AbstractTask implements Plugin {
private static final Log logger = LogFactory.getLog(JszxdzdTaskPlugin.class);
@ -44,6 +45,10 @@ public class JszxdzdTaskPlugin extends AbstractTask implements Plugin {
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
Date bizdate_enddate = cal.getTime(); // 上个月最后一天
// 提取年月
SimpleDateFormat yearMonthFormat = new SimpleDateFormat("yyyy-MM");
String yearMonth = yearMonthFormat.format(bizdate_startdate);
DataSet emptyDataSet = getData(bizdate_startdate, bizdate_enddate);
DynamicObjectCollection dataRows = ORM.create().toPlainDynamicObjectCollection(emptyDataSet);
@ -103,6 +108,7 @@ public class JszxdzdTaskPlugin extends AbstractTask implements Plugin {
newDynamicObject.set("shkd_qmyeamount", amountend);//期末余额
newDynamicObject.set("shkd_qsrq", bizdate_startdate);//起始日期
newDynamicObject.set("shkd_jsrq", bizdate_enddate);//结束日期
newDynamicObject.set("shkd_rqym", yearMonth);//日期年月
SaveServiceHelper.save(new DynamicObject[]{newDynamicObject});
}