Эх сурвалжийг харах

git-svn-id: https://192.168.57.71/svn/qt@71 12fe181a-e57f-b044-8676-16dc139aa63e

ld_zhoutl 8 жил өмнө
parent
commit
fe9c7889a2

+ 213 - 0
jdc/jdcweb/trunk/src/main/java/com/jsjty/jdc/web/train/ctl/BTlztHuocccCtl.java

@@ -0,0 +1,213 @@
+package com.jsjty.jdc.web.train.ctl;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import javax.persistence.criteria.Subquery;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.domain.Sort.Direction;
+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 com.jsjty.jdc.util.DateUtil;
+import com.jsjty.jdc.web.train.bean.TrainBean;
+import com.jsjty.jdc.web.train.entity.BTlztHuoccc;
+import com.jsjty.jdc.web.train.service.BTlztHuocccService;
+import com.xtframe.sec.support.SecurityMgr;
+import com.xtframe.util.StringUtils;
+
+@Controller
+@RequestMapping("/train2")
+public class BTlztHuocccCtl {
+    /** 核心接口 */
+    @Autowired
+    private SecurityMgr securityMgr;
+    @Autowired
+    private BTlztHuocccService bTlztHuocccService;
+
+    /**
+     * 查询当前站点列车时刻表
+     * 
+     * @param name 车站名
+     * @param trainCode 车次
+     * @return
+     */
+    @RequestMapping("/findTrainTimes")
+    public String findTrainTimes(String name, String trainCode, Model model) {
+        // 查询所有机队信息
+        List<TrainBean> trainTimesList = findTrainsTimes(name, trainCode);
+        model.addAttribute("trainTimesList", trainTimesList);
+        model.addAttribute("name", name);
+        model.addAttribute("trainCode", trainCode);
+        return "railway/trainTimes";
+    }
+
+    /**
+     * 根据站点获取列车时刻信息
+     * 
+     * @param name
+     * @return
+     */
+    private List<TrainBean> findTrainsTimes(final String name, final String code) {
+        /*Specification<BTlztHuoccc> spec = new Specification<BTlztHuoccc>() {
+            @Override
+            public Predicate toPredicate(Root<BTlztHuoccc> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+                List<Predicate> list = new ArrayList<Predicate>();
+                if(StringUtils.isNotEmpty(name) && StringUtils.isEmpty(code)) {
+                    list.add(cb.equal(root.get("stationname").as(String.class), name));
+                    list.add(cb.notEqual(root.get("departtime").as(String.class), "-"));
+                } else if(StringUtils.isNotEmpty(name) && StringUtils.isNotEmpty(code)) {
+                    list.add(cb.equal(root.get("stationname").as(String.class), name));
+                    list.add(cb.like(root.get("traincode").as(String.class), "%" + code + "%"));
+                    list.add(cb.notEqual(root.get("departtime").as(String.class), "-"));
+                } else if (StringUtils.isEmpty(name) && StringUtils.isNotEmpty(code)){
+                    list.add(cb.like(root.get("traincode").as(String.class), "%" + code + "%"));
+                    list.add(cb.equal(root.get("arrivetime").as(String.class), "-"));
+                } else {
+                    list.add(cb.equal(root.get("arrivetime").as(String.class), "-"));
+                }
+                return cb.and(list.toArray(new Predicate[] {}));
+            }
+        };
+        Sort newsort = new Sort(Direction.ASC, new String[] { "departtime" });
+        List<BTlztHuoccc> bTlztHuocccs = securityMgr.getQueryService().findAll(spec, newsort, BTlztHuoccc.class);
+        List<TrainBean> beans = new ArrayList<TrainBean>(bTlztHuocccs.size());
+        StringBuilder costSb = new StringBuilder();
+        DateFormat dateFormat = new SimpleDateFormat("yy-MM-dd HH:mm");
+        DateFormat dayFormat = new SimpleDateFormat("yy-MM-dd");
+        for (BTlztHuoccc train : bTlztHuocccs) {
+            TrainBean bean = new TrainBean();
+            String trainCode = train.getTraincode();
+            bean.setTrainno(train.getTrainno());
+            bean.setTrainCode(train.getTraincode());
+            bean.setDepartName(train.getStationname());
+            bean.setDepartTime(train.getDeparttime());
+            List<BTlztHuoccc> lastInfos = bTlztHuocccService.findLastByTraincode(trainCode);
+            if (lastInfos.size() > 0) {
+                BTlztHuoccc last = lastInfos.get(0);
+                bean.setArriveName(last.getStationname());
+                bean.setArriveTime(last.getArrivetime());
+                int startDay = Integer.parseInt(train.getDays());
+                int arriveDay = Integer.parseInt(last.getDays());
+                bean.setDays(String.valueOf(arriveDay - startDay));
+                try {
+                    Date departDate = dateFormat.parse(dayFormat.format(new Date()) + " " + bean.getDepartTime());
+                    Date arriveDate = dateFormat.parse(dayFormat.format(new Date()) + " " + bean.getArriveTime());
+                    long cost = arriveDate.getTime() - departDate.getTime()
+                            + (arriveDay - startDay) * 24 * 60 * 60 * 1000;
+                    int h = (int) (cost / 3600000);
+                    int m = (int) (cost % 3600000) / 60000;
+                    costSb.setLength(0);
+                    if (h < 10) {
+                        costSb.append("0");
+                    }
+                    costSb.append(h);
+                    costSb.append(":");
+                    if (m < 10) {
+                        costSb.append("0");
+                    }
+                    costSb.append(m);
+                    bean.setCost(costSb.toString());
+                }
+                catch (ParseException e) {
+                    e.printStackTrace();
+                }
+            }
+            beans.add(bean);
+        }
+        return beans;*/
+        return null;
+    }
+
+    /**
+     * 查询当前车次时刻信息
+     * 
+     * @param traincode
+     *            车次
+     * @return
+     */
+    @RequestMapping("/findTrainInfo")
+    public String findTrainInfo(String trainCode, String sfz, String ddz, Model model) {
+        // 查询所有火车信息
+        List<BTlztHuoccc> trainTimesList = findTrainDetail(trainCode, sfz, ddz);
+        List<TrainBean> trainBeanList = new ArrayList<TrainBean>(trainTimesList.size());
+        TrainBean trainBean = null;
+        /*for (BTlztHuoccc bTlztHuoccc : trainTimesList) {
+            trainBean = new TrainBean();
+            trainBean.setTrainno(bTlztHuoccc.getTrainno());
+            trainBean.setStationname(bTlztHuoccc.getStationname());
+            trainBean.setArriveTime(bTlztHuoccc.getArrivetime());
+            trainBean.setDepartTime(bTlztHuoccc.getDeparttime());
+            trainBean.setStayTime(bTlztHuoccc.getStayTime());
+            trainBean.setIsbefore(bTlztHuoccc.getIsbefore());
+            //  到达日
+            if (StringUtils.isNotEmpty(bTlztHuoccc.getDays())) {
+                String ddr = "当日到达";
+                int day = Integer.parseInt(bTlztHuoccc.getDays());
+                if (0 == day) ddr = "当日到达";
+                else if (1 == day) ddr = "次日到达";
+                else if (2 == day) ddr = "第三日到达";
+                trainBean.setDdr(ddr);
+            }
+            trainBeanList.add(trainBean);
+        }
+        model.addAttribute("bTlztHuocccList", trainBeanList);*/
+        return "railway/bTlztHuoccc";
+    }
+
+    private List<BTlztHuoccc> findTrainDetail(String trainCode, String sfz, String ddz) {
+        List<BTlztHuoccc> trains = bTlztHuocccService.findByTraincode(trainCode);
+        /*String dateFormat = "yy-MM-dd HH:mm";
+        String dayFormat = "yy-MM-dd";
+        Integer sfzzx = 0;
+        Integer ddzzx = Integer.MAX_VALUE;
+        for (BTlztHuoccc t : trains) {
+            if (sfz.equals(t.getStationname())) {
+                sfzzx = t.getTrainno();
+            }
+            if (ddz.equals(t.getStationname())) {
+                ddzzx = t.getTrainno();
+            }
+        }
+        for (BTlztHuoccc t : trains) {
+            if (t.getTrainno() < sfzzx || t.getTrainno() > ddzzx) {
+                t.setIsbefore("1");
+            }
+            else {
+                t.setIsbefore("0");
+            }
+            if ("-".equals(t.getDeparttime()) || "-".equals(t.getArrivetime())) {
+                t.setStayTime("-");
+                continue;
+            }
+            try {
+                Date date = new Date();
+                long departDate = DateUtil
+                        .format(DateUtil.format(date, dayFormat) + " " + t.getDeparttime(), dateFormat).getTime();
+                long arriveDate = DateUtil
+                        .format(DateUtil.format(date, dayFormat) + " " + t.getArrivetime(), dateFormat).getTime();
+                if (departDate < arriveDate) {
+                    departDate += 24 * 60 * 60 * 1000;
+                }
+                int costM = (int) ((departDate - arriveDate) / (1000 * 60));
+                t.setStayTime(String.valueOf(costM));
+            }
+            catch (Exception e) {
+                e.printStackTrace();
+            }
+        }*/
+        return trains;
+    }
+}

