demandes achat
quand le DG clic sur le bouton accepter (TCO) ,le programme prendre la valeur du Prix unitaire accepté et mettre dans le champs Prix unitaire remisé
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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) ;
|
||||
|
||||
|
||||
}
|
||||
String GenerateCode(Product product);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user