TaskRuleService.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. package com.yihu.jw.service;/**
  2. * Created by nature of king on 2018/6/8.
  3. */
  4. import com.yihu.base.mysql.query.BaseJpaService;
  5. import com.yihu.jw.dao.TaskDao;
  6. import com.yihu.jw.dao.TaskPatientDetailDao;
  7. import com.yihu.jw.dao.TaskRuleDao;
  8. import com.yihu.jw.entity.health.bank.TaskDO;
  9. import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
  10. import com.yihu.jw.entity.health.bank.TaskRuleDO;
  11. import com.yihu.jw.restmodel.common.Envelop;
  12. import com.yihu.jw.rm.health.bank.HealthBankMapping;
  13. import com.yihu.jw.util.ISqlUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  16. import org.springframework.jdbc.core.JdbcTemplate;
  17. import org.springframework.stereotype.Service;
  18. import javax.transaction.Transactional;
  19. import java.util.Date;
  20. import java.util.List;
  21. import java.util.Map;
  22. /**
  23. * @author wangzhinan
  24. * @create 2018-06-08 15:42
  25. * @desc 任务规则
  26. **/
  27. @Service
  28. @Transactional
  29. public class TaskRuleService extends BaseJpaService<TaskRuleDO,TaskRuleDao>{
  30. @Autowired
  31. private JdbcTemplate jdbcTemplate;
  32. @Autowired
  33. private TaskRuleDao taskRuleDao;
  34. @Autowired
  35. private TaskDao taskDao;
  36. @Autowired
  37. private TaskPatientDetailDao taskPatientDetailDao;
  38. /**
  39. * 获取任务规则列表
  40. *
  41. * @param taskRuleDO 任务规则对象
  42. * @param page 页码
  43. * @param size 分页大小
  44. * @return
  45. */
  46. public Envelop<TaskRuleDO> selectByCondition(TaskRuleDO taskRuleDO, Integer page, Integer size){
  47. String sql = new ISqlUtils().getSql(taskRuleDO,page,size,"*");
  48. List<TaskRuleDO> taskRuleDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskRuleDO.class));
  49. String sqlcount = new ISqlUtils().getSql(taskRuleDO,0,0,"count");
  50. List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
  51. Long count = 0L;
  52. if(rstotal!=null&&rstotal.size()>0){
  53. count = (Long) rstotal.get(0).get("total");
  54. }
  55. return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskRuleDOS,page,size,count);
  56. }
  57. /**
  58. * 添加规则
  59. * @param taskRuleDO 任务规则对象
  60. * @return
  61. */
  62. public Envelop<Boolean> insert(TaskRuleDO taskRuleDO){
  63. Envelop<Boolean> envelop = new Envelop<>();
  64. taskRuleDO.setCreateTime(new Date());
  65. taskRuleDO.setUpdateTime(new Date());
  66. taskRuleDao.save(taskRuleDO);
  67. envelop.setObj(true);
  68. return envelop;
  69. }
  70. /**
  71. * 更新规则
  72. *
  73. * @param taskRuleDO 规则对象
  74. * @return
  75. */
  76. public Envelop<Boolean> update(TaskRuleDO taskRuleDO){
  77. Envelop<Boolean> envelop = new Envelop<>();
  78. String sql = ISqlUtils.getUpdateSql(taskRuleDO);
  79. jdbcTemplate.update(sql);
  80. envelop.setObj(true);
  81. return envelop;
  82. }
  83. /**
  84. * 批量删除规则
  85. *
  86. * @param ids []
  87. * @return
  88. */
  89. public Envelop<Boolean> batchDelete(List<String> ids){
  90. Envelop<Boolean> envelop = new Envelop<>();
  91. for (int i =0;i<ids.size();i++){
  92. TaskDO taskDO = taskDao.selectByTaskRuleId(ids.get(i));
  93. taskDO.setStatus(0);
  94. taskDO.setCreateTime(new Date());
  95. taskDO.setUpdateTime(new Date());
  96. taskDao.save(taskDO);
  97. List<TaskPatientDetailDO> taskPatientDetailDOS = taskPatientDetailDao.selectByTaskId(taskDO.getId());
  98. for (TaskPatientDetailDO taskPatientDetailDO:taskPatientDetailDOS){
  99. taskPatientDetailDO.setStatus(-1);
  100. taskPatientDetailDO.setCreateTime(new Date());
  101. taskPatientDetailDO.setUpdateTime(new Date());
  102. taskPatientDetailDao.save(taskPatientDetailDO);
  103. }
  104. TaskRuleDO taskRuleDO = taskRuleDao.findOne(ids.get(i));
  105. taskRuleDO.setStatus(0);
  106. taskRuleDO.setCreateTime(new Date());
  107. taskRuleDO.setUpdateTime(new Date());
  108. taskRuleDao.save(taskRuleDO);
  109. }
  110. return envelop;
  111. }
  112. }