TaskService.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. package com.yihu.jw.service;/**
  2. * Created by nature of king on 2018/5/10.
  3. */
  4. import com.yihu.base.mysql.query.BaseJpaService;
  5. import com.yihu.jw.dao.TaskDao;
  6. import com.yihu.jw.dao.TaskDetailDao;
  7. import com.yihu.jw.entity.health.bank.TaskDO;
  8. import com.yihu.jw.entity.health.bank.TaskDetailDO;
  9. import com.yihu.jw.restmodel.common.Envelop;
  10. import com.yihu.jw.rm.health.bank.HealthBankMapping;
  11. import com.yihu.jw.util.DateUtils;
  12. import com.yihu.jw.util.ISqlUtils;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  15. import org.springframework.jdbc.core.JdbcTemplate;
  16. import org.springframework.stereotype.Service;
  17. import javax.transaction.Transactional;
  18. import java.util.ArrayList;
  19. import java.util.Date;
  20. import java.util.List;
  21. import java.util.Map;
  22. /**
  23. * @author wangzhinan
  24. * @create 2018-05-10 13:45
  25. * @desc task service
  26. **/
  27. @Service
  28. @Transactional
  29. public class TaskService extends BaseJpaService<TaskDO,TaskDao>{
  30. @Autowired
  31. private TaskDao taskDao;
  32. @Autowired
  33. private JdbcTemplate jdbcTemplate;
  34. @Autowired
  35. private TaskDetailDao taskDetailDao;
  36. public Envelop<Boolean> insert(TaskDO taskDO){
  37. taskDao.save(taskDO);
  38. Envelop<Boolean> envelop = new Envelop<>();
  39. envelop.setObj(true);
  40. return envelop;
  41. }
  42. /* public Envelop<CreditsDetailDO> findByCondition(TaskDO taskDO, Integer page, Integer size) throws ParseException {
  43. String sql = new ISqlUtils().getSql(taskDO,page,size,"*");
  44. List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(CreditsDetailDO.class));
  45. String sqlcount = new ISqlUtils().getSql(creditsDetailDO,0,0,"count");
  46. List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
  47. Long count = 0L;
  48. if(rstotal!=null&&rstotal.size()>0){
  49. count = (Long) rstotal.get(0).get("total");
  50. }
  51. return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, creditsDetailDOS,page,size,count);
  52. }*/
  53. public Envelop<TaskDO> selectByCondition(TaskDO taskDO,Integer page,Integer size){
  54. String sql = new ISqlUtils().getSql(taskDO,page,size,"*");
  55. List<TaskDO> taskDOS1 = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskDO.class));
  56. if (taskDOS1 == null || taskDOS1.size() ==0){
  57. List<TaskDO> taskDOList = getTasks(taskDO.getPatientId());
  58. for (TaskDO taskDO1:taskDOList){
  59. taskDao.save(taskDO1);
  60. }
  61. }
  62. List<TaskDO> taskDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskDO.class));
  63. List<TaskDO> taskDOList = new ArrayList<>();
  64. for (TaskDO taskDO1 : taskDOS){
  65. if (taskDO1.getPeriod() == 0){
  66. String taskSql1 = "SELECT * FROM wlyy_health_bank_task_detail td WHERE" +
  67. " td.task_id = '" +taskDO1.getId()+
  68. "' AND td.create_time > '" + DateUtils.getDayBegin()+
  69. "' AND td.create_time < '"+DateUtils.getDayEnd()+"'";
  70. List<TaskDetailDO> taskDetailList = jdbcTemplate.query(taskSql1,new BeanPropertyRowMapper(TaskDetailDO.class));
  71. if (taskDetailList != null && taskDetailList.size() != 0){
  72. taskDO1.setStatus(1);
  73. }
  74. }
  75. taskDOList.add(taskDO1);
  76. }
  77. String sqlcount = new ISqlUtils().getSql(taskDO,0,0,"count");
  78. List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
  79. Long count = 0L;
  80. if(rstotal!=null&&rstotal.size()>0){
  81. count = (Long) rstotal.get(0).get("total");
  82. }
  83. return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskDOList,page,size,count);
  84. }
  85. public List<TaskDO> getTasks(String patientId){
  86. List<TaskDO> taskDOList = new ArrayList<>();
  87. TaskDO taskDO = new TaskDO();
  88. taskDO.setPatientId(patientId);
  89. taskDO.setTaskCode("BIND");
  90. taskDO.setPeriod(1);
  91. taskDO.setTaskTitle("首次绑定");
  92. taskDO.setTaskContent("(使用社区发放的已关联您身份信息的设备,登录厦门i健康绑定设备)");
  93. taskDO.setTradeType("activity");
  94. taskDO.setTransactionId("402885e96324a409016324c0a45a0006");
  95. taskDO.setCreateTime(new Date());
  96. taskDO.setUpdateTime(new Date());
  97. taskDOList.add(taskDO);
  98. TaskDO taskDO1 = new TaskDO();
  99. taskDO1.setPatientId(patientId);
  100. taskDO1.setTaskCode("MEASURE");
  101. taskDO1.setPeriod(0);
  102. taskDO1.setTaskTitle("每日测量");
  103. taskDO1.setTaskContent("(使用社区发放的已关联您身份信息的设备,绑定后每天完成测量)");
  104. taskDO1.setTradeType("activity");
  105. taskDO1.setTransactionId("402885e96324a409016324c0a45a0006");
  106. taskDO1.setCreateTime(new Date());
  107. taskDO1.setUpdateTime(new Date());
  108. taskDOList.add(taskDO1);
  109. return taskDOList;
  110. }
  111. }