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 { @Autowired private JdbcTemplate jdbcTemplate; @Transactional public ReturnT 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; } }