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){
return R.error().put(OrderManagementConstant.DATA, "数据未进行修改,无需保存");
}
if(StringUtils.isBlank(codeEntity.getYhzcbs())|| "0".equals(codeEntity.getYhzcbs())){
codeEntity.setZzstsgl("");
codeEntity.setLslbs("");
}
codeEntity.setXhfNsrsbh(null);//不更新税号
codeEntity.setModifyTime(new Date());
codeEntity.setCreateTime(null);

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

@ -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:发票修复数据

@ -81,7 +81,12 @@ public class GroupCommodityCodeController {
@PostMapping("/sync")
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")

@ -299,34 +299,35 @@ public class InvoiceServiceImpl implements InvoiceService {
orderSplit.stream().forEach(splitEn -> {
List<OrderItemInfo> orderItemInfo = splitEn.getOrderItemInfo();
orderItemInfo.stream().forEach(splitItem -> {
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.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());
if (collect.size() == 1) {
List<RuleSplitEntity> ruleSplitEntityList = ruleSplitService.queryRuleSplit(commonOrderInfo.getOrderInfo().getXhfNsrsbh(), pageInvoiceReq.getUserId());
log.info("税号:{},用户ID:{},查询的拆分限额信息结果:{}", commonOrderInfo.getOrderInfo().getXhfNsrsbh(),
pageInvoiceReq.getUserId(), JsonUtils.getInstance().toJsonString(ruleSplitEntityList));
String djce = ConfigureConstant.STRING_0;
if(ruleSplitEntityList.size() != 0){
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()) &&
ObjectUtil.isNotNull(splitItem.getXmdj()) && StrUtil.isNotBlank(splitItem.getXmdj())){
BigDecimal abs = new BigDecimal(collect.get(0).getXmdj()).subtract(new BigDecimal(splitItem.getXmdj())).abs();
if (abs.compareTo(new BigDecimal(djce)) > 0) {
Map map = new HashMap();
map.put("ddh", commonOrderInfo.getOrderInfo().getDdh());
map.put("ghfMc", commonOrderInfo.getOrderInfo().getGhfMc());
map.put("xhfMc", commonOrderInfo.getOrderInfo().getXhfMc());
map.put("jshj", commonOrderInfo.getOrderInfo().getKphjje());
djOverflowList.add(map);
}
}
} else {
log.error("{}校验单价容差范围发生错误:在原结算单中未匹配到唯一明细,找到了{}条", LOGGER_MSG, collect.size());
throw new RuntimeException("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细");
}
// 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.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());
// if (collect.size() == 1) {
// List<RuleSplitEntity> ruleSplitEntityList = ruleSplitService.queryRuleSplit(commonOrderInfo.getOrderInfo().getXhfNsrsbh(), pageInvoiceReq.getUserId());
// log.info("税号:{},用户ID:{},查询的拆分限额信息结果:{}", commonOrderInfo.getOrderInfo().getXhfNsrsbh(),
// pageInvoiceReq.getUserId(), JsonUtils.getInstance().toJsonString(ruleSplitEntityList));
// String djce = ConfigureConstant.STRING_0;
// if(ruleSplitEntityList.size() != 0){
// 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()) &&
// ObjectUtil.isNotNull(splitItem.getXmdj()) && StrUtil.isNotBlank(splitItem.getXmdj())){
// BigDecimal abs = new BigDecimal(collect.get(0).getXmdj()).subtract(new BigDecimal(splitItem.getXmdj())).abs();
// if (abs.compareTo(new BigDecimal(djce)) > 0) {
// Map map = new HashMap();
// map.put("ddh", commonOrderInfo.getOrderInfo().getDdh());
// map.put("ghfMc", commonOrderInfo.getOrderInfo().getGhfMc());
// map.put("xhfMc", commonOrderInfo.getOrderInfo().getXhfMc());
// map.put("jshj", commonOrderInfo.getOrderInfo().getKphjje());
// djOverflowList.add(map);
// }
// }
// }
// else {
// log.error("{}校验单价容差范围发生错误:在原结算单中未匹配到唯一明细,找到了{}条", LOGGER_MSG, collect.size());
// throw new RuntimeException("校验单价容差范围发生错误:在原结算单中未匹配到唯一明细");
// }
});
});
}
@ -1594,25 +1595,27 @@ public class InvoiceServiceImpl implements InvoiceService {
orderInfoIdList.stream().forEach(id->{
OrderInfo orderInfo = orderInfoMapper.selectOrderInfoByOrderId(id, null);
BuyerEntity buyerEntity = buyerMapper.queryBuyerInfoByGhfIdAndEntId(orderInfo.getGhfId(), orderInfo.getEntId());
if (buyerEntity == null) {
throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方信息为空,请补全!");
}
if (OrderInfoEnum.CHECK_BANK_FLAG_YES.getKey().equals(buyerEntity.getCheckBankFlag())) {
log.info("开始校验客户信息完整");
if (StrUtil.isBlank(orderInfo.getGhfNsrsbh())) {
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.getGhfYh())) {
throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方开户行为空,请补全!");
}
if (StrUtil.isBlank(orderInfo.getGhfZh())) {
throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方银行账号为空,请补全!");
// if (buyerEntity == null) {
// throw new RuntimeException("结算单:"+orderInfo.getDdh()+"购方信息为空,请补全!");
// }
if (buyerEntity != null) {
if (OrderInfoEnum.CHECK_BANK_FLAG_YES.getKey().equals(buyerEntity.getCheckBankFlag())) {
log.info("开始校验客户信息完整");
if (StrUtil.isBlank(orderInfo.getGhfNsrsbh())) {
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.getGhfYh())) {
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());
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())) {
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 {
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,137 +1314,138 @@ 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();
List<FpkjtsReqSap> mainList = new ArrayList<>();
FpkjtsReqSap fpkjtsReqSap = new FpkjtsReqSap();
List<FpkjtsMxSap> itemList = new ArrayList<>();
DdfpzxxV5 ddfpzxxV5 = JsonUtils.getInstance().parseObject(content.substring(1,content.length()-1), DdfpzxxV5.class);
DdfpxxV5 ddfpxx = ddfpzxxV5.getDDFPXX();
List<DdmxxxV5> ddmxxx = ddfpzxxV5.getDDMXXX();
List<FpkjtsReqSap> mainList = new ArrayList<>();
FpkjtsReqSap fpkjtsReqSap = new FpkjtsReqSap();
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())){
fpkjtsReqSap.setZJSDH(orderProcessInfo.getOriginDdh());
detail.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);
detail.setZJSDH("");
}
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.setZFPDM(ddfpxx.getFPDM());
detail.setZFPHM(ddfpxx.getFPHM());
detail.setZFPHH(f.getXH());
if(ObjectUtil.isNull(f.getZXBM()) || StrUtil.isBlank(f.getZXBM())){
detail.setMATNR("");
}else {
detail.setZFPDM(ddfpxx.getFPDM());
detail.setZFPHM(ddfpxx.getFPHM());
detail.setZFPHH(f.getXH());
if(ObjectUtil.isNull(f.getZXBM()) || StrUtil.isBlank(f.getZXBM())){
detail.setMATNR("");
}else {
// DecimalFormat g1=new DecimalFormat("000000000000000000");
detail.setMATNR(f.getZXBM());
}
detail.setZGGXH(f.getGGXH());
detail.setZSLDW(f.getDW());
detail.setZZSL(f.getSPSL());
detail.setZTAX(new BigDecimal(f.getSL()).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString());
detail.setZBHSJEY(f.getJE());
detail.setZZSEY(f.getSE());
detail.setZHSJEY(new BigDecimal(f.getJE()).add(new BigDecimal(f.getSE())).toString());
if(StrUtil.isBlank(f.getDJ())){
detail.setZZDJFP("");
}else {
detail.setZZDJFP(f.getDJ());
detail.setMATNR(f.getZXBM());
}
detail.setZGGXH(f.getGGXH());
detail.setZSLDW(f.getDW());
detail.setZZSL(f.getSPSL());
detail.setZTAX(new BigDecimal(f.getSL()).multiply(new BigDecimal("100")).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString());
detail.setZBHSJEY(f.getJE());
detail.setZZSEY(f.getSE());
detail.setZHSJEY(new BigDecimal(f.getJE()).add(new BigDecimal(f.getSE())).toString());
if(StrUtil.isBlank(f.getDJ())){
detail.setZZDJFP("");
}else {
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.setINVOICEDATE(ddfpxx.getKPRQ());
detail.setINVOICETYPE(ddfpxx.getFPLXDM());
detail.setZHWMC(f.getXMMC());
detail.setZSM(ObjectUtil.isNull(smMap.get(f.getSL()))?"":smMap.get(f.getSL()).toString());
itemList.add(detail);
});
fpkjtsReqSap.setITITEM(itemList);
IsInput isInput = new IsInput();
isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey());
isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPKJTS.getKey());
isInput.setBSKEY(apiInvoiceCommonMapperService.getGenerateShotKey());
isInput.setZORG("");
isInput.setZFILED5(gsClients.size()>0?gsClients.get(0).getClient():"");
mainList.add(fpkjtsReqSap);
String jsonString = JsonUtils.getInstance().toJsonString(mainList);
isInput.setZDATA(jsonString);
PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam();
poCommonRequestParam.setIS_INPUT(isInput);
ywxtParam = JsonUtils.getInstance().toJsonString(poCommonRequestParam);
}
}
detail.setINVOICEDATE(ddfpxx.getKPRQ());
detail.setINVOICETYPE(ddfpxx.getFPLXDM());
detail.setZHWMC(f.getXMMC());
detail.setZSM(ObjectUtil.isNull(smMap.get(f.getSL()))?"":smMap.get(f.getSL()).toString());
itemList.add(detail);
});
fpkjtsReqSap.setITITEM(itemList);
IsInput isInput = new IsInput();
isInput.setSYSID(OrderInfoEnum.SYS_SIGN_FP.getKey());
isInput.setIFYWID(OrderInfoEnum.INTERFACE_BUSINESS_ID_FPKJTS.getKey());
isInput.setBSKEY(apiInvoiceCommonMapperService.getGenerateShotKey());
isInput.setZORG("");
isInput.setZFILED5(gsClients.size()>0?gsClients.get(0).getClient():"");
mainList.add(fpkjtsReqSap);
String jsonString = JsonUtils.getInstance().toJsonString(mainList);
isInput.setZDATA(jsonString);
PoCommonRequestParam poCommonRequestParam = new PoCommonRequestParam();
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();
fpzftsReqSap.setZFPDM(zffptsV5.getFPDM());
fpzftsReqSap.setZFPHM(zffptsV5.getFPHM());
//0 是正常 1是作废
fpzftsReqSap.setZFPZT(ConfigureConstant.STRING_1);
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())){
fpzftsReqSap.setZJSDH(orderProcessInfo.getOriginDdh());
}else {
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);
ZffptsV5 zffptsV5 = JsonUtils.getInstance().parseObject(content, ZffptsV5.class);
List<FpzftsReqSap> zfList = new ArrayList<>();
FpzftsReqSap fpzftsReqSap = new FpzftsReqSap();
fpzftsReqSap.setZFPDM(zffptsV5.getFPDM());
fpzftsReqSap.setZFPHM(zffptsV5.getFPHM());
//0 是正常 1是作废
fpzftsReqSap.setZFPZT(ConfigureConstant.STRING_1);
if(OrderInfoEnum.SYS_SOURCE_SAP.getKey().equals(orderProcessInfo.getXtly())){
fpzftsReqSap.setZJSDH(orderProcessInfo.getOriginDdh());
}else {
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);
}
return ywxtParam;

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

@ -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;
}

@ -3534,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