add file's inheretence for purchaseOrders
This commit is contained in:
@@ -42,10 +42,15 @@ import com.axelor.apps.suppliermanagement.db.repo.PurchaseOrderSupplierLineRepos
|
|||||||
import com.axelor.apps.suppliermanagement.db.PurchaseOrderSupplierLine;
|
import com.axelor.apps.suppliermanagement.db.PurchaseOrderSupplierLine;
|
||||||
import com.axelor.auth.AuthUtils;
|
import com.axelor.auth.AuthUtils;
|
||||||
import com.axelor.db.JPA;
|
import com.axelor.db.JPA;
|
||||||
|
import com.axelor.dms.db.DMSFile;
|
||||||
|
import com.axelor.dms.db.repo.DMSFileRepository;
|
||||||
import com.axelor.exception.AxelorException;
|
import com.axelor.exception.AxelorException;
|
||||||
import com.axelor.exception.db.repo.TraceBackRepository;
|
import com.axelor.exception.db.repo.TraceBackRepository;
|
||||||
import com.axelor.i18n.I18n;
|
import com.axelor.i18n.I18n;
|
||||||
import com.axelor.inject.Beans;
|
import com.axelor.inject.Beans;
|
||||||
|
import com.axelor.meta.db.MetaAttachment;
|
||||||
|
import com.axelor.meta.db.MetaFile;
|
||||||
|
import com.axelor.meta.db.repo.MetaAttachmentRepository;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.persist.Transactional;
|
import com.google.inject.persist.Transactional;
|
||||||
import java.lang.invoke.MethodHandles;
|
import java.lang.invoke.MethodHandles;
|
||||||
@@ -75,6 +80,10 @@ public class PurchaseOrderSupplierService {
|
|||||||
|
|
||||||
@Inject private PurchaseRequestRepository purchaseRequestRepo;
|
@Inject private PurchaseRequestRepository purchaseRequestRepo;
|
||||||
|
|
||||||
|
@Inject private MetaAttachmentRepository metaAttachmentRepository;
|
||||||
|
|
||||||
|
@Inject private DMSFileRepository dmsFileRepository;
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void generateAllSuppliersRequests(PurchaseOrder purchaseOrder) {
|
public void generateAllSuppliersRequests(PurchaseOrder purchaseOrder) {
|
||||||
|
|
||||||
@@ -152,7 +161,52 @@ public class PurchaseOrderSupplierService {
|
|||||||
PurchaseOrder PurchaseOrderNew = this.createPurchaseOrderSophal(
|
PurchaseOrder PurchaseOrderNew = this.createPurchaseOrderSophal(
|
||||||
supplierPartner, purchaseOrderLinesBySupplierPartner.get(supplierPartner), purchaseOrder);
|
supplierPartner, purchaseOrderLinesBySupplierPartner.get(supplierPartner), purchaseOrder);
|
||||||
// sophal
|
// sophal
|
||||||
hash_Set.add(PurchaseOrderNew);
|
hash_Set.add(PurchaseOrderNew);
|
||||||
|
|
||||||
|
// start attachement heritage
|
||||||
|
List<MetaAttachment> metaAttachments = metaAttachmentRepository.all().filter("self.objectId = ?1",purchaseOrder.getId()).fetch();
|
||||||
|
List<DMSFile> dmsFiles = dmsFileRepository.all().filter("self.relatedId = ?1",purchaseOrder.getId()).fetch();
|
||||||
|
|
||||||
|
Long idRoot = dmsFileRepository.all().filter("self.relatedId = ?1 and relatedModel = ?2",(long) 0,purchaseOrder.getClass().getCanonicalName()).fetchOne().getId();
|
||||||
|
|
||||||
|
for (MetaAttachment metaAttach : metaAttachments) {
|
||||||
|
MetaAttachment metaAttachment = new MetaAttachment();
|
||||||
|
metaAttachment.setObjectId(PurchaseOrderNew.getId());
|
||||||
|
metaAttachment.setObjectName(purchaseOrder.getClass().getCanonicalName());
|
||||||
|
metaAttachment.setMetaFile(metaAttach.getMetaFile());
|
||||||
|
metaAttachmentRepository.save(metaAttachment);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for (DMSFile dmsFile : dmsFiles) {
|
||||||
|
if(dmsFile.getIsDirectory() == true){
|
||||||
|
DMSFile dms = new DMSFile();
|
||||||
|
dms.setFileName(dmsFile.getFileName());
|
||||||
|
dms.setRelatedId(PurchaseOrderNew.getId());
|
||||||
|
dms.setFileName(dmsFile.getFileName());
|
||||||
|
dms.setIsDirectory(dmsFile.getIsDirectory());
|
||||||
|
dms.setParent(dmsFileRepository.find(idRoot));
|
||||||
|
dms.setRelatedModel(purchaseOrder.getClass().getCanonicalName());
|
||||||
|
dmsFileRepository.save(dms);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (DMSFile dmsFile : dmsFiles) {
|
||||||
|
if(dmsFile.getIsDirectory() != true){
|
||||||
|
DMSFile dmsParent = dmsFileRepository.all().filter("self.relatedId = ?1 and self.isDirectory = true",PurchaseOrderNew.getId()).fetchOne();
|
||||||
|
DMSFile dms = new DMSFile();
|
||||||
|
dms.setFileName(dmsFile.getFileName());
|
||||||
|
dms.setRelatedId(PurchaseOrderNew.getId());
|
||||||
|
dms.setFileName(dmsFile.getFileName());
|
||||||
|
dms.setMetaFile(dmsFile.getMetaFile());
|
||||||
|
dms.setIsDirectory(dmsFile.getIsDirectory());
|
||||||
|
dms.setRelatedModel(purchaseOrder.getClass().getCanonicalName());
|
||||||
|
dms.setParent(dmsParent);
|
||||||
|
|
||||||
|
dmsFileRepository.save(dms);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
createPurchaseOrderSupplierLineTCO(PurchaseOrderNew.getPurchaseOrderLineList() ,purchaseOrderLinesBySupplierPartner.get(supplierPartner));
|
createPurchaseOrderSupplierLineTCO(PurchaseOrderNew.getPurchaseOrderLineList() ,purchaseOrderLinesBySupplierPartner.get(supplierPartner));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ public class PurchaseOrderSupplierLineController {
|
|||||||
.param("show-toolbar", "false")
|
.param("show-toolbar", "false")
|
||||||
.param("show-confirm", "false")
|
.param("show-confirm", "false")
|
||||||
.param("popup-save", "false")
|
.param("popup-save", "false")
|
||||||
|
.param("show-toolbar","true")
|
||||||
.param("popup", "true")
|
.param("popup", "true")
|
||||||
.context("_showRecord", String.valueOf(purchaseOrder.getId()))
|
.context("_showRecord", String.valueOf(purchaseOrder.getId()))
|
||||||
.map());
|
.map());
|
||||||
|
|||||||
Reference in New Issue
Block a user