新火炬后端单体项目初始化代码
Houjie
2 天以前 67ac603f410319a0d999e5f493c8ef2d74163fe1
保养标准:点检标准导入 点检名称修改/ 设备台账导入
已修改3个文件
174 ■■■■■ 文件已修改
src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
@@ -16,7 +16,6 @@
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.util.TranslateDictTextUtils;
import org.jeecg.modules.eam.constant.AssetStatusEnum;
import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum;
import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum;
import org.jeecg.modules.eam.entity.EamEquipment;
@@ -82,9 +81,7 @@
//    @AutoLog(value = "设备台账-分页列表查询")
    @ApiOperation(value = "设备台账-分页列表查询", notes = "设备台账-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(EamEquipmentQuery eamEquipment,
                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
    public Result<?> queryPageList(EamEquipmentQuery eamEquipment, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
//        QueryWrapper<EamEquipment> queryWrapper = QueryGenerator.initQueryWrapper(eamEquipment, req.getParameterMap());
        IPage<EamEquipment> page = new Page<>(pageNo, pageSize);
        IPage<EamEquipment> pageList = eamEquipmentService.queryPageList(page, eamEquipment);
@@ -181,7 +178,7 @@
            return Result.error("未找到对应数据");
        }
        EamEquipmentExtend extend = eamEquipmentExtendService.getById(id);
        if(extend != null){
        if (extend != null) {
            eamEquipment.setRepairStatus(extend.getRepairStatus());
            eamEquipment.setMaintenanceStatus(extend.getMaintenanceStatus());
        }
@@ -229,62 +226,54 @@
            // 获取上传文件对象
            MultipartFile file = entity.getValue();
            ImportParams params = new ImportParams();
            params.setTitleRows(0);
            params.setHeadRows(1);
            params.setNeedSave(true);
            params.setHeadRows(1); // 跳过第1行,从第2行开始读取列名
            params.setTitleRows(1); // 第1行为标题行(可选)
            params.setStartSheetIndex(0);
            params.setSheetNum(1);
            try {
                List<EamEquipment> list = ExcelImportUtil.importExcel(file.getInputStream(), EamEquipment.class, params);
                //update-begin-author:taoyan date:20190528 for:批量插入数据
                long start = System.currentTimeMillis();
//                service.saveBatch(list);
                StringBuilder sb = new StringBuilder();
                for (EamEquipment eamEquipment : list) {
                    //必填字段校验
                    boolean isInvalid = false;
                    StringBuilder errorMsg = new StringBuilder();
                    // 设备编号和设备名称校验
                    if (StringUtils.isBlank(eamEquipment.getEquipmentCode()) || StringUtils.isBlank(eamEquipment.getEquipmentName())) {
                        sb.append(String.format("设备编码[%s]或设备名称[%s]为空,无法导入\n\n", eamEquipment.getEquipmentCode(), eamEquipment.getEquipmentName()));
                        continue;
                        errorMsg.append(String.format("设备编码[%s]或设备名称为空,无法导入\n\n", eamEquipment.getEquipmentCode(), eamEquipment.getEquipmentName()));
                        isInvalid = true;
                    }
                    if (StringUtils.isBlank(eamEquipment.getEquipmentCategory())) {
                        sb.append(String.format("设备编码[%s]设备分类为空,无法导入\n\n", eamEquipment.getEquipmentCode()));
                        continue;
                    // 所属产线校验
                    if (StringUtils.isBlank(eamEquipment.getOrgId())) {
                        errorMsg.append(String.format("设备编码[%s]所属产线为空,无法导入\n\n", eamEquipment.getEquipmentCode()));
                        isInvalid = true;
                    }
                    if (StringUtils.isBlank(eamEquipment.getOrgId()) || StringUtils.isBlank(eamEquipment.getEquipmentManager())) {
                        sb.append(String.format("设备编码[%s]使用车间或设备管理员为空,无法导入\n\n", eamEquipment.getEquipmentCode()));
                        continue;
                    }
//                    if (eamEquipment.getAcceptanceCheckDate() == null) {
//                        sb.append(String.format("设备编码[%s]验收为空,无法导入\n\r", eamEquipment.getEquipmentCode()));
//                        continue;
//                    }
//                    if (StringUtils.isBlank(eamEquipment.getTechnologyStatus())) {
//                        sb.append(String.format("设备编码[%s]技术状态为空,无法导入\n\r", eamEquipment.getEquipmentCode()));
//                        continue;
//                    }
                    // 设备编码唯一性校验
                    EamEquipment one = eamEquipmentService.getOne(new LambdaQueryWrapper<EamEquipment>().eq(EamEquipment::getEquipmentCode, eamEquipment.getEquipmentCode()).eq(EamEquipment::getDelFlag, CommonConstant.DEL_FLAG_0));
                    if (one != null) {
                        sb.append(String.format("设备编码[%s]已存在,无法重复导入\n\r", eamEquipment.getEquipmentCode()));
                        errorMsg.append(String.format("设备编码[%s]已存在,无法重复导入\n\r", eamEquipment.getEquipmentCode()));
                        isInvalid = true;
                    }
                    // 校验不通过,记录错误并跳过导入
                    if (isInvalid) {
                        sb.append(errorMsg);
                        continue;
                    }
                    // 校验通过,执行导入
                    if (!CommonConstant.DEFAULT_1.equals(eamEquipment.getMdcFlag())) {
                        eamEquipment.setMdcFlag(CommonConstant.DEFAULT_0);
                    }
                    EamEquipment equipment = eamEquipmentService.saveEquipment(eamEquipment);
                    if (equipment == null) {
                        //保存失败,跳过本次循环
                        sb.append(String.format("设备编码[%s]保存失败,无法导入\n\r", eamEquipment.getEquipmentCode()));
                        continue;
                    }
                    //调用mdcEquipment插入MDC设备
//                    if (CommonConstant.DEFAULT_1.equals(eamEquipment.getMdcFlag())) {
//                        //插入MDC设备
//                        MdcEquipment mdcEquipment = new MdcEquipment();
//                        mdcEquipment.setEquipmentId(eamEquipment.getEquipmentCode());
//                        mdcEquipment.setEquipmentType(eamEquipment.getDeviceType());
//                        mdcEquipment.setEquipmentName(eamEquipment.getEquipmentName());
//                        mdcEquipmentService.addNewEquipmentFromEam(mdcEquipment, eamEquipment.getOrgId());
//                    }
                    // MDC设备相关逻辑(若有需要)
                    // if (CommonConstant.DEFAULT_1.equals(eamEquipment.getMdcFlag())) {
                    //     MdcEquipment mdcEquipment = new MdcEquipment();
                    //     mdcEquipment.setEquipmentId(eamEquipment.getEquipmentCode());
                    //     mdcEquipment.setEquipmentType(eamEquipment.getDeviceType());
                    //     mdcEquipment.setEquipmentName(eamEquipment.getEquipmentName());
                    //     mdcEquipmentService.addNewEquipmentFromEam(mdcEquipment, eamEquipment.getOrgId());
                    // }
                }
                //400条 saveBatch消耗时间1592毫秒  循环插入消耗时间1947毫秒
                //1200条  saveBatch消耗时间3687毫秒 循环插入消耗时间5212毫秒
@@ -295,7 +284,7 @@
                }
                return Result.ok("文件导入成功!数据行数:" + list.size());
            } catch (Exception e) {
                //update-begin-author:taoyan date:20211124 for: 导入数据重复增加提示
                String msg = e.getMessage();
                log.error(msg, e);
                if (msg != null && msg.indexOf("Duplicate entry") >= 0) {
@@ -303,7 +292,7 @@
                } else {
                    return Result.error("文件导入失败:" + e.getMessage());
                }
                //update-end-author:taoyan date:20211124 for: 导入数据重复增加提示
            } finally {
                try {
                    file.getInputStream().close();
@@ -315,32 +304,18 @@
        return Result.error("文件导入失败!");
    }
//    @ApiOperation(value = "设备表-通过车间ids获取设备树", notes = "设备表-通过车间ids获取设备树")
//    @GetMapping(value = "/loadTreeListByProductionIds")
//    public Result<List<EamEquipmentTree>> loadTreeListByProductionIds(@RequestParam(name = "ids", required = true) String ids) {
//        Result<List<EamEquipmentTree>> result = new Result<>();
//        try {
//            List<EamEquipmentTree> mdcEquipmentTreeList = eamEquipmentService.loadTreeListByProductionIds(ids);
//            result.setSuccess(true);
//            result.setResult(mdcEquipmentTreeList);
//        } catch (Exception e) {
//            log.error(e.getMessage(), e);
//        }
//        return result;
//    }
    /**
     * 检索设备
     * @param keyword 查询关键词 设备编号,设备名称模糊匹配
     *
     * @param keyword  查询关键词 设备编号,设备名称模糊匹配
     * @param pageSize 一次返回多少记录
     * @param id 设备主键
     * @param id       设备主键
     * @return
     */
    @ApiOperation(value = "设备表-异步加载设备列表", notes = "设备表-异步加载设备列表")
    @GetMapping(value = "/asyncLoadEquipment")
    public Result<?> asyncLoadEquipment(@RequestParam(name="keyword",required = false) String keyword,
                                        @RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer pageSize,
                                        @RequestParam(name="id",required = false) String id) {
    public Result<?> asyncLoadEquipment(@RequestParam(name = "keyword", required = false) String keyword, @RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer pageSize, @RequestParam(name = "id", required = false) String id) {
        List<EquipmentSearchResult> resultList = eamEquipmentService.asyncLoadEquipment(keyword, pageSize, id);
        return Result.ok(resultList);
    }
@@ -353,18 +328,11 @@
        if (workOrder == null) {
            return Result.error("工单不存在!");
        }
        List<Map<String, Object>> equipmentMapList = eamEquipmentService.list(new LambdaQueryWrapper<EamEquipment>()
                        .eq(EamEquipment::getOrgId, workOrder.getFactoryId())
                        .eq(EamEquipment::getDelFlag, CommonConstant.DEL_FLAG_0)
                        .apply("NOT EXISTS (SELECT 1 FROM eam_inspection_order t WHERE t.equipment_id = eam_equipment.id AND t.work_order_id = {0})", orderId)
                        .apply("EXISTS (SELECT 1 FROM eam_maintenance_standard t WHERE t.equipment_id = eam_equipment.id AND t.del_flag = {0} " +
                                        "AND t.standard_status = {1} AND t.maintenance_category = {2})",
                                CommonConstant.DEL_FLAG_0, MaintenanceStandardStatusEnum.NORMAL.name(), MaintenanceCategoryEnum.POINT_INSPECTION.name()))
                .stream().map(e -> (Map<String, Object>) new HashMap<String, Object>() {{
                    put("value", e.getId());
                    put("label", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]");
                    put("text", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]");
                }}).collect(Collectors.toList());
        List<Map<String, Object>> equipmentMapList = eamEquipmentService.list(new LambdaQueryWrapper<EamEquipment>().eq(EamEquipment::getOrgId, workOrder.getFactoryId()).eq(EamEquipment::getDelFlag, CommonConstant.DEL_FLAG_0).apply("NOT EXISTS (SELECT 1 FROM eam_inspection_order t WHERE t.equipment_id = eam_equipment.id AND t.work_order_id = {0})", orderId).apply("EXISTS (SELECT 1 FROM eam_maintenance_standard t WHERE t.equipment_id = eam_equipment.id AND t.del_flag = {0} " + "AND t.standard_status = {1} AND t.maintenance_category = {2})", CommonConstant.DEL_FLAG_0, MaintenanceStandardStatusEnum.NORMAL.name(), MaintenanceCategoryEnum.POINT_INSPECTION.name())).stream().map(e -> (Map<String, Object>) new HashMap<String, Object>() {{
            put("value", e.getId());
            put("label", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]");
            put("text", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]");
        }}).collect(Collectors.toList());
        return Result.ok(equipmentMapList);
    }
@@ -376,16 +344,11 @@
        if (workOrder == null) {
            return Result.error("工单不存在!");
        }
        List<Map<String, Object>> equipmentMapList = eamEquipmentService.list(new LambdaQueryWrapper<EamEquipment>()
                        .eq(EamEquipment::getOrgId, workOrder.getFactoryId())
                        .eq(EamEquipment::getDelFlag, CommonConstant.DEL_FLAG_0)
                        .apply("EXISTS (SELECT 1 FROM eam_equipment_process_parameters t WHERE t.equipment_id = eam_equipment.id)")
                        .apply("NOT EXISTS (SELECT 1 FROM eam_process_check t WHERE t.equipment_id = eam_equipment.id AND t.work_order_id = {0})", orderId))
                .stream().map(e -> (Map<String, Object>) new HashMap<String, Object>() {{
                    put("value", e.getId());
                    put("label", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]");
                    put("text", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]");
                }}).collect(Collectors.toList());
        List<Map<String, Object>> equipmentMapList = eamEquipmentService.list(new LambdaQueryWrapper<EamEquipment>().eq(EamEquipment::getOrgId, workOrder.getFactoryId()).eq(EamEquipment::getDelFlag, CommonConstant.DEL_FLAG_0).apply("EXISTS (SELECT 1 FROM eam_equipment_process_parameters t WHERE t.equipment_id = eam_equipment.id)").apply("NOT EXISTS (SELECT 1 FROM eam_process_check t WHERE t.equipment_id = eam_equipment.id AND t.work_order_id = {0})", orderId)).stream().map(e -> (Map<String, Object>) new HashMap<String, Object>() {{
            put("value", e.getId());
            put("label", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]");
            put("text", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]");
        }}).collect(Collectors.toList());
        return Result.ok(equipmentMapList);
    }
}
src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java
@@ -324,7 +324,7 @@
                    continue;
                }
                standardRequest.setStandardName(standardRequest.getEquipmentName() + "点检标准");
                standardRequest.setStandardName(equipment.getEquipmentName() + "点检标准");
                standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.POINT_INSPECTION.name());
                standardRequest.setEquipmentId(equipment.getId());
