Merge branch 'release' into test

release
gaorl 2 years ago
commit b4fd3e8f1b
  1. 2
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/service/impl/BuyerServiceImpl.java
  2. 3
      order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java
  3. 33
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java
  4. 7
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/po/generateinvoice/sap/FpkjReqSap.java
  5. 12
      order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java

@ -469,6 +469,8 @@ public class BuyerServiceImpl implements BuyerService {
if(StringUtils.isBlank(buyerEntity.getBuyerCode())||"0000000000".equals(buyerEntity.getBuyerCode())){
String format = String.format("%s%s", sdf.format(new Date()), String.format("%6s", String.valueOf(new Random().nextInt(1000000))).replace(' ', '0'));
buyerEntity.setBuyerCode(format);
}else{
buyerEntity.setBuyerCode(String.format("%10s", buyerEntity.getBuyerCode()).replace(' ', '0'));
}
if (CollectionUtil.isNotEmpty(buyerEntity.getBuyerEntityDetail())) {
Map<String, BuyerEntityDetail> collect = buyerEntity.getBuyerEntityDetail().stream().sorted((t1,t2)->Integer.valueOf(t2.getDefaultMark()) - Integer.valueOf(t1.getDefaultMark())).collect(Collectors.toMap(t -> t.getAddress() + t.getPhone() + t.getBankName() + t.getBankAccount(), t -> t,(t1, t2) -> t2));

@ -403,7 +403,10 @@ public enum OrderInfoEnum {
* 系统来源(SAP:SAP)
*/
SYS_SOURCE_SAP("SAP","SAP"),
SYS_SOURCE_FPPAGE("FPPAGE","FPPAGE"),
SYS_SOURCE_DSXT("DSXT","DSXT"),
SYS_SOURCE_DSXT01("DSXT01","DSXT01"),
SYS_SOURCE_DSXT02("DSXT02","DSXT02"),
/**
* 订单类型0:原始订单,1:拆分后订单,2:合并后订单,3:系统冲红订单,4:自动开票订单,5:作废重开订单;6:历史数据订单;7:发票修复数据

@ -410,10 +410,16 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
log.warn("税号:{},组装请求报文为空,不进行推送数据", fpTsMqData.getNsrsbh());
continue;
}
OrderProcessInfo orderProcessInfo = null;
Map<String, String> requestMap = commonDisposeService.getRequestParameter(pushInfo.getNsrsbh(), pushInfo.getZipCode(), pushInfo.getEncryptCode(), content, pushInfo.getPushUrl(), pushInfo.getInterfaceType(), pushInfo.getVersionIdent());
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(xtly)){
fptsParam = convertToYwxtParam(fpTsMqData,xtly,content);
if (OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_1.getKey().equals(fpTsMqData.getPushType())) {
orderProcessInfo = orderProcessService.queryOrderProcessInfoByFpqqlsh(fpTsMqData.getFpTsMqData().getFpqqlsh(), null);
} else if(OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_2.getKey().equals(fpTsMqData.getPushType())){
OrderInvoiceInfo orderInvoiceInfo = orderInvoiceInfoService.selectOrderInvoiceInfoByFpdmAndFphm(fpTsMqData.getZfTsMqData().getFpdm(), fpTsMqData.getZfTsMqData().getFphm(), null);
orderProcessInfo = orderProcessService.selectByOrderId(orderInvoiceInfo.getOrderInfoId(), null);
}
if(StringUtils.isNotBlank(pushInfo.getByzd1())){
fptsParam = convertToYwxtParam(fpTsMqData,content);
}else {
fptsParam = JsonUtils.getInstance().toJsonString(requestMap);
}
@ -428,7 +434,15 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
String result = "";
if (ConfigurerInfo.INTERFACE_VERSION_V5.equals(pushInfo.getVersionIdent())
|| ConfigurerInfo.INTERFACE_VERSION_V6.equals(pushInfo.getVersionIdent())) {
if (StringUtils.isNotBlank(pushInfo.getByzd1()) && OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(pushInfo.getByzd1())) {
result = HttpUtils.sendPo(pushInfo.getPushUrl(), fptsParam,baseServiceConfig.getPoUserName(),baseServiceConfig.getPoPassword());
}else if(OrderInfoEnum.SYS_SOURCE_DSXT01.getKey().equals(orderProcessInfo.getXtly()) && StringUtils.isNotBlank(pushInfo.getByzd1())
&& pushInfo.getByzd1().equals(orderProcessInfo.getXtly())){
result = HttpUtils.sendPo(pushInfo.getPushUrl(), fptsParam,baseServiceConfig.getPoUserName(),baseServiceConfig.getPoPassword());
} else if (OrderInfoEnum.SYS_SOURCE_DSXT02.getKey().equals(orderProcessInfo.getXtly()) && StringUtils.isNotBlank(pushInfo.getByzd1())
&& pushInfo.getByzd1().equals(orderProcessInfo.getXtly())) {
result = HttpUtils.sendPo(pushInfo.getPushUrl(), fptsParam,baseServiceConfig.getPoUserName(),baseServiceConfig.getPoPassword());
}
} else {
result = HttpUtils.doPost(pushInfo.getPushUrl(), requestMap);
}
@ -1288,7 +1302,7 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
return content;
}
public String convertToYwxtParam(CommonTsMqData fpTsMqData,String xtly,String content){
public String convertToYwxtParam(CommonTsMqData fpTsMqData,String content){
String ywxtParam = "";
@ -1300,7 +1314,6 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
List<GsClient> gsClients = gsClientMapper.selectByGsdm(orderProcessInfo.getGsdm());
//发票开具推送
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(xtly)){
DdfpzxxV5 ddfpzxxV5 = JsonUtils.getInstance().parseObject(content.substring(1,content.length()-1), DdfpzxxV5.class);
DdfpxxV5 ddfpxx = ddfpzxxV5.getDDFPXX();
List<DdmxxxV5> ddmxxx = ddfpzxxV5.getDDMXXX();
@ -1308,7 +1321,7 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
FpkjtsReqSap fpkjtsReqSap = new FpkjtsReqSap();
List<FpkjtsMxSap> itemList = new ArrayList<>();
//主信息
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())){
if(!OrderInfoEnum.SYS_SOURCE_FPPAGE.getKey().equals(orderProcessInfo.getXtly())){
fpkjtsReqSap.setZJSDH(orderProcessInfo.getOriginDdh());
}else {
fpkjtsReqSap.setZJSDH("");
@ -1344,8 +1357,11 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
fpkjtsReqSap.setZGSDM(orderProcessInfo.getGsdm());
fpkjtsReqSap.setZYWDJ(orderProcessInfo.getBzdh());
fpkjtsReqSap.setIMGID(orderInvoiceInfo.getDocuId());
if(OrderInfoEnum.SYS_SOURCE_DSXT01.getKey().equals(orderProcessInfo.getXtly()) ||
OrderInfoEnum.SYS_SOURCE_DSXT02.getKey().equals(orderProcessInfo.getXtly())){
fpkjtsReqSap.setPDFZJL(ddfpxx.getPDFZJL());
fpkjtsReqSap.setZJLLX(ddfpxx.getZJLLX());
}
//明细信息
ddmxxx.stream().forEach(f -> {
FpkjtsMxSap detail = new FpkjtsMxSap();
@ -1398,13 +1414,12 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
poCommonRequestParam.setIS_INPUT(isInput);
ywxtParam = JsonUtils.getInstance().toJsonString(poCommonRequestParam);
}
}else if(OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_2.getKey().equals(fpTsMqData.getPushType())){
OrderInvoiceInfo orderInvoiceInfo = orderInvoiceInfoService.selectOrderInvoiceInfoByFpdmAndFphm(fpTsMqData.getZfTsMqData().getFpdm(), fpTsMqData.getZfTsMqData().getFphm(), null);
OrderProcessInfo orderProcessInfo = orderProcessService.selectByOrderId(orderInvoiceInfo.getOrderInfoId(), null);
List<GsClient> gsClients = gsClientMapper.selectByGsdm(orderProcessInfo.getGsdm());
//发票作废推送
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(xtly)){
ZffptsV5 zffptsV5 = JsonUtils.getInstance().parseObject(content, ZffptsV5.class);
List<FpzftsReqSap> zfList = new ArrayList<>();
FpzftsReqSap fpzftsReqSap = new FpzftsReqSap();
@ -1430,7 +1445,7 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
poCommonRequestParam.setIS_INPUT(isInput);
ywxtParam = JsonUtils.getInstance().toJsonString(poCommonRequestParam);
}
}
return ywxtParam;

@ -87,8 +87,6 @@ public class FpkjReqSap {
* 行项目结构
*/
private List<FpkjMxSap> ITITEM;
//是否为电商系统数据
private String ZDSXT;
//是否独立开票抬头
private String ZDLKPTT;
//金税开票抬头名称
@ -103,4 +101,9 @@ public class FpkjReqSap {
private String ZKPKHH;
//金税开票银行账号
private String ZKPZH;
//电商业务分类 01 表示物资公司业务
//02 表示煤炭化工业务
private String ZDSYWFL;
//是否为电商系统数据 如果为X,表示数据来自电商系统,开票完成后需要推送给电商系统开票数据及板式文件。
private String ZDSXT;
}

@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.order.baseservice.module.buyer.model.BuyerEntity;
import com.dxhy.order.baseservice.module.buyer.model.BuyerEntityDetail;
import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxCommonBO;
import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxtbReqBO;
import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEntity;
@ -2334,9 +2335,17 @@ public class BeanTransitionUtils {
*/
public static BuyerEntity createBuyerEntity(OrderInfo orderInfo, String ghfBm) {
BuyerEntity buyerEntity = new BuyerEntity();
BuyerEntityDetail entityDetail = new BuyerEntityDetail();
entityDetail.setAddress(orderInfo.getGhfDz());
entityDetail.setPhone(orderInfo.getGhfDh());
entityDetail.setBankName(orderInfo.getGhfYh());
entityDetail.setBankAccount(orderInfo.getGhfZh());
entityDetail.setDefaultMark("0");
entityDetail.setCreateTime(new Date());
/**
* 购方编码
*/
buyerEntity.setBuyerEntityDetail(Arrays.asList(entityDetail));
buyerEntity.setBuyerCode(ghfBm);
/**
* 纳税人识别号
@ -3525,6 +3534,9 @@ public class BeanTransitionUtils {
ddtxxBO.setGMFZH(req.getZKPZH());
ddtxxBO.setGMFBM("");
}
if(StringUtils.isNotBlank(req.getZDSXT()) && StringUtils.isNotBlank(req.getZDSYWFL())){
ddtxxBO.setXTLY(OrderInfoEnum.SYS_SOURCE_DSXT.getKey()+req.getZDSYWFL());
}
ddtxxBO.setGSDM(req.getBUKRS());
ddtxxBO.setENTID(deptEntity.getDeptId());
ddtxxBO.setBHZT(ConfigureConstant.STRING_0);

Loading…
Cancel
Save