V procesech schválení lze zadat limit pro schválení k dané roli.

closes #107
This commit is contained in:
2014-07-01 22:46:33 +02:00
parent a637a077c0
commit e26f56fcb9
6 changed files with 130 additions and 4 deletions
@@ -1,5 +1,7 @@
package info.bukova.isspst.data;
import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
@@ -21,6 +23,8 @@ public class Workflow extends BaseData {
private Role role;
@Column(name = "WORDER")
private Integer wOrder;
@Column(name = "WLIMIT", precision=15, scale=4)
private BigDecimal limit;
public Boolean getCentre() {
return centre;
@@ -56,4 +60,12 @@ public class Workflow extends BaseData {
this.wOrder = order;
}
public BigDecimal getLimit() {
return limit;
}
public void setLimit(BigDecimal limit) {
this.limit = limit;
}
}
@@ -0,0 +1,33 @@
package info.bukova.isspst.ui.requirements;
import info.bukova.isspst.data.Workflow;
import org.zkoss.bind.annotation.BindingParam;
import org.zkoss.bind.annotation.Command;
import org.zkoss.bind.annotation.ExecutionArgParam;
import org.zkoss.bind.annotation.Init;
import org.zkoss.zul.Window;
public class LimitVM {
private Workflow workflow;
@Init
public void init(@ExecutionArgParam("workflow") Workflow workflow) {
this.workflow = workflow;
}
public Workflow getWorkflow() {
return workflow;
}
@Command
public void save(@BindingParam("window") Window window) {
window.detach();
}
public boolean isCanSave() {
return true;
}
}
@@ -7,16 +7,22 @@ import info.bukova.isspst.data.Workflow;
import info.bukova.isspst.services.requirements.RequirementTypeService;
import info.bukova.isspst.services.users.RoleService;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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.event.DropEvent;
import org.zkoss.zk.ui.select.annotation.WireVariable;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.Window;
public class RequirementTypesVM {
@@ -28,6 +34,8 @@ public class RequirementTypesVM {
private List<Role> centreRoles;
private List<Role> workgroupRoles;
private RequirementType selected;
private Workflow wgSelWorkflow;
private Workflow centreSelWorkflow;
@Init
public void init() {
@@ -199,5 +207,42 @@ public class RequirementTypesVM {
this.selected = selected;
}
@Command
@NotifyChange({"selected", "centreSelWorkflow", "wgSelWorkflow"})
public void overLimit(@BindingParam("workflow") Workflow workflow) {
if (workflow.getLimit() != null && !workflow.getLimit().equals(BigDecimal.ZERO)) {
workflow.setLimit(null);
reqTypeService.update(selected);
return;
}
Map<String, Object> params = new HashMap<String, Object>();
params.put("workflow", workflow);
Window win = (Window) Executions.createComponents("/settings/workflow/limit.zul", null, params);
win.doModal();
}
@GlobalCommand
@NotifyChange("selected")
public void refresh() {
reqTypeService.update(selected);
}
public Workflow getWgSelWorkflow() {
return wgSelWorkflow;
}
public void setWgSelWorkflow(Workflow wgSelWorkflow) {
this.wgSelWorkflow = wgSelWorkflow;
}
public Workflow getCentreSelWorkflow() {
return centreSelWorkflow;
}
public void setCentreSelWorkflow(Workflow centreSelWorkflow) {
this.centreSelWorkflow = centreSelWorkflow;
}
}