diff --git a/src/main/java/org/spin/grpc/service/PointOfSalesServiceImplementation.java b/src/main/java/org/spin/grpc/service/PointOfSalesServiceImplementation.java index 265dac831..2bb6718dd 100644 --- a/src/main/java/org/spin/grpc/service/PointOfSalesServiceImplementation.java +++ b/src/main/java/org/spin/grpc/service/PointOfSalesServiceImplementation.java @@ -3500,12 +3500,14 @@ private MOrder changeOrderAssigned(String orderUuid, String salesRepresentativeU throw new AdempiereException("@C_Order_ID@ @Processed@"); } if(!Util.isEmpty(salesRepresentativeUuid)) { - if(salesOrder.get_ValueAsInt("AssignedSalesRep_ID") > 0) { + int salesRepresentativeId = RecordUtil.getIdFromUuid(I_AD_User.Table_Name, salesRepresentativeUuid, transactionName); + if(salesOrder.get_ValueAsInt("AssignedSalesRep_ID") > 0 && salesRepresentativeId != salesOrder.get_ValueAsInt("AssignedSalesRep_ID")) { throw new AdempiereException("@POS.SalesRepAssigned@"); } + salesOrder.set_ValueOfColumn("AssignedSalesRep_ID", salesRepresentativeId); + } else { + salesOrder.set_ValueOfColumn("AssignedSalesRep_ID", null); } - int salesRepresentativeId = RecordUtil.getIdFromUuid(I_AD_User.Table_Name, salesRepresentativeUuid, transactionName); - salesOrder.set_ValueOfColumn("AssignedSalesRep_ID", salesRepresentativeId); // Save salesOrder.saveEx(transactionName); orderReference.set(salesOrder);