Merge branch 'master' of https://git.bukova.info/repos/git/isspst
Conflicts: src/main/webapp/WEB-INF/spring/mail-services.xml
This commit is contained in:
@@ -10,7 +10,7 @@ import info.bukova.isspst.reporting.Report;
|
||||
import info.bukova.isspst.reporting.ReportMapping;
|
||||
import info.bukova.isspst.reporting.ReportType;
|
||||
import info.bukova.isspst.services.numberseries.NumberSeriesService;
|
||||
import info.bukova.isspst.services.requirements.RequirementTypeService;
|
||||
import info.bukova.isspst.services.requirement.RequirementTypeService;
|
||||
import info.bukova.isspst.services.settings.GlobalSettingsService;
|
||||
import info.bukova.isspst.services.users.PermissionService;
|
||||
import info.bukova.isspst.services.users.RoleService;
|
||||
|
||||
@@ -8,11 +8,11 @@ import info.bukova.isspst.reporting.Report;
|
||||
import info.bukova.isspst.reporting.ReportMapping;
|
||||
import info.bukova.isspst.services.addressbook.AdbService;
|
||||
import info.bukova.isspst.services.buildings.BuildingService;
|
||||
import info.bukova.isspst.services.munits.MUnitService;
|
||||
import info.bukova.isspst.services.reqsubjects.MaterialService;
|
||||
import info.bukova.isspst.services.reqsubjects.ServiceItemService;
|
||||
import info.bukova.isspst.services.munits.MUnitService;
|
||||
import info.bukova.isspst.services.requirement.RequirementService;
|
||||
import info.bukova.isspst.services.requirements.RequirementTypeService;
|
||||
import info.bukova.isspst.services.requirement.RequirementTypeService;
|
||||
import info.bukova.isspst.services.users.RoleService;
|
||||
import info.bukova.isspst.services.users.UserService;
|
||||
import info.bukova.isspst.services.workgroups.WorkgroupService;
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
package info.bukova.isspst;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
import org.apache.commons.lang.time.DateUtils;
|
||||
|
||||
public class DateTimeUtils
|
||||
{
|
||||
public static Date getDate(Date value)
|
||||
{
|
||||
if (value == null)
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
// Keep date - truncate time
|
||||
return DateUtils.truncate(value, Calendar.DAY_OF_MONTH);
|
||||
}
|
||||
|
||||
public static boolean isEqualByDate(Date d1, Date d2)
|
||||
{
|
||||
if (d1 != null && d2 != null)
|
||||
{
|
||||
d1 = DateTimeUtils.getDate(d1);
|
||||
d2 = DateTimeUtils.getDate(d2);
|
||||
boolean equals = (d1.compareTo(d2) == 0);
|
||||
return equals;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean isEqualByDateForFilter(Date value, Date search)
|
||||
{
|
||||
if (search == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (value != null)
|
||||
{
|
||||
return DateTimeUtils.isEqualByDate(value, search);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static Date getCurrDateTime()
|
||||
{
|
||||
return new Date();
|
||||
}
|
||||
|
||||
public static Date getCurrDate()
|
||||
{
|
||||
return DateTimeUtils.getDate(DateTimeUtils.getCurrDateTime());
|
||||
}
|
||||
}
|
||||
@@ -44,4 +44,10 @@ public class StringUtils {
|
||||
return Labels.getLabel("Db" + key);
|
||||
}
|
||||
|
||||
public static boolean isEqualForFilter(String value, String search)
|
||||
{
|
||||
value = StringUtils.nullStr(value).toLowerCase();
|
||||
search = StringUtils.nullStr(search).toLowerCase();
|
||||
return value.contains(search);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package info.bukova.isspst.filters;
|
||||
|
||||
import static info.bukova.isspst.StringUtils.nullStr;
|
||||
import info.bukova.isspst.DateTimeUtils;
|
||||
import info.bukova.isspst.StringUtils;
|
||||
import info.bukova.isspst.data.Requirement;
|
||||
|
||||
import org.hamcrest.Description;
|
||||
@@ -37,10 +38,11 @@ public class RequirementFilter implements Filter<Requirement>
|
||||
@Override
|
||||
public boolean matchesSafely(Requirement item)
|
||||
{
|
||||
return nullStr(item.getNumser()).toLowerCase().contains(nullStr(condition.getNumser()).toLowerCase())
|
||||
&& item.getReqDate().equals(condition.getReqDate())
|
||||
&& item.getDeliveryDate().equals(condition.getDeliveryDate())
|
||||
&& nullStr(item.getDescription()).toLowerCase().contains(nullStr(condition.getDescription()).toLowerCase());
|
||||
boolean foundNumser = StringUtils.isEqualForFilter(item.getNumser(), condition.getNumser());
|
||||
boolean foundReqDate = DateTimeUtils.isEqualByDateForFilter(item.getReqDate(), condition.getReqDate());
|
||||
boolean foundDescription = StringUtils.isEqualForFilter(item.getDescription(), condition.getDescription());
|
||||
boolean foundDeliveryDate = DateTimeUtils.isEqualByDateForFilter(item.getDeliveryDate(), condition.getDeliveryDate());
|
||||
return foundNumser && foundReqDate && foundDescription && foundDeliveryDate;
|
||||
}
|
||||
|
||||
@Factory
|
||||
|
||||
@@ -5,8 +5,10 @@ import info.bukova.isspst.Constants;
|
||||
import info.bukova.isspst.Module;
|
||||
import info.bukova.isspst.dao.BaseDao;
|
||||
import info.bukova.isspst.data.DataModel;
|
||||
import info.bukova.isspst.data.NumberSeries;
|
||||
import info.bukova.isspst.filters.Filter;
|
||||
import info.bukova.isspst.reporting.Report;
|
||||
import info.bukova.isspst.services.numberseries.NumberSeriesService;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
@@ -25,7 +27,20 @@ public abstract class AbstractService<T extends DataModel> implements Service<T>
|
||||
|
||||
protected BaseDao<T> dao;
|
||||
private Validator validator;
|
||||
|
||||
private NumberSeriesService numberSeriesService;
|
||||
|
||||
|
||||
public NumberSeriesService getNumberSeriesService()
|
||||
{
|
||||
return numberSeriesService;
|
||||
}
|
||||
|
||||
public void setNumberSeriesService(NumberSeriesService numberSeriesService)
|
||||
{
|
||||
this.numberSeriesService = numberSeriesService;
|
||||
}
|
||||
|
||||
public void setDao(BaseDao<T> dao) {
|
||||
this.dao = dao;
|
||||
}
|
||||
@@ -150,4 +165,22 @@ public abstract class AbstractService<T extends DataModel> implements Service<T>
|
||||
}
|
||||
}
|
||||
|
||||
protected String getNumberSerie()
|
||||
{
|
||||
String currentNumber = "";
|
||||
|
||||
if (numberSeriesService != null)
|
||||
{
|
||||
String moduleName = this.getModule().getId();
|
||||
NumberSeries ns = numberSeriesService.getNumberSerie(moduleName);
|
||||
|
||||
if (ns != null)
|
||||
{
|
||||
currentNumber = ns.getCurrentNumber();
|
||||
numberSeriesService.increase(ns);
|
||||
}
|
||||
}
|
||||
|
||||
return currentNumber;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package info.bukova.isspst.services.numberseries;
|
||||
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import info.bukova.isspst.data.NumberSeries;
|
||||
import info.bukova.isspst.services.AbstractService;
|
||||
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
public class NumberSeriesServiceImpl extends AbstractService<NumberSeries> implements NumberSeriesService
|
||||
{
|
||||
@Transactional
|
||||
|
||||
@@ -1,9 +1,31 @@
|
||||
package info.bukova.isspst.services.requirement;
|
||||
|
||||
import info.bukova.isspst.data.Requirement;
|
||||
import info.bukova.isspst.services.AbstractService;
|
||||
import info.bukova.isspst.services.AbstractOwnedService;
|
||||
|
||||
public class RequirementServiceImpl extends AbstractService<Requirement> implements RequirementService
|
||||
import java.util.Date;
|
||||
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
public class RequirementServiceImpl extends AbstractOwnedService<Requirement> implements RequirementService
|
||||
{
|
||||
@Override
|
||||
protected Requirement createEntity()
|
||||
{
|
||||
Requirement entity = new Requirement();
|
||||
|
||||
entity.setReqDate(new Date());
|
||||
|
||||
return entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@PreAuthorize("hasPermission(this, 'PERM_ADD')")
|
||||
public void add(Requirement entity)
|
||||
{
|
||||
entity.setNumser(this.getNumberSerie());
|
||||
super.add(entity);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package info.bukova.isspst.services.requirements;
|
||||
package info.bukova.isspst.services.requirement;
|
||||
|
||||
import info.bukova.isspst.data.RequirementType;
|
||||
import info.bukova.isspst.services.Service;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package info.bukova.isspst.services.requirements;
|
||||
package info.bukova.isspst.services.requirement;
|
||||
|
||||
import info.bukova.isspst.data.RequirementType;
|
||||
import info.bukova.isspst.services.AbstractOwnedService;
|
||||
@@ -1,15 +1,77 @@
|
||||
package info.bukova.isspst.ui.requirement;
|
||||
|
||||
import info.bukova.isspst.data.Requirement;
|
||||
import info.bukova.isspst.data.RequirementSubject;
|
||||
import info.bukova.isspst.data.Workgroup;
|
||||
import info.bukova.isspst.services.requirement.RequirementService;
|
||||
import info.bukova.isspst.services.users.UserService;
|
||||
import info.bukova.isspst.services.workgroups.WorkgroupService;
|
||||
import info.bukova.isspst.ui.FormViewModel;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.zkoss.bind.annotation.Command;
|
||||
import org.zkoss.bind.annotation.Init;
|
||||
import org.zkoss.bind.annotation.NotifyChange;
|
||||
import org.zkoss.zk.ui.select.annotation.WireVariable;
|
||||
|
||||
public class RequirementForm extends FormViewModel<Requirement>
|
||||
{
|
||||
@WireVariable
|
||||
private UserService userService;
|
||||
|
||||
@WireVariable
|
||||
private WorkgroupService workgroupService;
|
||||
|
||||
public List<Workgroup> getCentres() {
|
||||
return workgroupService.getUserCentres(userService.getCurrent());
|
||||
}
|
||||
@WireVariable
|
||||
private RequirementService requirementService;
|
||||
|
||||
private RequirementSubject item;
|
||||
|
||||
private int selItemIndex;
|
||||
|
||||
@Init(superclass = true)
|
||||
public void init()
|
||||
{
|
||||
|
||||
this.setSelItemIndex(-1);
|
||||
}
|
||||
|
||||
public RequirementSubject getItem()
|
||||
{
|
||||
return item;
|
||||
}
|
||||
|
||||
public void setItem(RequirementSubject item)
|
||||
{
|
||||
this.item = item;
|
||||
}
|
||||
|
||||
public int getSelItemIndex()
|
||||
{
|
||||
return selItemIndex;
|
||||
}
|
||||
|
||||
public void setSelItemIndex(int selItemIndex)
|
||||
{
|
||||
this.selItemIndex = selItemIndex;
|
||||
}
|
||||
|
||||
@Command
|
||||
@NotifyChange({"dataBean", "selItemIndex"})
|
||||
public void addItem() {
|
||||
// RequirementSubject item = new Material();
|
||||
// requirementService.addItem(getDataBean(), item);
|
||||
// selItemIndex = getDataBean().getItems().indexOf(item);
|
||||
}
|
||||
/*
|
||||
@Command
|
||||
@NotifyChange({"dataBean", "selItemIndex"})
|
||||
public void removeItem(@BindingParam("item") RequirementItem item) {
|
||||
requirementService.removeItem(getDataBean(), item);
|
||||
selItemIndex = -1;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
package info.bukova.isspst.ui.requirements;
|
||||
package info.bukova.isspst.ui.requirement;
|
||||
|
||||
import info.bukova.isspst.Constants;
|
||||
import info.bukova.isspst.data.RequirementType;
|
||||
import info.bukova.isspst.data.Role;
|
||||
import info.bukova.isspst.data.Workflow;
|
||||
import info.bukova.isspst.services.requirements.RequirementTypeService;
|
||||
import info.bukova.isspst.services.requirement.RequirementTypeService;
|
||||
import info.bukova.isspst.services.users.RoleService;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
Reference in New Issue
Block a user