From e7cabc6f97e279b641df6ce06de5b014e6107a83 Mon Sep 17 00:00:00 2001
From: lvleigang <957075182@qq.com>
Date: Wed, 19 Mar 2025 11:15:52 +0800
Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E5=90=8C=E6=AD=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 base-buildpackage/pom.xml                     |   5 +
 .../IZjMaterielSynchronizationEventDao.java   |   4 +
 ...ZjMaterielSynchronizationEventDaoImpl.java |  10 ++
 .../ZjMaterielSynchronizationEventEntity.xml  |  14 ++
 ...terielSynchronizationEventServiceImpl.java |  60 ++++++--
 .../ofs/plugin/OfsGetOrderInitializer.java    | 128 ++++++++++++++++++
 .../ofs/plugin/OfsRepushDataInitializer.java  |  63 +++++++++
 .../ofs/plugin/OfsSendDataInitializer.java    |  76 +++++++++++
 .../cfgHome/plugin/ofs/pluginCfg.xml          |   6 +
 .../ofs/spring/spring-buildpackage-plugin.xml |   7 +
 10 files changed, 365 insertions(+), 8 deletions(-)
 create mode 100644 buildpackage/src/main/java/com/hzya/frame/plugin/ofs/plugin/OfsGetOrderInitializer.java
 create mode 100644 buildpackage/src/main/java/com/hzya/frame/plugin/ofs/plugin/OfsRepushDataInitializer.java
 create mode 100644 buildpackage/src/main/java/com/hzya/frame/plugin/ofs/plugin/OfsSendDataInitializer.java
 create mode 100644 buildpackage/src/main/resources/cfgHome/plugin/ofs/pluginCfg.xml
 create mode 100644 buildpackage/src/main/resources/cfgHome/plugin/ofs/spring/spring-buildpackage-plugin.xml

diff --git a/base-buildpackage/pom.xml b/base-buildpackage/pom.xml
index 1a317d04..812d8174 100644
--- a/base-buildpackage/pom.xml
+++ b/base-buildpackage/pom.xml
@@ -18,6 +18,11 @@
             <artifactId>base-webapp</artifactId>
             <version>${revision}</version>
         </dependency>
+        <dependency>
+            <groupId>com.hzya.frame</groupId>
+            <artifactId>fw-u8</artifactId>
+            <version>${revision}</version>
+        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/dao/IZjMaterielSynchronizationEventDao.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/dao/IZjMaterielSynchronizationEventDao.java
index cbd90696..e1d32645 100644
--- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/dao/IZjMaterielSynchronizationEventDao.java
+++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/dao/IZjMaterielSynchronizationEventDao.java
@@ -3,6 +3,9 @@ package com.hzya.frame.plugin.zjmaterielsynchronizationevent.dao;
 
 import com.hzya.frame.basedao.dao.IBaseDao;
 import com.hzya.frame.plugin.zjmaterielsynchronizationevent.entity.ZjMaterielSynchronizationEventEntity;
+import com.hzya.frame.u8.base.inventory.entity.InventoryEntity;
+
+import java.util.List;
 
 /****
  * 物料档案同步插件
@@ -14,5 +17,6 @@ import com.hzya.frame.plugin.zjmaterielsynchronizationevent.entity.ZjMaterielSyn
  **/
 public interface IZjMaterielSynchronizationEventDao extends IBaseDao<ZjMaterielSynchronizationEventEntity, String> {
 
+    List<InventoryEntity> queryInventoryEntity(List<ZjMaterielSynchronizationEventEntity> list,String dataSourceCode);
 }
 
diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/dao/impl/ZjMaterielSynchronizationEventDaoImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/dao/impl/ZjMaterielSynchronizationEventDaoImpl.java
index 97645df8..a6485c53 100644
--- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/dao/impl/ZjMaterielSynchronizationEventDaoImpl.java
+++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/dao/impl/ZjMaterielSynchronizationEventDaoImpl.java
@@ -1,8 +1,13 @@
 package com.hzya.frame.plugin.zjmaterielsynchronizationevent.dao.impl;
 
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.hzya.frame.basedao.dao.MybatisGenericDao;
 import com.hzya.frame.plugin.zjmaterielsynchronizationevent.dao.IZjMaterielSynchronizationEventDao;
 import com.hzya.frame.plugin.zjmaterielsynchronizationevent.entity.ZjMaterielSynchronizationEventEntity;
