Merge remote-tracking branch 'origin/release' into release

release
wangrangrang 2 years ago
commit 44eaa9bca5
  1. 4
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java
  2. 4
      order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml
  3. 3
      order-management-common/src/main/java/com/dxhy/order/constant/OrderInfoEnum.java
  4. 7
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityCodeController.java
  5. 97
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/InvoiceServiceImpl.java
  6. 261
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/manager/service/impl/PushInvoiceServiceImpl.java
  7. 2
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java
  8. 7
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/po/generateinvoice/sap/FpkjReqSap.java
  9. 3
      order-management-consumer/src/main/java/com/dxhy/order/consumer/utils/BeanTransitionUtils.java

@ -132,6 +132,10 @@ public class CommodityServiceImpl implements CommodityService {
if(commodityCodeModifyLogService.saveCommodityCodeDifferenceBetween2(commodityCodeEntities.get(0), codeEntity, userId) == -1){ if(commodityCodeModifyLogService.saveCommodityCodeDifferenceBetween2(commodityCodeEntities.get(0), codeEntity, userId) == -1){
return R.error().put(OrderManagementConstant.DATA, "数据未进行修改,无需保存"); return R.error().put(OrderManagementConstant.DATA, "数据未进行修改,无需保存");
} }
if(StringUtils.isBlank(codeEntity.getYhzcbs())|| "0".equals(codeEntity.getYhzcbs())){
codeEntity.setZzstsgl("");
codeEntity.setLslbs("");
}
codeEntity.setXhfNsrsbh(null);//不更新税号 codeEntity.setXhfNsrsbh(null);//不更新税号
codeEntity.setModifyTime(new Date()); codeEntity.setModifyTime(new Date());
codeEntity.setCreateTime(null); codeEntity.setCreateTime(null);

@ -297,10 +297,10 @@
<if test="commodityCode.ssflMc != null and commodityCode.ssflMc != ''"> <if test="commodityCode.ssflMc != null and commodityCode.ssflMc != ''">
tax_classification_name = #{commodityCode.ssflMc,jdbcType=VARCHAR}, tax_classification_name = #{commodityCode.ssflMc,jdbcType=VARCHAR},
</if> </if>
<if test="commodityCode.lslbs != null and commodityCode.lslbs != ''"> <if test="commodityCode.lslbs != null">
preferential_policies_type = #{commodityCode.lslbs,jdbcType=VARCHAR}, preferential_policies_type = #{commodityCode.lslbs,jdbcType=VARCHAR},
</if> </if>
<if test="commodityCode.zzstsgl != null and commodityCode.zzstsgl != ''"> <if test="commodityCode.zzstsgl != null">
zzstsgl = #{commodityCode.zzstsgl,jdbcType=VARCHAR}, zzstsgl = #{commodityCode.zzstsgl,jdbcType=VARCHAR},
</if> </if>
<if test="commodityCode.userId != null and commodityCode.userId != ''"> <if test="commodityCode.userId != null and commodityCode.userId != ''">

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

@ -81,7 +81,12 @@ public class GroupCommodityCodeController {
@PostMapping("/sync") @PostMapping("/sync")
public R sync(@RequestBody @Validated SyncGroupCommodityDTO dto) { public R sync(@RequestBody @Validated SyncGroupCommodityDTO dto) {
return groupCommodityCodeService.syncGroupCommodityDTO(dto); try {
return groupCommodityCodeService.syncGroupCommodityDTO(dto);
} catch (Exception e) {
e.printStackTrace();
return R.error("系统异常,请联系管理员");
}
} }
@RequestMapping("/uploadGroupCommodityDTO") @RequestMapping("/uploadGroupCommodityDTO")

@ -299,34 +299,35 @@ public class InvoiceServiceImpl implements InvoiceService {
orderSplit.stream().forEach(splitEn -> { orderSplit.stream().forEach(splitEn -> {
List<OrderItemInfo> orderItemInfo = splitEn.getOrderItemInfo(); List<OrderItemInfo> orderItemInfo = splitEn.getOrderItemInfo();
orderItemInfo.stream().forEach(splitItem -> { orderItemInfo.stream().forEach(splitItem -> {
List<OrderItemInfo> collect = commonOrderInfo.getOrderItemInfo().stream().filter(oi -> oi.getXmmc().equals(splitItem.getXmmc()) && // List<OrderItemInfo> collect = commonOrderInfo.getOrderItemInfo().stream().filter(oi -> oi.getXmmc().equals(splitItem.getXmmc()) &&
((StrUtil.isBlank(oi.getGgxh()) && StrUtil.isBlank(splitItem.getGgxh())) || oi.getGgxh().equals(splitItem.getGgxh())) && // ((StrUtil.isBlank(oi.getGgxh()) && StrUtil.isBlank(splitItem.getGgxh())) || oi.getGgxh().equals(splitItem.getGgxh())) &&
((StrUtil.isBlank(oi.getXmdw()) && StrUtil.isBlank(splitItem.getXmdw())) || oi.getXmdw().equals(splitItem.getXmdw())) && // ((StrUtil.isBlank(oi.getXmdw()) && StrUtil.isBlank(splitItem.getXmdw())) || oi.getXmdw().equals(splitItem.getXmdw())) &&
((StrUtil.isBlank(oi.getSl()) && StrUtil.isBlank(splitItem.getSl())) || oi.getSl().equals(splitItem.getSl()))).collect(Collectors.toList()); // ((StrUtil.isBlank(oi.getSl()) && StrUtil.isBlank(splitItem.getSl())) || oi.getSl().equals(splitItem.getSl()))).collect(Collectors.toList());
if (collect.size() == 1) { // if (collect.size() == 1) {
List<RuleSplitEntity> ruleSplitEntityList = ruleSplitService.queryRuleSplit(commonOrderInfo.getOrderInfo().getXhfNsrsbh(), pageInvoiceReq.getUserId()); // List<RuleSplitEntity> ruleSplitEntityList = ruleSplitService.queryRuleSplit(commonOrderInfo.getOrderInfo().getXhfNsrsbh(), pageInvoiceReq.getUserId());
log.info("税号:{},用户ID:{},查询的拆分限额信息结果:{}", commonOrderInfo.getOrderInfo().getXhfNsrsbh(), // log.info("税号:{},用户ID:{},查询的拆分限额信息结果:{}", commonOrderInfo.getOrderInfo().getXhfNsrsbh(),
pageInvoiceReq.getUserId(), JsonUtils.getInstance().toJsonString(ruleSplitEntityList)); // pageInvoiceReq.getUserId(), JsonUtils.getInstance().toJsonString(ruleSplitEntityList));
String djce = ConfigureConstant.STRING_0; // String djce = ConfigureConstant.STRING_0;
if(ruleSplitEntityList.size() != 0){ // if(ruleSplitEntityList.size() != 0){
djce = StrUtil.isBlank(ruleSplitEntityList.get(0).getDjce())?ConfigureConstant.STRING_0:ruleSplitEntityList.get(0).getDjce(); // djce = StrUtil.isBlank(ruleSplitEntityList.get(0).getDjce())?ConfigureConstant.STRING_0:ruleSplitEntityList.get(0).getDjce();
} // }
if(ObjectUtil.isNotNull(collect.get(0).getXmdj()) && StrUtil.isNotBlank(collect.get(0).getXmdj()) && // if(ObjectUtil.isNotNull(collect.get(0).getXmdj()) && StrUtil.isNotBlank(collect.get(0).getXmdj()) &&
ObjectUtil.isNotNull(splitItem.getXmdj()) && StrUtil.isNotBlank(splitItem.getXmdj())){ // ObjectUtil.isNotNull(splitItem.getXmdj()) && StrUtil.isNotBlank(splitItem.getXmdj())){
BigDecimal abs = new BigDecimal(collect.get(0).getXmdj()).subtract(new BigDecimal(splitItem.getXmdj())).abs(); // BigDecimal abs = new BigDecimal(collect.get(0).getXmdj()).subtract(new BigDecimal(splitItem.getXmdj())).abs();
if (abs.compareTo(new BigDecimal(djce)) > 0) { // if (abs.compareTo(new BigDecimal(djce)) > 0) {
Map map = new HashMap(); // Map map = new HashMap();
map.put("ddh", commonOrderInfo.getOrderInfo().getDdh()); // map.put("ddh", commonOrderInfo.getOrderInfo().getDdh());
map.put("ghfMc", commonOrderInfo.getOrderInfo().getGhfMc()); // map.put("ghfMc", commonOrderInfo.getOrderInfo().getGhfMc());
map.put("xhfMc", commonOrderInfo.getOrderInfo().getXhfMc()); // map.put("xhfMc", commonOrderInfo.getOrderInfo().getXhfMc());
map.put("jshj", commonOrderInfo.getOrderInfo().getKphjje()); // map.put("jshj", commonOrderInfo.getOrderInfo().getKphjje());
djOverflowList.add(map); // djOverflowList.add(map);
} // }
} // }
} else { // }
log.error("{}校验单价容差范围发生错误:在原结算单中未匹配到唯一明细,找到了{}条", LOGGER_MSG, collect.size()); // else {
throw new RuntimeException("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细"); // log.error("{}校验单价容差范围发生错误:在原结算单中未匹配到唯一明细,找到了{}条", LOGGER_MSG, collect.size());
} // throw new RuntimeException("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细");
// }
}); });
}); });
} }
@ -1594,25 +1595,27 @@ public class InvoiceServiceImpl implements InvoiceService {
orderInfoIdList.stream().forEach(id->{ orderInfoIdList.stream().forEach(id->{
OrderInfo orderInfo = orderInfoMapper.selectOrderInfoByOrderId(id, null); OrderInfo orderInfo = orderInfoMapper.selectOrderInfoByOrderId(id, null);
BuyerEntity buyerEntity = buyerMapper.queryBuyerInfoByGhfIdAndEntId(orderInfo.getGhfId(), orderInfo.getEntId()); BuyerEntity buyerEntity = buyerMapper.queryBuyerInfoByGhfIdAndEntId(orderInfo.getGhfId(), orderInfo.getEntId());
if (buyerEntity == null) { // if (buyerEntity == null) {
throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方信息为空,请补全!"); // throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方信息为空,请补全!");
} // }
if (OrderInfoEnum.CHECK_BANK_FLAG_YES.getKey().equals(buyerEntity.getCheckBankFlag())) { if (buyerEntity != null) {
log.info("开始校验客户信息完整"); if (OrderInfoEnum.CHECK_BANK_FLAG_YES.getKey().equals(buyerEntity.getCheckBankFlag())) {
if (StrUtil.isBlank(orderInfo.getGhfNsrsbh())) { log.info("开始校验客户信息完整");
throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方纳税人识别号为空,请补全!"); if (StrUtil.isBlank(orderInfo.getGhfNsrsbh())) {
} throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方纳税人识别号为空,请补全!");
if (StrUtil.isBlank(orderInfo.getGhfDz())) { }
throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方地址为空,请补全!"); if (StrUtil.isBlank(orderInfo.getGhfDz())) {
} throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方地址为空,请补全!");
if (StrUtil.isBlank(orderInfo.getGhfDh())) { }
throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方电话为空,请补全!"); if (StrUtil.isBlank(orderInfo.getGhfDh())) {
} throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方电话为空,请补全!");
if (StrUtil.isBlank(orderInfo.getGhfYh())) { }
throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方开户行为空,请补全!"); if (StrUtil.isBlank(orderInfo.getGhfYh())) {
} throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方开户行为空,请补全!");
if (StrUtil.isBlank(orderInfo.getGhfZh())) { }
throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方银行账号为空,请补全!"); if (StrUtil.isBlank(orderInfo.getGhfZh())) {
throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方银行账号为空,请补全!");
}
} }
} }
}); });

