From 69966f7305187fbf420424faabe8b6ed234bff8e Mon Sep 17 00:00:00 2001 From: Administrator Date: Wed, 11 May 2022 15:36:05 +0100 Subject: [PATCH] fix generate purchase order set && update price calculation --- .gitignore | 2 ++ .../service/PurchaseOrderServiceImpl.java | 2 +- .../service/PurchaseRequestServiceImpl.java | 6 +++++ .../purchase/web/PurchaseOrderController.java | 24 +++++++++++++++---- src/main/resources/application.properties | 4 ++-- 5 files changed, 31 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index ed850956..2f85c30b 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,5 @@ hs_err_pid* # JavaScript node_modules + +src/main/resources/application.properties diff --git a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseOrderServiceImpl.java b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseOrderServiceImpl.java index 874e1e00..29942637 100644 --- a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseOrderServiceImpl.java +++ b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseOrderServiceImpl.java @@ -224,7 +224,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService { purchaseOrder.setPurchaseOrderSeq(this.getSequence(company)); purchaseOrder.setStatusSelect(PurchaseOrderRepository.STATUS_DRAFT); purchaseOrder.setSupplierPartner(supplierPartner); - purchaseOrder.setDisplayPriceOnQuotationRequest(true); // SOPHAL + purchaseOrder.setDisplayPriceOnQuotationRequest(true); // SOPHAL return purchaseOrder; } diff --git a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseRequestServiceImpl.java b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseRequestServiceImpl.java index 0d2efefb..85c81061 100644 --- a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseRequestServiceImpl.java +++ b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/service/PurchaseRequestServiceImpl.java @@ -32,8 +32,10 @@ import com.google.inject.persist.Transactional; import java.time.LocalDate; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; public class PurchaseRequestServiceImpl implements PurchaseRequestService { @@ -121,6 +123,10 @@ public class PurchaseRequestServiceImpl implements PurchaseRequestService { purchaseOrder.getPurchaseOrderLineList().addAll(purchaseOrderLineList); purchaseOrderService.computePurchaseOrder(purchaseOrder); purchaseOrderRepo.save(purchaseOrder); + Set hash_Set = new HashSet(); + hash_Set.add(purchaseOrder); + purchaseRequest.setPurchaseOrderSet(hash_Set); + purchaseRequestRepo.save(purchaseRequest); } List purchaseOrders = purchaseOrderMap.values().stream().collect(Collectors.toList()); diff --git a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/web/PurchaseOrderController.java b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/web/PurchaseOrderController.java index 5ba772bd..b3d632d3 100644 --- a/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/web/PurchaseOrderController.java +++ b/modules/axelor-open-suite/axelor-purchase/src/main/java/com/axelor/apps/purchase/web/PurchaseOrderController.java @@ -195,7 +195,8 @@ public class PurchaseOrderController { purchaseOrderIdList.add(new Long((Integer) map.get("id"))); } } else { - // After confirmation popup, purchase order's id are in a string separated by "," + // After confirmation popup, purchase order's id are in a string separated by + // "," String purchaseOrderIdListStr = (String) request.getContext().get("purchaseOrderToMerge"); for (String purchaseOrderId : purchaseOrderIdListStr.split(",")) { purchaseOrderIdList.add(new Long(purchaseOrderId)); @@ -204,17 +205,20 @@ public class PurchaseOrderController { } } - // Check if currency, supplierPartner, company and tradingName are the same for all selected + // Check if currency, supplierPartner, company and tradingName are the same for + // all selected // purchase orders Currency commonCurrency = null; Partner commonSupplierPartner = null; Company commonCompany = null; Partner commonContactPartner = null; TradingName commonTradingName = null; - // Useful to determine if a difference exists between contact partners of all purchase orders + // Useful to determine if a difference exists between contact partners of all + // purchase orders boolean existContactPartnerDiff = false; PriceList commonPriceList = null; - // Useful to determine if a difference exists between price lists of all purchase orders + // Useful to determine if a difference exists between price lists of all + // purchase orders boolean existPriceListDiff = false; PurchaseOrder purchaseOrderTemp; boolean allTradingNamesAreNull = true; @@ -404,6 +408,18 @@ public class PurchaseOrderController { } } + public void refresh(ActionRequest request, ActionResponse response) { + try { + PurchaseOrder purchaseOrder = request.getContext().asType(PurchaseOrder.class); + purchaseOrder = Beans.get(PurchaseOrderRepository.class).find(purchaseOrder.getId()); + Beans.get(PurchaseOrderService.class).computePurchaseOrder(purchaseOrder); + Beans.get(PurchaseOrderService.class).updateCostPrice(purchaseOrder); + response.setReload(true); + } catch (Exception e) { + TraceBackService.trace(response, e); + } + } + /** * Called on printing settings select. Set the domain for {@link PurchaseOrder#printingSettings} * diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 1229d3b0..0425ab52 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -8,9 +8,9 @@ # ~~~~~ db.default.driver = org.postgresql.Driver db.default.ddl = update -db.default.url = jdbc:postgresql://localhost:5432/bdd_sophal +db.default.url = jdbc:postgresql://localhost:5432/axelor_code db.default.user = postgres -db.default.password = root +db.default.password = admin # Application Information # ~~~~~