+import com.hzya.frame.seeyon.entity.SeeyonEntity;
+import com.hzya.frame.u8.base.inventory.entity.InventoryEntity;
+
+import java.util.List;
 
 /***
  * 物料档案同步
@@ -14,5 +19,10 @@ import com.hzya.frame.plugin.zjmaterielsynchronizationevent.entity.ZjMaterielSyn
  **/
 public class ZjMaterielSynchronizationEventDaoImpl extends MybatisGenericDao<ZjMaterielSynchronizationEventEntity, String> implements IZjMaterielSynchronizationEventDao {
 
+    @Override
+    @DS("#dataSourceCode")
+    public List<InventoryEntity> queryInventoryEntity(List<ZjMaterielSynchronizationEventEntity> list,String dataSourceCode) {
+        return (List<InventoryEntity>) super.selectList(getSqlIdPrifx() + "queryInventoryEntity",list);
+    }
 }
 
diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/entity/ZjMaterielSynchronizationEventEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/entity/ZjMaterielSynchronizationEventEntity.xml
index 3c13c8d5..3cb5bade 100644
--- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/entity/ZjMaterielSynchronizationEventEntity.xml
+++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/entity/ZjMaterielSynchronizationEventEntity.xml
@@ -12,5 +12,19 @@
         </trim>
         ORDER BY field0018code,field0043,field0007
     </select>
+
+
+
+    <select id="queryInventoryEntity" resultType="com.hzya.frame.u8.base.inventory.entity.InventoryEntity"
+            parameterType = "com.hzya.frame.plugin.zjmaterielsynchronizationevent.entity.ZjMaterielSynchronizationEventEntity">
+        select
+        *
+        from Inventory
+            where cInvCode in
+        <foreach item="item" index="index" collection="list"
+                 open="(" separator="," close=")">
+            #{item.field0043code}
+        </foreach>
+    </select>
 </mapper>
 
diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/service/impl/ZjMaterielSynchronizationEventServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/service/impl/ZjMaterielSynchronizationEventServiceImpl.java
index f4697a20..f2a3bca6 100644
--- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/service/impl/ZjMaterielSynchronizationEventServiceImpl.java
+++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/service/impl/ZjMaterielSynchronizationEventServiceImpl.java
@@ -5,6 +5,7 @@ import com.hzya.frame.basedao.service.impl.BaseService;
 import com.hzya.frame.plugin.zjmaterielsynchronizationevent.dao.IZjMaterielSynchronizationEventDao;
 import com.hzya.frame.plugin.zjmaterielsynchronizationevent.entity.ZjMaterielSynchronizationEventEntity;
 import com.hzya.frame.plugin.zjmaterielsynchronizationevent.service.IZjMaterielSynchronizationEventService;
+import com.hzya.frame.u8.base.inventory.entity.InventoryEntity;
 import com.hzya.frame.web.entity.BaseResult;
 import com.hzya.frame.web.entity.JsonResultEntity;
 import org.checkerframework.checker.units.qual.A;
@@ -33,6 +34,8 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService<ZjMat
         this.dao = zjMaterielSynchronizationEventDao;
     }
 
