@@ -0,0 +1,14 @@
|
||||
<?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="PurchaseRequest" lang="java">
|
||||
|
||||
<many-to-one name="project" ref="com.axelor.apps.project.db.Project" title="Project" />
|
||||
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@@ -29,6 +29,7 @@ import com.axelor.auth.AuthUtils;
|
||||
import com.axelor.exception.AxelorException;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.persist.Transactional;
|
||||
import java.math.BigInteger;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -89,12 +90,22 @@ public class PurchaseRequestServiceImpl implements PurchaseRequestService {
|
||||
purchaseOrder = purchaseOrderMap.get(key);
|
||||
} else {
|
||||
purchaseOrder = createPurchaseOrder(purchaseRequest);
|
||||
// SOPHAL
|
||||
setProjectPurchaseOrder(purchaseOrder, purchaseRequest);
|
||||
purchaseOrder.setNotes(purchaseRequest.getDescription());
|
||||
purchaseOrderRepo.save(purchaseOrder);
|
||||
// SOPHAL
|
||||
key = key == null ? purchaseRequest.getId().toString() : key;
|
||||
purchaseOrderMap.put(key, purchaseOrder);
|
||||
}
|
||||
|
||||
if (purchaseOrder == null) {
|
||||
purchaseOrder = createPurchaseOrder(purchaseRequest);
|
||||
// SOPHAL
|
||||
setProjectPurchaseOrder(purchaseOrder, purchaseRequest);
|
||||
purchaseOrder.setNotes(purchaseRequest.getDescription());
|
||||
purchaseOrderRepo.save(purchaseOrder);
|
||||
// SOPHAL
|
||||
}
|
||||
|
||||
for (PurchaseRequestLine purchaseRequestLine : purchaseRequest.getPurchaseRequestLineList()) {
|
||||
@@ -168,4 +179,31 @@ public class PurchaseRequestServiceImpl implements PurchaseRequestService {
|
||||
protected String getPurchaseOrderGroupBySupplierKey(PurchaseRequest purchaseRequest) {
|
||||
return purchaseRequest.getSupplierUser().getId().toString();
|
||||
}
|
||||
|
||||
@Transactional
|
||||
protected void setProjectPurchaseOrder(
|
||||
PurchaseOrder purchaseOrder, PurchaseRequest purchaseRequest) {
|
||||
javax.persistence.Query query =
|
||||
com.axelor
|
||||
.db
|
||||
.JPA
|
||||
.em()
|
||||
.createNativeQuery("SELECT project from purchase_purchase_request where id = ?1")
|
||||
.setParameter(1, purchaseRequest.getId());
|
||||
|
||||
BigInteger id_project = (BigInteger) query.getSingleResult();
|
||||
|
||||
if (id_project != null) {
|
||||
javax.persistence.Query update =
|
||||
com.axelor
|
||||
.db
|
||||
.JPA
|
||||
.em()
|
||||
.createNativeQuery(
|
||||
"UPDATE purchase_purchase_order SET " + " project = :project WHERE id = :id");
|
||||
update.setParameter("project", id_project);
|
||||
update.setParameter("id", purchaseOrder.getId());
|
||||
update.executeUpdate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user