推送预算执行明细数据

This commit is contained in:
lvleigang 2025-09-11 11:36:19 +08:00
parent 189d791071
commit 466b44fb84
12 changed files with 261 additions and 0 deletions

View File

@ -0,0 +1,9 @@
package com.hzya.frame.plugin.BudgetExecutionDetails.dao;
import com.hzya.frame.basedao.dao.IBaseDao;
import com.hzya.frame.plugin.BudgetExecutionDetails.entity.BudgetExecutionDetailsEntity;
public interface IBudgetExecutionDetailsDao extends IBaseDao<BudgetExecutionDetailsEntity, String> {
}

View File

@ -0,0 +1,12 @@
package com.hzya.frame.plugin.BudgetExecutionDetails.dao.impl;
import com.hzya.frame.basedao.dao.MybatisGenericDao;
import com.hzya.frame.plugin.BudgetExecutionDetails.dao.IBudgetExecutionDetailsDao;
import com.hzya.frame.plugin.BudgetExecutionDetails.entity.BudgetExecutionDetailsEntity;
public class BudgetExecutionDetailsDaoImpl extends MybatisGenericDao<BudgetExecutionDetailsEntity, String> implements IBudgetExecutionDetailsDao {
}

View File

@ -0,0 +1,9 @@
package com.hzya.frame.plugin.BudgetExecutionDetails.entity;
import com.hzya.frame.web.entity.BaseEntity;
public class BudgetExecutionDetailsEntity extends BaseEntity {
}

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hzya.frame.plugin.BudgetExecutionDetails.dao.impl.BudgetExecutionDetailsDaoImpl">
</mapper>

View File

@ -0,0 +1,60 @@
package com.hzya.frame.plugin.BudgetExecutionDetails.plugin;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.base.PluginBaseEntity;
import com.hzya.frame.plugin.BudgetExecutionDetails.service.IBudgetExecutionDetailsService;
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 BudgetExecutionDetailsPluginInitializer extends PluginBaseEntity{
Logger logger = LoggerFactory.getLogger(BudgetExecutionDetailsPluginInitializer.class);
@Autowired
private IBudgetExecutionDetailsService budgetExecutionDetailsService;
@Override
public void initialize() {
logger.info(getPluginLabel() + "执行初始化方法initialize()");
}
@Override
public void destroy() {
logger.info(getPluginLabel() + "执行销毁方法destroy()");
}
@Override
public String getPluginId() {
return "BudgetExecutionDetailsPlugin";
}
@Override
public String getPluginName() {
return "BudgetExecutionDetailsPlugin插件";
}
@Override
public String getPluginLabel() {
return "BudgetExecutionDetailsPlugin";
}
@Override
public String getPluginType() {
return "1";
}
@Override
public JsonResultEntity executeBusiness(JSONObject requestJson) {
try {
logger.info("======开始执行推送预算执行明细数据同步========");
return budgetExecutionDetailsService.syncBudgetExecutionDetailsData(requestJson);
}catch (Exception e){
logger.info("======执行推送预算执行明细数据同步失败:{}========",e.getMessage());
}
return null;
}
}

View File

@ -0,0 +1,18 @@
package com.hzya.frame.plugin.BudgetExecutionDetails.service;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.basedao.service.IBaseService;
import com.hzya.frame.plugin.BudgetExecutionDetails.entity.BudgetExecutionDetailsEntity;
import com.hzya.frame.web.entity.JsonResultEntity;
public interface IBudgetExecutionDetailsService extends IBaseService<BudgetExecutionDetailsEntity, String>{
/**
* @Author lvleigang
* @Description 推送预算执行明细数据
* @Date 9:05 上午 2025/9/11
* @param requestJson
* @return com.hzya.frame.web.entity.JsonResultEntity
**/
JsonResultEntity syncBudgetExecutionDetailsData(JSONObject requestJson);
}

View File

