|
|
@ -68,8 +68,13 @@ import com.dxhy.order.model.qdsk.taxpayerinfo.Qdjcxx; |
|
|
|
import com.dxhy.order.model.queue.CommonTsMqData; |
|
|
|
import com.dxhy.order.model.queue.CommonTsMqData; |
|
|
|
import com.dxhy.order.model.queue.FpTsMqData; |
|
|
|
import com.dxhy.order.model.queue.FpTsMqData; |
|
|
|
import com.dxhy.order.utils.*; |
|
|
|
import com.dxhy.order.utils.*; |
|
|
|
|
|
|
|
import com.google.gson.Gson; |
|
|
|
|
|
|
|
import com.google.gson.JsonElement; |
|
|
|
|
|
|
|
import com.google.gson.JsonObject; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
|
|
|
|
import org.codehaus.jackson.JsonNode; |
|
|
|
|
|
|
|
import org.codehaus.jackson.map.ObjectMapper; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
|
|
@ -201,7 +206,6 @@ public class OrderInfoServiceImpl implements OrderInfoService { |
|
|
|
private RabbitMqSendMessageService rabbitMqSendMessageService; |
|
|
|
private RabbitMqSendMessageService rabbitMqSendMessageService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DecimalFormat format = new DecimalFormat("#.###"); |
|
|
|
DecimalFormat format = new DecimalFormat("#.###"); |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
@ -2073,7 +2077,6 @@ public class OrderInfoServiceImpl implements OrderInfoService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public R mergeOrderItem(String entId, String orderInfoId, List<String> itemList) throws Exception { |
|
|
|
public R mergeOrderItem(String entId, String orderInfoId, List<String> itemList) throws Exception { |
|
|
|
|
|
|
|
|
|
|
@ -2156,7 +2159,6 @@ public class OrderInfoServiceImpl implements OrderInfoService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* |
|
|
|
|
|
|
|
* @param operation 0 开票,1 作废 、2冲红 |
|
|
|
* @param operation 0 开票,1 作废 、2冲红 |
|
|
|
* @param params:发票请求流水号集合信息表编号 |
|
|
|
* @param params:发票请求流水号集合信息表编号 |
|
|
|
* @return |
|
|
|
* @return |
|
|
@ -2280,6 +2282,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 功能描述: 替换报账单号 |
|
|
|
* 功能描述: 替换报账单号 |
|
|
|
|
|
|
|
* |
|
|
|
* @param replaceOddDTO |
|
|
|
* @param replaceOddDTO |
|
|
|
* @return : com.dxhy.order.model.R |
|
|
|
* @return : com.dxhy.order.model.R |
|
|
|
*/ |
|
|
|
*/ |
|
|
@ -2293,6 +2296,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { |
|
|
|
log.error("{},替换报账单号接口传入报账单号为空", LOGGER_MSG); |
|
|
|
log.error("{},替换报账单号接口传入报账单号为空", LOGGER_MSG); |
|
|
|
return R.error("传入报账单号为空"); |
|
|
|
return R.error("传入报账单号为空"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
ObjectMapper objectMapper = new ObjectMapper(); |
|
|
|
try { |
|
|
|
try { |
|
|
|
// 调用sap获取报账单号状态
|
|
|
|
// 调用sap获取报账单号状态
|
|
|
|
String poClient = baseServiceConfig.getPoClient(); |
|
|
|
String poClient = baseServiceConfig.getPoClient(); |
|
|
@ -2311,27 +2315,36 @@ public class OrderInfoServiceImpl implements OrderInfoService { |
|
|
|
poCommonRequestParam.setIS_INPUT(isInput); |
|
|
|
poCommonRequestParam.setIS_INPUT(isInput); |
|
|
|
String param = JsonUtils.getInstance().toJsonString(poCommonRequestParam); |
|
|
|
String param = JsonUtils.getInstance().toJsonString(poCommonRequestParam); |
|
|
|
log.info("{}获取公司client入参:{}", LOGGER_MSG, param); |
|
|
|
log.info("{}获取公司client入参:{}", LOGGER_MSG, param); |
|
|
|
String result = HttpUtils.sendPo(baseServiceConfig.getPoUrl(), param,baseServiceConfig.getPoUserName(),baseServiceConfig.getPoPassword()); |
|
|
|
String result = HttpUtils.sendPo(baseServiceConfig.getPoUrl(), param, |
|
|
|
|
|
|
|
baseServiceConfig.getPoUserName(), baseServiceConfig.getPoPassword()); |
|
|
|
log.info("{}获取公司client出参:{}", LOGGER_MSG, result); |
|
|
|
log.info("{}获取公司client出参:{}", LOGGER_MSG, result); |
|
|
|
PoCommonResponseParam poCommonResponseParam = JsonUtils.getInstance().parseObject(result, PoCommonResponseParam.class); |
|
|
|
PoCommonResponseParam poCommonResponseParam = |
|
|
|
|
|
|
|
JsonUtils.getInstance().parseObject(result, PoCommonResponseParam.class); |
|
|
|
EsOutput es_output = poCommonResponseParam.getES_OUTPUT(); |
|
|
|
EsOutput es_output = poCommonResponseParam.getES_OUTPUT(); |
|
|
|
String ztype = es_output.getZTYPE(); |
|
|
|
String ztype = es_output.getZTYPE(); |
|
|
|
String zmessage = es_output.getZMESSAGE(); |
|
|
|
String zmessage = es_output.getZMESSAGE(); |
|
|
|
Object zdata = es_output.getZDATA(); |
|
|
|
log.info("{},替换报账单号,替换信息:{}", LOGGER_MSG, JsonUtils.getInstance().toJsonString(poCommonResponseParam)); |
|
|
|
log.info("{},替换报账单号,替换信息:{}",JsonUtils.getInstance().toJsonString(poCommonResponseParam)); |
|
|
|
// 解析sap返回结果
|
|
|
|
List<String> statusList = new ArrayList<>(); |
|
|
|
|
|
|
|
if (OrderInfoContentEnum.INVOICE_ERROR_CODE_OP_S.getKey().equals(ztype)) { |
|
|
|
if (OrderInfoContentEnum.INVOICE_ERROR_CODE_OP_S.getKey().equals(ztype)) { |
|
|
|
List<Map<String,String>> gsClientList = JsonUtils.getInstance().parseObject(zdata.toString(), List.class); |
|
|
|
JsonNode rootNode = objectMapper.readTree(result); |
|
|
|
gsClientList.stream().forEach(f -> { |
|
|
|
JsonNode esOutputNode = rootNode.get("ES_OUTPUT"); |
|
|
|
String status = ObjectUtil.isNull(f.get("BZDZT"))?"":f.get("BZDZT").toString(); |
|
|
|
JsonNode zDataNode = esOutputNode.get("ZDATA"); |
|
|
|
statusList.add(status); |
|
|
|
if (StringUtils.isBlank(zDataNode.toString())) { |
|
|
|
}); |
|
|
|
log.error("{}sap返回的data是空", LOGGER_MSG); |
|
|
|
for (String bzdzt : statusList) { |
|
|
|
return R.error("未在sap系统中查询到该报账单号"); |
|
|
|
if ("50".equals(bzdzt)){ |
|
|
|
} |
|
|
|
log.error("{}sap报账单号状态不允许替换,报账单号状态:{}",LOGGER_MSG,bzdzt); |
|
|
|
String bzdzt = zDataNode.asText(); |
|
|
|
|
|
|
|
JsonNode bzdztNode = objectMapper.readTree(bzdzt); |
|
|
|
|
|
|
|
String bzdztValue = bzdztNode.get("BZDZT").asText(); |
|
|
|
|
|
|
|
if (StringUtils.isBlank(bzdztValue)) { |
|
|
|
|
|
|
|
log.error("{}sap返回的报账单号状态为空", LOGGER_MSG); |
|
|
|
|
|
|
|
return R.error("未在sap系统中查询到该报账单号"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
log.info("{}sap返回报账单号状态:{}", LOGGER_MSG, bzdztValue); |
|
|
|
|
|
|
|
if ("50".equals(bzdztValue)) { |
|
|
|
|
|
|
|
log.error("{}sap报账单号状态不允许替换,报账单号状态:{}", LOGGER_MSG, bzdztValue); |
|
|
|
return R.error("该报账单号状态不允许替换"); |
|
|
|
return R.error("该报账单号状态不允许替换"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
OrderInfo newOrderInfo = orderMapper.findByFpqqlish(replaceOddDTO.getBzdh()); |
|
|
|
OrderInfo newOrderInfo = orderMapper.findByFpqqlish(replaceOddDTO.getBzdh()); |
|
|
|
if (newOrderInfo == null) { |
|
|
|
if (newOrderInfo == null) { |
|
|
|
log.error("{}输入报账单号在该系统未查询到信息,不允许替换", LOGGER_MSG); |
|
|
|
log.error("{}输入报账单号在该系统未查询到信息,不允许替换", LOGGER_MSG); |
|
|
@ -2473,6 +2486,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 红字信息表不存在清单的,对比订单和红字信息表 |
|
|
|
* 红字信息表不存在清单的,对比订单和红字信息表 |
|
|
|
|
|
|
|
* |
|
|
|
* @param order , hzxxb |
|
|
|
* @param order , hzxxb |
|
|
|
* @return |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
*/ |
|
|
@ -2541,9 +2555,9 @@ public class OrderInfoServiceImpl implements OrderInfoService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 红字信息表存在清单的,对比订单和红字信息表 |
|
|
|
* 红字信息表存在清单的,对比订单和红字信息表 |
|
|
|
|
|
|
|
* |
|
|
|
* @param order , hzxxb |
|
|
|
* @param order , hzxxb |
|
|
|
* @return |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
*/ |
|
|
@ -2570,6 +2584,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 对比订单和红字信息表的购销方信息 |
|
|
|
* 对比订单和红字信息表的购销方信息 |
|
|
|
|
|
|
|
* |
|
|
|
* @param order , hzxxb |
|
|
|
* @param order , hzxxb |
|
|
|
* @return |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
*/ |
|
|
@ -2648,6 +2663,7 @@ public class OrderInfoServiceImpl implements OrderInfoService { |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 校验红字信息表否在销项系统中存在 并且状态是不是审核通过 |
|
|
|
* 校验红字信息表否在销项系统中存在 并且状态是不是审核通过 |
|
|
|
|
|
|
|
* |
|
|
|
* @param hzxxbbhList |
|
|
|
* @param hzxxbbhList |
|
|
|
* @return |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
*/ |
|
|
|