物料对称修改

This commit is contained in:
lvleigang 2025-04-23 14:06:02 +08:00
parent e3aee87674
commit 3e0f30bcc0
1 changed files with 155 additions and 82 deletions

View File

@ -30,11 +30,14 @@ import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.client.HttpClients;
import org.apache.http.ssl.SSLContextBuilder; import org.apache.http.ssl.SSLContextBuilder;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import com.hzya.frame.basedao.service.impl.BaseService; import com.hzya.frame.basedao.service.impl.BaseService;
import javax.net.ssl.SSLContext; import javax.net.ssl.SSLContext;
import java.io.IOException; import java.io.IOException;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
@ -59,6 +62,7 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
this.incomeInvoiceDao = dao; this.incomeInvoiceDao = dao;
this.dao = dao; this.dao = dao;
} }
String cbUrl = "http://oapi.nanofintax.com/api/collect/uploadFinancialReport?accessToken=";
String dataUrl = "http://oapi.nanofintax.com/api/invoice_receive/fp/v1/query?accessToken="; String dataUrl = "http://oapi.nanofintax.com/api/invoice_receive/fp/v1/query?accessToken=";
String tokenUrl = "http://oapi.nanofintax.com/api/getToken"; String tokenUrl = "http://oapi.nanofintax.com/api/getToken";
String accessKey = "6X3B526P5HqE6ums"; String accessKey = "6X3B526P5HqE6ums";
@ -83,7 +87,6 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
Date date = new Date(); Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String times = sdf.format(date); String times = sdf.format(date);
times = "2025-03-25";
//2调用接口获取数据 //2调用接口获取数据
Integer queryCursor = 1; Integer queryCursor = 1;
JSONArray datalist = new JSONArray(); JSONArray datalist = new JSONArray();
@ -727,95 +730,165 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
* @return com.hzya.frame.web.entity.JsonResultEntity * @return com.hzya.frame.web.entity.JsonResultEntity
**/ **/
private JsonResultEntity sendFinancialReport(JSONObject businessData) { private JsonResultEntity sendFinancialReport(JSONObject businessData) {
String access_token = getToken();
if (access_token == null) {
return BaseResult.getFailureMessageEntity("token获取失败");
}
String url = cbUrl+access_token;
String ztbm = businessData.getString("field0005");//账套编码
String sh = businessData.getString("field0006");//税号
String sjlx = businessData.getString("field0007");//数据类型
String cjzq = businessData.getString("field0008");//采集账期
String rwbm = businessData.getString("field0009");//任务编码
if(ztbm == null || "".equals(ztbm)){
return BaseResult.getSuccessMessageEntity("账套编码为空");
}
if(cjzq == null || "".equals(cjzq)){
return BaseResult.getSuccessMessageEntity("采集账期为空");
}
if(rwbm == null || "".equals(rwbm)){
return BaseResult.getSuccessMessageEntity("任务编码为空");
}
Date date = null;
String qncjzq = null;
IncomeInvoiceEntity dyAloneId = null;
JSONObject dydata = null;
JSONObject qndata = null;
IncomeInvoiceEntity qnAloneId = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
try {
date = sdf.parse(cjzq);
} catch (ParseException e) {
return BaseResult.getSuccessMessageEntity("采集账期格式错误");
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.YEAR, -1);
Date qn = calendar.getTime();
qncjzq = sdf.format(qn);
//查询当月帐套组织
IncomeInvoiceEntity jnentity = new IncomeInvoiceEntity();
jnentity.setDataSourceCode("");
jnentity.setSysData(cjzq);
jnentity.setOrgCode(ztbm);
List<IncomeInvoiceEntity> 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<IncomeInvoiceEntity> qnlist = incomeInvoiceDao.queryZtzz(qnentity);
if(qnlist != null && qnlist.size() == 1){
qnAloneId = qnlist.get(0);
}else {
logger.info("未查询到去年当期的财报数据");
}
//JSONObject jsonObject = requestJson.getJSONObject("jsonStr"); //查询当月的财报数据
//String cdDate = null; IncomeInvoiceEntity jnquerydata = new IncomeInvoiceEntity();
//String jnDate = null; jnquerydata.setDataSourceCode("");
//String qnDate = null; jnquerydata.setAloneId(dyAloneId.getAloneId());
//String orgCode = "X0644"; List<JSONObject> dydataList = incomeInvoiceDao.queryByAloneId(jnquerydata);
//IncomeInvoiceEntity dyAloneId = null; if(dydataList != null && dydataList.size() == 1){
//JSONObject dydata = null; dydata = dydataList.get(0);
//JSONObject qndata = null; }else {
//IncomeInvoiceEntity qnAloneId = null; return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送");
//if(requestJson.getString("orgCode") != null){ }
// orgCode = requestJson.getString("orgCode"); //查询去年当期的财报数据
//} if(qnAloneId != null){
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); //查找去年数据
//if(requestJson.getString("year") != null && requestJson.getString("month") != null){ IncomeInvoiceEntity qnquerydata = new IncomeInvoiceEntity();
// cdDate = requestJson.getString("year") + "-" + requestJson.getString("month"); qnquerydata.setDataSourceCode("");
// if("13".equals(requestJson.getString("month"))){ qnquerydata.setAloneId(qnAloneId.getAloneId());
// cdDate = requestJson.getString("year") + "-12"; List<JSONObject> qndataList = incomeInvoiceDao.queryByAloneId(qnquerydata);
// qnDate = (requestJson.getInteger("year")-1) + "-12"; if(qndataList != null && qndataList.size() == 1){
// }else { qndata = qndataList.get(0);
// cdDate = requestJson.getString("year") + "-" + requestJson.getString("month"); }
// qnDate = (requestJson.getInteger("year")-1) + "-" + requestJson.getString("month"); }
// } //拼接数据
//}else { JSONObject sendData = new JSONObject();
// cdDate = sdf.format(new Date()); sendData.put("accessKey",accessKey);
// jnDate = sdf.format(new Date()); long timestamp = System.currentTimeMillis();
// Calendar calendar = Calendar.getInstance(); sendData.put("timestamp",timestamp);
// calendar.setTime(new Date()); sendData.put("taskNo",rwbm);
// calendar.add(Calendar.YEAR, -1); sendData.put("period",cjzq);
// Date qn = calendar.getTime();
// qnDate = sdf.format(qn); JSONArray reportList = new JSONArray();
//}
// JSONObject zcfzb = new JSONObject();//资产负债表
////查询帐套组织 zcfzb.put("period",cjzq);
//IncomeInvoiceEntity jnentity = new IncomeInvoiceEntity(); zcfzb.put("reportType",1);
//jnentity.setDataSourceCode(""); JSONArray reportSubjects1 = new JSONArray();
//jnentity.setSysData(jnDate); setDataToArray("subjectName","12312",1,reportSubjects1);
//jnentity.setOrgCode(orgCode); zcfzb.put("reportSubjects",reportSubjects1);
//List<IncomeInvoiceEntity> jnlist = incomeInvoiceDao.queryZtzz(jnentity);
//if(jnlist != null && jnlist.size() == 1){ JSONObject llb = new JSONObject();//利润表
// dyAloneId = jnlist.get(0); llb.put("period",cjzq);
//}else { llb.put("reportType",2);
// return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送"); JSONArray reportSubjects2 = new JSONArray();
//} llb.put("reportSubjects",reportSubjects2);
////查询帐套组织
//IncomeInvoiceEntity qnentity = new IncomeInvoiceEntity(); JSONObject xjll = new JSONObject();//现金流量表
//qnentity.setDataSourceCode(""); xjll.put("period",cjzq);
//qnentity.setSysData(jnDate); xjll.put("reportType",3);
//qnentity.setOrgCode(orgCode); JSONArray reportSubjects3 = new JSONArray();
//List<IncomeInvoiceEntity> qnlist = incomeInvoiceDao.queryZtzz(qnentity); xjll.put("reportSubjects",reportSubjects3);
//if(qnlist != null && qnlist.size() == 1){
// qnAloneId = qnlist.get(0);
//}else {
// logger.info("未查询到当月的财报数据");
//}
// reportList.add(zcfzb);
////查找今年数据 reportList.add(llb);
//IncomeInvoiceEntity jnquerydata = new IncomeInvoiceEntity(); reportList.add(xjll);
//jnquerydata.setDataSourceCode("");
//jnquerydata.setAloneId(dyAloneId.getAloneId()); sendData.put("reportList",reportList);
//List<JSONObject> dydataList = incomeInvoiceDao.queryByAloneId(jnquerydata); String a = YzfSignUtil.signRequest(sendData,accessSecret);
//if(dydataList != null && dydataList.size() == 1){ sendData.put("sign",a);
// dydata = dydataList.get(0);
//}else { Map<String, String> headers = new HashMap<>();
// return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送"); headers.put("Content-Type", "application/json; charset=utf-8");
//} String returndata = sendPost(url, headers, sendData.toJSONString());
//
// //查找去年数据 if (returndata != null && JSONObject.isValidObject(returndata)) {
//IncomeInvoiceEntity qnquerydata = new IncomeInvoiceEntity(); JSONObject dataJson = JSONObject.parseObject(returndata);
//qnquerydata.setDataSourceCode(""); if(dataJson != null && dataJson.getString("code") != null && "0".equals( dataJson.getString("code"))){
//qnquerydata.setAloneId(qnAloneId.getAloneId()); JSONObject data = dataJson.getJSONObject("result");
//List<JSONObject> qndataList = incomeInvoiceDao.queryByAloneId(qnquerydata); if(data != null ){
//if(qndataList != null && qndataList.size() == 1){ if(data != null && data.getString("resultCode") != null && "0".equals( data.getString("resultCode"))){
// qndata = qndataList.get(0); return BaseResult.getSuccessMessageEntity("执行成功");
//} }else {
////拼接数据 return BaseResult.getFailureMessageEntity("发送失败:"+returndata);
// }
// }else {
// return BaseResult.getFailureMessageEntity("发送失败:"+returndata);
// }
//return BaseResult.getSuccessMessageEntity("执行成功"); }else {
return BaseResult.getFailureMessageEntity("发送失败:"+returndata);
}
return null; }else {
return BaseResult.getFailureMessageEntity("发送失败:"+returndata);
}
}
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);
}
} }
} }