新火炬后端单体项目初始化代码
cuilei
8 小时以前 76c5ad320495758d4e76d852d96914f1b405ece7
Merge remote-tracking branch 'origin/master'
已修改11个文件
395 ■■■■ 文件已修改
src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/CuttingInventory.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/CuttingReceiveServiceImpl.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java 218 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandardDetail.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java
@@ -215,4 +215,8 @@
    }
    //TODO: @GetMapping("/handleBack")
    @GetMapping("/handleBack")
    public Result<?> handleBack(@RequestParam("orderId") String orderId) {
        return cuttingReceiveService.handleBack(orderId);
    }
}
src/main/java/org/jeecg/modules/cms/entity/CuttingInventory.java
@@ -77,4 +77,11 @@
    @TableField(exist = false) // 表示这不是数据库字段
    private String cuttingBarcodeSearch;
    @TableField(exist = false) // 表示这不是数据库字段
    private String workpieceMaterial;
    @TableField(exist = false) // 表示这不是数据库字段
    private BigDecimal ratedLife;
}
src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveService.java
@@ -17,4 +17,6 @@
    IPage<Map<String, Object>> getInventoryToolList(Integer pageNo, Integer pageSize, Map<String, Object> params);
    Result<?> submit(String orderId);
    Result<?> handleBack(String orderId);
}
src/main/java/org/jeecg/modules/cms/service/impl/CuttingReceiveServiceImpl.java
@@ -5,17 +5,21 @@
import io.micrometer.core.annotation.Timed;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.cms.entity.CuttingInventory;
import org.jeecg.modules.cms.entity.CuttingReceive;
import org.jeecg.modules.cms.entity.CuttingReceiveDetail;
import org.jeecg.modules.cms.entity.RatedLife;
import org.jeecg.modules.cms.mapper.CuttingReceiveMapper;
import org.jeecg.modules.cms.service.ICuttingInventoryService;
import org.jeecg.modules.cms.service.ICuttingReceiveDetailService;
import org.jeecg.modules.cms.service.ICuttingReceiveService;
import org.jeecg.modules.cms.service.IRatedLifeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -33,6 +37,8 @@
    private ICuttingInventoryService cuttingInventoryService;
    @Autowired
    private ICuttingReceiveDetailService cuttingReceiveDetailService;
    @Autowired
    private IRatedLifeService ratedLifeService;
    @Override
    public IPage<Map<String, Object>> getInventoryToolList(Integer pageNo, Integer pageSize, Map<String, Object> params) {
        IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
@@ -88,4 +94,75 @@
            return Result.error("提交失败: " + e.getMessage());
        }
    }
    @Override
    public synchronized Result<?> handleBack(String orderId) {
        long startTime = System.currentTimeMillis();
        try {
            // 1. 更新领用单状态为已归还
            CuttingReceive cuttingReceive = this.getById(orderId);
            if (cuttingReceive == null) {
                return Result.error("未找到对应的领用单");
            }
            // 检查领用单状态,只允许状态为"已领用"的领用单进行归还操作
            if (!"2".equals(cuttingReceive.getOrderStatus())) {
                return Result.error("只有状态为已领用的领用单才能执行归还操作");
            }
            cuttingReceive.setOrderStatus("3"); // 设置为已归还状态
            boolean updateResult = this.updateById(cuttingReceive);
            if (!updateResult) {
                return Result.error("更新领用单状态失败,可能已被其他用户处理");
            }
            // 2. 获取领用明细
            List<CuttingReceiveDetail> detailList = cuttingReceiveDetailService.lambdaQuery()
                    .eq(CuttingReceiveDetail::getOrderId, orderId)
                    .list();
            // 3. 收集所有需要更新状态的库存ID
            List<String> inventoryIds = new ArrayList<>();
            for (CuttingReceiveDetail detail : detailList) {
                if (detail.getInventoryId() != null && !detail.getInventoryId().isEmpty()) {
                    inventoryIds.add(detail.getInventoryId());
                }
            }
            // 4. 批量更新库存状态为"正常"
            if (!inventoryIds.isEmpty()) {
                cuttingInventoryService.updateStatus(inventoryIds, "正常");
            }
            // 5. 寿命扣减
            for (CuttingReceiveDetail detail : detailList) {
                if (detail.getInventoryId() != null && !detail.getInventoryId().isEmpty()) {
                    CuttingInventory inventory = cuttingInventoryService.getById(detail.getInventoryId());
                    //FIXME:ratedLife空指针
                    RatedLife ratedLife = ratedLifeService.lambdaQuery() //额定寿命
                            .eq(RatedLife::getCuttingId, inventory.getCuttingId())
                            .eq(RatedLife::getWorkpieceMaterial, inventory.getWorkpieceMaterial())
                            .one();
                    BigDecimal currentLife = inventory.getCurrentLife().divide(BigDecimal.valueOf(100),java.math.RoundingMode.HALF_UP);//当前寿命百分比
                    Integer useLife = detail.getUsedLife();//使用寿命
                    //计算公式: (ratedLife * currentLife - useLife) * 100
                    BigDecimal newLife = ratedLife.getRatedLife()
                            .multiply(currentLife)
                            .subtract(BigDecimal.valueOf(useLife))
                            .multiply(BigDecimal.valueOf(100));
                    // 更新库存寿命
                    inventory.setCurrentLife(newLife);
                    cuttingInventoryService.updateById(inventory);
                }
            }
            long endTime = System.currentTimeMillis();
            log.info("刀具归还处理完成,耗时: {} ms", (endTime - startTime));
            return Result.ok("归还成功");
        } catch (Exception e) {
            long endTime = System.currentTimeMillis();
            log.error("处理归还失败,orderId: " + orderId + ",耗时: " + (endTime - startTime) + " ms", e);
            return Result.error("归还失败: " + e.getMessage());
        }
    }
}
src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
@@ -9,7 +9,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.constant.CommonConstant;
@@ -25,7 +25,6 @@
import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail;
import org.jeecg.modules.eam.request.EamMaintenanceStandardRequest;
import org.jeecg.modules.eam.service.IEamEquipmentService;
import org.jeecg.modules.eam.service.IEamMaintenanceOrderDetailService;
import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService;
import org.jeecg.modules.eam.service.IEamMaintenanceStandardService;
import org.jeecg.modules.eam.vo.MaintenanceStandardDetailVo;
@@ -43,10 +42,11 @@
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.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
@@ -296,37 +296,58 @@
     * @return
     */
    @RequestMapping(value = "/inspectionImportExcel", method = RequestMethod.POST)
    public Result<?> inspectionImportExcel(HttpServletRequest request, HttpServletResponse response) {
    public Result<?> inspectionImportExcel(HttpServletRequest request, HttpServletResponse response) throws IOException {
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
            // 获取上传文件对象
            MultipartFile file = entity.getValue();
            byte[] bytes = file.getBytes();
            ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
            ImportParams params = new ImportParams();
            params.setTitleRows(2);
            params.setHeadRows(1);
            params.setSheetNum(1);
            params.setLastOfInvalidRow(23);
            params.setTitleRows(2);  // 跳过前2行标题
            params.setHeadRows(2);   // 第3行是表头
            params.setSheetNum(1);   // 读取第一个工作表
            params.setNeedSave(true);
            EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest();
            try {
                //读取设备编号,图片等
                readExcel(file, standardRequest);
                log.info("读取到的设备编码: {}", standardRequest.getEquipmentCode());
                EamEquipment equipment = eamEquipmentService.selectByEquipmentCode(standardRequest.getEquipmentCode());
                if(equipment == null) {
                    log.error("设备不存在:{}", standardRequest.getEquipmentCode());
                    continue;
                }
                standardRequest.setStandardName(standardRequest.getEquipmentName() + "点检标准");
                standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.POINT_INSPECTION.name());
                standardRequest.setEquipmentId(equipment.getId());
                //读取保养明细内容
                List<MaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), MaintenanceStandardImport.class, params);
                // 读取保养明细内容前添加调试信息
                log.info("Excel导入参数: titleRows={}, headRows={}, lastOfInvalidRow={}",
                        params.getTitleRows(), params.getHeadRows(), params.getLastOfInvalidRow());
                List<MaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), MaintenanceStandardImport.class, params);
                log.info("实际读取到的明细数量: {}", list.size());
                //明细项
                List<EamMaintenanceStandardDetail> tableList = list.stream().map(EamMaintenanceStandardDetail::new).collect(Collectors.toList());
                List<EamMaintenanceStandardDetail> tableList = new ArrayList<>();
                for(MaintenanceStandardImport maintenanceStandardImport : list) {
                    try {
                        Integer.valueOf(maintenanceStandardImport.getItemCode());
                    } catch (NumberFormatException e) {
                        break;
                    }
                    tableList.add(new EamMaintenanceStandardDetail(maintenanceStandardImport));
                }
                standardRequest.setTableDetailList(tableList);
                log.info("转换后的明细数量: {}", tableList.size());
                String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
                standardRequest.setStandardCode(codeSeq);
                boolean b = eamMaintenanceStandardService.addMaintenanceStandard(standardRequest);
