set QR code for purchaseOrderSeq and PartnerSeq
This commit is contained in:
@@ -62,6 +62,7 @@ public class PartnerBaseRepository extends PartnerRepository {
|
||||
|
||||
copy.setPartnerSeq(null);
|
||||
copy.setEmailAddress(null);
|
||||
copy.setBarCodeSeq(null);
|
||||
|
||||
PartnerAddressRepository partnerAddressRepository = Beans.get(PartnerAddressRepository.class);
|
||||
|
||||
|
||||
@@ -142,4 +142,6 @@ public interface PartnerService {
|
||||
String computeCompanyStr(Partner partner);
|
||||
|
||||
String getPartnerDomain(Partner partner);
|
||||
|
||||
void setPartnerBarCodeSeq(Partner partner);
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ 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.base.service.BarcodeGeneratorService;
|
||||
import com.axelor.apps.message.db.EmailAddress;
|
||||
import com.axelor.common.StringUtils;
|
||||
import com.axelor.db.JPA;
|
||||
@@ -45,6 +46,11 @@ import com.google.common.base.Preconditions;
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.persist.Transactional;
|
||||
import com.axelor.meta.MetaFiles;
|
||||
import com.axelor.meta.db.MetaFile;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import javax.validation.ValidationException;
|
||||
import java.lang.invoke.MethodHandles;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
@@ -65,6 +71,9 @@ public class PartnerServiceImpl implements PartnerService {
|
||||
|
||||
protected PartnerRepository partnerRepo;
|
||||
protected AppBaseService appBaseService;
|
||||
|
||||
@Inject protected BarcodeGeneratorService barcodeGeneratorService;
|
||||
@Inject private MetaFiles metaFiles;
|
||||
|
||||
@Inject
|
||||
public PartnerServiceImpl(PartnerRepository partnerRepo, AppBaseService appBaseService) {
|
||||
@@ -162,6 +171,7 @@ public class PartnerServiceImpl implements PartnerService {
|
||||
|
||||
this.setPartnerFullName(partner);
|
||||
this.setCompanyStr(partner);
|
||||
this.setPartnerBarCodeSeq(partner);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -699,4 +709,30 @@ public class PartnerServiceImpl implements PartnerService {
|
||||
}
|
||||
return partnerQuery.fetchOne();
|
||||
}
|
||||
|
||||
|
||||
public void setPartnerBarCodeSeq(Partner partner) {
|
||||
if (partner.getBarCodeSeq() == null) {
|
||||
try {
|
||||
boolean addPadding = false;
|
||||
InputStream inStream = null;
|
||||
|
||||
inStream =
|
||||
barcodeGeneratorService.createBarCode(
|
||||
partner.getPartnerSeq(),
|
||||
appBaseService.getAppBase().getBarcodeTypeConfigPartnerSeq(),
|
||||
addPadding);
|
||||
|
||||
if (inStream != null) {
|
||||
MetaFile barcodeFile =
|
||||
metaFiles.upload(inStream, String.format("PartnerBarCodeSeq%d.png",partner.getId()));
|
||||
partner.setBarCodeSeq(barcodeFile);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} catch (AxelorException e) {
|
||||
throw new ValidationException(e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,6 +54,9 @@
|
||||
<many-to-one name="barcodeTypeConfig" title="Barcode Type" ref="com.axelor.apps.base.db.BarcodeTypeConfig" default="EAN_13"/>
|
||||
<boolean name="generateProductSequence" title="Generate sequence for products" default="false"/>
|
||||
|
||||
<many-to-one name="barcodeTypeConfigPurchaseOrderSeq" title="Barcode Type for Purchase Order Seq" ref="com.axelor.apps.base.db.BarcodeTypeConfig"/>
|
||||
<many-to-one name="barcodeTypeConfigPartnerSeq" title="Barcode Type for Partner Seq" ref="com.axelor.apps.base.db.BarcodeTypeConfig"/>
|
||||
|
||||
<boolean name="generatePartnerSequence" title="Generate sequence for partners" default="true"/>
|
||||
|
||||
<boolean name="manageMultiBanks" title="Manage multi banks"/>
|
||||
|
||||
@@ -96,6 +96,8 @@
|
||||
<string name="pickingOrderComments" title="Comment to display on picking order" large="true"/>
|
||||
|
||||
<string name="proformaComments" title="Comment to display on proforma" large="true"/>
|
||||
|
||||
<many-to-one name="barCodeSeq" title="Barcode" ref="com.axelor.meta.db.MetaFile" />
|
||||
|
||||
<finder-method name="findByUser" using="user"/>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user