ariesy 增加供应商风险推送SAP定时任务 v2

release
yefei 2 years ago
parent aa7af3caa8
commit 3f9fe48ad5
  1. 49
      dxhy-core/src/main/java/com/dxhy/core/controller/InvoiceQueryController.java
  2. 2
      dxhy-core/src/main/java/com/dxhy/core/job/entity/SNSAPObject.java
  3. 3
      dxhy-core/src/main/java/com/dxhy/core/job/pojo/SupplierRiskHandle.java
  4. 18
      dxhy-core/src/main/java/com/dxhy/core/job/service/impl/SupplierRiskServiceImpl.java
  5. 36
      dxhy-core/src/main/java/com/dxhy/core/task/SupplierRiskTask.java
  6. 2
      dxhy-core/src/main/resources/mapper/ExtViolationLogMapper.xml

@ -1,10 +1,13 @@
package com.dxhy.core.controller;
import java.util.List;
import java.util.Map;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.annotation.Resource;
import com.dxhy.core.job.entity.TAcOrg;
import com.dxhy.core.job.service.InvoiceInterfaceService;
import com.dxhy.core.job.service.SupplierRiskService;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -36,6 +39,12 @@ public class InvoiceQueryController extends AbstractController {
@Resource
private CoreInvoiceQueryService coreInvoiceQueryService;
@Resource
SupplierRiskService supplierRiskService;
@Resource
InvoiceInterfaceService invoiceInterfaceService;
/**
* 扫码查验发票
*
@ -111,4 +120,40 @@ public class InvoiceQueryController extends AbstractController {
}
}
/**
* 扫码查验发票
*
* @return
*
*/
@PostMapping("/smcy/supplier")
@ResponseBody
@SysLog("供应商风险")
public String supplierRisk(@RequestBody Map<String, Object> pramsMap) {
Map<String, Object> data = new HashMap<>(16);
data.put("dbName", getUserInfo().getDbName());
data.put("business", getUserInfo().getBusiness());
List<String> gfshList = new ArrayList<>();
if (!"99".equals(pramsMap.get("gfsh")) && pramsMap.get("gfsh") != null && !"".equals(pramsMap.get("gfsh"))) {
gfshList.add(pramsMap.get("gfsh").toString());
} else {
gfshList = UserInfoUtil.getGfshAll(getUserInfo().getOrg());
if (gfshList.size() == 0) {
return "";
}
}
data.put("gfsh", gfshList);
data.put("taxNo", pramsMap.get("taxNo"));
data.put("taxName", pramsMap.get("taxName"));
// 设置日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String date = df.format(new Date());
data.put("currentTime", date);
String riskSupplierVOS = supplierRiskService.selectRiskSupplier2(data);
return riskSupplierVOS;
}
}

@ -73,6 +73,6 @@ public class SNSAPObject {
* 外围系统标识
*/
@JSONField(name = "ZDATA")
private List<String> ZDATA;
private String ZDATA;
}