@@ -334,10 +355,8 @@
                    log.error("保存失败! {}", standardRequest.getEquipmentCode());
                }
            } catch (Exception e) {
                //update-begin-author:taoyan date:20211124 for: 导入数据重复增加提示
                String msg = e.getMessage();
                log.error("文件 {} 处理异常: {}", file.getOriginalFilename(), msg, e);
                //update-end-author:taoyan date:20211124 for: 导入数据重复增加提示
            } finally {
                try {
                    file.getInputStream().close();
@@ -350,8 +369,10 @@
    }
    /**
     * 通过excel导入数据
     * 季保通过excel导入数据
     *
     * @param request
     * @param response
@@ -368,6 +389,7 @@
            params.setTitleRows(2);
            params.setHeadRows(1);
            params.setSheetNum(1);
            params.setLastOfInvalidRow(23);
            params.setNeedSave(true);
            EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest();
            try {
@@ -379,6 +401,7 @@
                    continue;
                }
                standardRequest.setStandardName(standardRequest.getEquipmentName() + "保养标准");
                standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.QUARTERLY_MAINTENANCE.name());
                standardRequest.setEquipmentId(equipment.getId());
                //读取保养明细内容
@@ -408,6 +431,68 @@
        return Result.ok("文件导入完成!");
    }
    /**
     * 年保通过excel导入数据
     *
     * @param request
     * @param response
     * @return
     */
    @RequestMapping(value = "/annualMaintenanceImportExcel", method = RequestMethod.POST)
    public Result<?> annualMaintenanceImportExcel(HttpServletRequest request, HttpServletResponse response) {
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
            // 获取上传文件对象
            MultipartFile file = entity.getValue();
            ImportParams params = new ImportParams();
            params.setTitleRows(2);
            params.setHeadRows(1);
            params.setSheetNum(1);
            params.setLastOfInvalidRow(23);
            params.setNeedSave(true);
            EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest();
            try {
                //读取设备编号,图片等
                readWeekExcel(file, standardRequest);
                EamEquipment equipment = eamEquipmentService.selectByEquipmentCode(standardRequest.getEquipmentCode());
                if(equipment == null) {
                    log.error("设备不存在:{}", standardRequest.getEquipmentCode());
                    continue;
                }
                standardRequest.setStandardName(standardRequest.getEquipmentName() + "保养标准");
                standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.ANNUAL_MAINTENANCE.name());
                standardRequest.setEquipmentId(equipment.getId());
                //读取保养明细内容
                List<WeekMaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), WeekMaintenanceStandardImport.class, params);
                //明细项
                List<EamMaintenanceStandardDetail> tableList = list.stream().map(EamMaintenanceStandardDetail::new).collect(Collectors.toList());
                standardRequest.setTableDetailList(tableList);
                String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE);
                standardRequest.setStandardCode(codeSeq);
                boolean b = eamMaintenanceStandardService.addMaintenanceStandard(standardRequest);
                if (!b) {
                    log.error("保存失败! {}", standardRequest.getEquipmentCode());
                }
            } catch (Exception e) {
                //update-begin-author:taoyan date:20211124 for: 导入数据重复增加提示
                String msg = e.getMessage();
                log.error("文件 {} 处理异常: {}", file.getOriginalFilename(), msg, e);
                //update-end-author:taoyan date:20211124 for: 导入数据重复增加提示
            } finally {
                try {
                    file.getInputStream().close();
                } catch (IOException e) {
                    log.error(e.getMessage(), e);
                }
            }
        }
        return Result.ok("文件导入完成!");
    }
    /**
     * 读取Excel 第一行, 第二行的信息,包括图片信息
     * @param file
@@ -426,7 +511,7 @@
            //第二行读取
            Row row = sheet.getRow(1);
            //设备编码
            Cell equipmentCode = row.getCell(5);
            Cell equipmentCode = row.getCell(8);
            Cell targetCell = row.getCell(0);
            //文件编码
            String fileCodeValue = getCellValue(targetCell);
@@ -434,11 +519,16 @@
                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())) {
                request.setEquipmentCode(equipmentCode.getStringCellValue());
//            if(CellType.NUMERIC.equals(equipmentCode.getCellType())) {
//                request.setEquipmentCode(String.valueOf((int) equipmentCode.getNumericCellValue()));
//            }else if(CellType.STRING.equals(equipmentCode.getCellType())) {
//                request.setEquipmentCode(equipmentCode.getStringCellValue());
//            }
            String equipmentCodeStr = extractEquipmentCode(equipmentCode);
            if (StringUtils.isBlank(equipmentCodeStr)) {
                throw new JeecgBootException("Excel【 " + file.getOriginalFilename() + "】没有读取到有效的设备编号,导入失败!");
            }
            request.setEquipmentCode(equipmentCodeStr);
            if (StringUtils.isBlank(request.getEquipmentCode())) {
                throw new JeecgBootException("Excel【 " + file.getOriginalFilename() + "】没有读取到设备编号,导入失败!");
            }
@@ -502,10 +592,16 @@
            }
            Sheet sheet = book.getSheetAt(0);
            //第一行读取
            Row row = sheet.getRow(0);
            //第二行读取
            Row row = sheet.getRow(1);
            //设备编码
            Cell equipmentCode = row.getCell(10);
            Cell equipmentCode = row.getCell(13);
            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())) {
@@ -515,20 +611,20 @@
                throw new JeecgBootException("Excel【 " + file.getOriginalFilename() + "】没有读取到设备编号,导入失败!");
            }
            //初始日期
            Cell initialDate = row.getCell(6);
            Cell initialDate = row.getCell(11);
            if (DateUtil.isCellDateFormatted(initialDate)) {
                request.setInitialDate(initialDate.getDateCellValue());
            } else {
                request.setInitialDate(new Date());
            }
            //设备名称
            Cell equipmentName = row.getCell(8);
            request.setEquipmentName(equipmentName.getStringCellValue());
//            Cell equipmentName = row.getCell(8);
//            request.setEquipmentName(equipmentName.getStringCellValue());
            //第二行读取
            row = sheet.getRow(1);
            row = sheet.getRow(4);
            //保养周期
            Cell period = row.getCell(6);
            Cell period = row.getCell(7);
            if (CellType.NUMERIC.equals(period.getCellType())) {
                request.setMaintenancePeriod((int) period.getNumericCellValue());
            } else {
@@ -541,4 +637,72 @@
            log.error("读取Excel信息失败:{}", e.getMessage(), e);
        }
    }
    private int findDataEndRow(InputStream inputStream) throws IOException {
        Workbook workbook = null;
        try {
            workbook = WorkbookFactory.create(inputStream);
            Sheet sheet = workbook.getSheetAt(0);
            int lastRowNum = sheet.getLastRowNum();
            log.info("Excel文件总行数: {}", lastRowNum);
            // 找到"实施要领"行,作为数据结束的标志
            for (int i = 0; i <= lastRowNum; i++) {
                Row row = sheet.getRow(i);
                if (row == null) continue;
                // 检查第A列是否包含"实施要领"
                Cell cell = row.getCell(0);
                if (cell != null && cell.getCellType() == CellType.STRING) {
                    String value = getCellValue(cell).replaceAll("\\s+", "");
                    if ("实施要领".equals(value)) {
                        log.info("找到'实施要领'在第{}行", i);
                        return i - 1; // 返回"实施要领"行之前的行号
                    }
                }
            }
            // 如果没有找到"实施要领",返回最后一行
            log.info("未找到'实施要领',返回最后一行: {}", lastRowNum);
            return lastRowNum;
        } finally {
            if (workbook != null) {
                workbook.close();
            }
        }
    }
    /**
     * 从单元格中提取设备编号,去除前缀如"设备编号:"
     * @param cell 单元格对象
     * @return 纯设备编号字符串
     */
    private String extractEquipmentCode(Cell cell) {
        if (cell == null) {
            return null;
        }
        String cellValue = getCellValue(cell);
        if (StringUtils.isBlank(cellValue)) {
            return null;
        }
        // 去除前后空格
        cellValue = cellValue.trim();
        // 使用正则表达式提取数字部分
        Pattern pattern = Pattern.compile("\\d+");
        Matcher matcher = pattern.matcher(cellValue);
        if (matcher.find()) {
            return matcher.group();
        }
        // 如果没有找到数字,返回原值(可能有其他格式)
        return cellValue;
    }
}
src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java
@@ -8,18 +8,46 @@
@Data
public class MaintenanceStandardImport implements Serializable {
    @Excel(name = "NO", width = 15)
//    @Excel(name = "NO", width = 15)
//    private String itemCode;
//
//    @Excel(name = "点检内容", width = 15)
//    private String itemName;
//
//    @Excel(name = "点检方法", width = 15)
//    private String subItemName;
//
//    @Excel(name = "部位名称", width = 15)
//    private String itemPart;
//
//    @Excel(name = "基准", width = 15)
//    private String itemDemand;
    @Excel(name = "NO")
    private String itemCode;
    @Excel(name = "点检内容", width = 15)
    private String itemName;
    @Excel(name = "点检条件")
    private String condition;
    @Excel(name = "点检方法", width = 15)
    private String subItemName;
    @Excel(name = "部位名称", width = 15)
    @Excel(name = "部位名称")
    private String itemPart;
    @Excel(name = "基准", width = 15)
    @Excel(name = "点检内容")
    private String itemName;
    @Excel(name = "点检方法")
    private String subItemName;
    @Excel(name = "基准")
    private String itemDemand;
    @Excel(name = "异常处理基准")
    private String abnormal;
    @Excel(name = "周期")
    private String period;
}
src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java
@@ -83,9 +83,9 @@
    /**
     * 使用部门
     */
    @Excel(name = "使用车间", width = 25, dictTable = "mdc_production", dicText = "production_name", dicCode = "id", orderNum = "9")
    @Excel(name = "使用车间", width = 25, dictTable = "base_factory", dicText = "factory_name", dicCode = "id", orderNum = "9")
    @ApiModelProperty(value = "使用部门")
    @Dict(dicCode = "mdc_production, production_name, id")
    @Dict(dicCode = "base_factory, factory_name, id")
    private String orgId;
    /**
     * 设备管理员
src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java
@@ -115,12 +115,6 @@
     */
    @ApiModelProperty(value = "参考文件")
    private String referenceFile;
    /**
     * 最新生成工单时间
     * 下一次生成时间为此时间 + 保养周期
     */
    @ApiModelProperty(value = "最新生成工单时间")
    private Date lastGenerateTime;
    //列表展示
    @TableField(exist = false)
