Merge faa803acaeca

This commit is contained in:
Heng Sin Low 2013-05-08 16:29:39 +08:00
commit 5a3e609189
23 changed files with 117 additions and 35 deletions

View File

@ -0,0 +1,7 @@
CREATE OR REPLACE VIEW m_costmovement_v AS
SELECT a.ad_client_id, a.ad_org_id, b.c_acctschema_id, a.m_costhistory_id, a.m_costtype_id, a.m_costelement_id, a.m_attributesetinstance_id, b.m_product_id, a.oldqty, a.newqty, a.oldcostprice, a.newcostprice, a.oldcqty, a.newcqty, a.oldcamt, a.newcamt, b.qty, b.amt, b.deltaqty, b.deltaamt, b.c_orderline_id, b.m_inoutline_id, b.c_invoiceline_id, b.m_movementline_id, b.m_inventoryline_id, b.m_productionline_id, b.c_projectissue_id, a.m_costdetail_id, b.description, a.created, a.createdby, a.updated, a.updatedby, a.isactive
FROM m_costhistory a
JOIN m_costdetail b ON a.m_costdetail_id = b.m_costdetail_id
ORDER BY a.m_costhistory_id
;

View File

@ -0,0 +1,7 @@
CREATE OR REPLACE VIEW m_costmovement_v AS
SELECT a.ad_client_id, a.ad_org_id, b.c_acctschema_id, a.m_costhistory_id, a.m_costtype_id, a.m_costelement_id, a.m_attributesetinstance_id, b.m_product_id, a.oldqty, a.newqty, a.oldcostprice, a.newcostprice, a.oldcqty, a.newcqty, a.oldcamt, a.newcamt, b.qty, b.amt, b.deltaqty, b.deltaamt, b.c_orderline_id, b.m_inoutline_id, b.c_invoiceline_id, b.m_movementline_id, b.m_inventoryline_id, b.m_productionline_id, b.c_projectissue_id, a.m_costdetail_id, b.description, a.created, a.createdby, a.updated, a.updatedby, a.isactive
FROM m_costhistory a
JOIN m_costdetail b ON a.m_costdetail_id = b.m_costdetail_id
ORDER BY a.m_costhistory_id
;

View File

