新火炬后端单体项目初始化代码
Houjie
昨天 4f4db2d34a1aaf1af4acb310774f51ffdef30d6a
保养标准:点检标准导入
已修改5个文件
311 ■■■■ 文件已修改
src/main/java/org/jeecg/modules/eam/constant/MaintenanceCategoryEnum.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java 83 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/dto/WeekMaintenanceStandardImport.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandardDetail.java 200 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/constant/MaintenanceCategoryEnum.java
@@ -5,6 +5,6 @@
 */
public enum MaintenanceCategoryEnum {
    POINT_INSPECTION, //点检
    WEEK_MAINTENANCE, //保养
    ;
    QUARTERLY_MAINTENANCE, //季报
    ANNUAL_MAINTENANCE, //年报
}
src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
@@ -7,18 +7,13 @@
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.jeecg.common.api.vo.FileUploadResult;
import org.apache.poi.xssf.usermodel.*;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.util.FileUtil;
import org.jeecg.modules.eam.constant.BusinessCodeConst;
import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum;
import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum;
@@ -33,7 +28,6 @@
import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.util.PoiPublicUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -42,7 +36,10 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.stream.Collectors;
@@ -274,6 +271,7 @@
            params.setTitleRows(2);
            params.setHeadRows(1);
            params.setSheetNum(1);
            params.setLastOfInvalidRow(23);
            params.setNeedSave(true);
            EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest();
            try {
@@ -287,8 +285,10 @@
                standardRequest.setStandardName(standardRequest.getEquipmentName() + "点检标准");
                standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.POINT_INSPECTION.name());
                standardRequest.setEquipmentId(equipment.getId());
                //读取保养明细内容
                List<MaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), MaintenanceStandardImport.class, params);
                //明细项
                List<EamMaintenanceStandardDetail> tableList = list.stream().map(EamMaintenanceStandardDetail::new).collect(Collectors.toList());
                standardRequest.setTableDetailList(tableList);
