123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311 |
- package com.xt.jygl.gkjcxx.zyq.ctl;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- 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.persistence.criteria.CriteriaBuilder.In;
- 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.Constants;
- import com.xt.jygl.common.GlobalData;
- import com.xt.jygl.common.SearchCondition;
- import com.xt.jygl.common.Utils;
- import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
- import com.xt.jygl.gkjcxx.gk.service.GkService;
- import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
- import com.xt.jygl.gkjcxx.gq.service.GqService;
- import com.xt.jygl.gkjcxx.xzdwxxgl.xzglbmxx.service.XzglbmxxService;
- import com.xt.jygl.gkjcxx.zyq.client.ZyqWebService;
- import com.xt.jygl.gkjcxx.zyq.entity.ZyqEntity;
- import com.xt.jygl.gkjcxx.zyq.service.ZyqService;
- import com.xt.jygl.gkjcxx.zyq.vo.ZyqVo;
- import com.xtframe.core.anon.auth.RequiresPermissions;
- import com.xtframe.core.base.ctl.WebJsonResult;
- import com.xtframe.core.support.SecurityMgr;
- import com.xtframe.sec.code.entity.CodeEntity;
- import com.xtframe.sec.common.BaseEntity;
- 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 zhaohang
- *
- */
- @Controller
- @RequestMapping("/zyq")
- public class ZyqCtl extends BaseWebCtl {
- @Autowired
- private SecurityMgr securityMgr;
- @Autowired
- private QueryService query;
- @Autowired
- private ZyqService zyqService;
- @Autowired
- private GqService gqService;
- @Autowired
- private GkService gkService;
- @Autowired
- private XzglbmxxService xzglbmService;
- /**
- * 一览页面
- *
- * @param page
- * 分页
- * @param model
- * @param request
- * @param zyqmc
- * 作业区名称
- * @param szgkid
- * 所在港口ID
- * @param szgqid
- * 所在港区ID
- * @param szdid
- * 所在地ID
- * @param menuid
- * @return
- * @throws JsonProcessingException
- */
- @RequestMapping(value = "/main")
- @RequiresPermissions("zyqgl:main")
- public String main(SimplePageRequest page, Model model, final HttpServletRequest request, final String zyqmc, final String szgkid, final String szgqid, final String szdid, String menuid) throws JsonProcessingException {
- final Map<String, Object> cacheSCmap = CacheSearchCondition.cacheSCmap(request, "zyqgl");
- // 查詢條件
- Specification<ZyqEntity> spec = new Specification<ZyqEntity>() {
- @Override
- public Predicate toPredicate(Root<ZyqEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
- List<Predicate> list = new ArrayList<Predicate>();
- if (StringUtils.isNotEmpty(zyqmc)) {
- list.add(cb.like(root.get("zyqmc").as(String.class), "%" + zyqmc + "%"));
- } else if (isGET(request)) {
- CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, null, "zyqmc");
- }
- if (StringUtils.isNotEmpty(szgkid)) {
- list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
- } else if (isGET(request)) {
- CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, "id", "szgk", "szgkid");
- }
- if (StringUtils.isNotEmpty(szgqid)) {
- list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
- } else if (isGET(request)) {
- CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, "id", "szgq", "szgqid");
- }
- if (StringUtils.isNotEmpty(szdid)) {
- list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
- } else if (isGET(request)) {
- CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, "id", "szd", "szdid");
- }
- if (isJyr()) {
- } else {
- In<String> in = cb.in(root.get("szgq").get("id").as(String.class));
- @SuppressWarnings("unchecked")
- List<String> gqlist = (List<String>) Utils.getSession().getAttribute("gqList");
- if (gqlist != null && gqlist.size() > 0) {
- for (int i = 0; i < gqlist.size(); i++) {
- in.value(gqlist.get(i));
- }
- list.add(in);
- }
- }
- list.add(cb.notEqual(root.get("recordStatus").as(String.class), BaseEntity.RECORD_STATE_DELETE));
- return cb.and(list.toArray(new Predicate[] {}));
- }
- };
- if (page.getPage() < 1) {
- page.setPage(SearchCondition.zyqpage);
- }
- page.setSort("id");
- page.setOrder("desc");
- Page<ZyqEntity> list = query.findAll(spec, toPageRequest(page), ZyqEntity.class);
- List<ZyqVo> voList = new ArrayList<ZyqVo>();
- for (ZyqEntity entity : list) {
- ZyqVo vo = new ZyqVo();
- BeanUtils.copyProperties(entity, vo);
- vo.setSzd(entity.getSzd() != null ? entity.getSzd().getId() : "");
- vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
- vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
- vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
- vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
- vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
- voList.add(vo);
- }
- if (isPOST(request)) {
- SearchCondition.zyqpage = page.getPage();
- // cacheSCmap.put("zyqpage", page.getPage());
- CacheSearchCondition.putCacheSCmap(request.getParameterMap(), cacheSCmap);
- }
- model.addAttribute("szd", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "szdid"));
- model.addAttribute("zyqmc", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "zyqmc"));
- model.addAttribute("szgq", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "szgqid"));
- model.addAttribute("szgk", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "szgkid"));
- model.addAttribute("menuid", menuid);
- model.addAttribute("list", voList);
- // 翻页共通
- putPageInfo(model, page, list);
- return "gkjcxx/zyq/zyqmain";
- }
- @RequestMapping(value = "/add")
- @RequiresPermissions("zyqgl:add")
- public String add(Model model) {
- if (SecUtils.getCurrUser() != null) {
- List<CodeEntity> list = securityMgr.codeService().findValidCodesByGroupCodeAndCity(Constants.GROUP_CODE_SZD, GlobalData.CITY_CODE);
- model.addAttribute("sz", list.size() == 1 ? list.get(0).getId() : "");
- if (list.size() == 1) {
- List<GkEntity> gklist = gkService.findBySzd(list.get(0).getId());
- model.addAttribute("gk", gklist.size() == 1 ? gklist.get(0).getId() : "");
- }
- }
- SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyyMMddHHmmss");
- String zyid = dateTimeFormat.format(new Date());
- model.addAttribute("zyid", zyid);
- return "gkjcxx/zyq/zyqadd";
- }
- // 保存数据
- @RequestMapping(value = "/save")
- @ResponseBody
- @RequiresPermissions("zyqgl:add")
- public WebJsonResult save(Model model, ZyqEntity code, String szdid, String szgkid, String szgqid) {
- WebJsonResult wr = success();
- if (StringUtils.isEmpty(szdid)) {
- wr.setSuccess(false);
- wr.setMessage("请选择所在地");
- return wr;
- }
- if (StringUtils.isEmpty(szgkid)) {
- wr.setSuccess(false);
- wr.setMessage("请选择所在港口");
- return wr;
- }
- if (StringUtils.isEmpty(szgqid)) {
- wr.setSuccess(false);
- wr.setMessage("请选择所在港区");
- return wr;
- }
- ZyqEntity zyq = new ZyqEntity();
- try {
- if (!StringUtils.isEmpty(code.getId())) {
- zyq = zyqService.findOne(code.getId());
- }
- CodeEntity szd = new CodeEntity(szdid);
- zyq.setSzd(szd);
- GkEntity szgk = new GkEntity();
- szgk.setId(szgkid);
- zyq.setSzgk(szgk);
- GqEntity szgq = new GqEntity();
- szgq.setId(szgqid);
- zyq.setSzgq(szgq);
- GqEntity gq = gqService.findOne(szgqid);
- zyq.setSsgkglbm(gq.getSsgkglbm());
- zyq.setZyqmc(code.getZyqmc());
- zyq.setZyqyt(code.getZyqyt());
- zyq.setBz(code.getBz());
- zyq.setZyid(code.getZyid());
- zyqService.save(zyq);
- } catch (Exception e) {
- wr.setSuccess(false);
- wr.setMessage("操作失败!");
- e.printStackTrace();
- }
- return wr;
- }
- @RequestMapping(value = "/delete")
- @ResponseBody
- @RequiresPermissions("zyqgl:delete")
- public WebJsonResult delete(Model model, String id) {
- WebJsonResult wr = success();
- try {
- zyqService.logicDelete(id);
- // 如果是市级删除,省级也删除
- ZyqEntity zyq = zyqService.findOne(id);
- try {
- if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) && needWS()) {
- ZyqWebService webService = zyqService.getWebService(null);
- webService.delete(id);
- zyq.setTbzt(Constants.YES);
- zyqService.save(zyq);
- }
- } catch (Exception e) {
- zyq.setTbzt(Constants.NO);
- zyqService.save(zyq);
- }
- } catch (Exception e) {
- wr.setSuccess(false);
- wr.setMessage("操作失败!");
- e.printStackTrace();
- }
- return wr;
- }
- @RequestMapping(value = "/edit")
- @RequiresPermissions("zyqgl:edit")
- public String edit(Model model, String id) {
- ZyqEntity zyq = zyqService.findOne(id);
- ZyqVo vo = new ZyqVo();
- BeanUtils.copyProperties(zyq, vo);
- vo.setSzd(zyq.getSzd() != null ? zyq.getSzd().getId() : "");
- vo.setSzgk(zyq.getSzgk() != null ? zyq.getSzgk().getId() : "");
- vo.setSzgq(zyq.getSzgq() != null ? zyq.getSzgq().getId() : "");
- if (StringUtils.isEmpty(vo.getZyid())) {
- SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyyMMddHHmmss");
- String zyid = dateTimeFormat.format(new Date());
- vo.setZyid(zyid);
- }
- model.addAttribute("record", vo);
- return "gkjcxx/zyq/zyqedit";
- }
- @RequestMapping(value = "/view")
- @RequiresPermissions("zyqgl:main")
- public String view(Model model, String id) {
- ZyqEntity zyq = zyqService.findOne(id);
- ZyqVo vo = new ZyqVo();
- BeanUtils.copyProperties(zyq, vo);
- vo.setSzd(zyq.getSzd() != null ? zyq.getSzd().getId() : "");
- vo.setSzdzw(zyq.getSzd() != null ? zyq.getSzd().getText() : "");
- vo.setSzgk(zyq.getSzgk() != null ? zyq.getSzgk().getId() : "");
- vo.setSzgkzw(zyq.getSzgk() != null ? zyq.getSzgk().getGkmc() : "");
- vo.setSzgq(zyq.getSzgq() != null ? zyq.getSzgq().getId() : "");
- vo.setSzgqzw(zyq.getSzgq() != null ? zyq.getSzgq().getGqmc() : "");
- model.addAttribute("record", vo);
- return "gkjcxx/zyq/zyqview";
- }
- @RequestMapping(value = "/selZyq")
- @ResponseBody
- public List<ZyqEntity> selZyq(String gkid) {
- List<ZyqEntity> list = zyqService.findByGkid(gkid);
- return list;
- }
- }
|