@ -0,0 +1,8 @@
-- May 3, 2013 2:40:20 PM COT
-- IDEMPIERE-909 Enable back After Order delivered invoice rule
UPDATE AD_Ref_List SET IsActive='Y',Updated=TO_DATE('2013-05-03 14:40:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Ref_List_ID=214
;
SELECT register_migration_script('201305031441_IDEMPIERE-909.sql') FROM dual
;

View File

@ -0,0 +1,12 @@
-- May 4, 2013 4:02:25 PM COT
-- IDEMPIERE-894 Not Possible to Link Business Partner to an Organization
UPDATE AD_Column SET IsAllowCopy='N',Updated=TO_DATE('2013-05-04 16:02:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=10927
;
-- May 4, 2013 4:03:03 PM COT
UPDATE AD_Column SET IsAllowCopy='N',Updated=TO_DATE('2013-05-04 16:03:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=8757
;
SELECT register_migration_script('201305041605_IDEMPIERE-894.sql') FROM dual
;

View File

@ -0,0 +1,8 @@
-- May 3, 2013 2:40:20 PM COT
-- IDEMPIERE-909 Enable back After Order delivered invoice rule
UPDATE AD_Ref_List SET IsActive='Y',Updated=TO_TIMESTAMP('2013-05-03 14:40:20','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Ref_List_ID=214
;
SELECT register_migration_script('201305031441_IDEMPIERE-909.sql') FROM dual
;

View File

@ -0,0 +1,12 @@
-- May 4, 2013 4:02:25 PM COT
-- IDEMPIERE-894 Not Possible to Link Business Partner to an Organization
UPDATE AD_Column SET IsAllowCopy='N',Updated=TO_TIMESTAMP('2013-05-04 16:02:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=10927
;
-- May 4, 2013 4:03:03 PM COT
UPDATE AD_Column SET IsAllowCopy='N',Updated=TO_TIMESTAMP('2013-05-04 16:03:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=8757
;
SELECT register_migration_script('201305041605_IDEMPIERE-894.sql') FROM dual
;

View File

@ -62,7 +62,7 @@ public class CopyFromJournalDoc extends SvrProcess
MJournal from = new MJournal (getCtx(), m_GL_Journal_ID, get_TrxName());
MJournal to = new MJournal (getCtx(), To_GL_Journal_ID, get_TrxName());
//
int no = to.copyLinesFrom(from, from.getDateAcct(), 'x');
int no = to.copyLinesFrom(from, to.getDateAcct(), 'x');
//
return "@Copied@=" + no;
} // doIt

View File

@ -32,7 +32,7 @@ public interface IGridTabExporter {
* @param isCurrentRowOnly
* @param file
*/
public void export(GridTab gridTab, List<GridTab> childs, boolean isCurrentRowOnly, File file);
public void export(GridTab gridTab, List<GridTab> childs, boolean isCurrentRowOnly, File file, int indxDetailSelected);
/**
* @return file extension

View File

@ -69,7 +69,7 @@ public class GridTabCSVExporter implements IGridTabExporter
private static CLogger log = CLogger.getCLogger(GridTabCSVExporter.class);
@Override
public void export(GridTab gridTab, List<GridTab> childs, boolean currentRowOnly, File file) {
public void export(GridTab gridTab, List<GridTab> childs, boolean currentRowOnly, File file,int indxDetailSelected) {
ICsvMapWriter mapWriter = null;
Map<GridTab,GridField[]> tabMapDetails = new HashMap<GridTab, GridField[]>();
@ -129,6 +129,9 @@ public class GridTabCSVExporter implements IGridTabExporter
int specialDetDispayType = 0;
int numOfTabs=0;
for(GridTab detail: childs){
if(indxDetailSelected != detail.getTabNo())
continue;
if(!detail.isDisplayed())
continue;

View File

@ -459,12 +459,11 @@ public class GridTabCSVImporter implements IGridTabImporter
if(isInsertMode())
logMsg = Msg.getMsg(Env.getCtx(), "Inserted")+" "+ po.toString();
else
else{
logMsg = Msg.getMsg(Env.getCtx(), "Updated")+" "+ po.toString();
//if it's parent record and there are details, parent needs to be refreshed
if(currentGridTab.equals(gridTab) && sortedtTabMapIndexes.size()>1)
currentGridTab.dataRefresh(false);
if(currentGridTab.equals(gridTab) && sortedtTabMapIndexes.size()>1)
currentGridTab.dataRefresh(true);
}
} else {
ValueNamePair ppE = CLogger.retrieveWarning();
if (ppE==null)
@ -482,11 +481,17 @@ public class GridTabCSVImporter implements IGridTabImporter
if(currentGridTab.equals(gridTab) && masterRecord==null){
isMasterok = false;
rowResult.append("<"+currentGridTab.getTableName()+">: ");
rowResult.append(logMsg);
rowResult.append(" / ");
break;
}
if(!currentGridTab.equals(gridTab) && masterRecord!=null){
isDetailok = false;
rowResult.append("<"+currentGridTab.getTableName()+">: ");
rowResult.append(logMsg);
rowResult.append(" / ");
break;
}
}
@ -543,7 +548,6 @@ public class GridTabCSVImporter implements IGridTabImporter
row =row.replaceAll("Inserted","RolledBack");
logFileW.write(row);
}
gridTab.dataRefreshAll();
}else{
if(isThereDocAction){
@ -581,13 +585,13 @@ public class GridTabCSVImporter implements IGridTabImporter
}
if(masterRecord!=null){
gridTab.getTableModel().dataRequery(masterRecord.get_WhereClause(true),false,0,false);
gridTab.navigateCurrent();
gridTab.getTableModel().setImportingMode(false, null);
gridTab.query(false);
gridTab.getTableModel().setImportingMode(false,null);
for(GridTab detail: childs)
if(detail.getTableModel().isOpen())
if(detail.getTableModel().isOpen()){
detail.query(true);
detail.getTableModel().setImportingMode(false,null);
}
}
trx.close();
trx=null;
@ -1227,7 +1231,7 @@ public class GridTabCSVImporter implements IGridTabImporter
}
if (isUpdateMode()){
if(gridTab.getTableModel().getRowCount()==1){
gridTab.navigateRelative(gridTab.getCurrentRow());
gridTab.navigateCurrent();
return null;
}
else if(gridTab.getTableModel().getRowCount()<=0)
@ -1237,7 +1241,7 @@ public class GridTabCSVImporter implements IGridTabImporter
}
if (isMergeMode()){
if(gridTab.getTableModel().getRowCount()==1){
gridTab.navigateRelative(gridTab.getCurrentRow());
gridTab.navigateCurrent();
m_import_mode = IMPORT_MODE_UPDATE;
}else if(gridTab.getTableModel().getRowCount()<=0)
m_import_mode = IMPORT_MODE_INSERT;

View File

@ -153,7 +153,7 @@ public class GridTabExcelExporter extends AbstractExcelExporter implements IGrid
}
@Override
public void export(GridTab gridTab, List<GridTab> childs, boolean currentRowOnly, File file) {
public void export(GridTab gridTab, List<GridTab> childs, boolean currentRowOnly, File file,int indxDetailSelected) {
m_tab = gridTab;
setCurrentRowOnly(currentRowOnly);
try {

View File

@ -2822,7 +2822,7 @@ public class GridTable extends AbstractTableModel
ResultSet rs = null;
try
{
pstmt = DB.prepareStatement(sql, null);
pstmt = DB.prepareStatement(sql,get_TrxName());
rs = pstmt.executeQuery();
// only one row
if (rs.next())
@ -3681,7 +3681,7 @@ public class GridTable extends AbstractTableModel
String sql = "SELECT " + columns + " FROM " + m_tableName + " WHERE " + m_tableName + "_ID=?";
try
{
pstmt = DB.prepareStatement(sql, null);
pstmt = DB.prepareStatement(sql, get_TrxName());
pstmt.setInt(1, getKeyID(row));
rs = pstmt.executeQuery();
if (rs.next()) {
@ -3717,9 +3717,13 @@ public class GridTable extends AbstractTableModel
if (hasProcessed) {
Boolean memProcessed = null;
memProcessed = (Boolean) getOldValue(row, colProcessed);
if (memProcessed == null)
memProcessed = (Boolean) getValueAt(row, colProcessed);
if (memProcessed == null){
if(getValueAt(row, colProcessed) instanceof Boolean )
memProcessed = (Boolean) getValueAt(row, colProcessed);
else if (getValueAt(row, colProcessed) instanceof String )
memProcessed = Boolean.valueOf((String)getValueAt(row, colProcessed));
}
Boolean dbProcessed = Boolean.TRUE;
if (! dbProcessedS.equals("Y"))
dbProcessed = Boolean.FALSE;

View File

@ -538,7 +538,7 @@ public class MBPartner extends X_C_BPartner
if (AD_OrgBP_ID == 0)
super.setAD_OrgBP_ID (null);
else
super.setAD_OrgBP_ID (String.valueOf(AD_OrgBP_ID));
super.set_Value("AD_OrgBP_ID", AD_OrgBP_ID);
} // setAD_OrgBP_ID
/**

View File

@ -370,6 +370,9 @@ public class DataEngine
eSql = MLookupFactory.getLookup_TableDirEmbed(m_language, ColumnName, tableName);
}
if (Util.isEmpty(eSql)) { // No Identifier records found
eSql = lookupSQL;
}
// DisplayColumn
String display = ColumnName;
// => (..) AS AName, Table.ID,

View File

@ -43,7 +43,7 @@ public class GridTab2PackExporter implements IGridTabExporter {
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public void export(GridTab gridTab, List<GridTab> childs, boolean currentRowOnly, File file) {
public void export(GridTab gridTab, List<GridTab> childs, boolean currentRowOnly, File file,int indxDetailSelected) {
String tableName = gridTab.getTableName();
PackOut packOut = new PackOut();
packOut.setCtx(Env.getCtx());

View File

@ -160,6 +160,6 @@ public class AExport
childs.add(gc.getMTab());
}
exporter.export(tab, childs, currentRowOnly, outFile);
exporter.export(tab, childs, currentRowOnly, outFile,0);
}
}

View File

@ -173,7 +173,11 @@ public class ExportWindow extends Window implements EventListener<Event> {
childs.add(adTabPanel.getGridTab());
}
exporter.export(panel.getActiveGridTab(), childs, currentRowOnly, file);
int indxDetailSelected = 0;
if( adTab.getSelectedDetailADTabpanel()!=null )
indxDetailSelected = adTab.getSelectedDetailADTabpanel().getGridTab().getTabNo();
exporter.export(panel.getActiveGridTab(), childs, currentRowOnly,file,indxDetailSelected);
onClose();
AMedia media = null;

View File

@ -295,13 +295,13 @@ public class WCharge extends Charge implements IFormController, EventListener<Ev
final int valueFieldColumns = 10;
// top row
m_lblValue.setValue(Msg.translate(Env.getCtx(), EColumn.VALUE.title()));
m_lblValue.setValue(Msg.getElement(Env.getCtx(), EColumn.VALUE.title()));
m_txbValueField.setCols(valueFieldColumns);
m_chbIsExpense.setChecked(true);
m_chbIsExpense.setLabel(Msg.getMsg(Env.getCtx(), EColumn.EXPENSE.title()));
m_chbIsExpense.setLabel(Msg.getElement(Env.getCtx(), EColumn.EXPENSE.title()));
// bottom row
m_lblName.setValue(Msg.translate(Env.getCtx(), EColumn.NAME.title()));
m_lblName.setValue(Msg.getElement(Env.getCtx(), EColumn.NAME.title()));
m_txbNameField.setCols(nameFieldColumns);
m_btnNew.setLabel(Msg.getMsg(Env.getCtx(), AD_MESSAGE_CREATE) + " " + Util.cleanAmp(Msg.getMsg(Env.getCtx(), "New")));
m_btnNew.addEventListener(Events.ON_CLICK, this);

View File

@ -380,6 +380,7 @@ public class DPCalendar extends DashboardPanel implements EventListener<Event>,
private void btnCurrentDateClicked() {
calendars.setCurrentDate(Calendar.getInstance(calendars.getDefaultTimeZone()).getTime());
updateDateLabel();
updateUI();
}
private void divArrowClicked(boolean isNext) {
@ -388,6 +389,7 @@ public class DPCalendar extends DashboardPanel implements EventListener<Event>,
else
calendars.previousPage();
updateDateLabel();
updateUI();
}
@Override

View File

@ -281,7 +281,7 @@ ContextMenuListener, IZoomableEditor
//still not in list, reset to zero
if (!getComponent().isSelected(value))
{
if (value instanceof Integer && gridField != null && gridField.getDisplayType() != DisplayType.ID) // for IDs is ok to be out of the list
if (value instanceof Integer && gridField != null && gridField.getDisplayType() != DisplayType.ID && !gridTab.getTableModel().isImporting()) // for IDs is ok to be out of the list
{
getComponent().setValue(null);
if (curValue == null)

View File

@ -205,8 +205,12 @@ public class ExportAction implements EventListener<Event>
tables.add(tableName);
childs.add(adTabPanel.getGridTab());
}
exporter.export(panel.getActiveGridTab(), childs, currentRowOnly, file);
int indxDetailSelected = 0;
if( adTab.getSelectedDetailADTabpanel()!=null )
indxDetailSelected = adTab.getSelectedDetailADTabpanel().getGridTab().getTabNo();
exporter.export(panel.getActiveGridTab(), childs, currentRowOnly,file,indxDetailSelected);
winExportFile.onClose();
winExportFile = null;

View File

@ -189,9 +189,12 @@ public class ReportAction implements EventListener<Event>
else if(event.getTarget() == chkExport)
cboExportType.setVisible(chkExport.isChecked());
else if (event.getName().equals("onValidate")) {
validate();
Clients.clearBusy();
panel.getComponent().invalidate();
try {
validate();
} finally {
Clients.clearBusy();
panel.getComponent().invalidate();
}
}
}

View File

@ -214,6 +214,7 @@ public class Charge
MElementValue.ACCOUNTSIGN_Natural,
false, false, null);
ev.setAD_Org_ID(m_AD_Org_ID);
ev.setC_Element_ID(m_C_Element_ID);
if (!ev.save())
log.log(Level.WARNING, "C_ElementValue_ID not created");
return ev.getC_ElementValue_ID();