TTInfoDetailService.java 3.66 KB
package com.bsth.service.schedule;

import com.bsth.entity.schedule.TTInfoDetail;
import com.bsth.service.BaseService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by xu on 16/7/2.
 */
public interface TTInfoDetailService extends BaseService<TTInfoDetail, Long> {

    void deleteByTtinfo(Long ttinfoid);

    /**
     * 发车信息内部类。
     */
    public static class FcInfo {
        /** 时刻明细id */
        private Long ttdid;
        /** 发车时间 */
        private String fcsj;
        /** 班次类型 */
        private String bc_type;
        /** 线路上下行 */
        private String xldir;
        /** 是偶分班 */
        private Boolean isfb;

        public FcInfo() {
        }

        public FcInfo(String ttdid_str, String bc_type, String fcsj, String xldir, String isfb) {
            this.ttdid = StringUtils.isEmpty(ttdid_str) ? null : Long.valueOf(ttdid_str);
            this.bc_type = bc_type;
            this.fcsj = fcsj;
            this.xldir = xldir;
            if ("N".equals(isfb))
                this.isfb = false;
            else if ("Y".equals(isfb))
                this.isfb = true;
            else
                this.isfb = false;

        }

        public Long getTtdid() {
            return ttdid;
        }

        public void setTtdid(Long ttdid) {
            this.ttdid = ttdid;
        }

        public String getFcsj() {
            return fcsj;
        }

        public void setFcsj(String fcsj) {
            this.fcsj = fcsj;
        }

        public String getBc_type() {
            return bc_type;
        }

        public void setBc_type(String bc_type) {
            this.bc_type = bc_type;
        }

        public String getXldir() {
            return xldir;
        }

        public void setXldir(String xldir) {
            this.xldir = xldir;
        }

        public Boolean getIsfb() {
            return isfb;
        }

        public void setIsfb(Boolean isfb) {
            this.isfb = isfb;
        }
    }

    /**
     * 时刻表编辑用的返回数据。
     */
    public static class EditInfo {
        /** 标题数据 */
        private List<String> header = new ArrayList<>();
        /** 内容数据 */
        private List<List<FcInfo>> contents = new ArrayList<>();

        public List<String> getHeader() {
            return header;
        }

        public void setHeader(List<String> header) {
            this.header = header;
        }

        public List<List<FcInfo>> getContents() {
            return contents;
        }

        public void setContents(List<List<FcInfo>> contents) {
            this.contents = contents;
        }
    }

    /**
     * 获取待编辑的数据。
     * @param xlid 线路id
     * @param ttid 时刻表id
     * @return
     */
    EditInfo getEditInfo(Integer xlid, Long ttid) throws Exception;

    /**
     * 上传并导入数据,和DataImportExportService的同名方法有差别。
     * @param datafile form上传文件
     * @param xlmc 线路名称
     * @param ttinfoname 时刻表名字
     * @param tccname 停车场名字
     * @throws Exception
     */
    void fileDataImport(MultipartFile datafile,
                               String xlmc,
                               String ttinfoname,
                               String tccname) throws Exception;

    void fileDataImport(File file, String xlmc, String ttinfoname, String tccname) throws Exception;


}