From a287f6e30e9af4866126f56d9ba88a69f8bf8e22 Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Thu, 10 Apr 2025 09:15:23 +0800 Subject: [PATCH 01/15] =?UTF-8?q?=E5=8F=91=E7=A5=A8=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E5=88=B0=E4=B8=9A=E5=8A=A1=E6=95=B0=E6=8D=AE=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- base-buildpackage/pom.xml | 6 + .../dao/IIncomeInvoiceDao.java | 24 + .../dao/impl/IncomeInvoiceDaoImpl.java | 32 ++ .../entity/IncomeInvoiceEntity.java | 14 + .../entity/IncomeInvoiceEntity.xml | 106 ++++ .../IncomeInvoicePluginInitializer.java | 63 +++ .../service/IIncomeInvoiceService.java | 17 + .../impl/IncomeInvoiceServiceImpl.java | 526 ++++++++++++++++++ .../src/main/resources/application-llg.yml | 82 +++ .../plugin/incomeInvoiceData/pluginCfg.xml | 6 + .../spring/spring-buildpackage-dao.xml | 5 + .../spring/spring-buildpackage-plugin.xml | 5 + .../spring/spring-buildpackage-service.xml | 5 + .../service/impl/ZxBankServiceImpl.java | 4 +- 14 files changed, 893 insertions(+), 2 deletions(-) create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/plugin/IncomeInvoicePluginInitializer.java create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/IIncomeInvoiceService.java create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java create mode 100644 base-buildpackage/src/main/resources/application-llg.yml create mode 100644 base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/pluginCfg.xml create mode 100644 base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-dao.xml create mode 100644 base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-plugin.xml create mode 100644 base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-service.xml diff --git a/base-buildpackage/pom.xml b/base-buildpackage/pom.xml index 92fa0ece..1a6c915a 100644 --- a/base-buildpackage/pom.xml +++ b/base-buildpackage/pom.xml @@ -43,6 +43,12 @@ httest + + llg + + llg + + kangarooDataCenterV3 diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java new file mode 100644 index 00000000..54190fe9 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java @@ -0,0 +1,24 @@ +package com.hzya.frame.plugin.incomeInvoiceData.dao; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.basedao.dao.IBaseDao; +import com.hzya.frame.plugin.incomeInvoiceData.entity.IncomeInvoiceEntity; + +import java.util.List; + +/** + * 客户档案(mdm_customer: table)表数据库访问层 + * + * @author makejava + * @since 2024-06-21 13:52:35 + */ +public interface IIncomeInvoiceDao extends IBaseDao { + + + List queryData(JSONObject saveData); + + int saveDetailData(JSONObject saveDetailData); + + int saveData(JSONObject saveData); +} + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java new file mode 100644 index 00000000..fa68e930 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java @@ -0,0 +1,32 @@ +package com.hzya.frame.plugin.incomeInvoiceData.dao.impl; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.basedao.dao.MybatisGenericDao; +import com.hzya.frame.plugin.incomeInvoiceData.dao.IIncomeInvoiceDao; +import com.hzya.frame.plugin.incomeInvoiceData.entity.IncomeInvoiceEntity; + +import java.util.List; + + +/** + * + * @author makejava + * @since 2024-06-21 13:52:35 + */ +public class IncomeInvoiceDaoImpl extends MybatisGenericDao implements IIncomeInvoiceDao { + + @Override + public List queryData(JSONObject saveData) { + List o = (List) super.selectList(getSqlIdPrifx() + "queryData", saveData); + return o; + } + @Override + public int saveData(JSONObject saveData) { + return super.insert(getSqlIdPrifx() + "saveData", saveData); + } + @Override + public int saveDetailData(JSONObject saveData) { + return super.insert(getSqlIdPrifx() + "saveDetailData", saveData); + } +} + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java new file mode 100644 index 00000000..a4d160c0 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java @@ -0,0 +1,14 @@ +package com.hzya.frame.plugin.incomeInvoiceData.entity; + +import com.hzya.frame.web.entity.BaseEntity; +/** + * + * @author makejava + * @since 2024-06-21 13:52:35 + */ +public class IncomeInvoiceEntity extends BaseEntity { + + + +} + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml new file mode 100644 index 00000000..219ac58a --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml @@ -0,0 +1,106 @@ + + + + + + + + insert into mdm_fp( + + id , + document_rule , + document_rule_num , + data_status , + add_status , + update_status , + delete_status , + sorts , + create_user_id , + create_time , + modify_user_id , + modify_time , + sts , + org_id , + company_id , + + fphm , + + + + )values + ( + + #{id} , + #{document_rule} , + #{document_rule_num} , + #{data_status} , + #{add_status} , + #{update_status} , + #{delete_status} , + #{sorts} , + #{create_user_id} , + #{create_time} , + #{modify_user_id} , + #{modify_time} , + #{sts} , + #{org_id} , + #{company_id} , + + #{fphm} , + + + + ) + + + insert into mdm_fp_detail( + + id , + formmain_id , + data_status , + sorts , + create_user_id , + create_time , + modify_user_id , + modify_time , + sts , + org_id , + company_id , + remark , + + + + + )values + ( + + #{id} , + #{formmain_id} , + #{data_status}, + #{sorts} , + #{create_user_id} , + #{create_time} , + #{modify_user_id} , + #{modify_time} , + #{sts} , + #{org_id} , + #{company_id} , + #{remark} , + + + + + + ) + + + + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/plugin/IncomeInvoicePluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/plugin/IncomeInvoicePluginInitializer.java new file mode 100644 index 00000000..8c966920 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/plugin/IncomeInvoicePluginInitializer.java @@ -0,0 +1,63 @@ +package com.hzya.frame.plugin.incomeInvoiceData.plugin; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.plugin.incomeInvoiceData.service.IIncomeInvoiceService; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 主数据同步 + * + * @author makejava + * @since 2024-06-21 13:52:35 + */ +public class IncomeInvoicePluginInitializer extends PluginBaseEntity{ + Logger logger = LoggerFactory.getLogger(IncomeInvoicePluginInitializer.class); + + @Autowired + private IIncomeInvoiceService incomeInvoiceService; + + @Override + public void initialize() { + logger.info(getPluginLabel() + "执行初始化方法initialize()"); + } + + @Override + public void destroy() { + logger.info(getPluginLabel() + "执行销毁方法destroy()"); + } + + @Override + public String getPluginId() { + return "IncomeInvoicePlugin"; + } + + @Override + public String getPluginName() { + return "IncomeInvoicePlugin插件"; + } + + @Override + public String getPluginLabel() { + return "IncomeInvoicePlugin"; + } + + @Override + public String getPluginType() { + return "1"; + } + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) { + try { + logger.info("======开始执行进项全量发票主数据信息同步========"); + return incomeInvoiceService.getIncomeInvoiceData(requestJson); + }catch (Exception e){ + logger.info("======执行进项全量发票主数据同步失败:{}========",e.getMessage()); + e.printStackTrace(); + } + return null; + } +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/IIncomeInvoiceService.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/IIncomeInvoiceService.java new file mode 100644 index 00000000..08ca551f --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/IIncomeInvoiceService.java @@ -0,0 +1,17 @@ +package com.hzya.frame.plugin.incomeInvoiceData.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.basedao.service.IBaseService; +import com.hzya.frame.plugin.incomeInvoiceData.entity.IncomeInvoiceEntity; +import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; +import com.hzya.frame.web.entity.JsonResultEntity; + +/** + * + * @author makejava + * @since 2024-06-21 13:52:35 + */ +public interface IIncomeInvoiceService extends IBaseService { + JsonResultEntity getIncomeInvoiceData(JSONObject requestJson); + SysExtensionApiEntity setData(SysExtensionApiEntity entity) throws Exception; +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java new file mode 100644 index 00000000..01861c17 --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java @@ -0,0 +1,526 @@ +package com.hzya.frame.plugin.incomeInvoiceData.service.impl; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.plugin.incomeInvoiceData.dao.IIncomeInvoiceDao; +import com.hzya.frame.plugin.incomeInvoiceData.entity.IncomeInvoiceEntity; +import com.hzya.frame.plugin.incomeInvoiceData.service.IIncomeInvoiceService; +import com.hzya.frame.seeyon.util.YzfSignUtil; +import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; +import com.hzya.frame.sysnew.comparison.controlsLog.dao.impl.ControlsLogDaoImpl; +import com.hzya.frame.sysnew.comparison.controlsLog.entity.ControlsLogEntity; +import com.hzya.frame.sysnew.comparison.dao.IComparisonDao; +import com.hzya.frame.sysnew.comparison.entity.ComparisonEntity; +import com.hzya.frame.uuid.UUIDLong; +import com.hzya.frame.uuid.UUIDUtils; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.apache.http.HttpEntity; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.conn.ssl.NoopHostnameVerifier; +import org.apache.http.conn.ssl.TrustAllStrategy; +import org.apache.http.entity.ByteArrayEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.ssl.SSLContextBuilder; +import org.apache.http.util.EntityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import com.hzya.frame.basedao.service.impl.BaseService; + +import javax.net.ssl.SSLContext; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author makejava + * @since 2024-06-21 13:52:35 + */ +public class IncomeInvoiceServiceImpl extends BaseService implements IIncomeInvoiceService { + + private IIncomeInvoiceDao incomeInvoiceDao; + @Autowired + private ControlsLogDaoImpl controlsLogDaoimpl; + @Autowired + private IComparisonDao comparisonDao; + @Autowired + public void setIncomeInvoiceDao(IIncomeInvoiceDao dao) { + this.incomeInvoiceDao = dao; + this.dao = dao; + } + String dataUrl = "http://oapi.nanofintax.com/api/invoice_receive/fp/v1/query?accessToken="; + String tokenUrl = "http://oapi.nanofintax.com/api/getToken"; + String accessKey = "6X3B526P5HqE6ums"; + String accessSecret = "34e5fc32ac894a2ba2ade8c3852c7a0a"; + String taxNo = "91330110MAC5FPUY2U"; + Integer size = 50; + + @Override + public JsonResultEntity getIncomeInvoiceData(JSONObject requestJson) { + //1、调用token + String access_token = getToken(); + if (access_token == null) { + return BaseResult.getFailureMessageEntity("token获取失败"); + } + Date date = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String times = sdf.format(date); + times = "2025-03-25"; + //2、调用接口获取数据 + Integer queryCursor = 1; + JSONArray datalist = new JSONArray(); + sendBusinessData(datalist, access_token, queryCursor,times); + + if(datalist != null && datalist.size() > 0){ + for (int i = 0; i < datalist.size(); i++) { + JSONObject saveData = new JSONObject(); + //3、对照数据 + JSONObject jsonObject = datalist.getJSONObject(i); + //发票号码 + String fphm = jsonObject.getString("fphm"); + if(fphm == null || "".equals(fphm) ){ + continue; + } + saveData.put("fphm",fphm); + //判断是否有这个数据 + List checkData = incomeInvoiceDao.queryData(saveData); + if(checkData != null && checkData.size() > 0){ + continue; + } + saveData.put("id", String.valueOf(UUIDLong.longUUID())); + saveData.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + saveData.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + saveData.put("org_id", "0"); + saveData.put("create_time", new Date()); + saveData.put("modify_time", new Date()); + saveData.put("sts", "Y"); + saveData.put("data_status", "Y");//新增状态 + saveData.put("add_status", "0");//新增状态 + saveData.put("update_status", "1");//修改状态 + saveData.put("delete_status", "1");//删除状态 + ComparisonEntity comparisonEntityRule = new ComparisonEntity(); + comparisonEntityRule.setRulePrefix("FP"); + comparisonEntityRule.setRuleMiddle("%Y-%m-%d"); + comparisonEntityRule.setRuleSuffix(5); + comparisonEntityRule.setDbName("mdm_fp"); + ComparisonEntity comparisonEntityRuleGz = comparisonDao.queryComparisonRule(comparisonEntityRule); + saveData.put("document_rule", comparisonEntityRuleGz.getDocumentRule());//单据规则 + saveData.put("document_rule_num", comparisonEntityRuleGz.getDocumentRuleNum());//单据规则流水号 + + JSONObject content = jsonObject.getJSONObject("content"); + JSONArray detaildata = content.getJSONArray("items"); + if(detaildata != null && detaildata.size() > 0){ + for (int i1 = 0; i1 < detaildata.size(); i1++) { + JSONObject saveDetailData = new JSONObject(); + + saveDetailData.put("id", String.valueOf(UUIDLong.longUUID())); + saveDetailData.put("formmain_id", saveData.getString("id")); + saveDetailData.put("data_status", "Y");//新增状态 + + saveDetailData.put("create_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + saveDetailData.put("modify_user_id", "c796fd9ba4c9f5ff3cc2fa41a040e443"); + saveDetailData.put("org_id", "0"); + saveDetailData.put("create_time", new Date()); + saveDetailData.put("modify_time", new Date()); + saveDetailData.put("sts", "Y"); + saveDetailData.put("remark", detaildata.getJSONObject(i1).getString("xmmc")); + incomeInvoiceDao.saveDetailData(saveDetailData); + } + } + incomeInvoiceDao.saveData(saveData); + + //5、保存写入日志 + ControlsLogEntity controlsLogEntity=new ControlsLogEntity(); + controlsLogEntity.setId(UUIDUtils.getUUID()); + controlsLogEntity.setFormmainId(saveData.getString("id")); + controlsLogEntity.setSourceName("数智中台"); + controlsLogEntity.setCode("800004"); + controlsLogEntity.setSourceData(jsonObject.toString()); + controlsLogEntity.setOptionType("接口新增"); + controlsLogEntity.setOptionName("数智中台"); + controlsLogEntity.setDbName("mdm_fp_option_log"); + controlsLogEntity.setDataType("1"); + controlsLogEntity.setCreate_user_id("c796fd9ba4c9f5ff3cc2fa41a040e443"); + controlsLogEntity.setModify_user_id("c796fd9ba4c9f5ff3cc2fa41a040e443"); + controlsLogEntity.setOrg_id("0"); + controlsLogEntity.setRemark("插件新增"); + controlsLogDaoimpl.saveControlsLog(saveData.getString("id"), "数智中台", "800004", jsonObject.toJSONString(), "接口新增", "数智中台", "mdm_fp_option_log", "1"); + } + } + return BaseResult.getSuccessMessageEntity("处理成功"); + } + + + /** + * @Author lvleigang + * @Description 获取业务数据 + * @Date 4:31 下午 2025/4/9 + * @param datalist + * @param access_token + * @param queryCursor + * @param dataTime + * @return void + **/ + private void sendBusinessData(JSONArray datalist, String access_token, Integer queryCursor, String dataTime) { + String url = dataUrl+access_token; + JSONObject dayabody = new JSONObject(); + dayabody.put("accessKey",accessKey); + long timestamp = System.currentTimeMillis(); + dayabody.put("timestamp",timestamp); + JSONObject queryParams = new JSONObject(); + queryParams.put("page",queryCursor); + queryParams.put("size",size); + queryParams.put("kprqq",dataTime); + queryParams.put("kprqz",dataTime); + queryParams.put("taxNo",taxNo); + dayabody.put("queryParams",queryParams); + Map parametersMap = new HashMap<>(); + parametersMap.put("accessKey",accessKey); + parametersMap.put("timestamp",timestamp); + String a = YzfSignUtil.signRequest(parametersMap,accessSecret); + dayabody.put("sign",a); + Map headers = new HashMap<>(); + headers.put("Content-Type", "application/json; charset=utf-8"); + String returndata = sendPost(url, headers, dayabody.toJSONString()); + + if (returndata != null && JSONObject.isValidObject(returndata)) { + JSONObject dataJson = JSONObject.parseObject(returndata); + if(dataJson != null && dataJson.getString("code") != null && "0".equals( dataJson.getString("code"))){ + JSONObject data = dataJson.getJSONObject("result"); + if(data != null ){ + JSONArray businessList = data.getJSONArray("data"); + if(data.getInteger("total") > queryCursor*size){ + queryCursor = queryCursor+1; + sendBusinessData(datalist, access_token, queryCursor, dataTime); + } + if(businessList != null && businessList.size() > 0){ + datalist.addAll(businessList); + } + } + } + } + } + private JSONObject getUser(String usercode,String access_token) { + JSONObject jsonObject = new JSONObject(); + String url = "https://swoa.sunwave.com.cn:9999/seeyon/rest/orgMembers/code/"+usercode+"?pageNo=0&pageSize=100"; + Map headers = new HashMap<>(); + headers.put("token",access_token); + + String returndata = sendGet(url, headers); + if (returndata != null && JSONArray.isValidArray(returndata)) { + JSONArray dataJson = JSONObject.parseArray(returndata); + if(dataJson != null && dataJson.size() > 0){ + for (int i = 0; i < dataJson.size(); i++) { + if(dataJson.getJSONObject(i).getString("code") != null && !"".equals(dataJson.getJSONObject(i).getString("code")) + && usercode.toLowerCase().equals(dataJson.getJSONObject(i).getString("code").toLowerCase())){ + jsonObject.put("telNumber",dataJson.getJSONObject(i).getString("telNumber")); + jsonObject.put("orgDepartmentName",dataJson.getJSONObject(i).getString("orgDepartmentName")); + jsonObject.put("orgPostName",dataJson.getJSONObject(i).getString("orgPostName")); + jsonObject.put("name",dataJson.getJSONObject(i).getString("name")); + break; + } + } + } + } + return jsonObject; + } + private String getOAToken(String name) { + String url = "https://swoa.sunwave.com.cn:9999/seeyon/rest/token"; + Map headers = null; + String bodys = "{\"password\":\"64de4de7-23ce-4946-ac91-dd9e322d86e5\",\"userName\":\"beis\",\"loginName\":\""+name+"\"}"; + String tokenData = sendPost(url, headers, bodys); + String access_token = null; + if (tokenData != null && JSONObject.isValidObject(tokenData)) { + JSONObject tokendataJson = JSONObject.parseObject(tokenData); + if (tokendataJson != null && tokendataJson.getString("id") != null) { + access_token = tokendataJson.getString("id"); + } + } + return access_token; + } + /** + * @Author lvleigang + * @Description 获取token + * @Date 4:18 下午 2025/4/9 + * @param + * @return java.lang.String + **/ + private String getToken() { + String url = tokenUrl; + JSONObject tokenJson = new JSONObject(); + tokenJson.put("accessKey",accessKey); + tokenJson.put("accessSecret",accessSecret); + String bodys = tokenJson.toJSONString(); + StringBuilder body = new StringBuilder(); + SSLContext sslContext = null; + try { + sslContext = new SSLContextBuilder() + .loadTrustMaterial(null, TrustAllStrategy.INSTANCE) + .build(); + } catch (Exception e) { + return null; + } + CloseableHttpClient closeableHttpClient = HttpClients.custom() + .setSSLContext(sslContext) + .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE) + .build(); + + HttpPost post = new HttpPost(url); + CloseableHttpResponse response = null; + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(6000).build(); + post.setConfig(requestConfig);//设置请求参数【超时时间】 + post.setHeader("Content-Type", "application/json; charset=utf-8"); + try { + if (bodys != null && !"".equals(bodys)) { + ByteArrayEntity entity = new ByteArrayEntity(bodys.getBytes("UTF-8")); + entity.setContentType("application/json"); + post.setEntity(entity); + } + response = closeableHttpClient.execute(post); + + HttpEntity entity = response.getEntity(); + body.append(EntityUtils.toString(entity, "UTF-8")); + } catch (Exception e) { + body.append(e.getMessage()); + } finally { + try { + // 关闭响应对象 + if (response != null) { + response.close(); + } + // 关闭响应对象 + if (closeableHttpClient != null) { + closeableHttpClient.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + + } + logger.info("token返回结果{}",body); + JSONObject bodyJson = JSONObject.parseObject(body.toString()); + if(bodyJson.getString("code") == null || !"0".equals(bodyJson.getString("code"))){ + return null; + } + JSONObject resultJson = bodyJson.getJSONObject("result"); + if(resultJson == null){ + return null; + } + if(resultJson.getString("accessToken") != null && !"".equals(resultJson.getString("accessToken"))){ + return resultJson.getString("accessToken"); + } + return null; + } + + private String sendPost(String url, Map headers, String bodys) { + logger.info("url:"+url+"。bodys:"+bodys); + + SSLContext sslContext = null; + try { + sslContext = new SSLContextBuilder() + .loadTrustMaterial(null, TrustAllStrategy.INSTANCE) + .build(); + } catch (Exception e) { + + } + CloseableHttpClient closeableHttpClient = HttpClients.custom() + .setSSLContext(sslContext) + .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE) + .build(); + HttpPost post = new HttpPost(url); + CloseableHttpResponse response = null; + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(60000).build(); + post.setConfig(requestConfig);//设置请求参数【超时时间】 + if (headers != null && headers.size() > 0) { + for (String key : headers.keySet()) { + post.setHeader(key, headers.get(key)); + } + } + StringBuilder body = new StringBuilder(); + try { + if (bodys != null && !"".equals(bodys)) { + ByteArrayEntity entity = new ByteArrayEntity(bodys.getBytes("UTF-8")); + entity.setContentType("application/json"); + post.setEntity(entity); + } + response = closeableHttpClient.execute(post); + HttpEntity entity = response.getEntity(); + body.append(EntityUtils.toString(entity, "UTF-8")); + logger.info("返回结果:" + body); + } catch (Exception e) { + logger.error("请求错误:" + e.getMessage()); + body = new StringBuilder(); + } finally { + try { + // 关闭响应对象 + if (response != null) { + response.close(); + } + // 关闭响应对象 + if (closeableHttpClient != null) { + closeableHttpClient.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + + } + logger.info("url:"+url+"。bodys:"+bodys+"。body"+body); + + return body.toString(); + } + private String sendGet(String url, Map headers) { + SSLContext sslContext = null; + try { + sslContext = new SSLContextBuilder() + .loadTrustMaterial(null, TrustAllStrategy.INSTANCE) + .build(); + } catch (Exception e) { + + } + CloseableHttpClient closeableHttpClient = HttpClients.custom() + .setSSLContext(sslContext) + .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE) + .build(); + // HttpClient + HttpGet get = new HttpGet(url); + CloseableHttpResponse response = null; + + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(60000).build(); + get.setConfig(requestConfig);//设置请求参数【超时时间】 + if (headers != null && headers.size() > 0) { + for (String key : headers.keySet()) { + get.setHeader(key, headers.get(key)); + } + } + StringBuilder body = new StringBuilder(); + + try { + response = closeableHttpClient.execute(get); + HttpEntity entity = response.getEntity(); + body.append(EntityUtils.toString(entity,"UTF-8")); + logger.info("返回结果:" + body); + } catch (Exception e) { + logger.error("请求错误:" + e.getMessage()); + body.append(e.getMessage()); + } finally { + try { + // 关闭响应对象 + if (response != null) { + response.close(); + } + // 关闭响应对象 + if (closeableHttpClient != null) { + closeableHttpClient.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + return body.toString(); + } + + + /** + * seeyon流程事件监听前置方法,绑定数据源 + * @param entity + * @return + * @throws Exception + */ + @Override + public SysExtensionApiEntity setData(SysExtensionApiEntity entity) throws Exception { + try { + JSONObject sendBody = new JSONObject(); + String bodys = entity.getBodys(); + Map headers = entity.getHeaders(); + JSONObject jsonObject = JSONObject.parseObject(bodys); + String loginName = jsonObject.getString("field0002"); + String dataXml = getXml(jsonObject); + //处理xml数据 + String oaToken = getOAToken(loginName); + headers.put("token",oaToken); + sendBody.put("token",oaToken); + sendBody.put("loginName",loginName); + sendBody.put("dataXml",dataXml); + entity.setBodys(sendBody.toJSONString()); + } catch (Exception e) { + e.printStackTrace(); + } + return entity; + } + + private String getXml(JSONObject jsonObject) { + StringBuffer stringBuffer = new StringBuffer(); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0011") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0001") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0002") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0012") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0013") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0014") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0003") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0015") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0016") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0017") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0018") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0019") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0020") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(jsonObject.getString("field0021") != null?"":""); + stringBuffer.append(""); + stringBuffer.append(""); + //处理明细 + JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString("mdm_ccd_detail")); + if(jsonArray != null&& jsonArray.size() > 0){ + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject detailObject = jsonArray.getJSONObject(i); + stringBuffer.append(""); + stringBuffer.append("").append(detailObject.getString("field0004") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("field0005") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("field0022") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("field0006") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("field0007") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("field0008") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("field0009") != null?"":"").append(""); + stringBuffer.append(""); + } + } + stringBuffer.append(""); + return stringBuffer.toString(); + } + + + +} diff --git a/base-buildpackage/src/main/resources/application-llg.yml b/base-buildpackage/src/main/resources/application-llg.yml new file mode 100644 index 00000000..03cdf7ee --- /dev/null +++ b/base-buildpackage/src/main/resources/application-llg.yml @@ -0,0 +1,82 @@ +#######################本地环境####################### +logging: + #日志级别 指定目录级别 + level: + root: info + encodings: UTF-8 + file: + # 日志保存路径 + path: /Users/apple/Desktop/log/local +spring: + data: + mongodb: +# host: 192.168.2.237 +# port: 27017 +# database: businesscenter +# auto-index-creation: true +# password: hzya1314 +# username: hzya + flyway: + # 启动flyway migration, 默认为true + enabled: false + datasource: + dynamic: + druid: + filters: stat,log4j2 + datasource: + master: +# url: jdbc:dm://hzya.ufyct.com:9040?schema=businesscenter&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&compatibleMode=oracle +# username: hzyazt +# password: 62e4295b615a30dbf3b8ee96f41c820b +# driver-class-name: dm.jdbc.driver.DmDriver +# type: com.alibaba.druid.pool.DruidDataSource + url: jdbc:mysql://ufidahz.com.cn:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true + username: root + password: bd993088e8a7c3dc5f44441617f9b4bf + driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 +# url: jdbc:dm://hzya.ufyct.com:9040/businesscenter?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8 +# url: jdbc:dm://hzya.ufyct.com:9040?schema=businesscenter&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&compatibleMode=oracle +# username: hzyazt +# password: 62e4295b615a30dbf3b8ee96f41c820b +# driver-class-name: dm.jdbc.driver.DmDriver +savefile: + # 文件保存路径 + path: /Users/apple/Desktop/log/local + tomcatpath: /Users/apple/Desktop/log/local + pluginpath: /Users/apple/Desktop/log/local +zt: + url: http://127.0.0.1:10086/kangarooDataCenterV3/entranceController/externalCallInterface +cbs8: + appId: 1P4AGrpz + appSecret: 2c2369ae5dc04382844bbe3a5abf39e1bea9cd3a + url: https://cbs8-openapi-reprd.csuat.cmburl.cn + # 测试用这个 这个是银行给的,和下面的公钥不是一对密钥 + ya_private_key: 83BA7EC821D35F4CB31FF9A51C1EFA520FC52AF828C2337F88E91CF119B07F44 + # 这个私钥到时候上传到cbs,和下面到是同一对 + #ya_private_key: e1eacfdee9b8d4184437d5a2071e17ce31befc3d93395f9f05709ed562e8dc46 + ya_public_key: 044fa399d2223760f17b81b863cb482b009294c4516f8a605dea1475ec09e720eaa98468715e5ad509a592a0b426061551c5a3df236966c23253a7d894eac0dcde + cbs_public_key: 0469146F06BF3B01236E84632441E826 + #电子回单下载临时存放位置 + elec_path: /Users/xiangerlin/Downloads/ +OA: + data_source_code: yc_oa +server: + port: 10086 + +# mysqldump -d mylm -hhzya.ufyct.com -p9096 -uroot -phzya1314 >%dirName%\table_view.sql + + +database: + databaseName: businesscenter + host: 192.168.2.237 + port: 3306 + username: root + password: hzya@1314 + filePase: /Users/apple/Desktop/log + fileName: data.sql +#sftp: +# host: 192.168.2.237 +# port: 9091 +# username: cs237 +# password: hzya@1314 +# filePase: /databaseBack diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/pluginCfg.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/pluginCfg.xml new file mode 100644 index 00000000..4fe837f2 --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/pluginCfg.xml @@ -0,0 +1,6 @@ + + +IncomeInvoicePlugin +IncomeInvoicePlugin插件 +202404080001 + diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-dao.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-dao.xml new file mode 100644 index 00000000..52a288d1 --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-dao.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-plugin.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-plugin.xml new file mode 100644 index 00000000..07ee22b0 --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-plugin.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-service.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-service.xml new file mode 100644 index 00000000..68ce3bce --- /dev/null +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-service.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/zxbank/service/impl/ZxBankServiceImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/zxbank/service/impl/ZxBankServiceImpl.java index 6be14686..8761e1ca 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/zxbank/service/impl/ZxBankServiceImpl.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/zxbank/service/impl/ZxBankServiceImpl.java @@ -66,10 +66,10 @@ public class ZxBankServiceImpl extends BaseService impleme @Value("${zt.url}") private String url; - @Value("${zx.privateKey}") + @Value("${zx.privateKey:}") private String privateKey; - @Value("${zx.publicKey}") + @Value("${zx.publicKey:}") private String publicKey; @Override public JsonResultEntity queryArchives(JSONObject json) { From dd600042c057607eec44f023bf8de9277c727560 Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Thu, 10 Apr 2025 17:04:00 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=A9=E6=96=99?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/IncomeInvoiceEntity.xml | 65 ++++++++++++++++++- .../impl/IncomeInvoiceServiceImpl.java | 34 +++++++++- 2 files changed, 96 insertions(+), 3 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml index 219ac58a..76c3f17e 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml @@ -32,6 +32,27 @@ company_id , fphm , + fpdm , + kprq , + xfsh , + xfmc , + gfsh , + gfmc , + hjje , + hjse , + jshj , + jym , + xfdzdh , + xfyhzh , + gfdzdh , + gfyhzh , + mmq , + bz , + jqbh , + jdhm , + kpr , + skr , + fhr , @@ -55,6 +76,27 @@ #{company_id} , #{fphm} , + #{fpdm} , + #{kprq} , + #{xfsh} , + #{xfmc} , + #{gfsh} , + #{gfmc} , + #{hjje} , + #{hjse} , + #{jshj} , + #{jym} , + #{xfdzdh} , + #{xfyhzh} , + #{gfdzdh} , + #{gfyhzh} , + #{mmq} , + #{bz} , + #{jqbh} , + #{jdhm} , + #{kpr} , + #{skr} , + #{fhr} , @@ -76,6 +118,17 @@ company_id , remark , + xh , + ssflbm , + xmmc , + ggxh , + dw , + sl , + dj , + je , + slv , + se , + @@ -95,8 +148,16 @@ #{company_id} , #{remark} , - - + #{xh} , + #{ssflbm} , + #{xmmc} , + #{ggxh} , + #{dw} , + #{sl} , + #{dj} , + #{je} , + #{slv} , + #{se} , ) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java index 01861c17..2d4c6c0e 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java @@ -113,6 +113,28 @@ public class IncomeInvoiceServiceImpl extends BaseService 0){ @@ -129,7 +151,17 @@ public class IncomeInvoiceServiceImpl extends BaseService Date: Fri, 11 Apr 2025 14:25:24 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=A9=E6=96=99?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IncomeInvoiceServiceImpl.java | 46 ++++++++++--------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java index 2d4c6c0e..dfbdb947 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java @@ -82,6 +82,8 @@ public class IncomeInvoiceServiceImpl extends BaseService 0){ for (int i1 = 0; i1 < detaildata.size(); i1++) { @@ -208,8 +210,8 @@ public class IncomeInvoiceServiceImpl extends BaseService parametersMap = new HashMap<>(); From 3eee98f14216d2b794ee2ff9e7fe624bfe687f0c Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Fri, 11 Apr 2025 15:33:30 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=A9=E6=96=99?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IncomeInvoiceServiceImpl.java | 23 ------------------- 1 file changed, 23 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java index dfbdb947..d950e050 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java @@ -240,30 +240,7 @@ public class IncomeInvoiceServiceImpl extends BaseService headers = new HashMap<>(); - headers.put("token",access_token); - String returndata = sendGet(url, headers); - if (returndata != null && JSONArray.isValidArray(returndata)) { - JSONArray dataJson = JSONObject.parseArray(returndata); - if(dataJson != null && dataJson.size() > 0){ - for (int i = 0; i < dataJson.size(); i++) { - if(dataJson.getJSONObject(i).getString("code") != null && !"".equals(dataJson.getJSONObject(i).getString("code")) - && usercode.toLowerCase().equals(dataJson.getJSONObject(i).getString("code").toLowerCase())){ - jsonObject.put("telNumber",dataJson.getJSONObject(i).getString("telNumber")); - jsonObject.put("orgDepartmentName",dataJson.getJSONObject(i).getString("orgDepartmentName")); - jsonObject.put("orgPostName",dataJson.getJSONObject(i).getString("orgPostName")); - jsonObject.put("name",dataJson.getJSONObject(i).getString("name")); - break; - } - } - } - } - return jsonObject; - } private String getOAToken(String name) { String url = "https://swoa.sunwave.com.cn:9999/seeyon/rest/token"; Map headers = null; From c0125b7903c0c22456211a4b89a4b43ecf59a2ef Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Tue, 15 Apr 2025 09:15:52 +0800 Subject: [PATCH 05/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=A9=E6=96=99?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IncomeInvoiceServiceImpl.java | 217 +++++++++++++----- 1 file changed, 160 insertions(+), 57 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java index d950e050..6b45519c 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java @@ -242,9 +242,9 @@ public class IncomeInvoiceServiceImpl extends BaseService headers = null; - String bodys = "{\"password\":\"64de4de7-23ce-4946-ac91-dd9e322d86e5\",\"userName\":\"beis\",\"loginName\":\""+name+"\"}"; + String bodys = "{\"password\":\"a5ce21b8-91db-4cec-b3e3-3e44719655fd\",\"userName\":\"hzyaRest\",\"loginName\":\""+name+"\"}"; String tokenData = sendPost(url, headers, bodys); String access_token = null; if (tokenData != null && JSONObject.isValidObject(tokenData)) { @@ -451,7 +451,7 @@ public class IncomeInvoiceServiceImpl extends BaseService headers = entity.getHeaders(); JSONObject jsonObject = JSONObject.parseObject(bodys); - String loginName = jsonObject.getString("field0002"); + String loginName = "hzya"; String dataXml = getXml(jsonObject); //处理xml数据 String oaToken = getOAToken(loginName); @@ -468,67 +468,170 @@ public class IncomeInvoiceServiceImpl extends BaseService"); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0011") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0001") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0002") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0012") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0013") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0014") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0003") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0015") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0016") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0017") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0018") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0019") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0020") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - stringBuffer.append(jsonObject.getString("field0021") != null?"":""); - stringBuffer.append(""); - stringBuffer.append(""); - //处理明细 - JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString("mdm_ccd_detail")); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("fpdm") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("fphm") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("kprq") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("xfsh") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("xfmc") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("gfsh") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("gfmc") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("hjje") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("hjse") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("jshj") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("jym") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("xfdzdh") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("xfyhzh") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("gfdzdh") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("gfyhzh") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("bz") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("jqbh") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("jdhm") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("kpr") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("skr") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("fhr") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("htbm") != null?"":""); + stringBuffer.append("").append(""); + + stringBuffer.append("").append(""); + stringBuffer.append(jsonObject.getString("fpwj") != null?"":""); + stringBuffer.append("").append(""); + + + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + + JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString("mdm_fp_detail")); if(jsonArray != null&& jsonArray.size() > 0){ for (int i = 0; i < jsonArray.size(); i++) { JSONObject detailObject = jsonArray.getJSONObject(i); stringBuffer.append(""); - stringBuffer.append("").append(detailObject.getString("field0004") != null?"":"").append(""); - stringBuffer.append("").append(detailObject.getString("field0005") != null?"":"").append(""); - stringBuffer.append("").append(detailObject.getString("field0022") != null?"":"").append(""); - stringBuffer.append("").append(detailObject.getString("field0006") != null?"":"").append(""); - stringBuffer.append("").append(detailObject.getString("field0007") != null?"":"").append(""); - stringBuffer.append("").append(detailObject.getString("field0008") != null?"":"").append(""); - stringBuffer.append("").append(detailObject.getString("field0009") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("xh") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("ssflbm") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("xmmc") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("ggxh") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("dw") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("sl") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("dj") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("je") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("slv") != null?"":"").append(""); + stringBuffer.append("").append(detailObject.getString("se") != null?"":"").append(""); stringBuffer.append(""); } } - stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + stringBuffer.append(""); + return stringBuffer.toString(); } From b6334bba1a80245d14fa7b2fc4bd2ddf3505e0ec Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Tue, 15 Apr 2025 14:24:43 +0800 Subject: [PATCH 06/15] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=A9=E6=96=99?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java index beb4c48e..1171b1c2 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java @@ -473,6 +473,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { //查询主数据 MdmModuleEntity queryMdmModuleEntity = new MdmModuleEntity(); + queryMdmModuleEntity.setMdmCode(10050L); queryMdmModuleEntity.setSts("Y"); List mdmModuleEntities = mdmModuleDao.queryBase(queryMdmModuleEntity); if(mdmModuleEntities == null || mdmModuleEntities.size() == 0){ From 103b9c29813da9cf3b2a9be1e12186dbeb3e3d1b Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Tue, 15 Apr 2025 16:37:23 +0800 Subject: [PATCH 07/15] =?UTF-8?q?=E5=8F=91=E7=A5=A8=E4=BC=A0=E9=80=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/IIncomeInvoiceDao.java | 8 +++ .../dao/impl/IncomeInvoiceDaoImpl.java | 24 +++++++ .../entity/IncomeInvoiceEntity.java | 64 ++++++++++++++++++- .../entity/IncomeInvoiceEntity.xml | 51 +++++++++++++++ .../impl/IncomeInvoiceServiceImpl.java | 21 ++++++ .../plugin/MdmModulePluginInitializer.java | 45 +++++++++---- .../impl/SysApplicationServiceImpl.java | 10 ++- 7 files changed, 207 insertions(+), 16 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java index 54190fe9..512d1a80 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java @@ -20,5 +20,13 @@ public interface IIncomeInvoiceDao extends IBaseDao int saveDetailData(JSONObject saveDetailData); int saveData(JSONObject saveData); + + List queryOaZb(IncomeInvoiceEntity incomeInvoiceEntity); + + List queryOaMx(IncomeInvoiceEntity incomeInvoiceEntity); + + int updateMx(IncomeInvoiceEntity incomeInvoiceEntity); + + int saveMx(IncomeInvoiceEntity incomeInvoiceEntity); } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java index fa68e930..cc17e4a1 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java @@ -1,6 +1,7 @@ package com.hzya.frame.plugin.incomeInvoiceData.dao.impl; import com.alibaba.fastjson.JSONObject; +import com.baomidou.dynamic.datasource.annotation.DS; import com.hzya.frame.basedao.dao.MybatisGenericDao; import com.hzya.frame.plugin.incomeInvoiceData.dao.IIncomeInvoiceDao; import com.hzya.frame.plugin.incomeInvoiceData.entity.IncomeInvoiceEntity; @@ -28,5 +29,28 @@ public class IncomeInvoiceDaoImpl extends MybatisGenericDao queryOaZb(IncomeInvoiceEntity entity) { + List o = (List) super.selectList(getSqlIdPrifx() + "queryOaZb", entity); + return o; + } + @DS("#entity.dataSourceCode") + @Override + public List queryOaMx(IncomeInvoiceEntity entity) { + List o = (List) super.selectList(getSqlIdPrifx() + "queryOaMx", entity); + return o; + } + @DS("#entity.dataSourceCode") + @Override + public int updateMx(IncomeInvoiceEntity entity) { + return super.update(getSqlIdPrifx() + "updateMx", entity); + } + @DS("#entity.dataSourceCode") + @Override + public int saveMx(IncomeInvoiceEntity entity) { + return super.insert(getSqlIdPrifx() + "saveMx", entity); + } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java index a4d160c0..71fb1e71 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java @@ -7,8 +7,70 @@ import com.hzya.frame.web.entity.BaseEntity; * @since 2024-06-21 13:52:35 */ public class IncomeInvoiceEntity extends BaseEntity { - + + private Integer data_id; + private Integer formmain_id; + private String field0127; + private String field0128; + private String field0129; + private String field0130; + private String field0003; + public Integer getData_id() { + return data_id; + } + + public void setData_id(Integer data_id) { + this.data_id = data_id; + } + + public Integer getFormmain_id() { + return formmain_id; + } + + public void setFormmain_id(Integer formmain_id) { + this.formmain_id = formmain_id; + } + + public String getField0127() { + return field0127; + } + + public void setField0127(String field0127) { + this.field0127 = field0127; + } + + public String getField0128() { + return field0128; + } + + public void setField0128(String field0128) { + this.field0128 = field0128; + } + + public String getField0129() { + return field0129; + } + + public void setField0129(String field0129) { + this.field0129 = field0129; + } + + public String getField0130() { + return field0130; + } + + public void setField0130(String field0130) { + this.field0130 = field0130; + } + + public String getField0003() { + return field0003; + } + + public void setField0003(String field0003) { + this.field0003 = field0003; + } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml index 76c3f17e..7cde37a3 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml @@ -162,6 +162,57 @@ ) + + + + + update formson_0702 set + + field0127 = #{field0127}, + field0128 = #{field0128}, + field0129 = #{field0129}, + field0130 = #{field0130}, + + where id = #{data_id} + + + + insert into formson_0702( + + id , + formmain_id , + field0127 , + field0128 , + field0129 , + field0130 , + + + )values( + + #{data_id} , + #{formmain_id} , + #{field0127} , + #{field0128} , + #{field0129} , + #{field0130} , + + ) + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java index 6b45519c..f7dc1424 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java @@ -460,6 +460,27 @@ public class IncomeInvoiceServiceImpl extends BaseService list = incomeInvoiceDao.queryOaZb(incomeInvoiceEntity); + if(list != null && list.size() == 1){ + incomeInvoiceEntity.setFormmain_id(list.get(0).getData_id()); + } + List mxlist = incomeInvoiceDao.queryOaMx(incomeInvoiceEntity); + if(mxlist != null && mxlist.size() == 1){ + incomeInvoiceEntity.setData_id(mxlist.get(0).getData_id()); + incomeInvoiceDao.updateMx(incomeInvoiceEntity); + } + if(mxlist == null || mxlist.size() == 0){ + incomeInvoiceEntity.setData_id(1); + incomeInvoiceDao.saveMx(incomeInvoiceEntity); + } } catch (Exception e) { e.printStackTrace(); } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java index 1171b1c2..f79b7098 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java @@ -470,7 +470,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { } } }else {//执行正常下发 - + logger.info("==========开始执行正常主数据下发============="); //查询主数据 MdmModuleEntity queryMdmModuleEntity = new MdmModuleEntity(); queryMdmModuleEntity.setMdmCode(10050L); @@ -510,13 +510,17 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { queryFildRule.setRuleCode("service"); List mdmModuleDbFiledsRuleEntities = mdmModuleDbFiledsRuleDao.queryBase(queryFildRule); - //新增 - doAdd(mdmModuleEntities.get(i).getId(),mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); - //修改 - doUpdate(mdmModuleEntities.get(i).getId(),mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); - //删除 - doDelete(mdmModuleEntities.get(i).getId(),mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); - + if(mdmModuleEntities.get(i).getMdmCode()!= 10045L){ + //新增 + doAdd(mdmModuleEntities.get(i).getId(),mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); + //修改 + doUpdate(mdmModuleEntities.get(i).getId(),mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); + //删除 + doDelete(mdmModuleEntities.get(i).getId(),mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); + }else{ + logger.info("主数据编码为10045,已经在业务数据下发执行,主数据下发不执行"); + continue; + } } } @@ -740,7 +744,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { map1.put("tableName",mainDb); //map1.put("dataStatus", "F"); map1.put("updateStatus", "0"); - map1.put("size", 50); + //map1.put("size", 50); objects = mdmModuleDao.queryMdmSTs(map1); objects = toLowerCaseKeys(objects); @@ -828,6 +832,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { /** body */ String bodys = doObjects.get(i).toJSONString(); if(scriptEntity != null && scriptEntity.getId() != null ){ + logger.info("=========开始执行正常主数据修改下发脚本,第一次=============="); groovy.put("code",scriptEntity.getScriptCode()); groovy.put("className",scriptEntity.getClassName()); groovy.put("name",scriptEntity.getScriptName()); @@ -855,6 +860,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { headers.putAll(header); } if (SysEnum.NEED_LOGIN.getValue().equals(apiEntity.getNeedLogin())) { + logger.info("=========正常主数据修改开始执行登录接口=============="); //找到登陆接口 SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort()); if (null == loginApi) { @@ -875,12 +881,15 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { continue; } JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); + logger.info("=======主数据正常修改下发登录返回数据:{}========",attritube.toJSONString()); querys = getQuery(apiEntity,querys,attritube); headers = getHeaders(apiEntity,headers,attritube); bodys = getBodys(apiEntity,bodys,attritube); } //组装数据发送 + logger.info("=========开始执行主业务修改数据下发脚本,第二次=============="); JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys); + logger.info("=====主数据修改下发返回结果为:{}",JSONObject.parseObject(jsonResultEntity.getAttribute().toString()).toJSONString()); if(jsonResultEntity.isFlag()){ //保存日志 saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"1","发送成功",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"2"); @@ -912,7 +921,8 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { * @param mdmModuleDistributeEntities * @return void **/ - private void doAdd(String mdmId,Long mainCode,List mdmModuleDbEntities, List mdmModuleDistributeEntities,List mdmModuleDbFiledsRuleEntities,List mdmModuleDbFiledsEntities ) throws Exception { + private void + doAdd(String mdmId,Long mainCode,List mdmModuleDbEntities, List mdmModuleDistributeEntities,List mdmModuleDbFiledsRuleEntities,List mdmModuleDbFiledsEntities ) throws Exception { //查询一千条数据 String mainDb = null; List objects = new ArrayList<>(); @@ -928,7 +938,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { map1.put("tableName",mainDb); //map1.put("dataStatus", "Y"); map1.put("addStatus", "0"); - map1.put("size", 50); + //map1.put("size", 50); objects = mdmModuleDao.queryMdmSTs(map1); objects = toLowerCaseKeys(objects); @@ -1000,6 +1010,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { mdmModuleSendLogEntity.setOptionType("1"); Integer num = mdmModuleSendLogDao.getCount(mdmModuleSendLogEntity); if(num > 0){//已经新增过不发送 + objects.get(i).put("sendsanfzt123",true); continue; } getDetailData(mdmModuleDbEntities,doObjects.get(i),mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); @@ -1030,6 +1041,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { /** body */ String bodys = doObjects.get(i).toJSONString(); if(scriptEntity != null && scriptEntity.getId() != null ){ + logger.info("=========开始执行正常主数据新增下发脚本,第一次=============="); groovy.put("code",scriptEntity.getScriptCode()); groovy.put("className",scriptEntity.getClassName()); groovy.put("name",scriptEntity.getScriptName()); @@ -1057,6 +1069,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { headers.putAll(header); } if (SysEnum.NEED_LOGIN.getValue().equals(apiEntity.getNeedLogin())) { + logger.info("=========正常主数据新增开始执行登录接口=============="); //找到登陆接口 SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort()); if (null == loginApi) { @@ -1077,15 +1090,19 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { continue; } JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); + logger.info("=======主数据正常新增下发登录返回数据:{}========",attritube.toJSONString()); querys = getQuery(apiEntity,querys,attritube); headers = getHeaders(apiEntity,headers,attritube); bodys = getBodys(apiEntity,bodys,attritube); } //组装数据发送 + logger.info("=========开始执行主业务新增数据下发脚本,第二次=============="); JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys); + logger.info("=====主数据新增下发返回结果为:{}",JSONObject.parseObject(jsonResultEntity.getAttribute().toString()).toJSONString()); if(jsonResultEntity.isFlag()){ if (scriptEntity != null && scriptEntity.getId() != null && scriptEntity.getBackScriptData() != null ) { + logger.info("=========开始执行主数据新增返回脚本=============="); JSONObject backScriptJson = new JSONObject(); backScriptJson.put("data", jsonResultEntity.getAttribute()); groovy.put("code", scriptEntity.getScriptCode()+"back"); @@ -1125,11 +1142,13 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { //保存日志 saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"1","发送成功",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); objects.get(i).put("sendsanfzt123",true); + logger.info("========主数据新增下发完成,日志保存为成功============"); continue; }else { //保存日志 saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败:"+jsonResultEntity.getAttribute(),mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); objects.get(i).put("sendsanfzt123",false); + logger.info("========主数据新增下发完成,日志保存为失败============"); continue; } } @@ -1137,7 +1156,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { //所有下发发送完成,修改数据状态 for (int i = 0; i < objects.size(); i++) { - if(objects.get(i).getBoolean("sendsanfzt123")){ + if(objects.get(i).getString("sendsanfzt123") != null && objects.get(i).getBoolean("sendsanfzt123")){ Map updateMap = new HashMap<>(); updateMap.put("tableName",mainDb); //updateMap.put("dataStatus", "Y"); @@ -1491,4 +1510,4 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { } return jsonObjects; } -} +} \ No newline at end of file diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java index ad9976a0..caf670cc 100644 --- a/base-service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java +++ b/base-service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java @@ -3055,8 +3055,13 @@ public class SysApplicationServiceImpl extends BaseService Date: Wed, 16 Apr 2025 14:29:19 +0800 Subject: [PATCH 08/15] =?UTF-8?q?=E5=8F=91=E7=A5=A8=E4=BC=A0=E9=80=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/IncomeInvoiceEntity.java | 20 +++++++++---------- .../entity/IncomeInvoiceEntity.xml | 14 ++++++------- .../impl/IncomeInvoiceServiceImpl.java | 13 ++++++------ .../spring/spring-buildpackage-plugin.xml | 2 +- 4 files changed, 25 insertions(+), 24 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java index 71fb1e71..51c2e8e3 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java @@ -8,8 +8,8 @@ import com.hzya.frame.web.entity.BaseEntity; */ public class IncomeInvoiceEntity extends BaseEntity { - private Integer data_id; - private Integer formmain_id; + private Integer dataId; + private Integer formmainId; private String field0127; private String field0128; private String field0129; @@ -17,20 +17,20 @@ public class IncomeInvoiceEntity extends BaseEntity { private String field0003; - public Integer getData_id() { - return data_id; + public Integer getDataId() { + return dataId; } - public void setData_id(Integer data_id) { - this.data_id = data_id; + public void setDataId(Integer dataId) { + this.dataId = dataId; } - public Integer getFormmain_id() { - return formmain_id; + public Integer getFormmainId() { + return formmainId; } - public void setFormmain_id(Integer formmain_id) { - this.formmain_id = formmain_id; + public void setFormmainId(Integer formmainId) { + this.formmainId = formmainId; } public String getField0127() { diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml index 7cde37a3..5ecedcf9 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml @@ -164,7 +164,7 @@ select - id as data_id + id as dataId from formson_0702 and field0128 = #{field0128} @@ -189,14 +189,14 @@ field0129 = #{field0129}, field0130 = #{field0130}, - where id = #{data_id} + where id = #{dataId} insert into formson_0702( - id , - formmain_id , + id , + formmain_id , field0127 , field0128 , field0129 , @@ -205,8 +205,8 @@ )values( - #{data_id} , - #{formmain_id} , + #{dataId} , + #{formmainId} , #{field0127} , #{field0128} , #{field0129} , diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java index f7dc1424..b9d23461 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java @@ -462,23 +462,24 @@ public class IncomeInvoiceServiceImpl extends BaseService list = incomeInvoiceDao.queryOaZb(incomeInvoiceEntity); if(list != null && list.size() == 1){ - incomeInvoiceEntity.setFormmain_id(list.get(0).getData_id()); + incomeInvoiceEntity.setFormmainId(list.get(0).getDataId()); } List mxlist = incomeInvoiceDao.queryOaMx(incomeInvoiceEntity); if(mxlist != null && mxlist.size() == 1){ - incomeInvoiceEntity.setData_id(mxlist.get(0).getData_id()); + incomeInvoiceEntity.setDataId(mxlist.get(0).getDataId()); incomeInvoiceDao.updateMx(incomeInvoiceEntity); } if(mxlist == null || mxlist.size() == 0){ - incomeInvoiceEntity.setData_id(1); + incomeInvoiceEntity.setDataId(1); incomeInvoiceDao.saveMx(incomeInvoiceEntity); } } catch (Exception e) { diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-plugin.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-plugin.xml index 07ee22b0..2b9e4438 100644 --- a/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-plugin.xml +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-plugin.xml @@ -1,5 +1,5 @@ - + From d7518643be081615d7839039afe53c15e95fc6d1 Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Thu, 17 Apr 2025 16:05:51 +0800 Subject: [PATCH 09/15] =?UTF-8?q?=E8=B4=A2=E6=8A=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/IIncomeInvoiceDao.java | 2 + .../dao/impl/IncomeInvoiceDaoImpl.java | 9 ++ .../entity/IncomeInvoiceEntity.java | 49 ++++++++ .../entity/IncomeInvoiceEntity.xml | 23 +++- .../FinancialReportPluginInitializer.java | 63 ++++++++++ .../service/IIncomeInvoiceService.java | 9 ++ .../impl/IncomeInvoiceServiceImpl.java | 115 ++++++++++++++---- .../spring/spring-buildpackage-plugin.xml | 1 + 8 files changed, 249 insertions(+), 22 deletions(-) create mode 100644 base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/plugin/FinancialReportPluginInitializer.java diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java index 512d1a80..0ed7033f 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java @@ -28,5 +28,7 @@ public interface IIncomeInvoiceDao extends IBaseDao int updateMx(IncomeInvoiceEntity incomeInvoiceEntity); int saveMx(IncomeInvoiceEntity incomeInvoiceEntity); + + List queryZtzz(IncomeInvoiceEntity entity); } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java index cc17e4a1..d5a438f6 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java @@ -52,5 +52,14 @@ public class IncomeInvoiceDaoImpl extends MybatisGenericDao queryZtzz(IncomeInvoiceEntity entity) { + List o = (List) super.selectList(getSqlIdPrifx() + "queryZtzz", entity); + return o; + } + + } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java index 51c2e8e3..27f90943 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java @@ -8,6 +8,7 @@ import com.hzya.frame.web.entity.BaseEntity; */ public class IncomeInvoiceEntity extends BaseEntity { + //发票字段 private Integer dataId; private Integer formmainId; private String field0127; @@ -17,6 +18,54 @@ public class IncomeInvoiceEntity extends BaseEntity { private String field0003; + //财报数据 字段 + private String aloneId; + private String sysData; + private String orgCode; + private String orgName; + private String iufoVer; + + + public String getAloneId() { + return aloneId; + } + + public void setAloneId(String aloneId) { + this.aloneId = aloneId; + } + + public String getSysData() { + return sysData; + } + + public void setSysData(String sysData) { + this.sysData = sysData; + } + + public String getOrgCode() { + return orgCode; + } + + public void setOrgCode(String orgCode) { + this.orgCode = orgCode; + } + + public String getOrgName() { + return orgName; + } + + public void setOrgName(String orgName) { + this.orgName = orgName; + } + + public String getIufoVer() { + return iufoVer; + } + + public void setIufoVer(String iufoVer) { + this.iufoVer = iufoVer; + } + public Integer getDataId() { return dataId; } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml index 5ecedcf9..d923d284 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml @@ -53,6 +53,10 @@ kpr , skr , fhr , + url , + ofdurl , + xmlurl , + htbh , @@ -97,7 +101,10 @@ #{kpr} , #{skr} , #{fhr} , - + #{url} , + #{ofdurl} , + #{xmlurl} , + #{htbh} , ) @@ -214,5 +221,19 @@ ) + + + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/plugin/FinancialReportPluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/plugin/FinancialReportPluginInitializer.java new file mode 100644 index 00000000..0c603f6f --- /dev/null +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/plugin/FinancialReportPluginInitializer.java @@ -0,0 +1,63 @@ +package com.hzya.frame.plugin.incomeInvoiceData.plugin; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.plugin.incomeInvoiceData.service.IIncomeInvoiceService; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * 主数据同步 + * + * @author makejava + * @since 2024-06-21 13:52:35 + */ +public class FinancialReportPluginInitializer extends PluginBaseEntity{ + Logger logger = LoggerFactory.getLogger(FinancialReportPluginInitializer.class); + + @Autowired + private IIncomeInvoiceService incomeInvoiceService; + + @Override + public void initialize() { + logger.info(getPluginLabel() + "执行初始化方法initialize()"); + } + + @Override + public void destroy() { + logger.info(getPluginLabel() + "执行销毁方法destroy()"); + } + + @Override + public String getPluginId() { + return "FinancialReportPlugin"; + } + + @Override + public String getPluginName() { + return "FinancialReportPlugin插件"; + } + + @Override + public String getPluginLabel() { + return "FinancialReportPlugin"; + } + + @Override + public String getPluginType() { + return "1"; + } + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) { + try { + logger.info("======开始执行进项全量发票主数据信息同步========"); + return incomeInvoiceService.sendFinancialReportPlugin(requestJson); + }catch (Exception e){ + logger.info("======执行进项全量发票主数据同步失败:{}========",e.getMessage()); + e.printStackTrace(); + } + return null; + } +} diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/IIncomeInvoiceService.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/IIncomeInvoiceService.java index 08ca551f..2276deeb 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/IIncomeInvoiceService.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/IIncomeInvoiceService.java @@ -12,6 +12,15 @@ import com.hzya.frame.web.entity.JsonResultEntity; * @since 2024-06-21 13:52:35 */ public interface IIncomeInvoiceService extends IBaseService { + /** + * @Author lvleigang + * @Description 全量发票数据 + * @Date 4:28 下午 2025/4/16 + * @param requestJson + * @return com.hzya.frame.web.entity.JsonResultEntity + **/ JsonResultEntity getIncomeInvoiceData(JSONObject requestJson); SysExtensionApiEntity setData(SysExtensionApiEntity entity) throws Exception; + + JsonResultEntity sendFinancialReportPlugin(JSONObject requestJson); } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java index b9d23461..ac801897 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java @@ -1,7 +1,9 @@ package com.hzya.frame.plugin.incomeInvoiceData.service.impl; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.mdm.mdmModuleSource.entity.MdmModuleSourceEntity; import com.hzya.frame.plugin.incomeInvoiceData.dao.IIncomeInvoiceDao; import com.hzya.frame.plugin.incomeInvoiceData.entity.IncomeInvoiceEntity; import com.hzya.frame.plugin.incomeInvoiceData.service.IIncomeInvoiceService; @@ -15,6 +17,7 @@ import com.hzya.frame.uuid.UUIDLong; import com.hzya.frame.uuid.UUIDUtils; import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.JsonResultEntity; +import org.apache.commons.collections.CollectionUtils; import org.apache.http.HttpEntity; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.CloseableHttpResponse; @@ -33,6 +36,7 @@ import com.hzya.frame.basedao.service.impl.BaseService; import javax.net.ssl.SSLContext; import java.io.IOException; import java.text.SimpleDateFormat; +import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -61,6 +65,13 @@ public class IncomeInvoiceServiceImpl extends BaseService 0){ @@ -461,26 +476,28 @@ public class IncomeInvoiceServiceImpl extends BaseService list = incomeInvoiceDao.queryOaZb(incomeInvoiceEntity); - if(list != null && list.size() == 1){ - incomeInvoiceEntity.setFormmainId(list.get(0).getDataId()); - } - List mxlist = incomeInvoiceDao.queryOaMx(incomeInvoiceEntity); - if(mxlist != null && mxlist.size() == 1){ - incomeInvoiceEntity.setDataId(mxlist.get(0).getDataId()); - incomeInvoiceDao.updateMx(incomeInvoiceEntity); - } - if(mxlist == null || mxlist.size() == 0){ - incomeInvoiceEntity.setDataId(1); - incomeInvoiceDao.saveMx(incomeInvoiceEntity); + if(jsonObject.getString("htbh") != null){ + IncomeInvoiceEntity incomeInvoiceEntity = new IncomeInvoiceEntity(); + incomeInvoiceEntity.setDataSourceCode("master");//todo + //incomeInvoiceEntity.setDataSourceCode("HT-OA");//todo + incomeInvoiceEntity.setField0003(jsonObject.getString("htbh"));//合同号 + incomeInvoiceEntity.setField0127(jsonObject.getString("fpdm"));//发票代码 + incomeInvoiceEntity.setField0128(jsonObject.getString("fphm"));//发票号码 + incomeInvoiceEntity.setField0129(jsonObject.getString("jshj"));//发票总额 + incomeInvoiceEntity.setField0130(jsonObject.getString("fpwj"));//发票文件 todo + List list = incomeInvoiceDao.queryOaZb(incomeInvoiceEntity); + if(list != null && list.size() == 1){ + incomeInvoiceEntity.setFormmainId(list.get(0).getDataId()); + } + List mxlist = incomeInvoiceDao.queryOaMx(incomeInvoiceEntity); + if(mxlist != null && mxlist.size() == 1){ + incomeInvoiceEntity.setDataId(mxlist.get(0).getDataId()); + incomeInvoiceDao.updateMx(incomeInvoiceEntity); + } + if(mxlist == null || mxlist.size() == 0){ + incomeInvoiceEntity.setDataId(1); + incomeInvoiceDao.saveMx(incomeInvoiceEntity); + } } } catch (Exception e) { e.printStackTrace(); @@ -488,6 +505,8 @@ public class IncomeInvoiceServiceImpl extends BaseService"); @@ -609,7 +628,7 @@ public class IncomeInvoiceServiceImpl extends BaseService").append(""); stringBuffer.append("").append(""); - stringBuffer.append(jsonObject.getString("fpwj") != null?"":""); + stringBuffer.append(jsonObject.getString("fpwj") != null?"":""); stringBuffer.append("").append(""); @@ -658,5 +677,59 @@ public class IncomeInvoiceServiceImpl extends BaseService list = incomeInvoiceDao.queryZtzz(entity); + if(list != null && list.size() > 0){ + for (int i = 0; i < list.size(); i++) { + //查询数据 + + + + + + + + + } + } + + return BaseResult.getSuccessMessageEntity("执行成功"); + } } diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-plugin.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-plugin.xml index 2b9e4438..2c2856fe 100644 --- a/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-plugin.xml +++ b/base-buildpackage/src/main/resources/cfgHome/plugin/incomeInvoiceData/spring/spring-buildpackage-plugin.xml @@ -2,4 +2,5 @@ + From b5251fba58727f7646eb92017998681d37174cb5 Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Mon, 21 Apr 2025 13:37:02 +0800 Subject: [PATCH 10/15] =?UTF-8?q?=E8=B4=A2=E6=8A=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/IIncomeInvoiceDao.java | 2 + .../dao/impl/IncomeInvoiceDaoImpl.java | 7 +- .../entity/IncomeInvoiceEntity.xml | 319 +++++++++++++++++- .../impl/IncomeInvoiceServiceImpl.java | 69 +++- 4 files changed, 369 insertions(+), 28 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java index 0ed7033f..8fb161da 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/IIncomeInvoiceDao.java @@ -30,5 +30,7 @@ public interface IIncomeInvoiceDao extends IBaseDao int saveMx(IncomeInvoiceEntity incomeInvoiceEntity); List queryZtzz(IncomeInvoiceEntity entity); + + List queryByAloneId(IncomeInvoiceEntity jnquerydata); } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java index d5a438f6..8582aab4 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/dao/impl/IncomeInvoiceDaoImpl.java @@ -60,6 +60,11 @@ public class IncomeInvoiceDaoImpl extends MybatisGenericDao queryByAloneId(IncomeInvoiceEntity entity) { + List o = (List) super.selectList(getSqlIdPrifx() + "queryByAloneId", entity); + return o; + } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml index d923d284..4fc5953d 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml @@ -224,16 +224,315 @@ + + + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java index ac801897..29eef34c 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java @@ -690,6 +690,14 @@ public class IncomeInvoiceServiceImpl extends BaseService list = incomeInvoiceDao.queryZtzz(entity); - if(list != null && list.size() > 0){ - for (int i = 0; i < list.size(); i++) { - //查询数据 - - - - - - - - - } + IncomeInvoiceEntity jnentity = new IncomeInvoiceEntity(); + jnentity.setDataSourceCode(""); + jnentity.setSysData(jnDate); + jnentity.setOrgCode(orgCode); + List jnlist = incomeInvoiceDao.queryZtzz(jnentity); + if(jnlist != null && jnlist.size() == 1){ + dyAloneId = jnlist.get(0); + }else { + return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送"); } + //查询帐套组织 + IncomeInvoiceEntity qnentity = new IncomeInvoiceEntity(); + qnentity.setDataSourceCode(""); + qnentity.setSysData(jnDate); + qnentity.setOrgCode(orgCode); + List qnlist = incomeInvoiceDao.queryZtzz(qnentity); + if(qnlist != null && qnlist.size() == 1){ + qnAloneId = qnlist.get(0); + }else { + logger.info("未查询到当月的财报数据"); + } + + //查找今年数据 + IncomeInvoiceEntity jnquerydata = new IncomeInvoiceEntity(); + jnquerydata.setDataSourceCode(""); + jnquerydata.setAloneId(dyAloneId.getAloneId()); + List dydataList = incomeInvoiceDao.queryByAloneId(jnquerydata); + if(dydataList != null && dydataList.size() == 1){ + dydata = dydataList.get(0); + }else { + return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送"); + } + + //查找去年数据 + IncomeInvoiceEntity qnquerydata = new IncomeInvoiceEntity(); + qnquerydata.setDataSourceCode(""); + qnquerydata.setAloneId(qnAloneId.getAloneId()); + List qndataList = incomeInvoiceDao.queryByAloneId(qnquerydata); + if(qndataList != null && qndataList.size() == 1){ + qndata = qndataList.get(0); + } + //拼接数据 + + + return BaseResult.getSuccessMessageEntity("执行成功"); } From 182994104da4b8ac8a73105970454af5f6cfa0fe Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Tue, 22 Apr 2025 13:35:03 +0800 Subject: [PATCH 11/15] =?UTF-8?q?=E8=B4=A2=E6=8A=A5=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IncomeInvoiceServiceImpl.java | 170 ++++++++++-------- 1 file changed, 96 insertions(+), 74 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java index 29eef34c..ac0e2b82 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java @@ -36,6 +36,7 @@ import com.hzya.frame.basedao.service.impl.BaseService; import javax.net.ssl.SSLContext; import java.io.IOException; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; @@ -686,85 +687,106 @@ public class IncomeInvoiceServiceImpl extends BaseService jnlist = incomeInvoiceDao.queryZtzz(jnentity); - if(jnlist != null && jnlist.size() == 1){ - dyAloneId = jnlist.get(0); - }else { - return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送"); - } - //查询帐套组织 - IncomeInvoiceEntity qnentity = new IncomeInvoiceEntity(); - qnentity.setDataSourceCode(""); - qnentity.setSysData(jnDate); - qnentity.setOrgCode(orgCode); - List qnlist = incomeInvoiceDao.queryZtzz(qnentity); - if(qnlist != null && qnlist.size() == 1){ - qnAloneId = qnlist.get(0); - }else { - logger.info("未查询到当月的财报数据"); - } - - //查找今年数据 - IncomeInvoiceEntity jnquerydata = new IncomeInvoiceEntity(); - jnquerydata.setDataSourceCode(""); - jnquerydata.setAloneId(dyAloneId.getAloneId()); - List dydataList = incomeInvoiceDao.queryByAloneId(jnquerydata); - if(dydataList != null && dydataList.size() == 1){ - dydata = dydataList.get(0); - }else { - return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送"); - } - - //查找去年数据 - IncomeInvoiceEntity qnquerydata = new IncomeInvoiceEntity(); - qnquerydata.setDataSourceCode(""); - qnquerydata.setAloneId(qnAloneId.getAloneId()); - List qndataList = incomeInvoiceDao.queryByAloneId(qnquerydata); - if(qndataList != null && qndataList.size() == 1){ - qndata = qndataList.get(0); - } - //拼接数据 - return BaseResult.getSuccessMessageEntity("执行成功"); + + //JSONObject jsonObject = requestJson.getJSONObject("jsonStr"); + //String cdDate = null; + //String jnDate = null; + //String qnDate = null; + //String orgCode = "X0644"; + //IncomeInvoiceEntity dyAloneId = null; + //JSONObject dydata = null; + //JSONObject qndata = null; + //IncomeInvoiceEntity qnAloneId = null; + //if(requestJson.getString("orgCode") != null){ + // orgCode = requestJson.getString("orgCode"); + //} + //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); + //if(requestJson.getString("year") != null && requestJson.getString("month") != null){ + // cdDate = requestJson.getString("year") + "-" + requestJson.getString("month"); + // if("13".equals(requestJson.getString("month"))){ + // cdDate = requestJson.getString("year") + "-12"; + // qnDate = (requestJson.getInteger("year")-1) + "-12"; + // }else { + // cdDate = requestJson.getString("year") + "-" + requestJson.getString("month"); + // qnDate = (requestJson.getInteger("year")-1) + "-" + requestJson.getString("month"); + // } + //}else { + // cdDate = sdf.format(new Date()); + // jnDate = sdf.format(new Date()); + // Calendar calendar = Calendar.getInstance(); + // calendar.setTime(new Date()); + // calendar.add(Calendar.YEAR, -1); + // Date qn = calendar.getTime(); + // qnDate = sdf.format(qn); + //} + // + ////查询帐套组织 + //IncomeInvoiceEntity jnentity = new IncomeInvoiceEntity(); + //jnentity.setDataSourceCode(""); + //jnentity.setSysData(jnDate); + //jnentity.setOrgCode(orgCode); + //List jnlist = incomeInvoiceDao.queryZtzz(jnentity); + //if(jnlist != null && jnlist.size() == 1){ + // dyAloneId = jnlist.get(0); + //}else { + // return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送"); + //} + ////查询帐套组织 + //IncomeInvoiceEntity qnentity = new IncomeInvoiceEntity(); + //qnentity.setDataSourceCode(""); + //qnentity.setSysData(jnDate); + //qnentity.setOrgCode(orgCode); + //List qnlist = incomeInvoiceDao.queryZtzz(qnentity); + //if(qnlist != null && qnlist.size() == 1){ + // qnAloneId = qnlist.get(0); + //}else { + // logger.info("未查询到当月的财报数据"); + //} + // + ////查找今年数据 + //IncomeInvoiceEntity jnquerydata = new IncomeInvoiceEntity(); + //jnquerydata.setDataSourceCode(""); + //jnquerydata.setAloneId(dyAloneId.getAloneId()); + //List dydataList = incomeInvoiceDao.queryByAloneId(jnquerydata); + //if(dydataList != null && dydataList.size() == 1){ + // dydata = dydataList.get(0); + //}else { + // return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送"); + //} + // + // //查找去年数据 + //IncomeInvoiceEntity qnquerydata = new IncomeInvoiceEntity(); + //qnquerydata.setDataSourceCode(""); + //qnquerydata.setAloneId(qnAloneId.getAloneId()); + //List qndataList = incomeInvoiceDao.queryByAloneId(qnquerydata); + //if(qndataList != null && qndataList.size() == 1){ + // qndata = qndataList.get(0); + //} + ////拼接数据 + // + // + // + // + //return BaseResult.getSuccessMessageEntity("执行成功"); } } From 56008918facb4c230ff4ca2314c5622909701765 Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Tue, 22 Apr 2025 15:48:32 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E7=89=A9=E6=96=99=E5=AF=B9=E7=A7=B0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IncomeInvoiceServiceImpl.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java index ac0e2b82..0abd1310 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java @@ -694,10 +694,22 @@ public class IncomeInvoiceServiceImpl extends BaseService Date: Wed, 23 Apr 2025 09:16:02 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E7=89=A9=E6=96=99=E5=AF=B9=E7=A7=B0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinancialReportPluginInitializer.java | 4 +- .../impl/IncomeInvoiceServiceImpl.java | 23 +- .../service/impl/ApplicationCache.java | 4 + .../seeyon/service/ISeeYonInterFace.java | 7 + .../service/impl/SeeYonInterFaceImpl.java | 278 ++++++++++++++++++ 5 files changed, 311 insertions(+), 5 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/plugin/FinancialReportPluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/plugin/FinancialReportPluginInitializer.java index 0c603f6f..81153779 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/plugin/FinancialReportPluginInitializer.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/plugin/FinancialReportPluginInitializer.java @@ -52,10 +52,10 @@ public class FinancialReportPluginInitializer extends PluginBaseEntity{ @Override public JsonResultEntity executeBusiness(JSONObject requestJson) { try { - logger.info("======开始执行进项全量发票主数据信息同步========"); + logger.info("======开始执行财务信息同步========"); return incomeInvoiceService.sendFinancialReportPlugin(requestJson); }catch (Exception e){ - logger.info("======执行进项全量发票主数据同步失败:{}========",e.getMessage()); + logger.info("======执行财务同步失败:{}========",e.getMessage()); e.printStackTrace(); } return null; diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java index 0abd1310..1432ba2a 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java @@ -702,13 +702,13 @@ public class IncomeInvoiceServiceImpl extends BaseService 0){ for (int i = 0; i < receiveApiList.size(); i++) { applicationApiMap.put("appId"+receiveApiList.get(i).getAppId()+"apiCode"+receiveApiList.get(i).getApiCode(), receiveApiList.get(i)); + applicationApiMap.put("apiId"+receiveApiList.get(i).getId(), receiveApiList.get(i)); } } break; diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/service/ISeeYonInterFace.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/service/ISeeYonInterFace.java index 762023b7..a8566a2b 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/service/ISeeYonInterFace.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/service/ISeeYonInterFace.java @@ -64,6 +64,13 @@ public interface ISeeYonInterFace { * @throws Exception */ SysExtensionApiEntity colEventPre(SysExtensionApiEntity sysExtensionApi)throws Exception; + /** + * seeyon流程事件监听前置方法,绑定数据源 + * @param entity + * @return + * @throws Exception + */ + SysExtensionApiEntity getToken(SysExtensionApiEntity entity) throws Exception; /** * seeyon流程事件监听 * @param jsonObject diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/SeeYonInterFaceImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/SeeYonInterFaceImpl.java index 8e8be89e..1ad93a9e 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/SeeYonInterFaceImpl.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/SeeYonInterFaceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.map.MapBuilder; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpUtil; +import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -13,22 +14,34 @@ import com.hzya.frame.seeyon.dao.ISeeYonInterFaceDao; import com.hzya.frame.seeyon.entity.OAWorkflowEventDataEntity; import com.hzya.frame.seeyon.entity.SeeYonInterFaceEntity; import com.hzya.frame.seeyon.service.ISeeYonInterFace; +import com.hzya.frame.sys.sysenum.SysEnum; import com.hzya.frame.sysnew.application.api.entity.SysApplicationApiEntity; import com.hzya.frame.sysnew.application.api.service.ISysApplicationApiService; import com.hzya.frame.sysnew.application.database.dao.ISysApplicationDatabaseDao; import com.hzya.frame.sysnew.application.database.entity.SysApplicationDatabaseEntity; import com.hzya.frame.sysnew.application.entity.SysApplicationEntity; import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; +import com.hzya.frame.sysnew.application.service.impl.ApplicationCache; import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.JsonResultEntity; import com.hzya.frame.web.exception.BaseSystemException; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.http.HttpEntity; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ByteArrayEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.util.EntityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -54,6 +67,10 @@ public class SeeYonInterFaceImpl implements ISeeYonInterFace { private ISysApplicationDatabaseDao sysApplicationDatabaseDao; @Autowired private ISysApplicationApiService sysApplicationApiService; + @Value("${zt.url}") + private String url ; + @Resource + private ApplicationCache applicationCache; /** * 定义所支持的事件静态代码块 */ @@ -504,4 +521,265 @@ public class SeeYonInterFaceImpl implements ISeeYonInterFace { } return null; } + + @Override + public SysExtensionApiEntity getToken(SysExtensionApiEntity entity) { + Map headers = entity.getHeaders(); + SysApplicationApiEntity sysApplicationEntity = entity.getReceiveApi(); + SysApplicationEntity sendApp = entity.getSendApp(); + SysApplicationEntity receiveApp = entity.getReceiveApp(); + if("1".equals(sysApplicationEntity.getNeedLogin()) && sysApplicationEntity.getAuthenticationPort() != null){ + SysApplicationApiEntity loginApi = getApiByAppIdApiCode(sysApplicationEntity.getAuthenticationPort()); + if (null == loginApi) { + return entity; + } + String rzquerys = getQuery(loginApi,null,null); + Map headersa = new HashMap<>(); + headersa.put("publicKey", sendApp.getPublicKey()); + headersa.put("secretKey", sendApp.getSecretKey()); + headersa.put("appId", receiveApp.getAppId().toString()); + headersa.put("apiCode", loginApi.getApiCode().toString()); + Map rzheaders = getHeaders(loginApi,headersa,null); + String rzbodys = getBodys(loginApi,null,null); + JsonResultEntity rzjsonResultEntity = sendData(loginApi,rzheaders,rzbodys,rzquerys); + if (!rzjsonResultEntity.isFlag()) { + return entity; + } + JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); + headers.put("token",attritube.getJSONObject("attribute").getString("id")); + } + entity.setHeaders(headers); + return entity; + } + private SysApplicationApiEntity getApiByAppIdApiCode(String apiId) { + + String str = "apiId" + apiId ; + Object o = applicationCache.get("5", str); + if (o != null) { + return (SysApplicationApiEntity) o; + } + return null; + } + private JsonResultEntity sendData(SysApplicationApiEntity applicationApiEntity, Map headers ,String bodys ,String querys) { + StringBuffer urls = new StringBuffer(url); + if (querys != null) { + urls.append("?"); + urls.append(querys); + } + HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); + // HttpClient + CloseableHttpClient closeableHttpClient = httpClientBuilder.disableCookieManagement().build(); + HttpPost post = new HttpPost(urls.toString()); + CloseableHttpResponse response = null; + + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(Integer.valueOf(applicationApiEntity.getTimeoutPeriod())).build(); + post.setConfig(requestConfig);//设置请求参数【超时时间】 + + if (headers != null && headers.size() > 0) { + for (String key : headers.keySet()) { + post.setHeader(key, headers.get(key)); + } + } + StringBuilder body = new StringBuilder(); + boolean flag = true; + try { + if (bodys != null && !"".equals(bodys)) { + ByteArrayEntity entity = new ByteArrayEntity(bodys.getBytes("UTF-8")); + entity.setContentType("application/json"); + post.setEntity(entity); + } + response = closeableHttpClient.execute(post); + + HttpEntity entity = response.getEntity(); + body.append(EntityUtils.toString(entity,"UTF-8")); + flag = true; + logger.info("返回结果:" + body); + } catch (Exception e) { + logger.error("请求错误:" + e.getMessage()); + body.append(e.getMessage()); + flag = false; + } finally { + try { + // 关闭响应对象 + if (response != null) { + response.close(); + } + // 关闭响应对象 + if (closeableHttpClient != null) { + closeableHttpClient.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + + } + if (flag) { + if (JSONUtil.isTypeJSON(body.toString())) { + JsonResultEntity jsonResultEntity = JSONObject.parseObject(body.toString(),JsonResultEntity.class); + if(jsonResultEntity.isFlag()){ + return BaseResult.getSuccessMessageEntity("转发成功", body); + }else { + return BaseResult.getFailureMessageEntity("转发失败", body); + } + }else { + return BaseResult.getFailureMessageEntity("转发失败", body); + } + } else { + return BaseResult.getFailureMessageEntity("转发失败", body); + } + } + + private String getBodys(SysApplicationApiEntity loginApi,String sendDatastr, JSONObject loginData) { + JSONObject sendData = new JSONObject(); + if(sendDatastr != null ){ + sendData = JSONObject.parseObject(sendDatastr); + } + if(loginData == null){ + loginData = new JSONObject(); + } + if (loginApi.getBodyIn() != null && !"".equals(loginApi.getBodyIn())) { + if (JSONUtil.isTypeJSONArray(loginApi.getBodyIn())) { + JSONArray headerbodyArray = JSON.parseArray(loginApi.getBodyIn()); + JSONObject bodyjson = headerbodyArray.getJSONObject(0); + JSONArray headerArray = bodyjson.getJSONArray("children"); + for (int i = 0; i < headerArray.size(); i++) { + //获取到第一个数据 + JSONObject querys = headerArray.getJSONObject(i); + if (SysEnum.FUNDAMENTAL.getValue().equals(querys.getString(SysEnum.PARAMETERTYPE.getValue()))) {//认证类型 + String query = querys.getString(SysEnum.EXAMPLE.getValue()); + if (query != null && !"".equals(query)) { + sendData.put(querys.getString(SysEnum.PARAMETERNAME.getValue()),query); + } + } + } + } + } + return sendData.toString(); + } + + private Map getHeaders(SysApplicationApiEntity loginApi,Map map,JSONObject loginData) { + if(loginData == null){ + loginData = new JSONObject(); + } + if (loginApi.getHeaderIn() != null && !"".equals(loginApi.getHeaderIn())) { + if (JSONUtil.isTypeJSONArray(loginApi.getHeaderIn())) { + JSONArray headerArray = JSON.parseArray(loginApi.getHeaderIn()); + for (int i = 0; i < headerArray.size(); i++) { + JSONObject querys = headerArray.getJSONObject(i); + //query 只有基本类型,不用循环判断下级 + //判断参数是否有值 + //获取对象下面的层级数据 + if (SysEnum.AUTHPORT.getValue().equals(querys.getString(SysEnum.PARAMETERTYPE.getValue()))) {//认证类型 + String query = querys.getString(SysEnum.EXAMPLE.getValue()); + if (query != null && !"".equals(query)) { + JSONArray example = JSONArray.parseArray(query); + String logValue = getObjectValue(loginData, example); + map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), logValue); + } + } else { + if (querys.getString(SysEnum.EXAMPLE.getValue()) != null && !"".equals(querys.getString(SysEnum.EXAMPLE.getValue()))) {//入参没有值用实例值,如果没有不添加 + if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ + map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), querys.getString(SysEnum.EXAMPLE.getValue())); + } + } else {//没有值直接拼接 + if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ + map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), ""); + } + } + } + } + } + } + return map; + + + + + } + + /** + * @param loginData + * @param example + * @return java.lang.String + * @Author lvleigang + * @Description 根据jsonArray 获取jsonobject中的值 + * @Date 11:47 上午 2023/8/31 + **/ + private String getObjectValue(JSONObject loginData, JSONArray example) { + String values = ""; + if (example != null && example.size() > 0) { + for (int i = 0; i < example.size(); i++) { + if (loginData.getString(example.getString(i)) != null && !"".equals(loginData.getString(example.getString(i)))) { + if (i == (example.size() - 1)) { + values = loginData.getString(example.getString(i)); + } else { + loginData = JSONObject.parseObject(loginData.getString(example.getString(i))); + } + } else { + return values; + } + } + } + return values; + } + private String getQuery(SysApplicationApiEntity loginApi,String sendDatastr,JSONObject loginData) { + Map map = new HashMap<>(); + if(sendDatastr != null){ + String[] parts = sendDatastr.split("&"); + if(parts != null && parts.length > 0){ + for (int i = 0; i < parts.length; i++) { + String[] part = parts[i].split("="); + if(part != null && part.length >=2 ){ + for (int a = 0; a < part.length; a++) { + map.put(part[0],part[1]); + } + } + } + } + } + if(loginData == null){ + loginData = new JSONObject(); + } + if (loginApi.getQueryIn() != null && !"".equals(loginApi.getQueryIn())) { + if (JSONUtil.isTypeJSONArray(loginApi.getQueryIn())) { + JSONArray headerArray = JSON.parseArray(loginApi.getQueryIn()); + for (int i = 0; i < headerArray.size(); i++) { + JSONObject querys = headerArray.getJSONObject(i); + //query 只有基本类型,不用循环判断下级 + //判断参数是否有值 + //获取对象下面的层级数据 + if (SysEnum.AUTHPORT.getValue().equals(querys.getString(SysEnum.PARAMETERTYPE.getValue()))) {//认证类型 + String query = querys.getString(SysEnum.EXAMPLE.getValue()); + if (query != null && !"".equals(query)) { + JSONArray example = JSONArray.parseArray(query); + String logValue = getObjectValue(loginData, example); + map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), logValue); + } + } else { + //不是认证类型直接取值 + if (querys.getString(SysEnum.EXAMPLE.getValue()) != null && !"".equals(querys.getString(SysEnum.EXAMPLE.getValue()))) {//入参没有值用实例值,如果没有不添加 + if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ + map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), querys.getString(SysEnum.EXAMPLE.getValue())); + } + } else {//没有值直接拼接 + if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ + map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), ""); + } + } + } + } + } + } + StringBuffer returnStr = new StringBuffer(); + if(map != null && map.size() > 0){ + for (String key : map.keySet()) { + if("".equals(returnStr)){ + returnStr.append(key).append("=").append(map.get(key)); + }else { + returnStr.append("&").append(key).append("=").append(map.get(key)); + } + } + } + return returnStr.toString(); + } } From e3aee87674fd7aa01468ecf6c86bd4fdfde52365 Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Wed, 23 Apr 2025 11:14:26 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E7=89=A9=E6=96=99=E5=AF=B9=E7=A7=B0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SeeYonInterFaceImpl.java | 277 ++++++++++++++++++ 1 file changed, 277 insertions(+) diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/SeeYonInterFaceImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/SeeYonInterFaceImpl.java index 619d0eca..d8c718ce 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/SeeYonInterFaceImpl.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/SeeYonInterFaceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpUtil; +import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -13,12 +14,14 @@ import com.hzya.frame.seeyon.dao.ISeeYonInterFaceDao; import com.hzya.frame.seeyon.entity.OAWorkflowEventDataEntity; import com.hzya.frame.seeyon.entity.SeeYonInterFaceEntity; import com.hzya.frame.seeyon.service.ISeeYonInterFace; +import com.hzya.frame.sys.sysenum.SysEnum; import com.hzya.frame.sysnew.application.api.entity.SysApplicationApiEntity; import com.hzya.frame.sysnew.application.api.service.ISysApplicationApiService; import com.hzya.frame.sysnew.application.database.dao.ISysApplicationDatabaseDao; import com.hzya.frame.sysnew.application.database.entity.SysApplicationDatabaseEntity; import com.hzya.frame.sysnew.application.entity.SysApplicationEntity; import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; +import com.hzya.frame.sysnew.application.service.impl.ApplicationCache; import com.hzya.frame.util.PluginUtils; import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.JsonResultEntity; @@ -26,12 +29,22 @@ import com.hzya.frame.web.exception.BaseSystemException; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.http.HttpEntity; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ByteArrayEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.util.EntityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -77,6 +90,10 @@ public class SeeYonInterFaceImpl implements ISeeYonInterFace { private ISeeYonInterFaceDao seeYonInterFaceDao; //上一次同步时间 private final String LAST_SYNCHRONISED_TIME = ""; + @Value("${zt.url}") + private String url ; + @Resource + private ApplicationCache applicationCache; { eventTypeBuffer.append("发起前事件 onBeforeStart ,"); @@ -564,4 +581,264 @@ public class SeeYonInterFaceImpl implements ISeeYonInterFace { } + @Override + public SysExtensionApiEntity getToken(SysExtensionApiEntity entity) { + Map headers = entity.getHeaders(); + SysApplicationApiEntity sysApplicationEntity = entity.getReceiveApi(); + SysApplicationEntity sendApp = entity.getSendApp(); + SysApplicationEntity receiveApp = entity.getReceiveApp(); + if("1".equals(sysApplicationEntity.getNeedLogin()) && sysApplicationEntity.getAuthenticationPort() != null){ + SysApplicationApiEntity loginApi = getApiByAppIdApiCode(sysApplicationEntity.getAuthenticationPort()); + if (null == loginApi) { + return entity; + } + String rzquerys = getQuery(loginApi,null,null); + Map headersa = new HashMap<>(); + headersa.put("publicKey", sendApp.getPublicKey()); + headersa.put("secretKey", sendApp.getSecretKey()); + headersa.put("appId", receiveApp.getAppId().toString()); + headersa.put("apiCode", loginApi.getApiCode().toString()); + Map rzheaders = getHeaders(loginApi,headersa,null); + String rzbodys = getBodys(loginApi,null,null); + JsonResultEntity rzjsonResultEntity = sendData(loginApi,rzheaders,rzbodys,rzquerys); + if (!rzjsonResultEntity.isFlag()) { + return entity; + } + JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); + headers.put("token",attritube.getJSONObject("attribute").getString("id")); + } + entity.setHeaders(headers); + return entity; + } + private SysApplicationApiEntity getApiByAppIdApiCode(String apiId) { + + String str = "apiId" + apiId ; + Object o = applicationCache.get("5", str); + if (o != null) { + return (SysApplicationApiEntity) o; + } + return null; + } + private JsonResultEntity sendData(SysApplicationApiEntity applicationApiEntity, Map headers ,String bodys ,String querys) { + StringBuffer urls = new StringBuffer(url); + if (querys != null) { + urls.append("?"); + urls.append(querys); + } + HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); + // HttpClient + CloseableHttpClient closeableHttpClient = httpClientBuilder.disableCookieManagement().build(); + HttpPost post = new HttpPost(urls.toString()); + CloseableHttpResponse response = null; + + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(Integer.valueOf(applicationApiEntity.getTimeoutPeriod())).build(); + post.setConfig(requestConfig);//设置请求参数【超时时间】 + + if (headers != null && headers.size() > 0) { + for (String key : headers.keySet()) { + post.setHeader(key, headers.get(key)); + } + } + StringBuilder body = new StringBuilder(); + boolean flag = true; + try { + if (bodys != null && !"".equals(bodys)) { + ByteArrayEntity entity = new ByteArrayEntity(bodys.getBytes("UTF-8")); + entity.setContentType("application/json"); + post.setEntity(entity); + } + response = closeableHttpClient.execute(post); + + HttpEntity entity = response.getEntity(); + body.append(EntityUtils.toString(entity,"UTF-8")); + flag = true; + logger.info("返回结果:" + body); + } catch (Exception e) { + logger.error("请求错误:" + e.getMessage()); + body.append(e.getMessage()); + flag = false; + } finally { + try { + // 关闭响应对象 + if (response != null) { + response.close(); + } + // 关闭响应对象 + if (closeableHttpClient != null) { + closeableHttpClient.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + + } + if (flag) { + if (JSONUtil.isTypeJSON(body.toString())) { + JsonResultEntity jsonResultEntity = JSONObject.parseObject(body.toString(),JsonResultEntity.class); + if(jsonResultEntity.isFlag()){ + return BaseResult.getSuccessMessageEntity("转发成功", body); + }else { + return BaseResult.getFailureMessageEntity("转发失败", body); + } + }else { + return BaseResult.getFailureMessageEntity("转发失败", body); + } + } else { + return BaseResult.getFailureMessageEntity("转发失败", body); + } + } + + private String getBodys(SysApplicationApiEntity loginApi,String sendDatastr, JSONObject loginData) { + JSONObject sendData = new JSONObject(); + if(sendDatastr != null ){ + sendData = JSONObject.parseObject(sendDatastr); + } + if(loginData == null){ + loginData = new JSONObject(); + } + if (loginApi.getBodyIn() != null && !"".equals(loginApi.getBodyIn())) { + if (JSONUtil.isTypeJSONArray(loginApi.getBodyIn())) { + JSONArray headerbodyArray = JSON.parseArray(loginApi.getBodyIn()); + JSONObject bodyjson = headerbodyArray.getJSONObject(0); + JSONArray headerArray = bodyjson.getJSONArray("children"); + for (int i = 0; i < headerArray.size(); i++) { + //获取到第一个数据 + JSONObject querys = headerArray.getJSONObject(i); + if (SysEnum.FUNDAMENTAL.getValue().equals(querys.getString(SysEnum.PARAMETERTYPE.getValue()))) {//认证类型 + String query = querys.getString(SysEnum.EXAMPLE.getValue()); + if (query != null && !"".equals(query)) { + sendData.put(querys.getString(SysEnum.PARAMETERNAME.getValue()),query); + } + } + } + } + } + return sendData.toString(); + } + + private Map getHeaders(SysApplicationApiEntity loginApi,Map map,JSONObject loginData) { + if(loginData == null){ + loginData = new JSONObject(); + } + if (loginApi.getHeaderIn() != null && !"".equals(loginApi.getHeaderIn())) { + if (JSONUtil.isTypeJSONArray(loginApi.getHeaderIn())) { + JSONArray headerArray = JSON.parseArray(loginApi.getHeaderIn()); + for (int i = 0; i < headerArray.size(); i++) { + JSONObject querys = headerArray.getJSONObject(i); + //query 只有基本类型,不用循环判断下级 + //判断参数是否有值 + //获取对象下面的层级数据 + if (SysEnum.AUTHPORT.getValue().equals(querys.getString(SysEnum.PARAMETERTYPE.getValue()))) {//认证类型 + String query = querys.getString(SysEnum.EXAMPLE.getValue()); + if (query != null && !"".equals(query)) { + JSONArray example = JSONArray.parseArray(query); + String logValue = getObjectValue(loginData, example); + map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), logValue); + } + } else { + if (querys.getString(SysEnum.EXAMPLE.getValue()) != null && !"".equals(querys.getString(SysEnum.EXAMPLE.getValue()))) {//入参没有值用实例值,如果没有不添加 + if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ + map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), querys.getString(SysEnum.EXAMPLE.getValue())); + } + } else {//没有值直接拼接 + if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ + map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), ""); + } + } + } + } + } + } + return map; + + + + + } + + /** + * @param loginData + * @param example + * @return java.lang.String + * @Author lvleigang + * @Description 根据jsonArray 获取jsonobject中的值 + * @Date 11:47 上午 2023/8/31 + **/ + private String getObjectValue(JSONObject loginData, JSONArray example) { + String values = ""; + if (example != null && example.size() > 0) { + for (int i = 0; i < example.size(); i++) { + if (loginData.getString(example.getString(i)) != null && !"".equals(loginData.getString(example.getString(i)))) { + if (i == (example.size() - 1)) { + values = loginData.getString(example.getString(i)); + } else { + loginData = JSONObject.parseObject(loginData.getString(example.getString(i))); + } + } else { + return values; + } + } + } + return values; + } + private String getQuery(SysApplicationApiEntity loginApi,String sendDatastr,JSONObject loginData) { + Map map = new HashMap<>(); + if(sendDatastr != null){ + String[] parts = sendDatastr.split("&"); + if(parts != null && parts.length > 0){ + for (int i = 0; i < parts.length; i++) { + String[] part = parts[i].split("="); + if(part != null && part.length >=2 ){ + for (int a = 0; a < part.length; a++) { + map.put(part[0],part[1]); + } + } + } + } + } + if(loginData == null){ + loginData = new JSONObject(); + } + if (loginApi.getQueryIn() != null && !"".equals(loginApi.getQueryIn())) { + if (JSONUtil.isTypeJSONArray(loginApi.getQueryIn())) { + JSONArray headerArray = JSON.parseArray(loginApi.getQueryIn()); + for (int i = 0; i < headerArray.size(); i++) { + JSONObject querys = headerArray.getJSONObject(i); + //query 只有基本类型,不用循环判断下级 + //判断参数是否有值 + //获取对象下面的层级数据 + if (SysEnum.AUTHPORT.getValue().equals(querys.getString(SysEnum.PARAMETERTYPE.getValue()))) {//认证类型 + String query = querys.getString(SysEnum.EXAMPLE.getValue()); + if (query != null && !"".equals(query)) { + JSONArray example = JSONArray.parseArray(query); + String logValue = getObjectValue(loginData, example); + map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), logValue); + } + } else { + //不是认证类型直接取值 + if (querys.getString(SysEnum.EXAMPLE.getValue()) != null && !"".equals(querys.getString(SysEnum.EXAMPLE.getValue()))) {//入参没有值用实例值,如果没有不添加 + if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ + map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), querys.getString(SysEnum.EXAMPLE.getValue())); + } + } else {//没有值直接拼接 + if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ + map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), ""); + } + } + } + } + } + } + StringBuffer returnStr = new StringBuffer(); + if(map != null && map.size() > 0){ + for (String key : map.keySet()) { + if("".equals(returnStr)){ + returnStr.append(key).append("=").append(map.get(key)); + }else { + returnStr.append("&").append(key).append("=").append(map.get(key)); + } + } + } + return returnStr.toString(); + } } From 3e0f30bcc0f14d97083c4a8c219fb2eea2bd2882 Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Wed, 23 Apr 2025 14:06:02 +0800 Subject: [PATCH 15/15] =?UTF-8?q?=E7=89=A9=E6=96=99=E5=AF=B9=E7=A7=B0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IncomeInvoiceServiceImpl.java | 237 ++++++++++++------ 1 file changed, 155 insertions(+), 82 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java index 1432ba2a..916c69a3 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java @@ -30,11 +30,14 @@ import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.ssl.SSLContextBuilder; import org.apache.http.util.EntityUtils; +import org.checkerframework.checker.units.qual.A; import org.springframework.beans.factory.annotation.Autowired; import com.hzya.frame.basedao.service.impl.BaseService; import javax.net.ssl.SSLContext; import java.io.IOException; +import java.math.BigDecimal; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; @@ -59,6 +62,7 @@ public class IncomeInvoiceServiceImpl extends BaseService jnlist = incomeInvoiceDao.queryZtzz(jnentity); + if(jnlist != null && jnlist.size() == 1){ + dyAloneId = jnlist.get(0); + }else { + return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送"); + } + //查询去年当帐套组织 + IncomeInvoiceEntity qnentity = new IncomeInvoiceEntity(); + qnentity.setDataSourceCode(""); + qnentity.setSysData(qncjzq); + qnentity.setOrgCode(ztbm); + List qnlist = incomeInvoiceDao.queryZtzz(qnentity); + if(qnlist != null && qnlist.size() == 1){ + qnAloneId = qnlist.get(0); + }else { + logger.info("未查询到去年当期的财报数据"); + } + + //查询当月的财报数据 + IncomeInvoiceEntity jnquerydata = new IncomeInvoiceEntity(); + jnquerydata.setDataSourceCode(""); + jnquerydata.setAloneId(dyAloneId.getAloneId()); + List dydataList = incomeInvoiceDao.queryByAloneId(jnquerydata); + if(dydataList != null && dydataList.size() == 1){ + dydata = dydataList.get(0); + }else { + return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送"); + } + //查询去年当期的财报数据 + if(qnAloneId != null){ + //查找去年数据 + IncomeInvoiceEntity qnquerydata = new IncomeInvoiceEntity(); + qnquerydata.setDataSourceCode(""); + qnquerydata.setAloneId(qnAloneId.getAloneId()); + List qndataList = incomeInvoiceDao.queryByAloneId(qnquerydata); + if(qndataList != null && qndataList.size() == 1){ + qndata = qndataList.get(0); + } + } + //拼接数据 + JSONObject sendData = new JSONObject(); + sendData.put("accessKey",accessKey); + long timestamp = System.currentTimeMillis(); + sendData.put("timestamp",timestamp); + sendData.put("taskNo",rwbm); + sendData.put("period",cjzq); + + JSONArray reportList = new JSONArray(); + + JSONObject zcfzb = new JSONObject();//资产负债表 + zcfzb.put("period",cjzq); + zcfzb.put("reportType",1); + JSONArray reportSubjects1 = new JSONArray(); + setDataToArray("subjectName","12312",1,reportSubjects1); + zcfzb.put("reportSubjects",reportSubjects1); + + JSONObject llb = new JSONObject();//利润表 + llb.put("period",cjzq); + llb.put("reportType",2); + JSONArray reportSubjects2 = new JSONArray(); + llb.put("reportSubjects",reportSubjects2); + + JSONObject xjll = new JSONObject();//现金流量表 + xjll.put("period",cjzq); + xjll.put("reportType",3); + JSONArray reportSubjects3 = new JSONArray(); + xjll.put("reportSubjects",reportSubjects3); + reportList.add(zcfzb); + reportList.add(llb); + reportList.add(xjll); + sendData.put("reportList",reportList); + String a = YzfSignUtil.signRequest(sendData,accessSecret); + sendData.put("sign",a); - //JSONObject jsonObject = requestJson.getJSONObject("jsonStr"); - //String cdDate = null; - //String jnDate = null; - //String qnDate = null; - //String orgCode = "X0644"; - //IncomeInvoiceEntity dyAloneId = null; - //JSONObject dydata = null; - //JSONObject qndata = null; - //IncomeInvoiceEntity qnAloneId = null; - //if(requestJson.getString("orgCode") != null){ - // orgCode = requestJson.getString("orgCode"); - //} - //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); - //if(requestJson.getString("year") != null && requestJson.getString("month") != null){ - // cdDate = requestJson.getString("year") + "-" + requestJson.getString("month"); - // if("13".equals(requestJson.getString("month"))){ - // cdDate = requestJson.getString("year") + "-12"; - // qnDate = (requestJson.getInteger("year")-1) + "-12"; - // }else { - // cdDate = requestJson.getString("year") + "-" + requestJson.getString("month"); - // qnDate = (requestJson.getInteger("year")-1) + "-" + requestJson.getString("month"); - // } - //}else { - // cdDate = sdf.format(new Date()); - // jnDate = sdf.format(new Date()); - // Calendar calendar = Calendar.getInstance(); - // calendar.setTime(new Date()); - // calendar.add(Calendar.YEAR, -1); - // Date qn = calendar.getTime(); - // qnDate = sdf.format(qn); - //} - // - ////查询帐套组织 - //IncomeInvoiceEntity jnentity = new IncomeInvoiceEntity(); - //jnentity.setDataSourceCode(""); - //jnentity.setSysData(jnDate); - //jnentity.setOrgCode(orgCode); - //List jnlist = incomeInvoiceDao.queryZtzz(jnentity); - //if(jnlist != null && jnlist.size() == 1){ - // dyAloneId = jnlist.get(0); - //}else { - // return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送"); - //} - ////查询帐套组织 - //IncomeInvoiceEntity qnentity = new IncomeInvoiceEntity(); - //qnentity.setDataSourceCode(""); - //qnentity.setSysData(jnDate); - //qnentity.setOrgCode(orgCode); - //List qnlist = incomeInvoiceDao.queryZtzz(qnentity); - //if(qnlist != null && qnlist.size() == 1){ - // qnAloneId = qnlist.get(0); - //}else { - // logger.info("未查询到当月的财报数据"); - //} - // - ////查找今年数据 - //IncomeInvoiceEntity jnquerydata = new IncomeInvoiceEntity(); - //jnquerydata.setDataSourceCode(""); - //jnquerydata.setAloneId(dyAloneId.getAloneId()); - //List dydataList = incomeInvoiceDao.queryByAloneId(jnquerydata); - //if(dydataList != null && dydataList.size() == 1){ - // dydata = dydataList.get(0); - //}else { - // return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送"); - //} - // - // //查找去年数据 - //IncomeInvoiceEntity qnquerydata = new IncomeInvoiceEntity(); - //qnquerydata.setDataSourceCode(""); - //qnquerydata.setAloneId(qnAloneId.getAloneId()); - //List qndataList = incomeInvoiceDao.queryByAloneId(qnquerydata); - //if(qndataList != null && qndataList.size() == 1){ - // qndata = qndataList.get(0); - //} - ////拼接数据 - // - // - // - // - //return BaseResult.getSuccessMessageEntity("执行成功"); + Map headers = new HashMap<>(); + headers.put("Content-Type", "application/json; charset=utf-8"); + String returndata = sendPost(url, headers, sendData.toJSONString()); + if (returndata != null && JSONObject.isValidObject(returndata)) { + JSONObject dataJson = JSONObject.parseObject(returndata); + if(dataJson != null && dataJson.getString("code") != null && "0".equals( dataJson.getString("code"))){ + JSONObject data = dataJson.getJSONObject("result"); + if(data != null ){ + if(data != null && data.getString("resultCode") != null && "0".equals( data.getString("resultCode"))){ + return BaseResult.getSuccessMessageEntity("执行成功"); + }else { + return BaseResult.getFailureMessageEntity("发送失败:"+returndata); + } + }else { + return BaseResult.getFailureMessageEntity("发送失败:"+returndata); + } + }else { + return BaseResult.getFailureMessageEntity("发送失败:"+returndata); + } + }else { + return BaseResult.getFailureMessageEntity("发送失败:"+returndata); + } + } - return null; + private void setDataToArray(String subjectName, String value, Integer valueType, JSONArray reportSubjects) { + if(value != null && !"".equals(value)){ + JSONObject jsonObject = new JSONObject(); + jsonObject.put("subjectName",subjectName); + jsonObject.put("value",new BigDecimal(value)); + jsonObject.put("valueType",valueType); + reportSubjects.add(jsonObject); + } } }