@ -36,9 +36,6 @@ public class SupplierRiskHandle extends Thread {
@Override
public void run() {
supplierRiskService = (SupplierRiskService)SpringContextUtils.getBean("SupplierRiskService");
String riskSupplierVOS = supplierRiskService.selectRiskSupplier2(pramsMap);
}

@ -9,6 +9,7 @@ import com.dxhy.common.service.TabulateRedisService;
import com.dxhy.common.service.impl.MpBaseServiceImpl;
import com.dxhy.common.util.AmountFormatUtil;
import com.dxhy.common.util.MathUtil;
import com.dxhy.common.util.UserInfoUtil;
import com.dxhy.common.vo.DictdetaModel;
import com.dxhy.core.dao.ViolationLogDao;
import com.dxhy.core.entity.EnterpriseInfoModel;
@ -36,7 +37,7 @@ import java.util.*;
* @date 2020/12/31
*/
@Slf4j
@Service
@Service("SupplierRiskService")
public class SupplierRiskServiceImpl extends MpBaseServiceImpl<ViolationLogDao, ViolationLogModel>
implements SupplierRiskService {
@ -150,11 +151,14 @@ public class SupplierRiskServiceImpl extends MpBaseServiceImpl<ViolationLogDao,
@Override
public String selectRiskSupplier2(Map<String, Object> pramsMap) {
DynamicContextHolder.push(pramsMap.get("dbName") + DbConstant.BUSINESS_READ);
//获取购方税号对应的供应商风险信息
String result = "";
log.info("请求供应商风险的参数为:{}",pramsMap);
List<RiskSupplierVO> pageList = super.baseMapper.selectRiskSupplier(pramsMap);
log.info("pageList:{}",pageList);
for (RiskSupplierVO risk : pageList) {
String taxNo = risk.getTaxNo();
Map<String, Object> prams = new HashMap<>();
@ -162,6 +166,7 @@ public class SupplierRiskServiceImpl extends MpBaseServiceImpl<ViolationLogDao,
List<ViolationLogModel> violationLogModels = super.baseMapper.selectRiskSupplierInfo(prams);
log.info("返回违规信息为:{}",violationLogModels);
//构建FI870参数
SNSAPObject object = new SNSAPObject();
object.setSYSID("FPXT");
@ -169,7 +174,7 @@ public class SupplierRiskServiceImpl extends MpBaseServiceImpl<ViolationLogDao,
object.setBSKEY(UUID.randomUUID().toString().replace("-", ""));
object.setZFILED5("200");
List<String> risks = new ArrayList<>();
List<SupplierRisk> risks = new ArrayList<>();
if (violationLogModels != null && violationLogModels.size() > 0) {
for (ViolationLogModel violation : violationLogModels) {
@ -180,20 +185,19 @@ public class SupplierRiskServiceImpl extends MpBaseServiceImpl<ViolationLogDao,
riskInfo.setZWFSD(violation.getBreakLawMethod());
riskInfo.setZWGLX(violation.getBreakLawType());
risks.add(JSONObject.toJSONString(riskInfo));
}
risks.add(riskInfo);
}
object.setZDATA(risks);
object.setZDATA(JSONObject.toJSONString(risks));
JSONObject request = new JSONObject();
request.put("IS_INPUT",object);
request.put("IS_INPUT", object);
//将信息推送到影像系统
log.info("获取请求参数:{} , 请求地址:{}", request.toJSONString(), snYxUrl);
result = HttpRequestUtils.sendPo(snYxUrl, request.toJSONString(), userName, password);
log.info("获取返回信息:{}", result);
}
}
return result;

@ -1,7 +1,10 @@
package com.dxhy.core.task;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.common.constant.DbConstant;
import com.dxhy.common.controller.AbstractController;
import com.dxhy.common.datasource.config.DynamicContextHolder;
import com.dxhy.common.util.UserInfoUtil;
import com.dxhy.core.dao.ConfirmDao;
import com.dxhy.core.job.entity.ScheduleJobEntity;
import com.dxhy.core.job.entity.TAcOrg;
@ -17,10 +20,8 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@ -32,7 +33,7 @@ import java.util.concurrent.TimeUnit;
@SuppressWarnings({"rawtypes", "DuplicatedCode"})
@Component("supplierRiskTask")
@Slf4j
public class SupplierRiskTask {
public class SupplierRiskTask extends AbstractController {
@Resource
private InvoiceInterfaceService invoiceInterfaceService;
@Resource
@ -67,15 +68,30 @@ public class SupplierRiskTask {
// 需判断 设置不认证状态
List<TAcOrg> list = invoiceInterfaceService.getTaxnoForQpm();
log.info("当前企业为:{}", JSONObject.toJSONString(list));
if(list != null && list.size()>0) {
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(corePoolSize, maximumPoolSize, 60L,
TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(list.size() * 4),
TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>( 4),
r -> new Thread(r, "获取供应商风险-" + r.hashCode()));
for(TAcOrg org : list) {
Map<String, Object> request = new HashMap<>();
if (!threadPoolExecutor.isShutdown()) {
threadPoolExecutor.execute(new SupplierRiskHandle(request));
Map<String, Object> data = new HashMap<>(16);
data.put("dbName", "business");
List<String> gfshList = new ArrayList<>();
for(TAcOrg org:list){
gfshList.add(org.getTaxno());
}
data.put("gfsh", gfshList);
data.put("taxNo", "");
data.put("taxName", "");
// 设置日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String date = df.format(new Date());
data.put("currentTime", date);
log.info("请求供应商风险的参数为:{}",data);
if (!threadPoolExecutor.isShutdown()) {
threadPoolExecutor.execute(new SupplierRiskHandle(data));
}
threadPoolExecutor.shutdown();

@ -3,7 +3,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dxhy.core.dao.ViolationLogDao">
<select id="selectViolation" resultType="com.dxhy.extend.model.ViolationLogModel">
<select id="selectViolation" resultType="com.dxhy.core.entity.ViolationLogModel">
select DISTINCT t.id,t.xf_tax_no,t.penalize_date,t.break_law_type,t.break_law_method,t.input_date,d.xf_name
from t_dx_violation_taxno d right join t_dx_violation_log t on d.xf_tax_no=t.xf_tax_no
where d.company=#{company}

Loading…
Cancel
Save