package com.zy.asrs.task.handler;
|
|
import com.zy.asrs.task.AbstractHandler;
|
import com.zy.asrs.task.core.ReturnT;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
/**
|
* Created by vincent on 2020/7/7
|
*/
|
@Service
|
public class OverYearLogHandler extends AbstractHandler<String> {
|
|
@Autowired
|
private JdbcTemplate jdbcTemplate;
|
|
@Transactional
|
public ReturnT<String> start() {
|
try {
|
// 删除半年以上的历史档
|
jdbcTemplate.update("delete from asr_stk_hplc where dateadd(day,180,appe_time) <= getdate();");
|
jdbcTemplate.update("delete from asr_wrk_detl_log where dateadd(day,360,appe_time) <= getdate();");
|
jdbcTemplate.update("delete from asr_wrk_mast_log where dateadd(day,360,appe_time) <= getdate();");
|
jdbcTemplate.update("delete from cust_wait_pakin_log where dateadd(day,360,appe_time) <= getdate();");
|
|
//删除出库通知明细档数据,日期超过180天,或者已出库数量大于等于通知出库量,且日期超过7天
|
String sql = "delete ise from OutStockBillEntry ise left join OutStockbill isb on isb.FInterID = ise.FInterID where 1=1 ";
|
sql += "and (dateadd(day,180,ise.FFetchDate) <= getdate() or (ise.FAuxCommitQty>=ise.FQty and dateadd(day,7,ise.FFetchDate) <= getdate()) )";
|
jdbcTemplate.update(sql);
|
|
//删除没有明细的出库通知主档数据
|
sql = "delete OutStockbill from OutStockbill where FInterID not in (select FInterID from OutStockBillEntry)";
|
jdbcTemplate.update(sql);
|
} catch (Exception e) {
|
e.printStackTrace();
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
return FAIL.setMsg(e.getMessage());
|
}
|
return SUCCESS;
|
}
|
|
}
|