| 
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -4,14 +4,18 @@ import info.bukova.isspst.data.Address;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import info.bukova.isspst.data.AddressEmb;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import info.bukova.isspst.data.Order;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import info.bukova.isspst.data.OrderItem;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import info.bukova.isspst.services.IsspstException;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import info.bukova.isspst.services.addressbook.AdbService;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import info.bukova.isspst.services.addressbook.AddressFinder;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import info.bukova.isspst.services.orders.OrderService;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import info.bukova.isspst.services.settings.GlobalSettingsService;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import info.bukova.isspst.ui.FormViewModel;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import info.bukova.isspst.validators.OrderFormValidator;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import java.math.BigDecimal;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import java.util.HashMap;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import java.util.List;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import java.util.Map;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.slf4j.Logger;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.slf4j.LoggerFactory;
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -19,9 +23,13 @@ import org.zkoss.bind.BindUtils;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.zkoss.bind.SimpleForm;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.zkoss.bind.annotation.BindingParam;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.zkoss.bind.annotation.Command;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.zkoss.bind.annotation.GlobalCommand;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.zkoss.bind.annotation.Init;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.zkoss.bind.annotation.NotifyChange;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.zkoss.zk.ui.Executions;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.zkoss.zk.ui.select.annotation.WireVariable;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.zkoss.zul.Messagebox;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.zkoss.zul.Window;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import org.zkoss.zul.impl.InputElement;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				public class OrderForm extends FormViewModel<Order>
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -29,8 +37,12 @@ public class OrderForm extends FormViewModel<Order>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					private final static Logger log = LoggerFactory.getLogger(OrderForm.class.getName());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					@WireVariable
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					protected AdbService adbService;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					private AdbService adbService;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					@WireVariable
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					private AddressFinder addressFinderAres;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					@WireVariable
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					private AddressFinder addressFinderTaxID;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					@WireVariable
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					protected GlobalSettingsService settingsService;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -61,14 +73,19 @@ public class OrderForm extends FormViewModel<Order>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						this.orderFormValidator = new OrderFormValidator();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (this.getDataBean().getSuplier() == null)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (getDataBean().getSuplier() != null)	
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							if (getDataBean().getSuplier().getAddress().getId() != 0)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								this.selectedSuppAddrItem = this.getDataBean().getSuplier().getAddress();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							this.suppCompany = getDataBean().getSuplier().getCompany();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							this.getDataBean().setSuplier(new AddressEmb());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						this.selectedSuppAddrItem = this.getDataBean().getSuplier().getAddress();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						this.suppCompany = this.selectedSuppAddrItem.getCompany();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (this.getDataBean().getDeliveryAddress() == null)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							this.getDataBean().setDeliveryAddress(new AddressEmb());
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -289,4 +306,60 @@ public class OrderForm extends FormViewModel<Order>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						// jiných objednávek
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						orderService.updateApprovedItems(this.getDataBean(), orderedChanged);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					@Command
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					@NotifyChange({"dataBean", "suppCompany"})
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					public void searchAddress() 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						getDataForm().bind();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						Address adr = getDataBean().getSuplier().getAddress();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (adr.getIc() != 0)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							try 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								adbService.fillFoundData(addressFinderTaxID, adr);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								getDataBean().setSuplier(new AddressEmb(adr));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								suppCompany = adr.getCompany();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							catch (IsspstException e)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								Messagebox.show("Chyba při hledání adresy", "Chyba", Messagebox.OK, Messagebox.ERROR);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								return;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						else 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							Map<String, List<Address>> arg = new HashMap<String, List<Address>>();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							try {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								arg.put("result", adbService.lookForAddr(addressFinderAres, adr));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							} catch (IsspstException e) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								Messagebox.show("Chyba při hledání adresy", "Chyba", Messagebox.OK, Messagebox.ERROR);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								return;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							Window resWin = (Window) Executions.createComponents("/lists/addressbook/addrFindResult.zul", null, arg);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							resWin.doModal();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					@GlobalCommand
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					@NotifyChange({"dataBean", "suppCompany"})
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					public void selectAddress(@BindingParam("selected") Address selected, @BindingParam("window") Window window) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						try {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							adbService.fillFoundData(addressFinderTaxID, selected);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						} catch (IsspstException e) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							e.printStackTrace();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						Address adr = getDataBean().getSuplier().getAddress();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						adbService.mergeAddress(adr, selected, true);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						getDataBean().setSuplier(new AddressEmb(adr));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						suppCompany = adr.getCompany();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (window != null)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							window.detach();
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |