private HighlineCrossCmd generatorHighlineCrossByPlanCross(
      PlanCrossCmd planCross, String bureuaCode, Date runDate) {
    // TODO Auto-generated method stub
    HighlineCrossCmd highlineCross = new HighlineCrossCmd();
    highlineCross.setHighlineCrossId(UUID.randomUUID().toString());

    highlineCross.setPlanCrossId(
        planCross.getPlanCrossId() == null ? "" : planCross.getPlanCrossId());
    highlineCross.setBaseCrossId(planCross.getBaseCrossId());
    highlineCross.setCrossName(planCross.getCrossName() == null ? "" : planCross.getCrossName());
    if (planCross.getTrainList() == null || planCross.getTrainList().isEmpty()) return null;
    PlanTrainCMD firstTrain = planCross.getTrainList().get(0);
    PlanTrainCMD lastTrain = planCross.getTrainList().get(planCross.getTrainList().size() - 1);
    highlineCross.setCrossStartDate(firstTrain.getRunDate() == null ? "" : firstTrain.getRunDate());
    highlineCross.setCrossEndDate(lastTrain.getRunDate() == null ? "" : lastTrain.getRunDate());
    highlineCross.setCrossStartStn(
        firstTrain.getStartStn() == null ? "" : firstTrain.getStartStn());
    highlineCross.setCrossEndStn(lastTrain.getEndStn() == null ? "" : lastTrain.getEndStn());
    highlineCross.setSpareFlag(planCross.getSpareFlag());
    highlineCross.setThroughLine(
        planCross.getThroughLine() == null ? "" : planCross.getThroughLine());
    highlineCross.setTokenVehBureau(
        planCross.getTokenVehBureau() == null ? "" : planCross.getTokenVehBureau());
    highlineCross.setTokenVehDepot(
        planCross.getTokenVehDepot() == null ? "" : planCross.getTokenVehDepot());
    highlineCross.setTokenVehDept(
        planCross.getTokenVehDept() == null ? "" : planCross.getTokenVehDept());
    highlineCross.setTokenPsgBureau(
        planCross.getTokenPsgBureau() == null ? "" : planCross.getTokenPsgBureau());
    highlineCross.setTokenPsgDept(
        planCross.getTokenPsgDept() == null ? "" : planCross.getTokenPsgDept());
    highlineCross.setCrossBureau(bureuaCode);
    highlineCross.setRelevantBureau(
        planCross.getRelevantBureau() == null ? "" : planCross.getRelevantBureau());
    highlineCross.setCrhType(planCross.getCrhType() == null ? "" : planCross.getCrhType());
    highlineCross.setCreatReason(ConstantUtil.HIGHLINE_CROSS_CREAT_REASON_BASEMAP);
    highlineCross.setCrossDate(StringAndTimeUtil.yearMonthDaySimpleSdf.format(runDate));
    highlineCross.setPostId(planCross.getPostId());
    highlineCross.setPostName(planCross.getPostName() == null ? "" : planCross.getPostName());
    // 20150506 增加交路显示名的拼接
    highlineCross.setCrossDisplayName(getHighlineCrossDisplayName(planCross.getTrainList()));
    cmdPlanDao.insertHighlineCross(highlineCross);
    return highlineCross;
  }