1、切割识别界面提供原片尺寸。
2、fixbug:当工程下的版图切割完毕后,界面显示工程号+最大版序+1bug
3、系统参数配置:新增系统参数配置,存入redis,方便后续各个模块调用。后续工作:将各个模块的配置参数由配置文件调整为数据库记录。
3个文件已修改
6个文件已添加
322 ■■■■■ 已修改文件
hangzhoumesParent/common/servicebase/src/main/java/com/mes/sysconfig/controller/SysConfigController.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/sysconfig/entity/SysConfig.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/sysconfig/entity/request/SysConfigRequest.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/sysconfig/mapper/SysConfigMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/sysconfig/service/SysConfigService.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/sysconfig/service/impl/SysConfigServiceImpl.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/RedisConfig.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/sysconfig/controller/SysConfigController.java
New file
@@ -0,0 +1,61 @@
package com.mes.sysconfig.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mes.sysconfig.entity.SysConfig;
import com.mes.sysconfig.entity.request.SysConfigRequest;
import com.mes.sysconfig.service.SysConfigService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
 * (SysConfig)表控制层
 *
 * @author makejava
 * @since 2025-04-01 15:01:15
 */
@Api(tags = "系统配置")
@RestController
@RequestMapping("/sys/sysConfig")
public class SysConfigController {
    /**
     * 服务对象
     */
    @Resource
    private SysConfigService sysConfigService;
    @ApiOperation("分页查询所有数据")
    @PostMapping("/queryConfigPage")
    public Result<Page<SysConfig>> queryConfigPage(@RequestBody SysConfigRequest request) {
        return Result.success(sysConfigService.queryConfigPage(request));
    }
    @ApiOperation("系统配置查询通过id")
    @GetMapping("/queryConfigById")
    public Result<SysConfig> queryConfigById(Long id) {
        return Result.success(sysConfigService.queryConfigById(id));
    }
    @ApiOperation("保存系统配置")
    @PostMapping("/saveConfig")
    public Result<SysConfig> saveConfig(@RequestBody SysConfig request) {
        return Result.success(sysConfigService.saveConfig(request));
    }
    @ApiOperation("修改系统配置")
    @PostMapping("/updateConfig")
    public Result<SysConfig> updateConfig(@RequestBody SysConfig request) {
        return Result.success(sysConfigService.updateConfig(request));
    }
    @ApiOperation("删除系统配置")
    @GetMapping("/deleteConfig")
    public Result<Boolean> deleteConfig(Long id) {
        return Result.success(sysConfigService.deleteConfig(id));
    }
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/sysconfig/entity/SysConfig.java
New file
@@ -0,0 +1,61 @@
package com.mes.sysconfig.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * (SysConfig)表实体类
 *
 * @author makejava
 * @since 2025-04-01 15:01:22
 */
@ApiModel(description = "(SysConfig)表实体类")
@Data
public class SysConfig {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 父配置id(弃用)
     */
    @ApiModelProperty(value = "父配置id(弃用)", position = 2)
    private Long parentId;
    /**
     * 配置名
     */
    @ApiModelProperty(value = "配置名", position = 3)
    private String configName;
    /**
     * 配置代码
     */
    @ApiModelProperty(value = "配置代码", position = 4)
    private String configCode;
    /**
     * 配置值
     */
    @ApiModelProperty(value = "配置值", position = 5)
    private String configValue;
    /**
     * 是否启用
     */
    @ApiModelProperty(value = "是否启用", position = 6)
    private Integer isEnable;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", position = 7)
    private Date createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间", position = 8)
    private Date updateTime;
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/sysconfig/entity/request/SysConfigRequest.java
New file
@@ -0,0 +1,42 @@
package com.mes.sysconfig.entity.request;
import com.mes.base.entity.PageRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @Author : zhoush
 * @Date: 2025/4/1 15:09
 * @Description:
 */
@ApiModel(description = ":")
@Data
public class SysConfigRequest extends PageRequest {
    private Integer id;
    /**
     * 父配置id(弃用)
     */
    private Integer parentId;
    /**
     * 配置名
     */
    @ApiModelProperty(value = "配置名", position = 3)
    private String configName;
    /**
     * 配置代码
     */
    @ApiModelProperty(value = "配置代码", position = 4)
    private String configCode;
    /**
     * 配置值
     */
    @ApiModelProperty(value = "配置值", position = 5)
    private String configValue;
    /**
     * 是否启用
     */
    @ApiModelProperty(value = "是否启用", position = 6)
    private Integer isEnable;
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/sysconfig/mapper/SysConfigMapper.java
New file
@@ -0,0 +1,15 @@
package com.mes.sysconfig.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.sysconfig.entity.SysConfig;
/**
 * (SysConfig)表数据库访问层
 *
 * @author makejava
 * @since 2025-04-01 15:01:18
 */
public interface SysConfigMapper extends BaseMapper<SysConfig> {
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/sysconfig/service/SysConfigService.java
New file
@@ -0,0 +1,29 @@
package com.mes.sysconfig.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.sysconfig.entity.SysConfig;
import com.mes.sysconfig.entity.request.SysConfigRequest;
import java.io.Serializable;
/**
 * (SysConfig)表服务接口
 *
 * @author makejava
 * @since 2025-04-01 15:01:26
 */
public interface SysConfigService extends IService<SysConfig> {
    Page<SysConfig> queryConfigPage(SysConfigRequest request);
    SysConfig queryConfigById(Serializable id);
    SysConfig saveConfig(SysConfig request);
    SysConfig updateConfig(SysConfig request);
    Boolean deleteConfig(Serializable id);
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/sysconfig/service/impl/SysConfigServiceImpl.java
New file
@@ -0,0 +1,65 @@
package com.mes.sysconfig.service.impl;
import cn.smallbun.screw.core.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.sysconfig.entity.SysConfig;
import com.mes.sysconfig.entity.request.SysConfigRequest;
import com.mes.sysconfig.mapper.SysConfigMapper;
import com.mes.sysconfig.service.SysConfigService;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import java.io.Serializable;
/**
 * (SysConfig)表服务实现类
 *
 * @author makejava
 * @since 2025-04-01 15:01:27
 */
@Service
public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig> implements SysConfigService {
    @Override
    public Page<SysConfig> queryConfigPage(SysConfigRequest request) {
        Page<SysConfig> page = new Page<>(request.getPageNo(), request.getPageSize());
        LambdaQueryWrapper<SysConfig> wrapper = new LambdaQueryWrapper<SysConfig>()
                .like(StringUtils.isNotBlank(request.getConfigName()), SysConfig::getConfigName, request.getConfigName())
                .like(StringUtils.isNotBlank(request.getConfigCode()), SysConfig::getConfigCode, request.getConfigCode())
                .like(StringUtils.isNotBlank(request.getConfigValue()), SysConfig::getConfigValue, request.getConfigValue())
                .eq(request.getIsEnable() != -1, SysConfig::getIsEnable, request.getIsEnable())
                .orderByAsc(SysConfig::getId);
        return this.page(page, wrapper);
    }
    @Override
    @Cacheable(value = "sysConfig", key = "#id")
    public SysConfig queryConfigById(Serializable id) {
        return this.getById(id);
    }
    @Override
    @CachePut(value = "sysConfig", key = "#request.id")
    public SysConfig saveConfig(SysConfig request) {
        this.save(request);
        return request;
    }
    @Override
    @CachePut(value = "sysConfig", key = "#request.id")
    public SysConfig updateConfig(SysConfig request) {
        this.updateById(request);
        return request;
    }
    @Override
    @CacheEvict(value = "sysConfig", key = "#id")
    public Boolean deleteConfig(Serializable id) {
        return this.removeById(id);
    }
}
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/RedisConfig.java
@@ -1,10 +1,17 @@
package com.mes.common.config;
import com.mes.common.utils.FastJsonRedisSerializer;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializationContext;
import org.springframework.data.redis.serializer.StringRedisSerializer;
/**
@@ -13,6 +20,7 @@
 * @Description:
 */
@Configuration
@EnableCaching
public class RedisConfig {
    @Bean
@@ -34,4 +42,18 @@
        template.afterPropertiesSet();
        return template;
    }
    @Bean
    public CacheManager cacheManager(RedisConnectionFactory factory) {
        RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()
                .disableCachingNullValues()
                .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer()));
        RedisCacheManager redisCacheManager = RedisCacheManager.builder(factory)
                .cacheDefaults(redisCacheConfiguration)
                .build();
        return redisCacheManager;
    }
}
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -11,10 +11,9 @@
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.damage.entity.Damage;
import com.mes.damage.mapper.DamageMapper;
import com.mes.damage.entity.request.DamageRequest;
import com.mes.damage.service.DamageService;
import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
import com.mes.damage.entity.request.DamageRequest;
import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
@@ -33,6 +32,8 @@
import com.mes.pp.mapper.OptimizeHeatDetailMapper;
import com.mes.taskcache.entity.TaskCache;
import com.mes.taskcache.service.TaskCacheService;
import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -75,6 +76,9 @@
    @Autowired
    DamageService damageService;
    @Resource
    UpPattenUsageMapper upPattenUsageMapper;
    @Autowired
    EdgGlassTaskInfoService edgGlassTaskInfoService;
@@ -108,10 +112,16 @@
            }
        }
        JSONObject jsonObject = new JSONObject();
         List<CutDrawingVO> currentCutDrawings = baseMapper.queryCutDrawingByEngineerId(engineering.getEngineerId(), patternSequence, 0);
        List<CutDrawingVO> currentCutDrawings = baseMapper.queryCutDrawingByEngineerId(engineering.getEngineerId(), patternSequence, 0);
        jsonObject.append("currentCutTerritory", currentCutDrawings);
        jsonObject.append("engineer", engineering.getEngineerId());
        jsonObject.append("sequence", patternSequence);
        if (CollectionUtil.isNotEmpty(currentCutDrawings)) {
            jsonObject.append("engineer", engineering.getEngineerId());
            jsonObject.append("sequence", patternSequence);
            UpPattenUsage upPattenUsage = upPattenUsageMapper.selectOne(new LambdaQueryWrapper<UpPattenUsage>()
                    .eq(UpPattenUsage::getEngineeringId, engineering.getEngineerId())
                    .eq(UpPattenUsage::getLayoutSequence, patternSequence));
            jsonObject.append("upPattenUsage", upPattenUsage);
        }
        return jsonObject;
    }
