package com.topsun.posclient.sales.ui.gold;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.widgets.Text;
import com.topsun.posclient.common.AppConstants;
import com.topsun.posclient.common.POSClientApp;
import com.topsun.posclient.common.POSException;
import com.topsun.posclient.common.ProjectUtil;
import com.topsun.posclient.common.core.keyboard.SoftKeyUtil;
import com.topsun.posclient.common.service.IBaseService;
import com.topsun.posclient.common.service.impl.BaseServiceImpl;
import com.topsun.posclient.datamodel.Item;
import com.topsun.posclient.datamodel.OldGold;
import com.topsun.posclient.datamodel.User;
import com.topsun.posclient.datamodel.dto.OldGoldDTO;
import com.topsun.posclient.sales.MessageResources;
import com.topsun.posclient.sales.core.service.IOldGoldSaleService;
import com.topsun.posclient.sales.core.service.IPartSaleService;
import com.topsun.posclient.sales.core.service.impl.OldGoldSaleServiceImpl;
import com.topsun.posclient.sales.core.service.impl.PartSaleServiceImpl;
import com.topsun.posclient.sales.dialog.CutGoldDialog;
/**
* @author Dong
*
*/
public class PartSalesFacade extends CommonFacade {
public static void restSalesView() throws POSException{
TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView();
tableViewer.setInput(null);
tableViewer.refresh();
IBaseService baseService = new BaseServiceImpl();
Text text = PartSalesManager.getInstance().getDocNum();
text.setText(baseService.createNo(AppConstants.DOC_TYPE_SALES));
Text memberName = PartSalesManager.getInstance().getMemberName();
Text cardNo = PartSalesManager.getInstance().getCardNo();
Text phone = PartSalesManager.getInstance().getPhone();
Text point = PartSalesManager.getInstance().getPoint();
List<Item> itemTempList = PartSalesManager.getInstance().getItemTempList();
memberName.setText("");
cardNo.setText("");
phone.setText("");
point.setText("0.00");
itemTempList.clear();
PartSalesManager.getInstance().getPartSales().setVip(false);
PartSalesManager.getInstance().getPartSales().setVipUser(null);
PartSalesManager.getInstance().getPartSales().setItemList(new ArrayList<Item>());
PartSalesFacade.caculatorPartSalesPrice();
}
/**
* 获取当前零售窗口选中的ITEM
* @return
*/
public static Item getCurrentSelectionItem() {
TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView();
ISelection iSelection = tableViewer.getSelection();
if (iSelection instanceof StructuredSelection) {
StructuredSelection selection = (StructuredSelection) iSelection;
Object obj = selection.getFirstElement();
if (obj instanceof Item) {
Item item = (Item) obj;
return item;
}
}
return null;
}
public static List<Item> getCurrentItemList() {
TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView();
return (List<Item>)tableViewer.getInput();
}
/**
* 计算总价
*/
public static void caculatorPartSalesPrice() {
Label salesPriceLable = PartSalesManager.getInstance().getSalesTotlePrice();
TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView();
TableItem[] items = tableViewer.getTable().getItems();
BigDecimal totle = new BigDecimal(0);
for (TableItem tableItem : items) {
String price = tableItem.getText(12);
BigDecimal bigDecimal = ProjectUtil.formatString(price);
totle = totle.add(bigDecimal);
}
salesPriceLable.setText(ProjectUtil.formatAmount(null, totle));
}
/**
* @param item
* @return
*/
private static boolean isCut(Item item){
boolean isSu = isSuGold(item.getMatkl());
boolean flag = item.getItemType().equals(AppConstants.ITEM_TYPE_NORMAL);
return isSu&&flag;
}
/**
* 打开断头窗口
*
* @param control
*/
public static void openCutGoldDialogListener(Control control, final String docNum) {
if (control instanceof Button) {
final Button button = (Button) control;
button.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
Button saveButton = (Button)e.getSource();
TableViewer tableViewer = PartSalesManager.getInstance()
.getSalesProductTableView();
ISelection iSelection = tableViewer.getSelection();
if (iSelection instanceof StructuredSelection) {
StructuredSelection selection = (StructuredSelection) iSelection;
Object obj = selection.getFirstElement();
if(null == obj){
MessageDialog.openInformation(saveButton.getShell(), MessageResources.message_ui_tips, "请选择");
return;
}
if (obj instanceof Item) {
Item item = (Item) obj;
if(!isCut(item)){
MessageDialog.openInformation(saveButton.getShell(), MessageResources.message_ui_tips, "只有素金才能断头");
return;
}
BigDecimal selfQ = item.getZDPYZL();
CutGoldDialog cutGoldDialog = new CutGoldDialog(button.getShell(), selfQ.toString());
cutGoldDialog.setDocNum(docNum);
cutGoldDialog.open();
}
}
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
}
});
}
}
/**
* 删除金品ITEM
*
* @param control
*/
public static void delGoldSaleItemListener(Control control) {
if (control instanceof Button) {
Button button = (Button) control;
button.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
TableViewer tableViewer = PartSalesManager.getInstance()
.getSalesProductTableView();
ISelection iSelection = tableViewer.getSelection();
if (iSelection instanceof IStructuredSelection) {
IStructuredSelection iStructuredSelection = (IStructuredSelection) iSelection;
Object obj = iStructuredSelection.getFirstElement();
if (obj instanceof Item) {
Item item = (Item) obj;
Object itemList = tableViewer.getInput();
if (itemList == null) {
return;
} else {
if (itemList instanceof List) {
List list = (List) itemList;
list.remove(item);
List<Item> tempList = PartSalesManager.getInstance().getItemTempList();
Item removeItem = null;
for (Item item2 : tempList) {
if(item2.getItemCode().equals(item.getItemCode())){
removeItem = item2;
}
}
tempList.remove(removeItem);
tableViewer.setInput(list);
}
}
tableViewer.refresh();
caculatorPartSalesPrice();
}
}
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
// TODO Auto-generated method stub
}
});
}
}
/**
* 计算服务费
*
* @return
*/
public static String caculateSerivceFee() {
TableViewer tableViewer = PartSalesManager.getInstance()
.getSalesProductTableView();
Object obj = tableViewer.getInput();
if (obj == null) {
return "0.00";
} else {
if (obj instanceof List) {
BigDecimal totalFee = new BigDecimal(0);
List<Item> list = (List<Item>) obj;
for (Item t_Item : list) {
BigDecimal itemDecimal = t_Item.getZJGF();
if (itemDecimal == null) {
continue;
}
totalFee = totalFee.add(itemDecimal);
}
return ProjectUtil.formatAmount(null, totalFee);
}
}
return "0.00";
}
/**
* 添加计算服务费事件
*
* @param control
*/
public static void addServiceFeeListener(Control control) {
if (control instanceof Button) {
Button button = (Button) control;
button.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView();
List<Item> itemTempList = PartSalesManager.getInstance().getItemTempList();
List<Item> items = (List<Item>)tableViewer.getInput();
if(null == items){
items = new ArrayList<Item>();
}
Item item = new Item();
item.setItemType(AppConstants.ITEM_TYPE_SERVICEFEE);
item.setItemStatus(AppConstants.ITEM_STATU_SERVICE);
item.setSalesAmount(new BigDecimal(0));
item.setFactAmount(new BigDecimal(0));
item.setZJGF(new BigDecimal(0));
item.setFactZJGF(new BigDecimal(0));
item.setPretlAmount(new BigDecimal(0));
item.setItemName("服务费");
item.setMatkl("2020101");
item.setMATNR("35903");
item.setItemCode("F201011");
// item.setCashier(POSClientApp.get().getLoginUser().getUserName());
item.setDISCOUNT1(new BigDecimal(0));
item.setDISCOUNT2(new BigDecimal(0));
item.setDocNum(PartSalesManager.getInstance().getDocNum().getText());
item.setHasGiveaway(0);
item.setIsOldGold(0);
item.setItemStatus(AppConstants.ITEM_STATU_SERVICE);
item.setNum(1);
item.setZZZZZ(new BigDecimal(0));
item.setZMDLSBQJ(new BigDecimal(0));
item.setZDPYZL(new BigDecimal(0));
item.setZYTM("");
item.setZSSMD("");
item.setZSSGS("");
item.setZSJCS("");
item.setZoneID(1);
item.setZMDDXJSJ(new BigDecimal(0));
item.setZKJGFLS(new BigDecimal(0));
item.setZFZZZL(new BigDecimal(0));
item.setZDPZL(new BigDecimal(0));
item.setZJSHJFS("一口价");
items.add(item);
itemTempList.add(item);
tableViewer.setInput(items);
caculatorPartSalesPrice();
tableViewer.refresh();
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
}
});
}
}
/**
* 添加旧金按钮点击事件
* @param control
*/
public static void addOldGoldOrderListenerForButton(Control control) {
if (control instanceof Button) {
Button button = (Button) control;
button.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
Text oldDocNum = PartSalesManager.getInstance().getOldDocNum();
if(null == oldDocNum || null == oldDocNum.getText() || "".equals(oldDocNum.getText()) ){
MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, "请输入【旧金单据编号】");
oldDocNum.forceFocus();
return;
}
String inputOldDocNum = oldDocNum.getText();
TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView();
List<Item> items = (List<Item>)tableViewer.getInput();
if(null != items && items.size() > 0){
for(Item i : items){
if(i.getItemType().equals(AppConstants.ITEM_TYPE_SERVICEFEE)){
continue;
}
if(i.getIsOldGold() == 1 && null != i.getDocNum() && i.getDocNum().equals(inputOldDocNum)){
MessageDialog.openInformation(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, "单据编号为【"+inputOldDocNum+"】的旧金数据已添加");
oldDocNum.forceFocus();
oldDocNum.setText("");
return;
}
}
}
IOldGoldSaleService goldSaleService = new OldGoldSaleServiceImpl();
OldGoldDTO oldGoldDto = null;
try {
oldGoldDto = goldSaleService.downloadOldGoldData(inputOldDocNum);//下载旧金
} catch (POSException e2) {
MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, e2.getErrorMessage());
oldDocNum.forceFocus();
oldDocNum.setText("");
return;
}
if(null == oldGoldDto || null == oldGoldDto.getOldGoldList() || oldGoldDto.getOldGoldList().size() == 0){
MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, "没有旧金数据");
oldDocNum.forceFocus();
oldDocNum.setText("");
return;
}
List<Item> itemTempList = PartSalesManager.getInstance().getItemTempList();
List<OldGold> oldGolds = oldGoldDto.getOldGoldList();
List<Item> oldItems = new ArrayList<Item>();
if(oldGolds != null && oldGolds.size() > 0){
Item item = null;
for (OldGold oldGold : oldGolds) {
item = new Item();
item.setDocNum(inputOldDocNum);
item.setId(oldGold.getMainID());
item.setMatkl(oldGold.getMtartCode());
item.setItemCode("");
item.setItemName(oldGold.getName());
item.setItemType(AppConstants.ITEM_TYPE_OLDGOLD);
item.setItemStatus(AppConstants.ITEM_STATU_NORMAL);
item.setZDPYZL(oldGold.getWeight_G());
item.setZDPZL(oldGold.getWeight_F());
item.setPrice(oldGold.getPrice_G());
item.setZMDLSBQJ(oldGold.getSum());
item.setZJGF(oldGold.getService());
item.setFactZJGF(oldGold.getService());
item.setSalesAmount(oldGold.getSum());
item.setFactAmount(oldGold.getSum());
item.setZSJCS(oldGold.getNeatness().toString());
item.setIsOldGold(1);
itemTempList.add(item);
oldItems.add(item);
}
}
// OldGold oldGold = oldGoldDto.getOldGoldList().get(0);
Object obj = tableViewer.getInput();
if (obj == null) {
// List<Item> list = new ArrayList<Item>();
// list.add(item);
tableViewer.setInput(oldItems);
} else {
if (obj instanceof List) {
List<Item> list = (List<Item>) obj;
for(Item i : list){
i.setIsOldGold(1);//添加旧金之后设置所有单品的是否旧金贴换为1
}
// Collections.addAll(list, oldItems);
list.addAll(oldItems);
tableViewer.setInput(list);
}
}
caculatorPartSalesPrice();
tableViewer.refresh();
PartSalesManager.getInstance().getPartSales().setIsReplace(1);//
PartSalesManager.getInstance().getOldDocNum().setText("");//清空旧金单号输入框
}
public void widgetDefaultSelected(SelectionEvent e) {
}
});
}
}
/**
* 添加旧金监听
*
* @param control
*/
public static void addOldGoldOrderListener(Control control) {
SoftKeyUtil.showSoftKey(control);
control.addKeyListener(new KeyListener() {
@Override
public void keyReleased(KeyEvent e) {
Text text = (Text) e.getSource();
if (e.keyCode == SWT.CR) {
String inputString = "";
if (e.getSource() instanceof Text) {
inputString = text.getText();
}
if(null == inputString || "".equals(inputString)){
MessageDialog.openInformation(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, "【旧金单据号】不能为空");
text.forceFocus();
text.setText("");
return;
}
TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView();
List<Item> items = (List<Item>)tableViewer.getInput();
if(null != items && items.size() > 0){
for(Item i : items){
if(i.getItemType().equals(AppConstants.ITEM_TYPE_SERVICEFEE)){
continue;
}
if(i.getIsOldGold() == 1 && null != i.getDocNum() && i.getDocNum().equals(inputString)){
MessageDialog.openInformation(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, "单据编号为【"+inputString+"】的旧金数据已添加");
text.forceFocus();
text.setText("");
return;
}
}
}
Item item = null;
IOldGoldSaleService goldSaleService = new OldGoldSaleServiceImpl();
OldGoldDTO oldGoldDto = null;
try {
oldGoldDto = goldSaleService.downloadOldGoldData(inputString);//下载旧金
} catch (POSException e2) {
MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, e2.getErrorMessage());
text.forceFocus();
text.setText("");
return;
}
if(null == oldGoldDto || null == oldGoldDto.getOldGoldList() || oldGoldDto.getOldGoldList().size() == 0){
MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, "没有旧金数据");
text.forceFocus();
text.setText("");
return;
}
List<Item> itemTempList = PartSalesManager.getInstance().getItemTempList();
List<OldGold> oldGolds = oldGoldDto.getOldGoldList();
List<Item> oldItems = new ArrayList<Item>();
if(oldGolds != null && oldGolds.size() > 0){
for (OldGold oldGold : oldGolds) {
item = new Item();
item.setDocNum(inputString);
item.setId(oldGold.getMainID());
item.setMatkl(oldGold.getMtartCode());
item.setItemCode(oldGold.getItemCode());
item.setItemName(oldGold.getName());
item.setItemType(AppConstants.ITEM_TYPE_OLDGOLD);
item.setItemStatus(AppConstants.ITEM_STATU_NORMAL);
item.setZDPYZL(oldGold.getWeight_G());
item.setZDPZL(oldGold.getWeight_F());
item.setPrice(oldGold.getPrice_G());
item.setZMDLSBQJ(oldGold.getSum());
item.setZJGF(oldGold.getService());
item.setFactZJGF(oldGold.getService());
item.setSalesAmount(oldGold.getSum());
item.setFactAmount(oldGold.getSum());
item.setZSJCS(oldGold.getNeatness().toString());
item.setIsOldGold(1);
itemTempList.add(item);
oldItems.add(item);
}
}
Object obj = tableViewer.getInput();
if (obj == null) {
tableViewer.setInput(oldItems);
} else {
if (obj instanceof List) {
List<Item> list = (List<Item>) obj;
for(Item i : list){
i.setIsOldGold(1);//添加旧金之后设置所有单品的是否旧金贴换为1
}
list.addAll(oldItems);
tableViewer.setInput(list);
}
}
caculatorPartSalesPrice();
tableViewer.refresh();
PartSalesManager.getInstance().getOldDocNum().forceFocus();
PartSalesManager.getInstance().getOldDocNum().setText("");//清空旧金单号输入框
}
}
public void keyPressed(KeyEvent e) {
}
});
}
/**
* 添加零售信息
*
* @param control
* @param tableViewer
*/
public static void addSalesItemListener(Control control) {
control.addKeyListener(new KeyListener() {
public void keyReleased(KeyEvent e) {
if (e.keyCode == SWT.CR) {
Item item = null;
TableViewer tableViewer = PartSalesManager.getInstance().getSalesProductTableView();
String inputString = "";
Text text = null;
if (e.getSource() instanceof Text) {
text = (Text) e.getSource();
inputString = text.getText();
}
if(null == inputString || "".equals(inputString)){
MessageDialog.openError(tableViewer.getControl().getShell(), MessageResources.message_ui_tips, "【条形码】不能为空");
text.forceFocus();
return;
}
IPartSaleService partSaleService = new PartSaleServiceImpl();
try {
item = partSaleService.getItemByBarCode(inputString);
List<Item> tableObj = (List<Item>)tableViewer.getInput();
if(null != tableObj){
for (Item existObj : tableObj) {
if(inputString.equals(existObj.getItemCode()) || inputString.equals(existObj.getZYTM())){
MessageDialog.openError(tableViewer.getControl().getShell(), MessageResources.message_ui_tips, "列表中已存在相同的单品信息");
text.setText("");//清空条形码输入框
return;
}
}
}
int userId = POSClientApp.get().getLoginUser().getId();
Map<Integer,User> map = POSClientApp.get().getUserRelation();
Iterator<Entry<Integer, User>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Integer, User> value = (Map.Entry<Integer, User>) it.next();
if(value.getValue().getId() == userId){
item.setCashier(value.getValue().getId());
}
}
item.setCashierName("");
List<Item> exitsItems = (List<Item>)tableViewer.getInput();
boolean hasOldGold = false;
if(exitsItems != null){
for(Item t_Item : exitsItems){
if(t_Item.getItemType().equals(AppConstants.ITEM_TYPE_OLDGOLD)){
hasOldGold = true ;
break;
}
}
}
item.setFactZJGF(item.getZJGF());//实际工费默认等于原工费
//是素金并且标签价==0
if(isSuGold(item.getMatkl())){
if(item.getZMDLSBQJ().compareTo(new BigDecimal(0.00)) == 0 || null == item.getZMDLSBQJ()){
BigDecimal gPrice = partSaleService.getServerGoldPrice(item.getMatkl());
item.setPrice(gPrice);
}else{
item.setPrice(item.getZMDLSBQJ().subtract(item.getZKJYF()));
}
BigDecimal salesAmount = item.getZDPZL().multiply(item.getPrice()).add(item.getZJGF()).subtract(item.getZKJYF());
salesAmount = salesAmount.setScale(2, BigDecimal.ROUND_HALF_UP);
item.setSalesAmount(salesAmount);
}else{
item.setPrice(item.getZMDLSBQJ().subtract(item.getZKJYF()));
item.setSalesAmount(item.getZMDLSBQJ().subtract(item.getZKJYF()));
}
item.setFactAmount(item.getSalesAmount());//实售
item.setItemType(AppConstants.ITEM_TYPE_NORMAL);
item.setPretlAmount(new BigDecimal(0.00));
item.setItemStatus(AppConstants.ITEM_STATU_NORMAL);
} catch (POSException e1) {
MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, e1.getErrorMessage());
text.setText("");//清空条形码输入框
return;
}
List<Item> itemTempList = PartSalesManager.getInstance().getItemTempList();
Item addTempItem = new Item();
addTempItem.setId(item.getId());
addTempItem.setItemName(item.getItemName());
addTempItem.setItemCode(item.getItemCode());
addTempItem.setSalesAmount(item.getSalesAmount());
addTempItem.setFactAmount(item.getFactAmount());
addTempItem.setZJGF(item.getZJGF());
addTempItem.setPretlAmount(item.getPretlAmount());
addTempItem.setIsOldGold(item.getIsOldGold());
addTempItem.setHasGiveaway(item.getHasGiveaway());
addTempItem.setCashier(item.getCashier());
addTempItem.setCashierName(item.getCashierName());
addTempItem.setDISCOUNT1(item.getDISCOUNT1());
addTempItem.setDISCOUNT2(item.getDISCOUNT2());
addTempItem.setDocNum(item.getDocNum());
addTempItem.setFactZJGF(item.getFactZJGF());
addTempItem.setInvoceCode(item.getInvoceCode());
addTempItem.setItemStatus(item.getItemStatus());
addTempItem.setItemType(item.getItemType());
addTempItem.setMatkl(item.getMatkl());
addTempItem.setMATNR(item.getMATNR());
addTempItem.setUnSalePart(item.getUnSalePart());
addTempItem.setZDPYZL(item.getZDPYZL());
addTempItem.setZDPZL(item.getZDPZL());
addTempItem.setZYTM(item.getZYTM());
addTempItem.setZKJYF(item.getZKJYF());
addTempItem.setZSSMD(item.getZSSMD());
addTempItem.setZSSGS(item.getZSSGS());
addTempItem.setZSJCS(item.getZSJCS());
addTempItem.setZMDLSBQJ(item.getZMDLSBQJ());
addTempItem.setZCSBJ(item.getZCSBJ());
addTempItem.setZKJGFLS(item.getZKJGFLS());
addTempItem.setZFZZZL(item.getZFZZZL());
addTempItem.setZMDDXJSJ(item.getZMDDXJSJ());
addTempItem.setZZZZZ(item.getZZZZZ());
addTempItem.setPrice(item.getPrice());
addTempItem.setZYTM(item.getZYTM());
addTempItem.setZSFTJ(item.getZSFTJ());
addTempItem.setZoneName(item.getZoneName());
itemTempList.add(addTempItem);
Object obj = tableViewer.getInput();
if (obj == null) {
List<Item> list = new ArrayList<Item>();
list.add(item);
if(PartSalesManager.getInstance().getPartSales().isVip()){
if(!item.getZSFTJ().equals("X")){
IPartSaleService partSalesService = new PartSaleServiceImpl();
try {
list = partSalesService.applyVipSales(list, PartSalesManager.getInstance().getPartSales().getVipUser().getCardTypeNM());
} catch (POSException e1) {
MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, e1.getErrorMessage());
text.forceFocus();
text.setText("");
return;
}
}
}
tableViewer.setInput(list);
} else {
if (obj instanceof List) {
List<Item> list = (List<Item>) obj;
List<Item> addList = new ArrayList<Item>();
addList.add(item);
if(PartSalesManager.getInstance().getPartSales().isVip()){
if(!item.getZSFTJ().equals("X")){
IPartSaleService partSalesService = new PartSaleServiceImpl();
try {
addList = partSalesService.applyVipSales(addList, PartSalesManager.getInstance().getPartSales().getVipUser().getCardTypeNM());
} catch (POSException e1) {
MessageDialog.openError(((Control)e.getSource()).getShell(), MessageResources.message_ui_tips, e1.getErrorMessage());
text.forceFocus();
text.setText("");
return;
}
}
}
list.addAll(addList);
tableViewer.setInput(list);
}
}
caculatorPartSalesPrice();
tableViewer.refresh();
text.setText("");//清空条形码输入框
}
}
@Override
public void keyPressed(KeyEvent e) {
}
});
}
}