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. 28
      dxhy-core/src/main/java/com/dxhy/core/job/service/impl/SupplierRiskServiceImpl.java
  5. 38
      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; package com.dxhy.core.controller;
import java.util.List; import java.text.SimpleDateFormat;
import java.util.Map; import java.util.*;
import javax.annotation.Resource; 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.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -36,6 +39,12 @@ public class InvoiceQueryController extends AbstractController {
@Resource @Resource
private CoreInvoiceQueryService coreInvoiceQueryService; 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") @JSONField(name = "ZDATA")
private List<String> ZDATA; private String ZDATA;
} }

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

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

@ -3,7 +3,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dxhy.core.dao.ViolationLogDao"> <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 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 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} where d.company=#{company}

Loading…
Cancel
Save