This commit is contained in:
xiang2lin 2025-05-22 10:08:25 +08:00
commit 4e8cb29710
15 changed files with 381 additions and 257 deletions

2
.gitignore vendored
View File

@ -26,7 +26,7 @@ Icon
Network Trash Folder
Temporary Items
.apdisk
/base-buildpackage/base-buildpackage.iml
# ---> Windows
# Windows thumbnail cache files
Thumbs.db

View File

@ -26,6 +26,7 @@ public interface IIncomeInvoiceDao extends IBaseDao<IncomeInvoiceEntity, String>
List<IncomeInvoiceEntity> queryOaMx(IncomeInvoiceEntity incomeInvoiceEntity);
int updateMx(IncomeInvoiceEntity incomeInvoiceEntity);
int updateFP(IncomeInvoiceEntity incomeInvoiceEntity);
int saveMx(IncomeInvoiceEntity incomeInvoiceEntity);
@ -34,5 +35,7 @@ public interface IIncomeInvoiceDao extends IBaseDao<IncomeInvoiceEntity, String>
List<JSONObject> queryByAloneId(IncomeInvoiceEntity jnquerydata);
List<JSONObject> queryAccount(IncomeInvoiceEntity jnentity);
List<IncomeInvoiceEntity> queryOaFp(IncomeInvoiceEntity incomeInvoiceEntity);
}

View File