@ -410,10 +410,16 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
log.warn("税号:{},组装请求报文为空,不进行推送数据", fpTsMqData.getNsrsbh()); log.warn("税号:{},组装请求报文为空,不进行推送数据", fpTsMqData.getNsrsbh());
continue; continue;
} }
OrderProcessInfo orderProcessInfo = null;
Map<String, String> requestMap = commonDisposeService.getRequestParameter(pushInfo.getNsrsbh(), pushInfo.getZipCode(), pushInfo.getEncryptCode(), content, pushInfo.getPushUrl(), pushInfo.getInterfaceType(), pushInfo.getVersionIdent()); 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)){ if (OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_1.getKey().equals(fpTsMqData.getPushType())) {
fptsParam = convertToYwxtParam(fpTsMqData,xtly,content); 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 { }else {
fptsParam = JsonUtils.getInstance().toJsonString(requestMap); fptsParam = JsonUtils.getInstance().toJsonString(requestMap);
} }
@ -428,7 +434,15 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
String result = ""; String result = "";
if (ConfigurerInfo.INTERFACE_VERSION_V5.equals(pushInfo.getVersionIdent()) if (ConfigurerInfo.INTERFACE_VERSION_V5.equals(pushInfo.getVersionIdent())
|| ConfigurerInfo.INTERFACE_VERSION_V6.equals(pushInfo.getVersionIdent())) { || ConfigurerInfo.INTERFACE_VERSION_V6.equals(pushInfo.getVersionIdent())) {
result = HttpUtils.sendPo(pushInfo.getPushUrl(), fptsParam,baseServiceConfig.getPoUserName(),baseServiceConfig.getPoPassword()); 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 { } else {
result = HttpUtils.doPost(pushInfo.getPushUrl(), requestMap); result = HttpUtils.doPost(pushInfo.getPushUrl(), requestMap);
} }
@ -1288,7 +1302,7 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
return content; return content;
} }
public String convertToYwxtParam(CommonTsMqData fpTsMqData,String xtly,String content){ public String convertToYwxtParam(CommonTsMqData fpTsMqData,String content){
String ywxtParam = ""; String ywxtParam = "";
@ -1300,137 +1314,138 @@ public class PushInvoiceServiceImpl implements PushInvoiceService {
List<GsClient> gsClients = gsClientMapper.selectByGsdm(orderProcessInfo.getGsdm()); 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);
DdfpzxxV5 ddfpzxxV5 = JsonUtils.getInstance().parseObject(content.substring(1,content.length()-1), DdfpzxxV5.class); DdfpxxV5 ddfpxx = ddfpzxxV5.getDDFPXX();
DdfpxxV5 ddfpxx = ddfpzxxV5.getDDFPXX(); List<DdmxxxV5> ddmxxx = ddfpzxxV5.getDDMXXX();
List<DdmxxxV5> ddmxxx = ddfpzxxV5.getDDMXXX(); List<FpkjtsReqSap> mainList = new ArrayList<>();
List<FpkjtsReqSap> mainList = new ArrayList<>(); FpkjtsReqSap fpkjtsReqSap = new FpkjtsReqSap();
FpkjtsReqSap fpkjtsReqSap = new FpkjtsReqSap(); List<FpkjtsMxSap> itemList = new ArrayList<>();
List<FpkjtsMxSap> itemList = new ArrayList<>(); //主信息
if(!OrderInfoEnum.SYS_SOURCE_FPPAGE.getKey().equals(orderProcessInfo.getXtly())){
fpkjtsReqSap.setZJSDH(orderProcessInfo.getOriginDdh());
}else {
fpkjtsReqSap.setZJSDH("");
}
fpkjtsReqSap.setZFPDM(ddfpxx.getFPDM());
fpkjtsReqSap.setZFPHM(ddfpxx.getFPHM());
fpkjtsReqSap.setZFPLX(CommonUtils.transToSnFplxdm(ddfpxx.getFPLXDM()));
fpkjtsReqSap.setZXFBM(ddfpxx.getXHFSBH());
fpkjtsReqSap.setZGFBH(ddfpxx.getGMFSBH());
fpkjtsReqSap.setZBHSJEY(ddfpxx.getHJJE());
fpkjtsReqSap.setZZSEY(ddfpxx.getHJSE());
fpkjtsReqSap.setZHSJEY(ddfpxx.getJSHJ());
fpkjtsReqSap.setZZBZ(ddfpxx.getBZ());
fpkjtsReqSap.setZFPZT(ConfigureConstant.STRING_0);//0-正常、1-作废
String formatKprq = "";
try {
Date date = (Date) new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ddfpxx.getKPRQ());
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
formatKprq = sdf.format(date);
}catch (Exception e){
log.error("{}发票推送SAP格式化开票日期错误:{}",LOGGER_MSG,e);
}
fpkjtsReqSap.setZKPRQ(formatKprq);
fpkjtsReqSap.setZGFMC(ddfpxx.getGMFMC());
fpkjtsReqSap.setZGFSH(ddfpxx.getGMFSBH());
fpkjtsReqSap.setZXFMC(ddfpxx.getXHFMC());
fpkjtsReqSap.setZXFSH(ddfpxx.getXHFSBH());
fpkjtsReqSap.setZTID(ddfpxx.getFPDM()+ddfpxx.getFPHM()+ddfpxx.getFPLXDM());
fpkjtsReqSap.setZGFZH(ddfpxx.getGMFZH());
fpkjtsReqSap.setZGFDH(ddfpxx.getGMFDH());
fpkjtsReqSap.setZXFDH(ddfpxx.getXHFDH());
fpkjtsReqSap.setZXFZH(ddfpxx.getXHFZH());
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();
//主信息 //主信息
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())){ if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())){
fpkjtsReqSap.setZJSDH(orderProcessInfo.getOriginDdh()); detail.setZJSDH(orderProcessInfo.getOriginDdh());
}else { }else {
fpkjtsReqSap.setZJSDH(""); detail.setZJSDH("");
}
fpkjtsReqSap.setZFPDM(ddfpxx.getFPDM());
fpkjtsReqSap.setZFPHM(ddfpxx.getFPHM());
fpkjtsReqSap.setZFPLX(CommonUtils.transToSnFplxdm(ddfpxx.getFPLXDM()));
fpkjtsReqSap.setZXFBM(ddfpxx.getXHFSBH());
fpkjtsReqSap.setZGFBH(ddfpxx.getGMFSBH());
fpkjtsReqSap.setZBHSJEY(ddfpxx.getHJJE());
fpkjtsReqSap.setZZSEY(ddfpxx.getHJSE());
fpkjtsReqSap.setZHSJEY(ddfpxx.getJSHJ());
fpkjtsReqSap.setZZBZ(ddfpxx.getBZ());
fpkjtsReqSap.setZFPZT(ConfigureConstant.STRING_0);//0-正常、1-作废
String formatKprq = "";
try {
Date date = (Date) new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ddfpxx.getKPRQ());
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
formatKprq = sdf.format(date);
}catch (Exception e){
log.error("{}发票推送SAP格式化开票日期错误:{}",LOGGER_MSG,e);
} }
fpkjtsReqSap.setZKPRQ(formatKprq);
fpkjtsReqSap.setZGFMC(ddfpxx.getGMFMC());
fpkjtsReqSap.setZGFSH(ddfpxx.getGMFSBH());
fpkjtsReqSap.setZXFMC(ddfpxx.getXHFMC());
fpkjtsReqSap.setZXFSH(ddfpxx.getXHFSBH());
fpkjtsReqSap.setZTID(ddfpxx.getFPDM()+ddfpxx.getFPHM()+ddfpxx.getFPLXDM());
fpkjtsReqSap.setZGFZH(ddfpxx.getGMFZH());
fpkjtsReqSap.setZGFDH(ddfpxx.getGMFDH());
fpkjtsReqSap.setZXFDH(ddfpxx.getXHFDH());
fpkjtsReqSap.setZXFZH(ddfpxx.getXHFZH());
fpkjtsReqSap.setZGSDM(orderProcessInfo.getGsdm());
fpkjtsReqSap.setZYWDJ(orderProcessInfo.getBzdh());
fpkjtsReqSap.setIMGID(orderInvoiceInfo.getDocuId());
fpkjtsReqSap.setPDFZJL(ddfpxx.getPDFZJL());
fpkjtsReqSap.setZJLLX(ddfpxx.getZJLLX());
//明细信息
ddmxxx.stream().forEach(f -> {
FpkjtsMxSap detail = new FpkjtsMxSap();
//主信息
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())){
detail.setZJSDH(orderProcessInfo.getOriginDdh());
}else {
detail.setZJSDH("");
}
// detail.setZJSDH(ddfpxx.getDDH()); // detail.setZJSDH(ddfpxx.getDDH());
detail.setZFPDM(ddfpxx.getFPDM()); detail.setZFPDM(ddfpxx.getFPDM());
detail.setZFPHM(ddfpxx.getFPHM()); detail.setZFPHM(ddfpxx.getFPHM());
detail.setZFPHH(f.getXH()); detail.setZFPHH(f.getXH());
if(ObjectUtil.isNull(f.getZXBM()) || StrUtil.isBlank(f.getZXBM())){ if(ObjectUtil.isNull(f.getZXBM()) || StrUtil.isBlank(f.getZXBM())){
detail.setMATNR(""); detail.setMATNR("");
}else { }else {
// DecimalFormat g1=new DecimalFormat("000000000000000000"); // DecimalFormat g1=new DecimalFormat("000000000000000000");
detail.setMATNR(f.getZXBM()); detail.setMATNR(f.getZXBM());
} }
detail.setZGGXH(f.getGGXH()); detail.setZGGXH(f.getGGXH());
detail.setZSLDW(f.getDW()); detail.setZSLDW(f.getDW());
detail.setZZSL(f.getSPSL()); detail.setZZSL(f.getSPSL());
detail.setZTAX(new BigDecimal(f.getSL()).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString()); detail.setZTAX(new BigDecimal(f.getSL()).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString());
detail.setZBHSJEY(f.getJE()); detail.setZBHSJEY(f.getJE());
detail.setZZSEY(f.getSE()); detail.setZZSEY(f.getSE());
detail.setZHSJEY(new BigDecimal(f.getJE()).add(new BigDecimal(f.getSE())).toString()); detail.setZHSJEY(new BigDecimal(f.getJE()).add(new BigDecimal(f.getSE())).toString());
if(StrUtil.isBlank(f.getDJ())){ if(StrUtil.isBlank(f.getDJ())){
detail.setZZDJFP(""); detail.setZZDJFP("");
}else { }else {
detail.setZZDJFP(f.getDJ()); detail.setZZDJFP(f.getDJ());
// detail.setZZDJFP(new BigDecimal(f.getDJ()).multiply(new BigDecimal(f.getSL()).add(BigDecimal.ONE)).setScale(ConfigureConstant.INT_8,BigDecimal.ROUND_HALF_EVEN).toString()); // detail.setZZDJFP(new BigDecimal(f.getDJ()).multiply(new BigDecimal(f.getSL()).add(BigDecimal.ONE)).setScale(ConfigureConstant.INT_8,BigDecimal.ROUND_HALF_EVEN).toString());
} }
detail.setINVOICEDATE(ddfpxx.getKPRQ()); detail.setINVOICEDATE(ddfpxx.getKPRQ());
detail.setINVOICETYPE(ddfpxx.getFPLXDM()); detail.setINVOICETYPE(ddfpxx.getFPLXDM());
detail.setZHWMC(f.getXMMC()); detail.setZHWMC(f.getXMMC());
detail.setZSM(ObjectUtil.isNull(smMap.get(f.getSL()))?"":smMap.get(f.getSL()).toString()); detail.setZSM(ObjectUtil.isNull(smMap.get(f.getSL()))?"":smMap.get(f.getSL()).toString());
itemList.add(detail); itemList.add(detail);
}); });
fpkjtsReqSap.setITITEM(itemList); fpkjtsReqSap.setITITEM(itemList);
IsInput isInput = new IsInput(); IsInput isInput = new IsInput();
isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey()); isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey());
isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPKJTS.getKey()); isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPKJTS.getKey());
isInput.setBSKEY(apiInvoiceCommonMapperService.getGenerateShotKey()); isInput.setBSKEY(apiInvoiceCommonMapperService.getGenerateShotKey());
isInput.setZORG(""); isInput.setZORG("");
isInput.setZFILED5(gsClients.size()>0?gsClients.get(0).getClient():""); isInput.setZFILED5(gsClients.size()>0?gsClients.get(0).getClient():"");
mainList.add(fpkjtsReqSap); mainList.add(fpkjtsReqSap);
String jsonString = JsonUtils.getInstance().toJsonString(mainList); String jsonString = JsonUtils.getInstance().toJsonString(mainList);
isInput.setZDATA(jsonString); isInput.setZDATA(jsonString);
PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam(); PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam();
poCommonRequestParam.setIS_INPUT(isInput); poCommonRequestParam.setIS_INPUT(isInput);
ywxtParam = JsonUtils.getInstance().toJsonString(poCommonRequestParam); ywxtParam = JsonUtils.getInstance().toJsonString(poCommonRequestParam);
}
}else if(OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_2.getKey().equals(fpTsMqData.getPushType())){ }else if(OrderInfoEnum.INTERFACE_TYPE_INVOICE_PUSH_STATUS_2.getKey().equals(fpTsMqData.getPushType())){
OrderInvoiceInfo orderInvoiceInfo = orderInvoiceInfoService.selectOrderInvoiceInfoByFpdmAndFphm(fpTsMqData.getZfTsMqData().getFpdm(), fpTsMqData.getZfTsMqData().getFphm(), null); OrderInvoiceInfo orderInvoiceInfo = orderInvoiceInfoService.selectOrderInvoiceInfoByFpdmAndFphm(fpTsMqData.getZfTsMqData().getFpdm(), fpTsMqData.getZfTsMqData().getFphm(), null);
OrderProcessInfo orderProcessInfo = orderProcessService.selectByOrderId(orderInvoiceInfo.getOrderInfoId(), null); OrderProcessInfo orderProcessInfo = orderProcessService.selectByOrderId(orderInvoiceInfo.getOrderInfoId(), null);
List<GsClient> gsClients = gsClientMapper.selectByGsdm(orderProcessInfo.getGsdm()); List<GsClient> gsClients = gsClientMapper.selectByGsdm(orderProcessInfo.getGsdm());
//发票作废推送 //发票作废推送
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(xtly)){ ZffptsV5 zffptsV5 = JsonUtils.getInstance().parseObject(content, ZffptsV5.class);
ZffptsV5 zffptsV5 = JsonUtils.getInstance().parseObject(content, ZffptsV5.class); List<FpzftsReqSap> zfList = new ArrayList<>();
List<FpzftsReqSap> zfList = new ArrayList<>(); FpzftsReqSap fpzftsReqSap = new FpzftsReqSap();
FpzftsReqSap fpzftsReqSap = new FpzftsReqSap(); fpzftsReqSap.setZFPDM(zffptsV5.getFPDM());
fpzftsReqSap.setZFPDM(zffptsV5.getFPDM()); fpzftsReqSap.setZFPHM(zffptsV5.getFPHM());
fpzftsReqSap.setZFPHM(zffptsV5.getFPHM()); //0 是正常 1是作废
//0 是正常 1是作废 fpzftsReqSap.setZFPZT(ConfigureConstant.STRING_1);
fpzftsReqSap.setZFPZT(ConfigureConstant.STRING_1); if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())){
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())){ fpzftsReqSap.setZJSDH(orderProcessInfo.getOriginDdh());
fpzftsReqSap.setZJSDH(orderProcessInfo.getOriginDdh()); }else {
}else { fpzftsReqSap.setZBZDH(orderProcessInfo.getBzdh());
fpzftsReqSap.setZBZDH(orderProcessInfo.getBzdh());
}
IsInput isInput = new IsInput();
isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey());
isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPZFTS.getKey());
isInput.setBSKEY(apiInvoiceCommonMapperService.getGenerateShotKey());
isInput.setZORG("");
isInput.setZFILED5(gsClients.size()>0?gsClients.get(0).getClient():"");
zfList.add(fpzftsReqSap);
String jsonString = JsonUtils.getInstance().toJsonString(zfList);
isInput.setZDATA(jsonString);
PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam();
poCommonRequestParam.setIS_INPUT(isInput);
ywxtParam = JsonUtils.getInstance().toJsonString(poCommonRequestParam);
} }
IsInput isInput = new IsInput();
isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey());
isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPZFTS.getKey());
isInput.setBSKEY(apiInvoiceCommonMapperService.getGenerateShotKey());
isInput.setZORG("");
isInput.setZFILED5(gsClients.size()>0?gsClients.get(0).getClient():"");
zfList.add(fpzftsReqSap);
String jsonString = JsonUtils.getInstance().toJsonString(zfList);
isInput.setZDATA(jsonString);
PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam();
poCommonRequestParam.setIS_INPUT(isInput);
ywxtParam = JsonUtils.getInstance().toJsonString(poCommonRequestParam);
} }
return ywxtParam; return ywxtParam;

