/**
   * 顧客コードから納入先リストを返します.<br>
   * 顧客コードが完全に一致しない場合は値が返りません.<br>
   * 返す値は、納入先コードと納入先名のリスト、かつ、作成日の昇順で、請求先は除外しています.<br>
   * mapの内容は key = "value" + No name = 納入先コード、納入先名の順番です.
   *
   * @return 納入先リスト情報
   * @throws Exception
   */
  @Execute(validator = false)
  public String getDeliveryListByCustomerCodeSortedByCreDate() throws Exception {

    // 顧客コードを指定しない場合は検索しません
    if (!StringUtil.hasLength(commonDeliveryForm.customerCode)) {
      ResponseUtil.write("", "text/javascript");
      return null;
    }

    List<DeliveryAndPre> deliveryList;
    try {
      deliveryList =
          deliveryService.searchDeliveryByCompleteCustomerCodeSortedByCreDate(
              commonDeliveryForm.customerCode);

      // 納入先コードと納入先名を返す
      int i = 0;
      String key;
      Map<String, Object> param = new HashMap<String, Object>();
      for (DeliveryAndPre dap : deliveryList) {
        key = "value" + Integer.toString(i);
        param.put(key, dap.deliveryCode);
        key = "name" + Integer.toString(i);
        param.put(key, dap.deliveryName);
        i++;
      }
      if (deliveryList.size() != 0) {
        BeanMap map = super.createBeanMapWithNullToEmpty(param);
        ResponseUtil.write(JSON.encode(map), "text/javascript");
      } else {
        ResponseUtil.write("", "text/javascript");
      }
    } catch (ServiceException e) {
      super.errorLog(e);
      throw e;
    }

    return null;
  }