|
|
|
@ -1654,4 +1654,159 @@ public class OrderInfoServiceImpl implements OrderInfoService { |
|
|
|
|
pageKySlRsp.setSlMc(orderInfoEnum.getValue()); |
|
|
|
|
return pageKySlRsp; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 红字信息表不存在清单的,对比订单和红字信息表 |
|
|
|
|
* @param order , hzxxb |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
private Map<String,String> compareOrderAndHzxxb(CommonOrderInfo order,CommonOrderInfo hzxxb) { |
|
|
|
|
OrderInfo orderOrderInfo = order.getOrderInfo(); |
|
|
|
|
OrderInfo hzxxbOrderInfo = hzxxb.getOrderInfo(); |
|
|
|
|
StringBuffer errorMsg = new StringBuffer(); |
|
|
|
|
Map<String,String> returnMap = new HashMap<>(); |
|
|
|
|
returnMap.put("code","0000"); |
|
|
|
|
returnMap.put("msg","success"); |
|
|
|
|
Map<String, String> gxfCheckMap = compareOrderAndHzxxbGXF(order, hzxxb); |
|
|
|
|
if("9999".equals(gxfCheckMap.get("code"))){ |
|
|
|
|
errorMsg.append(gxfCheckMap.get("msg")); |
|
|
|
|
} |
|
|
|
|
log.info("订单明细{}",JsonUtils.getInstance().toJsonString(order.getOrderItemInfo())); |
|
|
|
|
log.info("红字信息表明细{}",JsonUtils.getInstance().toJsonString(hzxxb.getOrderItemInfo())); |
|
|
|
|
if(hzxxb.getOrderItemInfo().size()!=order.getOrderItemInfo().size()){ |
|
|
|
|
errorMsg.append("红字信息表明细条数和订单明细条数不一致,红字信息表明细条数:"+hzxxb.getOrderItemInfo().size()+"订单明细条数:"+order.getOrderItemInfo().size()); |
|
|
|
|
returnMap.put("code","9999"); |
|
|
|
|
returnMap.put("msg",errorMsg.toString()); |
|
|
|
|
return returnMap; |
|
|
|
|
} |
|
|
|
|
hzxxb.getOrderItemInfo().stream().forEach(hzxxbItem ->{ |
|
|
|
|
List<OrderItemInfo> filterItem= new ArrayList<>(); |
|
|
|
|
BigDecimal hzxxbJshj = new BigDecimal(hzxxbItem.getXmje()).add(new BigDecimal(hzxxbItem.getSe())); |
|
|
|
|
for(OrderItemInfo orderItemInfo :order.getOrderItemInfo()){ |
|
|
|
|
BigDecimal orderJshj = new BigDecimal(orderItemInfo.getXmje()).add(new BigDecimal(orderItemInfo.getSe())); |
|
|
|
|
if(hzxxbJshj.compareTo(orderJshj)==0 && hzxxbItem.getXmmc().contains(orderItemInfo.getXmmc()) && orderItemInfo.getSl().equals(hzxxbItem.getSl())){ |
|
|
|
|
filterItem.add(orderItemInfo); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if(filterItem.size() == 0){ |
|
|
|
|
errorMsg.append("红字信息表明细[").append(hzxxbItem.getXmmc()).append("-").append(hzxxbItem.getGgxh()).append("-").append(hzxxbItem.getSl()).append("-").append(hzxxbItem.getXmdj()).append("],在订单中未匹配到对应明细;"); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
/* |
|
|
|
|
hzxxb.getOrderItemInfo().stream().forEach(hzxxbItem -> { |
|
|
|
|
List<OrderItemInfo> filterItem = order.getOrderItemInfo().stream().filter(orderItem ->hzxxbItem.getXmmc().contains(orderItem.getXmmc()) && |
|
|
|
|
((ObjectUtil.isNotNull(orderItem.getGgxh()) && ObjectUtil.isNotNull(hzxxbItem.getGgxh()) && orderItem.getGgxh().equals(hzxxbItem.getGgxh())) || (ObjectUtil.isNull(hzxxbItem.getGgxh()) && ObjectUtil.isNull(orderItem.getGgxh()))) && orderItem.getSl().equals(hzxxbItem.getSl()) && |
|
|
|
|
((ObjectUtil.isNotNull(orderItem.getXmdj()) && ObjectUtil.isNotNull(hzxxbItem.getXmdj()) && orderItem.getXmdj().equals(hzxxbItem.getXmdj())) || (ObjectUtil.isNull(hzxxbItem.getXmdj()) && ObjectUtil.isNull(orderItem.getXmdj())))).collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
|
if(filterItem.size() == 0){ |
|
|
|
|
errorMsg.append("红字信息表明细[").append(hzxxbItem.getXmmc()).append("-").append(hzxxbItem.getGgxh()).append("-").append(hzxxbItem.getSl()).append("-").append(hzxxbItem.getXmdj()).append("],在订单中未匹配到对应明细;"); |
|
|
|
|
}else { |
|
|
|
|
OrderItemInfo oii = filterItem.get(0); |
|
|
|
|
if(!hzxxbItem.getXmdw().equals(oii.getXmdw())){ |
|
|
|
|
errorMsg.append("红字信息表明细[").append(hzxxbItem.getXmmc()).append("-").append(hzxxbItem.getGgxh()).append("-").append(hzxxbItem.getSl()).append("-").append(hzxxbItem.getXmdj()).append("],单位与订单中的单位不匹配;"); |
|
|
|
|
} |
|
|
|
|
if(!hzxxbItem.getXmsl().equals(oii.getXmsl())){ |
|
|
|
|
errorMsg.append("红字信息表明细[").append(hzxxbItem.getXmmc()).append("-").append(hzxxbItem.getGgxh()).append("-").append(hzxxbItem.getSl()).append("-").append(hzxxbItem.getXmdj()).append("],数量与订单中的数量不匹配;"); |
|
|
|
|
} |
|
|
|
|
if(new BigDecimal(hzxxbItem.getXmje()).compareTo(new BigDecimal(oii.getXmje())) != 0){ |
|
|
|
|
errorMsg.append("红字信息表明细[").append(hzxxbItem.getXmmc()).append("-").append(hzxxbItem.getGgxh()).append("-").append(hzxxbItem.getSl()).append("-").append(hzxxbItem.getXmdj()).append("],金额与订单中的金额不匹配;"); |
|
|
|
|
} |
|
|
|
|
if(new BigDecimal(hzxxbItem.getSe()).compareTo(new BigDecimal(oii.getSe())) != 0){ |
|
|
|
|
errorMsg.append("红字信息表明细[").append(hzxxbItem.getXmmc()).append("-").append(hzxxbItem.getGgxh()).append("-").append(hzxxbItem.getSl()).append("-").append(hzxxbItem.getXmdj()).append("],税额与订单中的税额不匹配;"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
*/ |
|
|
|
|
if(errorMsg.length() > 0){ |
|
|
|
|
returnMap.put("code","9999"); |
|
|
|
|
returnMap.put("msg",errorMsg.toString()); |
|
|
|
|
} |
|
|
|
|
return returnMap; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 红字信息表存在清单的,对比订单和红字信息表 |
|
|
|
|
* @param order , hzxxb |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
private Map<String,String> compareOrderAndHzxxbQd(CommonOrderInfo order,CommonOrderInfo hzxxb) { |
|
|
|
|
OrderInfo orderOrderInfo = order.getOrderInfo(); |
|
|
|
|
OrderInfo hzxxbOrderInfo = hzxxb.getOrderInfo(); |
|
|
|
|
StringBuffer errorMsg = new StringBuffer(); |
|
|
|
|
Map<String,String> returnMap = new HashMap<>(); |
|
|
|
|
returnMap.put("code","0000"); |
|
|
|
|
returnMap.put("msg","success"); |
|
|
|
|
Map<String, String> gxfCheckMap = compareOrderAndHzxxbGXF(order, hzxxb); |
|
|
|
|
if("9999".equals(gxfCheckMap.get("code"))){ |
|
|
|
|
errorMsg.append(gxfCheckMap.get("msg")); |
|
|
|
|
} |
|
|
|
|
if(new BigDecimal(orderOrderInfo.getKphjje()).compareTo(new BigDecimal(hzxxbOrderInfo.getKphjje())) != 0){ |
|
|
|
|
errorMsg.append("订单与红字信息表的合计金额不一致;"); |
|
|
|
|
} |
|
|
|
|
if(errorMsg.length() > 0){ |
|
|
|
|
returnMap.put("code","9999"); |
|
|
|
|
returnMap.put("msg",errorMsg.toString()); |
|
|
|
|
} |
|
|
|
|
return returnMap; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 对比订单和红字信息表的购销方信息 |
|
|
|
|
* @param order , hzxxb |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
private Map<String,String> compareOrderAndHzxxbGXF(CommonOrderInfo order,CommonOrderInfo hzxxb) { |
|
|
|
|
StringBuffer errorMsg = new StringBuffer(); |
|
|
|
|
Map<String,String> returnMap = new HashMap<>(); |
|
|
|
|
returnMap.put("code","0000"); |
|
|
|
|
returnMap.put("msg","success"); |
|
|
|
|
OrderInfo orderOrderInfo = order.getOrderInfo(); |
|
|
|
|
OrderInfo hzxxbOrderInfo = hzxxb.getOrderInfo(); |
|
|
|
|
if(!orderOrderInfo.getXhfNsrsbh().equals(hzxxbOrderInfo.getXhfNsrsbh())){ |
|
|
|
|
errorMsg.append("订单销方纳税人识别号:").append(orderOrderInfo.getXhfNsrsbh()).append(" 红字信息表销方纳税人识别号:").append(hzxxbOrderInfo.getXhfNsrsbh()).append(" 不一致;"); |
|
|
|
|
} |
|
|
|
|
if(!orderOrderInfo.getXhfMc().equals(hzxxbOrderInfo.getXhfMc())){ |
|
|
|
|
errorMsg.append("订单销方名称:").append(orderOrderInfo.getXhfMc()).append(" 红字信息表销方名称:").append(hzxxbOrderInfo.getXhfMc()).append(" 不一致;"); |
|
|
|
|
} |
|
|
|
|
// if(!orderOrderInfo.getXhfDz().equals(hzxxbOrderInfo.getXhfDz())){
|
|
|
|
|
// errorMsg.append("订单销方地址:").append(orderOrderInfo.getXhfDz()).append(" 红字信息表销方地址:").append(hzxxbOrderInfo.getXhfDz()).append(" 不一致;");
|
|
|
|
|
// }
|
|
|
|
|
// if(!orderOrderInfo.getXhfDh().equals(hzxxbOrderInfo.getXhfDh())){
|
|
|
|
|
// errorMsg.append("订单销方电话:").append(orderOrderInfo.getXhfDh()).append(" 红字信息表销方电话:").append(hzxxbOrderInfo.getXhfDh()).append(" 不一致;");
|
|
|
|
|
// }
|
|
|
|
|
// if(!orderOrderInfo.getXhfYh().equals(hzxxbOrderInfo.getXhfYh())){
|
|
|
|
|
// errorMsg.append("订单销方银行:").append(orderOrderInfo.getXhfYh()).append(" 红字信息表销方银行:").append(hzxxbOrderInfo.getXhfYh()).append(" 不一致;");
|
|
|
|
|
// }
|
|
|
|
|
// if(!orderOrderInfo.getXhfZh().equals(hzxxbOrderInfo.getXhfZh())){
|
|
|
|
|
// errorMsg.append("订单销方账号:").append(orderOrderInfo.getXhfZh()).append(" 红字信息表销方账号:").append(hzxxbOrderInfo.getXhfZh()).append(" 不一致;");
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
if(!orderOrderInfo.getGhfNsrsbh().equals(hzxxbOrderInfo.getGhfNsrsbh())){ |
|
|
|
|
errorMsg.append("订单购方纳税人识别号:").append(orderOrderInfo.getGhfNsrsbh()).append(" 红字信息表购方纳税人识别号:").append(hzxxbOrderInfo.getGhfNsrsbh()).append(" 不一致;"); |
|
|
|
|
} |
|
|
|
|
if(!orderOrderInfo.getGhfMc().equals(hzxxbOrderInfo.getGhfMc())){ |
|
|
|
|
errorMsg.append("订单购方名称:").append(orderOrderInfo.getGhfMc()).append(" 红字信息表购方名称:").append(hzxxbOrderInfo.getGhfMc()).append(" 不一致;"); |
|
|
|
|
} |
|
|
|
|
// if(!orderOrderInfo.getGhfDz().equals(hzxxbOrderInfo.getGhfDz())){
|
|
|
|
|
// errorMsg.append("订单购方地址:").append(orderOrderInfo.getGhfDz()).append(" 红字信息表购方地址:").append(hzxxbOrderInfo.getGhfDz()).append(" 不一致;");
|
|
|
|
|
// }
|
|
|
|
|
// if(!orderOrderInfo.getGhfDh().equals(hzxxbOrderInfo.getGhfDh())){
|
|
|
|
|
// errorMsg.append("订单购方电话:").append(orderOrderInfo.getGhfDh()).append(" 红字信息表购方电话:").append(hzxxbOrderInfo.getGhfDh()).append(" 不一致;");
|
|
|
|
|
// }
|
|
|
|
|
// if(!orderOrderInfo.getGhfYh().equals(hzxxbOrderInfo.getGhfYh())){
|
|
|
|
|
// errorMsg.append("订单购方银行:").append(orderOrderInfo.getGhfYh()).append(" 红字信息表购方银行:").append(hzxxbOrderInfo.getGhfYh()).append(" 不一致;");
|
|
|
|
|
// }
|
|
|
|
|
// if(!orderOrderInfo.getGhfZh().equals(hzxxbOrderInfo.getGhfZh())){
|
|
|
|
|
// errorMsg.append("订单购方账号:").append(orderOrderInfo.getGhfZh()).append(" 红字信息表购方账号:").append(hzxxbOrderInfo.getGhfZh()).append(" 不一致;");
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
if(errorMsg.length() > 0){ |
|
|
|
|
returnMap.put("code","9999"); |
|
|
|
|
returnMap.put("msg",errorMsg.toString()); |
|
|
|
|
} |
|
|
|
|
return returnMap; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|