Commit dbe47a2d authored by 郝彦辉's avatar 郝彦辉

手动筛选需要报送的2

parent f58fd274
......@@ -1994,6 +1994,62 @@ public class BaiHangZhuDaiService {
log.error("根据参数查询报送日志表异常, loanId: {} , termNo: {} ", loanId, termNo, e);
}
//根据loan_id查询本笔是否已结清
//“本笔贷款状态”报送“3-结清”后,继续报送的还款记录中还款状态确认时间statusConfirmAt应早于等于结清时的还款状态确认时间。2017-03-10T00:00:00
String SQL_QUERYD_jq = "SELECT * from repayment_loan_info_zhudai d3 where d3.loan_id=? and d3.loan_status=3 ;";
RepaymentLoanInfoLog logBean_jq = null;
try{
List<RepaymentLoanInfoLog> logBeanList_jq = riskDatasourceJdbcTemplate.query(SQL_QUERYD_jq, new Object[]{repaymentLoanInfo.getLoanId()}, new RowMapper<RepaymentLoanInfoLog>() {
@Override
public RepaymentLoanInfoLog mapRow(ResultSet rs, int rowNum) throws SQLException {
RepaymentLoanInfoLog bean = new RepaymentLoanInfoLog();
bean.setId(rs.getLong("id"));
bean.setRecordId(rs.getString("record_id"));
bean.setReqID(rs.getString("req_id"));
bean.setOpCode(rs.getString("op_code"));
bean.setUploadTs(rs.getString("upload_ts"));
bean.setLoanId(rs.getString("loan_id"));
bean.setTermNo(rs.getInt("term_no"));
bean.setTermStatus(rs.getString("term_status"));
bean.setTargetRepaymentDate(rs.getString("target_repayment_date"));
bean.setRealRepaymentDate(rs.getString("real_repayment_date"));
bean.setOverdueStatus(rs.getString("overdue_status"));
bean.setLoanStatus(rs.getInt("loan_status"));
bean.setStatusConfirmAt(rs.getString("status_confirm_at"));
bean.setEnable(rs.getInt("enable"));
bean.setCreatedAt(rs.getTimestamp("created_at"));
bean.setUpdatedAt(rs.getTimestamp("updated_at"));
return bean;
}
});
if(logBeanList_jq!=null && logBeanList_jq.size() >0) {
if (logBeanList_jq.size() == 1) {
logBean_jq = logBeanList_jq.get(0);
} else {
Collections.sort(logBeanList_jq, new Comparator<RepaymentLoanInfoLog>() {
public int compare(RepaymentLoanInfoLog o1, RepaymentLoanInfoLog o2) {
//按时间进行降序排列
if (o1.getUpdatedAt().getTime() > o2.getUpdatedAt().getTime()) {
return -1;
}
if (o1.getUpdatedAt().getTime() == o2.getUpdatedAt().getTime()) {
return 0;
}
return 1;
}
});
logBean_jq = logBeanList_jq.get(0);
}
}
}catch (Exception e){
log.error("查询是否已结清时出现异常, 文件: {} , 内容: {} , 第i: {} ", filePath, strJson, i, e);
}
if(logBean!=null){
StringBuffer hisStr = new StringBuffer();
hisStr.append(logBean.getLoanId()).append(",");
......@@ -2005,6 +2061,7 @@ public class BaiHangZhuDaiService {
hisStr.append(logBean.getOverdueAmount()).append(",");
hisStr.append(logBean.getRemainingAmount()).append(",");
hisStr.append(logBean.getLoanStatus());
String s_hisStr = hisStr.toString().replace(".00,", ",");
StringBuffer newStr = new StringBuffer();
newStr.append(repaymentLoanInfo.getLoanId()).append(",");
......@@ -2016,6 +2073,7 @@ public class BaiHangZhuDaiService {
newStr.append(repaymentLoanInfo.getOverdueAmount()).append(",");
newStr.append(repaymentLoanInfo.getRemainingAmount()).append(",");
newStr.append(repaymentLoanInfo.getLoanStatus());
String s_newStr = newStr.toString().replace(".00,", ",");
String run_lastTime = "";
if("normal".equals(repaymentLoanInfo.getTermStatus().trim()) ){
......@@ -2036,16 +2094,34 @@ public class BaiHangZhuDaiService {
}
//相同不用报送
if(hisStr.toString().equals(newStr.toString())){
if(s_hisStr.equals(s_newStr)){
repaymentLoanInfo.setUploadTs(uploadTs_2);
this.wirteFile(writeFilePath + file_+ "_XT.txt", JSON.toJSONString(repaymentLoanInfo)+"\r\n");
}else {
//不同,需要报送
log.info("查询比较两次报送数据不相同, 修改以M报送, filePath: {} , loanId: {} , termNo: {} , logBean: {} , 数据log_run: {} , ", file_, loanId, termNo, JSON.toJSONString(logBean), hisStr.toString()+"|"+newStr.toString());
repaymentLoanInfo.setUploadTs(uploadTs_2);
repaymentLoanInfo.setOpCode("M");
String log_history_reqID = logBean.getRecordId();
//“本笔贷款状态”报送“3-结清”后,继续报送的还款记录中还款状态确认时间statusConfirmAt应早于等于结清时的还款状态确认时间。2017-03-10T00:00:00
if(logBean_jq!=null){
try{
if(repaymentLoanInfo.getTermNo() < logBean_jq.getTermNo()){
LocalDateTime loca_new = LocalDateTime.parse(repaymentLoanInfo.getStatusConfirmAt());
LocalDateTime loca_jq = LocalDateTime.parse(logBean_jq.getStatusConfirmAt());
if (loca_new.compareTo(loca_jq) > 0) {
String statusConfirmAt_jq = loca_jq.format(formatter);
repaymentLoanInfo.setStatusConfirmAt(statusConfirmAt_jq);
log.warn("查询比较两次报送数据不相同, 修改以M报送_且已经有结清的, filePath: {} , loanId: {} , termNo: {} , logBean: {} ", file_, loanId, termNo, JSON.toJSONString(logBean));
}
}
}catch (Exception e){}
}
if(log_history_reqID!=null && log_history_reqID.length()>1){
repaymentLoanInfo.setRecordId(log_history_reqID);
this.wirteFile(writeFilePath + file_+ "_M.txt", JSON.toJSONString(repaymentLoanInfo)+"\r\n");
......@@ -2056,6 +2132,7 @@ public class BaiHangZhuDaiService {
}
}else{
log.warn("根据参数查询报送日志筛选数据为空, 新增以A报送, filePath: {} , loanId: {} , termNo: {} ", filePath, loanId, termNo);
repaymentLoanInfo.setOpCode("A");
//repaymentLoanInfo.setRecordId(UUID.randomUUID().toString().replaceAll("-", ""));
......@@ -2063,6 +2140,22 @@ public class BaiHangZhuDaiService {
LocalDateTime nowTime = LocalDateTime.now();
repaymentLoanInfo.setUploadTs(nowTime.format(formatter));
//“本笔贷款状态”报送“3-结清”后,继续报送的还款记录中还款状态确认时间statusConfirmAt应早于等于结清时的还款状态确认时间。2017-03-10T00:00:00
if(logBean_jq!=null){
try{
if(repaymentLoanInfo.getTermNo() < logBean_jq.getTermNo()){
LocalDateTime loca_new = LocalDateTime.parse(repaymentLoanInfo.getStatusConfirmAt());
LocalDateTime loca_jq = LocalDateTime.parse(logBean_jq.getStatusConfirmAt());
if (loca_new.compareTo(loca_jq) > 0) {
String statusConfirmAt_jq = loca_jq.format(formatter);
repaymentLoanInfo.setStatusConfirmAt(statusConfirmAt_jq);
log.warn("根据参数查询报送日志筛选数据为空, 新增以A报送_且已经有结清的, filePath: {} , loanId: {} , termNo: {} , logBean: {} ", file_, loanId, termNo, JSON.toJSONString(logBean));
}
}
}catch (Exception e){}
}
this.wirteFile(writeFilePath + file_+ "_A.txt", JSON.toJSONString(repaymentLoanInfo)+"\r\n");
}
......@@ -2127,5 +2220,21 @@ public class BaiHangZhuDaiService {
System.out.println(JSON.toJSONString(logBeanList));
//“本笔贷款状态”报送“3-结清”后,继续报送的还款记录中还款状态确认时间statusConfirmAt应早于等于结清时的还款状态确认时间。2017-03-10T00:00:00
/* if(logBean_jq!=null){
if(repaymentLoanInfo.getTermNo() < logBean_jq.getTermNo()){*/
LocalDateTime loca_new = LocalDateTime.parse("2017-03-10T00:00:00"); //repaymentLoanInfo.getStatusConfirmAt()
LocalDateTime loca_jq = LocalDateTime.parse("2017-03-10T00:00:00"); //logBean_jq.getStatusConfirmAt()
if (loca_new.compareTo(loca_jq) > 0) {
String statusConfirmAt_jq = loca_jq.format(formatter);
System.out.println(statusConfirmAt_jq);
//repaymentLoanInfo.setStatusConfirmAt(statusConfirmAt_jq);
//log.warn("查询比较两次报送数据不相同, 修改以M报送_且已经有结清的, filePath: {} , loanId: {} , termNo: {} , logBean: {} ", file_, loanId, termNo, JSON.toJSONString(logBean));
}
/* }
}*/
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment