123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323 |
- package com.xt.jygl.sys.ctl;
- import java.io.BufferedInputStream;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.math.BigDecimal;
- import java.net.URLEncoder;
- import java.sql.Timestamp;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import javax.persistence.criteria.CriteriaBuilder;
- import javax.persistence.criteria.CriteriaQuery;
- import javax.persistence.criteria.Expression;
- import javax.persistence.criteria.Predicate;
- import javax.persistence.criteria.Root;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.poi.hssf.util.HSSFColor.GOLD;
- import org.springframework.beans.factory.annotation.Autowired;
- 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 com.xt.jygl.accessory.entity.AccessoryEntity;
- import com.xt.jygl.common.BaseWebCtl;
- import com.xt.jygl.common.Constants;
- import com.xt.jygl.common.GlobalData;
- 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.gkjygl.cghzyxxgl.dcsb.entity.DcsbEntity;
- import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.BwEntity;
- import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.GkjyrEntity;
- import com.xt.jygl.gkjygl.gkjyr.xkzxx.entity.XkzxxEntity;
- import com.xtframe.core.base.ctl.WebJsonResult;
- import com.xtframe.sec.common.BaseEntity;
- import com.xtframe.util.StringUtils;
- /**
- */
- @Controller
- @RequestMapping("/index")
- public class IndexCtl extends BaseWebCtl {
- @Autowired
- private GkService gkService;
- @Autowired
- private GqService gqService;
- @RequestMapping(value = "/main")
- public String main(Model model, String menuid) {
- boolean isJyr = false;
- // Map<String, Object> map = getXx(GlobalData.CITY_CODE,null,null);
- //
- // model.addAttribute("jyrnum", map.get("jyrnum"));
- //
- // model.addAttribute("bwnum", map.get("bwnum"));
- //
- // model.addAttribute("wdjysbw", map.get("wdjysbw"));
- //
- // model.addAttribute("bwztul", map.get("bwztul"));
- //
- // model.addAttribute("drphsqs", map.get("drphsqs"));
- //
- // model.addAttribute("whjyr", map.get("whjyr"));
- if (Constants.DEPLOY_MODE_CITY.equals(GlobalData.DEPLOY_MODE)) {
- List<GqEntity> gqList = gqService.findBySzd(GlobalData.CITY_CODE);
- List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
- Map<String, Object> map = getXx(GlobalData.CITY_CODE, null, null);
- map.put("szgq", "合计");
- map.put("szgqid", "");
- list.add(map);
- if (gqList != null && gqList.size() > 0) {
- for (GqEntity gq : gqList) {
- Map<String, Object> xxMap = getXx(null, null, gq.getId());
- xxMap.put("szgq", gq.getGqmc());
- xxMap.put("szgqid", gq.getId());
- list.add(xxMap);
- }
- }
- model.addAttribute("list", list);
- }
- if(GlobalData.CITY_CODE.equals("90016")){
- isJyr = isJyr();
- }
- model.addAttribute("menuid", menuid);
- model.addAttribute("citycode", GlobalData.CITY_CODE);
- model.addAttribute("cityname", GlobalData.CITY_NAME);
- model.addAttribute("isJyr", isJyr);
- return "index/indexmain";
- }
- // 三个参数 只会有一个参数是有值的
- public Map<String, Object> getXx(final String szdid, final String gkid, final String gqid) {
- Map<String, Object> map = new HashMap<String, Object>();
- // 经营人个数
- Specification<GkjyrEntity> spec = new Specification<GkjyrEntity>() {
- @Override
- public Predicate toPredicate(Root<GkjyrEntity> 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 + "%"));
- }
- if (StringUtils.isNotEmpty(gkid)) {
- list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + gkid + "%"));
- }
- if (StringUtils.isNotEmpty(gqid)) {
- list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + gqid + "%"));
- }
- //list.add(cb.equal(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_VALID));
- list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
- list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_DELETE));
- list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_BGFLAG));
- list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_ZXFLAG));
- return cb.and(list.toArray(new Predicate[] {}));
- }
- };
- List<GkjyrEntity> gkjyrlist = query.findAll(spec, GkjyrEntity.class);
- int jyrnum = gkjyrlist != null ? gkjyrlist.size() : 0;
- map.put("jyrnum", jyrnum + "");
- // 危险货物经营人个数
- int whjyr = 0;
- if (gkjyrlist != null) {
- for (GkjyrEntity gkjyrEntity : gkjyrlist) {
- if (gkjyrEntity.getSfwhqy() != null && gkjyrEntity.getSfwhqy().getText().equals("是")) {
- whjyr += 1;
- }
- }
- }
- map.put("whjyr", whjyr + "");
- // 泊位总数量
- Specification<BwEntity> spec2 = new Specification<BwEntity>() {
- @Override
- public Predicate toPredicate(Root<BwEntity> 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 + "%"));
- }
- if (StringUtils.isNotEmpty(gkid)) {
- list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + gkid + "%"));
- }
- if (StringUtils.isNotEmpty(gqid)) {
- list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + gqid + "%"));
- }
- list.add(cb.equal(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_VALID));
- return cb.and(list.toArray(new Predicate[] {}));
- }
- };
- List<BwEntity> bwlist = query.findAll(spec2, BwEntity.class);
- int bwnum = bwlist != null ? bwlist.size() : 0;
- map.put("bwnum", bwnum + "");
-
- //许可证有效期 内的企业数
- Specification<XkzxxEntity> spec4 = new Specification<XkzxxEntity>() {
- @Override
- public Predicate toPredicate(Root<XkzxxEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
- List<Predicate> list = new ArrayList<Predicate>();
- if (StringUtils.isNotEmpty(gqid)) {
- list.add(cb.equal(root.get("ssgq").as(String.class), gqid));
- }
- list.add(cb.equal(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_VALID));
- list.add(cb.equal(root.get("sfyx").as(Integer.class), BaseEntity.RECORD_STATE_VALID));
- return cb.and(list.toArray(new Predicate[] {}));
- }
- };
- List<XkzxxEntity> qyslist = query.findAll(spec4, XkzxxEntity.class);
- map.put("xkzyxqnqys", qyslist.size());
- // 万吨级以上泊位个数
- int wdjysbw = 0;
- if (bwlist != null) {
- for (BwEntity bwEntity : bwlist) {
- if (bwEntity.getSjkpnl() != null && bwEntity.getSjkpnl() > 10000) {
- wdjysbw += 1;
- }
- }
- }
- map.put("wdjysbw", wdjysbw + "");
- // 设计总靠泊能力
- double bwztul = 0;
- for (BwEntity bw : bwlist) {
- if (null != bw.getNhwtgnl()) {
- bwztul += Double.parseDouble(bw.getNhwtgnl());
- }else if(null==bw.getNhwtgnl()&&bw.getNjzxtgnl()!=null){
- bwztul += Double.parseDouble(bw.getNjzxtgnl());
- bwztul = bwztul*10;
- }
- }
- bwztul = bwztul / 10000;
- BigDecimal bc = new BigDecimal(bwztul);
- bwztul = bc.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
- map.put("bwztul", bwztul + "");
- // 当日普货申请数及当日总吞吐量
- int drphsqs = 0;
- double drzttl = 0;
- Specification<DcsbEntity> spec3 = new Specification<DcsbEntity>() {
- @Override
- public Predicate toPredicate(Root<DcsbEntity> 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 + "%"));
- }
- if (StringUtils.isNotEmpty(gkid)) {
- list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + gkid + "%"));
- }
- if (StringUtils.isNotEmpty(gqid)) {
- list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + gqid + "%"));
- }
- list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
- list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_DELETE));
- Calendar startCal = Calendar.getInstance();
- startCal.set(Calendar.HOUR_OF_DAY, 0);
- startCal.set(Calendar.MINUTE, 0);
- startCal.set(Calendar.SECOND, 0);
- Expression<Date> issueStart = cb.literal(startCal.getTime());
- Calendar endCal = Calendar.getInstance();
- endCal.setTime(startCal.getTime());
- endCal.add(Calendar.DAY_OF_MONTH, 1);
- endCal.add(Calendar.SECOND, -1);
- Expression<Date> issueEnd = cb.literal(endCal.getTime());
- list.add(cb.between(root.get("bgsj").as(Timestamp.class), issueStart, issueEnd));
- return cb.and(list.toArray(new Predicate[] {}));
- }
- };
- List<DcsbEntity> dcsblist = query.findAll(spec3, DcsbEntity.class);
- for (DcsbEntity dcsb : dcsblist) {
- // String creatTime = new
- // SimpleDateFormat("yyyy-MM-dd").format(dcsb.getCreateDateTime());
- // String today = new SimpleDateFormat("yyyy-MM-dd").format(new
- // Date());
- // if (today.equals(creatTime)) {
- // drphsqs += 1;
- // }
- drphsqs += 1;
- drzttl += dcsb.getZysl();
- }
- map.put("drphsqs", drphsqs + "");
- map.put("drzttl", drzttl + "");
- return map;
- }
- @RequestMapping(value = "/getData")
- @ResponseBody
- public WebJsonResult getData(Model model, String gkid, String gqid) {
- WebJsonResult wr = success();
- try {
- Map<String, Object> map = getXx(null, gkid, gqid);
- if (!StringUtils.isEmpty(gkid)) {
- GkEntity gk = gkService.findOne(gkid);
- map.put("title", gk != null ? gk.getGkmc() : "");
- }
- if (!StringUtils.isEmpty(gqid)) {
- GqEntity gq = gqService.findOne(gqid);
- map.put("title", gq != null ? gq.getGqmc() : "");
- }
- wr.setAttrs(map);
- } catch (Exception e) {
- wr.setSuccess(false);
- wr.setMessage("操作失败!");
- e.printStackTrace();
- }
- return wr;
- }
-
-
- /*下载用户操作手册:
- *市级: 经营人 2
- 行政人员 1
- *省级:行政人员 0
- */
- @RequestMapping(value = "/downloadUserOperationFile")
- public WebJsonResult downloadUserOperationFile(String userId, HttpServletRequest request,HttpServletResponse response) {
- // path是指欲下载的文件的路径。
- String path = "";
- String fileName = "";
- if(userId.equals("0")){
- path = GlobalData.UPLOAD_FILE_PATH + "\\userOperationFile\\1.pdf";
- fileName = "省厅行政人员系统操作手册.pdf";
- }else if(userId.equals("1")){
- path = GlobalData.UPLOAD_FILE_PATH + "\\userOperationFile\\2.pdf";
- fileName = "市级行政人员系统操作手册.pdf";
- }else{
- path = GlobalData.UPLOAD_FILE_PATH + "\\userOperationFile\\3.pdf";
- fileName = "市级经营人系统操作手册.pdf";
- }
- try {
- // 以流的形式下载文件。
- InputStream fis = new BufferedInputStream(new FileInputStream(path));
- byte[] buffer = new byte[fis.available()];
- fis.read(buffer);
- fis.close();
- // 设置response的Header
- response.setCharacterEncoding("utf-8");
- response.setContentType("multipart/form-data");
- fileName = URLEncoder.encode(fileName, "UTF-8");
- response.setHeader("Content-Disposition", "attachment;fileName=" + fileName);
- response.getOutputStream().write(buffer);
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- }
|