seperate sequences (invoices - stock Moves)

This commit is contained in:
2023-01-18 08:24:36 +01:00
parent 039a38f0f7
commit 11e5cad88f
12 changed files with 207 additions and 23 deletions

View File

@@ -287,9 +287,24 @@ public class StockMoveServiceImpl implements StockMoveService {
if (Beans.get(SequenceService.class)
.isEmptyOrDraftSequenceNumber(stockMove.getStockMoveSeq())) {
draftSeq = stockMove.getStockMoveSeq();
stockMove.setStockMoveSeq(
if (stockMove.getTypeSelect() == StockMoveRepository.TYPE_INCOMING && stockMove.getIsReversion() == true){
stockMove.setStockMoveSeq(
stockMoveToolService.getSequenceStockMove(StockMoveRepository.TYPE_INCOMING_CLIENT, stockMove.getCompany()));
}else if(stockMove.getTypeSelect() == StockMoveRepository.TYPE_OUTGOING && stockMove.getIsReversion() == false && stockMove.getPartner().getId() != 853 ){
stockMove.setStockMoveSeq(
stockMoveToolService.getSequenceStockMove(StockMoveRepository.TYPE_OUTGOING_CLIENT, stockMove.getCompany()));
} else if(stockMove.getTypeSelect() == StockMoveRepository.TYPE_OUTGOING && stockMove.getIsReversion() == false && stockMove.getPartner().getId() == 853){
stockMove.setStockMoveSeq(
stockMoveToolService.getSequenceStockMove(StockMoveRepository.TYPE_INTERNAL_OUTGOING_CLIENT, stockMove.getCompany()));
}else if(stockMove.getTypeSelect() == StockMoveRepository.TYPE_OUTGOING && stockMove.getIsReversion() == true){
stockMove.setStockMoveSeq(
stockMoveToolService.getSequenceStockMove(StockMoveRepository.TYPE_SUPPLIER_OUTGOING_CLIENT, stockMove.getCompany()));
}
else{
stockMove.setStockMoveSeq(
stockMoveToolService.getSequenceStockMove(
stockMove.getTypeSelect(), stockMove.getCompany()));
}
} else {
draftSeq = null;
}
@@ -632,6 +647,24 @@ public class StockMoveServiceImpl implements StockMoveService {
stockMoveLines = MoreObjects.firstNonNull(stockMoveLines, Collections.emptyList());
StockMove newStockMove = stockMoveRepo.copy(stockMove, false);
if (stockMove.getTypeSelect() == StockMoveRepository.TYPE_INCOMING && stockMove.getIsReversion() == true){
stockMove.setStockMoveSeq(
stockMoveToolService.getSequenceStockMove(StockMoveRepository.TYPE_INCOMING_CLIENT, stockMove.getCompany()));
}else{
newStockMove.setStockMoveSeq(
stockMoveToolService.getSequenceStockMove(
newStockMove.getTypeSelect(), newStockMove.getCompany()));
}
newStockMove.setName(
stockMoveToolService.computeName(
newStockMove,
newStockMove.getStockMoveSeq()
+ " "
+ I18n.get(IExceptionMessage.STOCK_MOVE_7)
+ " "
+ stockMove.getStockMoveSeq()
+ " )"));
// In copy OriginTypeSelect set null.
newStockMove.setOriginTypeSelect(stockMove.getOriginTypeSelect());
for (StockMoveLine stockMoveLine : stockMoveLines) {
@@ -647,18 +680,7 @@ public class StockMoveServiceImpl implements StockMoveService {
}
newStockMove.setRealDate(null);
newStockMove.setStockMoveSeq(
stockMoveToolService.getSequenceStockMove(
newStockMove.getTypeSelect(), newStockMove.getCompany()));
newStockMove.setName(
stockMoveToolService.computeName(
newStockMove,
newStockMove.getStockMoveSeq()
+ " "
+ I18n.get(IExceptionMessage.STOCK_MOVE_7)
+ " "
+ stockMove.getStockMoveSeq()
+ " )"));
newStockMove.setExTaxTotal(stockMoveToolService.compute(newStockMove));
plan(newStockMove);
@@ -714,9 +736,15 @@ public class StockMoveServiceImpl implements StockMoveService {
newStockMove.setTypeSelect(StockMoveRepository.TYPE_INCOMING);
if (stockMove.getTypeSelect() == StockMoveRepository.TYPE_INTERNAL)
newStockMove.setTypeSelect(StockMoveRepository.TYPE_INTERNAL);
newStockMove.setStockMoveSeq(
stockMoveToolService.getSequenceStockMove(
newStockMove.getTypeSelect(), newStockMove.getCompany()));
if (stockMove.getTypeSelect() == StockMoveRepository.TYPE_OUTGOING && stockMove.getIsReversion() == false){
newStockMove.setStockMoveSeq(
stockMoveToolService.getSequenceStockMove(StockMoveRepository.TYPE_INCOMING_CLIENT, stockMove.getCompany()));}
else{
newStockMove.setStockMoveSeq(
stockMoveToolService.getSequenceStockMove(
newStockMove.getTypeSelect(), newStockMove.getCompany()));
}
for (StockMoveLine stockMoveLine : stockMoveLines) {
@@ -739,9 +767,9 @@ public class StockMoveServiceImpl implements StockMoveService {
return Optional.empty();
}
newStockMove.setStockMoveSeq(
stockMoveToolService.getSequenceStockMove(
newStockMove.getTypeSelect(), newStockMove.getCompany()));
// newStockMove.setStockMoveSeq(
// stockMoveToolService.getSequenceStockMove(
// newStockMove.getTypeSelect(), newStockMove.getCompany()));
newStockMove.setName(
stockMoveToolService.computeName(
newStockMove,

View File

@@ -129,6 +129,47 @@ public class StockMoveToolServiceImpl implements StockMoveToolService {
}
break;
case StockMoveRepository.TYPE_INCOMING_CLIENT:
ref = sequenceService.getSequenceNumber(SequenceRepository.INCOMING_CLIENT, company);
if (ref == null) {
throw new AxelorException(
TraceBackRepository.CATEGORY_CONFIGURATION_ERROR,
I18n.get(IExceptionMessage.STOCK_MOVE_3),
company.getName());
}
break;
case StockMoveRepository.TYPE_OUTGOING_CLIENT:
ref = sequenceService.getSequenceNumber(SequenceRepository.OUTGOING_CLIENT, company);
if (ref == null) {
throw new AxelorException(
TraceBackRepository.CATEGORY_CONFIGURATION_ERROR,
I18n.get(IExceptionMessage.STOCK_MOVE_3),
company.getName());
}
break;
case StockMoveRepository.TYPE_INTERNAL_OUTGOING_CLIENT:
ref = sequenceService.getSequenceNumber(SequenceRepository.CUST_DELIVERY, company);
if (ref == null) {
throw new AxelorException(
TraceBackRepository.CATEGORY_CONFIGURATION_ERROR,
I18n.get(IExceptionMessage.STOCK_MOVE_3),
company.getName());
}
break;
case StockMoveRepository.TYPE_SUPPLIER_OUTGOING_CLIENT:
ref = sequenceService.getSequenceNumber(SequenceRepository.SUP_RETURN, company);
if (ref == null) {
throw new AxelorException(
TraceBackRepository.CATEGORY_CONFIGURATION_ERROR,
I18n.get(IExceptionMessage.STOCK_MOVE_3),
company.getName());
}
break;
default:
throw new AxelorException(
TraceBackRepository.CATEGORY_CONFIGURATION_ERROR,

View File

@@ -14,6 +14,13 @@
public static final String INTERNAL = "intStockMove";
public static final String OUTGOING = "outStockMove";
public static final String INCOMING = "inStockMove";
public static final String INCOMING_CLIENT = "customerReturn";
public static final String OUTGOING_CLIENT = "clientDelivery";
//sortie de stock
public static final String CUST_DELIVERY = "internalDelivery";
//retour fournisseur
public static final String SUP_RETURN = "supReturn";
public static final String PRODUCT_TRACKING_NUMBER = "productTrackingNumber";
public static final String LOGISTICAL_FORM = "logisticalForm";

View File

@@ -123,6 +123,14 @@
public static final int TYPE_INTERNAL = 1;
public static final int TYPE_OUTGOING = 2;
public static final int TYPE_INCOMING = 3;
// client return
public static final int TYPE_INCOMING_CLIENT = 4;
// client delivery
public static final int TYPE_OUTGOING_CLIENT = 5;
// internal delivery
public static final int TYPE_INTERNAL_OUTGOING_CLIENT = 6;
// supplier return
public static final int TYPE_SUPPLIER_OUTGOING_CLIENT = 7;
// CONFORMITY SELECT
public static final int CONFORMITY_NONE = 1;