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.auth.AuthUtils;
|
||||
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.db.repo.TraceBackRepository;
|
||||
import com.axelor.i18n.I18n;
|
||||
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.persist.Transactional;
|
||||
import java.lang.invoke.MethodHandles;
|
||||
@@ -75,6 +80,10 @@ public class PurchaseOrderSupplierService {
|
||||
|
||||
@Inject private PurchaseRequestRepository purchaseRequestRepo;
|
||||
|
||||
@Inject private MetaAttachmentRepository metaAttachmentRepository;
|
||||
|
||||
@Inject private DMSFileRepository dmsFileRepository;
|
||||
|
||||
@Transactional
|
||||
public void generateAllSuppliersRequests(PurchaseOrder purchaseOrder) {
|
||||
|
||||
@@ -153,6 +162,51 @@ public class PurchaseOrderSupplierService {
|
||||
supplierPartner, purchaseOrderLinesBySupplierPartner.get(supplierPartner), purchaseOrder);
|
||||
// sophal
|
||||
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));
|
||||
}
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@ public class PurchaseOrderSupplierLineController {
|
||||
.param("show-toolbar", "false")
|
||||
.param("show-confirm", "false")
|
||||
.param("popup-save", "false")
|
||||
.param("show-toolbar","true")
|
||||
.param("popup", "true")
|
||||
.context("_showRecord", String.valueOf(purchaseOrder.getId()))
|
||||
.map());
|
||||
|
||||
Reference in New Issue
Block a user