@@ -313,6 +313,7 @@
        }
        return Result.ok("文件导入完成!");
    }
    /**
     * 通过excel导入数据
@@ -343,7 +344,7 @@
                    continue;
                }
                standardRequest.setStandardName(standardRequest.getEquipmentName() + "保养标准");
                standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.WEEK_MAINTENANCE.name());
                standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.QUARTERLY_MAINTENANCE.name());
                standardRequest.setEquipmentId(equipment.getId());
                //读取保养明细内容
                List<WeekMaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), WeekMaintenanceStandardImport.class, params);
@@ -387,10 +388,17 @@
            }
            Sheet sheet = book.getSheetAt(0);
            //第一行读取
            Row row = sheet.getRow(0);
            //第二行读取
            Row row = sheet.getRow(1);
            //设备编码
            Cell equipmentCode = row.getCell(15);
            Cell equipmentCode = row.getCell(5);
            Cell targetCell = row.getCell(0);
            //文件编码
            String fileCodeValue = getCellValue(targetCell);
            if (fileCodeValue == null || fileCodeValue.trim().isEmpty()) {
                throw new JeecgBootException("Excel【" + file.getOriginalFilename() + "】第二行第一列获取到的设备编号为空!");
            }
            request.setFileCode(fileCodeValue.trim());
            if(CellType.NUMERIC.equals(equipmentCode.getCellType())) {
                request.setEquipmentCode(String.valueOf((int) equipmentCode.getNumericCellValue()));
            }else if(CellType.STRING.equals(equipmentCode.getCellType())) {
@@ -407,50 +415,43 @@
                request.setInitialDate(new Date());
            }
            //设备名称
            Cell equipmentName = row.getCell(13);
            request.setEquipmentName(equipmentName.getStringCellValue());
//            Cell equipmentName = row.getCell(13);
//            request.setEquipmentName(equipmentName.getStringCellValue());
            //第二行读取
            row = sheet.getRow(1);
            row = sheet.getRow(4);
            //保养周期
            Cell period = row.getCell(11);
            Cell period = row.getCell(7);
            if (CellType.NUMERIC.equals(period.getCellType())) {
                request.setMaintenancePeriod((int) period.getNumericCellValue());
            } else {
                //默认点检周期 1
                request.setMaintenancePeriod(1);
            }
            //文件编码
            Cell fileCode = row.getCell(13);
            request.setFileCode(fileCode.getStringCellValue());
            Map<String, PictureData> pictures;
            if (isXSSFWorkbook) {
                pictures = PoiPublicUtil.getSheetPictrues07((XSSFSheet) book.getSheetAt(0), (XSSFWorkbook) book);
            } else {
                pictures = PoiPublicUtil.getSheetPictrues03((HSSFSheet) book.getSheetAt(0), (HSSFWorkbook) book);
            }
            if (CollectionUtil.isNotEmpty(pictures)) {
                //只会存在一张图片
                PictureData pictureData = pictures.get(pictures.keySet().iterator().next());
                byte[] data = pictureData.getData();
                String fileName = request.getEquipmentCode() + "[" + request.getFileCode() + "]" + "." + pictureData.suggestFileExtension();
                FileUploadResult fileUploadResult = FileUtil.uploadFile(data, fileName);
                if(fileUploadResult != null) {
                    List<FileUploadResult> fileList = request.getFileList();
                    if(fileList == null) {
                        fileList = new ArrayList<FileUploadResult>();
                    }
                    fileList.add(fileUploadResult);
                    request.setFileList(fileList);
                }
            }
        } catch (Exception e) {
            log.error("读取Excel信息失败:{}", e.getMessage(), e);
        }
    }
    /**
     * 统一处理单元格值,支持数字和字符串类型
     * @param cell 单元格对象
     * @return 单元格的值,为 null 表示单元格无有效内容
     */
    private String getCellValue(Cell cell) {
        if (cell == null) {
            return null;
        }
        CellType cellType = cell.getCellType();
        if (cellType == CellType.NUMERIC) {
            return String.valueOf((int) cell.getNumericCellValue());
        } else if (cellType == CellType.STRING) {
            return cell.getStringCellValue();
        }
        return null;
    }
    /**
     * 读取Excel 第一行, 第二行的信息
     * @param file
src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java
@@ -8,12 +8,18 @@
@Data
public class MaintenanceStandardImport implements Serializable {
    @Excel(name = "图号", width = 15)
    private Integer itemCode;
    @Excel(name = "点检项目", width = 15)
    @Excel(name = "NO", width = 15)
    private String itemCode;
    @Excel(name = "部位名称", width = 15)
    private String itemName;
    @Excel(name = "点检部位", width = 15)
    @Excel(name = "点检内容", width = 15)
    private String subItemName;
    @Excel(name = "点检方法", width = 15)
    private String itemPart;
    @Excel(name = "点检要求", width = 15)
    @Excel(name = "基准", width = 15)
    private String itemDemand;
}
src/main/java/org/jeecg/modules/eam/dto/WeekMaintenanceStandardImport.java
@@ -8,14 +8,14 @@
@Data
public class WeekMaintenanceStandardImport implements Serializable {
    @Excel(name = "序号", width = 15)
    @Excel(name = "NO", width = 15)
    private Integer itemCode;
    @Excel(name = "保养大项目", width = 15)
    @Excel(name = "部位名称", width = 15)
    private String itemName;
    @Excel(name = "子项目", width = 15)
    private String subItemName;
    @Excel(name = "部位/类型", width = 15)
    @Excel(name = "点检内容", width = 15)
    private String itemPart;
    @Excel(name = "保养要求", width = 15)
    @Excel(name = "基    准", width = 15)
    private String itemDemand;
}
src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandardDetail.java
@@ -1,106 +1,106 @@
package org.jeecg.modules.eam.entity;
    package org.jeecg.modules.eam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.modules.eam.dto.MaintenanceStandardImport;
import org.jeecg.modules.eam.dto.SecondMaintenanceStandardImport;
import org.jeecg.modules.eam.dto.ThirdMaintenanceStandardImport;
import org.jeecg.modules.eam.dto.WeekMaintenanceStandardImport;
    import com.baomidou.mybatisplus.annotation.IdType;
    import com.baomidou.mybatisplus.annotation.TableId;
    import com.baomidou.mybatisplus.annotation.TableName;
    import io.swagger.annotations.ApiModel;
    import io.swagger.annotations.ApiModelProperty;
    import lombok.Data;
    import lombok.EqualsAndHashCode;
    import lombok.experimental.Accessors;
    import org.jeecg.modules.eam.dto.MaintenanceStandardImport;
    import org.jeecg.modules.eam.dto.SecondMaintenanceStandardImport;
    import org.jeecg.modules.eam.dto.ThirdMaintenanceStandardImport;
    import org.jeecg.modules.eam.dto.WeekMaintenanceStandardImport;
import java.io.Serializable;
import java.util.Date;
/**
 * @Description: 保养标准明细
 * @Author: jeecg-boot
 * @Date:   2025-03-26
 * @Version: V1.0
 */
