Opraveno generovani vyuctovani sluzebni cesty spolucestujicich, pokud je pozadovana zaloha- zaloha se nyni neprenese.
closes #229 Po schvaleni pozadavku na sluzebni cestu se spolucestujicimi se posle mail o schvaleni i spolucestujicim. closes #228
This commit is contained in:
@@ -14,6 +14,7 @@ public class SettingsData {
|
||||
private MailMessage newReqTemplate;
|
||||
private MailMessage authReqTemplate;
|
||||
private MailMessage confReqTemplate;
|
||||
private MailMessage confReqTripPassenger;
|
||||
private Address mainAddress;
|
||||
private List<Address> shippingAddrs;
|
||||
private String bankName;
|
||||
@@ -28,6 +29,7 @@ public class SettingsData {
|
||||
newReqTemplate = new MailMessage();
|
||||
authReqTemplate = new MailMessage();
|
||||
confReqTemplate = new MailMessage();
|
||||
confReqTripPassenger = new MailMessage();
|
||||
mainAddress = new Address();
|
||||
shippingAddrs = new ArrayList<Address>();
|
||||
vehicles = new ArrayList<Vehicle>();
|
||||
@@ -150,4 +152,12 @@ public class SettingsData {
|
||||
{
|
||||
this.logoFile = logoFile;
|
||||
}
|
||||
|
||||
public MailMessage getConfReqTripPassenger() {
|
||||
return confReqTripPassenger;
|
||||
}
|
||||
|
||||
public void setConfReqTripPassenger(MailMessage confReqTripPassenger) {
|
||||
this.confReqTripPassenger = confReqTripPassenger;
|
||||
}
|
||||
}
|
||||
|
||||
+21
-4
@@ -7,10 +7,14 @@ import info.bukova.isspst.data.TripBill;
|
||||
import info.bukova.isspst.data.TripBillApproval;
|
||||
import info.bukova.isspst.data.TripRequirement;
|
||||
import info.bukova.isspst.data.User;
|
||||
import info.bukova.isspst.mail.MailMessage;
|
||||
import info.bukova.isspst.mail.Mailer;
|
||||
import info.bukova.isspst.mail.MessageBuilder;
|
||||
import info.bukova.isspst.services.LazyLoader;
|
||||
import info.bukova.isspst.services.settings.GlobalSettingsService;
|
||||
import info.bukova.isspst.services.tripbill.TripBillApprovalService;
|
||||
import info.bukova.isspst.services.tripbill.TripBillService;
|
||||
import info.bukova.isspst.services.workgroups.WorkgroupService;
|
||||
import info.bukova.isspst.services.users.UserService;
|
||||
import org.hibernate.Hibernate;
|
||||
import org.hibernate.LazyInitializationException;
|
||||
import org.hibernate.Query;
|
||||
@@ -27,11 +31,17 @@ public class TripRequirementServiceImpl extends RequirementBaseServiceImpl<TripR
|
||||
@Autowired
|
||||
private RequirementTypeService reqTypeService;
|
||||
@Autowired
|
||||
private WorkgroupService workgroupService;
|
||||
@Autowired
|
||||
private TripBillService tripBillService;
|
||||
@Autowired
|
||||
private TripBillApprovalService tripBillApprovalService;
|
||||
@Autowired
|
||||
private Mailer mailer;
|
||||
@Autowired
|
||||
private MessageBuilder messageBuilder;
|
||||
@Autowired
|
||||
private GlobalSettingsService settingsService;
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
|
||||
@Override
|
||||
protected TripRequirement createEntity() {
|
||||
@@ -125,12 +135,19 @@ public class TripRequirementServiceImpl extends RequirementBaseServiceImpl<TripR
|
||||
if (entity.getBillForPassengers() != null && entity.getBillForPassengers()) {
|
||||
for (User u : entity.getPassengers()) {
|
||||
if (!u.equals(entity.getOwnedBy())) {
|
||||
TripBill passBill = tripBillService.createTripBill(entity);
|
||||
TripBill passBill = tripBillService.createPassengersBill(entity);
|
||||
tripBillService.add(passBill);
|
||||
passBill.setOwnedBy(u);
|
||||
tripBillService.update(passBill);
|
||||
}
|
||||
}
|
||||
|
||||
if (!entity.getPassengers().isEmpty() && settingsService.getSettings().getConfReqTripPassenger() != null) {
|
||||
MailMessage message = messageBuilder.buildMessage(settingsService.getSettings().getConfReqTripPassenger(), entity);
|
||||
message.setFrom(userService.getCurrent().getEmail());
|
||||
message.setTo(userService.getEmailsForSend(entity.getPassengers()));
|
||||
mailer.send(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import java.util.List;
|
||||
public interface TripBillService extends Service<TripBill> {
|
||||
|
||||
public TripBill createTripBill(TripRequirement requirement);
|
||||
public TripBill createPassengersBill(TripRequirement requirement);
|
||||
public void loadItems(TripBill bill);
|
||||
public void calculate(TripBill bill);
|
||||
public List<TripBill> getMy();
|
||||
|
||||
@@ -33,13 +33,26 @@ public class TripBillServiceImpl extends AbstractOwnedService<TripBill> implemen
|
||||
|
||||
@Override
|
||||
public TripBill createTripBill(TripRequirement requirement) {
|
||||
return createBill(requirement, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TripBill createPassengersBill(TripRequirement requirement) {
|
||||
return createBill(requirement, true);
|
||||
}
|
||||
|
||||
private TripBill createBill(TripRequirement requirement, boolean passengers) {
|
||||
TripBill bill = new TripBill();
|
||||
|
||||
|
||||
bill.setRequirement(requirement);
|
||||
|
||||
int daysCount = Days.daysBetween((new DateTime(requirement.getTripDate())).withTimeAtStartOfDay(),
|
||||
|
||||
if (!passengers) {
|
||||
bill.setDownPayment(requirement.getDownPayment());
|
||||
}
|
||||
|
||||
int daysCount = Days.daysBetween((new DateTime(requirement.getTripDate())).withTimeAtStartOfDay(),
|
||||
(new DateTime(requirement.getEndDate())).withTimeAtStartOfDay()).getDays() + 1;
|
||||
|
||||
|
||||
for (int i = 0 ; i < daysCount ; i++) {
|
||||
TripBillItem item = new TripBillItem();
|
||||
if (i == 0) {
|
||||
@@ -50,17 +63,17 @@ public class TripBillServiceImpl extends AbstractOwnedService<TripBill> implemen
|
||||
item.setBack(requirement.getTo() + " - " + requirement.getFrom());
|
||||
item.setBackVehicle(requirement.getVehicle());
|
||||
}
|
||||
|
||||
|
||||
Calendar calTripDate = Calendar.getInstance();
|
||||
calTripDate.setTime(requirement.getTripDate());
|
||||
calTripDate.add(Calendar.DATE, i);
|
||||
item.setDate(calTripDate.getTime());
|
||||
|
||||
|
||||
bill.getBillItems().add(item);
|
||||
}
|
||||
|
||||
|
||||
this.calculate(bill);
|
||||
|
||||
|
||||
return bill;
|
||||
}
|
||||
|
||||
@@ -102,8 +115,8 @@ public class TripBillServiceImpl extends AbstractOwnedService<TripBill> implemen
|
||||
bill.setTotal(bill.getTotal().add(item.getTotal()));
|
||||
}
|
||||
|
||||
if (bill.getRequirement().getDownPayment() != null) {
|
||||
bill.setTotal(bill.getTotal().subtract(bill.getRequirement().getDownPayment()));
|
||||
if (bill.getDownPayment() != null) {
|
||||
bill.setTotal(bill.getTotal().subtract(bill.getDownPayment()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user