diff --git a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/module/BaseModule.java b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/module/BaseModule.java index 4fee19b..56ed36a 100644 --- a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/module/BaseModule.java +++ b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/module/BaseModule.java @@ -81,6 +81,8 @@ import com.axelor.apps.base.service.ProductMultipleQtyService; import com.axelor.apps.base.service.ProductMultipleQtyServiceImpl; import com.axelor.apps.base.service.ProductService; import com.axelor.apps.base.service.ProductServiceImpl; +import com.axelor.apps.base.service.SophalService; +import com.axelor.apps.base.service.SophalServiceImpl; import com.axelor.apps.base.service.TeamTaskService; import com.axelor.apps.base.service.TeamTaskServiceImpl; import com.axelor.apps.base.service.TradingNameService; @@ -127,14 +129,11 @@ import com.axelor.base.service.ical.ICalendarEventService; import com.axelor.base.service.ical.ICalendarEventServiceImpl; import com.axelor.team.db.repo.TeamTaskRepository; -import com.axelor.apps.base.service.SophalService; -import com.axelor.apps.base.service.SophalServiceImpl; - public class BaseModule extends AxelorModule { @Override protected void configure() { - bind(SophalService.class).to(SophalServiceImpl.class); + bind(SophalService.class).to(SophalServiceImpl.class); bind(AddressService.class).to(AddressServiceImpl.class); bind(AdvancedExportService.class).to(AdvancedExportServiceImpl.class); bind(UserService.class).to(UserServiceImpl.class); diff --git a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/service/SophalService.java b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/service/SophalService.java index dbdfa50..c84129c 100644 --- a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/service/SophalService.java +++ b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/service/SophalService.java @@ -18,16 +18,8 @@ package com.axelor.apps.base.service; import com.axelor.apps.base.db.Product; -import com.axelor.apps.base.db.ProductVariant; -import com.axelor.apps.base.db.ProductVariantConfig; -import com.axelor.apps.base.db.ProductVariantValue; -import com.axelor.exception.AxelorException; -import com.google.inject.persist.Transactional; - public interface SophalService { - - String GenerateCode(Product product) ; - -} \ No newline at end of file + String GenerateCode(Product product); +} diff --git a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/service/SophalServiceImpl.java b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/service/SophalServiceImpl.java index 72d6b71..7f84cae 100644 --- a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/service/SophalServiceImpl.java +++ b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/service/SophalServiceImpl.java @@ -17,109 +17,71 @@ */ package com.axelor.apps.base.service; - - - import com.axelor.apps.base.db.Product; -import com.axelor.apps.base.db.repo.PartnerAddressRepository; -import com.axelor.apps.base.db.repo.PartnerRepository; -import com.axelor.apps.base.db.repo.SequenceRepository; -import com.axelor.apps.base.exceptions.IExceptionMessage; -import com.axelor.apps.base.service.administration.SequenceService; -import com.axelor.apps.base.service.app.AppBaseService; -import com.axelor.apps.message.db.EmailAddress; -import com.axelor.common.StringUtils; import com.axelor.db.JPA; -import com.axelor.exception.AxelorException; -import com.axelor.exception.db.repo.TraceBackRepository; -import com.axelor.i18n.I18n; -import com.axelor.inject.Beans; -import com.google.common.base.Preconditions; -import com.google.common.base.Strings; -import com.google.inject.Inject; -import com.google.inject.persist.Transactional; -import java.lang.invoke.MethodHandles; -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.regex.Pattern; -import javax.inject.Singleton; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import com.google.inject.servlet.RequestScoped; import javax.persistence.Query; - +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @RequestScoped public class SophalServiceImpl implements SophalService { - protected Logger log = LoggerFactory.getLogger(getClass()); + protected Logger log = LoggerFactory.getLogger(getClass()); @Override public String GenerateCode(Product product) { - - String num; - String result; - String var; - - - - if( product.getUnitCodeSelect() != null){ - var=product.getFamilleProduit().getCode()+product.getSousFamilleProduit().getCode()+product.getUnitCodeSelect(); - }else{ - var=product.getFamilleProduit().getCode()+product.getSousFamilleProduit().getCode()+"00"; - } - - - - if( product.getCode() == null){ - Query q = - JPA.em() - .createQuery("select self.code FROM Product as self WHERE self.codeCreated = ?1 AND self.code LIKE ?2 ORDER BY self.code DESC", - String.class); - q.setParameter(1,true); - q.setParameter(2, var+"%"); - - - - if(q.getResultList().size() == 0){ - result = null; - }else{ - result = (String) q.getResultList().get(0); - } - - - - if (result != null){ - - String arr[]=result.split(var); - String nbrString=arr[1]; - int nbrInt=Integer.parseInt(nbrString); - - nbrInt=nbrInt+1; - num=Integer.toString(nbrInt); - - - String padding = "000".substring(num.length())+ num; - result=var+padding; - - }else{ - - result=var+"001"; - - } - - - }else{ - result=product.getCode(); - } - - return result; + + String num; + String result; + String var; + + if (product.getUnitCodeSelect() != null) { + var = + product.getFamilleProduit().getCode() + + product.getSousFamilleProduit().getCode() + + product.getUnitCodeSelect(); + } else { + var = + product.getFamilleProduit().getCode() + product.getSousFamilleProduit().getCode() + "00"; + } + + if (product.getCode() == null) { + Query q = + JPA.em() + .createQuery( + "select self.code FROM Product as self WHERE self.codeCreated = ?1 AND self.code LIKE ?2 ORDER BY self.code DESC", + String.class); + q.setParameter(1, true); + q.setParameter(2, var + "%"); + + if (q.getResultList().size() == 0) { + result = null; + } else { + result = (String) q.getResultList().get(0); + } + + if (result != null) { + + String arr[] = result.split(var); + String nbrString = arr[1]; + int nbrInt = Integer.parseInt(nbrString); + + nbrInt = nbrInt + 1; + num = Integer.toString(nbrInt); + + String padding = "000".substring(num.length()) + num; + result = var + padding; + + } else { + + result = var + "001"; + } + + } else { + result = product.getCode(); + } + + return result; } - - -} \ No newline at end of file +} diff --git a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/web/SophalController.java b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/web/SophalController.java index cf81726..ee9bd35 100644 --- a/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/web/SophalController.java +++ b/modules/axelor-open-suite/axelor-base/src/main/java/com/axelor/apps/base/web/SophalController.java @@ -17,52 +17,23 @@ */ package com.axelor.apps.base.web; - -import com.axelor.apps.base.db.Product; -import com.axelor.apps.base.db.repo.ProductRepository; -import com.axelor.apps.base.exceptions.IExceptionMessage; -import com.axelor.apps.base.report.IReport; -import com.axelor.apps.base.service.ProductService; -import com.axelor.apps.base.service.app.AppBaseService; -import com.axelor.apps.base.service.user.UserService; -import com.axelor.apps.report.engine.ReportSettings; -import com.axelor.auth.db.User; -import com.axelor.exception.AxelorException; -import com.axelor.exception.db.repo.TraceBackRepository; -import com.axelor.exception.service.TraceBackService; -import com.axelor.i18n.I18n; -import com.axelor.inject.Beans; -import com.axelor.meta.schema.actions.ActionView; -import com.axelor.rpc.ActionRequest; -import com.axelor.rpc.ActionResponse; -import com.google.common.base.Joiner; -import com.google.inject.Singleton; -import java.lang.invoke.MethodHandles; -import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.google.inject.servlet.RequestScoped; import com.axelor.apps.base.db.Product; import com.axelor.apps.base.service.SophalService; +import com.axelor.rpc.ActionRequest; +import com.axelor.rpc.ActionResponse; +import com.google.inject.servlet.RequestScoped; import javax.inject.Inject; - - -import com.axelor.rpc.Response; - -@RequestScoped +@RequestScoped public class SophalController { - + @Inject private SophalService service; - @Inject private SophalService service; + public void GenerateCode(ActionRequest request, ActionResponse response) { - public void GenerateCode(ActionRequest request, ActionResponse response) { + Product product = request.getContext().asType(Product.class); + String Code = service.GenerateCode(product); - Product product = request.getContext().asType(Product.class); - String Code = service.GenerateCode(product); - - response.setValue("code",Code); + response.setValue("code", Code); } - -} \ No newline at end of file +} diff --git a/modules/axelor-open-suite/axelor-supplier-management/src/main/java/com/axelor/apps/suppliermanagement/service/PurchaseOrderSupplierLineService.java b/modules/axelor-open-suite/axelor-supplier-management/src/main/java/com/axelor/apps/suppliermanagement/service/PurchaseOrderSupplierLineService.java index a8da0a0..7f9a2d6 100644 --- a/modules/axelor-open-suite/axelor-supplier-management/src/main/java/com/axelor/apps/suppliermanagement/service/PurchaseOrderSupplierLineService.java +++ b/modules/axelor-open-suite/axelor-supplier-management/src/main/java/com/axelor/apps/suppliermanagement/service/PurchaseOrderSupplierLineService.java @@ -61,7 +61,7 @@ public class PurchaseOrderSupplierLineService { purchaseOrderLine.setExTaxTotal( PurchaseOrderLineServiceImpl.computeAmount( purchaseOrderLine.getQty(), purchaseOrderLine.getPrice())); - + purchaseOrderLine.setPriceDiscounted(purchaseOrderSupplierLine.getPrice());//sophal purchaseOrderSupplierLine.setStateSelect(PurchaseOrderSupplierLineRepository.STATE_ACCEPTED); poSupplierLineRepo.save(purchaseOrderSupplierLine);