@@ -519,11 +519,6 @@
                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());
//            }
            String equipmentCodeStr = extractEquipmentCode(equipmentCode);
            if (StringUtils.isBlank(equipmentCodeStr)) {
                throw new JeecgBootException("Excel【 " + file.getOriginalFilename() + "】没有读取到有效的设备编号,导入失败!");
@@ -539,11 +534,6 @@
            } else {
                request.setInitialDate(new Date());
            }
            //设备名称
//            Cell equipmentName = row.getCell(13);
//            request.setEquipmentName(equipmentName.getStringCellValue());
            row = sheet.getRow(4);
            //保养周期
            Cell period = row.getCell(7);
src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java
@@ -71,20 +71,22 @@
    /**
     * 设备统一编号
     */
    @Excel(name = "设备编号", width = 15, orderNum = "1")
    @Excel(name = "设备编号", width = 15, orderNum = "5")
    @ApiModelProperty(value = "设备编号")
    private String equipmentCode;
    /**
     * 设备名称
     */
    @Excel(name = "设备名称", width = 15, orderNum = "2")
    @Excel(name = "设备名称", width = 15, orderNum = "4")
    @ApiModelProperty(value = "设备名称")
    private String equipmentName;
    /**
     * 使用部门
     */
    @Excel(name = "使用车间", width = 25, dictTable = "base_factory", dicText = "factory_name", dicCode = "id", orderNum = "9")
    @ApiModelProperty(value = "使用部门")
    @Excel(name = "所属产线", width = 25, dictTable = "base_factory", dicText = "factory_name", dicCode = "id", orderNum = "3")
    @ApiModelProperty(value = "所属产线")
    @Dict(dicCode = "base_factory, factory_name, id")
    private String orgId;
    /**
@@ -104,7 +106,7 @@
    /**
     * 设备型号
     */
    @Excel(name = "设备型号", width = 15, orderNum = "3")
    @Excel(name = "设备型号", width = 15, orderNum = "5")
    @ApiModelProperty(value = "设备型号")
    private String equipmentModel;
    /**
@@ -130,40 +132,42 @@
    /**
     * 出厂编号
     */
    @Excel(name = "出厂编号", width = 15, orderNum = "12")
    @Excel(name = "出厂编号", width = 15, orderNum = "7")
    @ApiModelProperty(value = "出厂编号")
    private String factoryNumber;
    /**
     * 机床厂家
     * 生产厂家
     */
    @Excel(name = "机床厂家", width = 15, orderNum = "13")
    @ApiModelProperty(value = "机床厂家")
    @Excel(name = "生产厂家", width = 15, orderNum = "8")
    @ApiModelProperty(value = "生产厂家")
    private String manufacturingEnterprise;
    /**
     * 来源国家
     */
    @Excel(name = "来源国家", width = 25, orderNum = "14")
    @Excel(name = "来源国家", width = 25)
    @ApiModelProperty(value = "来源国家")
    private String originCountry;
    /**
     * 设备供应商
     */
    @Excel(name = "设备供应商", width = 25, orderNum = "15")
    @Excel(name = "设备供应商", width = 25)
    @ApiModelProperty(value = "设备供应商")
    private String supplier;
    /**
     * 出厂日期
     */
    @Excel(name = "出厂日期", width = 25, format = "yyyy/MM/dd", orderNum = "16")
    @Excel(name = "出厂日期", width = 25, format = "yyyy/MM/dd")
    @ApiModelProperty(value = "出厂日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date leaveFactoryDate;
    /**
     * 验收日期
     * 进厂日期
     */
    @Excel(name = "投用日期", width = 25, format = "yyyy/MM/dd", orderNum = "17")
    @ApiModelProperty(value = "验收日期")
//    @Excel(name = "进厂日期", width = 25, format = "yyyy.MM.dd", orderNum = "6")
    @Excel(name = "进厂日期", width = 25, format = "yyyy.MM.dd", orderNum = "6")
    @ApiModelProperty(value = "进厂日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date acceptanceCheckDate;
@@ -290,6 +294,7 @@
    /**
     * 立项卡号
     */
    @Excel(name = "资产编号", width = 15, orderNum = "1")
    @ApiModelProperty(value = "立项卡号")
    private String cardNumber;
    /**