Merge pull request #1 from root/dev

mis a jour du dossier
This commit is contained in:
walid
2022-05-04 15:54:06 +02:00
7 changed files with 150 additions and 73 deletions

View File

@@ -44,8 +44,8 @@ subprojects {
} }
axelor { axelor {
title "Axelor ERP" title "Sophal"
description "Axelor Entreprise Application" description "Sophal Entreprise"
} }
dependencies { dependencies {

View File

@@ -81,8 +81,6 @@ import com.axelor.apps.base.service.ProductMultipleQtyService;
import com.axelor.apps.base.service.ProductMultipleQtyServiceImpl; import com.axelor.apps.base.service.ProductMultipleQtyServiceImpl;
import com.axelor.apps.base.service.ProductService; import com.axelor.apps.base.service.ProductService;
import com.axelor.apps.base.service.ProductServiceImpl; 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.TeamTaskService;
import com.axelor.apps.base.service.TeamTaskServiceImpl; import com.axelor.apps.base.service.TeamTaskServiceImpl;
import com.axelor.apps.base.service.TradingNameService; import com.axelor.apps.base.service.TradingNameService;
@@ -129,6 +127,9 @@ import com.axelor.base.service.ical.ICalendarEventService;
import com.axelor.base.service.ical.ICalendarEventServiceImpl; import com.axelor.base.service.ical.ICalendarEventServiceImpl;
import com.axelor.team.db.repo.TeamTaskRepository; 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 { public class BaseModule extends AxelorModule {
@Override @Override

View File

@@ -18,8 +18,16 @@
package com.axelor.apps.base.service; package com.axelor.apps.base.service;
import com.axelor.apps.base.db.Product; 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 { public interface SophalService {
String GenerateCode(Product product); String GenerateCode(Product product) ;
} }

View File

@@ -17,12 +17,42 @@
*/ */
package com.axelor.apps.base.service; package com.axelor.apps.base.service;
import com.axelor.apps.base.db.Product; 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.db.JPA;
import com.google.inject.servlet.RequestScoped; import com.axelor.exception.AxelorException;
import javax.persistence.Query; 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.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import com.google.inject.servlet.RequestScoped;
import javax.persistence.Query;
@RequestScoped @RequestScoped
public class SophalServiceImpl implements SophalService { public class SophalServiceImpl implements SophalService {
@@ -36,52 +66,60 @@ public class SophalServiceImpl implements SophalService {
String result; String result;
String var; String var;
if (product.getUnitCodeSelect() != null) {
var =
product.getFamilleProduit().getCode() if( product.getUnitCodeSelect() != null){
+ product.getSousFamilleProduit().getCode() var=product.getFamilleProduit().getCode()+product.getSousFamilleProduit().getCode()+product.getUnitCodeSelect();
+ product.getUnitCodeSelect(); }else{
} else { var=product.getFamilleProduit().getCode()+product.getSousFamilleProduit().getCode()+"00";
var =
product.getFamilleProduit().getCode() + product.getSousFamilleProduit().getCode() + "00";
} }
if (product.getCode() == null) {
if( product.getCode() == null){
Query q = Query q =
JPA.em() JPA.em()
.createQuery( .createQuery("select self.code FROM Product as self WHERE self.codeCreated = ?1 AND self.code LIKE ?2 ORDER BY self.code DESC",
"select self.code FROM Product as self WHERE self.codeCreated = ?1 AND self.code LIKE ?2 ORDER BY self.code DESC",
String.class); String.class);
q.setParameter(1, true); q.setParameter(1,true);
q.setParameter(2, var + "%"); q.setParameter(2, var+"%");
if (q.getResultList().size() == 0) {
if(q.getResultList().size() == 0){
result = null; result = null;
} else { }else{
result = (String) q.getResultList().get(0); 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; if (result != null){
num = Integer.toString(nbrInt);
String padding = "000".substring(num.length()) + num; String arr[]=result.split(var);
result = var + padding; String nbrString=arr[1];
int nbrInt=Integer.parseInt(nbrString);
} else { nbrInt=nbrInt+1;
num=Integer.toString(nbrInt);
String padding = "000".substring(num.length())+ num;
result=var+padding;
}else{
result=var+"001";
result = var + "001";
} }
} else {
result = product.getCode(); }else{
result=product.getCode();
} }
return result; return result;
} }
} }

View File

@@ -17,16 +17,44 @@
*/ */
package com.axelor.apps.base.web; package com.axelor.apps.base.web;
import com.axelor.apps.base.db.Product; import com.axelor.apps.base.db.Product;
import com.axelor.apps.base.service.SophalService; 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.ActionRequest;
import com.axelor.rpc.ActionResponse; 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.google.inject.servlet.RequestScoped;
import com.axelor.apps.base.db.Product;
import com.axelor.apps.base.service.SophalService;
import javax.inject.Inject; import javax.inject.Inject;
import com.axelor.rpc.Response;
@RequestScoped @RequestScoped
public class SophalController { 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) {
@@ -34,6 +62,7 @@ public class SophalController {
Product product = request.getContext().asType(Product.class); Product product = request.getContext().asType(Product.class);
String Code = service.GenerateCode(product); String Code = service.GenerateCode(product);
response.setValue("code", Code); response.setValue("code",Code);
} }
} }

View File

@@ -22,6 +22,9 @@
<boolean name="isProspect" title="Prospect"/> <boolean name="isProspect" title="Prospect"/>
<boolean name="isSupplier" title="Supplier"/> <boolean name="isSupplier" title="Supplier"/>
<boolean name="isEmployee" title="Employee"/> <boolean name="isEmployee" title="Employee"/>
<!--sophal -->
<boolean name="isInterne" title="Interne"/>
<!--sophal -->
<boolean name="isContact" title="Contact" default="false" /> <boolean name="isContact" title="Contact" default="false" />

View File

@@ -143,11 +143,9 @@
<field name="saleOrderSeq" /> <field name="saleOrderSeq" />
<field name="clientPartner" /> <field name="clientPartner" />
<field name="statusSelect"/> <field name="statusSelect"/>
<field name="purchaseRequestLineList" on="ALWAYS" />
<field name="creationDate" on="CREATE" /> <field name="creationDate" on="CREATE" />
<field name="confirmationDateTime" on="UPDATE"/> <field name="confirmationDateTime" on="UPDATE"/>
<field name="inTaxTotal" /> <field name="inTaxTotal" />
<message if="true" on="ALWAYS">Expression updated.</message>
<message if="true" on="CREATE">Quotation/sale order created</message> <message if="true" on="CREATE">Quotation/sale order created</message>
<message if="statusSelect == 1" tag="important">Draft quotation</message> <message if="statusSelect == 1" tag="important">Draft quotation</message>
<message if="statusSelect == 2" tag="info">Finalized quotation</message> <message if="statusSelect == 2" tag="info">Finalized quotation</message>