|
|
|
@ -1460,6 +1460,21 @@ public class OrderInfoServiceImpl implements OrderInfoService { |
|
|
|
|
@Override |
|
|
|
|
public R openRedInvoice(CommonOrderInfo commonOrderInfo, String uid) throws OrderSeparationException { |
|
|
|
|
R vo = new R(); |
|
|
|
|
//校验填写的报账单号是不是负数订单
|
|
|
|
|
log.debug("{}校验填写的报账单号是不是负数订单",LOGGER_MSG); |
|
|
|
|
OrderProcessInfo op = null; |
|
|
|
|
if(StrUtil.isNotBlank(commonOrderInfo.getOrderInfo().getBzdh())){ |
|
|
|
|
Map map = new HashMap(); |
|
|
|
|
map.put("bzdh",commonOrderInfo.getOrderInfo().getBzdh()); |
|
|
|
|
List<OrderProcessInfo> orderProcessInfos = orderProcessInfoMapper.queryOrderInfo(map, null, null); |
|
|
|
|
if(orderProcessInfos.size()!=1){ |
|
|
|
|
return R.error("根据报账单号未查到到结算单或查询到多条结算单,请检查!"); |
|
|
|
|
}else if(orderProcessInfos.size() == 1 && new BigDecimal(orderProcessInfos.get(0).getKphjje()).compareTo(BigDecimal.ZERO) == -1 ){ |
|
|
|
|
return R.error("报账单号对应的结算单不是负数结算单,请检查!"); |
|
|
|
|
}else { |
|
|
|
|
op = orderProcessInfos.get(0); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
String sld = commonOrderInfo.getOrderInfo().getSld(); |
|
|
|
|
String sldMc = commonOrderInfo.getOrderInfo().getSldMc(); |
|
|
|
|
String terminalCode = simsBackService.getTerminalCode(commonOrderInfo.getOrderInfo().getXhfNsrsbh(), commonOrderInfo.getOrderInfo().getEntId()); |
|
|
|
@ -1484,6 +1499,21 @@ public class OrderInfoServiceImpl implements OrderInfoService { |
|
|
|
|
return R.error().put(OrderManagementConstant.CODE, OrderInfoContentEnum.RECEIVE_FAILD.getKey()) |
|
|
|
|
.put(OrderManagementConstant.MESSAGE, excuSingle.get(OrderManagementConstant.MESSAGE)); |
|
|
|
|
} |
|
|
|
|
//负数订单保存后,删除SAP传过来的结算单
|
|
|
|
|
log.debug("{}订单保存后,根据填写的报账单号删除SAP传过来的结算单"); |
|
|
|
|
if(ConfigureConstant.STRING_1.equals(op.getOrderStatus())){ |
|
|
|
|
log.debug("{}订单保存后,根据填写的报账单号删除SAP传过来的结算单,已经是删除状态"); |
|
|
|
|
}else { |
|
|
|
|
OrderProcessInfo updateOp = new OrderProcessInfo(); |
|
|
|
|
updateOp.setId(op.getId()); |
|
|
|
|
updateOp.setOrderStatus(ConfigureConstant.STRING_1); |
|
|
|
|
int i = orderProcessInfoMapper.updateOrderProcessInfoByProcessId(updateOp, null); |
|
|
|
|
if(i == 0){ |
|
|
|
|
log.debug("{}订单保存后,根据填写的报账单号删除SAP传过来的结算单失败"); |
|
|
|
|
}else { |
|
|
|
|
log.debug("{}订单保存后,根据填写的报账单号删除SAP传过来的结算单成功"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
Map<String, PageSld> sldMap = new HashMap<>(2); |
|
|
|
|
PageSld pageSld = new PageSld(); |
|
|
|
|
pageSld.setSldid(sld); |
|
|
|
|