@ -0,0 +1,118 @@
package com.hzya.frame.plugin.BudgetExecutionDetails.service.impl;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.plugin.BudgetExecutionDetails.dao.IBudgetExecutionDetailsDao;
import com.hzya.frame.plugin.BudgetExecutionDetails.entity.BudgetExecutionDetailsEntity;
import com.hzya.frame.plugin.BudgetExecutionDetails.service.IBudgetExecutionDetailsService;
import com.hzya.frame.web.entity.BaseResult;
import com.hzya.frame.web.entity.JsonResultEntity;
import org.springframework.beans.factory.annotation.Autowired;
import com.hzya.frame.basedao.service.impl.BaseService;
import org.springframework.beans.factory.annotation.Value;
import java.text.ParseException;
public class BudgetExecutionDetailsServiceImpl extends BaseService<BudgetExecutionDetailsEntity, String> implements IBudgetExecutionDetailsService {
@Value("${zt.url}")
private String url;
private IBudgetExecutionDetailsDao budgetExecutionDetailsDao;
@Autowired
public void setBudgetExecutionDetailsDao(IBudgetExecutionDetailsDao dao) {
this.budgetExecutionDetailsDao = dao;
this.dao = dao;
}
/**
* @param requestJson
* @return com.hzya.frame.web.entity.JsonResultEntity
* @Author lvleigang
* @Description 推送预算执行明细数据
* @Date 9:05 上午 2025/9/11
**/
@Override
public JsonResultEntity syncBudgetExecutionDetailsData(JSONObject requestJson) {
logger.error("同步预算执行明细数据:" + requestJson.toJSONString());
JSONObject jsonStr = requestJson.getJSONObject("jsonStr");
if (jsonStr == null) {
return BaseResult.getFailureMessageEntity("系统错误");
}
JSONObject businessDataStr = jsonStr.getJSONObject("businessDataStr");
if (businessDataStr == null) {
return BaseResult.getFailureMessageEntity("系统错误");
}
String zbTableName = null;
String mxTableName = null;
if (businessDataStr.containsKey("formmain_11416")) {//XZ-A新展日常费用报销申请单-个人
zbTableName = "formmain_11416";
mxTableName = "formson_11417";
} else if (businessDataStr.containsKey("formmain_11498")) {//XZ-A新展日常费用报销申请单-个人独立核算
zbTableName = "formmain_11498";
mxTableName = "formson_11499";
} else if (businessDataStr.containsKey("formmain_11421")) {//XZ-B差旅报销申请单境内
zbTableName = "formmain_11421";
mxTableName = "formson_11423";
} else if (businessDataStr.containsKey("formmain_11521")) {//XZ-B差旅报销申请单境内-个人独立核算
zbTableName = "formmain_11521";
mxTableName = "formson_11523";
} else if (businessDataStr.containsKey("formmain_11472")) {//XZ-D新展费用报销申请单-高层
zbTableName = "formmain_11472";
mxTableName = "formson_11474";
} else if (businessDataStr.containsKey("formmain_11884")) {//XZ-E差旅报销申请单境外-个人
zbTableName = "formmain_11884";
mxTableName = "formson_11886";
} else if (businessDataStr.containsKey("formmain_11526")) {//XZ-F新展日常费用报销对公有发票
zbTableName = "formmain_11526";
mxTableName = "formson_11527";
} else if (businessDataStr.containsKey("formmain_11489")) {//XZ-G新展日常费用报销对公无发票
zbTableName = "formmain_11489";
mxTableName = "formson_11490";
} else if (businessDataStr.containsKey("formmain_11475")) {//XZ-H新展付款申请单-高层
zbTableName = "formmain_11475";
mxTableName = "formson_11476";
}else {
return BaseResult.getFailureMessageEntity("系统错误,该表不需要推送预算执行明细数据");
}
JSONObject mainData = businessDataStr.getJSONObject(zbTableName);
JSONArray detailArray = businessDataStr.getJSONArray(mxTableName);
//组装发送数据
JSONObject sendData = getSendData(mainData, detailArray);
logger.error("推送预算执行明细数据推送数据:" + sendData.toJSONString());
String tokenResult = HttpRequest.post(url).
header("appId", "800051").//todo
header("apiCode", "8000510012").//todo
header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj").//todo
header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=").//todo
body(sendData.toJSONString()).
execute().
body();
logger.error("推送预算执行明细数据token返回" + tokenResult);
JSONObject tokenJson = JSONObject.parseObject(tokenResult);
if (tokenJson.getBoolean("flag")) {
String sendResultString = HttpRequest.post(url).
header("appId", "800051").//todo
header("apiCode", "8000510012").//todo
header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj").//todo
header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=").//todo
body(sendData.toJSONString()).
execute().
body();
JSONObject sendResult = JSONObject.parseObject(sendResultString);
if (sendResult.getBoolean("flag")) {
return BaseResult.getSuccessMessageEntity("推送预算执行明细数据成功");
} else {
return BaseResult.getFailureMessageEntity("推送预算执行明细数据失败:" + sendResult.getString("msg"));
}
} else {
return BaseResult.getFailureMessageEntity("推送预算执行明细数据失败:" + tokenJson.getString("msg"));
}
}
private JSONObject getSendData(JSONObject mainData, JSONArray detailArray) {
return null;
}
}

View File

@ -209,6 +209,14 @@ public class BusinessServiceImpl extends BaseService<BusinessEntity, String> imp
Integer queryCursor = 1;
JSONArray datalist = new JSONArray();
List<String> a = new ArrayList<>();
a.add("2025-09-01");
a.add("2025-09-02");
a.add("2025-09-03");
a.add("2025-09-04");
a.add("2025-09-05");
a.add("2025-09-06");
a.add("2025-09-07");
a.add("2025-09-08");
a.add("2025-09-09");
a.add(times);
for (int i = 0; i < a.size(); i++) {

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<id>BudgetExecutionDetailsPlugin</id>
<name>BudgetExecutionDetailsPlugin插件</name>
<category>20250911001</category>
</plugin>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<bean name="budgetExecutionDetailsDao" class="com.hzya.frame.plugin.BudgetExecutionDetails.dao.impl.BudgetExecutionDetailsDaoImpl" />
</beans>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<bean name="budgetExecutionDetailsPluginInitializer" class="com.hzya.frame.plugin.BudgetExecutionDetails.plugin.BudgetExecutionDetailsPluginInitializer" />
</beans>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<bean name="budgetExecutionDetailsService" class="com.hzya.frame.plugin.BudgetExecutionDetails.service.impl.BudgetExecutionDetailsServiceImpl" />
</beans>