+ 28 - 0
jdc/jdcweb/trunk/src/main/java/com/jsjty/jdc/web/train/dao/BTlztHuocccDao.java

@@ -0,0 +1,28 @@
+package com.jsjty.jdc.web.train.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.Query;
+
+import com.jsjty.jdc.web.train.entity.BTlztHuoccc;
+import com.xtframe.sec.common.SecRepository;
+
+
+/**
+ * Created by Administrator on 2015/8/4.
+ */
+public interface BTlztHuocccDao extends SecRepository<BTlztHuoccc, String> {/**
+     * 根据车次查询时刻表数据
+     * 
+     * @param traincode
+     * @return
+     */
+    @Query(" from BTlztHuoccc where  fVcChec=?1 order by fNbDaozsx asc")
+    public List<BTlztHuoccc> findByTraincode(String traincode);
+
+    @Query(" from BTlztHuoccc where fVcFad='--' and fVcChec=?1 ")
+    public List<BTlztHuoccc> findLastByTraincode(String traincode);
+
+    @Query(" from BTlztHuoccc where fVcDaod='--'and  fVcChec=?1")
+    public List<BTlztHuoccc> findFirstByTraincode(String traincode);
+}

+ 212 - 0
jdc/jdcweb/trunk/src/main/java/com/jsjty/jdc/web/train/entity/BTlztHuoccc.java