@ -38,6 +38,12 @@ public class IncomeInvoiceDaoImpl extends MybatisGenericDao<IncomeInvoiceEntity,
}
@DS("#entity.dataSourceCode")
@Override
public List<IncomeInvoiceEntity> queryOaFp(IncomeInvoiceEntity entity) {
List<IncomeInvoiceEntity> o = (List<IncomeInvoiceEntity>) super.selectList(getSqlIdPrifx() + "queryOaFp", entity);
return o;
}
@DS("#entity.dataSourceCode")
@Override
public List<IncomeInvoiceEntity> queryOaMx(IncomeInvoiceEntity entity) {
List<IncomeInvoiceEntity> o = (List<IncomeInvoiceEntity>) super.selectList(getSqlIdPrifx() + "queryOaMx", entity);
return o;
@ -49,6 +55,11 @@ public class IncomeInvoiceDaoImpl extends MybatisGenericDao<IncomeInvoiceEntity,
}
@DS("#entity.dataSourceCode")
@Override
public int updateFP(IncomeInvoiceEntity entity) {
return super.update(getSqlIdPrifx() + "updateFP", entity);
}
@DS("#entity.dataSourceCode")
@Override
public int saveMx(IncomeInvoiceEntity entity) {
return super.insert(getSqlIdPrifx() + "saveMx", entity);
}
@ -66,7 +77,7 @@ public class IncomeInvoiceDaoImpl extends MybatisGenericDao<IncomeInvoiceEntity,
List<JSONObject> o = (List<JSONObject>) super.selectList(getSqlIdPrifx() + "queryByAloneId", entity);
return o;
}
@DS("htBip")
@Override
public List<JSONObject> queryAccount(IncomeInvoiceEntity jnentity) {
List<JSONObject> o = (List<JSONObject>) super.selectList(getSqlIdPrifx() + "queryAccountByZq", jnentity);

View File

@ -179,6 +179,15 @@
</trim>
</select>
<select id="queryOaFp" resultType="com.hzya.frame.plugin.incomeInvoiceData.entity.IncomeInvoiceEntity" parameterType="com.hzya.frame.plugin.incomeInvoiceData.entity.IncomeInvoiceEntity">
select
id as dataId
from formmain_0705
<trim prefix="where" prefixOverrides="and">
<if test="field0128 != null and field0128 != ''"> and field0002 = #{field0128} </if>
</trim>
</select>
<select id="queryOaMx" resultType="com.hzya.frame.plugin.incomeInvoiceData.entity.IncomeInvoiceEntity" parameterType="com.hzya.frame.plugin.incomeInvoiceData.entity.IncomeInvoiceEntity">
select
id as dataId
@ -200,6 +209,15 @@
</trim>
where id = #{dataId}
</update>
<update id="updateFP" parameterType = "com.hzya.frame.plugin.incomeInvoiceData.entity.IncomeInvoiceEntity" >
update formmain_0705 set
<trim suffix="" suffixOverrides=",">
<if test="field0130 != null and field0130 != ''"> field0034 = #{field0130},</if>
<if test="field0138 != null and field0138 != ''"> field0035 = #{field0138},</if>
<if test="field0139 != null and field0139 != ''"> field0036 = #{field0139},</if>
</trim>
where id = #{dataId}
</update>
<insert id="saveMx" parameterType="com.hzya.frame.report.reportManage.entity.ReportManageEntity">
insert into formson_0702(
@ -545,177 +563,10 @@
<select id="queryAccountByZq" resultType="com.alibaba.fastjson.JSONObject" parameterType="com.hzya.frame.plugin.incomeInvoiceData.entity.IncomeInvoiceEntity">
-- CREATE or replace VIEW V_LPHB_KMFZYE1 AS
select * from (
SELECT
year,
adjustperiod as period,
year || '-' || adjustperiod as yearperiod,
nt.code AS subjectCode,
oa.name AS subjectName,
oa.dispname as subjectFullName,
( SELECT code FROM bd_account WHERE pk_account = nt.pid ) as superCode,
case
when balanorient = '1' then '-1'
when balanorient = '0' then '1'
end as subjectDir,
case
when pk_acctype = '0001Z01000000000019S' then 1
when pk_acctype = '0001Z01000000000019T' then 2
when pk_acctype = '0001Z01000000000019V' then 3
when pk_acctype = '0001Z01000000000019U' then 4
when pk_acctype = '0001Z01000000000019W' then 5
when pk_acctype = '0001Z01000000000019X' then 6
end as subjectType,
nt.sumprint_level as subjectLevel,
case
when nt.sumprint_level = '0' then 1
when nt.sumprint_level != '0' then 0
end as endLevel,
sum( debitamount ) AS debitValue,-- 本期借方發生額
sum( localcreditamount ) AS creditValue,-- 本期貸方發生額
CASE
WHEN sum( qmlocalamount ) - ( sum( localdebitamount ) - sum( localcreditamount ) ) > 0 THEN'1'
WHEN sum( qmlocalamount ) - ( sum( localdebitamount ) - sum( localcreditamount ) ) = 0 THEN'0' ELSE '-1' END AS initialSubjectDir,
case
when sum( qmlocalamount ) - ( sum( localdebitamount ) - sum( localcreditamount ) )>0 then sum( qmlocalamount ) - ( sum( localdebitamount ) - sum( localcreditamount ) )
else 0 end AS initialDebitBalanceValue, -- 期初余额借方金额
case when sum( qmlocalamount ) - ( sum( localdebitamount ) - sum( localcreditamount ) ) &lt; 0 then sum( qmlocalamount ) - ( sum( localdebitamount ) - sum( localcreditamount ) )
else 0 end AS initialCreditBalanceValue, -- 期初余额贷方金额
CASE
WHEN sum( qmamount ) > 0 THEN'1'
WHEN sum( qmamount ) = 0 THEN'0' ELSE '-1' END AS balanceSubjectDir,
case when sum( qmlocalamount )>0 then sum( qmlocalamount )
else 0 end as balanceDeditValue, -- 期末余额借方金额
case when sum( qmlocalamount )>0 then sum( qmlocalamount )
else 0 end as balanceCreditValue, -- 期末余额贷方金额
sum( ljlocaldebitamount ) AS totalDebitValue,
sum( ljlocalcreditamount ) AS totalCreditValue,
org.code GSBM,
org.name GSMC
FROM
(
SELECT DISTINCT
accperiodmonth.periodyear YEAR,
accperiodmonth.PERIOD ADJUSTPERIOD,
dezz.pk_org,
dezz.pk_accasoa,
dezz.pk_currtype,
dezz.assid assid,
0 AS localdebitamount,
0 AS localcreditamount,
0 AS debitamount,
0 AS creditamount,
sum( localdebitamount ) AS ljlocaldebitamount,
sum( localcreditamount ) AS ljlocalcreditamount,
sum( debitamount ) AS ljdebitamount,
sum( creditamount ) AS ljcreditamount,
0 AS qmlocalamount,
0 AS qmamount
FROM
( SELECT substr( yearmth, 0, 4 ) periodyear, substr( yearmth, 6, 7 ) period FROM bd_accperiodmonth WHERE yearmth &lt; TO_CHAR( SYSDATE, 'YYYY-MM' ) ) accperiodmonth
LEFT JOIN gl_balance dezz ON dezz.YEAR = accperiodmonth.periodyear
AND dezz.adjustperiod &lt; = accperiodmonth.period
WHERE
voucherkind != 5
AND voucherkind != 4
AND dezz.adjustperiod > '00'
GROUP BY
accperiodmonth.periodyear,
accperiodmonth.PERIOD,
dezz.pk_org,
dezz.pk_accasoa,
dezz.pk_currtype,
dezz.assid UNION ALL
SELECT DISTINCT
dezz.YEAR,
dezz.ADJUSTPERIOD,
dezz.pk_org,
dezz.pk_accasoa,
dezz.pk_currtype,
dezz.assid,
sum( localdebitamount ) AS localdebitamount,
sum( localcreditamount ) AS localcreditamount,
sum( debitamount ) AS debitamount,
sum( creditamount ) AS creditamount,
0 AS ljlocaldebitamount,
0 AS ljlocalcreditamount,
0 AS ljdebitamount,
0 AS ljcreditamount,
0 AS qmlocalamount,
0 AS qmamount
FROM
gl_balance dezz
WHERE
voucherkind != 5
AND voucherkind != 4
GROUP BY
dezz.YEAR,
dezz.ADJUSTPERIOD,
dezz.pk_org,
dezz.pk_accasoa,
dezz.pk_currtype,
dezz.assid UNION ALL
SELECT DISTINCT
accperiodmonth.periodyear YEAR,
accperiodmonth.PERIOD ADJUSTPERIOD,
dezz.pk_org,
dezz.pk_accasoa,
dezz.pk_currtype,
dezz.assid assid,
0 AS localdebitamount,
0 AS localcreditamount,
0 AS debitamount,
0 AS creditamount,
0 AS ljlocaldebitamount,
0 AS ljlocalcreditamount,
0 AS ljdebitamount,
0 AS ljcreditamount,
sum( localdebitamount ) - sum( localcreditamount ) AS qmlocalamount,
sum( debitamount ) - sum( creditamount ) AS qmamount
FROM
( SELECT substr( yearmth, 0, 4 ) periodyear, substr( yearmth, 6, 7 ) period FROM bd_accperiodmonth WHERE yearmth &lt; TO_CHAR( SYSDATE, 'YYYY-MM' ) ) accperiodmonth
LEFT JOIN gl_balance dezz ON dezz.YEAR = accperiodmonth.periodyear
AND dezz.adjustperiod &lt; = accperiodmonth.period
WHERE
voucherkind != 5
AND voucherkind != 4
AND dezz.adjustperiod >= '00'
AND dezz.adjustperiod != '12A'
GROUP BY
accperiodmonth.periodyear,
accperiodmonth.PERIOD,
dezz.pk_org,
dezz.pk_accasoa,
dezz.pk_currtype,
dezz.assid
) a
LEFT JOIN org_orgs org ON org.pk_org = a.pk_org
LEFT JOIN bd_accasoa oa ON oa.pk_accasoa = a.pk_accasoa
LEFT JOIN bd_account nt ON nt.pk_account = oa.pk_account
LEFT JOIN bd_currtype currtype ON a.pk_currtype = currtype.pk_currtype
LEFT JOIN gl_docfree1 fr1 ON fr1.assid = a.assid
where adjustperiod != '12A'
and adjustperiod >= '00'
and adjustperiod != '00'
GROUP BY
year,
adjustperiod,
nt.code ,
oa.name ,
oa.dispname,
nt.pid,
balanorient,
pk_acctype,
org.code,
org.name,
nt.sumprint_level
)m1
select * from V_LPHB_KMFZYE
<trim prefix="where" prefixOverrides="and">
<if test="orgCode != null and orgCode !='' "> and gsbm = #{orgCode} </if>
<if test="sysData != null and sysData !='' "> and yearperiod = {sysData} </if>
<if test="sysData != null and sysData !='' "> and yearperiod = #{sysData} </if>
</trim>
</select>
</mapper>

View File

@ -3,7 +3,6 @@ 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.BaseResult;
import com.hzya.frame.web.entity.JsonResultEntity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -54,8 +53,8 @@ public class FinancialReportPluginInitializer extends PluginBaseEntity{
public JsonResultEntity executeBusiness(JSONObject requestJson) {
try {
logger.info("======开始执行财务信息同步========");
return BaseResult.getSuccessMessageEntity("数据获取成功");
//return incomeInvoiceService.sendFinancialReportPlugin(requestJson);
//return BaseResult.getSuccessMessageEntity("数据获取成功");
return incomeInvoiceService.sendFinancialReportPlugin(requestJson);
}catch (Exception e){
logger.info("======执行财务同步失败:{}========",e.getMessage());
e.printStackTrace();

View File

@ -4,6 +4,7 @@ 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.sysnew.messageManageLog.entity.SysMessageManageLogEntity;
import com.hzya.frame.web.entity.JsonResultEntity;
/**
@ -21,6 +22,7 @@ public interface IIncomeInvoiceService extends IBaseService<IncomeInvoiceEntity,
**/
JsonResultEntity getIncomeInvoiceData(JSONObject requestJson);
SysExtensionApiEntity setData(SysExtensionApiEntity entity) throws Exception;
void setDataCallBack(SysMessageManageLogEntity entity) throws Exception;
JsonResultEntity sendFinancialReportPlugin(JSONObject requestJson);
}

View File

@ -1,18 +1,23 @@
package com.hzya.frame.plugin.incomeInvoiceData.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
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;
import com.hzya.frame.seeyon.service.ICtpAttachmentService;
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.sysnew.messageManageLog.entity.SysMessageManageLogEntity;
import com.hzya.frame.uuid.UUIDLong;
import com.hzya.frame.uuid.UUIDUtils;
import com.hzya.frame.web.entity.BaseResult;
@ -36,8 +41,14 @@ import org.springframework.core.task.TaskExecutor;
import javax.annotation.Resource;
import javax.net.ssl.SSLContext;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@ -46,6 +57,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
/**
* @author makejava
@ -55,6 +67,8 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
private IIncomeInvoiceDao incomeInvoiceDao;
@Autowired
private ICtpAttachmentService ctpAttachmentService;
@Autowired
private ControlsLogDaoImpl controlsLogDaoimpl;
@Autowired
private IComparisonDao comparisonDao;
@ -63,24 +77,25 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
this.incomeInvoiceDao = dao;
this.dao = dao;
}
boolean flags = true;
String uploadBalanceTableUrl = "http://oapi.nanofintax.com/api/collect/uploadBalanceTable?accessToken";
String cbUrl = "http://oapi.nanofintax.com/api/collect/uploadFinancialReport?accessToken=";
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;
//String cbUrl = "http://oapi.nanofintax.com/api/collect/uploadFinancialReport";
//String dataUrl = "https://workbench.test.htszny.com/oapi/invoice_receive/fp/v1/query";//全量发票数据
//boolean flags = true;
//String uploadBalanceTableUrl = "http://oapi.nanofintax.com/api/collect/uploadBalanceTable?accessToken";
//String cbUrl = "http://oapi.nanofintax.com/api/collect/uploadFinancialReport?accessToken=";
//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;
boolean flags = false;
String uploadBalanceTableUrl = "http://122.9.186.182:30887/open/api/uploadBalanceTable";
String cbUrl = "http://122.9.186.182:30887/open/api/uploadFinancialReport";
String dataUrl = "https://workbench.test.htszny.com/oapi/invoice_rec/standing/book/queryList";//全量发票数据
String tokenUrl = "http://oapi.nanofintax.com/api/getToken";
String accessKey = "6X3B526P5HqE6ums";
String accessSecret = "34e5fc32ac894a2ba2ade8c3852c7a0a";
String taxNo = "91330110MAC5FPUY2U";
Integer size = 50;
@Resource
private TaskExecutor taskExecutor;
/**
@ -168,9 +183,13 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
saveData.put("kpr",content.getString("kpr"));
saveData.put("skr",content.getString("skr"));
saveData.put("fhr",content.getString("fhr"));
saveData.put("url",content.getOrDefault("url","http://prd-cabinet-1257122416.cos.ap-shanghai.myqcloud.com/recv-open-input-1313818348185971712-1362629996254053632.pdf"));
saveData.put("ofdurl",content.getOrDefault("ofdUrl","http://prd-cabinet-1257122416.cos.ap-shanghai.myqcloud.com/recv-open-input-1313818348185971712-1362629996254053632.pdf"));
saveData.put("xmlurl",content.getOrDefault("xmlUrl","http://prd-cabinet-1257122416.cos.ap-shanghai.myqcloud.com/recv-open-input-1313818348185971712-1362630000427386112.xml"));
saveData.put("url",content.getString("url"));
saveData.put("ofdurl",content.getString("ofdUrl"));
saveData.put("xmlurl",content.getString("xmlUrl"));
//saveData.put("url",content.getOrDefault("url","http://prd-cabinet-1257122416.cos.ap-shanghai.myqcloud.com/recv-open-input-1313818348185971712-1362629996254053632.pdf"));
//saveData.put("ofdurl",content.getOrDefault("ofdUrl","http://prd-cabinet-1257122416.cos.ap-shanghai.myqcloud.com/recv-open-input-1313818348185971712-1362629996254053632.pdf"));
//saveData.put("xmlurl",content.getOrDefault("xmlUrl","http://prd-cabinet-1257122416.cos.ap-shanghai.myqcloud.com/recv-open-input-1313818348185971712-1362630000427386112.xml"));
saveData.put("htbh",content.getString("contraceNumber"));
JSONArray detaildata = content.getJSONArray("items");
@ -253,6 +272,7 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
queryParams.put("kprqq",dataTime);
queryParams.put("kprqz",dataTime);
queryParams.put("taxNo",taxNo);
queryParams.put("approvalStatus",1);
dayabody.put("queryParams",queryParams);
if(flags) {
Map<String, Object> parametersMap = new HashMap<>();
@ -452,21 +472,164 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
sendBody.put("loginName",loginName);
sendBody.put("dataXml",dataXml);
entity.setBodys(sendBody.toJSONString());
} catch (Exception e) {
e.printStackTrace();
}
return entity;
}
public JSONObject fileUpload(File file) {
if (null != file) {
try {
HashMap<String, Object> paramMap = new HashMap<>();
String loginName = "hzya";
paramMap.put("file", file);
String url = "/seeyon/rest/attachment?token=@token@";//如果后面加上applicationCategory=1&extensions=&firstSave=true附件业务自动生成一条记录
url = url.replaceAll("@token@", getOAToken(loginName));
String result = HttpUtil.post("http://60.204.152.210" + url, paramMap);
if (StrUtil.isNotBlank(result)) {
JSONObject jsonObject = JSONObject.parseObject(result);
String atts = jsonObject.get("atts").toString();
if (StrUtil.isNotEmpty(atts)) {
JSONArray jsonArray = JSONArray.parseArray(atts);
JSONObject res = (JSONObject) jsonArray.get(0);
String fileUrl = res.getString("fileUrl");
logger.info("附件id:" + fileUrl);
return res;
}
}
}catch (Exception e){
logger.error("附件上传失败"+e.getMessage());
}
}
return null;
}
private String sendFileUpload(String url,String filename) {
try {
// 获取文件字节数据
byte[] fileBytes = downloadFileBytes(url);
if (fileBytes != null) {
// 模拟一个文件
File tempFile = new File(filename);
try (FileOutputStream fos = new FileOutputStream(tempFile)) {
fos.write(fileBytes);
}
JSONObject data = fileUpload(tempFile);
String fileUrl = null;
if(data != null && data.getString("fileUrl") != null && !"".equals(data.getString("fileUrl")) ){
fileUrl = data.getString("fileUrl");
}
// 操作完成后删除临时文件
tempFile.deleteOnExit();
return fileUrl;
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
public byte[] downloadFileBytes(String fileUrl) throws IOException {
URL url = new URL(fileUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
try (InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
return outputStream.toByteArray();
}
}
/**
* seeyon流程事件监听后置方法绑定修改文件
* @param entity
* @return
* @throws Exception
*/
@Override
public void setDataCallBack(SysMessageManageLogEntity entity) throws Exception {
try {
JSONObject datas = JSONObject.parseObject(entity.getSourceData());
String bodys = datas.getString("body");
JSONObject jsonObject = JSONObject.parseObject(bodys);
String urlData = null;
String ofdurlData = null;
String xmlurlData = null;
if(jsonObject.getString("url") != null){
urlData = sendFileUpload(jsonObject.getString("url"),jsonObject.getString("fphm")+"url");
}
if(jsonObject.getString("ofdurl") != null){
ofdurlData = sendFileUpload(jsonObject.getString("ofdurl"),jsonObject.getString("fphm")+"ofdurl");
}
if(jsonObject.getString("xmlurl") != null){
xmlurlData = sendFileUpload(jsonObject.getString("xmlurl"),jsonObject.getString("fphm")+"xmlurl");
}
//urlData = "7908556313791579509";
//ofdurlData = "7908556313791579509";
//xmlurlData = "7908556313791579509";
if(jsonObject.getString("fphm") != null){
IncomeInvoiceEntity incomeInvoiceEntity = new IncomeInvoiceEntity();
incomeInvoiceEntity.setDataSourceCode("HT-OA");
incomeInvoiceEntity.setField0128(jsonObject.getString("fphm"));//发票号码
incomeInvoiceEntity.setField0130(urlData);//发票文件
incomeInvoiceEntity.setField0138(ofdurlData);//发票文件
incomeInvoiceEntity.setField0139(xmlurlData);//发票文件
List<IncomeInvoiceEntity> list = incomeInvoiceDao.queryOaFp(incomeInvoiceEntity);
if(list != null && list.size() == 1){
incomeInvoiceEntity.setDataId(list.get(0).getDataId());
if(urlData != null){
//保存关联表
String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
ctpAttachmentService.saveAttachment(urlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
}
if(ofdurlData != null){
//保存关联表
String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
ctpAttachmentService.saveAttachment(ofdurlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
}
if(xmlurlData != null){
//保存关联表
String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
ctpAttachmentService.saveAttachment(xmlurlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
}
incomeInvoiceDao.updateFP(incomeInvoiceEntity);
}
}
//修改明细表
if(jsonObject.getString("htbh") != null){
IncomeInvoiceEntity incomeInvoiceEntity = new IncomeInvoiceEntity();
incomeInvoiceEntity.setDataSourceCode("master");//todo
//incomeInvoiceEntity.setDataSourceCode("HT-OA");//todo
incomeInvoiceEntity.setDataSourceCode("HT-OA");
incomeInvoiceEntity.setField0003(jsonObject.getString("htbh"));//合同号
incomeInvoiceEntity.setField0127(jsonObject.getString("fpdm"));//发票代码
incomeInvoiceEntity.setField0128(jsonObject.getString("fphm"));//发票号码
incomeInvoiceEntity.setField0129(jsonObject.getString("jshj"));//发票总额
incomeInvoiceEntity.setField0130(jsonObject.getString("url"));//发票文件
incomeInvoiceEntity.setField0138(jsonObject.getString("ofdurl"));//发票文件
incomeInvoiceEntity.setField0139(jsonObject.getString("xmlurl"));//发票文件
incomeInvoiceEntity.setField0130(urlData);//发票文件
incomeInvoiceEntity.setField0138(ofdurlData);//发票文件
incomeInvoiceEntity.setField0139(xmlurlData);//发票文件
List<IncomeInvoiceEntity> list = incomeInvoiceDao.queryOaZb(incomeInvoiceEntity);
if(list != null && list.size() == 1){
incomeInvoiceEntity.setFormmainId(list.get(0).getDataId());
if(urlData != null){
//保存关联表
String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
ctpAttachmentService.saveAttachment(urlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
}
if(ofdurlData != null){
//保存关联表
String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
ctpAttachmentService.saveAttachment(ofdurlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
}
if(xmlurlData != null){
//保存关联表
String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
ctpAttachmentService.saveAttachment(xmlurlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
}
List<IncomeInvoiceEntity> mxlist = incomeInvoiceDao.queryOaMx(incomeInvoiceEntity);
if(mxlist != null && mxlist.size() == 1){
@ -478,10 +641,11 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
incomeInvoiceDao.saveMx(incomeInvoiceEntity);
}
}
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
logger.error(e.getMessage());
}
return entity;
}
@ -507,7 +671,7 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
stringBuffer.append("<column id=\"field0013\" type=\"0\" name=\"销售方开户行及账号\" isNullable=\"false\" length=\"100\"/>");
stringBuffer.append("<column id=\"field0014\" type=\"0\" name=\"购买方地址电话\" isNullable=\"false\" length=\"100\"/>");
stringBuffer.append("<column id=\"field0015\" type=\"0\" name=\"购买方开户行及账号\" isNullable=\"false\" length=\"100\"/>");
stringBuffer.append("<column id=\"field0017\" type=\"0\" name=\"备注\" isNullable=\"false\" length=\"100\"/>");
stringBuffer.append("<column id=\"field0017\" type=\"0\" name=\"备注\" isNullable=\"false\" length=\"4000\"/>");
stringBuffer.append("<column id=\"field0018\" type=\"0\" name=\"机器编号\" isNullable=\"false\" length=\"100\"/>");
stringBuffer.append("<column id=\"field0019\" type=\"0\" name=\"机打号码\" isNullable=\"false\" length=\"100\"/>");
stringBuffer.append("<column id=\"field0020\" type=\"0\" name=\"开票人\" isNullable=\"false\" length=\"100\"/>");
@ -678,7 +842,8 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
**/
@Override
public JsonResultEntity sendFinancialReportPlugin(JSONObject requestJson) {
//String qwewq = "{\"headers\":\"{\\\"formApp\\\":\\\"99999999999999999999_onProcessFinished\\\",\\\"plugId\\\":\\\"FinancialReportPlugin\\\"}\",\"jsonStr\":\"{\\r\\n\\t\\\"affairId\\\": -4741173599500744000,\\r\\n\\t\\\"businessDataStr\\\": \\\"{\\\\\\\"ztCode\\\\\\\":\\\\\\\"X0644\\\\\\\",\\\\\\\"taxNo\\\\\\\":\\\\\\\"BT23239dN23232\\\\\\\",\\\\\\\"dataType\\\\\\\":2,\\\\\\\"period\\\\\\\":\\\\\\\"2025-06\\\\\\\",\\\\\\\"taskNo\\\\\\\":\\\\\\\"231423332145344311\\\\\\\"}\\\",\\r\\n\\t\\\"formApp\\\": \\\"99999999999999999999\\\",\\r\\n\\t\\\"summaryId\\\": 6464011607627156000,\\r\\n\\t\\\"currentActivityId\\\": \\\"17416866229614\\\",\\r\\n\\t\\\"eventType\\\": \\\"onProcessFinished\\\",\\r\\n\\t\\\"id\\\": -2019827486750716200\\r\\n}\",\"eventType\":\"onProcessFinished\",\"formAppId\":\"99999999999999999999\"}";
//requestJson = JSONObject.parseObject(qwewq);
logger.error("财报数据推送入参"+requestJson.toJSONString());
JSONObject jsonStr = requestJson.getJSONObject("jsonStr");
JSONObject businessDataStr = jsonStr.getJSONObject("businessDataStr");
@ -725,11 +890,12 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
}
private JsonResultEntity sendAccountCodeReport(String ztbm, String cjzq, String rwbm) {
String access_token = getToken();
if (access_token == null) {
return BaseResult.getFailureMessageEntity("token获取失败");
}
String url = uploadBalanceTableUrl+access_token;
logger.info("科目余额开始采集数据"+ztbm);
// String access_token = getToken();
// if (access_token == null) {
// return BaseResult.getFailureMessageEntity("token获取失败");
// }
String url = uploadBalanceTableUrl;
//通过公司编码账期查询该单位的科目余额信息下发有度
//查询当月帐套组织
IncomeInvoiceEntity jnentity = new IncomeInvoiceEntity();
@ -737,20 +903,59 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
jnentity.setSysData(cjzq);
jnentity.setOrgCode(ztbm);
//查询该账期下的科目余额
// logger.info("111111111111111111");
List<JSONObject> jnlist = incomeInvoiceDao.queryAccount(jnentity);
JSONArray balanceTableList = new JSONArray();
for(JSONObject jsonObject :jnlist){
JSONObject balanceTable = new JSONObject();
balanceTable.put("subjectCode", jsonObject.getString("SUBJECTCODE"));
balanceTable.put("subjectName", jsonObject.getString("SUBJECTNAME"));
//格式化
String subjectFullName = jsonObject.getString("SUBJECTFULLNAME");
// 1. 查找第一个反斜杠的位置
int firstIndex = subjectFullName.indexOf("\\");
// 2. 截取第一个反斜杠之后的部分如果存在
String substring = firstIndex != -1
? subjectFullName.substring(firstIndex + 1)
: subjectFullName;
// 3. 将所有剩余的反斜杠替换为下划线
String result = substring.replace("\\", "_");
balanceTable.put("subjectFullName",result );
balanceTable.put("superCode", jsonObject.getString("SUPERCODE"));
balanceTable.put("subjectDir", jsonObject.getString("SUBJECTDIR"));
balanceTable.put("subjectType", jsonObject.getString("SUBJECTTYPE"));
balanceTable.put("subjectLevel", jsonObject.getString("SUBJECTLEVEL"));
balanceTable.put("endLevel", jsonObject.getString("ENDLEVEL"));
balanceTable.put("debitValue", jsonObject.getString("DEBITVALUE"));
balanceTable.put("creditValue", jsonObject.getString("CREDITVALUE"));
balanceTable.put("initialSubjectDir", jsonObject.getString("INITIALSUBJECTDIR"));
balanceTable.put("initialDebitBalanceValue", jsonObject.getString("INITIALDEBITBALANCEVALUE"));
balanceTable.put("initialCreditBalanceValue", jsonObject.getString("INITIALCREDITBALANCEVALUE"));
balanceTable.put("balanceSubjectDir", jsonObject.getString("BALANCESUBJECTDIR"));
balanceTable.put("balanceDeditValue", jsonObject.getString("BALANCEDEDITVALUE"));
balanceTable.put("balanceCreditValue", jsonObject.getString("BALANCECREDITVALUE"));
balanceTable.put("totalDebitValue", jsonObject.getString("TOTALDEBITVALUE"));
balanceTable.put("totalCreditValue", jsonObject.getString("TOTALCREDITVALUE"));
balanceTableList.add(balanceTable);
}
// logger.info("222222222222222222");
//正常来说数组不存在空的情况 如果为空就直接下发空数组给他们
JSONObject sendData = new JSONObject();
sendData.put("accessKey",accessKey);
long timestamp = System.currentTimeMillis();
sendData.put("timestamp",timestamp);
// sendData.put("accessKey",accessKey);
// long timestamp = System.currentTimeMillis();
// sendData.put("timestamp",timestamp);
sendData.put("taskNo",rwbm);
sendData.put("period",cjzq);
String a = YzfSignUtil.signRequest(sendData,accessSecret);
sendData.put("sign",a);
sendData.put("balanceTableList",jnlist);
// String a = YzfSignUtil.signRequest(sendData,accessSecret);
// sendData.put("sign",a);
sendData.put("balanceTableList",balanceTableList);
Map<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/json; charset=utf-8");
logger.info("科目余额开始发送数据"+sendData.toJSONString());
String returndata = sendPost(url, headers, sendData.toJSONString());
logger.info("科目余额返回数据"+returndata);
if (returndata != null && JSONObject.isValidObject(returndata)) {
JSONObject dataJson = JSONObject.parseObject(returndata);
if(dataJson != null && dataJson.getString("code") != null && "0".equals( dataJson.getString("code"))){
@ -783,6 +988,8 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
* @return com.hzya.frame.web.entity.JsonResultEntity
**/
private JsonResultEntity sendFinancialReport(String ztbm ,String cjzq,String rwbm) {
logger.error("财报数据推送入参1"+ztbm+","+cjzq+","+rwbm);
String access_token = "";
if(flags){
access_token = getToken();
@ -796,8 +1003,8 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
Date date = null;
String qncjzq = null;
IncomeInvoiceEntity dyAloneId = null;
JSONObject dydata = null;
JSONObject qndata = null;
JSONObject dydata = new JSONObject();
JSONObject qndata = new JSONObject();
IncomeInvoiceEntity qnAloneId = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
@ -818,10 +1025,11 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
jnentity.setSysData(cjzq);
jnentity.setOrgCode(ztbm);
List<IncomeInvoiceEntity> jnlist = incomeInvoiceDao.queryZtzz(jnentity);
//List<IncomeInvoiceEntity> jnlist = null;
if(jnlist != null && jnlist.size() == 1){
dyAloneId = jnlist.get(0);
}else {
return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送");
//return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送");
}
//查询去年当帐套组织
IncomeInvoiceEntity qnentity = new IncomeInvoiceEntity();
@ -829,6 +1037,7 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
qnentity.setSysData(qncjzq);
qnentity.setOrgCode(ztbm);
List<IncomeInvoiceEntity> qnlist = incomeInvoiceDao.queryZtzz(qnentity);
//List<IncomeInvoiceEntity> qnlist = null;
if(qnlist != null && qnlist.size() == 1){
qnAloneId = qnlist.get(0);
}else {
@ -836,6 +1045,7 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
}
//查询当月的财报数据
if(dyAloneId != null){
IncomeInvoiceEntity jnquerydata = new IncomeInvoiceEntity();
jnquerydata.setDataSourceCode("htBip");
jnquerydata.setAloneId(dyAloneId.getAloneId());
@ -843,8 +1053,10 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
if(dydataList != null && dydataList.size() == 1){
dydata = dydataList.get(0);
}else {
return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送");
//return BaseResult.getSuccessMessageEntity("未查询到当月的财报数据,不推送");
}
}
//查询去年当期的财报数据
if(qnAloneId != null){
//查找去年数据
@ -880,7 +1092,7 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
setDataToArray("应付票据",dydata.getString("AM10187"),dydata.getString("AM10186"),reportSubjects1);
setDataToArray("应收账款",dydata.getString("AM10171"),dydata.getString("AM10170"),reportSubjects1);
setDataToArray("应付账款",dydata.getString("AM10169"),dydata.getString("AM10168"),reportSubjects1);
setDataToArray("减:坏账准备",dydata.getString("AM10153"),dydata.getString("AM10152"),reportSubjects1);
setDataToArray("减:坏账准备1",dydata.getString("AM10153"),dydata.getString("AM10152"),reportSubjects1);
setDataToArray("预收款项",dydata.getString("AM10151"),dydata.getString("AM10150"),reportSubjects1);
setDataToArray("预付款项",dydata.getString("AM10135"),dydata.getString("AM10134"),reportSubjects1);
setDataToArray("合同负债",dydata.getString("AM10133"),dydata.getString("AM10132"),reportSubjects1);
@ -890,7 +1102,7 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
setDataToArray("应交税费",dydata.getString("AM10097"),dydata.getString("AM10096"),reportSubjects1);
setDataToArray("其他应收款",dydata.getString("AM10081"),dydata.getString("AM10080"),reportSubjects1);
setDataToArray("应付利息",dydata.getString("AM10079"),dydata.getString("AM10078"),reportSubjects1);
setDataToArray("减:坏账准备",dydata.getString("AM10063"),dydata.getString("AM10062"),reportSubjects1);
setDataToArray("减:坏账准备2",dydata.getString("AM10063"),dydata.getString("AM10062"),reportSubjects1);
setDataToArray("应付股利",dydata.getString("AM10061"),dydata.getString("AM10060"),reportSubjects1);
setDataToArray("存货",dydata.getString("AM10048"),dydata.getString("AM10047"),reportSubjects1);
setDataToArray("其他应付款",dydata.getString("AM10046"),dydata.getString("AM10045"),reportSubjects1);
@ -910,7 +1122,7 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
setDataToArray("递延收益",dydata.getString("AM10162"),dydata.getString("AM10161"),reportSubjects1);
setDataToArray("递延所得税负债",dydata.getString("AM10144"),dydata.getString("AM10143"),reportSubjects1);
setDataToArray("固定资产",dydata.getString("AM10202"),dydata.getString("AM10200"),reportSubjects1);
setDataToArray("减:累计折旧",dydata.getString("AM10184"),dydata.getString("AM10182"),reportSubjects1);
setDataToArray("减:累计折旧1",dydata.getString("AM10184"),dydata.getString("AM10182"),reportSubjects1);
setDataToArray("减:固定资产减值准备",dydata.getString("AM10166"),dydata.getString("AM10164"),reportSubjects1);
setDataToArray("在建工程",dydata.getString("AM10148"),dydata.getString("AM10146"),reportSubjects1);
setDataToArray("实收资本(或股本)",dydata.getString("AM10054"),dydata.getString("AM10053"),reportSubjects1);
@ -919,7 +1131,7 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
setDataToArray("资本公积",dydata.getString("AM10354"),dydata.getString("AM10352"),reportSubjects1);
setDataToArray("使用权资产",dydata.getString("AM10058"),dydata.getString("AM10056"),reportSubjects1);
setDataToArray("减:库存股",dydata.getString("AM10339"),dydata.getString("AM10337"),reportSubjects1);
setDataToArray("减:累计折旧",dydata.getString("AM10043"),dydata.getString("AM10041"),reportSubjects1);
setDataToArray("减:累计折旧2",dydata.getString("AM10043"),dydata.getString("AM10041"),reportSubjects1);
setDataToArray("减:使用权资产减值准备",dydata.getString("AM10028"),dydata.getString("AM10026"),reportSubjects1);
setDataToArray("盈余公积",dydata.getString("AM10309"),dydata.getString("AM10307"),reportSubjects1);
setDataToArray("无形资产",dydata.getString("AM10013"),dydata.getString("AM10011"),reportSubjects1);
@ -980,30 +1192,30 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
setDataToArray("支付给职工以及为职工支付的现金",dydata.getString("AM10124"),qndata.getString("AM10124"),reportSubjects3);
setDataToArray("支付的各项税费",dydata.getString("AM10106"),qndata.getString("AM10106"),reportSubjects3);
setDataToArray("支付的其他与经营活动有关的现金",dydata.getString("AM10088"),qndata.getString("AM10088"),reportSubjects3);
setDataToArray("现金流出小计",dydata.getString("AM10052"),qndata.getString("AM10052"),reportSubjects3);
setDataToArray("现金流出小计1",dydata.getString("AM10052"),qndata.getString("AM10052"),reportSubjects3);
setDataToArray("经营活动产生的现金流量净额",dydata.getString("AM10022"),qndata.getString("AM10022"),reportSubjects3);
setDataToArray("收回投资所收到的现金",dydata.getString("AM10353"),qndata.getString("AM10353"),reportSubjects3);
setDataToArray("取得投资收益所收到的现金",dydata.getString("AM10338"),qndata.getString("AM10338"),reportSubjects3);
setDataToArray("处置固定资产、无形资产和其他长期资产所收回的现金净额",dydata.getString("AM10323"),qndata.getString("AM10323"),reportSubjects3);
setDataToArray("处置子公司及其他营业单位收到的现金净额",dydata.getString("AM10308"),qndata.getString("AM10308"),reportSubjects3);
setDataToArray("收到的其他与投资活动有关的现金",dydata.getString("AM10293"),qndata.getString("AM10293"),reportSubjects3);
setDataToArray("现金流入小计",dydata.getString("AM10277"),qndata.getString("AM10277"),reportSubjects3);
setDataToArray("现金流入小计1",dydata.getString("AM10277"),qndata.getString("AM10277"),reportSubjects3);
setDataToArray("购建固定资产、无形资产和其他长期资产所支付的现金",dydata.getString("AM10253"),qndata.getString("AM10253"),reportSubjects3);
setDataToArray("投资所支付的现金",dydata.getString("AM10231"),qndata.getString("AM10231"),reportSubjects3);
setDataToArray("取得子公司及其他营业单位收到的现金净额",dydata.getString("AM10209"),qndata.getString("AM10209"),reportSubjects3);
setDataToArray("其他与投资有关",dydata.getString("AM10191"),qndata.getString("AM10191"),reportSubjects3);
setDataToArray("现金流出小计",dydata.getString("AM10173"),qndata.getString("AM10173"),reportSubjects3);
setDataToArray("现金流出小计2",dydata.getString("AM10173"),qndata.getString("AM10173"),reportSubjects3);
setDataToArray("投资活动产生的现金流量净额",dydata.getString("AM10155"),qndata.getString("AM10155"),reportSubjects3);
setDataToArray("吸收投资所收到的现金",dydata.getString("AM10119"),qndata.getString("AM10119"),reportSubjects3);
setDataToArray("子公司吸收少数股东投资收到的现金",dydata.getString("AM10101"),qndata.getString("AM10101"),reportSubjects3);
setDataToArray("借贷所收到现金",dydata.getString("AM10083"),qndata.getString("AM10083"),reportSubjects3);
setDataToArray("发行债券收到的现金",dydata.getString("AM10065"),qndata.getString("AM10065"),reportSubjects3);
setDataToArray("收到的其他与筹资活动有关的现金",dydata.getString("AM10050"),qndata.getString("AM10050"),reportSubjects3);
setDataToArray("现金流入小计",dydata.getString("AM10035"),qndata.getString("AM10035"),reportSubjects3);
setDataToArray("现金流入小计2",dydata.getString("AM10035"),qndata.getString("AM10035"),reportSubjects3);
setDataToArray("偿还债务所支付的现金",dydata.getString("AM10020"),qndata.getString("AM10020"),reportSubjects3);
setDataToArray("分配股利、利润、偿付利息所支付的现金",dydata.getString("AM10005"),qndata.getString("AM10005"),reportSubjects3);
setDataToArray("支付的其他与筹资活动有关的现金",dydata.getString("AM10350"),qndata.getString("AM10350"),reportSubjects3);
setDataToArray("现金流出小计",dydata.getString("AM10335"),qndata.getString("AM10335"),reportSubjects3);
setDataToArray("现金流出小计3",dydata.getString("AM10335"),qndata.getString("AM10335"),reportSubjects3);
setDataToArray("筹资活动产生的现金流量净额",dydata.getString("AM10320"),qndata.getString("AM10320"),reportSubjects3);
setDataToArray("四、汇率变动对现金流量的影响",dydata.getString("AM10305"),qndata.getString("AM10305"),reportSubjects3);
setDataToArray("五、现金及现金等价物净增加额",dydata.getString("AM10290"),qndata.getString("AM10290"),reportSubjects3);
@ -1051,6 +1263,12 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
jsonObject.put("value",new BigDecimal(value));
jsonObject.put("valueType",1);
reportSubjects.add(jsonObject);
}else {
JSONObject jsonObject = new JSONObject();
jsonObject.put("subjectName",subjectName);
jsonObject.put("value",BigDecimal.ZERO);
jsonObject.put("valueType",1);
reportSubjects.add(jsonObject);
}
if(value2 != null && !"".equals(value2)){
JSONObject jsonObject = new JSONObject();
@ -1058,6 +1276,12 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
jsonObject.put("value",new BigDecimal(value2));
jsonObject.put("valueType",2);
reportSubjects.add(jsonObject);
}else {
JSONObject jsonObject = new JSONObject();
jsonObject.put("subjectName",subjectName);
jsonObject.put("value",BigDecimal.ZERO);
jsonObject.put("valueType",2);
reportSubjects.add(jsonObject);
}
}
}

View File

@ -3,7 +3,7 @@ logging:
#日志级别 指定目录级别
level:
root: INFO
encodings: UTF-8
encodings: GBK
file:
# 日志保存路径
path: D:\yongansystem\serverV3\log\test

View File

@ -18,4 +18,5 @@ public interface ICtpAttachmentDao extends IBaseDao<CtpAttachmentEntity,String>
//新增
@DS("#ctpAttachmentEntity.dataSourceCode")
CtpAttachmentEntity saveCtpAttachment(CtpAttachmentEntity ctpAttachmentEntity);
}

View File

@ -11,6 +11,9 @@ import java.util.List;
* @Date 2024/6/17 15:21
**/
public interface ICtpFileDao extends IBaseDao<CtpFileEntity,String> {
List<CtpFileEntity> queryFile(CtpFileEntity ctpFileEntity);
/**
*
* @content 根据附件id查询附加信息

View File

@ -20,4 +20,14 @@ public class CtpFileDaoImpl extends MybatisGenericDao<CtpFileEntity,String> impl
public List<CtpFileEntity> queryCtpFileById(CtpFileEntity ctpFileEntity) {
return (List<CtpFileEntity>) super.selectList("queryCtpFileById",ctpFileEntity);
}
@DS("#entity.dataSourceCode")
@Override
public List<CtpFileEntity> queryFile(CtpFileEntity entity) {
List<CtpFileEntity> o = (List<CtpFileEntity>) super.selectList(getSqlIdPrifx() + "queryFile", entity);
return o;
}
}

View File

@ -34,7 +34,19 @@
<!-- 查询 采用==查询 -->
<select id="CtpFileEntity_list_base" resultMap="get-CtpFileEntity-result" parameterType="com.hzya.frame.seeyon.entity.CtpFileEntity">
<select id="entity_list_base" resultMap="get-CtpFileEntity-result" parameterType="com.hzya.frame.seeyon.entity.CtpFileEntity">
select
<include refid="CtpFileEntity_sql"/>
from
ctp_file
<trim prefix="where" prefixOverrides="and">
<if test="id != null and id != ''">id = #{id}</if>
<if test="filename != null and filename != ''">and filename = #{filename}</if>
</trim>
</select>
<!-- 查询 采用==查询 -->
<select id="queryFile" resultMap="get-CtpFileEntity-result" parameterType="com.hzya.frame.seeyon.entity.CtpFileEntity">
select
<include refid="CtpFileEntity_sql"/>
from

View File

@ -16,5 +16,5 @@ public interface ICtpAttachmentService extends IBaseService<CtpAttachmentEntity,
* @param sub_reference 随机uuid
* @return
*/
CtpAttachmentEntity saveAttachment(String fileUrl, String col_summary_id, String sub_reference)throws Exception;
CtpAttachmentEntity saveAttachment(String fileUrl, String col_summary_id, String sub_reference, String dataSourceCode)throws Exception;
}

View File

@ -3,6 +3,8 @@ package com.hzya.frame.seeyon.service;
import com.hzya.frame.basedao.service.IBaseService;
import com.hzya.frame.seeyon.entity.CtpFileEntity;
import java.util.List;
/**
* @Description seeyon 附件
* @Author xiangerlin

View File

@ -3,10 +3,12 @@ package com.hzya.frame.seeyon.service.impl;
import cn.hutool.core.date.DateUtil;
import com.hzya.frame.basedao.service.impl.BaseService;
import com.hzya.frame.seeyon.dao.ICtpAttachmentDao;
import com.hzya.frame.seeyon.dao.ICtpFileDao;
import com.hzya.frame.seeyon.entity.CtpAttachmentEntity;
import com.hzya.frame.seeyon.entity.CtpFileEntity;
import com.hzya.frame.seeyon.service.ICtpAttachmentService;
import com.hzya.frame.seeyon.service.ICtpFileService;
import com.hzya.frame.sysnew.comparison.controlsLog.dao.impl.ControlsLogDaoImpl;
import com.hzya.frame.uuid.UUIDLong;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -26,6 +28,9 @@ public class CtpAttachmentServiceImpl extends BaseService<CtpAttachmentEntity, S
private ICtpAttachmentDao ctpAttachmentDao;
@Autowired
private ICtpFileService ctpFileService;
@Autowired
private ICtpFileDao ctpFileDao;
@Autowired
public void setCtpAttachmentDao(ICtpAttachmentDao dao) {
this.ctpAttachmentDao = dao;
@ -41,27 +46,28 @@ public class CtpAttachmentServiceImpl extends BaseService<CtpAttachmentEntity, S
* @return
*/
@Override
public CtpAttachmentEntity saveAttachment(String fileUrl, String col_summary_id, String sub_reference)throws Exception {
public CtpAttachmentEntity saveAttachment(String fileUrl, String col_summary_id, String sub_reference, String dataSourceCode)throws Exception {
//查一下附件
CtpFileEntity ctpFileEntity = new CtpFileEntity();
ctpFileEntity.setId(fileUrl);
ctpFileEntity.setDataSourceCode("");
List<CtpFileEntity> ctpFileList = ctpFileService.query(ctpFileEntity);
ctpFileEntity.setDataSourceCode(dataSourceCode);
List<CtpFileEntity> ctpFileList = ctpFileDao.queryFile(ctpFileEntity);
if (CollectionUtils.isNotEmpty(ctpFileList)){
CtpFileEntity ctpFile = ctpFileList.get(0);
if (null != ctpFile){
CtpAttachmentEntity ctpAttachmentEntity = new CtpAttachmentEntity();
ctpAttachmentEntity.setDataSourceCode(dataSourceCode);
ctpAttachmentEntity.setId(String.valueOf(UUIDLong.longUUID()));
ctpAttachmentEntity.setFile_url(ctpFile.getId());//ctp_file表的id
ctpAttachmentEntity.setAtt_reference(col_summary_id);//业务表单的id
ctpAttachmentEntity.setSub_reference(sub_reference);//这个字段要保存到业务表附件到字段上
ctpAttachmentEntity.setCategory("66");//这里写66 才可以显示图片
ctpAttachmentEntity.setCategory(ctpFile.getCategory());//这里写66 才可以显示图片
ctpAttachmentEntity.setFilename(ctpFile.getFilename());
ctpAttachmentEntity.setType(ctpFile.getType());
ctpAttachmentEntity.setMime_type(ctpFile.getMime_type());
ctpAttachmentEntity.setAttachment_size(ctpFile.getFile_size());
ctpAttachmentEntity.setCreatedate(new Date());
this.save(ctpAttachmentEntity);
ctpAttachmentDao.saveCtpAttachment(ctpAttachmentEntity);
return ctpAttachmentEntity;
}
}