Vytvořená agenda Služby. Servisní třídy agendy Materiál byly přesunuty
do balíku reqsubjects. closes #106multitenant
							parent
							
								
									35131d555d
								
							
						
					
					
						commit
						a637a077c0
					
				@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.dao;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.ServiceItem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public interface ServiceItemDao extends BaseDao<ServiceItem> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.dao.jpa;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.dao.ServiceItemDao;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.ServiceItem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class ServiceItemDaoJPA extends BaseDaoJPA<ServiceItem> implements ServiceItemDao {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.persistence.Entity;
 | 
				
			||||||
 | 
					import javax.persistence.Table;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Entity
 | 
				
			||||||
 | 
					@Table(name = "SERVICE")
 | 
				
			||||||
 | 
					public class ServiceItem extends RequirementSubject {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,56 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.filters;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import static info.bukova.isspst.StringUtils.nullStr;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.ServiceItem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.hamcrest.Description;
 | 
				
			||||||
 | 
					import org.hamcrest.Factory;
 | 
				
			||||||
 | 
					import org.hamcrest.Matcher;
 | 
				
			||||||
 | 
					import org.hamcrest.TypeSafeMatcher;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class ServiceItemFilter implements Filter<ServiceItem> {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						private ServiceItem condServiceItem;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public ServiceItemFilter(ServiceItem condServiceItem) {
 | 
				
			||||||
 | 
							this.condServiceItem = condServiceItem;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private static class ServiceItemMatcher extends TypeSafeMatcher<ServiceItem> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							private ServiceItem condServiceItem;
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							public ServiceItemMatcher(ServiceItem cond) {
 | 
				
			||||||
 | 
								this.condServiceItem = cond;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							@Override
 | 
				
			||||||
 | 
							public void describeTo(Description desc) {
 | 
				
			||||||
 | 
								desc.appendText("material matches");
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							@Override
 | 
				
			||||||
 | 
							public boolean matchesSafely(ServiceItem item) {
 | 
				
			||||||
 | 
								return nullStr(item.getCode()).toLowerCase().contains(nullStr(condServiceItem.getCode()).toLowerCase()) 
 | 
				
			||||||
 | 
										&& nullStr(item.getName()).toLowerCase().contains(nullStr(condServiceItem.getName()).toLowerCase())
 | 
				
			||||||
 | 
										&& nullStr(item.getDescription()).toLowerCase().contains(nullStr(condServiceItem.getDescription()).toLowerCase());
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							@Factory
 | 
				
			||||||
 | 
							public static Matcher<ServiceItem> matchBuilding(ServiceItem material) {
 | 
				
			||||||
 | 
								return new ServiceItemMatcher(material);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public ServiceItemMatcher matcher() {
 | 
				
			||||||
 | 
							return new ServiceItemMatcher(condServiceItem);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public String queryString() {
 | 
				
			||||||
 | 
							// TODO query string
 | 
				
			||||||
 | 
							return "";
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
package info.bukova.isspst.services.material;
 | 
					package info.bukova.isspst.services.reqsubjects;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import info.bukova.isspst.data.Material;
 | 
					import info.bukova.isspst.data.Material;
 | 
				
			||||||
import info.bukova.isspst.services.Service;
 | 
					import info.bukova.isspst.services.Service;
 | 
				
			||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
package info.bukova.isspst.services.material;
 | 
					package info.bukova.isspst.services.reqsubjects;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import info.bukova.isspst.data.Material;
 | 
					import info.bukova.isspst.data.Material;
 | 
				
			||||||
import info.bukova.isspst.services.AbstractOwnedService;
 | 
					import info.bukova.isspst.services.AbstractOwnedService;
 | 
				
			||||||
@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.services.reqsubjects;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.ServiceItem;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public interface ServiceItemService extends Service<ServiceItem> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.services.reqsubjects;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.ServiceItem;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.AbstractOwnedService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class ServiceItemServiceImpl extends AbstractOwnedService<ServiceItem> implements
 | 
				
			||||||
 | 
							ServiceItemService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
package info.bukova.isspst.ui.material;
 | 
					package info.bukova.isspst.ui.reqsubjects;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.util.ArrayList;
 | 
					import java.util.ArrayList;
 | 
				
			||||||
import java.util.List;
 | 
					import java.util.List;
 | 
				
			||||||
@ -1,11 +1,11 @@
 | 
				
			|||||||
package info.bukova.isspst.ui.material;
 | 
					package info.bukova.isspst.ui.reqsubjects;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import org.zkoss.bind.annotation.Init;
 | 
					import org.zkoss.bind.annotation.Init;
 | 
				
			||||||
import org.zkoss.zk.ui.select.annotation.WireVariable;
 | 
					import org.zkoss.zk.ui.select.annotation.WireVariable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import info.bukova.isspst.data.Material;
 | 
					import info.bukova.isspst.data.Material;
 | 
				
			||||||
import info.bukova.isspst.filters.MaterialFilter;
 | 
					import info.bukova.isspst.filters.MaterialFilter;
 | 
				
			||||||
import info.bukova.isspst.services.material.MaterialService;
 | 
					import info.bukova.isspst.services.reqsubjects.MaterialService;
 | 
				
			||||||
import info.bukova.isspst.ui.ListViewModel;
 | 
					import info.bukova.isspst.ui.ListViewModel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class MaterialList extends ListViewModel<Material> {
 | 
					public class MaterialList extends ListViewModel<Material> {
 | 
				
			||||||
@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.ui.reqsubjects;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Material;
 | 
				
			||||||
 | 
					import info.bukova.isspst.ui.FormViewModel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.zkoss.bind.annotation.Init;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class ServiceItemForm extends FormViewModel<Material> {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Init(superclass = true)
 | 
				
			||||||
 | 
						public void init() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.ui.reqsubjects;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.ServiceItem;
 | 
				
			||||||
 | 
					import info.bukova.isspst.filters.ServiceItemFilter;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.reqsubjects.ServiceItemService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.ui.ListViewModel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.zkoss.bind.annotation.Init;
 | 
				
			||||||
 | 
					import org.zkoss.zk.ui.select.annotation.WireVariable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class ServiceItemList extends ListViewModel<ServiceItem> {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private ServiceItemService serviceItemService;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Init
 | 
				
			||||||
 | 
						public void init() {
 | 
				
			||||||
 | 
							service = serviceItemService;
 | 
				
			||||||
 | 
							dataClass = ServiceItem.class;
 | 
				
			||||||
 | 
							formZul = "serviceForm.zul";
 | 
				
			||||||
 | 
							dataFilter = new ServiceItemFilter(getFilterTemplate());
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
											
												Binary file not shown.
											
										
									
								| 
		 After Width: | Height: | Size: 3.6 KiB  | 
@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					<?page title="${labels.AgendaServices}" contentType="text/html;charset=UTF-8"?>
 | 
				
			||||||
 | 
					<zk>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<zscript>
 | 
				
			||||||
 | 
						String gridZul = "service.zul";
 | 
				
			||||||
 | 
					</zscript>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<include src="/app/template.zhtml"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</zk>
 | 
				
			||||||
@ -0,0 +1,58 @@
 | 
				
			|||||||
 | 
					<?page title="${labels.AgendaServices}" contentType="text/html;charset=UTF-8"?>
 | 
				
			||||||
 | 
					<zk>
 | 
				
			||||||
 | 
						<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
 | 
				
			||||||
 | 
						<window border="normal" apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('info.bukova.isspst.ui.reqsubjects.ServiceItemList')">
 | 
				
			||||||
 | 
							<caption zclass="form-caption" label="${labels.AgendaServices}" />
 | 
				
			||||||
 | 
							<include src="/app/toolbar.zul" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							<listbox model="@load(vm.dataList)" selectedItem="@bind(vm.dataBean)" height="500px">
 | 
				
			||||||
 | 
								<listhead menupopup="auto">
 | 
				
			||||||
 | 
									<listheader label="${labels.code}" sort="czech(code)" width="10%" />
 | 
				
			||||||
 | 
									<listheader label="${labels.name}" sort="czech(name)" width="30%" />
 | 
				
			||||||
 | 
									<listheader label="${labels.description}" sort="czech(description)" width="60%" />
 | 
				
			||||||
 | 
								</listhead>
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								<auxhead sclass="category-center" visible="@load(vm.filter)">
 | 
				
			||||||
 | 
									 <auxheader>
 | 
				
			||||||
 | 
										<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
											<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
												<textbox value="@bind(vm.filterTemplate.code)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" />
 | 
				
			||||||
 | 
											</div>
 | 
				
			||||||
 | 
											<div sclass="find-grid-img">
 | 
				
			||||||
 | 
												<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
											</div>
 | 
				
			||||||
 | 
										</div>
 | 
				
			||||||
 | 
									</auxheader>
 | 
				
			||||||
 | 
									<auxheader>
 | 
				
			||||||
 | 
										<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
											<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
												<textbox value="@bind(vm.filterTemplate.name)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" />
 | 
				
			||||||
 | 
											</div>
 | 
				
			||||||
 | 
											<div sclass="find-grid-img">
 | 
				
			||||||
 | 
												<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
											</div>
 | 
				
			||||||
 | 
										</div>
 | 
				
			||||||
 | 
									</auxheader>
 | 
				
			||||||
 | 
									<auxheader>
 | 
				
			||||||
 | 
										<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
											<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
												<textbox value="@bind(vm.filterTemplate.description)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" />
 | 
				
			||||||
 | 
											</div>
 | 
				
			||||||
 | 
											<div sclass="find-grid-img">
 | 
				
			||||||
 | 
												<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
											</div>
 | 
				
			||||||
 | 
										</div>
 | 
				
			||||||
 | 
									</auxheader>
 | 
				
			||||||
 | 
								</auxhead> 
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								<template name="model">
 | 
				
			||||||
 | 
									<listitem>
 | 
				
			||||||
 | 
										<listcell label="@load(each.code)" />
 | 
				
			||||||
 | 
										<listcell label="@load(each.name)" />
 | 
				
			||||||
 | 
										<listcell label="@load(each.description)" />
 | 
				
			||||||
 | 
									</listitem>
 | 
				
			||||||
 | 
								</template>
 | 
				
			||||||
 | 
							</listbox>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						</window>
 | 
				
			||||||
 | 
					</zk>
 | 
				
			||||||
@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					<?page title="${labels.ServiceFormTitle}" contentType="text/html;charset=UTF-8"?>
 | 
				
			||||||
 | 
					<zk>
 | 
				
			||||||
 | 
						<window id="editWin" closable="true" border="normal" position="center" apply="org.zkoss.bind.BindComposer" 
 | 
				
			||||||
 | 
							viewModel="@id('vm') @init('info.bukova.isspst.ui.reqsubjects.ServiceItemForm')">
 | 
				
			||||||
 | 
							<caption src="/img/service.png" zclass="form-caption" label="${labels.ServiceFormTitle}" />
 | 
				
			||||||
 | 
							<vlayout>
 | 
				
			||||||
 | 
								<grid hflex="min">
 | 
				
			||||||
 | 
									<columns>
 | 
				
			||||||
 | 
										<column align="right" hflex="min" />
 | 
				
			||||||
 | 
										<column />
 | 
				
			||||||
 | 
									</columns>
 | 
				
			||||||
 | 
									<rows>
 | 
				
			||||||
 | 
										<row>
 | 
				
			||||||
 | 
											<cell sclass="row-title">${labels.code} :</cell>
 | 
				
			||||||
 | 
											<cell>
 | 
				
			||||||
 | 
												<textbox id="code" constraint="@load(vm.constriant)" width="200px" value="@bind(vm.dataBean.code)" />
 | 
				
			||||||
 | 
											</cell>
 | 
				
			||||||
 | 
										</row>
 | 
				
			||||||
 | 
										<row>
 | 
				
			||||||
 | 
											<cell sclass="row-title">${labels.name} :</cell>
 | 
				
			||||||
 | 
											<cell>
 | 
				
			||||||
 | 
												<textbox id="name" width="200px" value="@bind(vm.dataBean.name)" />
 | 
				
			||||||
 | 
											</cell>
 | 
				
			||||||
 | 
										</row>
 | 
				
			||||||
 | 
										<row>
 | 
				
			||||||
 | 
											<cell sclass="row-title">${labels.description} :</cell>
 | 
				
			||||||
 | 
											<cell>
 | 
				
			||||||
 | 
												<textbox id="description" width="300px" value="@bind(vm.dataBean.description)" />
 | 
				
			||||||
 | 
											</cell>
 | 
				
			||||||
 | 
										</row>
 | 
				
			||||||
 | 
									</rows>
 | 
				
			||||||
 | 
								</grid>
 | 
				
			||||||
 | 
								<include src="/app/formButtons.zul" />
 | 
				
			||||||
 | 
							</vlayout>
 | 
				
			||||||
 | 
						</window>
 | 
				
			||||||
 | 
					</zk>
 | 
				
			||||||
					Loading…
					
					
				
		Reference in New Issue