@@ -122,6 +132,9 @@
        List<GlassInfo> glassInfoList = glassInfoService.list(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getEngineerId, engineerId));
        long totalPatternSequence = glassInfoList.stream().map(GlassInfo::getPatternSequence).distinct().count();
        map.put("totalPatternSequence", totalPatternSequence);
        UpPattenUsage upPattenUsage = upPattenUsageMapper.selectOne(new LambdaQueryWrapper<UpPattenUsage>().eq(UpPattenUsage::getEngineeringId, engineerId)
                .eq(UpPattenUsage::getLayoutSequence, patternSequence));
        map.put("upPattenUsage", upPattenUsage);
        return map;
    }
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
@@ -11,7 +11,6 @@
import com.mes.pp.service.OptimizeProjectService;
import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
import com.mes.rawglassstation.service.RawGlassStorageStationService;
import com.mes.tools.DateUtil;
import com.mes.tools.WebSocketServer;
import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.uppattenusage.service.UpPattenUsageService;
@@ -24,7 +23,6 @@
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -139,7 +137,7 @@
        loadGlassChild("loadGlassRequestOne", 5, LOAD_GLASS_DEVICE_ONE_TASK, "loadGlassOne");
    }
    @Scheduled(fixedDelay = 10)
    @Scheduled(fixedDelay = 10000)
    public void loadTwoGlass() {
        loadGlassChild("loadGlassRequestTwo", 6, LOAD_GLASS_DEVICE_TWO_TASK, "loadGlassTwo");
    }