@ -269,7 +269,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
BuyerEntity buyerEntity = buyerMapper.queryBuyerInfoByGhfIdAndEntId(orderInfo.getGhfId(), orderInfo.getEntId()); BuyerEntity buyerEntity = buyerMapper.queryBuyerInfoByGhfIdAndEntId(orderInfo.getGhfId(), orderInfo.getEntId());
if (buyerEntity == null) { if (buyerEntity == null) {
log.error("{}查询原始订单客户信息为空,id为:{}", LOGGER_MSG, orderProcessInfo.getOrderInfoId()); log.error("{}查询原始订单客户信息为空,id为:{}", LOGGER_MSG, orderProcessInfo.getOrderInfoId());
oderDetailInfo.setCheckBankFlag(OrderInfoEnum.CHECK_BANK_FLAG_YES.getKey()); oderDetailInfo.setCheckBankFlag(OrderInfoEnum.CHECK_BANK_FLAG_NO.getKey());
} else { } else {
oderDetailInfo.setCheckBankFlag(buyerEntity.getCheckBankFlag()); oderDetailInfo.setCheckBankFlag(buyerEntity.getCheckBankFlag());
} }

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

@ -3534,6 +3534,9 @@ public class BeanTransitionUtils {
ddtxxBO.setGMFZH(req.getZKPZH()); ddtxxBO.setGMFZH(req.getZKPZH());
ddtxxBO.setGMFBM(""); 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.setGSDM(req.getBUKRS());
ddtxxBO.setENTID(deptEntity.getDeptId()); ddtxxBO.setENTID(deptEntity.getDeptId());
ddtxxBO.setBHZT(ConfigureConstant.STRING_0); ddtxxBO.setBHZT(ConfigureConstant.STRING_0);

Loading…
Cancel
Save