123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- package com.xt.jygl.gkjcxx.cb.ctl;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import javax.persistence.criteria.CriteriaBuilder;
- import javax.persistence.criteria.CriteriaQuery;
- import javax.persistence.criteria.Predicate;
- import javax.persistence.criteria.Root;
- import javax.servlet.http.HttpServletRequest;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.domain.Page;
- import org.springframework.data.jpa.domain.Specification;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import cache.CacheSearchCondition;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.xt.jygl.common.BaseWebCtl;
- import com.xt.jygl.common.SearchCondition;
- import com.xt.jygl.common.Utils;
- import com.xt.jygl.gkjcxx.cb.entity.CbEntity;
- import com.xt.jygl.gkjcxx.cb.service.CbService;
- import com.xt.jygl.gkjcxx.cb.vo.CbVo;
- import com.xtframe.core.support.SecurityMgr;
- import com.xtframe.sec.common.QueryService;
- import com.xtframe.sec.common.SimplePageRequest;
- import com.xtframe.sec.utils.SecUtils;
- import com.xtframe.util.StringUtils;
- /**
- * 船舶管理Controller
- *
- * @author yinyt
- *
- */
- @Controller
- @RequestMapping("/cb")
- public class CbCtl extends BaseWebCtl {
- @Autowired
- private SecurityMgr securityMgr;
- @Autowired
- private QueryService query;
- @Autowired
- private CbService cbService;
- /**
- * 船舶管理
- *
- * @return
- */
- @RequestMapping(value = "/main")
- public String main(SimplePageRequest page, Model model,final HttpServletRequest request, final String zwcm, final String ywcm, final String cbsyr, String menuid) throws JsonProcessingException {
- final Map<String, Object> cacheSCmap = CacheSearchCondition.cacheSCmap(request,"cb");
- // 查詢條件
- Specification<CbEntity> spec = new Specification<CbEntity>() {
- @Override
- public Predicate toPredicate(Root<CbEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
- List<Predicate> list = new ArrayList<Predicate>();
- if (StringUtils.isNotEmpty(zwcm)) {
- list.add(cb.like(root.get("zwcm").as(String.class), "%" + zwcm + "%"));
- }else if(isGET(request)){
- //list.add(cb.like(root.get("zwcm").as(String.class), "%" + SearchCondition.zwcm + "%"));
- CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, null,"zwcm");
- }
- if (StringUtils.isNotEmpty(ywcm)) {
- list.add(cb.like(root.get("ywcm").as(String.class), "%" + ywcm + "%"));
- }else if(isGET(request)){
- CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, null,"ywcm");
- }
- if (StringUtils.isNotEmpty(cbsyr)) {
- list.add(cb.like(root.get("cbsyr").as(String.class), "%" + cbsyr + "%"));
- }else if(isGET(request)){
- //list.add(cb.like(root.get("cbsyr").as(String.class), "%" + SearchCondition.cbsyr + "%"));
- CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, null,"cbsyr");
- }
- return cb.and(list.toArray(new Predicate[] {}));
- }
- };
-
- if (page.getPage() < 1) {
- Object cbpage = CacheSearchCondition.cacheSCmapVal(cacheSCmap, "cbpage");
- if (StringUtils.isEmpty(cbpage) || !org.apache.commons.lang.StringUtils.isNumeric(String.valueOf(cbpage))) {
- cbpage = "1";
- }
- page.setPage(Integer.valueOf(String.valueOf(cbpage)));
- }
- page.setSort("id");
- page.setOrder("desc");
- Page<CbEntity> list = query.findAll(spec, toPageRequest(page), CbEntity.class);
- List<CbEntity> voList = new ArrayList<CbEntity>();
- for (CbEntity entity : list) {
- voList.add(entity);
- }
-
- if (isPOST(request)) {
- cacheSCmap.put("cbpage", page.getPage());
- CacheSearchCondition.putCacheSCmap(request.getParameterMap(), cacheSCmap);
- }
- model.addAttribute("list", voList);
- model.addAttribute("zwcm", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "zwcm"));
- model.addAttribute("ywcm", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "ywcm"));
- model.addAttribute("cbsyr", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "cbsyr"));
- model.addAttribute("menuid", menuid);
-
-
- // 翻页共通
- putPageInfo(model, page, list);
- return "gkjcxx/cb/cbmain";
- }
- @RequestMapping(value = "/view")
- public String view(SimplePageRequest page, Model model, final String cbbh) {
- // 查詢條件
- Specification<CbEntity> spec = new Specification<CbEntity>() {
- @Override
- public Predicate toPredicate(Root<CbEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
- List<Predicate> list = new ArrayList<Predicate>();
- if (StringUtils.isNotEmpty(cbbh)) {
- list.add(cb.like(root.get("cbbh").as(String.class), "%" + cbbh + "%"));
- }
- return cb.and(list.toArray(new Predicate[] {}));
- }
- };
- page.setOrder("asc");
- page.setSort("czsj");
- Page<CbEntity> list = query.findAll(spec, toPageRequest(page), CbEntity.class);
- List<CbEntity> voList = new ArrayList<CbEntity>();
- for (CbEntity entity : list) {
- voList.add(entity);
- }
- model.addAttribute("record", voList.get(0));
- return "gkjcxx/cb/cbview";
- }
-
- @RequestMapping(value = "/findById")
- @ResponseBody
- public CbVo findById(String id) {
- CbEntity cb = cbService.findOne(id);
- CbVo vo = new CbVo();
- if (cb != null) {
- BeanUtils.copyProperties(cb, vo);
- }
- return vo;
- }
- }
|