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 @@
base-webapp
${revision}
+
+ com.hzya.frame
+ fw-u8
+ ${revision}
+
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 {
+ List queryInventoryEntity(List 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 implements IZjMaterielSynchronizationEventDao {
+ @Override
+ @DS("#dataSourceCode")
+ public List queryInventoryEntity(List list,String dataSourceCode) {
+ return (List) 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 @@
ORDER BY field0018code,field0043,field0007
+
+
+
+
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 list = zjMaterielSynchronizationEventDao.queryBase(entity);
+ entity.setDataSourceCode(zjoa);
+ List list = zjMaterielSynchronizationEventDao.query(entity);
if(list == null || list.size() == 0){
return BaseResult.getFailureMessageEntity("onBeforeStart流程监听事件,未获取到明细数据");
}
@@ -68,10 +72,22 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService list1 = zjMaterielSynchronizationEventDao.queryBase(entity1);
+ entity1.setDataSourceCode(zjoa);
+ List 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 list) {
+ }
+
+ /**
+ * @Author lvleigang
+ * @Description 组装数据,保存数据
+ * @Date 10:03 上午 2025/3/19
+ * @param list
+ * @return void
+ **/
+ private void saveMaterielToU8(List list) {
+ }
+
/**
* @Author lvleigang
* @Description 解析参数id
@@ -198,7 +234,6 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService 0){
if(num1 == 0){
@@ -210,16 +245,25 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService 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 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+"×tamp="+timestamp;
+ //
+ //String returnData = postParams(url,params);
+
+
+ return BaseResult.getSuccessMessageEntity("获取成功");
+
+ }
+ //适用于post请求并传送form-data数据(同样适用于post的Raw类型的application-json格式)
+ public String postParams(String url, Map params) {
+ //创建自定义的httpclient对象
+ CloseableHttpClient client = HttpClients.custom().build();
+ HttpPost post = new HttpPost(url);
+ CloseableHttpResponse res = null;
+ try {
+ List nvps = new ArrayList();
+ Set 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 @@
+
+
+ofsPlugin
+ofsPlugin插件
+20241024
+
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 @@
+
+
+
+
+
+
+