拉取sap数据接口开发

release
wangzhikun 2 years ago
parent 1e6723bcf3
commit 98da3c4958
  1. 2
      dxhy-core/src/main/java/com/dxhy/core/dao/ConfirmDao.java
  2. 85
      dxhy-core/src/main/java/com/dxhy/core/task/PullSapDataTask.java
  3. 7
      dxhy-core/src/main/resources/mapper/ConfirmDao.xml
  4. 4
      dxhy-erp/src/main/java/com/dxhy/erp/service/impl/InvoiceAuthServiceImpl.java
  5. 6
      dxhy-extend/src/main/java/com/dxhy/extend/controller/VouncherSyncController.java

@ -475,4 +475,6 @@ public interface ConfirmDao extends BaseMapper<TDxHttpLog> {
List<TDxHttpLogInvoiceDown> getHttpLog(); List<TDxHttpLogInvoiceDown> getHttpLog();
String selectByuuid(@Param("uuid")String uuid); String selectByuuid(@Param("uuid")String uuid);
List<TAcOrg> getPullSapDataTaxNo();
} }

@ -0,0 +1,85 @@
package com.dxhy.core.task;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.common.constant.DbConstant;
import com.dxhy.common.datasource.config.DynamicContextHolder;
import com.dxhy.core.dao.ConfirmDao;
import com.dxhy.core.job.entity.SNSAPObject;
import com.dxhy.core.job.entity.ScheduleJobEntity;
import com.dxhy.core.job.entity.TAcOrg;
import com.dxhy.core.job.service.ApplyService;
import com.dxhy.core.job.service.ScheduleJobService;
import com.dxhy.core.job.service.SysDeptService;
import com.dxhy.core.util.HttpRequestUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 申请统计统计结果申请确认确认结果定时任务
*
* @author fth
* @date 2019年05月28日
**/
@Component("pullSapData")
@Slf4j
public class PullSapDataTask {
@Resource
private ApplyService applyService;
@Resource
ScheduleJobService scheduleJobService;
@Resource
SysDeptService sysDeptService;
@Resource
ConfirmDao confirmDao;
@Value("${sdny.snYxUrl}")
private String snYxUrl;
@Value("${po.userName}")
private String userName;
@Value("${po.password}")
private String password;
public void applyStat() {
log.info("拉取sap数据获取");
//获取当前年月
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyyMM");
String format1 = format.format(date);
String year = format1.substring(0, 4);
String month = format1.substring(4, 6);
//获取公司代码
List<TAcOrg> taxNos=confirmDao.getPullSapDataTaxNo();
for(TAcOrg tAcOrg:taxNos){
SNSAPObject object = new SNSAPObject();
object.setSYSID("FPXT");
object.setIFYWID("FI842");
object.setBSKEY(UUID.randomUUID().toString().replace("-", ""));
object.setZFILED5("200");
Map<String,String> requestMap = new HashMap<>();
//公司代码
requestMap.put("ZGSDM",tAcOrg.getAccount());
//年
requestMap.put("GJAHR",year);
//月
requestMap.put("MONAT",month);
object.setZDATA(JSONObject.toJSONString(requestMap));
JSONObject request = new JSONObject();
request.put("IS_INPUT",object);
String req = request.toJSONString();
log.info("税号:{},发送获取sap数据{}",tAcOrg.getTaxno(),req);
String s = HttpRequestUtils.sendPo(snYxUrl, req, userName, password);
log.info("税号:{},拉去sap接口返回数据{}",tAcOrg.getTaxno(),s);
}
}
}

@ -18,6 +18,13 @@
and g.cj_status = '1' and g.cj_status = '1'
</select> </select>
<select id="getPullSapDataTaxNo" resultType="com.dxhy.core.job.entity.TAcOrg">
select g.taxno, g.db_name, g.company, g.taxname
from sys_dept g
where g.org_type = '5'
and g.upgrade_status = '1'
and g.cj_status = '1'
</select>
<!--查询机构表里税号 全票面--> <!--查询机构表里税号 全票面-->
<select id="getTaxnoForQpm" resultType="com.dxhy.core.job.entity.TAcOrg"> <select id="getTaxnoForQpm" resultType="com.dxhy.core.job.entity.TAcOrg">
select distinct g.taxno, g.db_name, g.company, g.ace_id, g.ace_key select distinct g.taxno, g.db_name, g.company, g.ace_id, g.ace_key

@ -382,7 +382,7 @@ public class InvoiceAuthServiceImpl extends MpBaseServiceImpl<RecordInvoiceDao,
UpdateWrapper updateWrapper = new UpdateWrapper(); UpdateWrapper updateWrapper = new UpdateWrapper();
updateWrapper.eq("uuid",uuid); updateWrapper.eq("uuid",uuid);
//会计凭证号 //会计凭证号
updateWrapper.set("snvoucher_number",zdata1.getBELNR()); updateWrapper.set("sn_voucher_number",zdata1.getBELNR());
//凭证过账日期 //凭证过账日期
updateWrapper.set("posting_time",zdata1.getBUDAT()); updateWrapper.set("posting_time",zdata1.getBUDAT());
//账期 //账期
@ -415,7 +415,7 @@ public class InvoiceAuthServiceImpl extends MpBaseServiceImpl<RecordInvoiceDao,
UpdateWrapper updateWrapper = new UpdateWrapper(); UpdateWrapper updateWrapper = new UpdateWrapper();
updateWrapper.eq("uuid",uuid); updateWrapper.eq("uuid",uuid);
//会计凭证号 //会计凭证号
updateWrapper.set("snvoucher_number",zdata1.getBELNR()); updateWrapper.set("sn_voucher_number",zdata1.getBELNR());
//凭证过账日期 //凭证过账日期
updateWrapper.set("posting_time",zdata1.getBUDAT()); updateWrapper.set("posting_time",zdata1.getBUDAT());
//账期 //账期

@ -34,6 +34,12 @@ public class VouncherSyncController {
//是否全量 X为全量推送,空为增量推送。 //是否全量 X为全量推送,空为增量推送。
//全量推送逻辑为 查询出的符合条件的凭证全部推送,全量推送不再检查是否在自定义表中已传输。 //全量推送逻辑为 查询出的符合条件的凭证全部推送,全量推送不再检查是否在自定义表中已传输。
//增量推送,已传输的凭证数据不再推送(检查传输记录表是否已传输成功) //增量推送,已传输的凭证数据不再推送(检查传输记录表是否已传输成功)
/**
* 传参逻辑 必传 期间只能传一个月的
*
*/
String ifAll=map.get("ifAll"); String ifAll=map.get("ifAll");
//公司代码 //公司代码
String companyCode = map.get("companyCode"); String companyCode = map.get("companyCode");

Loading…
Cancel
Save