package com.shanghaichengdi.ghjgitem.service;

import com.alibaba.fastjson.JSONArray;
import com.shanghaichengdi.ghjgitem.vo.*;
import com.shanghaichengdi.ghjgitem.vo.request.*;

import java.text.ParseException;
import java.util.List;

/**
 * 一些迁移任务(还有船舶相关的)使用这个Service
 */
public interface CommonService {

  List<BoatAISVo> selectAisRealTimeXYList(BoatAisRealTimeReq param);

  String selectRecordOrDocNumber(SupervisionOrDocNumberReq param);

  List<CCbCargoDeclareRecVo> selectCargoDeclareInfo(ReportSubInfoReq param);

  List<CCbOnShipCrewRecVo> selectShipCrewInfo(ReportSubInfoReq param);

  List<VwCertInfoSelfAllVo> selectCertInfoList(PageVo param);

  List<ShipDataVo> selectBoatInfoList(ShipDataRequest param);

  List<BoatReportInfoVo> selectBoatReportInfoList(ReportInfoRequest param) throws ParseException;

  List<BoatContactVo> selectBoatContactByMmsi(ShipDataRequest param) throws  Exception;

  List<ShipDataVo> obscureSelectBoatInfoList(ShipDataRequest req);

  CountVo getRangeCount(ShipRangeReq req);

  List<ShipDataVo> getRangeDetail(ShipRangeReq param);

  List<ShipDataVo> getMmsiDetail(ShipMmsiReq param) throws ParseException;

    List<BoatPathVo> selectBoatPathList(BoatPathReq param);

    ShipInfoForShipLockVo selectBoatInfoByShipId(String shipId);

  CargoInfoForShipLockVo selectCargoDeclareInfoByShipId(String shipId);

  boolean checkInportByMmsiAndShipName(String mmsi, String shipName);

  boolean checkInportByShipId(String shipId);

    List<String> getPortDrawPicture(PortDrawReq portDrawReq);

  List<BoatAISVo> selectAisRealTimePointList(List mmsiList);
}
