QuChenColumnManagerImpl.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package com.key.dwsurvey.service.impl;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import org.hibernate.criterion.Criterion;
  5. import org.hibernate.criterion.Restrictions;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Service;
  8. import org.springframework.transaction.annotation.Transactional;
  9. import com.key.common.plugs.page.Page;
  10. import com.key.common.plugs.page.PropertyFilter;
  11. import com.key.common.service.BaseServiceImpl;
  12. import com.key.dwsurvey.dao.QuChenColumnDao;
  13. import com.key.dwsurvey.entity.QuChenColumn;
  14. import com.key.dwsurvey.service.QuChenColumnManager;
  15. /**
  16. * 矩陈题列
  17. * @author keyuan(keyuan258@gmail.com)
  18. *
  19. * https://github.com/wkeyuan/DWSurvey
  20. * http://dwsurvey.net
  21. */
  22. @Service
  23. public class QuChenColumnManagerImpl extends BaseServiceImpl<QuChenColumn, String> implements QuChenColumnManager {
  24. @Autowired
  25. private QuChenColumnDao chenColumnDao;
  26. @Override
  27. public void setBaseDao() {
  28. this.baseDao=chenColumnDao;
  29. }
  30. @Override
  31. public List<QuChenColumn> findByQuId(String quId) {
  32. Page<QuChenColumn> page=new Page<QuChenColumn>();
  33. page.setOrderBy("orderById");
  34. page.setOrderDir("asc");
  35. List<PropertyFilter> filters=new ArrayList<PropertyFilter>();
  36. filters.add(new PropertyFilter("EQS_quId", quId));
  37. filters.add(new PropertyFilter("EQI_visibility", "1"));
  38. return findAll(page, filters);
  39. }
  40. @Override
  41. public String getContentByQuId(String quId) {
  42. String content="";
  43. if(quId!=null && !"".equals(quId)){
  44. List<QuChenColumn> columns=findByQuId(quId);
  45. for (QuChenColumn quChenColumn : columns) {
  46. content+=quChenColumn.getOptionName()+"\r\n";
  47. }
  48. }
  49. return content;
  50. }
  51. public int getOrderById(String quId){
  52. Criterion criterion=Restrictions.eq("quId", quId);
  53. QuChenColumn quChenColumn=chenColumnDao.findFirst("orderById", false, criterion);
  54. if(quChenColumn!=null){
  55. return quChenColumn.getOrderById();
  56. }
  57. return 0;
  58. }
  59. @Override
  60. @Transactional
  61. public QuChenColumn upOptionName(String quId,String quItemId, String optionName) {
  62. if(quItemId!=null && !"".equals(quItemId)){
  63. QuChenColumn quChenColumn=chenColumnDao.get(quItemId);
  64. quChenColumn.setOptionName(optionName);
  65. chenColumnDao.save(quChenColumn);
  66. return quChenColumn;
  67. }else{
  68. //取orderById
  69. int orderById=getOrderById(quId);
  70. //新加选项
  71. QuChenColumn quChenColumn=new QuChenColumn();
  72. quChenColumn.setQuId(quId);
  73. quChenColumn.setOptionName(optionName);
  74. //title
  75. quChenColumn.setOrderById(++orderById);
  76. chenColumnDao.save(quChenColumn);
  77. return quChenColumn;
  78. }
  79. }
  80. @Override
  81. @Transactional
  82. public void ajaxDelete(String quItemId) {
  83. QuChenColumn quChenColumn=get(quItemId);
  84. quChenColumn.setVisibility(0);
  85. chenColumnDao.save(quChenColumn);
  86. }
  87. }