Merge remote-tracking branch 'origin/develop' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
This commit is contained in:
@@ -5,6 +5,10 @@ import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.http.ContentDisposition;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
@@ -28,10 +32,8 @@ public class DownloadController {
|
||||
private MimeTypesHandler mimetypesFileTypeMap;
|
||||
|
||||
@RequestMapping(value = "download/{uuid}/{fileName}", method = RequestMethod.GET)
|
||||
public byte[] download(HttpServletResponse response,
|
||||
@PathVariable String uuid,
|
||||
public ResponseEntity<byte[]> download(@PathVariable String uuid,
|
||||
@PathVariable String fileName) throws Exception {
|
||||
|
||||
byte[] fileContent = downloadFileHandlerService.getDownloadFileContent(uuid);
|
||||
|
||||
if (fileContent != null) {
|
||||
@@ -39,15 +41,17 @@ public class DownloadController {
|
||||
|
||||
String mimeType = Files.probeContentType(Paths.get(fileName));
|
||||
|
||||
response.setContentType(mimeType);
|
||||
response.setStatus(HttpServletResponse.SC_OK);
|
||||
response.addHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
|
||||
|
||||
response.setContentLength(fileContent.length);
|
||||
return fileContent;
|
||||
return ResponseEntity.ok()
|
||||
.contentType(MediaType.parseMediaType(mimeType))
|
||||
.contentLength(fileContent.length)
|
||||
.header(HttpHeaders.CONTENT_DISPOSITION, ContentDisposition
|
||||
.builder("attachment")
|
||||
.filename(filename)
|
||||
.build()
|
||||
.toString())
|
||||
.body(fileContent);
|
||||
}
|
||||
|
||||
response.sendError(404, "File non trovato");
|
||||
return null;
|
||||
return ResponseEntity.notFound().build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
package it.integry.ems.migration.model;
|
||||
|
||||
import it.integry.ems.migration._base.BaseMigration;
|
||||
import it.integry.ems.migration._base.IntegryCustomerDB;
|
||||
import it.integry.ems.migration._base.MigrationModelInterface;
|
||||
|
||||
public class Migration_20251128190648 extends BaseMigration implements MigrationModelInterface {
|
||||
|
||||
@Override
|
||||
public void up() throws Exception {
|
||||
if (isHistoryDB())
|
||||
return;
|
||||
|
||||
if (isCustomerDb(IntegryCustomerDB.Carelli_Winact)) {
|
||||
dropTable("crl_amac_manutenzioni_files");
|
||||
dropTable("ctb_amac_manutenzioni");
|
||||
|
||||
executeStatement(
|
||||
"create table dbo.ctb_amac_manutenzioni\n" +
|
||||
"(\n" +
|
||||
" id bigint identity\n" +
|
||||
" constraint pk_ctb_amac_manutenzioni\n" +
|
||||
" primary key,\n" +
|
||||
" cod_cmac varchar(20) not null\n" +
|
||||
" constraint FK_ctb_amac_manutenzioni_cod_cmac\n" +
|
||||
" references dbo.ctb_amac,\n" +
|
||||
" descrizione varchar(255) not null,\n" +
|
||||
" data_manutenzione datetime not null,\n" +
|
||||
" data_inserimento datetime not null,\n" +
|
||||
" data_iniz datetime,\n" +
|
||||
" data_fine datetime,\n" +
|
||||
" stato int default 0 not null,\n" +
|
||||
" esito varchar(8000),\n" +
|
||||
" dati_macchina varchar(8000),\n" +
|
||||
" ore_lavoro numeric(10, 2),\n" +
|
||||
" esito_positivo bit default 1,\n" +
|
||||
" manutenzione_ordinaria bit default 1,\n" +
|
||||
" convalidato_da varchar(40),\n" +
|
||||
" data_convalida datetime2,\n" +
|
||||
" convalidato_da2 varchar(40),\n" +
|
||||
" data_convalida2 datetime2\n" +
|
||||
")",
|
||||
"CREATE TABLE dbo.crl_amac_manutenzioni_files\n" +
|
||||
"(\n" +
|
||||
" id_manutenzione BIGINT NOT NULL\n" +
|
||||
" CONSTRAINT fk_crl_amac_manutenzioni_files_ctb_amac_manutenzioni\n" +
|
||||
" REFERENCES dbo.ctb_amac_manutenzioni,\n" +
|
||||
" id_attach VARCHAR(40) NOT NULL\n" +
|
||||
" CONSTRAINT fk_crl_amac_manutenzioni_files_stb_files_attached\n" +
|
||||
" REFERENCES dbo.stb_files_attached,\n" +
|
||||
" CONSTRAINT pk_crl_amac_manutenzioni_files\n" +
|
||||
" PRIMARY KEY (id_manutenzione, id_attach)\n" +
|
||||
")"
|
||||
);
|
||||
}
|
||||
|
||||
executeStatement(
|
||||
"CREATE TABLE dbo.ctb_amac_ricambi\n" +
|
||||
"(\n" +
|
||||
" id BIGINT IDENTITY\n" +
|
||||
" CONSTRAINT ctb_amac_ricambi_pk\n" +
|
||||
" PRIMARY KEY,\n" +
|
||||
" cod_cmac VARCHAR(20) NOT NULL\n" +
|
||||
" CONSTRAINT ctb_amac_ricambi_ctb_amac_cod_cmac_fk\n" +
|
||||
" REFERENCES dbo.ctb_amac,\n" +
|
||||
" sezione VARCHAR(100),\n" +
|
||||
" cod_mart VARCHAR(15) NOT NULL\n" +
|
||||
" CONSTRAINT ctb_amac_ricambi_mtb_aart_cod_mart_fk\n" +
|
||||
" REFERENCES dbo.mtb_aart,\n" +
|
||||
" durata_gg INT\n" +
|
||||
");",
|
||||
"ALTER TABLE dbo.ctb_amac_manutenzioni\n" +
|
||||
" ADD nome_squadra VARCHAR(250);",
|
||||
"CREATE TABLE dbo.crl_amac_manutenzioni_ord\n" +
|
||||
"(\n" +
|
||||
" id_manutenzione BIGINT\n" +
|
||||
" CONSTRAINT crl_amac_manutenzioni_ord_ctb_amac_manutenzioni_id_fk\n" +
|
||||
" REFERENCES dbo.ctb_amac_manutenzioni,\n" +
|
||||
" gestione VARCHAR,\n" +
|
||||
" data_ord DATETIME,\n" +
|
||||
" num_ord INT,\n" +
|
||||
" CONSTRAINT crl_amac_manutenzioni_ord_pk\n" +
|
||||
" PRIMARY KEY (id_manutenzione, gestione, num_ord, data_ord),\n" +
|
||||
" CONSTRAINT crl_amac_manutenzioni_ord_dtb_ordt_gestione_data_ord_num_ord_fk\n" +
|
||||
" FOREIGN KEY (gestione, data_ord, num_ord) REFERENCES dbo.dtb_ordt\n" +
|
||||
");"
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void down() throws Exception {
|
||||
}
|
||||
}
|
||||
@@ -26,17 +26,17 @@ public class CrlAmacManutenzioniFiles extends EntityBase {
|
||||
|
||||
@PK
|
||||
@SqlField(value = "id_manutenzione", nullable = false)
|
||||
private Integer idManutenzione;
|
||||
private Long idManutenzione;
|
||||
|
||||
@PK
|
||||
@SqlField(value = "id_attach", maxLength = 40, nullable = false)
|
||||
private String idAttach;
|
||||
|
||||
public Integer getIdManutenzione() {
|
||||
public Long getIdManutenzione() {
|
||||
return idManutenzione;
|
||||
}
|
||||
|
||||
public CrlAmacManutenzioniFiles setIdManutenzione(Integer idManutenzione) {
|
||||
public CrlAmacManutenzioniFiles setIdManutenzione(Long idManutenzione) {
|
||||
this.idManutenzione = idManutenzione;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
package it.integry.ems_model.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import it.integry.ems_model.annotation.*;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@PropertyReactive
|
||||
@Table(CrlAmacManutenzioniOrd.ENTITY)
|
||||
@JsonTypeName(CrlAmacManutenzioniOrd.ENTITY)
|
||||
public class CrlAmacManutenzioniOrd extends EntityBase {
|
||||
public static final String ENTITY = "crl_amac_manutenzioni_ord";
|
||||
|
||||
private static final Logger logger = LogManager.getLogger();
|
||||
|
||||
@PK
|
||||
@SqlField(value = "id_manutenzione", nullable = false)
|
||||
@FK(tableName = CtbAmacManutenzioni.ENTITY, columnName = "id")
|
||||
@ImportFromParent(value = "id", parentEntity = CtbAmacManutenzioni.class)
|
||||
private Long idManutenzione;
|
||||
|
||||
@PK
|
||||
@SqlField
|
||||
@FK(tableName = DtbOrdt.ENTITY, columnName = "gestione")
|
||||
@ImportFromParent(value = "gestione", parentEntity = DtbOrdt.class)
|
||||
private String gestione;
|
||||
|
||||
@PK
|
||||
@SqlField(value = "data_ord", nullable = false)
|
||||
@FK(tableName = DtbOrdt.ENTITY, columnName = "data_ord")
|
||||
@ImportFromParent(value = "dataOrd", parentEntity = DtbOrdt.class)
|
||||
private Date dataOrd;
|
||||
|
||||
@PK
|
||||
@SqlField(value = "num_ord", nullable = false)
|
||||
@FK(tableName = DtbOrdt.ENTITY, columnName = "num_ord")
|
||||
@ImportFromParent(value = "numOrd", parentEntity = DtbOrdt.class)
|
||||
private Integer numOrd;
|
||||
|
||||
public CrlAmacManutenzioniOrd() {
|
||||
super(logger);
|
||||
}
|
||||
|
||||
public Long getIdManutenzione() {
|
||||
return idManutenzione;
|
||||
}
|
||||
|
||||
public CrlAmacManutenzioniOrd setIdManutenzione(Long idManutenzione) {
|
||||
this.idManutenzione = idManutenzione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getGestione() {
|
||||
return gestione;
|
||||
}
|
||||
|
||||
public CrlAmacManutenzioniOrd setGestione(String gestione) {
|
||||
this.gestione = gestione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataOrd() {
|
||||
return dataOrd;
|
||||
}
|
||||
|
||||
public CrlAmacManutenzioniOrd setDataOrd(Date dataOrd) {
|
||||
this.dataOrd = dataOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getNumOrd() {
|
||||
return numOrd;
|
||||
}
|
||||
|
||||
public CrlAmacManutenzioniOrd setNumOrd(Integer numOrd) {
|
||||
this.numOrd = numOrd;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -81,6 +81,9 @@ public class CtbAmac extends EntityBase {
|
||||
@EntityChild
|
||||
private List<CtbAmacCarat> ctbAmacCarat = new ArrayList<>();
|
||||
|
||||
@EntityChild
|
||||
private List<CtbAmacRicambi> ctbAmacRicambi = new ArrayList<>();
|
||||
|
||||
public CtbAmac() {
|
||||
super(logger);
|
||||
}
|
||||
@@ -220,6 +223,15 @@ public class CtbAmac extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<CtbAmacRicambi> getCtbAmacRicambi() {
|
||||
return ctbAmacRicambi;
|
||||
}
|
||||
|
||||
public CtbAmac setCtbAmacRicambi(List<CtbAmacRicambi> ctbAmacRicambi) {
|
||||
this.ctbAmacRicambi = ctbAmacRicambi;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNote() {
|
||||
return note;
|
||||
}
|
||||
@@ -263,6 +275,9 @@ public class CtbAmac extends EntityBase {
|
||||
caratteristiche.manageWithParentConnection(connection, caratteristiche.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
|
||||
for (CtbAmacRicambi ricambio : getCtbAmacRicambi()) {
|
||||
ricambio.manageWithParentConnection(connection, ricambio.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -282,6 +297,8 @@ public class CtbAmac extends EntityBase {
|
||||
caratteristiche.deleteAllEntities(connection, this);
|
||||
DtbOrdMacc dtbOrdMacc = new DtbOrdMacc();
|
||||
dtbOrdMacc.deleteAllEntities(connection, this);
|
||||
CtbAmacRicambi ricambio = new CtbAmacRicambi();
|
||||
ricambio.deleteAllEntities(connection, this);
|
||||
}
|
||||
|
||||
public enum MachineType implements IBaseEnum<MachineType> {
|
||||
|
||||
@@ -10,7 +10,9 @@ import org.apache.logging.log4j.Logger;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@PropertyReactive
|
||||
@Table(CtbAmacManutenzioni.ENTITY)
|
||||
@@ -77,6 +79,14 @@ public class CtbAmacManutenzioni extends EntityBase {
|
||||
@SqlField(value = "data_convalida2")
|
||||
private LocalDateTime dataConvalida2;
|
||||
|
||||
@SqlField(value = "nome_squadra", maxLength = 250)
|
||||
private String nomeSquadra;
|
||||
|
||||
private List<CrlAmacManutenzioniFiles> crlAmacManutenzioniFiles = new ArrayList<>();
|
||||
|
||||
@EntityChild
|
||||
private List<CrlAmacManutenzioniOrd> crlAmacManutenzioniOrd = new ArrayList<>();
|
||||
|
||||
public CtbAmacManutenzioni() {
|
||||
super(logger);
|
||||
}
|
||||
@@ -182,6 +192,13 @@ public class CtbAmacManutenzioni extends EntityBase {
|
||||
|
||||
@Override
|
||||
protected void insertChilds() throws Exception {
|
||||
for(CrlAmacManutenzioniFiles crlAmacManutenzioniFiles : getCrlAmacManutenzioniFiles()) {
|
||||
crlAmacManutenzioniFiles.manageWithParentConnection(connection, crlAmacManutenzioniFiles.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
|
||||
for (CrlAmacManutenzioniOrd crlAmacManutenzioniOrd : getCrlAmacManutenzioniOrd()) {
|
||||
crlAmacManutenzioniOrd.manageWithParentConnection(connection, crlAmacManutenzioniOrd.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -191,6 +208,11 @@ public class CtbAmacManutenzioni extends EntityBase {
|
||||
|
||||
@Override
|
||||
protected void deleteChilds() throws Exception {
|
||||
CrlAmacManutenzioniFiles crlAmacManutenzioniFiles = new CrlAmacManutenzioniFiles();
|
||||
crlAmacManutenzioniFiles.deleteAllEntities(connection, this);
|
||||
|
||||
CrlAmacManutenzioniOrd crlAmacManutenzioniOrd = new CrlAmacManutenzioniOrd();
|
||||
crlAmacManutenzioniOrd.deleteAllEntities(connection, this);
|
||||
}
|
||||
|
||||
public Boolean getEsitoPositivo() {
|
||||
@@ -247,6 +269,33 @@ public class CtbAmacManutenzioni extends EntityBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNomeSquadra() {
|
||||
return nomeSquadra;
|
||||
}
|
||||
|
||||
public CtbAmacManutenzioni setNomeSquadra(String nomeSquadra) {
|
||||
this.nomeSquadra = nomeSquadra;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<CrlAmacManutenzioniFiles> getCrlAmacManutenzioniFiles() {
|
||||
return crlAmacManutenzioniFiles;
|
||||
}
|
||||
|
||||
public CtbAmacManutenzioni setCrlAmacManutenzioniFiles(List<CrlAmacManutenzioniFiles> crlAmacManutenzioniFiles) {
|
||||
this.crlAmacManutenzioniFiles = crlAmacManutenzioniFiles;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<CrlAmacManutenzioniOrd> getCrlAmacManutenzioniOrd() {
|
||||
return crlAmacManutenzioniOrd;
|
||||
}
|
||||
|
||||
public CtbAmacManutenzioni setCrlAmacManutenzioniOrd(List<CrlAmacManutenzioniOrd> crlAmacManutenzioniOrd) {
|
||||
this.crlAmacManutenzioniOrd = crlAmacManutenzioniOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public enum MaintenanceStatus implements IBaseEnum<MaintenanceStatus> {
|
||||
|
||||
PROGRAMMATA(0), AVVIATA(1), TERMINATA(2), ANNULLATA(3);
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
package it.integry.ems_model.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import it.integry.ems_model.annotation.*;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.kie.api.definition.type.PropertyReactive;
|
||||
|
||||
@PropertyReactive
|
||||
@Table(CtbAmacRicambi.ENTITY)
|
||||
@JsonTypeName(CtbAmacRicambi.ENTITY)
|
||||
public class CtbAmacRicambi extends EntityBase {
|
||||
public static final String ENTITY = "ctb_amac_ricambi";
|
||||
|
||||
private static final Logger logger = LogManager.getLogger();
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Identity
|
||||
@PK
|
||||
@SqlField(nullable = false)
|
||||
private Long id;
|
||||
|
||||
@SqlField(value = "cod_cmac", maxLength = 20, nullable = false)
|
||||
private String codCmac;
|
||||
|
||||
@SqlField(maxLength = 100)
|
||||
private String sezione;
|
||||
|
||||
@SqlField(value = "cod_mart", maxLength = 150, nullable = false)
|
||||
private String codMart;
|
||||
|
||||
@SqlField(value = "durata_gg")
|
||||
private Integer durataGg;
|
||||
|
||||
public CtbAmacRicambi() {
|
||||
super(logger);
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public CtbAmacRicambi setId(Long id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodCmac() {
|
||||
return codCmac;
|
||||
}
|
||||
|
||||
public CtbAmacRicambi setCodCmac(String codCmac) {
|
||||
this.codCmac = codCmac;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getSezione() {
|
||||
return sezione;
|
||||
}
|
||||
|
||||
public CtbAmacRicambi setSezione(String sezione) {
|
||||
this.sezione = sezione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
}
|
||||
|
||||
public CtbAmacRicambi setCodMart(String codMart) {
|
||||
this.codMart = codMart;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Integer getDurataGg() {
|
||||
return durataGg;
|
||||
}
|
||||
|
||||
public CtbAmacRicambi setDurataGg(Integer durataGg) {
|
||||
this.durataGg = durataGg;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -460,6 +460,9 @@ public class DtbOrdt extends DtbDocOrdT implements EquatableEntityInterface<DtbO
|
||||
@EntityChild
|
||||
private List<ArlSchaccOrd> arlSchaccOrd = new ArrayList<>();
|
||||
|
||||
@EntityChild
|
||||
private CrlAmacManutenzioniOrd crlAmacManutenzioniOrd;
|
||||
|
||||
@Priority(1)
|
||||
private JtbComt jtbComt;
|
||||
|
||||
@@ -1725,6 +1728,15 @@ public class DtbOrdt extends DtbDocOrdT implements EquatableEntityInterface<DtbO
|
||||
return this;
|
||||
}
|
||||
|
||||
public CrlAmacManutenzioniOrd getCrlAmacManutenzioniOrd() {
|
||||
return crlAmacManutenzioniOrd;
|
||||
}
|
||||
|
||||
public DtbOrdt setCrlAmacManutenzioniOrd(CrlAmacManutenzioniOrd crlAmacManutenzioniOrd) {
|
||||
this.crlAmacManutenzioniOrd = crlAmacManutenzioniOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public JtbComt getJtbComt() {
|
||||
return jtbComt;
|
||||
}
|
||||
@@ -1838,6 +1850,9 @@ public class DtbOrdt extends DtbDocOrdT implements EquatableEntityInterface<DtbO
|
||||
for (ArlSchaccOrd arlSchaccOrd : getArlSchaccOrd()) {
|
||||
arlSchaccOrd.manageWithParentConnection(connection, arlSchaccOrd.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
if (getCrlAmacManutenzioniOrd() != null) {
|
||||
crlAmacManutenzioniOrd.manageWithParentConnection(connection, crlAmacManutenzioniOrd.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1890,6 +1905,8 @@ public class DtbOrdt extends DtbDocOrdT implements EquatableEntityInterface<DtbO
|
||||
if (jtbLott != null) {
|
||||
jtbLott.manageWithParentConnection(connection, jtbLott.getOperation(), dataCompleting, entityHolder);
|
||||
}
|
||||
CrlAmacManutenzioniOrd crlAmacManutenzioniOrd = new CrlAmacManutenzioniOrd();
|
||||
crlAmacManutenzioniOrd.deleteAllEntities(connection, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package it.integry.ems.machine.controller;
|
||||
|
||||
import it.integry.ems.machine.dto.CreateManutenzioneRequestDTO;
|
||||
import it.integry.ems.machine.service.MachineService;
|
||||
import it.integry.ems.response.ServiceRestResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@Scope(value = "request")
|
||||
@RequestMapping(value = "machine")
|
||||
public class MachineController {
|
||||
@Autowired
|
||||
private MachineService machineService;
|
||||
|
||||
@PostMapping(value = "manutenzione")
|
||||
public ServiceRestResponse create(@RequestPart CreateManutenzioneRequestDTO createManutenzioneRequestDTO,
|
||||
@RequestPart(value = "allegati", required = false) List<MultipartFile> allegati) throws Exception {
|
||||
createManutenzioneRequestDTO.setAllegati(allegati);
|
||||
|
||||
return ServiceRestResponse.createPositiveResponse(machineService.createManutenzione(createManutenzioneRequestDTO));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,158 @@
|
||||
package it.integry.ems.machine.dto;
|
||||
|
||||
import it.integry.ems_model.entity.CtbAmacManutenzioni;
|
||||
import it.integry.ems_model.entity.DtbOrdr;
|
||||
import it.integry.ems_model.utility.UtilityString;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class CreateManutenzioneRequestDTO {
|
||||
private String codCmac;
|
||||
|
||||
private Long id;
|
||||
private String descrizione;
|
||||
private Date dataManutenzione;
|
||||
private Date dataIniz;
|
||||
private Date dataFine;
|
||||
private CtbAmacManutenzioni.MaintenanceStatus stato;
|
||||
private String esito;
|
||||
private Float oreLavoro;
|
||||
private Boolean esitoPositivo;
|
||||
private Boolean manutenzioneOrdinaria;
|
||||
private String nomeSquadra;
|
||||
private List<DtbOrdr> ricambiSostituiti;
|
||||
|
||||
private List<MultipartFile> allegati;
|
||||
|
||||
public boolean isValid() {
|
||||
return !UtilityString.isNullOrEmpty(codCmac);
|
||||
}
|
||||
|
||||
public String getCodCmac() {
|
||||
return codCmac;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setCodCmac(String codCmac) {
|
||||
this.codCmac = codCmac;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setId(Long id) {
|
||||
this.id = id;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDescrizione() {
|
||||
return descrizione;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setDescrizione(String descrizione) {
|
||||
this.descrizione = descrizione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataManutenzione() {
|
||||
return dataManutenzione;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setDataManutenzione(Date dataManutenzione) {
|
||||
this.dataManutenzione = dataManutenzione;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataIniz() {
|
||||
return dataIniz;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setDataIniz(Date dataIniz) {
|
||||
this.dataIniz = dataIniz;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Date getDataFine() {
|
||||
return dataFine;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setDataFine(Date dataFine) {
|
||||
this.dataFine = dataFine;
|
||||
return this;
|
||||
}
|
||||
|
||||
public CtbAmacManutenzioni.MaintenanceStatus getStato() {
|
||||
return stato;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setStato(CtbAmacManutenzioni.MaintenanceStatus stato) {
|
||||
this.stato = stato;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getEsito() {
|
||||
return esito;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setEsito(String esito) {
|
||||
this.esito = esito;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Float getOreLavoro() {
|
||||
return oreLavoro;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setOreLavoro(Float oreLavoro) {
|
||||
this.oreLavoro = oreLavoro;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Boolean getEsitoPositivo() {
|
||||
return esitoPositivo;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setEsitoPositivo(Boolean esitoPositivo) {
|
||||
this.esitoPositivo = esitoPositivo;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Boolean getManutenzioneOrdinaria() {
|
||||
return manutenzioneOrdinaria;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setManutenzioneOrdinaria(Boolean manutenzioneOrdinaria) {
|
||||
this.manutenzioneOrdinaria = manutenzioneOrdinaria;
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getNomeSquadra() {
|
||||
return nomeSquadra;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setNomeSquadra(String nomeSquadra) {
|
||||
this.nomeSquadra = nomeSquadra;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<DtbOrdr> getRicambiSostituiti() {
|
||||
return ricambiSostituiti;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setRicambiSostituiti(List<DtbOrdr> ricambiSostituiti) {
|
||||
this.ricambiSostituiti = ricambiSostituiti;
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<MultipartFile> getAllegati() {
|
||||
return allegati;
|
||||
}
|
||||
|
||||
public CreateManutenzioneRequestDTO setAllegati(List<MultipartFile> allegati) {
|
||||
this.allegati = allegati;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,217 @@
|
||||
package it.integry.ems.machine.service;
|
||||
|
||||
import it.integry.ems.exception.MissingDataException;
|
||||
import it.integry.ems.machine.dto.CreateManutenzioneRequestDTO;
|
||||
import it.integry.ems.production.service.ProductionService;
|
||||
import it.integry.ems.service.AziendaService;
|
||||
import it.integry.ems.service.EntityProcessor;
|
||||
import it.integry.ems.sync.MultiDBTransaction.MultiDBTransactionManager;
|
||||
import it.integry.ems.utility.UtilityEntity;
|
||||
import it.integry.ems_model.base.EntityBase;
|
||||
import it.integry.ems_model.entity.*;
|
||||
import it.integry.ems_model.types.OperationType;
|
||||
import it.integry.ems_model.utility.Query;
|
||||
import it.integry.ems_model.utility.UtilityDB;
|
||||
import it.integry.ems_model.utility.UtilityList;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@Scope(value = "request")
|
||||
public class MachineService {
|
||||
@Autowired
|
||||
private MultiDBTransactionManager multiDBTransactionManager;
|
||||
|
||||
@Autowired
|
||||
private EntityProcessor entityProcessor;
|
||||
|
||||
@Autowired
|
||||
private AziendaService aziendaService;
|
||||
@Autowired
|
||||
private ProductionService productionService;
|
||||
|
||||
public CtbAmac createManutenzione(CreateManutenzioneRequestDTO dto) throws Exception {
|
||||
if (!dto.isValid()) {
|
||||
throw new MissingDataException("Dto incompleto");
|
||||
}
|
||||
|
||||
try {
|
||||
CtbAmacManutenzioni ctbAmacManutenzioni = new CtbAmacManutenzioni()
|
||||
.setDescrizione(dto.getDescrizione())
|
||||
.setDataManutenzione(dto.getDataManutenzione())
|
||||
.setDataIniz(dto.getDataIniz())
|
||||
.setDataFine(dto.getDataFine())
|
||||
.setStato(dto.getStato())
|
||||
.setEsito(dto.getEsito())
|
||||
.setOreLavoro(dto.getOreLavoro())
|
||||
.setEsitoPositivo(dto.getEsitoPositivo())
|
||||
.setManutenzioneOrdinaria(dto.getManutenzioneOrdinaria())
|
||||
.setNomeSquadra(dto.getNomeSquadra());
|
||||
|
||||
if (dto.getId() != null) {
|
||||
ctbAmacManutenzioni.setId(dto.getId());
|
||||
|
||||
ctbAmacManutenzioni.setOperation(OperationType.UPDATE);
|
||||
} else {
|
||||
ctbAmacManutenzioni.setDataInserimento(new Date());
|
||||
|
||||
ctbAmacManutenzioni.setOperation(OperationType.INSERT);
|
||||
}
|
||||
|
||||
CtbAmac ctbAmac = new CtbAmac()
|
||||
.setCodCmac(dto.getCodCmac())
|
||||
.setCtbAmacManutenzioni(new ArrayList<>());
|
||||
|
||||
ctbAmac.getCtbAmacManutenzioni().add(ctbAmacManutenzioni);
|
||||
|
||||
ctbAmac.setOperation(OperationType.NO_OP);
|
||||
|
||||
entityProcessor.processEntity(ctbAmac, true, multiDBTransactionManager);
|
||||
|
||||
List<EntityBase> entitiesToSave = new ArrayList<>();
|
||||
|
||||
String sql = Query.format(
|
||||
"SELECT id_manutenzione, gestione, data_ord, num_ord\n" +
|
||||
"FROM crl_amac_manutenzioni_ord\n" +
|
||||
"where id_manutenzione = %s",
|
||||
ctbAmacManutenzioni.getId()
|
||||
);
|
||||
|
||||
CrlAmacManutenzioniOrd crlAmacManutenzioniOrd = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(multiDBTransactionManager.getPrimaryConnection(), sql, CrlAmacManutenzioniOrd.class);
|
||||
|
||||
DtbOrdt dtbOrdt = new DtbOrdt();
|
||||
|
||||
if (!UtilityList.isNullOrEmpty(dto.getRicambiSostituiti())) {
|
||||
dtbOrdt.setDtbOrdr(dto.getRicambiSostituiti());
|
||||
}
|
||||
|
||||
if (crlAmacManutenzioniOrd != null) {
|
||||
crlAmacManutenzioniOrd.setOperation(OperationType.UPDATE);
|
||||
|
||||
dtbOrdt
|
||||
.setGestione(crlAmacManutenzioniOrd.getGestione())
|
||||
.setDataOrd(crlAmacManutenzioniOrd.getDataOrd())
|
||||
.setNumOrd(crlAmacManutenzioniOrd.getNumOrd());
|
||||
|
||||
dtbOrdt.setOperation(OperationType.UPDATE);
|
||||
} else {
|
||||
crlAmacManutenzioniOrd = new CrlAmacManutenzioniOrd()
|
||||
.setIdManutenzione(ctbAmacManutenzioni.getId());
|
||||
|
||||
crlAmacManutenzioniOrd.setOperation(OperationType.INSERT);
|
||||
|
||||
dtbOrdt
|
||||
.setGestione("L")
|
||||
.setDataOrd(ctbAmacManutenzioni.getDataManutenzione())
|
||||
.setCodAnag(aziendaService.retrieveInternalCodAnagFornitore())
|
||||
.setCodMdep("01");
|
||||
|
||||
dtbOrdt.setOperation(OperationType.INSERT);
|
||||
}
|
||||
|
||||
dtbOrdt.setCrlAmacManutenzioniOrd(crlAmacManutenzioniOrd);
|
||||
|
||||
entitiesToSave.add(dtbOrdt);
|
||||
|
||||
if (!UtilityList.isNullOrEmpty(dto.getAllegati())) {
|
||||
for (MultipartFile allegato : dto.getAllegati()) {
|
||||
CrlAmacManutenzioniFiles crlAmacManutenzioniFiles = new CrlAmacManutenzioniFiles()
|
||||
.setIdManutenzione(ctbAmacManutenzioni.getId());
|
||||
|
||||
crlAmacManutenzioniFiles.setOperation(OperationType.INSERT);
|
||||
|
||||
StbFilesAttached stbFilesAttached = new StbFilesAttached()
|
||||
.setFileName(allegato.getOriginalFilename())
|
||||
.setContent(allegato.getBytes())
|
||||
.setDatetimeAttach(new Date())
|
||||
.setFileSize(new BigDecimal(allegato.getBytes().length))
|
||||
.setMimeType(allegato.getContentType())
|
||||
.setCrlAmacManutenzioniFiles(crlAmacManutenzioniFiles);
|
||||
|
||||
stbFilesAttached.setOperation(OperationType.INSERT);
|
||||
|
||||
entitiesToSave.add(stbFilesAttached);
|
||||
}
|
||||
}
|
||||
|
||||
entityProcessor.processEntityList(entitiesToSave, multiDBTransactionManager, true);
|
||||
UtilityEntity.throwEntitiesException(entitiesToSave);
|
||||
|
||||
multiDBTransactionManager.commitAll();
|
||||
|
||||
return ctbAmac;
|
||||
} finally {
|
||||
multiDBTransactionManager.rollbackAll();
|
||||
}
|
||||
|
||||
//$id = array_get($data, "id");
|
||||
// $codCmac = array_get($data, "codCmac");
|
||||
//
|
||||
// $ctbAmac = new EntityItem("ctb_amac");
|
||||
// $ctbAmac
|
||||
// ->no_op()
|
||||
// ->set("codCmac", $codCmac);
|
||||
//
|
||||
// $ctbAmacManutenzioni = new EntityItem("ctb_amac_manutenzioni");
|
||||
// $ctbAmacManutenzioni
|
||||
// ->set("descrizione", $data["descrizione"])
|
||||
// ->setDate("dataManutenzione", $data["dataManutenzione"])
|
||||
// ->setDatetime("dataIniz", $data["dataIniz"])
|
||||
// ->setDatetime("dataFine", $data["dataFine"])
|
||||
// ->set("stato", $data["stato"])
|
||||
// ->set("esito", $data["esito"])
|
||||
// ->set("oreLavoro", $data["oreLavoro"])
|
||||
// ->set("esitoPositivo", array_get($data, "esito_positivo") == "1" ? 1 : 0)
|
||||
// ->set("manutenzioneOrdinaria", array_get($data, "manutenzione_ordinaria") == "1" ? 1 : 0)
|
||||
// ->set("nomeSquadra", $data["nomeSquadra"]);
|
||||
//
|
||||
// if ($id) {
|
||||
// $ctbAmacManutenzioni
|
||||
// ->update()
|
||||
// ->set("id", $id);
|
||||
// } else {
|
||||
// $ctbAmacManutenzioni
|
||||
// ->insert()
|
||||
// ->setDate("dataInserimento", Date::getToday());
|
||||
// }
|
||||
//
|
||||
// $ctbAmac->onlyPkMaster(false)->set("ctbAmacManutenzioni")->append($ctbAmacManutenzioni);
|
||||
//
|
||||
// $ret = $ctbAmac->send();
|
||||
// if ($ret->is_KO()) {
|
||||
// return $ret;
|
||||
// }
|
||||
//
|
||||
// $uploads = $_FILES;
|
||||
//
|
||||
// if (empty($uploads)) {
|
||||
// return $ret;
|
||||
// }
|
||||
//
|
||||
// $resultMac = $ret->get_entity();
|
||||
// $manutenzione = $resultMac["ctbAmacManutenzioni"][0];
|
||||
// foreach ($uploads as $file) {
|
||||
// $filePath = $file["tmp_name"];
|
||||
// if (file_exists($filePath)) {
|
||||
// $crlAmacManutenzioniFiles = new \EntityItem("crl_amac_manutenzioni_files");
|
||||
//
|
||||
// $crlAmacManutenzioniFiles
|
||||
// ->insert()
|
||||
// ->set("idManutenzione", array_get($manutenzione, "id"));
|
||||
//
|
||||
// $ret = Allegati\StbFilesAttached::upload($file, $crlAmacManutenzioniFiles);
|
||||
// if ($ret->is_KO()) {
|
||||
// return $ret;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return $ret;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user