package com.topsun.posclient.sales.ui.table;
import java.math.BigDecimal;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ITableColorProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Table;
import com.topsun.posclient.common.POSException;
import com.topsun.posclient.common.ProjectUtil;
import com.topsun.posclient.common.service.IBaseService;
import com.topsun.posclient.common.service.impl.BaseServiceImpl;
import com.topsun.posclient.common.ui.utils.ThemeUtils;
import com.topsun.posclient.datamodel.Item;
import com.topsun.posclient.sales.MessageResources;
import com.topsun.posclient.sales.ui.gold.GoldBuyBackManager;
/**
* @author Dong
*
*/
public class GoldBuyBackTableLableProvider implements ITableLabelProvider,ITableColorProvider {
private Color[] bg = ThemeUtils.getCurrent().getTableCellBg();
private Color[] force = ThemeUtils.getCurrent().getTableCellForce();
private Object current = null;
private int currentColor = 0;
public IBaseService baseService = new BaseServiceImpl();
public void addListener(ILabelProviderListener listener) {
}
public void dispose() {
}
public boolean isLabelProperty(Object element, String property) {
return false;
}
public void removeListener(ILabelProviderListener listener) {
}
public Image getColumnImage(Object element, int columnIndex) {
return null;
}
@Override
public String getColumnText(Object element, int columnIndex) {
if (element instanceof Item) {
Item item = (Item) element;
String invoceCode = item.getInvoceCode();
String docNum = item.getDocNum();
String matnr = item.getMATNR();
BigDecimal zdpyzl = item.getZDPYZL();
BigDecimal price =item.getPrice();
BigDecimal ZMDLSBQJ = item.getZMDLSBQJ();
switch (columnIndex) {
case 0:
return invoceCode;
case 1:
return docNum;
case 2:
return matnr;
case 3:
String matnrName = "";
if(null != matnr && !"".equals(matnr)){
try {
matnrName = baseService.getMaterialByMatnr(item.getMATNR()).getMaktx();
} catch (POSException e) {
Table table = GoldBuyBackManager.getInstance().getGoldBuyBackTableView().getTable();
MessageDialog.openError(table.getShell(), MessageResources.message_ui_tips, e.getErrorMessage());
}
}
return matnrName;
case 4:
if(zdpyzl == null || "".equals(zdpyzl)){
return "0.00";
}
return zdpyzl.toString();//克重
case 5:
if(null == price || "".equals(price)){
return "0.00";
}
return ProjectUtil.formatAmount(null, price).toString();// 回购价
case 6:
if(null == ZMDLSBQJ || "".equals(ZMDLSBQJ)){
return "0.00";
}
return ProjectUtil.formatAmount(null, ZMDLSBQJ).toString();//金额
default:
return "";
}
}
return element.toString();
}
@Override
public Color getForeground(Object element, int columnIndex) {
return force[currentColor];
}
@Override
public Color getBackground(Object element, int columnIndex) {
if (current != element) {
currentColor = 1 - currentColor;
current = element;
}
return bg[currentColor];
}
}