|
@@ -0,0 +1,355 @@
|
|
|
+package com.xt.jygl.gkjygl.gklhxkgl.ctl;
|
|
|
+
|
|
|
+import java.text.ParseException;
|
|
|
+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 net.sf.json.JSONObject;
|
|
|
+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 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.SearchCondition;
|
|
|
+import com.xt.jygl.common.Utils;
|
|
|
+import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
|
|
|
+import com.xt.jygl.gkjcxx.gq.service.GqService;
|
|
|
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.GkjyrEntity;
|
|
|
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.service.GkjyrService;
|
|
|
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.GkjyrVo;
|
|
|
+import com.xt.jygl.gkjygl.gkjyr.xkzfz.entity.XkzfzEntity;
|
|
|
+import com.xt.jygl.gkjygl.gkjyr.xkzfz.vo.XkzfzVo;
|
|
|
+import com.xt.jygl.gkjygl.gkjyr.xkzxx.entity.XkzxxEntity;
|
|
|
+import com.xt.jygl.gkjygl.gkjyr.xkzxx.vo.XkzxxVo;
|
|
|
+import com.xt.jygl.gkjygl.gkjyxkgl.gkjyxksq.entity.XkzsqEntity;
|
|
|
+import com.xt.jygl.gkjygl.gklhxkgl.entity.LhxkglEntity;
|
|
|
+import com.xt.jygl.gkjygl.gklhxkgl.service.LhxkglService;
|
|
|
+import com.xt.jygl.gkjygl.gklhxkgl.vo.LhxkglVo;
|
|
|
+import com.xt.jygl.workflow.entity.TaskInfoEntity;
|
|
|
+import com.xt.jygl.workflow.service.TaskInfoService;
|
|
|
+import com.xtframe.core.anon.auth.RequiresPermissions;
|
|
|
+import com.xtframe.core.base.ctl.WebJsonResult;
|
|
|
+import com.xtframe.sec.common.BaseEntity;
|
|
|
+import com.xtframe.sec.common.SimplePageRequest;
|
|
|
+import com.xtframe.sec.user.entity.UserEntity;
|
|
|
+import com.xtframe.sec.utils.SecUtils;
|
|
|
+import com.xtframe.util.DateTime;
|
|
|
+import com.xtframe.util.StringUtils;
|
|
|
+
|
|
|
+@Controller
|
|
|
+@RequestMapping("/gklhxkgl")
|
|
|
+public class LhxkglCtl extends BaseWebCtl {
|
|
|
+ @Autowired
|
|
|
+ private LhxkglService lhxkglService;
|
|
|
+ @Autowired
|
|
|
+ private TaskInfoService taskInfoService;
|
|
|
+ @Autowired
|
|
|
+ private GkjyrService gkjyrService;
|
|
|
+ @Autowired
|
|
|
+ private GqService gqService;
|
|
|
+
|
|
|
+ @RequestMapping(value = "/main")
|
|
|
+ // @RequiresPermissions("gklhxkgl:main")
|
|
|
+ public String main(SimplePageRequest page, Model model, final HttpServletRequest request, final String szdid, final String szgkid, final String szgqid, final String gkjyr, final String fddbr, final String sqrdz, String menuid) throws JsonProcessingException {
|
|
|
+ UserEntity user = securityMgr.getCurrUser();
|
|
|
+ GkjyrEntity jyr = new GkjyrEntity();
|
|
|
+ if (!StringUtils.isEmpty(user.getSsjyr())) {
|
|
|
+ jyr = user.getSsjyr();
|
|
|
+ model.addAttribute("jyr", jyr);
|
|
|
+ }
|
|
|
+ model.addAttribute("user", user);
|
|
|
+ final Map<String, Object> cacheSCmap = CacheSearchCondition.cacheSCmap(request, "lhxkgl");
|
|
|
+
|
|
|
+ final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ // 查询条件
|
|
|
+ Specification<LhxkglEntity> spec = new Specification<LhxkglEntity>() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Predicate toPredicate(Root<LhxkglEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
|
|
|
+ List<Predicate> list = new ArrayList<Predicate>();
|
|
|
+ if (StringUtils.isNotEmpty(szdid)) {
|
|
|
+ list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
|
|
|
+ } else if (isGET(request)) {
|
|
|
+ String v = (String) CacheSearchCondition.cacheSCmapVal(cacheSCmap, "szdid");
|
|
|
+ if (StringUtils.isNotEmpty(v)) {
|
|
|
+ list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + v + "%"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // else if (StringUtils.isNotEmpty(SearchCondition.xkzsqszdid)
|
|
|
+ // && isGET(request)) {
|
|
|
+ // list.add(cb.like(root.get("szd").get("id").as(String.class),
|
|
|
+ // "%" + SearchCondition.xkzsqszdid + "%"));
|
|
|
+ // }
|
|
|
+ if (StringUtils.isNotEmpty(szgkid)) {
|
|
|
+ list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
|
|
|
+ } else if (isGET(request)) {
|
|
|
+ String v = (String) CacheSearchCondition.cacheSCmapVal(cacheSCmap, "szgkid");
|
|
|
+ if (StringUtils.isNotEmpty(v)) {
|
|
|
+ list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + v + "%"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // else if (StringUtils.isNotEmpty(SearchCondition.xkzsqszgkid)
|
|
|
+ // && isGET(request)) {
|
|
|
+ // list.add(cb.like(root.get("szgk").get("id").as(String.class),
|
|
|
+ // "%" + SearchCondition.xkzsqszgkid + "%"));
|
|
|
+ // }
|
|
|
+ if (StringUtils.isNotEmpty(szgqid)) {
|
|
|
+ list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
|
|
|
+ } else if (isGET(request)) {
|
|
|
+ String v = (String) CacheSearchCondition.cacheSCmapVal(cacheSCmap, "szgqid");
|
|
|
+ if (StringUtils.isNotEmpty(v)) {
|
|
|
+ list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + v + "%"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // else if (StringUtils.isNotEmpty(SearchCondition.xkzsqszgqid)
|
|
|
+ // && isGET(request)) {
|
|
|
+ // list.add(cb.like(root.get("szgq").get("id").as(String.class),
|
|
|
+ // "%" + SearchCondition.xkzsqszgqid + "%"));
|
|
|
+ // }
|
|
|
+ if (StringUtils.isNotEmpty(gkjyr)) {
|
|
|
+ list.add(cb.like(root.get("jyrmc").as(String.class), "%" + gkjyr + "%"));
|
|
|
+ } else if (isGET(request)) {
|
|
|
+ String v = (String) CacheSearchCondition.cacheSCmapVal(cacheSCmap, "gkjyr");
|
|
|
+ if (StringUtils.isNotEmpty(v)) {
|
|
|
+ list.add(cb.like(root.get("jyrmc").as(String.class), "%" + v + "%"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // else if (StringUtils.isNotEmpty(SearchCondition.xkzsqgkjyr)
|
|
|
+ // && isGET(request)) {
|
|
|
+ // list.add(cb.like(root.get("jyrmc").as(String.class), "%" +
|
|
|
+ // SearchCondition.xkzsqgkjyr + "%"));
|
|
|
+ // }
|
|
|
+ if (StringUtils.isNotEmpty(fddbr)) {
|
|
|
+ list.add(cb.like(root.get("fddbr").as(String.class), "%" + fddbr + "%"));
|
|
|
+ } else if (isGET(request)) {
|
|
|
+ String v = (String) CacheSearchCondition.cacheSCmapVal(cacheSCmap, "fddbr");
|
|
|
+ if (StringUtils.isNotEmpty(v)) {
|
|
|
+ list.add(cb.like(root.get("fddbr").as(String.class), "%" + v + "%"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // else if (StringUtils.isNotEmpty(SearchCondition.xkzsqfddbr)
|
|
|
+ // && isGET(request)) {
|
|
|
+ // list.add(cb.like(root.get("fddbr").as(String.class), "%" +
|
|
|
+ // SearchCondition.xkzsqfddbr + "%"));
|
|
|
+ // }
|
|
|
+ if (StringUtils.isNotEmpty(sqrdz)) {
|
|
|
+ list.add(cb.like(root.get("sqrdz").as(String.class), "%" + sqrdz + "%"));
|
|
|
+ } else if (isGET(request)) {
|
|
|
+ String v = (String) CacheSearchCondition.cacheSCmapVal(cacheSCmap, "sqrdz");
|
|
|
+ if (StringUtils.isNotEmpty(v)) {
|
|
|
+ list.add(cb.like(root.get("sqrdz").as(String.class), "%" + v + "%"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // else if (StringUtils.isNotEmpty(SearchCondition.xkzsqbgdd) &&
|
|
|
+ // isGET(request)) {
|
|
|
+ // list.add(cb.like(root.get("bgdd").as(String.class), "%" +
|
|
|
+ // SearchCondition.xkzsqbgdd + "%"));
|
|
|
+ // }
|
|
|
+ // 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
|
|
|
+ if (isJyr()) {
|
|
|
+ list.add(cb.like(root.get("jyrid").as(String.class), "%" + getSsjyr().getId() + "%"));
|
|
|
+ } 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.like(root.get("szd").get("id").as(String.class),
|
|
|
+ // "%" + SecUtils.getCurrUser().getSzd().getId() + "%"));
|
|
|
+ }
|
|
|
+ list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_DELETE));
|
|
|
+
|
|
|
+ return cb.and(list.toArray(new Predicate[] {}));
|
|
|
+ }
|
|
|
+ };
|
|
|
+ // 判断登录用户是否和上次登录用户相同,若不同则清空查询条件
|
|
|
+ String user1 = (String) Utils.getSession().getAttribute("userpre");
|
|
|
+ String user2 = SecUtils.getCurrUser().getId();
|
|
|
+ if (user2 != null) {
|
|
|
+ if (!user2.equals(user1)) {
|
|
|
+ SearchCondition.lhxkglpage = 1;
|
|
|
+ SearchCondition.lhxkglsqrdz = "";
|
|
|
+ SearchCondition.lhxkglfddbr = "";
|
|
|
+ SearchCondition.lhxkglgkjyr = "";
|
|
|
+ SearchCondition.lhxkglszdid = "";
|
|
|
+ SearchCondition.lhxkglszgkid = "";
|
|
|
+ SearchCondition.lhxkglszgqid = "";
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ Utils.getSession().setAttribute("userpre", user2);
|
|
|
+
|
|
|
+ // if (page.getPage() < 1) {
|
|
|
+ // page.setPage(SearchCondition.xkzsqpage);
|
|
|
+ // }
|
|
|
+ if (page.getPage() < 1) {
|
|
|
+ Object lhxkglpage = CacheSearchCondition.cacheSCmapVal(cacheSCmap, "lhxkglpage");
|
|
|
+ if (StringUtils.isEmpty(lhxkglpage) || !org.apache.commons.lang.StringUtils.isNumeric(String.valueOf(lhxkglpage))) {
|
|
|
+ lhxkglpage = "1";
|
|
|
+ }
|
|
|
+ page.setPage(Integer.valueOf(String.valueOf(lhxkglpage)));
|
|
|
+ }
|
|
|
+ page.setSort("createDateTime");
|
|
|
+ page.setOrder("desc");
|
|
|
+ Page<LhxkglEntity> list = query.findAll(spec, toPageRequest(page), LhxkglEntity.class);
|
|
|
+ List<LhxkglVo> voList = new ArrayList<LhxkglVo>();
|
|
|
+ for (LhxkglEntity entity : list) {
|
|
|
+ LhxkglVo vo = new LhxkglVo();
|
|
|
+ if (entity != null) {
|
|
|
+ BeanUtils.copyProperties(entity, vo);
|
|
|
+ if (entity.getRecordStatus() != 9) {
|
|
|
+ voList.add(vo);
|
|
|
+ }}
|
|
|
+ }
|
|
|
+ if (isPOST(request)) {
|
|
|
+ cacheSCmap.put("xkzsqpage", page.getPage());
|
|
|
+ CacheSearchCondition.putCacheSCmap(request.getParameterMap(), cacheSCmap);
|
|
|
+ System.out.println(JSONObject.fromObject(cacheSCmap));
|
|
|
+ }
|
|
|
+ System.out.println(isPOST(request));
|
|
|
+ model.addAttribute("list", voList);
|
|
|
+ model.addAttribute("menuid", menuid);
|
|
|
+ model.addAttribute("gkjyr", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "gkjyr"));
|
|
|
+ model.addAttribute("szgq", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "szgqid"));
|
|
|
+ model.addAttribute("szd", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "szdid"));
|
|
|
+ model.addAttribute("szgk", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "szgkid"));
|
|
|
+ model.addAttribute("fddbr", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "fddbr"));
|
|
|
+ model.addAttribute("sqrdz", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "sqrdz"));
|
|
|
+
|
|
|
+ // 翻页共通
|
|
|
+ putPageInfo(model, page, list);
|
|
|
+ return "gkjygl/gklhxkgl/lhxkglmain";
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 删除
|
|
|
+ @RequestMapping(value = "/delete")
|
|
|
+// @ResponseBody
|
|
|
+// @RequiresPermissions("gklhxkgl:delete")
|
|
|
+ public WebJsonResult logicdelete(Model model, String id) {
|
|
|
+ WebJsonResult wr = success();
|
|
|
+ try {
|
|
|
+ // 逻辑删除
|
|
|
+ lhxkglService.logicDelete(id);
|
|
|
+ LhxkglEntity entity = lhxkglService.findById(id);
|
|
|
+ GkjyrEntity gkjyr = gkjyrService.findOne(entity.getJyrid());
|
|
|
+ gkjyr.setRecordStatus(BaseEntity.RECORD_STATE_VALID);
|
|
|
+ gkjyrService.save(gkjyr);
|
|
|
+ } catch (Exception e) {
|
|
|
+ wr.setSuccess(false);
|
|
|
+ wr.setMessage("操作失败!");
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return wr;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 时间格式化
|
|
|
+ private String transFormatDate(Date d) {
|
|
|
+ if (d == null) {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ return sdf.format(d);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 新增
|
|
|
+ @RequestMapping(value = "/addmain")
|
|
|
+// @ResponseBody
|
|
|
+// @RequiresPermissions("gklhxkgl:add")
|
|
|
+ public String addmain(Model model, String flag, String path, String id) {
|
|
|
+ final UserEntity user = securityMgr.getCurrUser();
|
|
|
+ GkjyrEntity gkjyr = new GkjyrEntity();
|
|
|
+ if (user.getSsjyr() != null || !StringUtils.isEmpty(path)) {
|
|
|
+ if (StringUtils.isEmpty(path)) {
|
|
|
+ gkjyr = gkjyrService.findOne(user.getSsjyr().getId());
|
|
|
+ } else {
|
|
|
+ gkjyr = gkjyrService.findOne(id);
|
|
|
+ }
|
|
|
+ final String jyrid = gkjyr.getId();
|
|
|
+ // 许可证信息
|
|
|
+ Specification<LhxkglEntity> spec4 = new Specification<LhxkglEntity>() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Predicate toPredicate(Root<LhxkglEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
|
|
|
+ List<Predicate> list = new ArrayList<Predicate>();
|
|
|
+ list.add(cb.like(root.get("gkjyr").as(String.class), "%" + jyrid + "%"));
|
|
|
+ list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_DELETE));
|
|
|
+ return cb.and(list.toArray(new Predicate[] {}));
|
|
|
+ }
|
|
|
+ };
|
|
|
+ List<LhxkglEntity> list4 = query.findAll(spec4, LhxkglEntity.class);
|
|
|
+ List<LhxkglVo> voList4 = new ArrayList<LhxkglVo>();
|
|
|
+ for (LhxkglEntity entity : list4) {
|
|
|
+ LhxkglVo vo = new LhxkglVo();
|
|
|
+ if (entity != null && entity.getRecordStatus() != 9) {
|
|
|
+ BeanUtils.copyProperties(entity, vo);
|
|
|
+ vo.setLxr(entity.getLxr() != null ? entity.getLxr(): "");
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ model.addAttribute("xkzxx", voList4);
|
|
|
+ }
|
|
|
+ return "gkjygl/gklhxkgl/lhxkgladdmain";
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查看
|
|
|
+ @RequestMapping(value = "/viewmain")
|
|
|
+ public String viewmain(Model model, String id, String flag,String path,String menuid) {
|
|
|
+ model.addAttribute("path", path);
|
|
|
+ model.addAttribute("flag", flag);
|
|
|
+ UserEntity user = securityMgr.getCurrUser();
|
|
|
+ model.addAttribute("ry", user.getName());
|
|
|
+ SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ Date today = new Date();
|
|
|
+ model.addAttribute("sj", dateTimeFormat.format(today));
|
|
|
+ LhxkglEntity entity = lhxkglService.findById(id);
|
|
|
+ LhxkglVo vo = new LhxkglVo();
|
|
|
+ if(entity!=null){
|
|
|
+ BeanUtils.copyProperties(entity, vo);
|
|
|
+ try {
|
|
|
+ vo.setLxr(entity.getSqr() != null ? entity.getSqr(): "");
|
|
|
+ vo.setFddbr(entity.getFddbr()!=null?entity.getFddbr():"");
|
|
|
+ vo.setSqrlxdh(entity.getSqrlxdh()!=null?entity.getSqrlxdh():"");
|
|
|
+ vo.setSqryzbm(entity.getSqryzbm()!=null?entity.getSqryzbm():"");
|
|
|
+ vo.setSqrdz(entity.getSqrdz()!=null?entity.getSqrdz():"");
|
|
|
+ vo.setWtdlrxm(entity.getWtdlrxm()!=null?entity.getWtdlrxm():"");
|
|
|
+ vo.setWtdlrlxfs(entity.getWtdlrlxfs()!=null?entity.getWtdlrlxfs():"");
|
|
|
+ vo.setSqrq(entity.getSqrq()!=null?dateTimeFormat.parse(entity.getSqrq().toString()):null);
|
|
|
+ vo.setGsmc(entity.getGsmc()!=null?entity.getGsmc():"");
|
|
|
+ vo.setZcdz(entity.getZcdz()!=null?entity.getZcdz():"");
|
|
|
+ vo.setFddbr(entity.getFddbr()!=null?entity.getFddbr():"");
|
|
|
+ vo.setGsyyzzbh(entity.getGsyyzzbh()!=null?entity.getGsyyzzbh():"");
|
|
|
+ vo.setLxr(entity.getLxr()!=null?entity.getLxr():"");
|
|
|
+ vo.setZczb(entity.getZczb()!=null?entity.getZczb():"");
|
|
|
+ vo.setLxrdh(entity.getLxrdh()!=null?entity.getLxrdh():"");
|
|
|
+ vo.setJydy(entity.getJydy()!=null?entity.getJydy():"");
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ model.addAttribute("menuid", menuid);
|
|
|
+ model.addAttribute("record", vo);
|
|
|
+ return "gkjygl/gklhxkgl/lhxkglviewmain";
|
|
|
+ }
|
|
|
+
|
|
|
+}
|