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]; } }