parent
0ea29ce50e
commit
a310a438cb
@ -0,0 +1,7 @@
|
|||||||
|
package info.bukova.isspst.dao;
|
||||||
|
|
||||||
|
import info.bukova.isspst.data.MUnit;
|
||||||
|
|
||||||
|
public interface MUnitDao extends BaseDao<MUnit> {
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
package info.bukova.isspst.dao.jpa;
|
||||||
|
|
||||||
|
import info.bukova.isspst.dao.MUnitDao;
|
||||||
|
import info.bukova.isspst.data.MUnit;
|
||||||
|
|
||||||
|
public class MUnitDaoJPA extends BaseDaoJPA<MUnit> implements MUnitDao {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getEntityName() {
|
||||||
|
return "MUnit";
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,67 @@
|
|||||||
|
package info.bukova.isspst.data;
|
||||||
|
|
||||||
|
import javax.persistence.Column;
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
|
||||||
|
import org.hibernate.validator.constraints.NotBlank;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "MUNIT")
|
||||||
|
public class MUnit extends BaseData implements DataModel {
|
||||||
|
|
||||||
|
@Column(name = "CODE", unique = true)
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
@Column(name = "NAME")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@Column(name = "DESCRIPTION")
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the code
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "{MUnitsFormCodeConstr}")
|
||||||
|
public String getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param code
|
||||||
|
* the code to set
|
||||||
|
*/
|
||||||
|
public void setCode(String code) {
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the name
|
||||||
|
*/
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param name
|
||||||
|
* the name to set
|
||||||
|
*/
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the description
|
||||||
|
*/
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param description
|
||||||
|
* the description to set
|
||||||
|
*/
|
||||||
|
public void setDescription(String description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,56 @@
|
|||||||
|
package info.bukova.isspst.filters;
|
||||||
|
|
||||||
|
import static info.bukova.isspst.StringUtils.nullStr;
|
||||||
|
import info.bukova.isspst.data.MUnit;
|
||||||
|
|
||||||
|
import org.hamcrest.Description;
|
||||||
|
import org.hamcrest.Factory;
|
||||||
|
import org.hamcrest.Matcher;
|
||||||
|
import org.hamcrest.TypeSafeMatcher;
|
||||||
|
|
||||||
|
public class MUnitFilter implements Filter<MUnit> {
|
||||||
|
|
||||||
|
private MUnit condMUnit;
|
||||||
|
|
||||||
|
public MUnitFilter(MUnit condMUnit) {
|
||||||
|
this.condMUnit = condMUnit;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class MUnitMatcher extends TypeSafeMatcher<MUnit> {
|
||||||
|
|
||||||
|
private MUnit condMUnit;
|
||||||
|
|
||||||
|
public MUnitMatcher(MUnit cond) {
|
||||||
|
this.condMUnit = cond;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void describeTo(Description desc) {
|
||||||
|
desc.appendText("munits matches");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean matchesSafely(MUnit item) {
|
||||||
|
return nullStr(item.getCode()).toLowerCase().contains(nullStr(condMUnit.getCode()).toLowerCase())
|
||||||
|
&& nullStr(item.getName()).toLowerCase().contains(nullStr(condMUnit.getName()).toLowerCase())
|
||||||
|
&& nullStr(item.getDescription()).toLowerCase().contains(nullStr(condMUnit.getDescription()).toLowerCase());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Factory
|
||||||
|
public static Matcher<MUnit> matchMUnit(MUnit munit) {
|
||||||
|
return new MUnitMatcher(munit);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MUnitMatcher matcher() {
|
||||||
|
return new MUnitMatcher(condMUnit);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String queryString() {
|
||||||
|
// TODO query string
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package info.bukova.isspst.services.munits;
|
||||||
|
|
||||||
|
import info.bukova.isspst.data.MUnit;
|
||||||
|
import info.bukova.isspst.services.Service;
|
||||||
|
|
||||||
|
public interface MUnitService extends Service<MUnit> {
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package info.bukova.isspst.services.munits;
|
||||||
|
|
||||||
|
import info.bukova.isspst.data.MUnit;
|
||||||
|
import info.bukova.isspst.services.AbstractService;
|
||||||
|
|
||||||
|
public class MUnitServiceImpl extends AbstractService<MUnit> implements MUnitService{
|
||||||
|
|
||||||
|
}
|
@ -1,6 +1,7 @@
|
|||||||
package info.bukova.isspst.ui;
|
package info.bukova.isspst.ui.buildings;
|
||||||
|
|
||||||
import info.bukova.isspst.data.Building;
|
import info.bukova.isspst.data.Building;
|
||||||
|
import info.bukova.isspst.ui.FormViewModel;
|
||||||
|
|
||||||
import org.zkoss.bind.annotation.Init;
|
import org.zkoss.bind.annotation.Init;
|
||||||
|
|
@ -1,8 +1,9 @@
|
|||||||
package info.bukova.isspst.ui;
|
package info.bukova.isspst.ui.buildings;
|
||||||
|
|
||||||
import info.bukova.isspst.data.Building;
|
import info.bukova.isspst.data.Building;
|
||||||
import info.bukova.isspst.filters.BuildingFilter;
|
import info.bukova.isspst.filters.BuildingFilter;
|
||||||
import info.bukova.isspst.services.buildings.BuildingService;
|
import info.bukova.isspst.services.buildings.BuildingService;
|
||||||
|
import info.bukova.isspst.ui.ListViewModel;
|
||||||
|
|
||||||
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;
|
@ -0,0 +1,14 @@
|
|||||||
|
package info.bukova.isspst.ui.munits;
|
||||||
|
|
||||||
|
import info.bukova.isspst.data.MUnit;
|
||||||
|
import info.bukova.isspst.ui.FormViewModel;
|
||||||
|
|
||||||
|
import org.zkoss.bind.annotation.Init;
|
||||||
|
|
||||||
|
public class MUnitsForm extends FormViewModel<MUnit> {
|
||||||
|
|
||||||
|
@Init(superclass = true)
|
||||||
|
public void init() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
package info.bukova.isspst.ui.munits;
|
||||||
|
|
||||||
|
import info.bukova.isspst.data.MUnit;
|
||||||
|
import info.bukova.isspst.filters.MUnitFilter;
|
||||||
|
import info.bukova.isspst.services.munits.MUnitService;
|
||||||
|
import info.bukova.isspst.ui.ListViewModel;
|
||||||
|
|
||||||
|
import org.zkoss.bind.annotation.Init;
|
||||||
|
import org.zkoss.zk.ui.select.annotation.WireVariable;
|
||||||
|
|
||||||
|
public class MUnitsList extends ListViewModel<MUnit> {
|
||||||
|
|
||||||
|
@WireVariable
|
||||||
|
private MUnitService munitService;
|
||||||
|
|
||||||
|
@Init
|
||||||
|
public void init() {
|
||||||
|
service = munitService;
|
||||||
|
dataClass = MUnit.class;
|
||||||
|
formZul = "munitsForm.zul";
|
||||||
|
dataFilter = new MUnitFilter(getFilterTemplate());
|
||||||
|
}
|
||||||
|
}
|
@ -1 +1,2 @@
|
|||||||
BuildingsFormCodeConstr=Zadejte k\u00f3d budovy...
|
BuildingsFormCodeConstr=Zadejte k\u00f3d budovy...
|
||||||
|
MUnitsFormCodeConstr=Zadejte k\u00f3d m\u011brn\u00e9 jednotky...
|
Binary file not shown.
After Width: | Height: | Size: 3.0 KiB |
@ -0,0 +1,10 @@
|
|||||||
|
<?page title="${labels.AgendaMUnits}" contentType="text/html;charset=UTF-8"?>
|
||||||
|
<zk>
|
||||||
|
|
||||||
|
<zscript>
|
||||||
|
String gridZul = "munitsGrid.zul";
|
||||||
|
</zscript>
|
||||||
|
|
||||||
|
<include src="/app/template.zhtml"/>
|
||||||
|
|
||||||
|
</zk>
|
@ -0,0 +1,35 @@
|
|||||||
|
<?page title="${labels.MUnitsFormTitle}" 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.munits.MUnitsForm')">
|
||||||
|
<caption src="/img/munits.png" zclass="form-caption" label="${labels.MUnitsFormTitle}" />
|
||||||
|
<vlayout>
|
||||||
|
<grid hflex="min">
|
||||||
|
<columns>
|
||||||
|
<column align="right" hflex="min" />
|
||||||
|
<column />
|
||||||
|
</columns>
|
||||||
|
<rows>
|
||||||
|
<row>
|
||||||
|
<cell sclass="row-title">${labels.MUnitsFormCode} :</cell>
|
||||||
|
<cell>
|
||||||
|
<textbox id="code" constraint="@load(vm.constriant)" width="200px" value="@bind(vm.dataBean.code)" />
|
||||||
|
</cell>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<cell sclass="row-title">${labels.MUnitsFormName} :</cell>
|
||||||
|
<cell>
|
||||||
|
<textbox id="name" width="200px" value="@bind(vm.dataBean.name)" />
|
||||||
|
</cell>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<cell sclass="row-title">${labels.MUnitsFormDescription} :</cell>
|
||||||
|
<cell>
|
||||||
|
<textbox id="description" width="300px" value="@bind(vm.dataBean.description)" />
|
||||||
|
</cell>
|
||||||
|
</row>
|
||||||
|
</rows>
|
||||||
|
</grid>
|
||||||
|
<include src="/app/formButtons.zul" />
|
||||||
|
</vlayout>
|
||||||
|
</window>
|
||||||
|
</zk>
|
@ -0,0 +1,58 @@
|
|||||||
|
<?page title="${labels.AgendaMUnits}" 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.munits.MUnitsList')">
|
||||||
|
<caption zclass="form-caption" label="${labels.AgendaMUnits}" />
|
||||||
|
<include src="/app/toolbar.zul" />
|
||||||
|
|
||||||
|
<listbox model="@load(vm.dataList)" selectedItem="@bind(vm.dataBean)">
|
||||||
|
<listhead menupopup="auto">
|
||||||
|
<listheader label="${labels.MUnitsGridColumnCode}" sort="czech(code)" width="10%" />
|
||||||
|
<listheader label="${labels.MUnitsGridColumnName}" sort="czech(name)" width="30%" />
|
||||||
|
<listheader label="${labels.MUnitsGridColumnDescription}" 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>
|
Loading…
Reference in New Issue