diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/list/JszxdzdListPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/list/JszxdzdListPlugin.java index 23eed5d..b54b945 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/list/JszxdzdListPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/list/JszxdzdListPlugin.java @@ -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 orgIdList = IfmSettleCenterHelper.getAuthorizedRegisteredSettleCenterIds(RequestContext.get().getCurrUserId(), TmcAppEnum.IFM.getValue(), "ifm_statementrpt", "47150e89000000ac"); +// List orgIdList = IfmSettleCenterHelper.getAuthorizedRegisteredSettleCenterIds(RequestContext.get().getCurrUserId(), TmcAppEnum.IFM.getValue(), "ifm_statementrpt", "47150e89000000ac"); + // 默认司库调度用户 + List 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); diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/JszxdzdTaskPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/JszxdzdTaskPlugin.java index 8541b3d..2b4e627 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/JszxdzdTaskPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/JszxdzdTaskPlugin.java @@ -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}); }