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