CbCtl.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. package com.xt.jygl.gkjcxx.cb.ctl;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.Map;
  5. import javax.persistence.criteria.CriteriaBuilder;
  6. import javax.persistence.criteria.CriteriaQuery;
  7. import javax.persistence.criteria.Predicate;
  8. import javax.persistence.criteria.Root;
  9. import javax.servlet.http.HttpServletRequest;
  10. import org.springframework.beans.BeanUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.data.domain.Page;
  13. import org.springframework.data.jpa.domain.Specification;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.ui.Model;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.ResponseBody;
  18. import cache.CacheSearchCondition;
  19. import com.fasterxml.jackson.core.JsonProcessingException;
  20. import com.xt.jygl.common.BaseWebCtl;
  21. import com.xt.jygl.common.SearchCondition;
  22. import com.xt.jygl.common.Utils;
  23. import com.xt.jygl.gkjcxx.cb.entity.CbEntity;
  24. import com.xt.jygl.gkjcxx.cb.service.CbService;
  25. import com.xt.jygl.gkjcxx.cb.vo.CbVo;
  26. import com.xtframe.core.support.SecurityMgr;
  27. import com.xtframe.sec.common.QueryService;
  28. import com.xtframe.sec.common.SimplePageRequest;
  29. import com.xtframe.sec.utils.SecUtils;
  30. import com.xtframe.util.StringUtils;
  31. /**
  32. * 船舶管理Controller
  33. *
  34. * @author yinyt
  35. *
  36. */
  37. @Controller
  38. @RequestMapping("/cb")
  39. public class CbCtl extends BaseWebCtl {
  40. @Autowired
  41. private SecurityMgr securityMgr;
  42. @Autowired
  43. private QueryService query;
  44. @Autowired
  45. private CbService cbService;
  46. /**
  47. * 船舶管理
  48. *
  49. * @return
  50. */
  51. @RequestMapping(value = "/main")
  52. public String main(SimplePageRequest page, Model model,final HttpServletRequest request, final String zwcm, final String ywcm, final String cbsyr, String menuid) throws JsonProcessingException {
  53. final Map<String, Object> cacheSCmap = CacheSearchCondition.cacheSCmap(request,"cb");
  54. // 查詢條件
  55. Specification<CbEntity> spec = new Specification<CbEntity>() {
  56. @Override
  57. public Predicate toPredicate(Root<CbEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
  58. List<Predicate> list = new ArrayList<Predicate>();
  59. if (StringUtils.isNotEmpty(zwcm)) {
  60. list.add(cb.like(root.get("zwcm").as(String.class), "%" + zwcm + "%"));
  61. }else if(isGET(request)){
  62. //list.add(cb.like(root.get("zwcm").as(String.class), "%" + SearchCondition.zwcm + "%"));
  63. CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, null,"zwcm");
  64. }
  65. if (StringUtils.isNotEmpty(ywcm)) {
  66. list.add(cb.like(root.get("ywcm").as(String.class), "%" + ywcm + "%"));
  67. }else if(isGET(request)){
  68. CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, null,"ywcm");
  69. }
  70. if (StringUtils.isNotEmpty(cbsyr)) {
  71. list.add(cb.like(root.get("cbsyr").as(String.class), "%" + cbsyr + "%"));
  72. }else if(isGET(request)){
  73. //list.add(cb.like(root.get("cbsyr").as(String.class), "%" + SearchCondition.cbsyr + "%"));
  74. CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, null,"cbsyr");
  75. }
  76. return cb.and(list.toArray(new Predicate[] {}));
  77. }
  78. };
  79. /*String user1 = (String) Utils.getSession().getAttribute("user");
  80. String user2 = SecUtils.getCurrUser().getId();
  81. if(user2!=null){
  82. if(!user2.equals(user1)){
  83. SearchCondition.cbpage=1;
  84. SearchCondition.zwcm="";
  85. SearchCondition.ywcm="";
  86. SearchCondition.cbsyr="";
  87. }
  88. }
  89. Utils.getSession().setAttribute("user", user2);*/
  90. /*if(page.getPage()<1){
  91. page.setPage(SearchCondition.cbpage);
  92. }*/
  93. if (page.getPage() < 1) {
  94. Object cbpage = CacheSearchCondition.cacheSCmapVal(cacheSCmap, "cbpage");
  95. if (StringUtils.isEmpty(cbpage) || !org.apache.commons.lang.StringUtils.isNumeric(String.valueOf(cbpage))) {
  96. cbpage = "1";
  97. }
  98. page.setPage(Integer.valueOf(String.valueOf(cbpage)));
  99. }
  100. page.setSort("id");
  101. page.setOrder("desc");
  102. Page<CbEntity> list = query.findAll(spec, toPageRequest(page), CbEntity.class);
  103. List<CbEntity> voList = new ArrayList<CbEntity>();
  104. for (CbEntity entity : list) {
  105. voList.add(entity);
  106. }
  107. /*if(isPOST(request)){
  108. SearchCondition.cbpage=page.getPage();
  109. SearchCondition.zwcm=zwcm;
  110. SearchCondition.ywcm=ywcm;
  111. SearchCondition.cbsyr=cbsyr;
  112. }*/
  113. if (isPOST(request)) {
  114. cacheSCmap.put("cbpage", page.getPage());
  115. CacheSearchCondition.putCacheSCmap(request.getParameterMap(), cacheSCmap);
  116. }
  117. model.addAttribute("list", voList);
  118. model.addAttribute("zwcm", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "zwcm"));
  119. model.addAttribute("ywcm", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "ywcm"));
  120. model.addAttribute("cbsyr", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "cbsyr"));
  121. model.addAttribute("menuid", menuid);
  122. // 翻页共通
  123. putPageInfo(model, page, list);
  124. return "gkjcxx/cb/cbmain";
  125. }
  126. @RequestMapping(value = "/view")
  127. public String view(SimplePageRequest page, Model model, final String cbbh) {
  128. // 查詢條件
  129. Specification<CbEntity> spec = new Specification<CbEntity>() {
  130. @Override
  131. public Predicate toPredicate(Root<CbEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
  132. List<Predicate> list = new ArrayList<Predicate>();
  133. if (StringUtils.isNotEmpty(cbbh)) {
  134. list.add(cb.like(root.get("cbbh").as(String.class), "%" + cbbh + "%"));
  135. }
  136. return cb.and(list.toArray(new Predicate[] {}));
  137. }
  138. };
  139. page.setOrder("asc");
  140. page.setSort("czsj");
  141. Page<CbEntity> list = query.findAll(spec, toPageRequest(page), CbEntity.class);
  142. List<CbEntity> voList = new ArrayList<CbEntity>();
  143. for (CbEntity entity : list) {
  144. voList.add(entity);
  145. }
  146. model.addAttribute("record", voList.get(0));
  147. return "gkjcxx/cb/cbview";
  148. }
  149. @RequestMapping(value = "/findById")
  150. @ResponseBody
  151. public CbVo findById(String id) {
  152. CbEntity cb = cbService.findOne(id);
  153. CbVo vo = new CbVo();
  154. if (cb != null) {
  155. BeanUtils.copyProperties(cb, vo);
  156. }
  157. return vo;
  158. }
  159. }