First commit waiting for Budget Alert
This commit is contained in:
17
modules/axelor-open-suite/axelor-quality/build.gradle
Normal file
17
modules/axelor-open-suite/axelor-quality/build.gradle
Normal file
@ -0,0 +1,17 @@
|
||||
apply plugin: "com.axelor.app-module"
|
||||
|
||||
apply from: "../version.gradle"
|
||||
|
||||
apply {
|
||||
version = openSuiteVersion
|
||||
}
|
||||
|
||||
axelor {
|
||||
title "Axelor Quality"
|
||||
description "Axelor Quality Module"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile project(":modules:axelor-production")
|
||||
compile project(":modules:axelor-human-resource")
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.db.repo;
|
||||
|
||||
import com.axelor.apps.base.db.repo.SequenceRepository;
|
||||
import com.axelor.apps.base.service.administration.SequenceService;
|
||||
import com.axelor.apps.quality.db.QualityAlert;
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
public class QualityAlertManagementRepository extends QualityAlertRepository {
|
||||
|
||||
@Inject private SequenceService sequenceService;
|
||||
|
||||
/**
|
||||
* Generate and set sequence in reference with predefined prefix.
|
||||
*
|
||||
* @param qualityAlert Overridden quality alert object to set reference on onSave event.
|
||||
*/
|
||||
@Override
|
||||
public QualityAlert save(QualityAlert qualityAlert) {
|
||||
if (Strings.isNullOrEmpty(qualityAlert.getReference()))
|
||||
qualityAlert.setReference(
|
||||
sequenceService.getSequenceNumber(SequenceRepository.QUALITY_ALERT, null));
|
||||
return super.save(qualityAlert);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.db.repo;
|
||||
|
||||
import com.axelor.apps.base.db.repo.SequenceRepository;
|
||||
import com.axelor.apps.base.service.administration.SequenceService;
|
||||
import com.axelor.apps.quality.db.QualityControl;
|
||||
import com.google.common.base.Strings;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
public class QualityControlManagementRepository extends QualityControlRepository {
|
||||
|
||||
@Inject private SequenceService sequenceService;
|
||||
|
||||
/**
|
||||
* Generate and set sequence in reference with predefined prefix.
|
||||
*
|
||||
* @param qualityControl Overridden quality control object to set reference on onSave event.
|
||||
*/
|
||||
@Override
|
||||
public QualityControl save(QualityControl qualityControl) {
|
||||
|
||||
if (Strings.isNullOrEmpty(qualityControl.getReference()))
|
||||
qualityControl.setReference(
|
||||
sequenceService.getSequenceNumber(SequenceRepository.QUALITY_CONTROL, null));
|
||||
return super.save(qualityControl);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
/** */
|
||||
package com.axelor.apps.quality.exception;
|
||||
|
||||
/** @author axelor */
|
||||
public interface IExceptionMessage {
|
||||
|
||||
static final String QUALITY_CONTROL_MISSING_PRINTING_SETTINGS = /*$$(*/
|
||||
"Please fill printing settings on quality control" /*)*/;
|
||||
}
|
||||
@ -0,0 +1,57 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.mobile;
|
||||
|
||||
import com.axelor.apps.quality.db.QualityControl;
|
||||
import com.axelor.apps.quality.db.repo.QualityControlRepository;
|
||||
import com.axelor.apps.quality.service.QualityControlService;
|
||||
import com.axelor.apps.quality.service.app.AppQualityService;
|
||||
import com.axelor.exception.service.TraceBackService;
|
||||
import com.axelor.inject.Beans;
|
||||
import com.axelor.rpc.ActionRequest;
|
||||
import com.axelor.rpc.ActionResponse;
|
||||
|
||||
public class QualityMobileController {
|
||||
|
||||
/**
|
||||
* This method is used in mobile application.
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* <p>POST: /open-suite-webapp/ws/action Content-Type: application/json Fields: id
|
||||
* <p>payload : { "action":
|
||||
* "com.axelor.apps.quality.mobile.QualityMobileController:sendEmail", "data": { "context":
|
||||
* {"id": 1} } }
|
||||
*/
|
||||
public void sendEmail(ActionRequest request, ActionResponse response) {
|
||||
try {
|
||||
boolean automaticMail = Beans.get(AppQualityService.class).getAppQuality().getAutomaticMail();
|
||||
|
||||
if (request.getRawContext().get("id") == null || !automaticMail) {
|
||||
return;
|
||||
}
|
||||
QualityControl qualityControl =
|
||||
Beans.get(QualityControlRepository.class)
|
||||
.find(Long.valueOf(request.getRawContext().get("id").toString()));
|
||||
|
||||
Beans.get(QualityControlService.class).sendEmail(qualityControl);
|
||||
} catch (Exception e) {
|
||||
TraceBackService.trace(response, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.module;
|
||||
|
||||
import com.axelor.app.AxelorModule;
|
||||
import com.axelor.apps.quality.db.repo.QualityAlertManagementRepository;
|
||||
import com.axelor.apps.quality.db.repo.QualityAlertRepository;
|
||||
import com.axelor.apps.quality.db.repo.QualityControlManagementRepository;
|
||||
import com.axelor.apps.quality.db.repo.QualityControlRepository;
|
||||
import com.axelor.apps.quality.service.QualityControlService;
|
||||
import com.axelor.apps.quality.service.QualityControlServiceImpl;
|
||||
import com.axelor.apps.quality.service.app.AppQualityService;
|
||||
import com.axelor.apps.quality.service.app.AppQualityServiceImpl;
|
||||
|
||||
public class QualityModule extends AxelorModule {
|
||||
|
||||
@Override
|
||||
protected void configure() {
|
||||
bind(QualityControlService.class).to(QualityControlServiceImpl.class);
|
||||
bind(QualityAlertRepository.class).to(QualityAlertManagementRepository.class);
|
||||
bind(QualityControlRepository.class).to(QualityControlManagementRepository.class);
|
||||
bind(AppQualityService.class).to(AppQualityServiceImpl.class);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.report;
|
||||
|
||||
public interface IReport {
|
||||
|
||||
public static final String QUALITY_CONTROL = "QualityControl.rptdesign";
|
||||
public static final String ART_WORK = "ArtWork.rptdesign";
|
||||
}
|
||||
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.report;
|
||||
|
||||
public interface ITranslation {
|
||||
|
||||
public static final String QUALITY_CONTROL_TITLE = /*$$(*/
|
||||
"QualityControl.qualityControlTitle"; /*)*/
|
||||
|
||||
public static final String QUALITY_CONTROL_PROJECT_CLIENT = /*$$(*/
|
||||
"QualityControl.projectClient"; /*)*/
|
||||
|
||||
public static final String QUALITY_CONTROL_PROJECT = /*$$(*/ "QualityControl.project"; /*)*/
|
||||
|
||||
public static final String QUALITY_CONTROL_END_DATE = /*$$(*/ "QualityControl.endDate"; /*)*/
|
||||
|
||||
public static final String QUALITY_CONTROL_RESPONSIBLE = /*$$(*/
|
||||
"QualityControl.responsible"; /*)*/
|
||||
|
||||
public static final String QUALITY_CONTROL_COEFFICIENT = /*$$(*/
|
||||
"QualityControl.coefficient"; /*)*/
|
||||
|
||||
public static final String QUALITY_CONTROL_MEASURING_NOTE = /*$$(*/
|
||||
"QualityControl.measuringNote"; /*)*/
|
||||
|
||||
public static final String QUALITY_CONTROL_TOTAL_HEADER = /*$$(*/ "QualityControl.total"; /*)*/
|
||||
|
||||
public static final String QUALITY_CONTROL_FINAL_NOTE = /*$$(*/ "QualityControl.finalNote"; /*)*/
|
||||
|
||||
public static final String QUALITY_CONTROL_INSPECTOR_SIGNATURE = /*$$(*/
|
||||
"QualityControl.inspectorSignature"; /*)*/
|
||||
|
||||
public static final String QUALITY_CONTROL_CUSTOMER_SIGNATURE = /*$$(*/
|
||||
"QualityControl.customerSignature"; /*)*/
|
||||
|
||||
public static final String QUALITY_CONTROL_CORRECTIVE_ACTIONS = /*$$(*/
|
||||
"QualityControl.correctiveActions"; /*)*/
|
||||
|
||||
public static final String QUALITY_CONTROL_OBSERVATION = /*$$(*/
|
||||
"QualityControl.observation"; /*)*/
|
||||
|
||||
public static final String QUALITY_CONTROL_REFERENCE = /*$$(*/ "QualityControl.reference"; /*)*/
|
||||
}
|
||||
@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.service;
|
||||
|
||||
import com.axelor.apps.quality.db.ControlPoint;
|
||||
import com.axelor.apps.quality.db.QualityControl;
|
||||
import com.axelor.apps.quality.db.QualityProcess;
|
||||
import com.axelor.exception.AxelorException;
|
||||
import com.google.inject.persist.Transactional;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import javax.mail.MessagingException;
|
||||
|
||||
public interface QualityControlService {
|
||||
|
||||
@Transactional(rollbackOn = {Exception.class})
|
||||
public void preFillOperations(QualityControl control, QualityProcess qualityProcess)
|
||||
throws AxelorException;
|
||||
|
||||
@Transactional
|
||||
public void preFillOperationsFromOptionals(
|
||||
QualityControl qualityControl, List<ControlPoint> optionalControlPointList);
|
||||
|
||||
void sendEmail(QualityControl qualityControl)
|
||||
throws ClassNotFoundException, InstantiationException, IllegalAccessException,
|
||||
MessagingException, IOException, AxelorException;
|
||||
}
|
||||
@ -0,0 +1,140 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.service;
|
||||
|
||||
import com.axelor.apps.message.db.Template;
|
||||
import com.axelor.apps.message.service.TemplateMessageService;
|
||||
import com.axelor.apps.quality.db.ControlPoint;
|
||||
import com.axelor.apps.quality.db.ControlPointModel;
|
||||
import com.axelor.apps.quality.db.QualityControl;
|
||||
import com.axelor.apps.quality.db.QualityCorrectiveAction;
|
||||
import com.axelor.apps.quality.db.QualityMeasuringPoint;
|
||||
import com.axelor.apps.quality.db.QualityProcess;
|
||||
import com.axelor.apps.quality.db.repo.ControlPointRepository;
|
||||
import com.axelor.apps.quality.db.repo.QualityControlRepository;
|
||||
import com.axelor.apps.quality.db.repo.QualityCorrectiveActionRepository;
|
||||
import com.axelor.apps.quality.db.repo.QualityMeasuringPointRepository;
|
||||
import com.axelor.apps.quality.service.app.AppQualityService;
|
||||
import com.axelor.exception.AxelorException;
|
||||
import com.axelor.inject.Beans;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.persist.Transactional;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import javax.mail.MessagingException;
|
||||
|
||||
public class QualityControlServiceImpl implements QualityControlService {
|
||||
|
||||
@Inject ControlPointRepository controlPointRepo;
|
||||
|
||||
/**
|
||||
* Copy control point model to control point and set it to the quality control.
|
||||
*
|
||||
* @param qualityControl Set control point model to control point of this object.
|
||||
* @throws AxelorException
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackOn = {Exception.class})
|
||||
public void preFillOperations(QualityControl qualityControl, QualityProcess process)
|
||||
throws AxelorException {
|
||||
|
||||
List<ControlPointModel> controlPointModelList = process.getControlPointModelList();
|
||||
List<ControlPointModel> optionalControlPointModelList =
|
||||
process.getOptionalControlPointModelList();
|
||||
List<QualityCorrectiveAction> qualityCorrectiveActionList =
|
||||
process.getQualityCorrectiveActionList();
|
||||
|
||||
if (controlPointModelList != null) {
|
||||
qualityControl.getControlPointList().clear();
|
||||
|
||||
for (ControlPointModel model : controlPointModelList) {
|
||||
ControlPoint point = new ControlPoint();
|
||||
this.createControlPointListItem(model, point, qualityControl);
|
||||
qualityControl.addControlPointListItem(point);
|
||||
}
|
||||
}
|
||||
|
||||
if (optionalControlPointModelList != null) {
|
||||
qualityControl.getOptionalControlPointList().clear();
|
||||
|
||||
for (ControlPointModel model : optionalControlPointModelList) {
|
||||
ControlPoint point = new ControlPoint();
|
||||
this.createControlPointListItem(model, point, qualityControl);
|
||||
qualityControl.addOptionalControlPointListItem(point);
|
||||
}
|
||||
}
|
||||
|
||||
if (qualityCorrectiveActionList != null) {
|
||||
qualityControl.getQualityCorrectiveActionList().clear();
|
||||
|
||||
for (QualityCorrectiveAction qualityCorrectiveAction : qualityCorrectiveActionList) {
|
||||
qualityCorrectiveAction =
|
||||
Beans.get(QualityCorrectiveActionRepository.class).copy(qualityCorrectiveAction, true);
|
||||
qualityControl.addQualityCorrectiveActionListItem(qualityCorrectiveAction);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void createControlPointListItem(
|
||||
ControlPointModel model, ControlPoint point, QualityControl qualityControl) {
|
||||
|
||||
point.setStatusSelect(ControlPointRepository.STATUS_ON_HOLD);
|
||||
point.setName(model.getName());
|
||||
point.setSequence(model.getSequence());
|
||||
point.setNotes(model.getNotes());
|
||||
point.setControlFrequency(model.getControlFrequency());
|
||||
point.setControlPointType(model.getControlPointType());
|
||||
|
||||
for (QualityMeasuringPoint measuringPoint : model.getMeasuringPointList()) {
|
||||
measuringPoint = Beans.get(QualityMeasuringPointRepository.class).copy(measuringPoint, true);
|
||||
point.addMeasuringPointListItem(measuringPoint);
|
||||
}
|
||||
|
||||
point.setControlPointDate(qualityControl.getStartDate());
|
||||
|
||||
controlPointRepo.save(point);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void preFillOperationsFromOptionals(
|
||||
QualityControl qualityControl, List<ControlPoint> optionalControlPointList) {
|
||||
|
||||
for (ControlPoint optionalControlPoint : optionalControlPointList) {
|
||||
optionalControlPoint =
|
||||
Beans.get(ControlPointRepository.class).copy(optionalControlPoint, true);
|
||||
optionalControlPoint.setOptionalQualityControl(null);
|
||||
qualityControl.addControlPointListItem(optionalControlPoint);
|
||||
}
|
||||
|
||||
Beans.get(QualityControlRepository.class).save(qualityControl);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendEmail(QualityControl qualityControl)
|
||||
throws ClassNotFoundException, InstantiationException, IllegalAccessException,
|
||||
MessagingException, IOException, AxelorException {
|
||||
Template template =
|
||||
Beans.get(AppQualityService.class).getAppQuality().getQualityControlTemplate();
|
||||
|
||||
if (template != null) {
|
||||
Beans.get(TemplateMessageService.class).generateAndSendMessage(qualityControl, template);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.service.app;
|
||||
|
||||
import com.axelor.apps.base.db.AppQuality;
|
||||
import com.axelor.apps.base.service.app.AppBaseService;
|
||||
|
||||
public interface AppQualityService extends AppBaseService {
|
||||
|
||||
AppQuality getAppQuality();
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.service.app;
|
||||
|
||||
import com.axelor.apps.base.db.AppQuality;
|
||||
import com.axelor.apps.base.db.repo.AppQualityRepository;
|
||||
import com.axelor.apps.base.service.app.AppBaseServiceImpl;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
public class AppQualityServiceImpl extends AppBaseServiceImpl implements AppQualityService {
|
||||
|
||||
private AppQualityRepository appQualityRepo;
|
||||
|
||||
@Inject
|
||||
public AppQualityServiceImpl(AppQualityRepository appQualityRepo) {
|
||||
this.appQualityRepo = appQualityRepo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AppQuality getAppQuality() {
|
||||
return appQualityRepo.all().fetchOne();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,74 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.service.print;
|
||||
|
||||
import com.axelor.apps.ReportFactory;
|
||||
import com.axelor.apps.quality.db.ArtWork;
|
||||
import com.axelor.apps.quality.exception.IExceptionMessage;
|
||||
import com.axelor.apps.quality.report.IReport;
|
||||
import com.axelor.apps.report.engine.ReportSettings;
|
||||
import com.axelor.apps.tool.file.PdfTool;
|
||||
import com.axelor.exception.AxelorException;
|
||||
import com.axelor.exception.db.repo.TraceBackRepository;
|
||||
import com.axelor.i18n.I18n;
|
||||
import java.io.File;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class ArtWorkPrintServiceImpl {
|
||||
|
||||
public String getFileName(ArtWork artWork) {
|
||||
|
||||
return I18n.get("ArtWork") + " " + artWork.getRef();
|
||||
}
|
||||
|
||||
public String printArtWork(ArtWork artWork, String format) throws AxelorException {
|
||||
|
||||
String fileName = I18n.get("ArtWork") + " - " + LocalDate.now().toString() + "." + format;
|
||||
|
||||
return PdfTool.getFileLinkFromPdfFile(print(artWork, format), fileName);
|
||||
}
|
||||
|
||||
public File print(ArtWork artWork, String format) throws AxelorException {
|
||||
|
||||
ReportSettings reportSettings = prepareReportSettings(artWork, format);
|
||||
|
||||
return reportSettings.generate().getFile();
|
||||
}
|
||||
|
||||
public ReportSettings prepareReportSettings(ArtWork artWork, String format)
|
||||
throws AxelorException {
|
||||
|
||||
if (artWork.getPrintingSettings() == null) {
|
||||
throw new AxelorException(
|
||||
TraceBackRepository.CATEGORY_MISSING_FIELD,
|
||||
String.format(I18n.get(IExceptionMessage.QUALITY_CONTROL_MISSING_PRINTING_SETTINGS)),
|
||||
artWork);
|
||||
}
|
||||
|
||||
String locale = ReportSettings.getPrintingLocale(artWork.getCompany().getPartner());
|
||||
String title = getFileName(artWork);
|
||||
|
||||
ReportSettings reportSetting =
|
||||
ReportFactory.createReport(IReport.ART_WORK, title + " - ${date}");
|
||||
|
||||
return reportSetting
|
||||
.addParam("artWorkId", artWork.getId())
|
||||
.addParam("Locale", locale)
|
||||
.addFormat(format);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,85 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.service.print;
|
||||
|
||||
import com.axelor.apps.ReportFactory;
|
||||
import com.axelor.apps.base.service.app.AppBaseService;
|
||||
import com.axelor.apps.quality.db.QualityControl;
|
||||
import com.axelor.apps.quality.exception.IExceptionMessage;
|
||||
import com.axelor.apps.quality.report.IReport;
|
||||
import com.axelor.apps.report.engine.ReportSettings;
|
||||
import com.axelor.apps.tool.file.PdfTool;
|
||||
import com.axelor.exception.AxelorException;
|
||||
import com.axelor.exception.db.repo.TraceBackRepository;
|
||||
import com.axelor.i18n.I18n;
|
||||
import com.axelor.inject.Beans;
|
||||
import java.io.File;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
public class QualityControlPrintServiceImpl {
|
||||
|
||||
public String getFileName(QualityControl qualityControl) {
|
||||
|
||||
return I18n.get("QualityControl") + " " + qualityControl.getReference();
|
||||
}
|
||||
|
||||
public String printQualityControl(QualityControl qualityControl, String format)
|
||||
throws AxelorException {
|
||||
|
||||
String fileName =
|
||||
I18n.get("QualityControl")
|
||||
+ " - "
|
||||
+ Beans.get(AppBaseService.class)
|
||||
.getTodayDate()
|
||||
.format(DateTimeFormatter.BASIC_ISO_DATE)
|
||||
+ "."
|
||||
+ format;
|
||||
|
||||
return PdfTool.getFileLinkFromPdfFile(print(qualityControl, format), fileName);
|
||||
}
|
||||
|
||||
public File print(QualityControl qualityControl, String format) throws AxelorException {
|
||||
|
||||
ReportSettings reportSettings = prepareReportSettings(qualityControl, format);
|
||||
|
||||
return reportSettings.generate().getFile();
|
||||
}
|
||||
|
||||
public ReportSettings prepareReportSettings(QualityControl qualityControl, String format)
|
||||
throws AxelorException {
|
||||
|
||||
if (qualityControl.getPrintingSettings() == null) {
|
||||
throw new AxelorException(
|
||||
TraceBackRepository.CATEGORY_MISSING_FIELD,
|
||||
String.format(I18n.get(IExceptionMessage.QUALITY_CONTROL_MISSING_PRINTING_SETTINGS)),
|
||||
qualityControl);
|
||||
}
|
||||
|
||||
String locale =
|
||||
ReportSettings.getPrintingLocale(qualityControl.getProject().getClientPartner());
|
||||
String title = getFileName(qualityControl);
|
||||
|
||||
ReportSettings reportSetting =
|
||||
ReportFactory.createReport(IReport.QUALITY_CONTROL, title + " - ${date}");
|
||||
|
||||
return reportSetting
|
||||
.addParam("QualityControlId", qualityControl.getId())
|
||||
.addParam("Locale", locale)
|
||||
.addFormat(format);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.translation;
|
||||
|
||||
public interface ITranslation {
|
||||
|
||||
public static final String QUALITY_RESPONSIBLE = /*$$(*/ "quality.responsible"; /*)*/
|
||||
public static final String QUALITY_APP_NAME = /*$$(*/ "value:Quality"; /*)*/
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.web;
|
||||
|
||||
import com.axelor.apps.quality.db.ArtWork;
|
||||
import com.axelor.apps.quality.db.repo.ArtWorkRepository;
|
||||
import com.axelor.apps.quality.service.print.ArtWorkPrintServiceImpl;
|
||||
import com.axelor.apps.report.engine.ReportSettings;
|
||||
import com.axelor.exception.AxelorException;
|
||||
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.inject.Singleton;
|
||||
|
||||
@Singleton
|
||||
public class ArtWorkController {
|
||||
|
||||
public void printQualityControl(ActionRequest request, ActionResponse response)
|
||||
throws AxelorException {
|
||||
|
||||
ArtWork artWork = request.getContext().asType(ArtWork.class);
|
||||
artWork = Beans.get(ArtWorkRepository.class).find(artWork.getId());
|
||||
|
||||
String fileLink;
|
||||
String title = Beans.get(ArtWorkPrintServiceImpl.class).getFileName(artWork);
|
||||
fileLink =
|
||||
Beans.get(ArtWorkPrintServiceImpl.class)
|
||||
.printArtWork(artWork, ReportSettings.FORMAT_PDF);
|
||||
|
||||
response.setView(ActionView.define(title).add("html", fileLink).map());
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,181 @@
|
||||
/*
|
||||
* Axelor Business Solutions
|
||||
*
|
||||
* Copyright (C) 2019 Axelor (<http://axelor.com>).
|
||||
*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.axelor.apps.quality.web;
|
||||
|
||||
import com.axelor.apps.quality.db.ControlPoint;
|
||||
import com.axelor.apps.quality.db.QualityControl;
|
||||
import com.axelor.apps.quality.db.QualityProcess;
|
||||
import com.axelor.apps.quality.db.repo.ControlPointRepository;
|
||||
import com.axelor.apps.quality.db.repo.QualityControlRepository;
|
||||
import com.axelor.apps.quality.db.repo.QualityProcessRepository;
|
||||
import com.axelor.apps.quality.service.QualityControlService;
|
||||
import com.axelor.apps.quality.service.print.QualityControlPrintServiceImpl;
|
||||
import com.axelor.apps.report.engine.ReportSettings;
|
||||
import com.axelor.common.ObjectUtils;
|
||||
import com.axelor.exception.AxelorException;
|
||||
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.axelor.rpc.Context;
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.inject.Singleton;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@Singleton
|
||||
public class QualityControlController {
|
||||
|
||||
/**
|
||||
* Open control point in new tab from quality control.
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
public void openControlPoints(ActionRequest request, ActionResponse response) {
|
||||
response.setView(
|
||||
ActionView.define(I18n.get("Control points"))
|
||||
.model("com.axelor.apps.quality.db.ControlPoint")
|
||||
.add("grid", "control-point-grid")
|
||||
.add("form", "control-point-form")
|
||||
.domain(
|
||||
"self.qualityControl.id = "
|
||||
+ request.getContext().asType(QualityControl.class).getId())
|
||||
.map());
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy control point model to control point of selected quality process.
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @throws AxelorException
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public void preFillOperations(ActionRequest request, ActionResponse response)
|
||||
throws AxelorException {
|
||||
|
||||
LinkedHashMap<String, Object> qualityProcessMap =
|
||||
(LinkedHashMap<String, Object>) request.getContext().get("qualityProcess");
|
||||
LinkedHashMap<String, Object> qualityControlMap =
|
||||
(LinkedHashMap<String, Object>) request.getContext().get("_qualityControl");
|
||||
|
||||
QualityProcess qualityProcess =
|
||||
Beans.get(QualityProcessRepository.class)
|
||||
.find(((Integer) qualityProcessMap.get("id")).longValue());
|
||||
QualityControl qualityControl =
|
||||
Beans.get(QualityControlRepository.class)
|
||||
.find(((Integer) qualityControlMap.get("id")).longValue());
|
||||
|
||||
Beans.get(QualityControlService.class).preFillOperations(qualityControl, qualityProcess);
|
||||
|
||||
response.setCanClose(true);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public void preFillOperationsFromOptionals(ActionRequest request, ActionResponse response) {
|
||||
|
||||
Set<Map<String, Object>> optionalControlPoints = new HashSet<Map<String, Object>>();
|
||||
List<ControlPoint> optionalControlPointList = new ArrayList<ControlPoint>();
|
||||
|
||||
Collection<Map<String, Object>> optionalControlPointSet =
|
||||
(Collection<Map<String, Object>>) request.getContext().get("optionalControlPointSet");
|
||||
|
||||
if (optionalControlPointSet != null) {
|
||||
optionalControlPoints.addAll(optionalControlPointSet);
|
||||
}
|
||||
|
||||
for (Map<String, Object> optionalControlPointData : optionalControlPoints) {
|
||||
ControlPoint optionalControlPoint =
|
||||
Beans.get(ControlPointRepository.class)
|
||||
.find(Long.parseLong(optionalControlPointData.get("id").toString()));
|
||||
optionalControlPointList.add(optionalControlPoint);
|
||||
}
|
||||
|
||||
LinkedHashMap<String, Object> qualityControlMap =
|
||||
(LinkedHashMap<String, Object>) request.getContext().get("_qualityControl");
|
||||
QualityControl qualityControl =
|
||||
Beans.get(QualityControlRepository.class)
|
||||
.find(((Integer) qualityControlMap.get("id")).longValue());
|
||||
|
||||
Beans.get(QualityControlService.class)
|
||||
.preFillOperationsFromOptionals(qualityControl, optionalControlPointList);
|
||||
|
||||
response.setCanClose(true);
|
||||
}
|
||||
|
||||
public void printQualityControl(ActionRequest request, ActionResponse response)
|
||||
throws AxelorException {
|
||||
|
||||
QualityControl qualityControl = request.getContext().asType(QualityControl.class);
|
||||
qualityControl = Beans.get(QualityControlRepository.class).find(qualityControl.getId());
|
||||
|
||||
String fileLink;
|
||||
String title = Beans.get(QualityControlPrintServiceImpl.class).getFileName(qualityControl);
|
||||
fileLink =
|
||||
Beans.get(QualityControlPrintServiceImpl.class)
|
||||
.printQualityControl(qualityControl, ReportSettings.FORMAT_PDF);
|
||||
|
||||
response.setView(ActionView.define(title).add("html", fileLink).map());
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public void sendEmail(ActionRequest request, ActionResponse response) {
|
||||
try {
|
||||
Context context = request.getContext();
|
||||
|
||||
QualityControlService qualityControlService = Beans.get(QualityControlService.class);
|
||||
|
||||
if (!ObjectUtils.isEmpty(context.get("_ids"))) {
|
||||
List<Long> idList =
|
||||
Lists.transform(
|
||||
(List) context.get("_ids"),
|
||||
new Function<Object, Long>() {
|
||||
@Nullable
|
||||
@Override
|
||||
public Long apply(@Nullable Object input) {
|
||||
return Long.parseLong(input.toString());
|
||||
}
|
||||
});
|
||||
|
||||
QualityControlRepository qualityControlRepo = Beans.get(QualityControlRepository.class);
|
||||
|
||||
for (Long id : idList) {
|
||||
QualityControl qualityControl = qualityControlRepo.find(id);
|
||||
if (qualityControl.getStatusSelect() == QualityControlRepository.STATUS_FINISHED) {
|
||||
qualityControlService.sendEmail(qualityControl);
|
||||
}
|
||||
}
|
||||
} else if (!ObjectUtils.isEmpty(context.get("id"))) {
|
||||
QualityControl qualityControl = context.asType(QualityControl.class);
|
||||
qualityControlService.sendEmail(qualityControl);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
TraceBackService.trace(response, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
"importId";"code";"name";"nextNum";"padding";"prefixe";"suffixe";"toBeAdded";"yearlyResetOk"
|
||||
204;"qualityAlert";"Quality Alert";1;;"QA";;1;0
|
||||
205;"qualityControl";"Quality Control";1;;"QC";;1;0
|
||||
|
@ -0,0 +1,3 @@
|
||||
"importId";"code";"name";"nextNum";"padding";"prefixe";"suffixe";"toBeAdded";"yearlyResetOk"
|
||||
204;"qualityAlert";"Quality Alert";1;;"QA";;1;0
|
||||
205;"qualityControl";"Quality Control";1;;"QC";;1;0
|
||||
|
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
|
||||
|
||||
<input file="base_sequence.csv" separator=";" type="com.axelor.apps.base.db.Sequence" search="self.importId = :importId">
|
||||
<bind to="yearlyResetOk" column="yearlyResetOk" eval="yearlyResetOk == '1' ? true : false"/>
|
||||
<bind to="nextNum" column="nextNum" eval="nextNum?.empty ? '1' : nextNum"/>
|
||||
<bind to="padding" column="padding" eval="padding?.empty ? '1' : padding"/>
|
||||
<bind to="toBeAdded" column="toBeAdded" eval="toBeAdded?.empty ? '1' : toBeAdded"/>
|
||||
<bind to="resetDate" eval="call:com.axelor.apps.base.service.app.AppBaseService:getTodayDate()" />
|
||||
</input>
|
||||
|
||||
</csv-inputs>
|
||||
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
|
||||
|
||||
<input file="auth_permission.csv" separator=";" type="com.axelor.auth.db.Permission" search="self.name = :name" call="com.axelor.csv.script.ImportPermission:importPermissionToRole">
|
||||
<bind to="canRead" eval="can_read == 'x' ? 'true' : 'false'"/>
|
||||
<bind to="canWrite" eval="can_write == 'x' ? 'true' : 'false'"/>
|
||||
<bind to="canCreate" eval="can_create == 'x' ? 'true' : 'false'"/>
|
||||
<bind to="canRemove" eval="can_remove == 'x' ? 'true' : 'false'"/>
|
||||
<bind to="canExport" eval="can_export == 'x' ? 'true' : 'false'"/>
|
||||
</input>
|
||||
|
||||
<input file="base_appQuality.csv" separator=";" type="com.axelor.apps.base.db.AppQuality" call="com.axelor.csv.script.ImportApp:importApp">
|
||||
<bind column="dependsOn" to="dependsOnSet" search="self.code in :dependsOn" eval="dependsOn.split(',') as List"/>
|
||||
</input>
|
||||
|
||||
<input file="meta_metaMenu.csv" separator=";" type="com.axelor.meta.db.MetaMenu" search="self.name = :name" update="true" />
|
||||
|
||||
</csv-inputs>
|
||||
@ -0,0 +1,2 @@
|
||||
"name";"object";"can_read";"can_write";"can_create";"can_remove";"can_export";"condition";"conditionParams";"roleName"
|
||||
"perm.quality.all";"com.axelor.apps.quality.db.*";"x";"x";"x";"x";"x";;;"Admin"
|
||||
|
@ -0,0 +1,2 @@
|
||||
"name";"code";"installOrder";"description";"imagePath";"modules";"dependsOn";"sequence"
|
||||
"Quality";"quality";27;"Quality management";"app-quality.png";"axelor-quality";"production,employee";16
|
||||
|
Binary file not shown.
|
After Width: | Height: | Size: 5.2 KiB |
@ -0,0 +1,16 @@
|
||||
"name";"roles.name"
|
||||
"menu-quality-root";"Admin"
|
||||
"quality-controls-root";"Admin"
|
||||
"quality-processes";"Admin"
|
||||
"quality-controls";"Admin"
|
||||
"quality-control-points";"Admin"
|
||||
"quality-alerts";"Admin"
|
||||
"quality-calendar";"Admin"
|
||||
"quality-alert-calendar";"Admin"
|
||||
"quality-control-calendar";"Admin"
|
||||
"quality-reportings";"Admin"
|
||||
"quality-reportings-dashboard";"Admin"
|
||||
"quality-configurations";"Admin"
|
||||
"quality-teams";"Admin"
|
||||
"quality-root-causes";"Admin"
|
||||
"quality-tags";"Admin"
|
||||
|
@ -0,0 +1,3 @@
|
||||
"importId";"company.importId"
|
||||
204;1
|
||||
205;1
|
||||
|
@ -0,0 +1,3 @@
|
||||
"importId";"company.importId"
|
||||
204;1
|
||||
205;1
|
||||
|
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
|
||||
|
||||
<input file="base_sequence.csv" separator=";" type="com.axelor.apps.base.db.Sequence" search="self.importId = :importId">
|
||||
<bind to="yearlyResetOk" column="yearlyResetOk" eval="yearlyResetOk == '1' ? true : false"/>
|
||||
<bind to="nextNum" column="nextNum" eval="nextNum?.empty ? '1' : nextNum"/>
|
||||
<bind to="padding" column="padding" eval="padding?.empty ? '1' : padding"/>
|
||||
<bind to="toBeAdded" column="toBeAdded" eval="toBeAdded?.empty ? '1' : toBeAdded"/>
|
||||
<bind to="resetDate" eval="call:com.axelor.apps.base.service.app.AppBaseService:getTodayDate()" />
|
||||
</input>
|
||||
|
||||
</csv-inputs>
|
||||
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="base" package="com.axelor.apps.base.db"/>
|
||||
|
||||
<entity name="AppQuality" lang="java" extends="App">
|
||||
|
||||
<many-to-one name="qualityControlTemplate" title="Model for quality control" ref="com.axelor.apps.message.db.Template"/>
|
||||
<boolean name="automaticMail" title="Automatic mail by completing quality control"/>
|
||||
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="quality" package="com.axelor.apps.quality.db"/>
|
||||
|
||||
<entity name="ArtWork" lang="java">
|
||||
<string name="ref" title="Ref" />
|
||||
<many-to-one name="product" ref="com.axelor.apps.base.db.Product" title="Product" required="true"/>
|
||||
<string name="artWorkType" title="Artwork" selection="quality.artwork.type.select"/>
|
||||
<integer name="statusSelect" title="Status" selection="quality.control.art.work.status.select" readonly="true"/>
|
||||
<datetime name="firstDate" title="First validation date" readonly="true"/>
|
||||
<many-to-one name="firstApprovedByUser" ref="com.axelor.auth.db.User" readonly="true" title="First approved by"/>
|
||||
<datetime name="secondDate" title="First validation date" readonly="true"/>
|
||||
<many-to-one name="secondApprovedByUser" ref="com.axelor.auth.db.User" readonly="true" title="Second approved by"/>
|
||||
<many-to-one name="thirdApprovedByUser" ref="com.axelor.auth.db.User" readonly="true" title="Third approved by"/>
|
||||
<datetime name="thirdDate" title="Third validation date" readonly="true"/>
|
||||
<many-to-one name="fourthApprovedByUser" ref="com.axelor.auth.db.User" readonly="true" title="Forth approved by"/>
|
||||
<datetime name="fourthtDate" title="Forth validation date" readonly="true"/>
|
||||
<many-to-one name="artWorkFile" ref="com.axelor.meta.db.MetaFile" title="Artwork file" />
|
||||
<string name="textColor" title="Text color" />
|
||||
<string name="dimensions" title="Dimension" />
|
||||
<string name="varnishing" title="Varnishing" />
|
||||
<string name="weight" title="Weight" />
|
||||
<string name="diameter" title="Diameter" />
|
||||
<string name="nature" title="Nature" />
|
||||
<string name="direction" title="Direction" />
|
||||
<string name="printingSupport" title="Printing support" />
|
||||
<many-to-one name="printingSettings" ref="com.axelor.apps.base.db.PrintingSettings" title="Printing settings"/>
|
||||
<many-to-one name="company" ref="com.axelor.apps.base.db.Company" title="Company" required="true"/>
|
||||
|
||||
<extra-code><![CDATA[
|
||||
|
||||
//STATUS SELECT
|
||||
public static final int STATUS_DRAFT = 1;
|
||||
public static final int STATUS_CANCELED = 2;
|
||||
public static final int STATUS_PLANNED = 3;
|
||||
public static final int STATUS_IN_PROGRESS = 4;
|
||||
public static final int STATUS_STANDBY = 5;
|
||||
public static final int STATUS_FINISHED = 6;
|
||||
|
||||
]]></extra-code>
|
||||
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="quality" package="com.axelor.apps.quality.db"/>
|
||||
|
||||
<entity name="ControlPoint" lang="java" cacheable="true">
|
||||
<integer name="statusSelect" selection="quality.control.points.status.select"/>
|
||||
<many-to-one name="qualityControl" ref="QualityControl" title="Quality control" />
|
||||
<many-to-one name="optionalQualityControl" ref="QualityControl"/>
|
||||
<string name="name" title="Control point name" required="true"/>
|
||||
<many-to-one name="responsible" ref="com.axelor.apps.hr.db.Employee" title="quality.responsible" />
|
||||
<decimal name="controlFrequency" title="Control Frequency"/>
|
||||
<string name="notes" title="Notes"/>
|
||||
<date name="controlPointDate" title="Date"/>
|
||||
<one-to-many name="measuringPointList" title="Measuring point list" ref="QualityMeasuringPoint" mappedBy="controlPoint"/>
|
||||
<integer name="sequence" title="Sequence"/>
|
||||
<many-to-one name="controlPointType" title="Type" ref="com.axelor.apps.quality.db.ControlPointType" required="true"/>
|
||||
|
||||
<extra-code>
|
||||
<![CDATA[
|
||||
public static final int STATUS_ON_HOLD = 1;
|
||||
]]>
|
||||
</extra-code>
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="quality" package="com.axelor.apps.quality.db"/>
|
||||
|
||||
<entity name="ControlPointModel" lang="java" cacheable="true">
|
||||
<string name="name" title="Control point name" required="true"/>
|
||||
<integer name="sequence" title="Sequence"/>
|
||||
<decimal name="controlFrequency" title="Control Frequency"/>
|
||||
<string name="notes" title="Notes"/>
|
||||
<many-to-one name="qualityProcess" title="counter" ref="QualityProcess"/>
|
||||
<many-to-one name="optionalQualityProcess" ref="QualityProcess"/>
|
||||
<one-to-many name="measuringPointList" title="Measuring point list" ref="QualityMeasuringPoint"/>
|
||||
<many-to-one name="controlPointType" title="Type" ref="com.axelor.apps.quality.db.ControlPointType" required="true"/>
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" ?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="quality" package="com.axelor.apps.quality.db"/>
|
||||
|
||||
<entity name="ControlPointType">
|
||||
<string name="name" title="Name"/>
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" ?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="quality" package="com.axelor.apps.quality.db"/>
|
||||
|
||||
<entity name="QualityAlert">
|
||||
<many-to-one name="product" ref="com.axelor.apps.base.db.Product" title="Product" required="true" />
|
||||
<many-to-one name="workCenter" ref="com.axelor.apps.production.db.WorkCenter" title="Work center" />
|
||||
<many-to-one name="team" ref="com.axelor.team.db.Team" title="Team" required="true"/>
|
||||
<many-to-one name="responsible" ref="com.axelor.apps.hr.db.Employee" title="quality.responsible" />
|
||||
<many-to-many name="qualityTagSet" ref="QualityTag" title="Tags" />
|
||||
<many-to-one name="rootCause" ref="RootCause" title="Root cause" />
|
||||
<string name="reference" readonly="true"/>
|
||||
<string name="fullName" title="Full name" namecolumn="true">
|
||||
<![CDATA[
|
||||
String fullName = "";
|
||||
if (reference != null && reference != "") {
|
||||
if(product.getCode() != null)
|
||||
fullName += reference + "[" + product.getCode() + "]";
|
||||
else
|
||||
fullName += reference;
|
||||
}else if(product.getCode() != null)
|
||||
fullName += "[" + product.getCode() + "]";
|
||||
return fullName;
|
||||
|
||||
]]>
|
||||
</string>
|
||||
<integer name="prioritySelect" selection="quality.alert.priority.select" title="Priority" />
|
||||
<integer name="statusSelect" title="Status" selection="quality.alert.status.select" readonly="true"/>
|
||||
<date name="startDate" title="Start date" />
|
||||
<date name="endDate" title="End date" />
|
||||
<date name="deadLineDate" title="Deadline"/>
|
||||
<string name="description" title="Description" />
|
||||
<string name="correctiveActions" title="Corrective actions" />
|
||||
<string name="preventiveActions" title="Preventive actions"/>
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" ?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="quality" package="com.axelor.apps.quality.db"/>
|
||||
|
||||
<entity name="QualityControl">
|
||||
<many-to-one name="team" ref="com.axelor.team.db.Team" title="Team"/>
|
||||
<many-to-one name="responsible" ref="com.axelor.apps.hr.db.Employee" title="quality.responsible" />
|
||||
<string name="reference" readonly="true" namecolumn="true"/>
|
||||
<integer name="statusSelect" title="Status" selection="quality.control.status.select" readonly="true"/>
|
||||
<one-to-many name="controlPointList" ref="ControlPoint" mappedBy="qualityControl"/>
|
||||
<date name="startDate" title="Start date" />
|
||||
<date name="endDate" title="End date" />
|
||||
<date name="deadLineDate" title="Deadline"/>
|
||||
<integer name="sequence" title="Sequence"/>
|
||||
<many-to-one name="project" ref="com.axelor.apps.project.db.Project" title="Project"/>
|
||||
<one-to-many name="optionalControlPointList" title="Optional control point list" ref="ControlPoint" mappedBy="optionalQualityControl"/>
|
||||
<one-to-many name="qualityCorrectiveActionList" title="Corrective actions list" ref="QualityCorrectiveAction" mappedBy="qualityControl"/>
|
||||
<many-to-one name="inspectorSignature" title="Inspector signature" ref="com.axelor.meta.db.MetaFile"/>
|
||||
<many-to-one name="customerSignature" title="Customer signature" ref="com.axelor.meta.db.MetaFile"/>
|
||||
<string name="name" title="Name"/>
|
||||
<many-to-one name="printingSettings" ref="com.axelor.apps.base.db.PrintingSettings" title="Printing settings"/>
|
||||
|
||||
<extra-code><![CDATA[
|
||||
|
||||
//STATUS SELECT
|
||||
public static final int STATUS_DRAFT = 1;
|
||||
public static final int STATUS_CANCELED = 2;
|
||||
public static final int STATUS_PLANNED = 3;
|
||||
public static final int STATUS_IN_PROGRESS = 4;
|
||||
public static final int STATUS_STANDBY = 5;
|
||||
public static final int STATUS_FINISHED = 6;
|
||||
|
||||
]]></extra-code>
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="quality" package="com.axelor.apps.quality.db"/>
|
||||
|
||||
<entity name="QualityCorrectiveAction">
|
||||
|
||||
<string name="name" title="Name"/>
|
||||
<boolean name="isApplicable" title="Applicable"/>
|
||||
<string name="details" title="Details"/>
|
||||
<many-to-one name="qualityControl" title="Quality control" ref="com.axelor.apps.quality.db.QualityControl"/>
|
||||
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="quality" package="com.axelor.apps.quality.db"/>
|
||||
|
||||
<entity name="QualityMeasuringPoint">
|
||||
|
||||
<string name="name" title="Name"/>
|
||||
<integer name="measuringNote" title="Note" selection="quality.measuring.point.measuring.note.select"/>
|
||||
<boolean name="compliant" title="Compliant"/>
|
||||
<decimal name="coefficient" title="Coefficient"/>
|
||||
<string name="observations" title="Observations"/>
|
||||
<one-to-many name="picturesList" title="Pictures" ref="com.axelor.apps.quality.db.QualityPictures" mappedBy="qualityMeasuringPoint"/>
|
||||
<integer name="measuringTypeSelect" title="Measuring Type" selection="quality.measuring.point.measuring.type.select"/>
|
||||
<many-to-one name="controlPoint" ref="com.axelor.apps.quality.db.ControlPoint"/>
|
||||
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="quality" package="com.axelor.apps.quality.db"/>
|
||||
|
||||
<entity name="QualityPictures">
|
||||
|
||||
<string name="name" title="Name"/>
|
||||
<many-to-one name="metaFile" title="File" ref="com.axelor.meta.db.MetaFile"/>
|
||||
<date name="createDate" title="Date"/>
|
||||
<many-to-one name="qualityMeasuringPoint" title="Measuring points" ref="com.axelor.apps.quality.db.QualityMeasuringPoint"/>
|
||||
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="quality" package="com.axelor.apps.quality.db"/>
|
||||
|
||||
<entity name="QualityProcess" lang="java" cacheable="true">
|
||||
<string name="name" title="Label" required="true"/>
|
||||
<string name="code" title="Code" />
|
||||
<one-to-many name="controlPointModelList" ref="ControlPointModel" mappedBy="qualityProcess"/>
|
||||
<one-to-many name="optionalControlPointModelList" title="Optional control point list" ref="ControlPointModel" mappedBy="optionalQualityProcess"/>
|
||||
<one-to-many name="qualityCorrectiveActionList" title="Corrective actions list" ref="QualityCorrectiveAction"/>
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="quality" package="com.axelor.apps.quality.db"/>
|
||||
|
||||
<entity name="QualityTag" lang="java" cacheable="true">
|
||||
<string name="name" title="Name" required="true" />
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="quality" package="com.axelor.apps.quality.db"/>
|
||||
|
||||
<entity name="RootCause" lang="java" cacheable="true">
|
||||
<string name="name" title="Name" required="true" />
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
|
||||
|
||||
<module name="base" package="com.axelor.apps.base.db"/>
|
||||
|
||||
<entity name="Sequence" lang="java">
|
||||
|
||||
<extra-code><![CDATA[
|
||||
|
||||
//SEQUENCE SELECT
|
||||
public static final String QUALITY_ALERT = "qualityAlert";
|
||||
public static final String QUALITY_CONTROL = "qualityControl";
|
||||
|
||||
]]></extra-code>
|
||||
|
||||
</entity>
|
||||
|
||||
</domain-models>
|
||||
@ -0,0 +1,145 @@
|
||||
"key","message","comment","context"
|
||||
"0",,,
|
||||
"1",,,
|
||||
"2",,,
|
||||
"3",,,
|
||||
"4",,,
|
||||
"5",,,
|
||||
"Action proposed",,,
|
||||
"Actions",,,
|
||||
"Add optional control points",,,
|
||||
"Alert calendar",,,
|
||||
"App quality",,,
|
||||
"Applicable",,,
|
||||
"Automatic mail by completing quality control",,,
|
||||
"Calendar",,,
|
||||
"Cancel",,,
|
||||
"Canceled",,,
|
||||
"Choose quality process",,,
|
||||
"Close",,,
|
||||
"Code",,,
|
||||
"Coefficient",,,
|
||||
"Compliant",,,
|
||||
"Configuration",,,
|
||||
"Confirm",,,
|
||||
"Confirmed",,,
|
||||
"Conformity",,,
|
||||
"Control Frequency",,,
|
||||
"Control Points",,,
|
||||
"Control comment",,,
|
||||
"Control point",,,
|
||||
"Control point list",,,
|
||||
"Control point model list",,,
|
||||
"Control point name",,,
|
||||
"Control point type",,,
|
||||
"Control points",,,
|
||||
"Corrective actions",,,
|
||||
"Corrective actions list",,,
|
||||
"Customer signature",,,
|
||||
"Date",,,
|
||||
"Deadline",,,
|
||||
"Description",,,
|
||||
"Details",,,
|
||||
"Done",,,
|
||||
"Draft",,,
|
||||
"Edit control points",,,
|
||||
"End date",,,
|
||||
"File",,,
|
||||
"Finish",,,
|
||||
"Finished",,,
|
||||
"From Date",,,
|
||||
"Full name",,,
|
||||
"High",,,
|
||||
"In progress",,,
|
||||
"Inspector signature",,,
|
||||
"Label",,,
|
||||
"Low",,,
|
||||
"Measuring Type",,,
|
||||
"Measuring point list",,,
|
||||
"Measuring points",,,
|
||||
"Model for quality control",,,
|
||||
"My alerts",,,
|
||||
"My quality controls",,,
|
||||
"My team alerts",,,
|
||||
"My team quality controls",,,
|
||||
"Name",,,
|
||||
"New",,,
|
||||
"Normal",,,
|
||||
"Note",,,
|
||||
"Notes",,,
|
||||
"Number of quality alerts",,,
|
||||
"Number of quality controls",,,
|
||||
"Number of solved quality alerts",,,
|
||||
"Observations",,,
|
||||
"On hold",,,
|
||||
"Optional control point list",,,
|
||||
"Optional control points",,,
|
||||
"Optional quality control",,,
|
||||
"Optional quality process",,,
|
||||
"Pause",,,
|
||||
"Pictures",,,
|
||||
"Plan",,,
|
||||
"Planned",,,
|
||||
"Please complete all control points",,,
|
||||
"Please fill printing settings on quality control",,,
|
||||
"Pre-fill control points",,,
|
||||
"Preventive actions",,,
|
||||
"Print",,,
|
||||
"Printing settings",,,
|
||||
"Priority",,,
|
||||
"Product",,,
|
||||
"Project",,,
|
||||
"Propose action",,,
|
||||
"Quality",,,
|
||||
"Quality Dashboard",,,
|
||||
"Quality alert",,,
|
||||
"Quality alert filters",,,
|
||||
"Quality alerts",,,
|
||||
"Quality control",,,
|
||||
"Quality control calendar",,,
|
||||
"Quality control filters",,,
|
||||
"Quality controls",,,
|
||||
"Quality process",,,
|
||||
"Quality processes",,,
|
||||
"Quality tag",,,
|
||||
"Quality teams",,,
|
||||
"QualityControl",,,
|
||||
"QualityControl.coefficient",,,
|
||||
"QualityControl.correctiveActions",,,
|
||||
"QualityControl.customerSignature",,,
|
||||
"QualityControl.endDate",,,
|
||||
"QualityControl.finalNote",,,
|
||||
"QualityControl.inspectorSignature",,,
|
||||
"QualityControl.measuringNote",,,
|
||||
"QualityControl.observation",,,
|
||||
"QualityControl.project",,,
|
||||
"QualityControl.projectClient",,,
|
||||
"QualityControl.qualityControlTitle",,,
|
||||
"QualityControl.reference",,,
|
||||
"QualityControl.responsible",,,
|
||||
"QualityControl.total",,,
|
||||
"Reference",,,
|
||||
"Reportings",,,
|
||||
"Result",,,
|
||||
"Root cause",,,
|
||||
"Root causes",,,
|
||||
"Send email",,,
|
||||
"Sequence",,,
|
||||
"Solve",,,
|
||||
"Solved",,,
|
||||
"Standby",,,
|
||||
"Start",,,
|
||||
"Start date",,,
|
||||
"Status",,,
|
||||
"Status select",,,
|
||||
"Tags",,,
|
||||
"Team",,,
|
||||
"To Date",,,
|
||||
"Tools",,,
|
||||
"Type",,,
|
||||
"Urgent",,,
|
||||
"Week(s)",,,
|
||||
"Work center",,,
|
||||
"counter",,,
|
||||
"quality.responsible",,,
|
||||
"value:Quality",,,
|
||||
|
@ -0,0 +1,141 @@
|
||||
"key","message","comment","context"
|
||||
"0",,,
|
||||
"1",,,
|
||||
"2",,,
|
||||
"3",,,
|
||||
"4",,,
|
||||
"5",,,
|
||||
"Action proposed","Vorgeschlagene Maßnahme",,
|
||||
"Actions","Aktionen",,
|
||||
"Add optional control points",,,
|
||||
"Alert calendar","Warnkalender",,
|
||||
"Applicable",,,
|
||||
"Calendar","Kalender",,
|
||||
"Cancel","Abbrechen",,
|
||||
"Canceled","Abgesagt",,
|
||||
"Choose quality process",,,
|
||||
"Close",,,
|
||||
"Code","Code",,
|
||||
"Coefficient",,,
|
||||
"Compliant",,,
|
||||
"Configuration","Konfiguration",,
|
||||
"Confirm","Bestätigen",,
|
||||
"Confirmed","Bestätigt",,
|
||||
"Conformity",,,
|
||||
"Control Frequency","Steuerfrequenz",,
|
||||
"Control Points","Kontrollpunkte",,
|
||||
"Control comment",,,
|
||||
"Control point",,,
|
||||
"Control point list","Kontrollpunktliste",,
|
||||
"Control point model list","Kontrollpunkt-Modellliste",,
|
||||
"Control point name","Name des Kontrollpunkts",,
|
||||
"Control point type",,,
|
||||
"Control points","Kontrollpunkte",,
|
||||
"Corrective actions","Korrekturmaßnahmen",,
|
||||
"Corrective actions list",,,
|
||||
"Customer signature",,,
|
||||
"Date","Datum",,
|
||||
"Deadline","Deadline",,
|
||||
"Description","Beschreibung",,
|
||||
"Details",,,
|
||||
"Done",,,
|
||||
"Draft","Entwurf",,
|
||||
"Edit control points","Kontrollpunkte bearbeiten",,
|
||||
"End date","Enddatum",,
|
||||
"File",,,
|
||||
"Finish","Ende",,
|
||||
"Finished","Fertiggestellt",,
|
||||
"From Date","Von-Datum",,
|
||||
"Full name","Vollständiger Name",,
|
||||
"High","Hoch",,
|
||||
"In progress","In Bearbeitung",,
|
||||
"Inspector signature",,,
|
||||
"Label","Etikett",,
|
||||
"Low","Niedrig",,
|
||||
"Measuring Type",,,
|
||||
"Measuring point list",,,
|
||||
"Measuring points",,,
|
||||
"My alerts","Meine Benachrichtigungen",,
|
||||
"My quality controls","Meine Qualitätskontrollen",,
|
||||
"My team alerts","Warnungen meines Teams",,
|
||||
"My team quality controls","Qualitätskontrollen meines Teams",,
|
||||
"Name","Name",,
|
||||
"New","Neu",,
|
||||
"Normal","Normal",,
|
||||
"Note",,,
|
||||
"Notes","Notizen",,
|
||||
"Number of quality alerts","Anzahl der Qualitätsalarme",,
|
||||
"Number of quality controls","Anzahl der Qualitätskontrollen",,
|
||||
"Number of solved quality alerts","Anzahl der gelösten Qualitätsalarme",,
|
||||
"Observations",,,
|
||||
"On hold",,,
|
||||
"Optional control point list",,,
|
||||
"Optional control points",,,
|
||||
"Optional quality control",,,
|
||||
"Optional quality process",,,
|
||||
"Pause","Pause",,
|
||||
"Pictures",,,
|
||||
"Plan","Planen",,
|
||||
"Planned","Geplant",,
|
||||
"Please complete all control points",,,
|
||||
"Please fill printing settings on quality control",,,
|
||||
"Pre-fill control points","Vorfüllkontrollpunkte",,
|
||||
"Preventive actions","Vorbeugende Maßnahmen",,
|
||||
"Print",,,
|
||||
"Printing settings",,,
|
||||
"Priority","Priorität",,
|
||||
"Product","Produkt",,
|
||||
"Project",,,
|
||||
"Propose action","Maßnahmen vorschlagen",,
|
||||
"Quality","Qualität",,
|
||||
"Quality Dashboard","Qualitäts-Dashboard",,
|
||||
"Quality alert","Qualitätsalarm",,
|
||||
"Quality alert filters","Qualitätsalarmfilter",,
|
||||
"Quality alerts","Qualitätswarnungen",,
|
||||
"Quality control","Qualitätskontrolle",,
|
||||
"Quality control calendar","Qualitätskontrollkalender",,
|
||||
"Quality control filters","Qualitätskontrollfilter",,
|
||||
"Quality controls","Qualitätskontrollen",,
|
||||
"Quality process","Qualitätsprozess",,
|
||||
"Quality processes","Qualitätsprozesse",,
|
||||
"Quality tag","Qualitätsetikett",,
|
||||
"Quality teams","Qualitätsteams",,
|
||||
"QualityControl",,,
|
||||
"QualityControl.coefficient",,,
|
||||
"QualityControl.correctiveActions",,,
|
||||
"QualityControl.customerSignature",,,
|
||||
"QualityControl.endDate",,,
|
||||
"QualityControl.finalNote",,,
|
||||
"QualityControl.inspectorSignature",,,
|
||||
"QualityControl.measuringNote",,,
|
||||
"QualityControl.observation",,,
|
||||
"QualityControl.project",,,
|
||||
"QualityControl.projectClient",,,
|
||||
"QualityControl.qualityControlTitle",,,
|
||||
"QualityControl.reference",,,
|
||||
"QualityControl.responsible",,,
|
||||
"QualityControl.total",,,
|
||||
"Reference","Referenz",,
|
||||
"Reportings","Berichte",,
|
||||
"Result","Ergebnis",,
|
||||
"Root cause","Grundursache",,
|
||||
"Root causes","Grundursachen",,
|
||||
"Sequence","Sequenz",,
|
||||
"Solve","Lösen",,
|
||||
"Solved","Gelöst",,
|
||||
"Standby","Standby",,
|
||||
"Start","Start",,
|
||||
"Start date","Startdatum",,
|
||||
"Status","Status",,
|
||||
"Status select","Statusauswahl",,
|
||||
"Tags","Tags",,
|
||||
"Team","Team",,
|
||||
"To Date","Bis heute",,
|
||||
"Tools",,,
|
||||
"Type",,,
|
||||
"Urgent","Dringend",,
|
||||
"Week(s)","Woche(n)",,
|
||||
"Work center","Arbeitsplatz",,
|
||||
"counter","Zähler",,
|
||||
"quality.responsible","Verantwortlich",,
|
||||
"value:Quality","Wert:Qualität",,
|
||||
|
@ -0,0 +1,145 @@
|
||||
"key","message","comment","context"
|
||||
"0",,,
|
||||
"1",,,
|
||||
"2",,,
|
||||
"3",,,
|
||||
"4",,,
|
||||
"5",,,
|
||||
"Action proposed",,,
|
||||
"Actions",,,
|
||||
"Add optional control points",,,
|
||||
"Alert calendar",,,
|
||||
"App quality",,,
|
||||
"Applicable",,,
|
||||
"Automatic mail by completing quality control",,,
|
||||
"Calendar",,,
|
||||
"Cancel",,,
|
||||
"Canceled",,,
|
||||
"Choose quality process",,,
|
||||
"Close",,,
|
||||
"Code",,,
|
||||
"Coefficient",,,
|
||||
"Compliant",,,
|
||||
"Configuration",,,
|
||||
"Confirm",,,
|
||||
"Confirmed",,,
|
||||
"Conformity",,,
|
||||
"Control Frequency",,,
|
||||
"Control Points",,,
|
||||
"Control comment",,,
|
||||
"Control point",,,
|
||||
"Control point list",,,
|
||||
"Control point model list",,,
|
||||
"Control point name",,,
|
||||
"Control point type",,,
|
||||
"Control points",,,
|
||||
"Corrective actions",,,
|
||||
"Corrective actions list",,,
|
||||
"Customer signature",,,
|
||||
"Date",,,
|
||||
"Deadline",,,
|
||||
"Description",,,
|
||||
"Details",,,
|
||||
"Done",,,
|
||||
"Draft",,,
|
||||
"Edit control points",,,
|
||||
"End date",,,
|
||||
"File",,,
|
||||
"Finish",,,
|
||||
"Finished",,,
|
||||
"From Date",,,
|
||||
"Full name",,,
|
||||
"High",,,
|
||||
"In progress",,,
|
||||
"Inspector signature",,,
|
||||
"Label",,,
|
||||
"Low",,,
|
||||
"Measuring Type",,,
|
||||
"Measuring point list",,,
|
||||
"Measuring points",,,
|
||||
"Model for quality control",,,
|
||||
"My alerts",,,
|
||||
"My quality controls",,,
|
||||
"My team alerts",,,
|
||||
"My team quality controls",,,
|
||||
"Name",,,
|
||||
"New",,,
|
||||
"Normal",,,
|
||||
"Note",,,
|
||||
"Notes",,,
|
||||
"Number of quality alerts",,,
|
||||
"Number of quality controls",,,
|
||||
"Number of solved quality alerts",,,
|
||||
"Observations",,,
|
||||
"On hold",,,
|
||||
"Optional control point list",,,
|
||||
"Optional control points",,,
|
||||
"Optional quality control",,,
|
||||
"Optional quality process",,,
|
||||
"Pause",,,
|
||||
"Pictures",,,
|
||||
"Plan",,,
|
||||
"Planned",,,
|
||||
"Please complete all control points",,,
|
||||
"Please fill printing settings on quality control",,,
|
||||
"Pre-fill control points",,,
|
||||
"Preventive actions",,,
|
||||
"Print",,,
|
||||
"Printing settings",,,
|
||||
"Priority",,,
|
||||
"Product",,,
|
||||
"Project",,,
|
||||
"Propose action",,,
|
||||
"Quality",,,
|
||||
"Quality Dashboard",,,
|
||||
"Quality alert",,,
|
||||
"Quality alert filters",,,
|
||||
"Quality alerts",,,
|
||||
"Quality control",,,
|
||||
"Quality control calendar",,,
|
||||
"Quality control filters",,,
|
||||
"Quality controls",,,
|
||||
"Quality process",,,
|
||||
"Quality processes",,,
|
||||
"Quality tag",,,
|
||||
"Quality teams",,,
|
||||
"QualityControl",,,
|
||||
"QualityControl.coefficient","Coefficient",,
|
||||
"QualityControl.correctiveActions","CORRECTIVE ACTIONS",,
|
||||
"QualityControl.customerSignature","CUSTOMER",,
|
||||
"QualityControl.endDate","DATE",,
|
||||
"QualityControl.finalNote","Final note",,
|
||||
"QualityControl.inspectorSignature","INSPECTOR",,
|
||||
"QualityControl.measuringNote","Note",,
|
||||
"QualityControl.observation","Observation",,
|
||||
"QualityControl.project","PROJECT",,
|
||||
"QualityControl.projectClient","CUSTOMER",,
|
||||
"QualityControl.qualityControlTitle","QUALITY CONTROL",,
|
||||
"QualityControl.reference","Reference",,
|
||||
"QualityControl.responsible","RESPONSIBLE",,
|
||||
"QualityControl.total","Total",,
|
||||
"Reference",,,
|
||||
"Reportings",,,
|
||||
"Result",,,
|
||||
"Root cause",,,
|
||||
"Root causes",,,
|
||||
"Send email",,,
|
||||
"Sequence",,,
|
||||
"Solve",,,
|
||||
"Solved",,,
|
||||
"Standby",,,
|
||||
"Start",,,
|
||||
"Start date",,,
|
||||
"Status",,,
|
||||
"Status select",,,
|
||||
"Tags",,,
|
||||
"Team",,,
|
||||
"To Date",,,
|
||||
"Tools",,,
|
||||
"Type",,,
|
||||
"Urgent",,,
|
||||
"Week(s)",,,
|
||||
"Work center",,,
|
||||
"counter",,,
|
||||
"quality.responsible","Responsible",,
|
||||
"value:Quality",,,
|
||||
|
@ -0,0 +1,141 @@
|
||||
"key","message","comment","context"
|
||||
"0",,,
|
||||
"1",,,
|
||||
"2",,,
|
||||
"3",,,
|
||||
"4",,,
|
||||
"5",,,
|
||||
"Action proposed","Acción propuesta",,
|
||||
"Actions","Acciones",,
|
||||
"Add optional control points",,,
|
||||
"Alert calendar","Calendario de alertas",,
|
||||
"Applicable",,,
|
||||
"Calendar","Calendario",,
|
||||
"Cancel","Cancelar",,
|
||||
"Canceled","Cancelado",,
|
||||
"Choose quality process",,,
|
||||
"Close",,,
|
||||
"Code","Código",,
|
||||
"Coefficient",,,
|
||||
"Compliant",,,
|
||||
"Configuration","Configuración",,
|
||||
"Confirm","Confirmar",,
|
||||
"Confirmed","Confirmado",,
|
||||
"Conformity",,,
|
||||
"Control Frequency","Frecuencia de control",,
|
||||
"Control Points","Puntos de control",,
|
||||
"Control comment",,,
|
||||
"Control point",,,
|
||||
"Control point list","Lista de puntos de control",,
|
||||
"Control point model list","Lista de modelos de puntos de control",,
|
||||
"Control point name","Nombre del punto de control",,
|
||||
"Control point type",,,
|
||||
"Control points","Puntos de control",,
|
||||
"Corrective actions","Acciones correctivas",,
|
||||
"Corrective actions list",,,
|
||||
"Customer signature",,,
|
||||
"Date","Fecha",,
|
||||
"Deadline","Fecha límite",,
|
||||
"Description","Descripción",,
|
||||
"Details",,,
|
||||
"Done",,,
|
||||
"Draft","Proyecto de",,
|
||||
"Edit control points","Editar puntos de control",,
|
||||
"End date","Fecha de finalización",,
|
||||
"File",,,
|
||||
"Finish","Acabado",,
|
||||
"Finished","Acabado",,
|
||||
"From Date","Desde la fecha",,
|
||||
"Full name","Nombre completo",,
|
||||
"High","Alto",,
|
||||
"In progress","En curso",,
|
||||
"Inspector signature",,,
|
||||
"Label","Etiqueta",,
|
||||
"Low","Baja",,
|
||||
"Measuring Type",,,
|
||||
"Measuring point list",,,
|
||||
"Measuring points",,,
|
||||
"My alerts","Mis alertas",,
|
||||
"My quality controls","Mis controles de calidad",,
|
||||
"My team alerts","Mis alertas de equipo",,
|
||||
"My team quality controls","Los controles de calidad de mi equipo",,
|
||||
"Name","Nombre",,
|
||||
"New","Nuevo",,
|
||||
"Normal","Normal",,
|
||||
"Note",,,
|
||||
"Notes","Notas",,
|
||||
"Number of quality alerts","Número de alertas de calidad",,
|
||||
"Number of quality controls","Número de controles de calidad",,
|
||||
"Number of solved quality alerts","Número de alertas de calidad resueltas",,
|
||||
"Observations",,,
|
||||
"On hold",,,
|
||||
"Optional control point list",,,
|
||||
"Optional control points",,,
|
||||
"Optional quality control",,,
|
||||
"Optional quality process",,,
|
||||
"Pause","Pausa",,
|
||||
"Pictures",,,
|
||||
"Plan","Planificar",,
|
||||
"Planned","Planeado",,
|
||||
"Please complete all control points",,,
|
||||
"Please fill printing settings on quality control",,,
|
||||
"Pre-fill control points","Puntos de control de prellenado",,
|
||||
"Preventive actions","Acciones preventivas",,
|
||||
"Print",,,
|
||||
"Printing settings",,,
|
||||
"Priority","Prioridad",,
|
||||
"Product","Producto",,
|
||||
"Project",,,
|
||||
"Propose action","Proponer una acción",,
|
||||
"Quality","Calidad",,
|
||||
"Quality Dashboard","Tablero de control de calidad",,
|
||||
"Quality alert","Alerta de calidad",,
|
||||
"Quality alert filters","Filtros de alerta de calidad",,
|
||||
"Quality alerts","Alertas de calidad",,
|
||||
"Quality control","Control de calidad",,
|
||||
"Quality control calendar","Calendario de control de calidad",,
|
||||
"Quality control filters","Filtros de control de calidad",,
|
||||
"Quality controls","Controles de calidad",,
|
||||
"Quality process","Proceso de calidad",,
|
||||
"Quality processes","Procesos de calidad",,
|
||||
"Quality tag","Etiqueta de calidad",,
|
||||
"Quality teams","Equipos de calidad",,
|
||||
"QualityControl",,,
|
||||
"QualityControl.coefficient",,,
|
||||
"QualityControl.correctiveActions",,,
|
||||
"QualityControl.customerSignature",,,
|
||||
"QualityControl.endDate",,,
|
||||
"QualityControl.finalNote",,,
|
||||
"QualityControl.inspectorSignature",,,
|
||||
"QualityControl.measuringNote",,,
|
||||
"QualityControl.observation",,,
|
||||
"QualityControl.project",,,
|
||||
"QualityControl.projectClient",,,
|
||||
"QualityControl.qualityControlTitle",,,
|
||||
"QualityControl.reference",,,
|
||||
"QualityControl.responsible",,,
|
||||
"QualityControl.total",,,
|
||||
"Reference","Referencia",,
|
||||
"Reportings","Reportajes",,
|
||||
"Result","Resultado",,
|
||||
"Root cause","Causa principal",,
|
||||
"Root causes","Causas fundamentales",,
|
||||
"Sequence","Secuencia",,
|
||||
"Solve","Resolver",,
|
||||
"Solved","Resuelto",,
|
||||
"Standby","En espera",,
|
||||
"Start","Inicio",,
|
||||
"Start date","Fecha de inicio",,
|
||||
"Status","Estado",,
|
||||
"Status select","Selección de estado",,
|
||||
"Tags","Etiquetas",,
|
||||
"Team","Equipo",,
|
||||
"To Date","Hasta la fecha",,
|
||||
"Tools",,,
|
||||
"Type",,,
|
||||
"Urgent","Urgente",,
|
||||
"Week(s)","Semana(s)",,
|
||||
"Work center","Puesto de trabajo",,
|
||||
"counter","oponerse a",,
|
||||
"quality.responsible","Responsable",,
|
||||
"value:Quality","valor:Calidad",,
|
||||
|
@ -0,0 +1,145 @@
|
||||
"key","message","comment","context"
|
||||
"0",,,
|
||||
"1",,,
|
||||
"2",,,
|
||||
"3",,,
|
||||
"4",,,
|
||||
"5",,,
|
||||
"Action proposed","Action proposée",,
|
||||
"Actions",,,
|
||||
"Add optional control points","Ajouter points de contrôle optionnel",,
|
||||
"Alert calendar","Calendrier des alertes",,
|
||||
"App quality",,,
|
||||
"Applicable",,,
|
||||
"Automatic mail by completing quality control","Envoie automatique du mail en terminant les contrôles qualité",,
|
||||
"Calendar","Calendrier",,
|
||||
"Cancel","Annuler",,
|
||||
"Canceled","Annulé",,
|
||||
"Choose quality process","Choisir un processus de qualité",,
|
||||
"Close",,,
|
||||
"Code",,,
|
||||
"Coefficient","Coefficient",,
|
||||
"Compliant","Conforme",,
|
||||
"Configuration",,,
|
||||
"Confirm","Confirmer",,
|
||||
"Confirmed","Confirmé",,
|
||||
"Conformity","Conformité",,
|
||||
"Control Frequency","Fréquence de contrôle",,
|
||||
"Control Points","Points de contrôle",,
|
||||
"Control comment","Commentaire du contrôle",,
|
||||
"Control point",,,
|
||||
"Control point list","Liste des points de contrôle",,
|
||||
"Control point model list","Liste des modèles de points de contrôle",,
|
||||
"Control point name","Précision sur le lieu",,
|
||||
"Control point type","Type de point contrôle",,
|
||||
"Control points","Points de contrôle",,
|
||||
"Corrective actions","Actions correctives",,
|
||||
"Corrective actions list","Liste des actions correctives",,
|
||||
"Customer signature","Signature du client",,
|
||||
"Date",,,
|
||||
"Deadline","Date limite",,
|
||||
"Description","Description",,
|
||||
"Details","Précisions",,
|
||||
"Done","Fait",,
|
||||
"Draft","Brouillon",,
|
||||
"Edit control points","Editer les points de contrôle",,
|
||||
"End date","Date de fin",,
|
||||
"File","Fichier",,
|
||||
"Finish","Terminer",,
|
||||
"Finished","Terminé",,
|
||||
"From Date","Date de début",,
|
||||
"Full name","Nom complet",,
|
||||
"High","Elevé",,
|
||||
"In progress","En cours",,
|
||||
"Inspector signature","Signature de l'inspecteur",,
|
||||
"Label","Libellé",,
|
||||
"Low","Faible",,
|
||||
"Measuring Type","Type de mesure",,
|
||||
"Measuring point list","Liste des points de mesure",,
|
||||
"Measuring points",,,
|
||||
"Model for quality control","Modèle pour contrôles qualité",,
|
||||
"My alerts","Mes alertes",,
|
||||
"My quality controls","Mes contrôles qualité",,
|
||||
"My team alerts","Mes alertes d'équipe",,
|
||||
"My team quality controls","Mes contrôles qualité d'équipe",,
|
||||
"Name","Nom",,
|
||||
"New","Nouveau",,
|
||||
"Normal","Normal",,
|
||||
"Note","Note",,
|
||||
"Notes","Notes",,
|
||||
"Number of quality alerts","Nombres d'alertes qualité",,
|
||||
"Number of quality controls","Nombres de contrôles qualité",,
|
||||
"Number of solved quality alerts","Nombres d'alertes qualité résolue",,
|
||||
"Observations","Observations",,
|
||||
"On hold","En attente",,
|
||||
"Optional control point list","Liste des points de contrôle facultatifs",,
|
||||
"Optional control points",,,
|
||||
"Optional quality control",,,
|
||||
"Optional quality process",,,
|
||||
"Pause","Pause",,
|
||||
"Pictures",,,
|
||||
"Plan","Planifier",,
|
||||
"Planned","Planifié",,
|
||||
"Please complete all control points","Merci de terminer tous les points de contrôle",,
|
||||
"Please fill printing settings on quality control",,,
|
||||
"Pre-fill control points","Pré-remplir les points de contrôle",,
|
||||
"Preventive actions","Actions préventives",,
|
||||
"Print",,,
|
||||
"Printing settings",,,
|
||||
"Priority","Priorité",,
|
||||
"Product","Produit",,
|
||||
"Project","Projet",,
|
||||
"Propose action","Proposer une action",,
|
||||
"Quality","Qualité",,
|
||||
"Quality Dashboard","Rapport qualité",,
|
||||
"Quality alert","Alertes qualité",,
|
||||
"Quality alert filters","Filtres d'alertes qualité",,
|
||||
"Quality alerts","Alertes qualité",,
|
||||
"Quality control","Contrôle qualité",,
|
||||
"Quality control calendar","Calendrier des contrôles qualité",,
|
||||
"Quality control filters","Filtres des contrôles qualité",,
|
||||
"Quality controls","Contrôles qualité",,
|
||||
"Quality process","Processus qualité",,
|
||||
"Quality processes","Processus qualité",,
|
||||
"Quality tag","Marque de qualité",,
|
||||
"Quality teams","Équipes qualité",,
|
||||
"QualityControl",,,
|
||||
"QualityControl.coefficient","Coefficient",,
|
||||
"QualityControl.correctiveActions","ACTIONS CORRECTIVES",,
|
||||
"QualityControl.customerSignature","CLIENT",,
|
||||
"QualityControl.endDate","DATE",,
|
||||
"QualityControl.finalNote","Note finale",,
|
||||
"QualityControl.inspectorSignature","L'INSPECTEUR",,
|
||||
"QualityControl.measuringNote","Note",,
|
||||
"QualityControl.observation","Observation",,
|
||||
"QualityControl.project","CHANTIER",,
|
||||
"QualityControl.projectClient","CLIENT",,
|
||||
"QualityControl.qualityControlTitle","CONTRÔLE QUALITÉ",,
|
||||
"QualityControl.reference","Numéro du contrôle",,
|
||||
"QualityControl.responsible","CONTROLEUR",,
|
||||
"QualityControl.total","Total",,
|
||||
"Reference","Référence",,
|
||||
"Reportings","Rapports",,
|
||||
"Result","Resultat",,
|
||||
"Root cause","Origine du problème",,
|
||||
"Root causes","Origines des problèmes",,
|
||||
"Send email",,,
|
||||
"Sequence","Séquence",,
|
||||
"Solve","Résoudre",,
|
||||
"Solved","Résolu",,
|
||||
"Standby","En pause",,
|
||||
"Start","Démarrer",,
|
||||
"Start date","Date de début",,
|
||||
"Status",,,
|
||||
"Status select",,,
|
||||
"Tags","Etiquettes",,
|
||||
"Team","Equipe",,
|
||||
"To Date","Date de fin",,
|
||||
"Tools",,,
|
||||
"Type","Type",,
|
||||
"Urgent","Urgent",,
|
||||
"Week(s)","Semaine(s)",,
|
||||
"Work center","Poste de charge",,
|
||||
"counter","Compteur",,
|
||||
"quality.responsible","Responsable",,
|
||||
"value:Quality","Qualité",,
|
||||
|
@ -0,0 +1,141 @@
|
||||
"key","message","comment","context"
|
||||
"0",,,
|
||||
"1",,,
|
||||
"2",,,
|
||||
"3",,,
|
||||
"4",,,
|
||||
"5",,,
|
||||
"Action proposed","Azione proposta",,
|
||||
"Actions","Azioni",,
|
||||
"Add optional control points",,,
|
||||
"Alert calendar","Calendario degli avvisi",,
|
||||
"Applicable",,,
|
||||
"Calendar","Calendario",,
|
||||
"Cancel","Annulla",,
|
||||
"Canceled","Annullato",,
|
||||
"Choose quality process",,,
|
||||
"Close",,,
|
||||
"Code","Codice",,
|
||||
"Coefficient",,,
|
||||
"Compliant",,,
|
||||
"Configuration","Configurazione",,
|
||||
"Confirm","Conferma",,
|
||||
"Confirmed","Confermato",,
|
||||
"Conformity",,,
|
||||
"Control Frequency","Frequenza di controllo",,
|
||||
"Control Points","Punti di controllo",,
|
||||
"Control comment",,,
|
||||
"Control point",,,
|
||||
"Control point list","Elenco dei punti di controllo",,
|
||||
"Control point model list","Elenco dei modelli di punti di controllo",,
|
||||
"Control point name","Nome del punto di controllo",,
|
||||
"Control point type",,,
|
||||
"Control points","Punti di controllo",,
|
||||
"Corrective actions","Azioni correttive",,
|
||||
"Corrective actions list",,,
|
||||
"Customer signature",,,
|
||||
"Date","Data",,
|
||||
"Deadline","Scadenza",,
|
||||
"Description","Descrizione",,
|
||||
"Details",,,
|
||||
"Done",,,
|
||||
"Draft","Bozza",,
|
||||
"Edit control points","Modificare i punti di controllo",,
|
||||
"End date","Data di fine",,
|
||||
"File",,,
|
||||
"Finish","Finitura",,
|
||||
"Finished","Finito",,
|
||||
"From Date","Da Data",,
|
||||
"Full name","Nome e cognome",,
|
||||
"High","Alto",,
|
||||
"In progress","In corso",,
|
||||
"Inspector signature",,,
|
||||
"Label","Etichetta",,
|
||||
"Low","Basso",,
|
||||
"Measuring Type",,,
|
||||
"Measuring point list",,,
|
||||
"Measuring points",,,
|
||||
"My alerts","I miei avvisi",,
|
||||
"My quality controls","I miei controlli di qualità",,
|
||||
"My team alerts","Il mio team avvisa",,
|
||||
"My team quality controls","I controlli di qualità del mio team",,
|
||||
"Name","Nome",,
|
||||
"New","Nuovo",,
|
||||
"Normal","Normale",,
|
||||
"Note",,,
|
||||
"Notes","Note",,
|
||||
"Number of quality alerts","Numero di segnalazioni di qualità",,
|
||||
"Number of quality controls","Numero di controlli di qualità",,
|
||||
"Number of solved quality alerts","Numero di allarmi di qualità risolti",,
|
||||
"Observations",,,
|
||||
"On hold",,,
|
||||
"Optional control point list",,,
|
||||
"Optional control points",,,
|
||||
"Optional quality control",,,
|
||||
"Optional quality process",,,
|
||||
"Pause","Pausa",,
|
||||
"Pictures",,,
|
||||
"Plan","Piano",,
|
||||
"Planned","Pianificato",,
|
||||
"Please complete all control points",,,
|
||||
"Please fill printing settings on quality control",,,
|
||||
"Pre-fill control points","Punti di controllo pre-riempimento",,
|
||||
"Preventive actions","Azioni preventive",,
|
||||
"Print",,,
|
||||
"Printing settings",,,
|
||||
"Priority","Priorità",,
|
||||
"Product","Prodotto",,
|
||||
"Project",,,
|
||||
"Propose action","Proporre un'azione",,
|
||||
"Quality","Qualità",,
|
||||
"Quality Dashboard","Cruscotto di qualità",,
|
||||
"Quality alert","Allarme qualità",,
|
||||
"Quality alert filters","Filtri di allarme qualità",,
|
||||
"Quality alerts","Avvisi di qualità",,
|
||||
"Quality control","Controllo qualità",,
|
||||
"Quality control calendar","Calendario del controllo qualità",,
|
||||
"Quality control filters","Filtri per il controllo qualità",,
|
||||
"Quality controls","Controlli di qualità",,
|
||||
"Quality process","Processo di qualità",,
|
||||
"Quality processes","Processi di qualità",,
|
||||
"Quality tag","Etichetta di qualità",,
|
||||
"Quality teams","Squadre di qualità",,
|
||||
"QualityControl",,,
|
||||
"QualityControl.coefficient",,,
|
||||
"QualityControl.correctiveActions",,,
|
||||
"QualityControl.customerSignature",,,
|
||||
"QualityControl.endDate",,,
|
||||
"QualityControl.finalNote",,,
|
||||
"QualityControl.inspectorSignature",,,
|
||||
"QualityControl.measuringNote",,,
|
||||
"QualityControl.observation",,,
|
||||
"QualityControl.project",,,
|
||||
"QualityControl.projectClient",,,
|
||||
"QualityControl.qualityControlTitle",,,
|
||||
"QualityControl.reference",,,
|
||||
"QualityControl.responsible",,,
|
||||
"QualityControl.total",,,
|
||||
"Reference","Riferimento",,
|
||||
"Reportings","Rapporti",,
|
||||
"Result","Risultato",,
|
||||
"Root cause","Causa principale",,
|
||||
"Root causes","Cause di fondo",,
|
||||
"Sequence","Sequenza",,
|
||||
"Solve","Risolvere",,
|
||||
"Solved","Risolto",,
|
||||
"Standby","Standby",,
|
||||
"Start","Inizio",,
|
||||
"Start date","Data d'inizio",,
|
||||
"Status","Stato",,
|
||||
"Status select","Selezione dello stato",,
|
||||
"Tags","Etichette",,
|
||||
"Team","Squadra",,
|
||||
"To Date","Fino ad oggi",,
|
||||
"Tools",,,
|
||||
"Type",,,
|
||||
"Urgent","Urgente",,
|
||||
"Week(s)","Settimana(i)",,
|
||||
"Work center","Centro di lavoro",,
|
||||
"counter","bancone",,
|
||||
"quality.responsible","Responsabile",,
|
||||
"value:Quality","valore:Qualità",,
|
||||
|
@ -0,0 +1,141 @@
|
||||
"key","message","comment","context"
|
||||
"0",,,
|
||||
"1",,,
|
||||
"2",,,
|
||||
"3",,,
|
||||
"4",,,
|
||||
"5",,,
|
||||
"Action proposed","Voorgestelde actie",,
|
||||
"Actions","Acties",,
|
||||
"Add optional control points",,,
|
||||
"Alert calendar","Waarschuwingskalender",,
|
||||
"Applicable",,,
|
||||
"Calendar","Kalender",,
|
||||
"Cancel","Annuleren",,
|
||||
"Canceled","Geannuleerd",,
|
||||
"Choose quality process",,,
|
||||
"Close",,,
|
||||
"Code","Code",,
|
||||
"Coefficient",,,
|
||||
"Compliant",,,
|
||||
"Configuration","Configuratie",,
|
||||
"Confirm","Bevestigen",,
|
||||
"Confirmed","Bevestigd",,
|
||||
"Conformity",,,
|
||||
"Control Frequency","Controlefrequentie",,
|
||||
"Control Points","Controlepunten",,
|
||||
"Control comment",,,
|
||||
"Control point",,,
|
||||
"Control point list","Lijst met controlepunten",,
|
||||
"Control point model list","Modellijst met controlepunten",,
|
||||
"Control point name","Naam van het controlepunt",,
|
||||
"Control point type",,,
|
||||
"Control points","Controlepunten",,
|
||||
"Corrective actions","Corrigerende maatregelen",,
|
||||
"Corrective actions list",,,
|
||||
"Customer signature",,,
|
||||
"Date","Datum",,
|
||||
"Deadline","Uiterste datum",,
|
||||
"Description","Beschrijving",,
|
||||
"Details",,,
|
||||
"Done",,,
|
||||
"Draft","Ontwerp",,
|
||||
"Edit control points","Controlepunten bewerken",,
|
||||
"End date","Einddatum",,
|
||||
"File",,,
|
||||
"Finish","Afwerking",,
|
||||
"Finished","Afgewerkt",,
|
||||
"From Date","Vanaf datum",,
|
||||
"Full name","Volledige naam",,
|
||||
"High","Hoog",,
|
||||
"In progress","In uitvoering",,
|
||||
"Inspector signature",,,
|
||||
"Label","Etiket",,
|
||||
"Low","Laag",,
|
||||
"Measuring Type",,,
|
||||
"Measuring point list",,,
|
||||
"Measuring points",,,
|
||||
"My alerts","Mijn waarschuwingen",,
|
||||
"My quality controls","Mijn kwaliteitscontroles",,
|
||||
"My team alerts","Mijn teamwaarschuwingen",,
|
||||
"My team quality controls","Mijn team kwaliteitscontroles",,
|
||||
"Name","Naam",,
|
||||
"New","Nieuw",,
|
||||
"Normal","Normaal",,
|
||||
"Note",,,
|
||||
"Notes","Opmerkingen",,
|
||||
"Number of quality alerts","Aantal kwaliteitswaarschuwingen",,
|
||||
"Number of quality controls","Aantal kwaliteitscontroles",,
|
||||
"Number of solved quality alerts","Aantal opgeloste kwaliteitswaarschuwingen",,
|
||||
"Observations",,,
|
||||
"On hold",,,
|
||||
"Optional control point list",,,
|
||||
"Optional control points",,,
|
||||
"Optional quality control",,,
|
||||
"Optional quality process",,,
|
||||
"Pause","Pauze",,
|
||||
"Pictures",,,
|
||||
"Plan","Plan",,
|
||||
"Planned","Gepland",,
|
||||
"Please complete all control points",,,
|
||||
"Please fill printing settings on quality control",,,
|
||||
"Pre-fill control points","Pre-fill controlepunten",,
|
||||
"Preventive actions","Preventieve acties",,
|
||||
"Print",,,
|
||||
"Printing settings",,,
|
||||
"Priority","Prioriteit",,
|
||||
"Product","Product",,
|
||||
"Project",,,
|
||||
"Propose action","Actie voorstellen",,
|
||||
"Quality","Kwaliteit",,
|
||||
"Quality Dashboard","Kwaliteit Dashboard",,
|
||||
"Quality alert","Kwaliteitsalarm",,
|
||||
"Quality alert filters","Kwaliteitswaarschuwingsfilters",,
|
||||
"Quality alerts","Kwaliteitswaarschuwingen",,
|
||||
"Quality control","Kwaliteitscontrole",,
|
||||
"Quality control calendar","Kalender voor kwaliteitscontrole",,
|
||||
"Quality control filters","Kwaliteitscontrole filters",,
|
||||
"Quality controls","Kwaliteitscontroles",,
|
||||
"Quality process","Kwaliteitsproces",,
|
||||
"Quality processes","Kwaliteitsprocessen",,
|
||||
"Quality tag","Kwaliteitslabel",,
|
||||
"Quality teams","Kwaliteitsteams",,
|
||||
"QualityControl",,,
|
||||
"QualityControl.coefficient",,,
|
||||
"QualityControl.correctiveActions",,,
|
||||
"QualityControl.customerSignature",,,
|
||||
"QualityControl.endDate",,,
|
||||
"QualityControl.finalNote",,,
|
||||
"QualityControl.inspectorSignature",,,
|
||||
"QualityControl.measuringNote",,,
|
||||
"QualityControl.observation",,,
|
||||
"QualityControl.project",,,
|
||||
"QualityControl.projectClient",,,
|
||||
"QualityControl.qualityControlTitle",,,
|
||||
"QualityControl.reference",,,
|
||||
"QualityControl.responsible",,,
|
||||
"QualityControl.total",,,
|
||||
"Reference","Referentie",,
|
||||
"Reportings","Meldingen",,
|
||||
"Result","Resultaat",,
|
||||
"Root cause","Oorzaak",,
|
||||
"Root causes","Oorzaken",,
|
||||
"Sequence","Volgorde",,
|
||||
"Solve","Oplossen",,
|
||||
"Solved","Opgelost",,
|
||||
"Standby","Stand-by",,
|
||||
"Start","Begin",,
|
||||
"Start date","Startdatum",,
|
||||
"Status","Status",,
|
||||
"Status select","Status selecteren",,
|
||||
"Tags","Tags",,
|
||||
"Team","Team",,
|
||||
"To Date","Tot op heden",,
|
||||
"Tools",,,
|
||||
"Type",,,
|
||||
"Urgent","Dringend",,
|
||||
"Week(s)","Week(en)",,
|
||||
"Work center","Werkcentrum",,
|
||||
"counter","toonbank",,
|
||||
"quality.responsible","Verantwoordelijk",,
|
||||
"value:Quality","waarde: Kwaliteit",,
|
||||
|
@ -0,0 +1,141 @@
|
||||
"key","message","comment","context"
|
||||
"0",,,
|
||||
"1",,,
|
||||
"2",,,
|
||||
"3",,,
|
||||
"4",,,
|
||||
"5",,,
|
||||
"Action proposed","Proponowane działania",,
|
||||
"Actions","Działania",,
|
||||
"Add optional control points",,,
|
||||
"Alert calendar","Kalendarz alarmów",,
|
||||
"Applicable",,,
|
||||
"Calendar","Kalendarz",,
|
||||
"Cancel","Anulowanie",,
|
||||
"Canceled","Anulowany",,
|
||||
"Choose quality process",,,
|
||||
"Close",,,
|
||||
"Code","Kod",,
|
||||
"Coefficient",,,
|
||||
"Compliant",,,
|
||||
"Configuration","Konfiguracja",,
|
||||
"Confirm","Potwierdź",,
|
||||
"Confirmed","Potwierdzone",,
|
||||
"Conformity",,,
|
||||
"Control Frequency","Częstotliwość sterowania",,
|
||||
"Control Points","Punkty kontrolne",,
|
||||
"Control comment","Commentaire du contrôle",,
|
||||
"Control point",,,
|
||||
"Control point list","Lista punktów kontroli",,
|
||||
"Control point model list","Wzorcowy wykaz punktów kontroli",,
|
||||
"Control point name","Nazwa punktu kontroli",,
|
||||
"Control point type",,,
|
||||
"Control points","Punkty kontrolne",,
|
||||
"Corrective actions","Działania naprawcze",,
|
||||
"Corrective actions list",,,
|
||||
"Customer signature",,,
|
||||
"Date","Data",,
|
||||
"Deadline","Ostateczny termin",,
|
||||
"Description","Opis",,
|
||||
"Details",,,
|
||||
"Done",,,
|
||||
"Draft","Wstępny projekt",,
|
||||
"Edit control points","Edycja punktów kontrolnych",,
|
||||
"End date","Data końcowa",,
|
||||
"File",,,
|
||||
"Finish","Finisz",,
|
||||
"Finished","Gotowe",,
|
||||
"From Date","Od daty",,
|
||||
"Full name","Pełne imię i nazwisko",,
|
||||
"High","Wysoki",,
|
||||
"In progress","W trakcie realizacji",,
|
||||
"Inspector signature",,,
|
||||
"Label","Etykieta",,
|
||||
"Low","Niskie",,
|
||||
"Measuring Type",,,
|
||||
"Measuring point list",,,
|
||||
"Measuring points",,,
|
||||
"My alerts","Moje ostrzeżenia",,
|
||||
"My quality controls","Moje kontrole jakości",,
|
||||
"My team alerts","Alerty mojego zespołu",,
|
||||
"My team quality controls","Kontrola jakości w moim zespole",,
|
||||
"Name","Nazwa",,
|
||||
"New","Nowy",,
|
||||
"Normal","Normalny",,
|
||||
"Note",,,
|
||||
"Notes","Uwagi",,
|
||||
"Number of quality alerts","Liczba wpisów dotyczących jakości",,
|
||||
"Number of quality controls","Liczba kontroli jakości",,
|
||||
"Number of solved quality alerts","Liczba rozwiązanych wpisów dotyczących jakości",,
|
||||
"Observations",,,
|
||||
"On hold",,,
|
||||
"Optional control point list",,,
|
||||
"Optional control points",,,
|
||||
"Optional quality control",,,
|
||||
"Optional quality process",,,
|
||||
"Pause","Pauza",,
|
||||
"Pictures",,,
|
||||
"Plan","Plan",,
|
||||
"Planned","Planowane",,
|
||||
"Please complete all control points",,,
|
||||
"Please fill printing settings on quality control",,,
|
||||
"Pre-fill control points","Punkty kontroli wstępnej napełniania",,
|
||||
"Preventive actions","Działania zapobiegawcze",,
|
||||
"Print",,,
|
||||
"Printing settings",,,
|
||||
"Priority","Priorytet",,
|
||||
"Product","Produkt",,
|
||||
"Project",,,
|
||||
"Propose action","Zaproponuj działanie",,
|
||||
"Quality","Jakość",,
|
||||
"Quality Dashboard","Jakość Deska rozdzielcza",,
|
||||
"Quality alert","Ostrzeżenie dotyczące jakości",,
|
||||
"Quality alert filters","Filtry alarmów jakościowych",,
|
||||
"Quality alerts","Alerty dotyczące jakości",,
|
||||
"Quality control","Kontrola jakości",,
|
||||
"Quality control calendar","Kalendarz kontroli jakości",,
|
||||
"Quality control filters","Filtry kontroli jakości",,
|
||||
"Quality controls","Kontrole jakości",,
|
||||
"Quality process","Procesy jakościowe",,
|
||||
"Quality processes","Procesy jakościowe",,
|
||||
"Quality tag","Znacznik jakości",,
|
||||
"Quality teams","Zespoły ds. jakości",,
|
||||
"QualityControl",,,
|
||||
"QualityControl.coefficient",,,
|
||||
"QualityControl.correctiveActions",,,
|
||||
"QualityControl.customerSignature",,,
|
||||
"QualityControl.endDate",,,
|
||||
"QualityControl.finalNote",,,
|
||||
"QualityControl.inspectorSignature",,,
|
||||
"QualityControl.measuringNote",,,
|
||||
"QualityControl.observation",,,
|
||||
"QualityControl.project",,,
|
||||
"QualityControl.projectClient",,,
|
||||
"QualityControl.qualityControlTitle",,,
|
||||
"QualityControl.reference",,,
|
||||
"QualityControl.responsible",,,
|
||||
"QualityControl.total",,,
|
||||
"Reference","Odniesienie",,
|
||||
"Reportings","Sprawozdania",,
|
||||
"Result","Wynik",,
|
||||
"Root cause","Główna przyczyna",,
|
||||
"Root causes","Przyczyny źródłowe",,
|
||||
"Sequence","Kolejność",,
|
||||
"Solve","Rozwiązywać problemy",,
|
||||
"Solved","Rozwiązane",,
|
||||
"Standby","Gotowość do pracy",,
|
||||
"Start","Start",,
|
||||
"Start date","Data początkowa",,
|
||||
"Status","Status",,
|
||||
"Status select","Wybór statusu",,
|
||||
"Tags","Tagi",,
|
||||
"Team","Zespół",,
|
||||
"To Date","Do daty",,
|
||||
"Tools",,,
|
||||
"Type",,,
|
||||
"Urgent","Pilny",,
|
||||
"Week(s)","Tydzień (tygodnie)",,
|
||||
"Work center","Centrum pracy",,
|
||||
"counter","dać replikę",,
|
||||
"quality.responsible","Odpowiedzialny",,
|
||||
"value:Quality","wartość: jakość",,
|
||||
|
@ -0,0 +1,141 @@
|
||||
"key","message","comment","context"
|
||||
"0",,,
|
||||
"1",,,
|
||||
"2",,,
|
||||
"3",,,
|
||||
"4",,,
|
||||
"5",,,
|
||||
"Action proposed","Acção proposta",,
|
||||
"Actions","Ações",,
|
||||
"Add optional control points",,,
|
||||
"Alert calendar","Calendário de alertas",,
|
||||
"Applicable",,,
|
||||
"Calendar","Calendário",,
|
||||
"Cancel","Cancelar",,
|
||||
"Canceled","Cancelado",,
|
||||
"Choose quality process",,,
|
||||
"Close",,,
|
||||
"Code","Código",,
|
||||
"Coefficient",,,
|
||||
"Compliant",,,
|
||||
"Configuration","Configuração",,
|
||||
"Confirm","Confirmar",,
|
||||
"Confirmed","Confirmado",,
|
||||
"Conformity",,,
|
||||
"Control Frequency","Freqüência de controle",,
|
||||
"Control Points","Pontos de Controle",,
|
||||
"Control comment",,,
|
||||
"Control point",,,
|
||||
"Control point list","Lista de pontos de controle",,
|
||||
"Control point model list","Lista de modelos de pontos de controle",,
|
||||
"Control point name","Nome do ponto de controle",,
|
||||
"Control point type",,,
|
||||
"Control points","Pontos de controle",,
|
||||
"Corrective actions","Ações corretivas",,
|
||||
"Corrective actions list",,,
|
||||
"Customer signature",,,
|
||||
"Date","Data",,
|
||||
"Deadline","Prazo de entrega",,
|
||||
"Description","Descrição do produto",,
|
||||
"Details",,,
|
||||
"Done",,,
|
||||
"Draft","Rascunho",,
|
||||
"Edit control points","Processar pontos de controle",,
|
||||
"End date","Data final",,
|
||||
"File",,,
|
||||
"Finish","Acabamento",,
|
||||
"Finished","Acabado",,
|
||||
"From Date","Data de início",,
|
||||
"Full name","Nome completo",,
|
||||
"High","Alto",,
|
||||
"In progress","Em curso",,
|
||||
"Inspector signature",,,
|
||||
"Label","Rótulo",,
|
||||
"Low","Baixo",,
|
||||
"Measuring Type",,,
|
||||
"Measuring point list",,,
|
||||
"Measuring points",,,
|
||||
"My alerts","Meus alertas",,
|
||||
"My quality controls","Meus controles de qualidade",,
|
||||
"My team alerts","Alertas da minha equipa",,
|
||||
"My team quality controls","Os controlos de qualidade da minha equipa",,
|
||||
"Name","Nome e Sobrenome",,
|
||||
"New","Novo",,
|
||||
"Normal","Normal",,
|
||||
"Note",,,
|
||||
"Notes","Notas",,
|
||||
"Number of quality alerts","Número de alertas de qualidade",,
|
||||
"Number of quality controls","Número de controlos de qualidade",,
|
||||
"Number of solved quality alerts","Número de alertas de qualidade resolvidos",,
|
||||
"Observations",,,
|
||||
"On hold",,,
|
||||
"Optional control point list",,,
|
||||
"Optional control points",,,
|
||||
"Optional quality control",,,
|
||||
"Optional quality process",,,
|
||||
"Pause","Pausa",,
|
||||
"Pictures",,,
|
||||
"Plan","Plano",,
|
||||
"Planned","Planejado",,
|
||||
"Please complete all control points",,,
|
||||
"Please fill printing settings on quality control",,,
|
||||
"Pre-fill control points","Pontos de controle de pré-carga",,
|
||||
"Preventive actions","Acções preventivas",,
|
||||
"Print",,,
|
||||
"Printing settings",,,
|
||||
"Priority","Prioridade",,
|
||||
"Product","Produto",,
|
||||
"Project",,,
|
||||
"Propose action","Propor acção",,
|
||||
"Quality","Qualidade",,
|
||||
"Quality Dashboard","Painel de Controle de Qualidade",,
|
||||
"Quality alert","Alerta de qualidade",,
|
||||
"Quality alert filters","Filtros de alerta de qualidade",,
|
||||
"Quality alerts","Alertas de qualidade",,
|
||||
"Quality control","Controle de qualidade",,
|
||||
"Quality control calendar","Calendário de controle de qualidade",,
|
||||
"Quality control filters","Filtros de controle de qualidade",,
|
||||
"Quality controls","Controles de qualidade",,
|
||||
"Quality process","Processo de qualidade",,
|
||||
"Quality processes","Processos de qualidade",,
|
||||
"Quality tag","Etiqueta de qualidade",,
|
||||
"Quality teams","Equipes de qualidade",,
|
||||
"QualityControl",,,
|
||||
"QualityControl.coefficient",,,
|
||||
"QualityControl.correctiveActions",,,
|
||||
"QualityControl.customerSignature",,,
|
||||
"QualityControl.endDate",,,
|
||||
"QualityControl.finalNote",,,
|
||||
"QualityControl.inspectorSignature",,,
|
||||
"QualityControl.measuringNote",,,
|
||||
"QualityControl.observation",,,
|
||||
"QualityControl.project",,,
|
||||
"QualityControl.projectClient",,,
|
||||
"QualityControl.qualityControlTitle",,,
|
||||
"QualityControl.reference",,,
|
||||
"QualityControl.responsible",,,
|
||||
"QualityControl.total",,,
|
||||
"Reference","Referência",,
|
||||
"Reportings","Relatórios",,
|
||||
"Result","Resultado",,
|
||||
"Root cause","Causa raiz",,
|
||||
"Root causes","Causas profundas",,
|
||||
"Sequence","Seqüência",,
|
||||
"Solve","Resolver",,
|
||||
"Solved","Resolvido",,
|
||||
"Standby","Espera",,
|
||||
"Start","Início",,
|
||||
"Start date","Data de início",,
|
||||
"Status","Estado",,
|
||||
"Status select","Seleção de status",,
|
||||
"Tags","Etiquetas",,
|
||||
"Team","Equipe",,
|
||||
"To Date","Até à data",,
|
||||
"Tools",,,
|
||||
"Type",,,
|
||||
"Urgent","Urgente",,
|
||||
"Week(s)","Semana(s)",,
|
||||
"Work center","Centro de trabalho",,
|
||||
"counter","contador",,
|
||||
"quality.responsible","Responsável",,
|
||||
"value:Quality","valor:Qualidade",,
|
||||
|
@ -0,0 +1,141 @@
|
||||
"key","message","comment","context"
|
||||
"0",,,
|
||||
"1",,,
|
||||
"2",,,
|
||||
"3",,,
|
||||
"4",,,
|
||||
"5",,,
|
||||
"Action proposed","Предлагаемые меры",,
|
||||
"Actions","Действия",,
|
||||
"Add optional control points",,,
|
||||
"Alert calendar","Календарь оповещений",,
|
||||
"Applicable",,,
|
||||
"Calendar","Календарь",,
|
||||
"Cancel","Отмена",,
|
||||
"Canceled","Отмена",,
|
||||
"Choose quality process",,,
|
||||
"Close",,,
|
||||
"Code","Код",,
|
||||
"Coefficient",,,
|
||||
"Compliant",,,
|
||||
"Configuration","Конфигурация",,
|
||||
"Confirm","Подтвердить",,
|
||||
"Confirmed","Подтверждённый",,
|
||||
"Conformity",,,
|
||||
"Control Frequency","Частота управления",,
|
||||
"Control Points","Контрольные точки",,
|
||||
"Control comment",,,
|
||||
"Control point",,,
|
||||
"Control point list","Список контрольных точек",,
|
||||
"Control point model list","Список моделей контрольных точек",,
|
||||
"Control point name","Имя контрольной точки",,
|
||||
"Control point type",,,
|
||||
"Control points","Контрольные точки",,
|
||||
"Corrective actions","Корректирующие действия",,
|
||||
"Corrective actions list",,,
|
||||
"Customer signature",,,
|
||||
"Date","Дата",,
|
||||
"Deadline","Крайний срок",,
|
||||
"Description","Описание",,
|
||||
"Details",,,
|
||||
"Done",,,
|
||||
"Draft","Проект",,
|
||||
"Edit control points","Редактирование контрольных точек",,
|
||||
"End date","Дата окончания",,
|
||||
"File",,,
|
||||
"Finish","Готово",,
|
||||
"Finished","Готово",,
|
||||
"From Date","С даты",,
|
||||
"Full name","Полное имя",,
|
||||
"High","Высоко",,
|
||||
"In progress","В процессе выполнения",,
|
||||
"Inspector signature",,,
|
||||
"Label","Этикетка",,
|
||||
"Low","Низкий",,
|
||||
"Measuring Type",,,
|
||||
"Measuring point list",,,
|
||||
"Measuring points",,,
|
||||
"My alerts","Мои предупреждения",,
|
||||
"My quality controls","Мой контроль качества",,
|
||||
"My team alerts","Моя команда предупреждает",,
|
||||
"My team quality controls","Контроль качества моей команды",,
|
||||
"Name","Имя",,
|
||||
"New","Новый",,
|
||||
"Normal","Нормальный",,
|
||||
"Note",,,
|
||||
"Notes","Примечания",,
|
||||
"Number of quality alerts","Количество предупреждений о качестве",,
|
||||
"Number of quality controls","Число мероприятий по контролю качества",,
|
||||
"Number of solved quality alerts","Количество разрешенных проблем с качеством оповещений",,
|
||||
"Observations",,,
|
||||
"On hold",,,
|
||||
"Optional control point list",,,
|
||||
"Optional control points",,,
|
||||
"Optional quality control",,,
|
||||
"Optional quality process",,,
|
||||
"Pause","Пауза",,
|
||||
"Pictures",,,
|
||||
"Plan","План",,
|
||||
"Planned","Запланированный",,
|
||||
"Please complete all control points",,,
|
||||
"Please fill printing settings on quality control",,,
|
||||
"Pre-fill control points","Точки контроля предварительной заправки",,
|
||||
"Preventive actions","Профилактические мероприятия",,
|
||||
"Print",,,
|
||||
"Printing settings",,,
|
||||
"Priority","Приоритет",,
|
||||
"Product","Продукт",,
|
||||
"Project",,,
|
||||
"Propose action","Предложить меры",,
|
||||
"Quality","Качество",,
|
||||
"Quality Dashboard","Панель управления качеством",,
|
||||
"Quality alert","Качество оповещения",,
|
||||
"Quality alert filters","Фильтры предупреждений о качестве",,
|
||||
"Quality alerts","Оповещения о качестве",,
|
||||
"Quality control","Контроль качества",,
|
||||
"Quality control calendar","Календарь контроля качества",,
|
||||
"Quality control filters","Фильтры контроля качества",,
|
||||
"Quality controls","Контроль качества",,
|
||||
"Quality process","Процесс обеспечения качества",,
|
||||
"Quality processes","Качественные процессы",,
|
||||
"Quality tag","Метка качества",,
|
||||
"Quality teams","Группы контроля качества",,
|
||||
"QualityControl",,,
|
||||
"QualityControl.coefficient",,,
|
||||
"QualityControl.correctiveActions",,,
|
||||
"QualityControl.customerSignature",,,
|
||||
"QualityControl.endDate",,,
|
||||
"QualityControl.finalNote",,,
|
||||
"QualityControl.inspectorSignature",,,
|
||||
"QualityControl.measuringNote",,,
|
||||
"QualityControl.observation",,,
|
||||
"QualityControl.project",,,
|
||||
"QualityControl.projectClient",,,
|
||||
"QualityControl.qualityControlTitle",,,
|
||||
"QualityControl.reference",,,
|
||||
"QualityControl.responsible",,,
|
||||
"QualityControl.total",,,
|
||||
"Reference","Ссылка",,
|
||||
"Reportings","Отчеты",,
|
||||
"Result","Результат",,
|
||||
"Root cause","коренная причина",,
|
||||
"Root causes","коренные причины",,
|
||||
"Sequence","Последовательность",,
|
||||
"Solve","Решить",,
|
||||
"Solved","Разрешённый",,
|
||||
"Standby","Готовность",,
|
||||
"Start","Начать",,
|
||||
"Start date","Дата начала",,
|
||||
"Status","Статус",,
|
||||
"Status select","Выбор статуса",,
|
||||
"Tags","Теги",,
|
||||
"Team","Команда",,
|
||||
"To Date","На свидание",,
|
||||
"Tools",,,
|
||||
"Type",,,
|
||||
"Urgent","Срочно",,
|
||||
"Week(s)","Неделя(ы)",,
|
||||
"Work center","Рабочий центр",,
|
||||
"counter","стойка",,
|
||||
"quality.responsible","Ответственный",,
|
||||
"value:Quality","ценность:Качество",,
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
|
||||
|
||||
<input file="quality_role.csv" separator=";" type="com.axelor.auth.db.Role" search="self.name = :name"/>
|
||||
|
||||
<input file="quality_permission.csv" separator=";" type="com.axelor.auth.db.Permission" search="self.name = :name" call="com.axelor.csv.script.ImportPermission:importPermissionToRole">
|
||||
<bind to="canRead" eval="can_read == 'x' ? 'true' : 'false'"/>
|
||||
<bind to="canWrite" eval="can_write == 'x' ? 'true' : 'false'"/>
|
||||
<bind to="canCreate" eval="can_create == 'x' ? 'true' : 'false'"/>
|
||||
<bind to="canRemove" eval="can_remove == 'x' ? 'true' : 'false'"/>
|
||||
<bind to="canExport" eval="can_export == 'x' ? 'true' : 'false'"/>
|
||||
</input>
|
||||
|
||||
<input file="quality_metaMenu.csv" separator=";" type="com.axelor.meta.db.MetaMenu" search="self.name = :name" update="true">
|
||||
<bind column="roles" to="roles" search="self.name in :roles" eval="roles.split('\\|') as List"/>
|
||||
</input>
|
||||
|
||||
</csv-inputs>
|
||||
@ -0,0 +1,16 @@
|
||||
"name";"roles"
|
||||
"menu-quality-root";"Quality Manager|Quality User|Quality Read"
|
||||
"quality-controls-root";"Quality Manager|Quality User|Quality Read"
|
||||
"quality-processes";"Quality Manager|Quality User|Quality Read"
|
||||
"quality-controls";"Quality Manager|Quality User|Quality Read"
|
||||
"quality-control-points";"Quality Manager|Quality User|Quality Read"
|
||||
"quality-alerts";"Quality Manager|Quality User|Quality Read"
|
||||
"quality-calendar";"Quality Manager|Quality User|Quality Read"
|
||||
"quality-alert-calendar";"Quality Manager|Quality User|Quality Read"
|
||||
"quality-control-calendar";"Quality Manager|Quality User|Quality Read"
|
||||
"quality-reportings";"Quality Manager|Quality User|Quality Read"
|
||||
"quality-reportings-dashboard";"Quality Manager|Quality User|Quality Read"
|
||||
"quality-configurations";"Quality Manager"
|
||||
"quality-teams";"Quality Manager"
|
||||
"quality-root-causes";"Quality Manager"
|
||||
"quality-tags";"Quality Manager"
|
||||
|
@ -0,0 +1,22 @@
|
||||
"name";"object";"can_read";"can_write";"can_create";"can_remove";"can_export";"condition";"conditionParams";"roleName"
|
||||
"perm.quality.ControlPoint.r";"com.axelor.apps.quality.db.ControlPoint";"x";;;;;;;"Quality Read"
|
||||
"perm.quality.QualityAlert.r";"com.axelor.apps.quality.db.QualityAlert";"x";;;;;;;"Quality Read"
|
||||
"perm.quality.QualityControl.r";"com.axelor.apps.quality.db.QualityControl";"x";;;;;;;"Quality Read"
|
||||
"perm.quality.QualityTag.r";"com.axelor.apps.quality.db.QualityTag";"x";;;;;;;"Quality Read"
|
||||
"perm.quality.ControlPointModel.r";"com.axelor.apps.quality.db.ControlPointModel";"x";;;;;;;"Quality Read"
|
||||
"perm.quality.RootCause.r";"com.axelor.apps.quality.db.RootCause";"x";;;;;;;"Quality Read"
|
||||
"perm.quality.QualityProcess.r";"com.axelor.apps.quality.db.QualityProcess";"x";;;;;;;"Quality Read"
|
||||
"perm.quality.ControlPoint.rwc";"com.axelor.apps.quality.db.ControlPoint";"x";"x";"x";;;;;"Quality User"
|
||||
"perm.quality.QualityAlert.rwc";"com.axelor.apps.quality.db.QualityAlert";"x";"x";"x";;;;;"Quality User"
|
||||
"perm.quality.QualityControl.rwc";"com.axelor.apps.quality.db.QualityControl";"x";"x";"x";;;;;"Quality User"
|
||||
"perm.quality.QualityTag.rwc";"com.axelor.apps.quality.db.QualityTag";"x";"x";"x";;;;;"Quality User"
|
||||
"perm.quality.ControlPointModel.rwc";"com.axelor.apps.quality.db.ControlPointModel";"x";"x";"x";;;;;"Quality User"
|
||||
"perm.quality.RootCause.rwc";"com.axelor.apps.quality.db.RootCause";"x";"x";"x";;;;;"Quality User"
|
||||
"perm.quality.QualityProcess.rwc";"com.axelor.apps.quality.db.QualityProcess";"x";"x";"x";;;;;"Quality User"
|
||||
"perm.quality.ControlPoint.rwcde";"com.axelor.apps.quality.db.ControlPoint";"x";"x";"x";"x";"x";;;"Quality Manager"
|
||||
"perm.quality.QualityAlert.rwcde";"com.axelor.apps.quality.db.QualityAlert";"x";"x";"x";"x";"x";;;"Quality Manager"
|
||||
"perm.quality.QualityControl.rwcde";"com.axelor.apps.quality.db.QualityControl";"x";"x";"x";"x";"x";;;"Quality Manager"
|
||||
"perm.quality.QualityTag.rwcde";"com.axelor.apps.quality.db.QualityTag";"x";"x";"x";"x";"x";;;"Quality Manager"
|
||||
"perm.quality.ControlPointModel.rwcde";"com.axelor.apps.quality.db.ControlPointModel";"x";"x";"x";"x";"x";;;"Quality Manager"
|
||||
"perm.quality.RootCause.rwcde";"com.axelor.apps.quality.db.RootCause";"x";"x";"x";"x";"x";;;"Quality Manager"
|
||||
"perm.quality.QualityProcess.rwcde";"com.axelor.apps.quality.db.QualityProcess";"x";"x";"x";"x";"x";;;"Quality Manager"
|
||||
|
@ -0,0 +1,4 @@
|
||||
"name";"description"
|
||||
"Quality Read";
|
||||
"Quality User";
|
||||
"Quality Manager";
|
||||
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<form name="app-quality-config-form" title="App quality" model="com.axelor.apps.base.db.AppQuality" width="large" canNew="false" canDelete="false">
|
||||
<panel name="mainPanel">
|
||||
<field name="qualityControlTemplate" requiredIf="automaticMail" canEdit="false"/>
|
||||
<field name="automaticMail" widget="boolean-switch"/>
|
||||
</panel>
|
||||
</form>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,96 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<form name="art-work-form" title="Art work" model="com.axelor.apps.quality.db.ArtWork">
|
||||
<toolbar>
|
||||
<button name="printBtn" title="Print" readonlyIf="!id" icon="fa-print" onClick="com.axelor.apps.quality.web.ArtWorkController:printQualityControl"/>
|
||||
</toolbar>
|
||||
<panel>
|
||||
<field name="statusSelect" showTitle="false" readonly="true" colSpan="12" widget="nav-select" default="1"/>
|
||||
</panel>
|
||||
<panel title="Overview">
|
||||
|
||||
<field name="ref"/>
|
||||
<field name="product"/>
|
||||
<field name="artWorkType"/>
|
||||
<field name="artWorkFile" widget="binary-link"/>
|
||||
<field name="textColor"/>
|
||||
<field name="dimensions"/>
|
||||
<field name="varnishing"/>
|
||||
<field name="printingSupport"/>
|
||||
<field name="weight"/>
|
||||
<field name="diameter"/>
|
||||
<field name="nature"/>
|
||||
<field name="direction"/>
|
||||
<field name="company"/>
|
||||
<field name="printingSettings"/>
|
||||
</panel>
|
||||
<panel-related field="accessConfigList" target="com.axelor.apps.base.db.AccessConfig">
|
||||
<field name="name"/>
|
||||
</panel-related>
|
||||
<panel-related field="dependsOnSet" target="com.axelor.apps.base.db.App">
|
||||
<field name="name"/>
|
||||
</panel-related>
|
||||
<panel name="actionsPanel" sidebar="true">
|
||||
<button name="prepareBtn" title="Graphic Designer Approval" onClick="save,action-importation-folder-record-preparation,save"/>
|
||||
<button name="openedBtn" title="Regulatory Affaires Approval" onClick="save,action-importation-folder-record-entamee,save"/>
|
||||
<button name="validationCoaBtn" title="Quality Control Approval" onClick="save,action-purchase-importation-folder-validation-coa,save,action-whatsapp-logistics" />
|
||||
<button name="logisticBtn" title="Quality Assurance Approval" onClick="save,action-importation-folder-record-logistique,save"/>
|
||||
<button name="logisticBtn" css-btn="info" title="New version" onClick="save"/>
|
||||
</panel>
|
||||
<panel sidebar="true">
|
||||
<field name="firstDate"/>
|
||||
<field name="firstApprovedByUser"/>
|
||||
<field name="secondDate"/>
|
||||
<field name="secondApprovedByUser"/>
|
||||
<field name="thirdApprovedByUser"/>
|
||||
<field name="thirdDate"/>
|
||||
<field name="fourthApprovedByUser"/>
|
||||
<field name="fourthtDate"/>
|
||||
</panel>
|
||||
<panel-mail>
|
||||
<mail-messages limit="4"/>
|
||||
<mail-followers/>
|
||||
</panel-mail>
|
||||
</form>
|
||||
|
||||
|
||||
<grid name="art-work-grid" title="Art works" model="com.axelor.apps.quality.db.ArtWork" edit-icon="true">
|
||||
<field name="ref"/>
|
||||
<field name="product"/>
|
||||
<field name="artWorkType"/>
|
||||
<field name="firstDate"/>
|
||||
<field name="firstApprovedByUser"/>
|
||||
<field name="secondDate"/>
|
||||
<field name="secondApprovedByUser"/>
|
||||
<field name="thirdApprovedByUser"/>
|
||||
<field name="thirdDate"/>
|
||||
<field name="fourthApprovedByUser"/>
|
||||
<field name="fourthtDate"/>
|
||||
<field name="artWorkFile"/>
|
||||
<field name="textColor"/>
|
||||
<field name="dimensions"/>
|
||||
<field name="varnishing"/>
|
||||
<field name="printingSupport"/>
|
||||
<field name="weight"/>
|
||||
<field name="diameter"/>
|
||||
<field name="nature"/>
|
||||
<field name="direction"/>
|
||||
<field name="languageSelect"/>
|
||||
<field name="installOrder"/>
|
||||
<field name="sequence"/>
|
||||
<field name="active"/>
|
||||
<field name="isRolesImported"/>
|
||||
<field name="demoDataLoaded"/>
|
||||
<field name="initDataLoaded"/>
|
||||
<field name="image"/>
|
||||
<field name="modules"/>
|
||||
<field name="description"/>
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
</grid>
|
||||
|
||||
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,133 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<chart onInit="action.quality.chart.set.date" name="chart.quality.control.points" title="Control Points">
|
||||
<search-fields>
|
||||
<field type="date" name="fromDateT" title="From Date" x-required="true"/>
|
||||
<field type="date" name="toDateT" title="To Date" x-required="true"/>
|
||||
</search-fields>
|
||||
<dataset type="sql">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
COUNT(self.id) AS _passed,
|
||||
_team.name AS _team_name,
|
||||
_meta._select_title AS _status
|
||||
FROM
|
||||
quality_control_point AS self
|
||||
LEFT JOIN
|
||||
team_team AS _team
|
||||
ON self.team = _team.id
|
||||
|
||||
JOIN
|
||||
(SELECT
|
||||
cast(_item.value as int) AS _select_value,
|
||||
_item.title AS _select_title
|
||||
FROM
|
||||
meta_select AS _selection
|
||||
JOIN
|
||||
meta_select_item AS _item
|
||||
ON _selection.name = 'quality.control.points.status.select'
|
||||
AND _item.select_id = _selection.id
|
||||
) AS _meta
|
||||
ON
|
||||
_meta._select_value = self.status_select
|
||||
WHERE
|
||||
(
|
||||
self.status_select = 2
|
||||
OR
|
||||
self.status_select = 3
|
||||
)
|
||||
AND
|
||||
DATE(self.created_on) BETWEEN DATE(:fromDateT) AND DATE(:toDateT)
|
||||
GROUP BY
|
||||
_team_name, _status
|
||||
ORDER BY
|
||||
_team_name, _passed ASC
|
||||
]]>
|
||||
</dataset>
|
||||
<category key="_team_name" type="text" title="Team"/>
|
||||
<series key="_passed" type="bar" groupBy="_status" title="Result" />
|
||||
</chart>
|
||||
|
||||
<chart onInit="action.quality.chart.set.date" name="chart.quality.controls.total.numbers" title="Number of quality controls">
|
||||
<search-fields>
|
||||
<field type="date" name="fromDateT" title="From Date" x-required="true"/>
|
||||
<field type="date" name="toDateT" title="To Date" x-required="true"/>
|
||||
</search-fields>
|
||||
<dataset type="jpql">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
COUNT(*) AS _controls,
|
||||
self.team.name AS _team
|
||||
FROM
|
||||
QualityControl self
|
||||
WHERE
|
||||
DATE(self.createdOn) BETWEEN DATE(:fromDateT) AND DATE(:toDateT)
|
||||
GROUP BY
|
||||
self.team.name
|
||||
ORDER BY
|
||||
self.team.name
|
||||
]]>
|
||||
</dataset>
|
||||
<category key="_team" type="text"/>
|
||||
<series key="_controls" type="bar"/>
|
||||
</chart>
|
||||
|
||||
<chart name="chart.quality.alerts.total.numbers" title="Number of quality alerts" onInit="action.quality.chart.set.date">
|
||||
<search-fields>
|
||||
<field name="fromDateT" title="From Date" type="date" x-required="true"/>
|
||||
<field name="toDateT" title="To Date" type="date" x-required="true"/>
|
||||
</search-fields>
|
||||
<dataset type="jpql">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
COUNT(*) AS _alerts,
|
||||
self.team.name AS _team
|
||||
FROM
|
||||
QualityAlert self
|
||||
WHERE
|
||||
DATE(self.createdOn) BETWEEN DATE(:fromDateT) AND DATE(:toDateT)
|
||||
GROUP BY
|
||||
self.team.name
|
||||
ORDER BY
|
||||
self.team.name
|
||||
]]>
|
||||
</dataset>
|
||||
<category key="_team" type="text"/>
|
||||
<series key="_alerts" type="bar"/>
|
||||
</chart>
|
||||
|
||||
<chart onInit="action.quality.chart.set.date" name="chart.quality.alerts.solved.total.numbers" title="Number of solved quality alerts">
|
||||
<search-fields>
|
||||
<field type="date" name="fromDateT" title="From Date" x-required="true"/>
|
||||
<field type="date" name="toDateT" title="To Date" x-required="true"/>
|
||||
</search-fields>
|
||||
<dataset type="jpql">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
COUNT(*) AS _alerts,
|
||||
self.team.name AS _team
|
||||
FROM
|
||||
QualityAlert self
|
||||
WHERE
|
||||
DATE(self.createdOn) BETWEEN DATE(:fromDateT) AND DATE(:toDateT)
|
||||
AND
|
||||
self.statusSelect = 4
|
||||
GROUP BY
|
||||
self.team.name
|
||||
ORDER BY
|
||||
self.team.name
|
||||
]]>
|
||||
</dataset>
|
||||
<category key="_team" type="text"/>
|
||||
<series key="_alerts" type="bar"/>
|
||||
</chart>
|
||||
|
||||
<action-record model="com.axelor.apps.quality.db.ControlPoint" name="action.quality.chart.set.date">
|
||||
<field name="toDateT" expr="eval: __date__"/>
|
||||
<field name="fromDateT" expr="eval:__date__.withDayOfMonth(1).withMonth(1)"/>
|
||||
</action-record>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<grid name="control-point-grid" title="Control points" model="com.axelor.apps.quality.db.ControlPoint" onNew="action-control-point-attrs-hide-quality-control" edit-icon="true">
|
||||
<field name="name" width="700"/>
|
||||
<field name="controlPointType" width="150"/>
|
||||
<field name="statusSelect" width="130"/>
|
||||
</grid>
|
||||
|
||||
<form name="control-point-form" title="Control points" model="com.axelor.apps.quality.db.ControlPoint" onNew="action-quality-control-point-record-default">
|
||||
<panel name="mainPanel">
|
||||
<field name="statusSelect" widget="NavSelect" showTitle="false" readonly="true" colSpan="12"/>
|
||||
<field name="name"/>
|
||||
<field name="controlPointType"/>
|
||||
<field name="qualityControl" readonly="true" hideIf="$popup() || qualityControl == null"/>
|
||||
</panel>
|
||||
<panel name="measuringPointPanel">
|
||||
<panel-related name="measuringPointListPanel" field="measuringPointList" colSpan="12" grid-view="quality-measuring-point-grid" form-view="quality-measuring-point-form"/>
|
||||
</panel>
|
||||
<panel name="notesPanel" title="Control comment">
|
||||
<field name="notes" colSpan="12" height="6" widget="html" showTitle="false"/>
|
||||
</panel>
|
||||
<panel name="actionsPanel" sidebar="true" showIf="statusSelect == 1">
|
||||
<button name="closeBtn" title="Close" onClick="save,action-quality-control-point-record-status-close,save"/>
|
||||
</panel>
|
||||
<panel-mail name="mailPanel">
|
||||
<mail-messages />
|
||||
</panel-mail>
|
||||
</form>
|
||||
|
||||
<action-record name="action-quality-control-point-record-default" model="com.axelor.apps.quality.db.ControlPoint">
|
||||
<field name="statusSelect" expr="eval: 1"/>
|
||||
</action-record>
|
||||
|
||||
<action-record name="action-quality-control-point-record-status-close" model="com.axelor.apps.quality.db.ControlPoint">
|
||||
<field name="statusSelect" expr="eval: 2"/>
|
||||
</action-record>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<grid name="control-point-model-grid" title="Control points" model="com.axelor.apps.quality.db.ControlPointModel">
|
||||
<field name="name"/>
|
||||
</grid>
|
||||
|
||||
<form name="control-point-model-form" title="Control points" model="com.axelor.apps.quality.db.ControlPointModel">
|
||||
<panel name="mainPanel">
|
||||
<field name="name"/>
|
||||
<field name="controlPointType"/>
|
||||
<field name="sequence"/>
|
||||
</panel>
|
||||
<panel name="measuringPointPanel">
|
||||
<panel-related name="measuringPointListPanel" field="measuringPointList" colSpan="12" grid-view="quality-measuring-point-model-grid" form-view="quality-measuring-point-model-form"/>
|
||||
</panel>
|
||||
<panel name="notesPanel">
|
||||
<field name="notes" colSpan="12" height="6" widget="html" showTitle="false"/>
|
||||
</panel>
|
||||
</form>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<grid name="quality-control-point-type-grid" title="Control point type" model="com.axelor.apps.quality.db.ControlPointType">
|
||||
<field name="name"/>
|
||||
</grid>
|
||||
|
||||
<form name="quality-control-point-type-form" title="Control point type" model="com.axelor.apps.quality.db.ControlPointType" width="large">
|
||||
<panel name="mainPanel">
|
||||
<field name="name"/>
|
||||
</panel>
|
||||
</form>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<dashboard title="Quality Dashboard" name="quality.dashboard">
|
||||
<dashlet action="chart:chart.quality.control.points" height="350" canSearch="true" />
|
||||
<dashlet action="chart:chart.quality.controls.total.numbers" height="350" canSearch="true" />
|
||||
<dashlet action="chart:chart.quality.alerts.total.numbers" height="350" canSearch="true" />
|
||||
<dashlet action="chart:chart.quality.alerts.solved.total.numbers" height="350" canSearch="true" />
|
||||
</dashboard>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<menuitem name="menu-quality-root" order="-105" if="__config__.app.isApp('quality')"
|
||||
title="Quality" icon="fa fa-check" icon-background="#3f6bb9"/>
|
||||
|
||||
<menuitem name="quality-controls-root" parent="menu-quality-root" title="Quality controls" />
|
||||
|
||||
<menuitem name="quality-processes" parent="quality-controls-root" title="Quality processes" action="quality.processes"/>
|
||||
|
||||
<action-view name="quality.processes" title="Quality processes" model="com.axelor.apps.quality.db.QualityProcess">
|
||||
<view type="grid" name="quality-process-grid"/>
|
||||
<view type="form" name="quality-process-form"/>
|
||||
</action-view>
|
||||
|
||||
<menuitem name="quality-controls" parent="quality-controls-root" title="Quality controls" action="quality.controls"/>
|
||||
|
||||
<action-view name="quality.controls" title="Quality controls" model="com.axelor.apps.quality.db.QualityControl">
|
||||
<view type="kanban" name="quality-control-kanban"/>
|
||||
<view type="grid" name="quality-control-grid"/>
|
||||
<view type="form" name="quality-control-form"/>
|
||||
<view-param name="search-filters" value="quality-control-filters"/>
|
||||
<context name="_userId" expr="eval:__user__.id"/>
|
||||
<context name="_myActiveTeamId" expr="call:com.axelor.apps.base.service.user.UserService:getUserActiveTeamId()"/>
|
||||
</action-view>
|
||||
|
||||
<menuitem name="quality-control-points" parent="quality-controls-root" title="Control points" action="quality.controls.points"/>
|
||||
|
||||
<action-view name="quality.controls.points" title="Control points" model="com.axelor.apps.quality.db.ControlPoint">
|
||||
<view type="grid" name="control-point-grid"/>
|
||||
<view type="form" name="control-point-form"/>
|
||||
</action-view>
|
||||
|
||||
<menuitem name="quality-alerts" parent="menu-quality-root" title="Quality alerts" action="quality.alerts"/>
|
||||
|
||||
<action-view name="quality.alerts" title="Quality alerts" model="com.axelor.apps.quality.db.QualityAlert">
|
||||
<view type="kanban" name="quality-alert-kanban"/>
|
||||
<view type="grid" name="quality-alert-grid"/>
|
||||
<view type="form" name="quality-alert-form"/>
|
||||
<view-param name="search-filters" value="quality-alert-filters"/>
|
||||
<context name="_userId" expr="eval:__user__.id"/>
|
||||
<context name="_myActiveTeamId" expr="call:com.axelor.apps.base.service.user.UserService:getUserActiveTeamId()"/>
|
||||
</action-view>
|
||||
|
||||
<menuitem name="quality-calendar" parent="menu-quality-root" title="Calendar" />
|
||||
|
||||
<menuitem name="quality-alert-calendar" parent="quality-calendar" title="Alert calendar" action="quality.alert.calendar" />
|
||||
|
||||
<action-view name="quality.alert.calendar" title="Alert calendar" model="com.axelor.apps.quality.db.QualityAlert" >
|
||||
<view type="calendar" name="quality-alert-calendar" />
|
||||
</action-view>
|
||||
|
||||
<menuitem name="quality-control-calendar" parent="quality-calendar" title="Quality control calendar" action="quality.control.calendar" />
|
||||
|
||||
<action-view name="quality.control.calendar" title="Quality control calendar" model="com.axelor.apps.quality.db.QualityControl" >
|
||||
<view type="calendar" name="quality-control-calendar" />
|
||||
<domain>self.statusSelect > 2</domain>
|
||||
</action-view>
|
||||
|
||||
<menuitem name="quality-reportings" parent="menu-quality-root" title="Reportings" icon="fa-bar-chart"/>
|
||||
|
||||
<menuitem name="quality-reportings-dashboard" parent="quality-reportings" title="Quality Dashboard" action="quality.dashboard.view" />
|
||||
|
||||
<action-view name="quality.dashboard.view" title="Quality Dashboard" >
|
||||
<view type="dashboard" name="quality.dashboard" />
|
||||
</action-view>
|
||||
|
||||
<menuitem name="quality-configurations" parent="menu-quality-root" title="Configuration" icon="fa-cog"/>
|
||||
|
||||
<menuitem name="quality-teams" parent="quality-configurations" title="Quality teams" action="quality.teams"/>
|
||||
|
||||
<action-view name="quality.teams" title="Quality teams" model="com.axelor.team.db.Team">
|
||||
<view type="grid" name="team-grid"/>
|
||||
<view type="form" name="team-form"/>
|
||||
<domain>self.typeSelect = 'quality'</domain>
|
||||
<context name="_typeSelect" expr="eval: 'quality'"/>
|
||||
</action-view>
|
||||
|
||||
<menuitem name="quality-root-causes" parent="quality-configurations" title="Root causes" action="quality.root.causes" />
|
||||
|
||||
<action-view name="quality.root.causes" title="Root causes" model="com.axelor.apps.quality.db.RootCause">
|
||||
<view type="grid" name="root-cause-grid"/>
|
||||
<view type="form" name="root-cause-form"/>
|
||||
</action-view>
|
||||
|
||||
<menuitem name="quality-tags" parent="quality-configurations" title="Tags" action="quality.tags" />
|
||||
|
||||
<action-view name="quality.tags" title="Tags" model="com.axelor.apps.quality.db.QualityTag">
|
||||
<view type="grid" name="quality-tag-grid"/>
|
||||
<view type="form" name="quality-tag-form"/>
|
||||
</action-view>
|
||||
|
||||
<menuitem name="quality-control-point-type" parent="quality-configurations" title="Control point type" action="quality.control.point.type" />
|
||||
|
||||
<action-view name="quality.control.point.type" title="Control point type" model="com.axelor.apps.quality.db.ControlPointType">
|
||||
<view type="grid" name="quality-control-point-type-grid"/>
|
||||
<view type="form" name="quality-control-point-type-form"/>
|
||||
</action-view>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,100 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<grid name="quality-alert-grid" title="Quality alerts" model="com.axelor.apps.quality.db.QualityAlert">
|
||||
<field name="reference" width="120"/>
|
||||
<field name="reference" width="120"/>
|
||||
<field name="product"/>
|
||||
<field name="workCenter"/>
|
||||
<field name="team"/>
|
||||
<field name="responsible"/>
|
||||
<field name="qualityTagSet"/>
|
||||
<field name="rootCause"/>
|
||||
<field name="prioritySelect"/>
|
||||
</grid>
|
||||
|
||||
<calendar name="quality-alert-calendar" title="Alert calendar" mode="month" colorBy="prioritySelect"
|
||||
eventStart="startDate" eventStop="endDate" eventLength="1" model="com.axelor.apps.quality.db.QualityAlert">
|
||||
<field name="fullName" />
|
||||
</calendar>
|
||||
|
||||
<form name="quality-alert-form" title="Quality alerts" model="com.axelor.apps.quality.db.QualityAlert" onNew="action-quality-alert-record-default">
|
||||
<panel name="statusSelectPanel" title="Status">
|
||||
<field name="statusSelect" showTitle="false" widget="NavSelect" colSpan="12" />
|
||||
</panel>
|
||||
<panel name="detailsPanel">
|
||||
<field name="reference"/>
|
||||
<field name="product"/>
|
||||
<field name="workCenter"/>
|
||||
<field name="team" domain="self.typeSelect = 'quality'"/>
|
||||
<field name="responsible"/>
|
||||
<field name="rootCause"/>
|
||||
<field name="prioritySelect"/>
|
||||
<field name="startDate"/>
|
||||
<field name="endDate"/>
|
||||
<field name="deadLineDate"/>
|
||||
<field name="qualityTagSet" widget="TagSelect" colSpan="12"/>
|
||||
</panel>
|
||||
<panel name="descriptionPanel">
|
||||
<field name="description" colSpan="12" height="6" widget="html" showTitle="false"/>
|
||||
</panel>
|
||||
<panel name="correctiveActionsPanel">
|
||||
<field name="correctiveActions" colSpan="12" height="6" widget="html" showTitle="false"/>
|
||||
</panel>
|
||||
<panel name="preventiveActionsPanel">
|
||||
<field name="preventiveActions" colSpan="12" height="6" widget="html" showTitle="false"/>
|
||||
</panel>
|
||||
<panel sidebar="true" name="actionsPanel" title="Actions" hideIf="statusSelect == 4">
|
||||
<button name="confirmBtn" title="Confirm" showIf="statusSelect == 1" onClick="save,action-quality-alert-record-status-confirm,save"/>
|
||||
<button name="proposeActionBtn" title="Propose action" showIf="statusSelect == 2" onClick="save,action-quality-alert-record-status-proposed,save"/>
|
||||
<button name="solveBtn" title="Solve" showIf="statusSelect == 3" onClick="save,action-quality-alert-record-status-solved,save"/>
|
||||
</panel>
|
||||
<panel-mail name="mailPanel">
|
||||
<mail-messages />
|
||||
</panel-mail>
|
||||
</form>
|
||||
|
||||
<kanban columnBy="statusSelect" sequenceBy="prioritySelect" limit="10"
|
||||
name="quality-alert-kanban" title="Quality alerts" model="com.axelor.apps.quality.db.QualityAlert">
|
||||
<field name="fullName"/>
|
||||
<field name="team"/>
|
||||
<field name="responsible"/>
|
||||
<template>
|
||||
<![CDATA[
|
||||
<h4>{{fullName}}</h4>
|
||||
<div class="card-body">{{team.name}}</div>
|
||||
<div class="card-body">{{responsible.name}}</div>
|
||||
]]>
|
||||
</template>
|
||||
</kanban>
|
||||
|
||||
<action-record name="action-quality-alert-record-default" model="com.axelor.apps.quality.db.QualityAlert">
|
||||
<field name="statusSelect" expr="eval: 1"/>
|
||||
<field name="prioritySelect" expr="eval: 1"/>
|
||||
<field name="product" expr="eval: _product" if="eval: _product != null"/>
|
||||
<field name="team" expr="eval: _team" if="eval: _team != null"/>
|
||||
</action-record>
|
||||
|
||||
<action-record name="action-quality-alert-record-status-confirm" model="com.axelor.apps.quality.db.QualityAlert">
|
||||
<field name="statusSelect" expr="eval: 2"/>
|
||||
</action-record>
|
||||
|
||||
<action-record name="action-quality-alert-record-status-proposed" model="com.axelor.apps.quality.db.QualityAlert">
|
||||
<field name="statusSelect" expr="eval: 3"/>
|
||||
</action-record>
|
||||
|
||||
<action-record name="action-quality-alert-record-status-solved" model="com.axelor.apps.quality.db.QualityAlert">
|
||||
<field name="statusSelect" expr="eval: 4"/>
|
||||
</action-record>
|
||||
|
||||
<search-filters name="quality-alert-filters" model="com.axelor.apps.quality.db.QualityAlert" title="Quality alert filters">
|
||||
<filter title="My alerts">
|
||||
<domain>self.responsible.user.id = :_userId</domain>
|
||||
</filter>
|
||||
<filter title="My team alerts">
|
||||
<domain>self.team.id = :_myActiveTeamId</domain>
|
||||
</filter>
|
||||
</search-filters>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,199 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<grid name="quality-control-grid" title="Quality controls" model="com.axelor.apps.quality.db.QualityControl">
|
||||
<toolbar>
|
||||
<button name="sendEmailBtn" title="Send email" onClick="action-quality-control-method-send-email"/>
|
||||
</toolbar>
|
||||
<field name="reference" width="120"/>
|
||||
<field name="name"/>
|
||||
<field name="project"/>
|
||||
<field name="team"/>
|
||||
<field name="responsible"/>
|
||||
</grid>
|
||||
|
||||
<calendar name="quality-control-calendar" title="Quality control calendar" mode="month" colorBy="statusSelect"
|
||||
eventStart="startDate" eventStop="endDate" eventLength="1" model="com.axelor.apps.quality.db.QualityControl">
|
||||
<field name="reference"/>
|
||||
</calendar>
|
||||
|
||||
<form name="quality-control-form" title="Quality controls" model="com.axelor.apps.quality.db.QualityControl" onNew="action-quality-control-group-onnew-actions" onLoad="action-quality-control-group-onload-actions">
|
||||
<menubar>
|
||||
<menu title="Tools">
|
||||
<item title="Print" action="save,action-quality-control-method-print" showIf="statusSelect == 6"/>
|
||||
<item title="Send email" action="save,action-quality-control-method-send-email" showIf="statusSelect == 6"/>
|
||||
</menu>
|
||||
</menubar>
|
||||
<panel name="mainPanel" title="Status" showTitle="false">
|
||||
<field name="statusSelect" showTitle="false" widget="NavSelect" colSpan="12" />
|
||||
<field name="reference" showTitle="false" colSpan="12" css="label-bold bold large"/>
|
||||
<field name="name"/>
|
||||
<field name="project" required="true" onChange="action-quality-control-record-set-printing-setting-on-project-change"/>
|
||||
<field name="responsible"/>
|
||||
<field name="team" domain="self.typeSelect = 'quality'"/>
|
||||
<field name="startDate"/>
|
||||
<field name="endDate"/>
|
||||
<field name="deadLineDate"/>
|
||||
</panel>
|
||||
<panel name="actionsPanel" sidebar="true" hideIf="statusSelect == 6">
|
||||
<button name="planBtn" title="Plan" showIf="statusSelect == 1 || statusSelect == 2" onClick="save,action-quality-control-record-status-planned,save"/>
|
||||
<button name="startBtn" title="Start" showIf="statusSelect == 3 || statusSelect == 5" onClick="save,action-quality-control-record-status-in-progress,save"/>
|
||||
<button name="pauseBtn" title="Pause" showIf="statusSelect == 4" onClick="save,action-quality-control-record-status-pause,save"/>
|
||||
<button name="finishBtn" title="Finish" showIf="statusSelect == 4" onClick="action-quality-control-group-status-finish"/>
|
||||
<button name="cancelBtn" title="Cancel" showIf="statusSelect == 1 || statusSelect == 3 || statusSelect == 4" onClick="save,action-quality-control-record-status-canceled,save"/>
|
||||
</panel>
|
||||
<panel name="listsPanel">
|
||||
<panel-related name="controlPointListPanel" field="controlPointList" colSpan="12" grid-view="control-point-grid" form-view="control-point-form" onChange="action-quality-control-attrs-readonly-plan-button" onNew="save" orderBy="sequence" canMove="true"/>
|
||||
<panel-related name="optionalControlPointListPanel" field="optionalControlPointList" colSpan="12" grid-view="control-point-grid" form-view="control-point-form" hidden="true"/>
|
||||
<panel-related name="qualityCorrectiveActionListPanel" field="qualityCorrectiveActionList" colSpan="12" grid-view="quality-corrective-action-grid" form-view="quality-corrective-action-form"/>
|
||||
<field name="inspectorSignature" widget="Image"/>
|
||||
<field name="customerSignature" widget="Image"/>
|
||||
</panel>
|
||||
<panel name="controlPointsPanel" sidebar="true" hideIf="statusSelect == 2 || statusSelect == 6">
|
||||
<button name="chooseQualityProcessBtn" title="Choose quality process" onClick="save,action-quality-control-view-quality-process" showIf="statusSelect == 1"/>
|
||||
<button name="addOptionalControlPointsBtn" title="Add optional control points" onClick="save,action-quality-control-view-optional-control-points"/>
|
||||
<button name="editControlPointsBtn" title="Edit control points" onClick="action-quality-control-method-open-control-points"/>
|
||||
</panel>
|
||||
<panel name="configPanel" title="Configuration">
|
||||
<field name="printingSettings" canEdit="false"/>
|
||||
</panel>
|
||||
<panel-mail name="mailPanel">
|
||||
<mail-messages />
|
||||
</panel-mail>
|
||||
</form>
|
||||
|
||||
<form name="wizard-quality-process-form" title="Choose quality process" model="com.axelor.apps.base.db.Wizard">
|
||||
<panel name="wizardPanel">
|
||||
<field name="qualityProcess" title="Quality process" type="many-to-one" target="com.axelor.apps.quality.db.QualityProcess"/>
|
||||
<button name="preFillControlPointsBtn" colSpan="4" title="Pre-fill control points" readonlyIf="qualityProcess == null" onClick="action-quality-control-method-pre-fill-operations"/>
|
||||
</panel>
|
||||
</form>
|
||||
|
||||
<form name="wizard-optional-control-points-form" title="Add optional control points" model="com.axelor.apps.base.db.Wizard">
|
||||
<panel name="wizardPanel">
|
||||
<field name="optionalControlPointSet" title="Optional control points" type="many-to-many" target="com.axelor.apps.quality.db.ControlPoint" domain="self.optionalQualityControl = :_qualityControl" canNew="false" colSpan="12"/>
|
||||
<button name="preFillControlPointsBtn" colSpan="4" title="Pre-fill control points" readonlyIf="optionalControlPointSet == null" onClick="action-quality-control-method-pre-fill-operations-from-optionals"/>
|
||||
</panel>
|
||||
</form>
|
||||
|
||||
<kanban columnBy="statusSelect" sequenceBy="sequence"
|
||||
name="quality-control-kanban" title="Quality control" model="com.axelor.apps.quality.db.QualityControl">
|
||||
<field name="reference"/>
|
||||
<field name="team"/>
|
||||
<field name="responsible"/>
|
||||
<template>
|
||||
<![CDATA[
|
||||
<h4>{{reference}}</h4>
|
||||
<div class="card-body">{{team.name}}</div>
|
||||
<div class="card-body">{{responsible.name}}</div>
|
||||
]]>
|
||||
</template>
|
||||
|
||||
</kanban>
|
||||
|
||||
<action-group name="action-quality-control-group-onnew-actions">
|
||||
<action name="action-quality-control-record-default"/>
|
||||
<action name="action-quality-control-attrs-readonly-plan-button"/>
|
||||
</action-group>
|
||||
|
||||
<action-group name="action-quality-control-group-onload-actions">
|
||||
<action name="action-quality-control-attrs-readonly-plan-button"/>
|
||||
</action-group>
|
||||
|
||||
<action-group name="action-quality-control-group-status-finish">
|
||||
<action name="save"/>
|
||||
<action name="action-quality-control-validate-control-points-on-finish"/>
|
||||
<action name="action-quality-control-record-status-finish"/>
|
||||
<action name="save"/>
|
||||
<action name="action-quality-control-method-send-email" if="__config__.app.getApp('quality').getAutomaticMail()"/>
|
||||
</action-group>
|
||||
|
||||
<action-record name="action-quality-control-record-default" model="com.axelor.apps.quality.db.QualityControl">
|
||||
<field name="statusSelect" expr="eval: 1"/>
|
||||
</action-record>
|
||||
|
||||
<action-record name="action-quality-control-record-status-planned" model="com.axelor.apps.quality.db.QualityControl">
|
||||
<field name="statusSelect" expr="eval: 3"/>
|
||||
</action-record>
|
||||
|
||||
<action-record name="action-quality-control-record-status-canceled" model="com.axelor.apps.quality.db.QualityControl">
|
||||
<field name="statusSelect" expr="eval: 2"/>
|
||||
</action-record>
|
||||
|
||||
<action-record name="action-quality-control-record-status-in-progress" model="com.axelor.apps.quality.db.QualityControl">
|
||||
<field name="statusSelect" expr="eval: 4"/>
|
||||
</action-record>
|
||||
|
||||
<action-record name="action-quality-control-record-status-pause" model="com.axelor.apps.quality.db.QualityControl">
|
||||
<field name="statusSelect" expr="eval: 5"/>
|
||||
</action-record>
|
||||
|
||||
<action-record name="action-quality-control-record-status-finish" model="com.axelor.apps.quality.db.QualityControl">
|
||||
<field name="statusSelect" expr="eval: 6"/>
|
||||
</action-record>
|
||||
|
||||
<action-method name="action-quality-control-method-open-control-points">
|
||||
<call class="com.axelor.apps.quality.web.QualityControlController" method="openControlPoints"/>
|
||||
</action-method>
|
||||
|
||||
<action-method name="action-quality-control-method-pre-fill-operations">
|
||||
<call class="com.axelor.apps.quality.web.QualityControlController" method="preFillOperations"/>
|
||||
</action-method>
|
||||
|
||||
<action-attrs name="action-quality-control-attrs-readonly-plan-button">
|
||||
<attribute name="readonly" expr="eval:controlPointList == null || controlPointList.isEmpty()" for="planBtn"/>
|
||||
</action-attrs>
|
||||
|
||||
<action-view name="action-quality-control-view-quality-process" title="Choose quality process" model="com.axelor.apps.base.db.Wizard">
|
||||
<view type="form" name="wizard-quality-process-form"/>
|
||||
<view-param name="show-toolbar" value="false"/>
|
||||
<view-param name="width" value="800"/>
|
||||
<view-param name="popup" value="true"/>
|
||||
<view-param name="show-confirm" value="false"/>
|
||||
<view-param name="popup-save" value="false"/>
|
||||
<view-param name="popup" value="reload"/>
|
||||
<context name="_qualityControl" expr="eval:__self__"/>
|
||||
</action-view>
|
||||
|
||||
<action-view name="action-quality-control-view-optional-control-points" title="Add optional control points" model="com.axelor.apps.base.db.Wizard">
|
||||
<view type="form" name="wizard-optional-control-points-form"/>
|
||||
<view-param name="show-toolbar" value="false"/>
|
||||
<view-param name="width" value="800"/>
|
||||
<view-param name="popup" value="true"/>
|
||||
<view-param name="show-confirm" value="false"/>
|
||||
<view-param name="popup-save" value="false"/>
|
||||
<view-param name="popup" value="reload"/>
|
||||
<context name="_qualityControl" expr="eval:__self__"/>
|
||||
</action-view>
|
||||
|
||||
<action-method name="action-quality-control-method-pre-fill-operations-from-optionals">
|
||||
<call class="com.axelor.apps.quality.web.QualityControlController" method="preFillOperationsFromOptionals"/>
|
||||
</action-method>
|
||||
|
||||
<action-method name="action-quality-control-method-print">
|
||||
<call class="com.axelor.apps.quality.web.QualityControlController" method="printQualityControl"/>
|
||||
</action-method>
|
||||
|
||||
<action-method name="action-quality-control-method-send-email">
|
||||
<call class="com.axelor.apps.quality.web.QualityControlController" method="sendEmail"/>
|
||||
</action-method>
|
||||
|
||||
<action-validate name="action-quality-control-validate-control-points-on-finish">
|
||||
<error message="Please complete all control points" if="controlPointList != null && controlPointList.any{it?.statusSelect != 2}"/>
|
||||
</action-validate>
|
||||
|
||||
<action-record name="action-quality-control-record-set-printing-setting-on-project-change" model="com.axelor.apps.quality.db.QualityControl">
|
||||
<field name="printingSettings" expr="eval: project?.company?.printingSettings" if="project != null && project?.company != null"/>
|
||||
</action-record>
|
||||
|
||||
<search-filters name="quality-control-filters" model="com.axelor.apps.quality.db.QualityControl" title="Quality control filters">
|
||||
<filter title="My quality controls">
|
||||
<domain>self.responsible.user.id = :_userId</domain>
|
||||
</filter>
|
||||
<filter title="My team quality controls">
|
||||
<domain>self.team.id = :_myActiveTeamId</domain>
|
||||
</filter>
|
||||
</search-filters>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<grid name="quality-corrective-action-grid" title="Corrective actions" model="com.axelor.apps.quality.db.QualityCorrectiveAction" edit-icon="true">
|
||||
<field name="name" width="200"/>
|
||||
<field name="details" width="650"/>
|
||||
<field name="isApplicable" width="150"/>
|
||||
</grid>
|
||||
|
||||
<grid name="quality-corrective-action-model-grid" title="Corrective actions" model="com.axelor.apps.quality.db.QualityCorrectiveAction" edit-icon="true">
|
||||
<field name="name"/>
|
||||
<field name="details"/>
|
||||
</grid>
|
||||
|
||||
<form name="quality-corrective-action-form" title="Corrective actions" model="com.axelor.apps.quality.db.QualityCorrectiveAction">
|
||||
<panel name="mainPanel">
|
||||
<field name="name" colSpan="8"/>
|
||||
<field name="isApplicable" colSpan="4" widget="boolean-switch"/>
|
||||
<field name="details" colSpan="12" widget="html"/>
|
||||
</panel>
|
||||
</form>
|
||||
|
||||
<form name="quality-corrective-action-model-form" title="Corrective actions" model="com.axelor.apps.quality.db.QualityCorrectiveAction">
|
||||
<panel name="mainPanel">
|
||||
<field name="name"/>
|
||||
<field name="details" colSpan="12" widget="html"/>
|
||||
</panel>
|
||||
</form>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<grid name="quality-measuring-point-grid" title="Measuring points" model="com.axelor.apps.quality.db.QualityMeasuringPoint" edit-icon="true">
|
||||
<field name="name"/>
|
||||
<field name="measuringNote" widget="ImageSelect" x-labels="false"/>
|
||||
<field name="observations"/>
|
||||
</grid>
|
||||
|
||||
<grid name="quality-measuring-point-model-grid" title="Measuring points" model="com.axelor.apps.quality.db.QualityMeasuringPoint" edit-icon="true">
|
||||
<field name="name"/>
|
||||
<field name="measuringTypeSelect"/>
|
||||
<field name="coefficient"/>
|
||||
</grid>
|
||||
|
||||
<form name="quality-measuring-point-form" title="Measuring points" model="com.axelor.apps.quality.db.QualityMeasuringPoint">
|
||||
<panel name="mainPanel">
|
||||
<field name="name"/>
|
||||
<field name="measuringTypeSelect"/>
|
||||
<field name="measuringNote" widget="ImageSelect" x-labels="false" hidden="true" showIf="measuringTypeSelect == 1"/>
|
||||
<field name="coefficient"/>
|
||||
<field name="compliant" colSpan="3" widget="boolean-switch" hidden="true" showIf="measuringTypeSelect == 2" onChange="action-measuring-point-attrs-on-compliant-change"/>
|
||||
<field name="picturesList" colSpan="12">
|
||||
<editor onNew="action-quality-picture-record-on-new">
|
||||
<panel name="mainPanel">
|
||||
<panel name="imagePanel" colSpan="6">
|
||||
<field name="metaFile" widget="Image" colSpan="12" showTitle="false"/>
|
||||
</panel>
|
||||
<panel name="detailsPanel" colSpan="6">
|
||||
<field name="name" colSpan="12"/>
|
||||
<field name="createDate" colSpan="6"/>
|
||||
</panel>
|
||||
</panel>
|
||||
</editor>
|
||||
</field>
|
||||
<field name="observations" colSpan="12" widget="html"/>
|
||||
</panel>
|
||||
</form>
|
||||
|
||||
<form name="quality-measuring-point-model-form" title="Measuring points" model="com.axelor.apps.quality.db.QualityMeasuringPoint">
|
||||
<panel name="mainPanel">
|
||||
<field name="name"/>
|
||||
<field name="measuringTypeSelect"/>
|
||||
<field name="coefficient"/>
|
||||
</panel>
|
||||
</form>
|
||||
|
||||
<action-attrs name="action-measuring-point-attrs-on-compliant-change">
|
||||
<attribute name="value" for="measuringNote" expr="eval: (compliant) ? 5 : 0"/>
|
||||
</action-attrs>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<grid name="quality-pictures-grid" title="Pictures" model="com.axelor.apps.quality.db.QualityPictures">
|
||||
<field name="name"/>
|
||||
<field name="metaFile"/>
|
||||
<field name="createDate"/>
|
||||
</grid>
|
||||
|
||||
<form name="quality-pictures-form" title="Pictures" model="com.axelor.apps.quality.db.QualityPictures" onNew="action-quality-picture-record-on-new">
|
||||
<panel name="mainPanel">
|
||||
<panel name="imagePanel" colSpan="6">
|
||||
<field name="metaFile" widget="Image" colSpan="12"/>
|
||||
</panel>
|
||||
<panel name="detailsPanel" colSpan="6">
|
||||
<field name="name" colSpan="12"/>
|
||||
<field name="createDate" colSpan="6"/>
|
||||
</panel>
|
||||
</panel>
|
||||
</form>
|
||||
|
||||
<action-record name="action-quality-picture-record-on-new" model="com.axelor.apps.quality.db.QualityPictures">
|
||||
<field name="createDate" expr="eval: __date__"/>
|
||||
</action-record>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<grid name="quality-process-grid" title="Quality process" model="com.axelor.apps.quality.db.QualityProcess">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</grid>
|
||||
|
||||
<form name="quality-process-form" title="Quality process" width="large" model="com.axelor.apps.quality.db.QualityProcess">
|
||||
<panel name="mainPanel">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
</panel>
|
||||
<panel name="controlPointModelPanel">
|
||||
<panel-related name="controlPointModelListPanel" orderBy="sequence" field="controlPointModelList" colSpan="6" grid-view="control-point-model-grid" form-view="control-point-model-form" />
|
||||
<panel-related name="optionalControlPointModelListPanel" field="optionalControlPointModelList" colSpan="6" grid-view="control-point-model-grid" form-view="control-point-model-form"/>
|
||||
</panel>
|
||||
<panel name="qualityCorrectiveActionPanel">
|
||||
<panel-related name="qualityCorrectiveActionListPanel" field="qualityCorrectiveActionList" colSpan="12" grid-view="quality-corrective-action-model-grid" form-view="quality-corrective-action-model-form"/>
|
||||
</panel>
|
||||
</form>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<grid name="quality-tag-grid" title="Quality tag" model="com.axelor.apps.quality.db.QualityTag">
|
||||
<field name="name"/>
|
||||
</grid>
|
||||
|
||||
<form name="quality-tag-form" title="Quality tag" model="com.axelor.apps.quality.db.QualityTag">
|
||||
<panel name="mainPanel">
|
||||
<field name="name"/>
|
||||
</panel>
|
||||
</form>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<grid name="root-cause-grid" title="Root causes" model="com.axelor.apps.quality.db.RootCause">
|
||||
<field name="name"/>
|
||||
</grid>
|
||||
|
||||
<form name="root-cause-form" title="Root causes" model="com.axelor.apps.quality.db.RootCause">
|
||||
<panel name="mainPanel">
|
||||
<field name="name"/>
|
||||
</panel>
|
||||
</form>
|
||||
|
||||
</object-views>
|
||||
@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<object-views xmlns="http://axelor.com/xml/ns/object-views"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
|
||||
|
||||
<selection name="quality.alert.priority.select">
|
||||
<option value="1">Low</option>
|
||||
<option value="2">Normal</option>
|
||||
<option value="3">High</option>
|
||||
<option value="4">Urgent</option>
|
||||
</selection>
|
||||
|
||||
<selection name="quality.alert.status.select">
|
||||
<option value="1">New</option>
|
||||
<option value="2">Confirmed</option>
|
||||
<option value="3">Action proposed</option>
|
||||
<option value="4">Solved</option>
|
||||
</selection>
|
||||
|
||||
<selection name="quality.control.status.select">
|
||||
<option order="0" value="1">Draft</option>
|
||||
<option order="4" value="2">Canceled</option>
|
||||
<option order="1" value="3">Planned</option>
|
||||
<option order="2" value="4">In progress</option>
|
||||
<option order="3" value="5">Standby</option>
|
||||
<option order="5" value="6">Finished</option>
|
||||
</selection>
|
||||
|
||||
<selection name="quality.control.points.status.select">
|
||||
<option value="1">On hold</option>
|
||||
<option value="2">Done</option>
|
||||
</selection>
|
||||
|
||||
<selection name="quality.control.point.model.period">
|
||||
<option value="1">Week(s)</option>
|
||||
</selection>
|
||||
|
||||
<selection name="sequence.generic.code.select" id="quality.sequence.generic.code.select">
|
||||
<option value="qualityAlert">Quality alert</option>
|
||||
<option value="qualityControl">Quality control</option>
|
||||
</selection>
|
||||
|
||||
<selection name="team.type.select" id="quality.team.type.select">
|
||||
<option value="quality">Quality</option>
|
||||
</selection>
|
||||
|
||||
<selection name="quality.measuring.point.measuring.note.select">
|
||||
<option value="0" icon="img/rating/rating-0.00.png">0</option>
|
||||
<option value="1" icon="img/rating/rating-1.00.png">1</option>
|
||||
<option value="2" icon="img/rating/rating-2.00.png">2</option>
|
||||
<option value="3" icon="img/rating/rating-3.00.png">3</option>
|
||||
<option value="4" icon="img/rating/rating-4.00.png">4</option>
|
||||
<option value="5" icon="img/rating/rating-5.00.png">5</option>
|
||||
</selection>
|
||||
|
||||
<selection name="quality.measuring.point.measuring.type.select">
|
||||
<option value="1">Note</option>
|
||||
<option value="2">Conformity</option>
|
||||
</selection>
|
||||
|
||||
</object-views>
|
||||
Reference in New Issue
Block a user