+    private String zjoa = "zjoa";
+    private String zju8 = "zju8";
 
     /**
      * @param requestJson
@@ -56,7 +59,8 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService<ZjMat
                 }
                 ZjMaterielSynchronizationEventEntity entity = new ZjMaterielSynchronizationEventEntity();
                 entity.setFormmain_id(formmain_id);
-                List<ZjMaterielSynchronizationEventEntity> list = zjMaterielSynchronizationEventDao.queryBase(entity);
+                entity.setDataSourceCode(zjoa);
+                List<ZjMaterielSynchronizationEventEntity> list = zjMaterielSynchronizationEventDao.query(entity);
                if(list == null || list.size() == 0){
                    return BaseResult.getFailureMessageEntity("onBeforeStart流程监听事件,未获取到明细数据");
                }
@@ -68,10 +72,22 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService<ZjMat
                 }
                 ZjMaterielSynchronizationEventEntity entity1 = new ZjMaterielSynchronizationEventEntity();
                 entity1.setFormmain_id(id);
-                List<ZjMaterielSynchronizationEventEntity> list1 = zjMaterielSynchronizationEventDao.queryBase(entity1);
+                entity1.setDataSourceCode(zjoa);
+                List<ZjMaterielSynchronizationEventEntity> list1 = zjMaterielSynchronizationEventDao.query(entity1);
                 if(list1 == null || list1.size() == 0){
                     return BaseResult.getFailureMessageEntity("onProcessFinished流程监听事件,未获取到明细数据");
                 }
+                JsonResultEntity jsonResultEntity = checkData(list1,true);
+                if(jsonResultEntity == null){
+                    return BaseResult.getFailureMessageEntity("onProcessFinished流程监听事件,校验发生系统错误");
+                }
+                if(!jsonResultEntity.isFlag()){
+                    return jsonResultEntity;
+                }
+                //组装数据,保存数据
+                saveMaterielToU8(list1);
+                //回写U8生成的编码
+                updateOaCode(list1);
                 return null;
             case "onStart"://流程发起 oa数据重新排序
                 return BaseResult.getSuccessMessageEntity("排序暂不处理");
@@ -80,6 +96,26 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService<ZjMat
         }
     }
 
+    /**
+     * @Author lvleigang
+     * @Description  回写U8生成的编码
+     * @Date 10:04 上午 2025/3/19
+     * @param list
+     * @return void
+     **/
+    private void updateOaCode(List<ZjMaterielSynchronizationEventEntity> list) {
+    }
+
+    /**
+     * @Author lvleigang
+     * @Description  组装数据,保存数据
+     * @Date 10:03 上午 2025/3/19
+     * @param list
+     * @return void
+     **/
+    private void saveMaterielToU8(List<ZjMaterielSynchronizationEventEntity> list) {
+    }
+
     /**
      * @Author lvleigang
      * @Description  解析参数id
@@ -198,7 +234,6 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService<ZjMat
                 }
             }
         }
-
         //判断存货分类里面如果有6或7,有一个必须有另一个
         if(num > 0){
             if(num1 == 0){
@@ -210,16 +245,25 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService<ZjMat
                 return BaseResult.getFailureMessageEntity("存货分类存在7,不存在6");
             }
         }
-
         //查询u8物料
-        //zjMaterielSynchronizationEventDao
+        List<InventoryEntity> inventoryEntities = zjMaterielSynchronizationEventDao.queryInventoryEntity(list,zju8);
+        if(inventoryEntities == null || inventoryEntities.size() == 0){
+            return BaseResult.getFailureMessageEntity("物料分类在U8中不存在");
+        }
         //发起、保存判断物料分类是否在U8中存在
         for (int i = 0; i < list.size(); i++) {
             ZjMaterielSynchronizationEventEntity entity = list.get(i);
-
-
+            boolean flags = false;
+            for (int i1 = 0; i1 < inventoryEntities.size(); i1++) {
+                if(entity.getField0043code().equals(inventoryEntities.get(i1).getcInvCode())){
+                    flags = true;
+                    break;
+                }
+            }
+            if(!flags){
+                return BaseResult.getFailureMessageEntity("序号为"+entity.getField0004()+"明细行的物料分类在U8中不存在");
+            }
         }
-
         return BaseResult.getSuccessMessageEntity("校验成功");
     }
 
diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/ofs/plugin/OfsGetOrderInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/ofs/plugin/OfsGetOrderInitializer.java
new file mode 100644
index 00000000..c7fedb73
--- /dev/null
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/ofs/plugin/OfsGetOrderInitializer.java
@@ -0,0 +1,128 @@
+package com.hzya.frame.plugin.ofs.plugin;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.hzya.frame.base.PluginBaseEntity;
+import com.hzya.frame.web.entity.BaseResult;
+import com.hzya.frame.web.entity.JsonResultEntity;
+import org.apache.http.HttpEntity;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+public class OfsGetOrderInitializer extends PluginBaseEntity {
+    Logger logger = LoggerFactory.getLogger(OfsGetOrderInitializer.class);
+
+    @Override
+    public void initialize() {
+        logger.info(getPluginLabel() + "執行初始化方法initialize()");
+    }
+
+    @Override
+    public void destroy() {
+        logger.info(getPluginLabel() + "執行銷毀方法destroy()");
+    }
+
+    @Override
+    public String getPluginId() {
+        return "ofsGetOrderInitializer";
+    }
+
+    @Override
+    public String getPluginName() {
+        return "数据库备份下发";
+    }
+
+    @Override
+    public String getPluginLabel() {
+        return "ofsGetOrderInitializer";
+    }
+
+    @Override
+    public String getPluginType() {
+        return "1";
+    }
+
+
+
+    /**
+     * @Author lvleigang
+     * @Description  获取ofs订单数据
+     * @Date 3:12 下午 2024/10/24
+     * @param requestJson
+     * @return com.hzya.frame.web.entity.JsonResultEntity
+     **/
+    @Override
+    public JsonResultEntity executeBusiness(JSONObject requestJson) {
+
+        //System.out.println("获取ofs订单数据");
+        //System.out.println("获取ofs订单发送数据");
+        //QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo();
+        //queryOfsSoSaleOutVo.setPageNo(1L);
+        //queryOfsSoSaleOutVo.setPageSize(200L);
+        ////queryOfsSoSaleOutVo.setCode("123123123");
+        //queryOfsSoSaleOutVo.setCreated_start("2024-10-24 01:00:00");
+        //queryOfsSoSaleOutVo.setCreated_end("2024-10-24 17:00:00");
+        //queryOfsSoSaleOutVo.setClientCode("LETS");
+        //String data = JSON.toJSONString(queryOfsSoSaleOutVo);
+        ////2024年7月30日 12:16:38生成签名
+        //OfsHexUtil ofsHexUtil = new OfsHexUtil();
+        //String timestamp =   String.valueOf(System.currentTimeMillis());
+        //Map<String, String> params = new HashMap<>();
+        //params.put("data", data);
+        //String sign = ofsHexUtil.sign("ofs.salesOrder.search", data,"json", "1023142858", "1.0", "382e4a2584027a36ac9431103", timestamp);
+        //String url = "http://39.98.58.229/api/edi/u8c/ofs/in?api=ofs.salesOrder.search&format=json&appKey=1023142858&v=1.0&sign="+sign+"&timestamp="+timestamp;
+        //
+        //String returnData = postParams(url,params);
+
+
+        return BaseResult.getSuccessMessageEntity("获取成功");
+
+    }
+    //适用于post请求并传送form-data数据(同样适用于post的Raw类型的application-json格式)
+    public  String postParams(String url, Map<String, String> params) {
+        //创建自定义的httpclient对象
+        CloseableHttpClient client = HttpClients.custom().build();
+        HttpPost post = new HttpPost(url);
+        CloseableHttpResponse res = null;
+        try {
+            List<NameValuePair> nvps = new ArrayList<NameValuePair>();
+            Set<String> keySet = params.keySet();
+            for (String key : keySet) {
+                nvps.add(new BasicNameValuePair(key, params.get(key)));
+            }
+            post.setEntity(new UrlEncodedFormEntity(nvps, "utf-8"));
+            res = client.execute(post);
+            HttpEntity entity = res.getEntity();
+            return EntityUtils.toString(entity, "utf-8");
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                res.close();
+                client.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        return "";
+    }
+
+
+
+
+}
diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/ofs/plugin/OfsRepushDataInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/ofs/plugin/OfsRepushDataInitializer.java
new file mode 100644
index 00000000..c9d19af1
--- /dev/null
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/ofs/plugin/OfsRepushDataInitializer.java
@@ -0,0 +1,63 @@
+package com.hzya.frame.plugin.ofs.plugin;
+
+import com.alibaba.fastjson.JSONObject;
+import com.hzya.frame.base.PluginBaseEntity;
+import com.hzya.frame.web.entity.BaseResult;
+import com.hzya.frame.web.entity.JsonResultEntity;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class OfsRepushDataInitializer extends PluginBaseEntity {
+    Logger logger = LoggerFactory.getLogger(OfsRepushDataInitializer.class);
+
+    @Override
+    public void initialize() {
+        logger.info(getPluginLabel() + "執行初始化方法initialize()");
+    }
+
+    @Override
+    public void destroy() {
+        logger.info(getPluginLabel() + "執行銷毀方法destroy()");
+    }
+
+    @Override
+    public String getPluginId() {
+        return "ofsRepushDataInitializer";
+    }
+
+    @Override
+    public String getPluginName() {
+        return "数据库备份下发";
+    }
+
+    @Override
+    public String getPluginLabel() {
+        return "ofsRepushDataInitializer";
+    }
+
+    @Override
+    public String getPluginType() {
+        return "1";
+    }
+
+
+
+    /**
+     * @Author lvleigang
+     * @Description  获取ofs订单重新推送数据
+     * @Date 3:12 下午 2024/10/24
+     * @param requestJson
+     * @return com.hzya.frame.web.entity.JsonResultEntity
+     **/
+    @Override
+    public JsonResultEntity executeBusiness(JSONObject requestJson) {
+
+
+        System.out.println("获取ofs订单重新推送数据");
+
+
+        return BaseResult.getSuccessMessageEntity("获取成功");
+    }
+
+
+}
diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/ofs/plugin/OfsSendDataInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/ofs/plugin/OfsSendDataInitializer.java
new file mode 100644
index 00000000..be445522
--- /dev/null
+++ b/buildpackage/src/main/java/com/hzya/frame/plugin/ofs/plugin/OfsSendDataInitializer.java
@@ -0,0 +1,76 @@
+package com.hzya.frame.plugin.ofs.plugin;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.hzya.frame.base.PluginBaseEntity;
+import com.hzya.frame.web.entity.BaseResult;
+import com.hzya.frame.web.entity.JsonResultEntity;
+import org.apache.http.HttpEntity;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+public class OfsSendDataInitializer extends PluginBaseEntity {
+    Logger logger = LoggerFactory.getLogger(OfsSendDataInitializer.class);
+
+    @Override
+    public void initialize() {
+        logger.info(getPluginLabel() + "執行初始化方法initialize()");
+    }
+
+    @Override
+    public void destroy() {
+        logger.info(getPluginLabel() + "執行銷毀方法destroy()");
+    }
+
+    @Override
+    public String getPluginId() {
+        return "ofsSendDataInitializer";
+    }
+
+    @Override
+    public String getPluginName() {
+        return "数据库备份下发";
+    }
+
+    @Override
+    public String getPluginLabel() {
+        return "ofsSendDataInitializer";
+    }
+
+    @Override
+    public String getPluginType() {
+        return "1";
+    }
+
+
+
+    /**
+     * @Author lvleigang
+     * @Description  获取ofs订单发送数据
+     * @Date 3:12 下午 2024/10/24
+     * @param requestJson
+     * @return com.hzya.frame.web.entity.JsonResultEntity
+     **/
+    @Override
+    public JsonResultEntity executeBusiness(JSONObject requestJson) {
+
+        return BaseResult.getSuccessMessageEntity("订单发送");
+
+    }
+
+}
diff --git a/buildpackage/src/main/resources/cfgHome/plugin/ofs/pluginCfg.xml b/buildpackage/src/main/resources/cfgHome/plugin/ofs/pluginCfg.xml
new file mode 100644
index 00000000..b245e749
--- /dev/null
+++ b/buildpackage/src/main/resources/cfgHome/plugin/ofs/pluginCfg.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin>
+<id>ofsPlugin</id>
+<name>ofsPlugin插件</name>
+<category>20241024</category>
+</plugin>
diff --git a/buildpackage/src/main/resources/cfgHome/plugin/ofs/spring/spring-buildpackage-plugin.xml b/buildpackage/src/main/resources/cfgHome/plugin/ofs/spring/spring-buildpackage-plugin.xml
new file mode 100644
index 00000000..1fe1795d
--- /dev/null
+++ b/buildpackage/src/main/resources/cfgHome/plugin/ofs/spring/spring-buildpackage-plugin.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
+<beans default-autowire="byName">
+<bean name="ofsGetOrderInitializer" class="com.hzya.frame.plugin.ofs.plugin.OfsGetOrderInitializer" />
+<bean name="ofsRepushDataInitializer" class="com.hzya.frame.plugin.ofs.plugin.OfsRepushDataInitializer" />
+<bean name="ofsSendDataInitializer" class="com.hzya.frame.plugin.ofs.plugin.OfsSendDataInitializer" />
+</beans>