add link between po children and purchase request
This commit is contained in:
@@ -28,9 +28,11 @@ import com.axelor.apps.base.service.PartnerPriceListService;
|
||||
import com.axelor.apps.base.service.app.AppBaseService;
|
||||
import com.axelor.apps.purchase.db.PurchaseOrder;
|
||||
import com.axelor.apps.purchase.db.PurchaseOrderLine;
|
||||
import com.axelor.apps.purchase.db.PurchaseRequest;
|
||||
import com.axelor.apps.purchase.db.SupplierCatalog;
|
||||
import com.axelor.apps.purchase.db.repo.PurchaseOrderLineRepository;
|
||||
import com.axelor.apps.purchase.db.repo.PurchaseOrderRepository;
|
||||
import com.axelor.apps.purchase.db.repo.PurchaseRequestRepository;
|
||||
import com.axelor.apps.purchase.service.PurchaseOrderLineService;
|
||||
import com.axelor.apps.purchase.service.app.AppPurchaseService;
|
||||
import com.axelor.apps.stock.service.StockLocationService;
|
||||
@@ -52,6 +54,8 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public class PurchaseOrderSupplierService {
|
||||
|
||||
@@ -65,6 +69,8 @@ public class PurchaseOrderSupplierService {
|
||||
|
||||
@Inject protected PurchaseOrderRepository poRepo;
|
||||
|
||||
@Inject private PurchaseRequestRepository purchaseRequestRepo;
|
||||
|
||||
@Transactional
|
||||
public void generateAllSuppliersRequests(PurchaseOrder purchaseOrder) {
|
||||
|
||||
@@ -128,13 +134,22 @@ public class PurchaseOrderSupplierService {
|
||||
Map<Partner, List<PurchaseOrderLine>> purchaseOrderLinesBySupplierPartner =
|
||||
this.splitBySupplierPartner(purchaseOrder.getPurchaseOrderLineList());
|
||||
|
||||
// remove link purchase order purchase request
|
||||
PurchaseRequest purchaseRequest = Beans.get(PurchaseRequestRepository.class).find(purchaseOrder.getPurchaseRequestOrigin().getId());
|
||||
purchaseRequest.getPurchaseOrderSet().remove(purchaseOrder);
|
||||
Set<PurchaseOrder> hash_Set = new HashSet<PurchaseOrder>();
|
||||
|
||||
for (Partner supplierPartner : purchaseOrderLinesBySupplierPartner.keySet()) {
|
||||
|
||||
PurchaseOrder PurchaseOrderNew = this.createPurchaseOrderSophal(
|
||||
supplierPartner, purchaseOrderLinesBySupplierPartner.get(supplierPartner), purchaseOrder);
|
||||
// sophal
|
||||
hash_Set.add(PurchaseOrderNew);
|
||||
createPurchaseOrderSupplierLineTCO(PurchaseOrderNew.getPurchaseOrderLineList() ,purchaseOrderLinesBySupplierPartner.get(supplierPartner));
|
||||
}
|
||||
|
||||
purchaseRequest.setPurchaseOrderSet(hash_Set);
|
||||
purchaseRequestRepo.save(purchaseRequest);
|
||||
purchaseOrder.setArchived(true);
|
||||
poRepo.save(purchaseOrder);
|
||||
}
|
||||
@@ -273,7 +288,7 @@ public class PurchaseOrderSupplierService {
|
||||
|
||||
purchaseOrder.setStatusSelect(PurchaseOrderRepository.STATUS_REQUESTED);
|
||||
purchaseOrder.setReceiptState(PurchaseOrderRepository.STATE_NOT_RECEIVED);
|
||||
|
||||
purchaseOrder.setPurchaseRequestOrigin(parentPurchaseOrder.getPurchaseRequestOrigin());
|
||||
poRepo.save(purchaseOrder);
|
||||
|
||||
return purchaseOrder;
|
||||
|
||||
Reference in New Issue
Block a user