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 @@ + + + + + + +