📄 msetup.java
字号:
bpg.setValue(defaultName);
bpg.setName(defaultName);
bpg.setIsDefault(true);
if (bpg.save())
m_info.append(Msg.translate(m_lang, "C_BP_Group_ID")).append("=").append(defaultName).append("\n");
else
log.log(Level.SEVERE, "BP Group NOT inserted");
// Create BPartner
MBPartner bp = new MBPartner (m_ctx, 0, m_trx.getTrxName());
bp.setValue(defaultName);
bp.setName(defaultName);
bp.setC_BP_Group_ID(bpg.getC_BP_Group_ID());
if (bp.save())
m_info.append(Msg.translate(m_lang, "C_BPartner_ID")).append("=").append(defaultName).append("\n");
else
log.log(Level.SEVERE, "BPartner NOT inserted");
// Location for Standard BP
MLocation bpLoc = new MLocation(m_ctx, C_Country_ID, C_Region_ID, City, m_trx.getTrxName());
bpLoc.save();
MBPartnerLocation bpl = new MBPartnerLocation(bp);
bpl.setC_Location_ID(bpLoc.getC_Location_ID());
if (!bpl.save())
log.log(Level.SEVERE, "BP_Location (Standard) NOT inserted");
// Default
sqlCmd = new StringBuffer ("UPDATE C_AcctSchema_Element SET ");
sqlCmd.append("C_BPartner_ID=").append(bp.getC_BPartner_ID());
sqlCmd.append(" WHERE C_AcctSchema_ID=").append(m_as.getC_AcctSchema_ID());
sqlCmd.append(" AND ElementType='BP'");
no = DB.executeUpdate(sqlCmd.toString(), m_trx.getTrxName());
if (no != 1)
log.log(Level.SEVERE, "AcctSchema Element BPartner NOT updated");
createPreference("C_BPartner_ID", String.valueOf(bp.getC_BPartner_ID()), 143);
/**
* Product
*/
// Create Product Category
MProductCategory pc = new MProductCategory(m_ctx, 0, m_trx.getTrxName());
pc.setValue(defaultName);
pc.setName(defaultName);
pc.setIsDefault(true);
if (pc.save())
m_info.append(Msg.translate(m_lang, "M_Product_Category_ID")).append("=").append(defaultName).append("\n");
else
log.log(Level.SEVERE, "Product Category NOT inserted");
// UOM (EA)
int C_UOM_ID = 100;
// TaxCategory
int C_TaxCategory_ID = getNextID(getAD_Client_ID(), "C_TaxCategory");
sqlCmd = new StringBuffer ("INSERT INTO C_TaxCategory ");
sqlCmd.append("(C_TaxCategory_ID,").append(m_stdColumns).append(",");
sqlCmd.append(" Name,IsDefault) VALUES (");
sqlCmd.append(C_TaxCategory_ID).append(",").append(m_stdValues).append(", ");
if (C_Country_ID == 100) // US
sqlCmd.append("'Sales Tax','Y')");
else
sqlCmd.append(defaultEntry).append("'Y')");
no = DB.executeUpdate(sqlCmd.toString(), m_trx.getTrxName());
if (no != 1)
log.log(Level.SEVERE, "TaxCategory NOT inserted");
// Tax - Zero Rate
MTax tax = new MTax (m_ctx, "Standard", Env.ZERO, C_TaxCategory_ID, m_trx.getTrxName());
tax.setIsDefault(true);
if (tax.save())
m_info.append(Msg.translate(m_lang, "C_Tax_ID"))
.append("=").append(tax.getName()).append("\n");
else
log.log(Level.SEVERE, "Tax NOT inserted");
// Create Product
MProduct product = new MProduct (m_ctx, 0, m_trx.getTrxName());
product.setValue(defaultName);
product.setName(defaultName);
product.setC_UOM_ID(C_UOM_ID);
product.setM_Product_Category_ID(pc.getM_Product_Category_ID());
product.setC_TaxCategory_ID(C_TaxCategory_ID);
if (product.save())
m_info.append(Msg.translate(m_lang, "M_Product_ID")).append("=").append(defaultName).append("\n");
else
log.log(Level.SEVERE, "Product NOT inserted");
// Default
sqlCmd = new StringBuffer ("UPDATE C_AcctSchema_Element SET ");
sqlCmd.append("M_Product_ID=").append(product.getM_Product_ID());
sqlCmd.append(" WHERE C_AcctSchema_ID=").append(m_as.getC_AcctSchema_ID());
sqlCmd.append(" AND ElementType='PR'");
no = DB.executeUpdate(sqlCmd.toString(), m_trx.getTrxName());
if (no != 1)
log.log(Level.SEVERE, "AcctSchema Element Product NOT updated");
/**
* Location, Warehouse, Locator
*/
// Location (Company)
MLocation loc = new MLocation(m_ctx, C_Country_ID, C_Region_ID, City, m_trx.getTrxName());
loc.save();
sqlCmd = new StringBuffer ("UPDATE AD_OrgInfo SET C_Location_ID=");
sqlCmd.append(loc.getC_Location_ID()).append(" WHERE AD_Org_ID=").append(getAD_Org_ID());
no = DB.executeUpdate(sqlCmd.toString(), m_trx.getTrxName());
if (no != 1)
log.log(Level.SEVERE, "Location NOT inserted");
createPreference("C_Country_ID", String.valueOf(C_Country_ID), 0);
// Default Warehouse
MWarehouse wh = new MWarehouse(m_ctx, 0, m_trx.getTrxName());
wh.setValue(defaultName);
wh.setName(defaultName);
wh.setC_Location_ID(loc.getC_Location_ID());
if (!wh.save())
log.log(Level.SEVERE, "Warehouse NOT inserted");
// Locator
MLocator locator = new MLocator(wh, defaultName);
locator.setIsDefault(true);
if (!locator.save())
log.log(Level.SEVERE, "Locator NOT inserted");
// Update ClientInfo
sqlCmd = new StringBuffer ("UPDATE AD_ClientInfo SET ");
sqlCmd.append("C_BPartnerCashTrx_ID=").append(bp.getC_BPartner_ID());
sqlCmd.append(",M_ProductFreight_ID=").append(product.getM_Product_ID());
// sqlCmd.append("C_UOM_Volume_ID=");
// sqlCmd.append(",C_UOM_Weight_ID=");
// sqlCmd.append(",C_UOM_Length_ID=");
// sqlCmd.append(",C_UOM_Time_ID=");
sqlCmd.append(" WHERE AD_Client_ID=").append(getAD_Client_ID());
no = DB.executeUpdate(sqlCmd.toString(), m_trx.getTrxName());
if (no != 1)
{
String err = "ClientInfo not updated";
log.log(Level.SEVERE, err);
m_info.append(err);
return false;
}
/**
* Other
*/
// PriceList
MPriceList pl = new MPriceList(m_ctx, 0, m_trx.getTrxName());
pl.setName(defaultName);
pl.setC_Currency_ID(C_Currency_ID);
pl.setIsDefault(true);
if (!pl.save())
log.log(Level.SEVERE, "PriceList NOT inserted");
// Price List
MDiscountSchema ds = new MDiscountSchema(m_ctx, 0, m_trx.getTrxName());
ds.setName(defaultName);
ds.setDiscountType(MDiscountSchema.DISCOUNTTYPE_Pricelist);
if (!ds.save())
log.log(Level.SEVERE, "DiscountSchema NOT inserted");
// PriceList Version
MPriceListVersion plv = new MPriceListVersion(pl);
plv.setName();
plv.setM_DiscountSchema_ID(ds.getM_DiscountSchema_ID());
if (!plv.save())
log.log(Level.SEVERE, "PriceList_Version NOT inserted");
// ProductPrice
MProductPrice pp = new MProductPrice(plv, product.getM_Product_ID(),
Env.ONE, Env.ONE, Env.ONE);
if (!pp.save())
log.log(Level.SEVERE, "ProductPrice NOT inserted");
// Create Sales Rep for Client-User
MBPartner bpCU = new MBPartner (m_ctx, 0, m_trx.getTrxName());
bpCU.setValue(AD_User_U_Name);
bpCU.setName(AD_User_U_Name);
bpCU.setC_BP_Group_ID(bpg.getC_BP_Group_ID());
bpCU.setIsEmployee(true);
bpCU.setIsSalesRep(true);
if (bpCU.save())
m_info.append(Msg.translate(m_lang, "SalesRep_ID")).append("=").append(AD_User_U_Name).append("\n");
else
log.log(Level.SEVERE, "SalesRep (User) NOT inserted");
// Location for Client-User
MLocation bpLocCU = new MLocation(m_ctx, C_Country_ID, C_Region_ID, City, m_trx.getTrxName());
bpLocCU.save();
MBPartnerLocation bplCU = new MBPartnerLocation(bpCU);
bplCU.setC_Location_ID(bpLocCU.getC_Location_ID());
if (!bplCU.save())
log.log(Level.SEVERE, "BP_Location (User) NOT inserted");
// Update User
sqlCmd = new StringBuffer ("UPDATE AD_User SET C_BPartner_ID=");
sqlCmd.append(bpCU.getC_BPartner_ID()).append(" WHERE AD_User_ID=").append(AD_User_U_ID);
no = DB.executeUpdate(sqlCmd.toString(), m_trx.getTrxName());
if (no != 1)
log.log(Level.SEVERE, "User of SalesRep (User) NOT updated");
// Create Sales Rep for Client-Admin
MBPartner bpCA = new MBPartner (m_ctx, 0, m_trx.getTrxName());
bpCA.setValue(AD_User_Name);
bpCA.setName(AD_User_Name);
bpCA.setC_BP_Group_ID(bpg.getC_BP_Group_ID());
bpCA.setIsEmployee(true);
bpCA.setIsSalesRep(true);
if (bpCA.save())
m_info.append(Msg.translate(m_lang, "SalesRep_ID")).append("=").append(AD_User_Name).append("\n");
else
log.log(Level.SEVERE, "SalesRep (Admin) NOT inserted");
// Location for Client-Admin
MLocation bpLocCA = new MLocation(m_ctx, C_Country_ID, C_Region_ID, City, m_trx.getTrxName());
bpLocCA.save();
MBPartnerLocation bplCA = new MBPartnerLocation(bpCA);
bplCA.setC_Location_ID(bpLocCA.getC_Location_ID());
if (!bplCA.save())
log.log(Level.SEVERE, "BP_Location (Admin) NOT inserted");
// Update User
sqlCmd = new StringBuffer ("UPDATE AD_User SET C_BPartner_ID=");
sqlCmd.append(bpCA.getC_BPartner_ID()).append(" WHERE AD_User_ID=").append(AD_User_ID);
no = DB.executeUpdate(sqlCmd.toString(), m_trx.getTrxName());
if (no != 1)
log.log(Level.SEVERE, "User of SalesRep (Admin) NOT updated");
// Payment Term
int C_PaymentTerm_ID = getNextID(getAD_Client_ID(), "C_PaymentTerm");
sqlCmd = new StringBuffer ("INSERT INTO C_PaymentTerm ");
sqlCmd.append("(C_PaymentTerm_ID,").append(m_stdColumns).append(",");
sqlCmd.append("Value,Name,NetDays,GraceDays,DiscountDays,Discount,DiscountDays2,Discount2,IsDefault) VALUES (");
sqlCmd.append(C_PaymentTerm_ID).append(",").append(m_stdValues).append(",");
sqlCmd.append("'Immediate','Immediate',0,0,0,0,0,0,'Y')");
no = DB.executeUpdate(sqlCmd.toString(), m_trx.getTrxName());
if (no != 1)
log.log(Level.SEVERE, "PaymentTerm NOT inserted");
// Project Cycle
C_Cycle_ID = getNextID(getAD_Client_ID(), "C_Cycle");
sqlCmd = new StringBuffer ("INSERT INTO C_Cycle ");
sqlCmd.append("(C_Cycle_ID,").append(m_stdColumns).append(",");
sqlCmd.append(" Name,C_Currency_ID) VALUES (");
sqlCmd.append(C_Cycle_ID).append(",").append(m_stdValues).append(", ");
sqlCmd.append(defaultEntry).append(C_Currency_ID).append(")");
no = DB.executeUpdate(sqlCmd.toString(), m_trx.getTrxName());
if (no != 1)
log.log(Level.SEVERE, "Cycle NOT inserted");
/**
* Organization level data ===========================================
*/
// Create Default Project
int C_Project_ID = getNextID(getAD_Client_ID(), "C_Project");
sqlCmd = new StringBuffer ("INSERT INTO C_Project ");
sqlCmd.append("(C_Project_ID,").append(m_stdColumns).append(",");
sqlCmd.append(" Value,Name,C_Currency_ID,IsSummary) VALUES (");
sqlCmd.append(C_Project_ID).append(",").append(m_stdValuesOrg).append(", ");
sqlCmd.append(defaultEntry).append(defaultEntry).append(C_Currency_ID).append(",'N')");
no = DB.executeUpdate(sqlCmd.toString(), m_trx.getTrxName());
if (no == 1)
m_info.append(Msg.translate(m_lang, "C_Project_ID")).append("=").append(defaultName).append("\n");
else
log.log(Level.SEVERE, "Project NOT inserted");
// Default Project
if (m_hasProject)
{
sqlCmd = new StringBuffer ("UPDATE C_AcctSchema_Element SET ");
sqlCmd.append("C_Project_ID=").append(C_Project_ID);
sqlCmd.append(" WHERE C_AcctSchema_ID=").append(m_as.getC_AcctSchema_ID());
sqlCmd.append(" AND ElementType='PJ'");
no = DB.executeUpdate(sqlCmd.toString(), m_trx.getTrxName());
if (no != 1)
log.log(Level.SEVERE, "AcctSchema ELement Project NOT updated");
}
// CashBook
MCashBook cb = new MCashBook(m_ctx, 0, m_trx.getTrxName());
cb.setName(defaultName);
cb.setC_Currency_ID(C_Currency_ID);
if (cb.save())
m_info.append(Msg.translate(m_lang, "C_CashBook_ID")).append("=").append(defaultName).append("\n");
else
log.log(Level.SEVERE, "CashBook NOT inserted");
//
m_trx.commit();
m_trx.close();
log.info("fini");
return true;
} // createEntities
/**
* Create Preference
* @param Attribute attribute
* @param Value value
* @param AD_Window_ID window
*/
private void createPreference (String Attribute, String Value, int AD_Window_ID)
{
int AD_Preference_ID = getNextID(getAD_Client_ID(), "AD_Preference");
StringBuffer sqlCmd = new StringBuffer ("INSERT INTO AD_Preference ");
sqlCmd.append("(AD_Preference_ID,").append(m_stdColumns).append(",");
sqlCmd.append("Attribute,Value,AD_Window_ID) VALUES (");
sqlCmd.append(AD_Preference_ID).append(",").append(m_stdValues).append(",");
sqlCmd.append("'").append(Attribute).append("','").append(Value).append("',");
if (AD_Window_ID == 0)
sqlCmd.append("NULL)");
else
sqlCmd.append(AD_Window_ID).append(")");
int no = DB.executeUpdate(sqlCmd.toString(), m_trx.getTrxName());
if (no != 1)
log.log(Level.SEVERE, "Preference NOT inserted - " + Attribute);
} // createPreference
/**************************************************************************
* Get Next ID
* @param AD_Client_ID client
* @param TableName table name
*/
private int getNextID (int AD_Client_ID, String TableName)
{
// TODO: Exception
return DB.getNextID (AD_Client_ID, TableName, m_trx.getTrxName());
} // getNextID
/**
* Get Client
* @return AD_Client_ID
*/
public int getAD_Client_ID()
{
return m_client.getAD_Client_ID();
}
public int getAD_Org_ID()
{
return m_org.getAD_Org_ID();
}
public int getAD_User_ID()
{
return AD_User_ID;
}
public String getInfo()
{
return m_info.toString();
}
} // MSetup
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -