Add Auto Event creation to importation folder
This commit is contained in:
@@ -31,6 +31,8 @@ import com.axelor.apps.crm.service.CalendarService;
|
|||||||
import com.axelor.apps.crm.service.EventService;
|
import com.axelor.apps.crm.service.EventService;
|
||||||
import com.axelor.apps.crm.service.LeadService;
|
import com.axelor.apps.crm.service.LeadService;
|
||||||
import com.axelor.apps.message.db.EmailAddress;
|
import com.axelor.apps.message.db.EmailAddress;
|
||||||
|
import com.axelor.apps.purchase.db.ImportationFolder;
|
||||||
|
import com.axelor.apps.purchase.db.repo.ImportationFolderRepository;
|
||||||
import com.axelor.apps.tool.date.DateTool;
|
import com.axelor.apps.tool.date.DateTool;
|
||||||
import com.axelor.apps.tool.date.DurationTool;
|
import com.axelor.apps.tool.date.DurationTool;
|
||||||
import com.axelor.auth.AuthUtils;
|
import com.axelor.auth.AuthUtils;
|
||||||
@@ -44,21 +46,30 @@ import com.axelor.inject.Beans;
|
|||||||
import com.axelor.rpc.ActionRequest;
|
import com.axelor.rpc.ActionRequest;
|
||||||
import com.axelor.rpc.ActionResponse;
|
import com.axelor.rpc.ActionResponse;
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Singleton;
|
import com.google.inject.Singleton;
|
||||||
import com.google.inject.persist.Transactional;
|
import com.google.inject.persist.Transactional;
|
||||||
import java.lang.invoke.MethodHandles;
|
import java.lang.invoke.MethodHandles;
|
||||||
import java.time.DayOfWeek;
|
import java.time.DayOfWeek;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.apache.commons.math3.ode.events.EventState;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class EventController {
|
public class EventController {
|
||||||
|
|
||||||
|
@Inject ImportationFolderRepository importationFolderRepository;
|
||||||
|
|
||||||
|
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
||||||
|
|
||||||
public void computeFromStartDateTime(ActionRequest request, ActionResponse response) {
|
public void computeFromStartDateTime(ActionRequest request, ActionResponse response) {
|
||||||
@@ -535,4 +546,24 @@ public class EventController {
|
|||||||
TraceBackService.trace(response, e);
|
TraceBackService.trace(response, e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public void setImportationFolderEvent(ActionRequest request, ActionResponse response) {
|
||||||
|
Event event = new Event();
|
||||||
|
|
||||||
|
final ArrayList<String> importationSequences = new ArrayList(Arrays.asList("PREPARATION","ENTAME","VALIDATION COA/FICHE TECHNIQUE","LOGISTIQUE","TRANSIT","DEDOUANEMENT","RECEPTION"));
|
||||||
|
|
||||||
|
ImportationFolder importationFolder = Beans.get(ImportationFolderRepository.class).find(request.getContext().asType(ImportationFolder.class).getId());
|
||||||
|
event.setSubject(importationSequences.get(Integer.parseInt(request.getContext().get("statusSelect").toString())));
|
||||||
|
event.setStatusSelect(1);
|
||||||
|
event.setStartDateTime(LocalDateTime.now());
|
||||||
|
event.setEndDateTime(LocalDateTime.now().plusDays(10));
|
||||||
|
event.setUser(AuthUtils.getUser());
|
||||||
|
Beans.get(EventRepository.class).save(event);
|
||||||
|
Beans.get(EventRepository.class).flush();
|
||||||
|
importationFolder.addEvent(event);
|
||||||
|
Beans.get(ImportationFolderRepository.class).save(importationFolder);
|
||||||
|
response.setReload(true);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||||
|
|
||||||
|
<module name="purchase" package="com.axelor.apps.purchase.db"/>
|
||||||
|
|
||||||
|
<entity name="ImportationFolder" lang="java">
|
||||||
|
|
||||||
|
<one-to-many name="events" ref="com.axelor.apps.crm.db.Event" />
|
||||||
|
|
||||||
|
</entity>
|
||||||
|
</domain-models>
|
||||||
Reference in New Issue
Block a user