SignEndJob.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.yihu.wlyy.job;
  2. import com.yihu.wlyy.service.app.followup.FollowUpService;
  3. import com.yihu.wlyy.util.DateUtil;
  4. import org.quartz.Job;
  5. import org.quartz.JobExecutionContext;
  6. import org.quartz.JobExecutionException;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.jdbc.core.JdbcTemplate;
  9. import org.springframework.web.context.support.SpringBeanAutowiringSupport;
  10. import java.util.Calendar;
  11. import java.util.Date;
  12. /**
  13. * Created by lyr-pc on 2017/3/9.
  14. */
  15. public class SignEndJob implements Job {
  16. @Autowired
  17. JdbcTemplate jdbcTemplate;
  18. @Override
  19. public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
  20. try {
  21. System.out.println("sign end job start");
  22. //2017-06-06 新签约和续签逻辑修改
  23. // SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
  24. // Calendar today = Calendar.getInstance();
  25. // today.add(Calendar.DATE, -1);
  26. // String date = DateUtil.dateToStrShort(today.getTime());
  27. // String start = date + " 00:00:00";
  28. // String end = date + " 23:59:59";
  29. // String sql = "update wlyy_sign_family set status = -4,apply_unsign_date =SYSDATE() where end >= ? and end <= ? and status > 0";
  30. // String sqlT = "update wlyy_doctor_team set del = '0' where del = '1' and code in (select team_code from wlyy_sign_family where end >= ? and end <= ? and status > 0)";
  31. // String sqlTm = "update wlyy_doctor_team_member set del = '0' where del = '1' and team in (select team_code from wlyy_sign_family where end >= ? and end <= ? and status > 0)";
  32. // int sucessT = jdbcTemplate.update(sqlT, start, end);
  33. // int sucessTm = jdbcTemplate.update(sqlTm, start, end);
  34. // int sucess = jdbcTemplate.update(sql, start, end);
  35. Calendar cal = Calendar.getInstance();
  36. int year = cal.get(Calendar.YEAR)-1;
  37. int month = cal.get(Calendar.MONTH)+1;
  38. if(month >=7){
  39. //设置已过期
  40. String sql = "UPDATE wlyy_sign_family t SET t.status = -4,t.apply_unsign_date='"+ DateUtil.dateToStr(new Date(),"yyyy-MM-dd HH:mm:ss")+"' WHERE t.status>=0 AND t.sign_year='"+year+"'";
  41. //数据迁移
  42. String sql2 ="INSERT INTO wlyy_sign_family(" +
  43. "code,lw_code,type,patient,openid,name,idcard,ssc," +
  44. "mobile,emer_mobile,hospital,hospital_name,doctor," +
  45. "doctor_name,begin,end,images,group_code,status,reason," +
  46. "czrq,team_code,sign_type,apply_date,release_speak," +
  47. "doctor_health_name,doctor_health,family_code,patient_apply_date," +
  48. "expenses,expenses_status,sign_source,sign_doctor_code,sign_doctor_name," +
  49. "sign_doctor_level,patient_apply_unsgin_date,apply_unsign_date,expenses_type," +
  50. "sign_year,medical_insurance_num,agent_doctor_code,agent_doctor_name," +
  51. "agent_doctor_level,admin_team_code,expenses_time) " +
  52. "SELECT code,lw_code,type,patient,openid,name,idcard,ssc," +
  53. "mobile,emer_mobile,hospital,hospital_name,doctor,doctor_name," +
  54. "begin,end,images,group_code,status,reason,czrq,team_code," +
  55. "sign_type,apply_date,release_speak,doctor_health_name," +
  56. "doctor_health,family_code,patient_apply_date,expenses," +
  57. "expenses_status,sign_source,sign_doctor_code,sign_doctor_name," +
  58. "sign_doctor_level,patient_apply_unsgin_date,apply_unsign_date," +
  59. "expenses_type,sign_year,medical_insurance_num,agent_doctor_code," +
  60. "agent_doctor_name,agent_doctor_level,admin_team_code,expenses_time " +
  61. "FROM wlyy_sign_family_renew t WHERE t.is_valid =0 AND t.status =1 AND t.sign_year='"+(year+1)+"' AND t.expenses_status='1'";
  62. //更改迁移状态
  63. String sql3 = "UPDATE wlyy_sign_family_renew t SET t.is_valid =1 WHERE t.is_valid =0 AND t.status =1 AND t.sign_year='"+(year+1)+"' AND t.expenses_status='1'";
  64. jdbcTemplate.execute(sql);
  65. jdbcTemplate.execute(sql2);
  66. jdbcTemplate.execute(sql3);
  67. }
  68. System.out.println("sign end job end");
  69. } catch (Exception e) {
  70. e.printStackTrace();
  71. System.out.println("sign end job failed");
  72. }
  73. }
  74. }