package com.topsun.posclient.sales.ui.table; import java.math.BigDecimal; 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 com.topsun.posclient.common.AppConstants; 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; /** * 投资金条预订表格 * @author Dong * */ public class GoldBookingTableLableProvider 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; BigDecimal zdpzl = item.getZDPZL(); BigDecimal zmdlsbqj =item.getZMDLSBQJ(); switch (columnIndex) { case 0: return item.getMATNR(); //物料组 case 1: if(AppConstants.ITEM_TYPE_CURRENTGOLD.equals(item.getItemType())){//单品名称 return item.getItemName(); } return item.getMatrnName();//物料名称 case 2: return item.getItemCode();//单品编码 case 3: if(zdpzl == null){ return "0.00"; } return zdpzl.toString();//重量 case 4: return item.getBookingDays();//预订天数 case 5: if(zmdlsbqj == null || zmdlsbqj.compareTo(new BigDecimal(0.00)) == 0){ return ProjectUtil.formatAmount(null, item.getPrice()); } return ProjectUtil.formatAmount(null, item.getPrice()).toString();//单价 case 6: //应售 return ProjectUtil.formatAmount(null, item.getSalesAmount()).toString(); case 7: return ProjectUtil.formatAmount(null,item.getFactAmount()).toString(); case 8: // int userId = item.getCashier(); // Map<Integer,User> map = POSClientApp.get().getUserRelation(); // Iterator<Integer> iterator = map.keySet().iterator(); // while(iterator.hasNext()){ // int s = iterator.next(); // User user = map.get(s); // if(user.getId() == userId){ // return user.getUserName(); // } // } return item.getCashierName(); 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]; } }