@Data
@TableName("eam_maintenance_standard_detail")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="eam_maintenance_standard_detail对象", description="保养标准明细")
public class EamMaintenanceStandardDetail implements Serializable {
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**保养标准ID*/
    @ApiModelProperty(value = "保养标准ID")
    private String standardId;
    /**保养项序号*/
    @ApiModelProperty(value = "保养项序号")
    private Integer itemCode;
    /**部位*/
    @ApiModelProperty(value = "部位")
    private String itemPart;
    /**保养项*/
    @ApiModelProperty(value = "保养项")
    private String itemName;
    /**子保养项*/
    @ApiModelProperty(value = "子保养项")
    private String subItemName;
    /**检查标准或要求*/
    @ApiModelProperty(value = "检查标准或要求")
    private String itemDemand;
    /**保养要求2*/
    @ApiModelProperty(value = "保养要求2")
    private String itemDemandAlias;
    /**检查方法*/
    @ApiModelProperty(value = "检查方法")
    private String checkMethod;
    import java.io.Serializable;
    import java.util.Date;
    /**
     * @Description: 保养标准明细
     * @Author: jeecg-boot
     * @Date:   2025-03-26
     * @Version: V1.0
     */
    @Data
    @TableName("eam_maintenance_standard_detail")
    @EqualsAndHashCode(callSuper = false)
    @Accessors(chain = true)
    @ApiModel(value="eam_maintenance_standard_detail对象", description="保养标准明细")
    public class EamMaintenanceStandardDetail implements Serializable {
        /**主键*/
        @TableId(type = IdType.ASSIGN_ID)
        @ApiModelProperty(value = "主键")
        private String id;
        /**创建人*/
        @ApiModelProperty(value = "创建人")
        private String createBy;
        /**创建时间*/
        @ApiModelProperty(value = "创建时间")
        private Date createTime;
        /**更新人*/
        @ApiModelProperty(value = "更新人")
        private String updateBy;
        /**更新时间*/
        @ApiModelProperty(value = "更新时间")
        private Date updateTime;
        /**保养标准ID*/
        @ApiModelProperty(value = "保养标准ID")
        private String standardId;
        /**保养项序号*/
        @ApiModelProperty(value = "保养项序号")
        private Integer itemCode;
        /**部位*/
        @ApiModelProperty(value = "部位")
        private String itemPart;
        /**保养项*/
        @ApiModelProperty(value = "保养项")
        private String itemName;
        /**子保养项*/
        @ApiModelProperty(value = "子保养项")
        private String subItemName;
        /**检查标准或要求*/
        @ApiModelProperty(value = "检查标准或要求")
        private String itemDemand;
        /**保养要求2*/
        @ApiModelProperty(value = "保养要求2")
        private String itemDemandAlias;
        /**检查方法*/
        @ApiModelProperty(value = "检查方法")
        private String checkMethod;
    public EamMaintenanceStandardDetail(){}
        public EamMaintenanceStandardDetail(){}
    public EamMaintenanceStandardDetail(MaintenanceStandardImport dto) {
        this.itemCode = dto.getItemCode();
        this.itemPart = dto.getItemPart();
        this.itemName = dto.getItemName();
        this.itemDemand = dto.getItemDemand();
        public EamMaintenanceStandardDetail(MaintenanceStandardImport dto) {
            this.itemCode = Integer.valueOf(dto.getItemCode());
            this.itemPart = dto.getItemPart();
            this.itemName = dto.getItemName();
            this.itemDemand = dto.getItemDemand();
        }
        public EamMaintenanceStandardDetail(WeekMaintenanceStandardImport dto) {
            this.itemCode = dto.getItemCode();
            this.itemName = dto.getItemName();
            this.subItemName = dto.getSubItemName() + " " + (dto.getItemPart() == null ? "" : dto.getItemPart());
            this.itemDemand = dto.getItemDemand();
        }
        public EamMaintenanceStandardDetail(SecondMaintenanceStandardImport dto) {
            this.itemCode = dto.getItemCode();
            this.itemName = dto.getItemName();
            this.itemPart = dto.getItemPart();
            this.itemDemand = dto.getItemDemand();
            this.itemDemandAlias = dto.getItemDemandAlias();
            this.checkMethod = dto.getCheckMethod();
        }
        public EamMaintenanceStandardDetail(ThirdMaintenanceStandardImport dto) {
            this.itemCode = dto.getItemCode();
            this.itemName = dto.getItemName();
            this.itemPart = dto.getItemPart();
            this.itemDemand = dto.getItemDemand();
            this.itemDemandAlias = dto.getItemDemandAlias();
            this.checkMethod = dto.getCheckMethod();
        }
    }
    public EamMaintenanceStandardDetail(WeekMaintenanceStandardImport dto) {
        this.itemCode = dto.getItemCode();
        this.itemName = dto.getItemName();
        this.subItemName = dto.getSubItemName() + " " + (dto.getItemPart() == null ? "" : dto.getItemPart());
        this.itemDemand = dto.getItemDemand();
    }
    public EamMaintenanceStandardDetail(SecondMaintenanceStandardImport dto) {
        this.itemCode = dto.getItemCode();
        this.itemName = dto.getItemName();
        this.itemPart = dto.getItemPart();
        this.itemDemand = dto.getItemDemand();
        this.itemDemandAlias = dto.getItemDemandAlias();
        this.checkMethod = dto.getCheckMethod();
    }
    public EamMaintenanceStandardDetail(ThirdMaintenanceStandardImport dto) {
        this.itemCode = dto.getItemCode();
        this.itemName = dto.getItemName();
        this.itemPart = dto.getItemPart();
        this.itemDemand = dto.getItemDemand();
        this.itemDemandAlias = dto.getItemDemandAlias();
        this.checkMethod = dto.getCheckMethod();
    }
}