⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mcountry.java

📁 Java写的ERP系统
💻 JAVA
字号:
/******************************************************************************
 * The contents of this file are subject to the   Compiere License  Version 1.1
 * ("License"); You may not use this file except in compliance with the License
 * You may obtain a copy of the License at http://www.compiere.org/license.html
 * Software distributed under the License is distributed on an  "AS IS"  basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
 * the specific language governing rights and limitations under the License.
 * The Original Code is                  Compiere  ERP & CRM  Business Solution
 * The Initial Developer of the Original Code is Jorg Janke  and ComPiere, Inc.
 * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts
 * created by ComPiere are Copyright (C) ComPiere, Inc.;   All Rights Reserved.
 * Contributor(s): ______________________________________.
 *****************************************************************************/
package org.compiere.model;

import java.sql.*;
import java.io.Serializable;
import java.util.*;

import org.compiere.util.*;

/**
 *	Location Country Model (Value Object)
 *
 *  @author 	Jorg Janke
 *  @version 	$Id: MCountry.java,v 1.2 2003/03/10 05:37:53 jjanke Exp $
 */
public final class MCountry
	implements Comparator, Serializable
{
	/**
	 *	Create empty Country
	 */
	public MCountry ()
	{
	}   //  MCountry

	/**
	 *	Create Country from current row in ResultSet
	 *  @param rs ResultSet
	 */
	public MCountry (ResultSet rs)
	{
		if (rs == null)
			return;
		try
		{
			C_Country_ID = rs.getInt("C_Country_ID");
			CountryCode = rs.getString("CountryCode");
			Name = rs.getString("Name");
			Description = rs.getString("Description");
			if (Description == null)
				Description = "";
			RegionName = rs.getString("RegionName");
			if (RegionName == null)
				RegionName = "";
			DisplaySequence = rs.getString("DisplaySequence");
			if (DisplaySequence == null)
				DisplaySequence = "";
			ExpressionPostal = rs.getString("ExpressionPostal");
			if (ExpressionPostal == null)
				ExpressionPostal = "";
			ExpressionPostal_Add = rs.getString("ExpressionPostal_Add");
			if (ExpressionPostal_Add == null)
				ExpressionPostal_Add = "";
			HasRegion = rs.getString("HasRegion").equals("Y");
			HasPostal_Add = rs.getString("HasPostal_Add").equals("Y");
		}
		catch (SQLException e)
		{
			Log.error("MCountry", e);
			C_Country_ID = 0;
		}
	}	//	MCountry

	public int 		C_Country_ID = 0;
	public String	CountryCode = "";
	public String   Name = "";
	public String   Description = "";
	public String	RegionName = "";
	public String	DisplaySequence = "";
	public String	ExpressionPostal = "";
	public String	ExpressionPostal_Add = "";
	public boolean	HasRegion = false;
	public boolean	HasPostal_Add = false;

	/**
	 *	Return Name
	 *  @return Name
	 */
	public String toString()
	{
		return Name;
	}   //  toString

	/**
	 *  Compare based on Name
	 *  @param o1 object 1
	 *  @param o2 object 2
	 *  @return -1,0, 1
	 */
	public int compare(Object o1, Object o2)
	{
		String s1 = o1.toString();
		if (s1 == null)
			s1 = "";
		String s2 = o2.toString();
		if (s2 == null)
			s2 = "";
		return s1.compareTo(s2);
	}	//	compare

	/**
	 * 	Save Region
	 * 	@param ctx properties
	 *	@return true if saved
	 */
	public boolean save (Properties ctx)
	{
		//	Create Country Code if missing
		if (CountryCode == null || CountryCode.length() == 0)
			CountryCode = Name.substring(0,1);

		//	Create Display Sequence if missing
		if (DisplaySequence == null || DisplaySequence.length() == 0)
		{
			DisplaySequence = "@C@, ";
			if (HasRegion)
				DisplaySequence += " @R@";
			DisplaySequence += " @P@";
		}

		String sql = "";
		//	new
		if (C_Country_ID == 0)
		{
			sql = "INSERT INTO C_Country "
				+ "(Updated,UpdatedBy,"				//	1..2
				+ "CountryCode, Name,Description,"	//	3..5
				+ "DisplaySequence,"				//	6
				+ "C_Country_ID,"					//	7
				+ "AD_Client_ID,AD_Org_ID,IsActive,"//	8..9
				+ "Created,CreatedBy) "				//	10..11
				+ "VALUES(?,?, ?,?,?, ?, ?, ?,?,'Y', ?,?)";
		}
		else
		{
			sql = "UPDATE C_Location SET "
				+ "Updated=?,UpdatedBy=?,"
				+ "CountryCode=?,Name=?,Description=?,"
				+ "DisplaySequence=? "
				+ "WHERE C_Country_ID=?";
		}
		try
		{
			PreparedStatement pstmt = DB.prepareStatement(sql);
			//	fill variables
			java.sql.Date date = new java.sql.Date(System.currentTimeMillis());
			pstmt.setDate(1, date);
			int user = Env.getContextAsInt(ctx, "#AD_User_ID");
			pstmt.setInt(2, user);
			//
			pstmt.setString(3, CountryCode);
			pstmt.setString(4, Name);
			pstmt.setString(5, Description);
			pstmt.setString(6, DisplaySequence);
			//
			//	if new, get addl info
			if (C_Country_ID == 0)
			{
				//	get new ID
				int AD_Client_ID = Env.getContextAsInt(ctx, 0, "AD_Client_ID");
				C_Country_ID = DB.getKeyNextNo(ctx, AD_Client_ID, "C_Country");
				// fill "New" variables 8-11
				pstmt.setInt(8, AD_Client_ID);
				pstmt.setInt(9, Env.getContextAsInt(ctx, 0, "AD_Org_ID"));
				//
				pstmt.setDate(10, date);
				pstmt.setInt(11, user);
			}
			pstmt.setInt(7, C_Country_ID);
			int no = pstmt.executeUpdate();
			if (no != 1)
			{
				Log.error("MCountry.save - No record updated/inserted");
				return false;
			}
		}
		catch (SQLException e)
		{
			Log.error("MCountry.save", e);
			return false;
		}
		//
		Log.trace(Log.l3_Util, "MCountry.save - ID=" + C_Country_ID);
		return true;
	}	//	save

	/**
	 * 	Insert Countries
	 * 	@param args none
	 */
	public static void main (String[] args)
	{
		/**	Migration before
		UPDATE C_Country SET AD_Client_ID=0, AD_Org_ID=0 WHERE AD_Client_ID<>0 OR AD_Org_ID<>0;
		UPDATE C_Region SET AD_Client_ID=0, AD_Org_ID=0 WHERE AD_Client_ID<>0 OR AD_Org_ID<>0;
		IDs migration for C_Location, C_City, C_Tax (C_Country, C_Region)
		**/
		//	from http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1-semic.txt
		String countries = "AFGHANISTAN;AF, ALBANIA;AL, ALGERIA;DZ, AMERICAN SAMOA;AS, ANDORRA;AD, ANGOLA;AO, ANGUILLA;AI, ANTARCTICA;AQ, ANTIGUA AND BARBUDA;AG, ARGENTINA;AR,"
			+ "ARMENIA;AM, ARUBA;AW, AUSTRALIA;AU, AUSTRIA;AT, AZERBAIJAN;AZ, BAHAMAS;BS, BAHRAIN;BH, BANGLADESH;BD, BARBADOS;BB, BELARUS;BY, BELGIUM;BE, BELIZE;BZ,"
			+ "BENIN;BJ, BERMUDA;BM, BHUTAN;BT, BOLIVIA;BO, BOSNIA AND HERZEGOVINA;BA, BOTSWANA;BW, BOUVET ISLAND;BV, BRAZIL;BR, BRITISH INDIAN OCEAN TERRITORY;IO, BRUNEI DARUSSALAM;BN,"
			+ "BULGARIA;BG, BURKINA FASO;BF, BURUNDI;BI, CAMBODIA;KH, CAMEROON;CM, CANADA;CA, CAPE VERDE;CV, CAYMAN ISLANDS;KY, CENTRAL AFRICAN REPUBLIC;CF, CHAD;TD, CHILE;CL,"
			+ "CHINA;CN, CHRISTMAS ISLAND;CX, COCOS (KEELING) ISLANDS;CC, COLOMBIA;CO, COMOROS;KM, CONGO;CG, CONGO THE DEMOCRATIC REPUBLIC OF THE;CD, COOK ISLANDS;CK,"
			+ "COSTA RICA;CR, COTE D'IVOIRE;CI, CROATIA;HR, CUBA;CU, CYPRUS;CY, CZECH REPUBLIC;CZ, DENMARK;DK, DJIBOUTI;DJ, DOMINICA;DM, DOMINICAN REPUBLIC;DO, ECUADOR;EC,"
			+ "EGYPT;EG, EL SALVADOR;SV, EQUATORIAL GUINEA;GQ, ERITREA;ER, ESTONIA;EE, ETHIOPIA;ET, FALKLAND ISLANDS (MALVINAS);FK, FAROE ISLANDS;FO, FIJI;FJ,"
			+ "FINLAND;FI, FRANCE;FR, FRENCH GUIANA;GF, FRENCH POLYNESIA;PF, FRENCH SOUTHERN TERRITORIES;TF, GABON;GA, GAMBIA;GM, GEORGIA;GE, GERMANY;DE, GHANA;GH,"
			+ "GIBRALTAR;GI, GREECE;GR, GREENLAND;GL, GRENADA;GD, GUADELOUPE;GP, GUAM;GU, GUATEMALA;GT, GUINEA;GN, GUINEA-BISSAU;GW, GUYANA;GY, HAITI;HT,"
			+ "HEARD ISLAND AND MCDONALD ISLANDS;HM, HOLY SEE (VATICAN CITY STATE);VA, HONDURAS;HN, HONG KONG;HK, HUNGARY;HU, ICELAND;IS, INDIA;IN, INDONESIA;ID,"
			+ "IRAN ISLAMIC REPUBLIC OF;IR, IRAQ;IQ, IRELAND;IE, ISRAEL;IL, ITALY;IT, JAMAICA;JM, JAPAN;JP, JORDAN;JO, KAZAKHSTAN;KZ, KENYA;KE, KIRIBATI;KI, KOREA DEMOCRATIC PEOPLE'S REPUBLIC OF;KP,"
			+ "KOREA REPUBLIC OF;KR, KUWAIT;KW, KYRGYZSTAN;KG, LAO PEOPLE'S DEMOCRATIC REPUBLIC;LA, LATVIA;LV, LEBANON;LB, LESOTHO;LS, LIBERIA;LR, LIBYAN ARAB JAMAHIRIYA;LY,"
			+ "LIECHTENSTEIN;LI, LITHUANIA;LT, LUXEMBOURG;LU, MACAO;MO, MACEDONIA FORMER YUGOSLAV REPUBLIC OF;MK, MADAGASCAR;MG, MALAWI;MW, MALAYSIA;MY, MALDIVES;MV, "
			+ "MALI;ML, MALTA;MT, MARSHALL ISLANDS;MH, MARTINIQUE;MQ, MAURITANIA;MR, MAURITIUS;MU, MAYOTTE;YT, MEXICO;MX, MICRONESIA FEDERATED STATES OF;FM,"
			+ "MOLDOVA REPUBLIC OF;MD, MONACO;MC, MONGOLIA;MN, MONTSERRAT;MS, MOROCCO;MA, MOZAMBIQUE;MZ, MYANMAR;MM, NAMIBIA;NA, NAURU;NR, NEPAL;NP,"
			+ "NETHERLANDS;NL, NETHERLANDS ANTILLES;AN, NEW CALEDONIA;NC, NEW ZEALAND;NZ, NICARAGUA;NI, NIGER;NE, NIGERIA;NG, NIUE;NU, NORFOLK ISLAND;NF,"
			+ "NORTHERN MARIANA ISLANDS;MP, NORWAY;NO, OMAN;OM, PAKISTAN;PK, PALAU;PW, PALESTINIAN TERRITORY OCCUPIED;PS, PANAMA;PA, PAPUA NEW GUINEA;PG,"
			+ "PARAGUAY;PY, PERU;PE, PHILIPPINES;PH, PITCAIRN;PN, POLAND;PL, PORTUGAL;PT, PUERTO RICO;PR, QATAR;QA, REUNION;RE, ROMANIA;RO, RUSSIAN FEDERATION;RU,"
			+ "RWANDA;RW, SAINT HELENA;SH, SAINT KITTS AND NEVIS;KN, SAINT LUCIA;LC, SAINT PIERRE AND MIQUELON;PM, SAINT VINCENT AND THE GRENADINES;VC,"
			+ "SAMOA;WS, SAN MARINO;SM, SAO TOME AND PRINCIPE;ST, SAUDI ARABIA;SA, SENEGAL;SN, SEYCHELLES;SC, SIERRA LEONE;SL, SINGAPORE;SG, SLOVAKIA;SK,"
			+ "SLOVENIA;SI, SOLOMON ISLANDS;SB, SOMALIA;SO, SOUTH AFRICA;ZA, SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS;GS, SPAIN;ES, SRI LANKA;LK,"
			+ "SUDAN;SD, SURINAME;SR, SVALBARD AND JAN MAYEN;SJ, SWAZILAND;SZ, SWEDEN;SE, SWITZERLAND;CH, SYRIAN ARAB REPUBLIC;SY, TAIWAN;TW,"
			+ "TAJIKISTAN;TJ, TANZANIA UNITED REPUBLIC OF;TZ, THAILAND;TH, TIMOR-LESTE;TL, TOGO;TG, TOKELAU;TK, TONGA;TO, TRINIDAD AND TOBAGO;TT,"
			+ "TUNISIA;TN, TURKEY;TR, TURKMENISTAN;TM, TURKS AND CAICOS ISLANDS;TC, TUVALU;TV, UGANDA;UG, UKRAINE;UA, UNITED ARAB EMIRATES;AE, UNITED KINGDOM;GB,"
			+ "UNITED STATES;US, UNITED STATES MINOR OUTLYING ISLANDS;UM, URUGUAY;UY, UZBEKISTAN;UZ, VANUATU;VU, VENEZUELA;VE, VIET NAM;VN, VIRGIN ISLANDS BRITISH;VG,"
			+ "VIRGIN ISLANDS U.S.;VI, WALLIS AND FUTUNA;WF, WESTERN SAHARA;EH, YEMEN;YE, YUGOSLAVIA;YU, ZAMBIA;ZM, ZIMBABWE;ZW";
		//
		org.compiere.Compiere.startupClient();
		StringTokenizer st = new StringTokenizer(countries, ",", false);
		while (st.hasMoreTokens())
		{
			String s = st.nextToken().trim();
			int pos = s.indexOf(";");
			String name = Util.initCap(s.substring(0,pos));
			String cc = s.substring(pos+1);
			System.out.println(cc + " - " + name);
			//
			MCountry mc = new MCountry();
			mc.CountryCode = cc;
			mc.Name = name;
			mc.Description = name;
			mc.save(Env.getCtx());
		}
	}	//	main

}	//	MCountry

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -