diff --git a/modules/axelor-open-suite/axelor-qvm/src/main/java/com.axelor/apps.qvm/service/OperationServiceImpl.java b/modules/axelor-open-suite/axelor-qvm/src/main/java/com.axelor/apps.qvm/service/OperationServiceImpl.java new file mode 100644 index 0000000..0541d6f --- /dev/null +++ b/modules/axelor-open-suite/axelor-qvm/src/main/java/com.axelor/apps.qvm/service/OperationServiceImpl.java @@ -0,0 +1,107 @@ +/* + * Axelor Business Solutions + * + * Copyright (C) 2019 Axelor (). + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +package com.axelor.apps.qvm.service; + +import com.axelor.apps.base.db.Company; +import com.axelor.apps.base.db.repo.SequenceRepository; +import com.axelor.apps.base.service.administration.SequenceService; +import com.axelor.apps.qvm.db.Operation; +import com.axelor.exception.AxelorException; +import com.axelor.exception.db.repo.TraceBackRepository; +import com.axelor.i18n.I18n; +import com.google.inject.Inject; +import com.google.inject.persist.Transactional; + +public class OperationServiceImpl implements OperationService { + + @Inject + protected SequenceService sequenceService; + + @Transactional + public Operation createCalibrationSeq(Company company) throws AxelorException { + + Operation calibration = new Operation(); + calibration.setSerialNumber(this.getCalibrationSequence(company)); + + return calibration; + } + + @Transactional + public Operation createQualificationSeq(Company company) throws AxelorException { + + Operation qualification = new Operation(); + qualification.setSerialNumber(this.getQualificationSequence(company)); + + return qualification; + } + + @Transactional + public Operation createOperationSeq(Company company) throws AxelorException { + + Operation operation = new Operation(); + operation.setSerialNumber(this.getOperationSequence(company)); + + return operation; + } + + public String getCalibrationSequence(Company company) throws AxelorException { + String seq = sequenceService.getSequenceNumber(SequenceRepository.CALIB_SEQ, company); + if (seq == null) { + throw new AxelorException( + company, + TraceBackRepository.CATEGORY_CONFIGURATION_ERROR, + I18n.get("IExceptionMessage.PURCHASE_ORDER_1"), + company.getName()); + } + System.out.println("seq before : " + seq); + return seq; + } + + public String getQualificationSequence(Company company) throws AxelorException { + String seq = sequenceService.getSequenceNumber(SequenceRepository.QUAL_SEQ, company); + if (seq == null) { + throw new AxelorException( + company, + TraceBackRepository.CATEGORY_CONFIGURATION_ERROR, + I18n.get("IExceptionMessage.PURCHASE_ORDER_1"), + company.getName()); + } + System.out.println("seq before : " + seq); + return seq; + } + + public String getOperationSequence(Company company) throws AxelorException { + String seq = sequenceService.getSequenceNumber(SequenceRepository.OP_SEQ, company); + if (seq == null) { + throw new AxelorException( + company, + TraceBackRepository.CATEGORY_CONFIGURATION_ERROR, + I18n.get("IExceptionMessage.PURCHASE_ORDER_1"), + company.getName()); + } + System.out.println("seq before : " + seq); + return seq; + } + + public Operation setMachine(Operation calibration) throws AxelorException { + if (calibration.getMachineName() != null) { + System.out.println("calibration.getMachineName : " + calibration.getMachineName()); + } + return calibration; + } +}