wangyi

推送上传超过3次失败数据

......@@ -18,4 +18,11 @@ public interface DeclearTaskRepository extends JpaSpecificationExecutor<DeclearT
*/
@Query( nativeQuery = true,value ="SELECT TOP 10 * FROM T_DECLEAR_TASK WHERE FILE_TYPE = 1 AND PUSH_NUMBER < 3 AND (RESPONSE_RESULTS IS NULL OR RESPONSE_RESULTS <> '0') ORDER BY OPERATION_TIME ASC" )
public List<DeclearTask> findDeclearTask();
/**
* 根据运单号集合+创建时间 运单
* @return
*/
@Query( nativeQuery = true,value ="SELECT TOP 10 * FROM T_DECLEAR_TASK WHERE FILE_TYPE = 1 AND PUSH_NUMBER >= 3 AND (RESPONSE_RESULTS IS NULL OR RESPONSE_RESULTS <> '0') ORDER BY OPERATION_TIME ASC" )
public List<DeclearTask> findErrorDeclearTask();
}
......
......@@ -39,15 +39,7 @@ public interface ReceiptMessageRepository extends JpaSpecificationExecutor<Recei
* @param
* @return
*/
@Query(nativeQuery = true, value = "SELECT RM.* FROM T_RECEIPT_MESSAGE RM INNER JOIN T_DECLEAR_TASK DT ON(RM.ID = DT.CHMSIGNMENT_ID) WHERE FILE_TYPE = 2 AND PUSH_NUMBER >= 3 AND RESPONSE_RESULTS ='失败' ORDER BY RM.NOTICE_DATE ASC")
@Query(nativeQuery = true, value = "SELECT RM.* FROM T_RECEIPT_MESSAGE RM INNER JOIN T_DECLEAR_TASK DT ON(RM.ID = DT.CHMSIGNMENT_ID) WHERE FILE_TYPE = 2 AND PUSH_NUMBER >= 3 AND RESPONSE_RESULTS <> '0' ORDER BY RM.NOTICE_DATE ASC")
public List<ReceiptMessage> findReceiptMessageErrorReturnList();
/**
* 推送失败申报数据
*
* @param
* @return
*/
@Query(nativeQuery = true, value = "SELECT RM.* FROM T_RECEIPT_MESSAGE RM INNER JOIN T_DECLEAR_TASK DT ON(RM.ID = DT.CHMSIGNMENT_ID) WHERE FILE_TYPE = 1 AND PUSH_NUMBER >= 3 AND RESPONSE_RESULTS ='失败' ORDER BY RM.NOTICE_DATE ASC")
public List<ReceiptMessage> findReceiptMessageErrorDeclareList();
}
\ No newline at end of file
......
......@@ -178,17 +178,11 @@ public class ApiService {
});
}
/**
* 传输完整报文数据
* @param token
* @throws Exception
*/
public void pushMawb(String token){
public void pushMawbAcc(String token,List<DeclearTask> declearTaskList){
try{
/****************将Export对象转换成西门子交互实体对象****************/
//查询需要推送数据
List<Mawb> mawbList = new ArrayList<Mawb>();
List<DeclearTask> declearTaskList = this.declearTaskRepository.findDeclearTask();
declearTaskList.forEach(declearTask -> {
Long consignmentId = declearTask.getChmsignmentId().longValue();
//查询需要推送运单数据,并且转换
......@@ -211,6 +205,18 @@ public class ApiService {
ex.printStackTrace();
}
}
/**
* 传输完整报文数据
* @param token
* @throws Exception
*/
public void pushMawb(String token){
List<DeclearTask> declearTaskList = this.declearTaskRepository.findDeclearTask();
if (declearTaskList == null){
return;
}
this.pushMawbAcc(token,declearTaskList);
}
/**
* 将完整报文发送至西门子
......@@ -284,6 +290,13 @@ public class ApiService {
//获取海关回执数据
List<ReceiptMessage> receiptMessageList = receiptMessageRepository.findReceiptMessageErrorReturnList();
if (receiptMessageList !=null && receiptMessageList.size() > 0){
//去除微秒
for(int i = 0 ; i < receiptMessageList.size() ; i ++){
ReceiptMessage receiptMessage = receiptMessageList.get(i);
Date noticeDate = DateUtils.string2Date(receiptMessage.getNoticeDate(),null);
String nDate = DateUtils.formatDate(noticeDate,"yyyy-MM-dd HH:mm:ss");
receiptMessage.setNoticeDate(nDate);
}
this.sendCustoms(token,receiptMessageList);
}
}
......@@ -294,9 +307,10 @@ public class ApiService {
*/
public void pushErrorDeclareDate(String token){
//获取海关申报数据
List<ReceiptMessage> receiptMessageList = receiptMessageRepository.findReceiptMessageErrorDeclareList();
if (receiptMessageList !=null && receiptMessageList.size() > 0){
this.sendCustoms(token,receiptMessageList);
List<DeclearTask> declearTaskList = this.declearTaskRepository.findErrorDeclearTask();
if (declearTaskList == null){
return;
}
this.pushMawbAcc(token,declearTaskList);
}
}
......