财报代码编写
This commit is contained in:
parent
8ab88a9acb
commit
82b1384feb
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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="field0002 != null and field0002 != ''"> 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(
|
||||
|
|
|
@ -21,6 +21,7 @@ public interface IIncomeInvoiceService extends IBaseService<IncomeInvoiceEntity,
|
|||
**/
|
||||
JsonResultEntity getIncomeInvoiceData(JSONObject requestJson);
|
||||
SysExtensionApiEntity setData(SysExtensionApiEntity entity) throws Exception;
|
||||
SysExtensionApiEntity setDataCallBack(SysExtensionApiEntity entity) throws Exception;
|
||||
|
||||
JsonResultEntity sendFinancialReportPlugin(JSONObject requestJson);
|
||||
}
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
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;
|
||||
|
@ -36,8 +40,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 +56,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 +66,8 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
|
|||
|
||||
private IIncomeInvoiceDao incomeInvoiceDao;
|
||||
@Autowired
|
||||
private ICtpAttachmentService ctpAttachmentService;
|
||||
@Autowired
|
||||
private ControlsLogDaoImpl controlsLogDaoimpl;
|
||||
@Autowired
|
||||
private IComparisonDao comparisonDao;
|
||||
|
@ -250,8 +263,8 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
|
|||
JSONObject queryParams = new JSONObject();
|
||||
queryParams.put("page",queryCursor);
|
||||
queryParams.put("size",size);
|
||||
queryParams.put("kprqq",dataTime);
|
||||
queryParams.put("kprqz",dataTime);
|
||||
//queryParams.put("kprqq",dataTime);
|
||||
//queryParams.put("kprqz",dataTime);
|
||||
queryParams.put("taxNo",taxNo);
|
||||
dayabody.put("queryParams",queryParams);
|
||||
if(flags) {
|
||||
|
@ -483,6 +496,175 @@ public class IncomeInvoiceServiceImpl extends BaseService<IncomeInvoiceEntity, S
|
|||
}
|
||||
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 SysExtensionApiEntity setDataCallBack(SysExtensionApiEntity entity) throws Exception {
|
||||
try {
|
||||
String bodys = entity.getBodys();
|
||||
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");
|
||||
}
|
||||
|
||||
if(jsonObject.getString("fphm") != null){
|
||||
IncomeInvoiceEntity incomeInvoiceEntity = new IncomeInvoiceEntity();
|
||||
incomeInvoiceEntity.setDataSourceCode("master");//todo
|
||||
//incomeInvoiceEntity.setDataSourceCode("HT-OA");//todo
|
||||
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.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"));//发票文件
|
||||
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){
|
||||
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();
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -41,11 +41,11 @@ 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("");
|
||||
ctpFileEntity.setDataSourceCode(dataSourceCode);
|
||||
List<CtpFileEntity> ctpFileList = ctpFileService.query(ctpFileEntity);
|
||||
if (CollectionUtils.isNotEmpty(ctpFileList)){
|
||||
CtpFileEntity ctpFile = ctpFileList.get(0);
|
||||
|
@ -55,7 +55,7 @@ public class CtpAttachmentServiceImpl extends BaseService<CtpAttachmentEntity, S
|
|||
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());
|
||||
|
|
Loading…
Reference in New Issue