@@ -0,0 +1,212 @@
+package com.jsjty.jdc.web.train.entity;
+
+import java.math.BigDecimal;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+import com.xtframe.sec.common.BaseEntity;
+
+
+/**
+ * The persistent class for the b_tlzt_huoccc database table.
+ * 
+ */
+@Entity
+@Table(name="b_tlzt_huoccc")
+public class BTlztHuoccc extends BaseEntity<String> {
+	private static final long serialVersionUID = 1L;
+
+	@Id
+    public String fVcChec;
+	
+    @Column(name="F_NB_DAOZSX")
+    public String fNbDaozsx;
+
+	@Column(name="F_NB_LIC")
+	private BigDecimal fNbLic;
+
+	@Column(name="F_NB_YUNXSJ")
+	private BigDecimal fNbYunxsj;
+
+	@Column(name="F_VC_DAOD")
+	private String fVcDaod;
+
+	@Column(name="F_VC_DAOZMC")
+	private String fVcDaozmc;
+
+	@Column(name="F_VC_ERDZPJ")
+	private BigDecimal fVcErdzpj;
+
+	@Column(name="F_VC_FAD")
+	private String fVcFad;
+
+	@Column(name="F_VC_RUANWSPPJ")
+	private BigDecimal fVcRuanwsppj;
+
+	@Column(name="F_VC_RUANWXPPJ")
+	private BigDecimal fVcRuanwxppj;
+
+	@Column(name="F_VC_RUANZPJ")
+	private BigDecimal fVcRuanzpj;
+
+	@Column(name="F_VC_TEDZPJ")
+	private BigDecimal fVcTedzpj;
+
+	@Column(name="F_VC_YIDZPJ")
+	private BigDecimal fVcYidzpj;
+
+	@Column(name="F_VC_YINGWSPPJ")
+	private BigDecimal fVcYingwsppj;
+
+	@Column(name="F_VC_YINGWXPPJ")
+	private BigDecimal fVcYingwxppj;
+
+	@Column(name="F_VC_YINGWZPPJ")
+	private BigDecimal fVcYingwzppj;
+
+	@Column(name="F_VC_YINGZPJ")
+	private BigDecimal fVcYingzpj;
+
+	public BTlztHuoccc() {
+	}
+
+	public BigDecimal getFNbLic() {
+		return this.fNbLic;
+	}
+
+	public String getfVcChec() {
+        return fVcChec;
+    }
+
+    public void setfVcChec(String fVcChec) {
+        this.fVcChec = fVcChec;
+    }
+
+    public String getfNbDaozsx() {
+        return fNbDaozsx;
+    }
+
+    public void setfNbDaozsx(String fNbDaozsx) {
+        this.fNbDaozsx = fNbDaozsx;
+    }
+
+    public void setFNbLic(BigDecimal fNbLic) {
+		this.fNbLic = fNbLic;
+	}
+
+	public BigDecimal getFNbYunxsj() {
+		return this.fNbYunxsj;
+	}
+
+	public void setFNbYunxsj(BigDecimal fNbYunxsj) {
+		this.fNbYunxsj = fNbYunxsj;
+	}
+
+	public String getFVcDaod() {
+		return this.fVcDaod;
+	}
+
+	public void setFVcDaod(String fVcDaod) {
+		this.fVcDaod = fVcDaod;
+	}
+
+	public String getFVcDaozmc() {
+		return this.fVcDaozmc;
+	}
+
+	public void setFVcDaozmc(String fVcDaozmc) {
+		this.fVcDaozmc = fVcDaozmc;
+	}
+
+	public BigDecimal getFVcErdzpj() {
+		return this.fVcErdzpj;
+	}
+
+	public void setFVcErdzpj(BigDecimal fVcErdzpj) {
+		this.fVcErdzpj = fVcErdzpj;
+	}
+
+	public String getFVcFad() {
+		return this.fVcFad;
+	}
+
+	public void setFVcFad(String fVcFad) {
+		this.fVcFad = fVcFad;
+	}
+
+	public BigDecimal getFVcRuanwsppj() {
+		return this.fVcRuanwsppj;
+	}
+
+	public void setFVcRuanwsppj(BigDecimal fVcRuanwsppj) {
+		this.fVcRuanwsppj = fVcRuanwsppj;
+	}
+
+	public BigDecimal getFVcRuanwxppj() {
+		return this.fVcRuanwxppj;
+	}
+
+	public void setFVcRuanwxppj(BigDecimal fVcRuanwxppj) {
+		this.fVcRuanwxppj = fVcRuanwxppj;
+	}
+
+	public BigDecimal getFVcRuanzpj() {
+		return this.fVcRuanzpj;
+	}
+
+	public void setFVcRuanzpj(BigDecimal fVcRuanzpj) {
+		this.fVcRuanzpj = fVcRuanzpj;
+	}
+
+	public BigDecimal getFVcTedzpj() {
+		return this.fVcTedzpj;
+	}
+
+	public void setFVcTedzpj(BigDecimal fVcTedzpj) {
+		this.fVcTedzpj = fVcTedzpj;
+	}
+
+	public BigDecimal getFVcYidzpj() {
+		return this.fVcYidzpj;
+	}
+
+	public void setFVcYidzpj(BigDecimal fVcYidzpj) {
+		this.fVcYidzpj = fVcYidzpj;
+	}
+
+	public BigDecimal getFVcYingwsppj() {
+		return this.fVcYingwsppj;
+	}
+
+	public void setFVcYingwsppj(BigDecimal fVcYingwsppj) {
+		this.fVcYingwsppj = fVcYingwsppj;
+	}
+
+	public BigDecimal getFVcYingwxppj() {
+		return this.fVcYingwxppj;
+	}
+
+	public void setFVcYingwxppj(BigDecimal fVcYingwxppj) {
+		this.fVcYingwxppj = fVcYingwxppj;
+	}
+
+	public BigDecimal getFVcYingwzppj() {
+		return this.fVcYingwzppj;
+	}
+
+	public void setFVcYingwzppj(BigDecimal fVcYingwzppj) {
+		this.fVcYingwzppj = fVcYingwzppj;
+	}
+
+	public BigDecimal getFVcYingzpj() {
+		return this.fVcYingzpj;
+	}
+
+	public void setFVcYingzpj(BigDecimal fVcYingzpj) {
+		this.fVcYingzpj = fVcYingzpj;
+	}
+
+}

