Procházet zdrojové kódy

凭证归档同步

turborao před 2 dny
rodič
revize
4bb757ccd9

+ 55 - 0
code/jyyy/nckd-jimin-jyyy-fi/src/main/java/nckd/jimin/jyyy/fi/task/SynVoucherArchiveTask.java

@@ -0,0 +1,55 @@
+package nckd.jimin.jyyy.fi.task;
+
+import kd.bos.context.RequestContext;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.exception.KDException;
+import kd.bos.logging.Log;
+import kd.bos.logging.LogFactory;
+import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
+import kd.bos.schedule.executor.AbstractTask;
+import kd.bos.servicehelper.BusinessDataServiceHelper;
+import kd.sdk.plugin.Plugin;
+import nckd.jimin.jyyy.fi.mservice.impl.SynSapFIServiceImpl;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * 后台任务插件
+ */
+public class SynVoucherArchiveTask extends AbstractTask implements Plugin {
+
+    private static final Log logger = LogFactory.getLog(SynVoucherArchiveTask.class);
+    public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
+        SynSapFIServiceImpl synSapService = new SynSapFIServiceImpl();
+        //属性核算组织=是
+        QFilter qFilter = new QFilter("fisaccounting", QCP.equals, "1");
+        //使用状态=启用
+        qFilter.and(new QFilter("enable", QCP.equals, "1"));
+        //数据状态=已审核
+        qFilter.and(new QFilter("status", QCP.equals, "C"));
+        //属性核算组织=是
+        qFilter.and(new QFilter("fisaccounting", QCP.equals, "1"));
+        DynamicObject[] orgLst = BusinessDataServiceHelper.load("bos_org", "id, number", qFilter.toArray());
+
+        logger.info("------同步SAP凭证归档----------");
+
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
+        String currentYear = sdf.format(new Date());
+
+        for (DynamicObject org : orgLst) {
+
+            String orgNumber = org.getString("number");
+            logger.info("------同步SAP凭证归档 " + orgNumber + "----------");
+            Map<String, String> result = synSapService.synVoucherArchiveForSap(orgNumber,  currentYear);
+
+            if (!result.get("code").equals("200")) {
+                logger.info("同步SAP凭证归档失败, " + "组织编码:" + orgNumber + ",错误:" + result.get("msg"));
+            } else {
+                logger.info("同步SAP凭证归档成功, " + "组织编码:" + orgNumber + ",信息:" + result.get("msg"));
+            }
+        }
+    }
+}