src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandardDetail.java
@@ -75,6 +75,7 @@
        public EamMaintenanceStandardDetail(MaintenanceStandardImport dto) {
            this.itemCode = Integer.valueOf(dto.getItemCode());
            this.itemPart = dto.getItemPart();
            this.checkMethod=dto.getCondition();
            this.itemName = dto.getItemName();
            this.itemDemand = dto.getItemDemand();
        }
src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java
@@ -103,14 +103,14 @@
        if (sysUser == null) {
            return page;
        }
        if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
            //选择了设备,根据设备id过滤设备
            List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
            queryWrapper.in("e.equipment_code", equipArr);
        } else {
            //没有选择设备,根据车间过滤设备
            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id", sysUser.getId());
        }
//        if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
//            //选择了设备,根据设备id过滤设备
//            List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
//            queryWrapper.in("e.equipment_code", equipArr);
//        } else {
//            //没有选择设备,根据车间过滤设备
//            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id", sysUser.getId());
//        }
        //查询条件过滤
        if (eamEquipment != null) {
            if (StringUtils.isNotBlank(eamEquipment.getEquipmentCode())) {
src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java
@@ -55,14 +55,14 @@
        if (sysUser == null) {
            return page;
        }
        if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
            //选择了设备,根据设备id过滤设备
            List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
            queryWrapper.in("e.equipment_code", equipArr);
        } else {
            //没有选择设备,根据车间过滤设备
            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id ", sysUser.getId());
        }
//        if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
//            //选择了设备,根据设备id过滤设备
//            List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
//            queryWrapper.in("e.equipment_code", equipArr);
//        } else {
//            //没有选择设备,根据车间过滤设备
//            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id ", sysUser.getId());
//        }
        if(eamMaintenanceStandard != null) {
            //编码 模糊查询
            if(StringUtils.isNotBlank(eamMaintenanceStandard.getStandardCode())) {