feat: Enhance Supply Chain Module with Analytic Move Line Features
- Added support for analytic move lines in InvoiceServiceSupplychainImpl. - Implemented methods to check for missing analytic move lines in PurchaseOrderController and PurchaseRequestController. - Introduced budget distribution line generation in PurchaseOrderController. - Updated SaleOrderController to generate analytic move lines. - Enhanced StockMoveController with budget distribution line generation. - Modified StockMoveLineController to include analytic account and axis handling. - Updated domain models to include references to analytic accounts and axes in Partner, StockLocation, and StockMoveLine. - Created unit tests for StockMoveLineServiceSupplychainImpl to ensure proper functionality of new features. - Added MockQuery class for testing purposes.
This commit is contained in:
@@ -50,7 +50,7 @@ public class PurchaseOrderManagementRepository extends PurchaseOrderRepository {
|
||||
try {
|
||||
purchaseOrder = super.save(purchaseOrder);
|
||||
Beans.get(PurchaseOrderService.class).setDraftSequence(purchaseOrder);
|
||||
Beans.get(PurchaseOrderService.class).setPurchaseOrderBarCodeSeq(purchaseOrder);
|
||||
Beans.get(PurchaseOrderService.class).setPurchaseOrderBarCodeSeq(purchaseOrder);
|
||||
return purchaseOrder;
|
||||
} catch (Exception e) {
|
||||
throw new PersistenceException(e.getLocalizedMessage());
|
||||
|
||||
@@ -84,7 +84,7 @@ public interface PurchaseOrderLineService {
|
||||
Unit unit)
|
||||
throws AxelorException;
|
||||
|
||||
public PurchaseOrderLine createPurchaseOrderLine(
|
||||
public PurchaseOrderLine createPurchaseOrderLine(
|
||||
PurchaseOrder purchaseOrder,
|
||||
Product product,
|
||||
String productName,
|
||||
|
||||
@@ -730,10 +730,17 @@ public class PurchaseOrderLineServiceImpl implements PurchaseOrderLineService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PurchaseOrderLine createPurchaseOrderLine(PurchaseOrder purchaseOrder, Product product, String productName,
|
||||
String description, BigDecimal qty, Unit unit, PurchaseRequestLine purchaseRequestLine) throws AxelorException {
|
||||
PurchaseOrderLine purchaseOrderLine = this.createPurchaseOrderLine(purchaseOrder, product, productName, description, qty, unit);
|
||||
return purchaseOrderLine;
|
||||
|
||||
public PurchaseOrderLine createPurchaseOrderLine(
|
||||
PurchaseOrder purchaseOrder,
|
||||
Product product,
|
||||
String productName,
|
||||
String description,
|
||||
BigDecimal qty,
|
||||
Unit unit,
|
||||
PurchaseRequestLine purchaseRequestLine)
|
||||
throws AxelorException {
|
||||
PurchaseOrderLine purchaseOrderLine =
|
||||
this.createPurchaseOrderLine(purchaseOrder, product, productName, description, qty, unit);
|
||||
return purchaseOrderLine;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ public class PurchaseRequestPrintServiceImpl implements PurchaseRequestPrintServ
|
||||
public String printPurchaseRequest(PurchaseRequest purchaseRequest, String formatPdf)
|
||||
throws AxelorException {
|
||||
|
||||
String fileName = getPurchaseRequestFilesName(false, formatPdf);
|
||||
String fileName = getPurchaseRequestFilesName(false, formatPdf);
|
||||
|
||||
return PdfTool.getFileLinkFromPdfFile(print(purchaseRequest, formatPdf), fileName);
|
||||
}
|
||||
@@ -84,7 +84,6 @@ public class PurchaseRequestPrintServiceImpl implements PurchaseRequestPrintServ
|
||||
ReportSettings reportSetting =
|
||||
ReportFactory.createReport(IReport.PURCHASE_REQUEST, title + " - ${date}");
|
||||
|
||||
|
||||
return reportSetting
|
||||
.addParam("PurchaseRequestId", purchaseRequest.getId())
|
||||
.addParam("Locale", locale)
|
||||
@@ -103,8 +102,6 @@ public class PurchaseRequestPrintServiceImpl implements PurchaseRequestPrintServ
|
||||
|
||||
@Override
|
||||
public String getFileName(PurchaseRequest purchaseRequest) {
|
||||
return I18n.get("Purchase request")
|
||||
+ " "
|
||||
+ purchaseRequest.getPurchaseRequestSeq();
|
||||
return I18n.get("Purchase request") + " " + purchaseRequest.getPurchaseRequestSeq();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -696,7 +696,7 @@ public class PurchaseOrderController {
|
||||
Beans.get(PurchaseOrderRepository.class)
|
||||
.find(request.getContext().asType(PurchaseOrder.class).getId());
|
||||
|
||||
if (purchaseOrder.getCurrency().getId() != 41){
|
||||
if (purchaseOrder.getCurrency().getId() != 41) {
|
||||
|
||||
ImportationFolder importationFolder =
|
||||
Beans.get(PurchaseOrderServiceImpl.class).generateImportationFolder(purchaseOrder);
|
||||
|
||||
@@ -101,6 +101,12 @@
|
||||
|
||||
<boolean name="isWithoutPayment" title="Is Without Payment"/>
|
||||
|
||||
<boolean name="authorizeBudget" title="Authoriser depassement budget"/>
|
||||
|
||||
<boolean name="budgetChecked" title="Budget checked" default="false"/>
|
||||
<many-to-one name="verifiedByUser" ref="com.axelor.auth.db.User" readonly="true" title="Verified by"/>
|
||||
<date name="budgetVerificationDate" title="Budget verification date" readonly="true"/>
|
||||
|
||||
<unique-constraint columns="purchaseOrderSeq,company"/>
|
||||
|
||||
<extra-code>
|
||||
|
||||
@@ -43,6 +43,12 @@
|
||||
|
||||
<integer name="limitPo" title="limit Po" default="1"/>
|
||||
|
||||
<boolean name="budgetChecked" title="Budget checked"/>
|
||||
<many-to-one name="verifiedByUser" ref="com.axelor.auth.db.User" readonly="true" title="Verified by"/>
|
||||
<date name="budgetVerificationDate" title="Budget verification date" readonly="true"/>
|
||||
<date name="budgetRejectionDate" title="Budget rejection date" readonly="true"/>
|
||||
|
||||
|
||||
<unique-constraint columns="purchaseRequestSeq"/>
|
||||
|
||||
<extra-code>
|
||||
@@ -63,6 +69,7 @@
|
||||
<field name="statusSelect"/>
|
||||
<field name="supplierUser"/>
|
||||
<field name="purchaseRequestSeq" />
|
||||
<field name="budgetChecked" />
|
||||
</track>
|
||||
|
||||
</entity>
|
||||
|
||||
Reference in New Issue
Block a user