+ 37 - 0
jdc/jdcweb/trunk/src/main/java/com/jsjty/jdc/web/train/service/BTlztHuocccService.java

@@ -0,0 +1,37 @@
+package com.jsjty.jdc.web.train.service;
+
+import java.util.List;
+
+import com.jsjty.jdc.web.train.entity.BTlztHuoccc;
+
+/**
+ * 火车时刻表服务
+ * 
+ * @author 袁晓冬
+ *
+ */
+public interface BTlztHuocccService {
+    /**
+     * 根据车次查询时刻表数据
+     * 
+     * @param traincode
+     * @return
+     */
+    public List<BTlztHuoccc> findByTraincode(String traincode);
+
+    /**
+     * 根据车子查询目的站记录
+     * 
+     * @param traincode
+     * @return
+     */
+    public List<BTlztHuoccc> findLastByTraincode(String traincode);
+
+    /**
+     * 根据车子查询目的站记录
+     * 
+     * @param traincode
+     * @return
+     */
+    public List<BTlztHuoccc> findFirstByTraincode(String traincode);
+}

+ 31 - 0
jdc/jdcweb/trunk/src/main/java/com/jsjty/jdc/web/train/service/impl/BTlztHuocccServiceImpl.java

@@ -0,0 +1,31 @@
+package com.jsjty.jdc.web.train.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.jsjty.jdc.web.train.dao.BTlztHuocccDao;
+import com.jsjty.jdc.web.train.entity.BTlztHuoccc;
+import com.jsjty.jdc.web.train.service.BTlztHuocccService;
+
+@Service
+public class BTlztHuocccServiceImpl implements BTlztHuocccService {
+    @Autowired
+    private BTlztHuocccDao dao;
+
+    @Override
+    public List<BTlztHuoccc> findByTraincode(String traincode) {
+        return dao.findByTraincode(traincode);
+    }
+
+    @Override
+    public List<BTlztHuoccc> findLastByTraincode(String traincode) {
+        return dao.findLastByTraincode(traincode);
+    }
+
+    @Override
+    public List<BTlztHuoccc> findFirstByTraincode(String traincode) {
+        return dao.findFirstByTraincode(traincode);
+    }
+}