ZengTao
2024-04-22 8f6553c1410c840999629c689960e2c24bc7542a
Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
32个文件已修改
5个文件已删除
934 ■■■■■ 已修改文件
UI-Project/src/router/index.js 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/views/Returns/returns.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeDetailMapper.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeDetailService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeDetailServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java 68 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/HangzhouMesMapper.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/PpMapper.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/HangzhoumesService.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/LogicService.java 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/PpService.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plchome.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCage.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI-Project/src/router/index.js
@@ -36,32 +36,32 @@
        },
      
/*----------- 用户列表 ----------------*/
{
  path: 'User',
  name: 'User',
  component: () => import('../views/User/userlist.vue'),
  children:[
    {
      path: '/User/userlist',
      name: 'userlist',
      component: () => import('../views/User/userlist.vue')
    },
  ]
  },
// {
//   path: 'User',
//   name: 'User',
//   component: () => import('../views/User/userlist.vue'),
//   children:[
//     {
//       path: '/User/userlist',
//       name: 'userlist',
//       component: () => import('../views/User/userlist.vue')
//     },
//   ]
//   },
  
/*----------- 权限列表 ----------------*/
{
  path: 'Permissions',
  name: 'Permissions',
  component: () => import('../views/Permissions/permissionslist.vue'),
  children:[
    {
      path: '/Permissions/permissionslist',
      name: 'permissionslist',
      component: () => import('../views/Permissions/permissionslist.vue')
    },
  ]
  },
// {
//   path: 'Permissions',
//   name: 'Permissions',
//   component: () => import('../views/Permissions/permissionslist.vue'),
//   children:[
//     {
//       path: '/Permissions/permissionslist',
//       name: 'permissionslist',
//       component: () => import('../views/Permissions/permissionslist.vue')
//     },
//   ]
//   },
        /*----------- 上片机 ----------------*/
      {
        path: 'Returns',
UI-Project/src/views/Returns/returns.vue
@@ -272,7 +272,7 @@
      </div>
    </el-card>
      <div id="parent">
        <img src="../../assets/shangpianji .png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 500px;">
        <img src="../../assets/shangpianji.png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 500px;">
        <!-- <el-button style="margin-top: -830px;margin-left: -40px;"  size="mini" id="searchButton" @click="add = true">添加原片</el-button> -->
        <!-- <el-button style="margin-top: -10px;margin-left: -80px;"  size="mini" id="searchButton"  @click="adda = true">添加原片</el-button> -->
      </div>
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeDetailMapper.java
@@ -1,6 +1,8 @@
package com.mes.pp.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.pp.entity.OptimizeDetail;
import org.apache.ibatis.annotations.Mapper;
@@ -12,7 +14,8 @@
 * @author zhoush
 * @since 2024-04-16
 */
@DS("pp")
@Mapper
public interface OptimizeDetailMapper extends BaseMapper<OptimizeDetail> {
public interface OptimizeDetailMapper extends MPJBaseMapper<OptimizeDetail> {
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeDetailService.java
@@ -1,6 +1,7 @@
package com.mes.pp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.yulichang.base.MPJBaseService;
import com.mes.pp.entity.OptimizeDetail;
/**
@@ -11,6 +12,6 @@
 * @author zhoush
 * @since 2024-04-16
 */
public interface OptimizeDetailService extends IService<OptimizeDetail> {
public interface OptimizeDetailService extends MPJBaseService<OptimizeDetail> {
}
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeDetailServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.mes.pp.entity.OptimizeDetail;
import com.mes.pp.mapper.OptimizeDetailMapper;
import com.mes.pp.service.OptimizeDetailService;
@@ -17,6 +18,6 @@
 */
@Service
@DS("pp")
public class OptimizeDetailServiceImpl extends ServiceImpl<OptimizeDetailMapper, OptimizeDetail> implements OptimizeDetailService {
public class OptimizeDetailServiceImpl extends MPJBaseServiceImpl<OptimizeDetailMapper, OptimizeDetail> implements OptimizeDetailService {
}
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
@@ -1,6 +1,7 @@
package com.mes.edgstoragecage.controller;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.service.EdgStorageCageService;
import com.mes.edgstoragecage.service.impl.EdgStorageCageServiceImpl;
import com.mes.taskcache.entity.TaskCache;
@@ -24,7 +25,7 @@
 * @author zhoush
 * @since 2024-04-07
 */
@Api("磨边前缓存")
@Api(tags = "理片笼缓存")
@RestController
@RequestMapping("/edgStorageCage")
public class EdgStorageCageController {
@@ -56,7 +57,7 @@
    @ApiOperation("删除磨边缓存理片笼信息   功能:对笼内栅格玻璃进行【清除】")
    @PostMapping("/deleteEdgStorageCage")
    @ResponseBody
    public Result deleteEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage) {
    public Result deleteEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage, EdgStorageCageDetails edgStorageCageDetails) {
        boolean isSucess=edgStorageCageService.updateEdgStorageCage(edgStorageCage);
        return Result.build(200,"删除成功",1);
    }
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.yulichang.base.MPJBaseService;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.pp.entity.OptimizeDetail;
import java.util.List;
import java.util.Map;
@@ -19,15 +20,24 @@
    /**
     * 识别 破损/拿走
     * @param glassid
     * @param glassId
     * @param ControlsId
     * @return
     */
    boolean identWorn(String glassid,int ControlsId);
    //获取 切割当前版图
    List<Map> selectCutTerritory();
    //获取 工程下的当前版图
    List<Map> selectCurrentCutTerritory(String current);
    boolean identWorn(String glassId,int ControlsId);
    /**
     * 获取 切割当前版图
     * @return
     */
    List<OptimizeDetail> selectCutTerritory();
    /**
     * 获取 工程下的当前版图
     * @param current
     * @return
     */
    List<OptimizeDetail> selectCurrentCutTerritory(String current);
}
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
@@ -17,15 +17,28 @@
 */
public interface EdgStorageCageService extends MPJBaseService<EdgStorageCage> {
    //查询笼内空格
    /**
     * 查询笼内空格
     * @return
     */
    List<Map> selectCacheEmpty();
    //查询笼内出片顺序详情
    /**
     * 查询笼内出片顺序详情
     * @return
     */
    List<Map> selectCacheOut();
    //查询笼内详情
    /**
     * 查询笼内详情
     * @return
     */
    List<Map> selectEdgStorageCages();
    //修改理片笼内信息
    /**
     * 修改理片笼内信息
     * @param edgStorageCage
     * @return
     */
    boolean updateEdgStorageCage(EdgStorageCage edgStorageCage);
}
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -1,15 +1,13 @@
package com.mes.edgstoragecage.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.query.MPJQueryWrapper;
import com.github.yulichang.wrapper.interfaces.LambdaJoin;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
import com.mes.taskcache.mapper.HangzhouMesMapper;
import com.mes.pp.entity.OptimizeDetail;
import com.mes.pp.mapper.OptimizeDetailMapper;
import com.mes.uppattenusage.entity.UpPattenUsage;
import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,44 +28,52 @@
    @Autowired
    UpPattenUsageMapper upPattenUsageMapper;
    @Autowired
    OptimizeDetailMapper optimizeDetailMapper;
    //识别 破损/拿走
    public boolean identWorn(String glassid, int ControlsId) {
        List<EdgStorageCageDetails> edgStorageCageDetails = baseMapper.selectList(new QueryWrapper<EdgStorageCageDetails>().eq("glassid", glassid));
    /**
     * 识别   拿走:200/破损:201
     * @param glassId
     * @param ControlsId
     * @return
     */
    public boolean identWorn(String glassId, int ControlsId) {
        List<EdgStorageCageDetails> edgStorageCageDetails = baseMapper.selectList(new QueryWrapper<EdgStorageCageDetails>().eq("glass_id", glassId));
        if (edgStorageCageDetails.size() == 1) {
            baseMapper.update(edgStorageCageDetails.get(0), new QueryWrapper<EdgStorageCageDetails>().eq("glassid", glassid));
            EdgStorageCageDetails item=edgStorageCageDetails.get(0);
            item.setState(ControlsId);
            baseMapper.update(edgStorageCageDetails.get(0), new QueryWrapper<EdgStorageCageDetails>().eq("glass_id", glassId));
            return true;
        }
        return false;
    }
    //获取 切割当前版图
    /**
     * 获取 切割当前版图
     * @return
     */
    @Override
    public List<Map> selectCutTerritory() {
        List<Map> list = upPattenUsageMapper.selectJoinList(
                Map.class, new MPJQueryWrapper<UpPattenUsage>().selectAll(UpPattenUsage.class)
                        .select("escd.glass_id", "escd.flow_card_id", "escd.width", "escd.height")
                        .select("gi.x_coordinate","gi.y_coordinate","gi.tempering_feed_sequence")
                        .leftJoin("glass_info gi on t.layout_sequence=gi.pattern_sequence and t.engineering_id=gi.engineer_id")
                        .leftJoin("edg_storage_cage_details escd on gi.id=escd.glass_id")
                        .eq("t.state", 1)
                        .orderByAsc("t.layout_sequence")
        );
        return list;
    public List<OptimizeDetail> selectCutTerritory() {
        List<UpPattenUsage> upPattenUsage=upPattenUsageMapper.selectList(new QueryWrapper<UpPattenUsage>()
                        .eq("state", 1));
        if(!upPattenUsage.isEmpty()){
            UpPattenUsage upPattenUsage1=upPattenUsage.get(0);
            return optimizeDetailMapper.selectList(new QueryWrapper<OptimizeDetail>()
                    .eq("project_no", upPattenUsage1.getEngineeringId())
                    .eq("stock_id",upPattenUsage1.getLayoutSequence())
            );
        }
        return null;
    }
    //获取 工程下的当前版图
    /**
     * 获取 工程下的当前版图
     * @param current
     * @return
     */
    @Override
    public List<Map> selectCurrentCutTerritory(String current) {
        List<Map> list = baseMapper.selectJoinList(
                Map.class, new MPJQueryWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class)
                        .select("escd.glass_id", "escd.flow_card_id", "escd.width", "escd.height")
                        .leftJoin("glass_info gi on t.layout_sequence=gi.pattern_sequence and t.engineering_id=gi.engineer_id")
                        .leftJoin("edg_storage_cage_details escd on gi.id=escd.glass_id")
                        .eq("t.engineering_id", current)
                        .orderByAsc("t.layout_sequence")
        );
      return list;
    public List<OptimizeDetail> selectCurrentCutTerritory(String current) {
      return optimizeDetailMapper.selectList(new QueryWrapper<OptimizeDetail>().eq("project_no", current));
    }
    ;
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
@@ -33,44 +33,54 @@
    @Autowired
    UpPattenUsageMapper upPattenUsageMapper;
    /**
     * 查询笼内空格
     * @return
     */
    @Override
    //查询笼内空格
    public List<Map> selectCacheEmpty(){
        List<Map> map=baseMapper.selectJoinList(
        return baseMapper.selectJoinList(
                Map.class,new MPJQueryWrapper<EdgStorageCage>().selectAll(EdgStorageCage.class)
                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
                        .isNull("escd.slot")
        );
        return map;
    }
    /**
     * 查询笼内出片任务   按钢化版图号+版图内序号
     * @return
     */
    @Override
    //查询笼内出片任务   按钢化版图号+版图内序号
    public List<Map> selectCacheOut(){
        List<Map> list= upPattenUsageMapper.selectJoinList(
        return upPattenUsageMapper.selectJoinList(
                Map.class,new MPJQueryWrapper<UpPattenUsage>().selectAll(UpPattenUsage.class)
                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
                        .isNotNull("escd.slot")
                        .orderByAsc("escd.tempering_layout_id","escd.tempering_feed_sequence")
        );
        return list;
    }
    /**
     * 理片缓存详情
     * @return
     */
    @Override
    //理片缓存详情
    public List<Map> selectEdgStorageCages(){
        List<Map> map=baseMapper.selectJoinList(
        return baseMapper.selectJoinList(
                Map.class,new MPJQueryWrapper<EdgStorageCage>().selectAll(EdgStorageCage.class)
                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
        );
        return map;
    }
    /**
     * 修改理片笼内信息 功能:对笼内栅格玻璃 【添加/删除/更换】
     * @param edgStorageCage
     * @return
     */
    @Override
    //修改理片笼内信息 功能:对笼内栅格玻璃 【添加/删除/更换】
    public boolean updateEdgStorageCage(EdgStorageCage edgStorageCage){
        baseMapper.updateById(edgStorageCage);
        return true;
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
@@ -3,6 +3,7 @@
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@@ -22,6 +23,7 @@
 * @author zhoush
 * @since 2024-04-07
 */
@Api(tags = "玻璃信息小片")
@RestController
@RequestMapping("/glassInfo")
public class GlassInfoController {
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
@@ -120,12 +120,17 @@
    /**
     * 工程号
     */
    private Integer engineerId;
    private String engineerId;
    /**
     * 生产规则id
     */
    private Integer ruleId;
    /**
     * 玻璃ID
     */
    private String glassId;
}
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
@@ -15,7 +15,23 @@
 */
public interface GlassInfoService extends IService<GlassInfo> {
    /**
     * 查询所有玻璃小片信息
     * @return
     */
    public List<GlassInfo> selectAll();
    /**
     * 根据玻璃编号查询玻璃小片信息
     * @param glassId
     * @return
     */
    public List<GlassInfo> selectId(String glassId);
    /**
     * 根据工程号查询玻璃小片信息
     * @param flowCardId
     * @return
     */
    public List<GlassInfo> selectFlowCardId(String flowCardId);
}
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -23,21 +23,32 @@
public class GlassInfoServiceImpl extends ServiceImpl<GlassInfoMapper, GlassInfo> implements GlassInfoService {
    //根据ID 获取小片数据
    /**
     * 根据ID 获取小片数据
     * @param glassId
     * @return
     */
    @Override
    public List<GlassInfo> selectId(String glassId){
        return baseMapper.selectList(new QueryWrapper<GlassInfo>().eq("id",glassId));
        return baseMapper.selectList(new QueryWrapper<GlassInfo>().eq("glass_id",glassId));
    };
    //获取全部小片数据
    /**
     * 获取全部小片数据
     * @return
     */
    @Override
    public List<GlassInfo> selectAll(){
        return baseMapper.selectList(null);
    };
    //根据工程 获取小片数据
    /**
     * 根据工程 获取小片数据
     * @param flowCardId
     * @return
     */
    @Override
    public List<GlassInfo> selectFlowCardId(String flowCardId){
        return baseMapper.selectList(new QueryWrapper<GlassInfo>().eq("flowCardId",flowCardId));
        return baseMapper.selectList(new QueryWrapper<GlassInfo>().eq("flow_card_id",flowCardId));
    };
}
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
@@ -2,11 +2,11 @@
import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
import com.mes.edgstoragecage.service.EdgStorageCageService;
import com.mes.edgstoragecage.service.impl.EdgStorageCageDetailsServiceImpl;
import com.mes.edgstoragecage.service.impl.EdgStorageCageServiceImpl;
import com.mes.taskcache.service.HangzhoumesService;
import com.mes.taskcache.service.PpService;
import com.mes.pp.entity.OptimizeDetail;
import com.mes.taskcache.entity.TaskCache;
import com.mes.taskcache.service.TaskCacheService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -22,6 +22,7 @@
 * @author zhoush
 * @since 2024-04-07
 */
@Api(tags = "识别显示")
@RestController
@RequestMapping("/taskCache")
public class TaskCacheController {
@@ -30,30 +31,25 @@
    private EdgStorageCageDetailsService edgStorageCageDetailsService;
    @Autowired
    private HangzhoumesService hangzhoumesService;
    private EdgStorageCageService edgStorageCageService;
    @Autowired
    private TaskCacheService taskCacheService;
    @ApiOperation("查询切割版图信息-根据 工程号   参数(工程号)")
    @PostMapping("/cutTerritory")
    @ResponseBody
    public Result cutTerritory(String current) {
        List<Map> h = edgStorageCageDetailsService.selectCurrentCutTerritory(current);
        List<OptimizeDetail> h = edgStorageCageDetailsService.selectCurrentCutTerritory(current);
        return Result.build(200,"成功",h);
    }
    @ApiOperation("识别显示  当前版图   参数()")
    @PostMapping("/currentCutTerritory")
    @ResponseBody
    public Result currentCutTerritory() {
        List<Map> h = edgStorageCageDetailsService.selectCutTerritory();
        List<OptimizeDetail> h = edgStorageCageDetailsService.selectCutTerritory();
        return Result.build(200,"成功",h);
    }
    @ApiOperation("识别显示  特定版图   参数(版图编号)")
    @PostMapping("/selectCutTerritory")
    @ResponseBody
    public Result selectCutTerritory(String TerritoryId) {
        List<Map> h = edgStorageCageDetailsService.selectCutTerritory();
        return Result.build(200,"成功",h);
    }
    @ApiOperation("识别操作:   破损/拿走     参数(ID,功能[0:破损,1:拿走])")
    @ApiOperation("识别操作:   破损/拿走     参数(ID,功能[200:拿走,201:破损])")
    @PostMapping("/identControls")
    @ResponseBody
    public Result identControls(@RequestParam(name = "identId", required = false) String identId,@RequestParam(name = "controlsId", required = false) int controlsId) {
@@ -61,18 +57,12 @@
        boolean issucess = edgStorageCageDetailsService.identWorn(identId,controlsId);
        return Result.build(200,"成功",issucess);
    }
    @ApiOperation("查询笼内信息 参数()")
    @PostMapping("/selectCageInfo")
    @ResponseBody
    public Result selectCageInfo() {
        List<Map> h = hangzhoumesService.SelectCageInfo();
        return Result.build(200,"成功",h);
    }
    @ApiOperation("磨边任务 参数()")
    @PostMapping("/selectEdgTask")
    @ResponseBody
    public Result selectEdgTask(String ProcessId) {
        List<Map> EdgTasks = hangzhoumesService.SelectEdgInfo("1");
    public Result selectEdgTask(String line) {
        List<TaskCache> EdgTasks = taskCacheService.selectEdgInfo(line);
        return Result.build(200,"成功",EdgTasks);
    }
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
@@ -7,9 +7,9 @@
@TableName("task_cache")
public class TaskCache {
    private String ID;//任务编号
    private String startcell;//起始
    private String endcell;//结束
    private String tasktype;//任务类型
    private String taskstauts;//任务状态
    private String startCell;//起始
    private String endCell;//结束
    private String taskType;//任务类型
    private String taskStatus;//任务状态
}
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/HangzhouMesMapper.java
File was deleted
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/PpMapper.java
File was deleted
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/HangzhoumesService.java
File was deleted
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/LogicService.java
File was deleted
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/PpService.java
File was deleted
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
@@ -15,24 +15,48 @@
 */
public interface TaskCacheService extends IService<TaskCache> {
    //添加理片笼任务
    /**
     * 添加理片笼任务
     * @param taskCache
     * @return
     */
    boolean insertTaskCache(TaskCache taskCache);
    //查询磨边任务
    /**
     * 查询磨边任务
     * @param line
     * @return
     */
    List<TaskCache> selectEdgInfo(String line);
    //查询理片任务
    /**
     * 查询理片任务
     * @return
     */
    List<TaskCache> selectCacheInfo();
    //查询全部任务
    /**
     * 查询全部任务
     * @return
     */
    List<TaskCache> selectAll();
    //查询进片任务
    /**
     * 查询进片任务
     * @return
     */
    List<TaskCache> selectInputTaskCache();
    //查询出片任务
    /**
     * 查询出片任务
     * @return
     */
    List<TaskCache> selectOutTaskCache();
    //查询  A09  或 A10 最新的一片 出片任务
    /**
     * 查询  A09  或 A10 最新的一片 出片任务
     * @param line
     * @return
     */
    List<TaskCache> selectLastOutCacheInfo(String line);
}
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
@@ -23,42 +23,70 @@
@Service
public class TaskCacheServiceImpl extends ServiceImpl<TaskCacheMapper, TaskCache> implements TaskCacheService {
    //添加理片笼任务
    /**
     * 添加理片笼任务
     * @param taskCache
     * @return
     */
    @Override
    public boolean insertTaskCache(TaskCache taskCache){
        baseMapper.insert(taskCache);
        return true;
    }
    //查询磨边任务
    /**
     * 查询磨边任务
     * @param line
     * @return
     */
    @Override
    public List<TaskCache> selectEdgInfo(String line) {
        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("endcell",line));
        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_cell",line));
    }
    //查询待理片工作的任务
    /**
     * 查询待理片工作的任务
     * @return
     */
    @Override
    public List<TaskCache> selectCacheInfo(){
        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("taskstauts",0));
        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0));
    }
    //查询全部任务
    /**
     * 查询全部任务
     * @return
     */
    @Override
    public List<TaskCache> selectAll() {
        return baseMapper.selectList(null);
    }
    //查询待进片任务
    /**
     * 查询待进片任务
     * @return
     */
    @Override
    public List<TaskCache> selectInputTaskCache(){
        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("taskstauts",0).eq("tasktype",1));
        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",1));
    }
    //查询待出片任务
    /**
     * 查询待出片任务
     * @return
     */
    @Override
    public List<TaskCache> selectOutTaskCache(){
        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("taskstauts",0).eq("tasktype",2));
        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",2));
    }
    //查询  A09  或 A10 最新的一片 出片任务
    /**
     * 查询  A09  或 A10 最新的一片 出片任务
     * @param line
     * @return
     */
    @Override
    public List<TaskCache> selectLastOutCacheInfo(String line){
        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("endcell",line).eq("taskstauts",1).orderByDesc("ID"));
        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_xxxxcell",line).eq("task_status",1).orderByDesc("ID"));
    }
}
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
@@ -11,6 +11,21 @@
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
        pp:
          url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8
          username: root
          password: beibo.123/
          driver-class-name: com.mysql.cj.jdbc.Driver
#        pp:
#          url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8
#          username: root
#          password: beibo.123/
#          driver-class-name: com.mysql.cj.jdbc.Driver
#        salve_hangzhoumes:
#          url: jdbc:sqlserver://10.153.19.150:1433;databasename=hangzhoumes
#          username: sa
#          password: beibo.123/
#          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
  cloud:
    nacos:
      discovery:
hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
@@ -1,8 +1,11 @@
package com.mes;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
import com.mes.edgstoragecage.service.EdgStorageCageService;
import com.mes.edgstoragecage.service.impl.EdgStorageCageServiceImpl;
import com.mes.pp.entity.OptimizeDetail;
import com.mes.pp.mapper.OptimizeDetailMapper;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -29,6 +32,9 @@
    @Autowired
    EdgStorageCageDetailsService edgStorageCageDetailsService;
    @Autowired
    OptimizeDetailMapper optimizeDetailMapper;
    @Test
    public void testFindPath() {
        log.info("完整路径:{}", Arrays.asList("123"));
@@ -46,7 +52,18 @@
    }
    @Test
    public void testScan() {
        List<Map> map= edgStorageCageDetailsService.selectCutTerritory();
        List<OptimizeDetail> map= edgStorageCageDetailsService.selectCutTerritory();
        log.info("切割当前版图信息:{}", Arrays.asList(map));
    }
    @Test
    public void testPpOptimizeDetail() {
        List<OptimizeDetail> optimizeDetail=optimizeDetailMapper.selectList(new QueryWrapper<OptimizeDetail>()
                .eq("project_no", "P24032204")
                .eq("stock_id",5)
        );
        log.info("切割当前版图信息:{}", Arrays.asList(optimizeDetail));
    }
}
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
@@ -22,12 +22,7 @@
    private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
    private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
    private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
    //    private static String PlcParameter = PLCAutomaticParameterSettingReview2.class
//            .getResource("/JsonFile/PlcParameter.json").getPath();
//    private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json")
//            .getPath();
//    private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json")
//            .getPath();
    private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
    // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
@@ -67,19 +62,11 @@
            // readAndUpdateWordValues(PlcReadObject);
            readAndUpdateWordValues(PlcMesObject);
//      readAndUpdateWordValues(PlcframeObject);
            // readAndUpdateWordValues(PlcframeObject);
            // readAndUpdateWordValues(plcStateObject);
            //  int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
            // System.out.println(index);
            //  PlcMesObject.getPlcParameter("AddStart").getAddress(index);
            // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
            List<String> addresses = new ArrayList<>();
            addresses.add("FeedID");
            addresses.add("AddStart");
            // System.out.println(addresses);
            // System.out.println(PlcMesObject.getPlcParameterValues(addresses));
            List<String> addresses2 = new ArrayList<>();
            addresses2.add("FeedID");
            addresses2.add("FeedCarStatus");
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plchome.java
@@ -29,8 +29,7 @@
                i++;
                Thread.sleep(100);
                DownGlassLogic plcService = plcServiceSupplier.get();
                // plcService.performPlcActions();
                //plcService.unloadpush();
                //当下片任务表状态为1时候将数据插入到下片玻璃信息表
                plcService.insertdownglassinfo();
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java
@@ -13,7 +13,7 @@
import java.util.Map;
@Api(tags = "缓存")
@RestController
@RequestMapping("/api/unLoadGlass/downstorage")
@RequestMapping("/downStorage")
public class DownStorageCageDetailsController {
    @Autowired
@@ -30,7 +30,7 @@
    //查询磨边缓存理片笼内详情
    @ApiOperation("查询磨边缓存理片笼内详情")
    @ApiOperation("查询缓存理片笼内详情")
    @GetMapping("/selectStorageCage")
    @ResponseBody
    public Result selectEdgStorageCage () {
@@ -40,6 +40,30 @@
    @ApiOperation("添加缓存理片笼信息   功能:笼内绑定玻璃  参数(DownStorageCageDetails downStorageCageDetails)")
    @PostMapping("/insertEdgStorageCage")
    @ResponseBody
    public Result insertEdgStorageCage(@RequestBody DownStorageCageDetails downStorageCageDetails) {
        boolean isSucess=downStorageCageDetailsService.updatedownStorageCageDetails(downStorageCageDetails);
        return Result.build(200,"添加成功",1);
    }
    @ApiOperation("修改缓存理片笼信息   功能:对笼内栅格进行【启用/禁用】/ 【更换】笼内栅格玻璃信息")
    @PostMapping("/updateEdgStorageCage")
    @ResponseBody
    public Result updateEdgStorageCage(@RequestBody DownStorageCageDetails downStorageCageDetails) {
        boolean isSucess=downStorageCageDetailsService.updatedownStorageCageDetails(downStorageCageDetails);
        return Result.build(200,"更换成功",1);
    }
    @ApiOperation("删除缓存理片笼信息   功能:对笼内栅格玻璃进行【清除】")
    @PostMapping("/deleteEdgStorageCage")
    @ResponseBody
    public Result deleteEdgStorageCage(@RequestBody DownStorageCageDetails downStorageCageDetails) {
        boolean isSucess=downStorageCageDetailsService.updatedownStorageCageDetails(downStorageCageDetails);
        return Result.build(200,"删除成功",1);
    }
//
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCage.java
@@ -2,6 +2,8 @@
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 lombok.EqualsAndHashCode;
@@ -15,36 +17,43 @@
 * @author zhoush
 * @since 2024-03-27
 */
@ApiModel(description = "<p> 缓存</p>")
@Data
@EqualsAndHashCode(callSuper = false)
public class DownStorageCage implements Serializable {
    @ApiModelProperty(hidden = true)
    private static final long serialVersionUID = 1L;
    /**
     * 下片前理片笼表id
     */
    @ApiModelProperty(value = "下片前理片笼表id", position = 2)
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 设备id
     */
    @ApiModelProperty(value = "设备id", position = 3)
    private Integer deviceId;
    /**
     * 栅格号
     */
    @ApiModelProperty(value = "栅格号", position = 4)
    private Integer slot;
    /**
     * 启用状态
     */
    @ApiModelProperty(value = "启用状态", position = 5)
    private String enableState;
    /**
     * 剩余
     */
    @ApiModelProperty(value = "剩余", position = 6)
    private Integer remainWidth;
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java
@@ -29,8 +29,11 @@
    public static final String RESULT_IN_OUT = "3";
    @Autowired
    private DownStorageCageDetailsMapper selectInfo;
    private GlassInfoService GlassInfoService;
    @Autowired
    private GlassInfoService glassInfoService;
    @Autowired
    private DownStorageCageService downStorageCageService;
    @Autowired
    private DownGlassTaskService downGlassTaskService;
@@ -65,11 +68,11 @@
     */
    public boolean processInto(String Number) {
        GlassInfoService = WebSocketServer.applicationContext.getBean(GlassInfoService.class);
        glassInfoService = WebSocketServer.applicationContext.getBean(GlassInfoService.class);
        downStorageCageService = WebSocketServer.applicationContext.getBean(DownStorageCageService.class);
        //按id查询玻璃信息表里的玻璃
        GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
        GlassInfo GlassInfo = glassInfoService.selectGlassId(Number);
        PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
        //存在此玻璃编号
        if (GlassInfo != null) {
@@ -92,6 +95,7 @@
                selectInfo.insertCacheTask(GlassInfo.getId() + "", "0", item.getSlot() + "", "1", GlassInfo.getWidth(), GlassInfo.getHeight(), GlassInfo.getFilmsid(), GlassInfo.getThickness(), GlassInfo.getFlowcardId());
                S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1);
               //完成后插入小片数据到缓存表
                return true;
            }
@@ -111,9 +115,12 @@
        String G13 = S7control.getinstance().ReadWord("DB14.58", 1).get(0) + "";
        PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
        List<DownStorageCageDetails> list = downStorageCageService.getCacheOut(1, 5);
        List<DownStorageCageDetails> list2 = downStorageCageService.getCacheOut(6, 10);
        List<DownStorageCageDetails> list3 = downStorageCageService.getCacheOut(1, 10);
        GlassInfo Maxglass=glassInfoService.selectGlassId("2");;
        // 优先 超出尺寸优先人工出片 人工处理
        if (!list3.isEmpty()) {
            DownStorageCageDetails item3 = list3.get(0);
@@ -130,20 +137,18 @@
        }
        //同时请求 优先后端出片
        else if (!list3.isEmpty()) {
        else if (!list3.isEmpty()&&Maxglass.equals(list3.get(0))) {
            DownStorageCageDetails item3 = list3.get(0);
            if (G06.equals("0") && G11.equals("0")) {
                String endcell = "11";
                String SendEndcell = "1";
                selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId());
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
                return true;
            }
        }
        // 按照顺序符合前端出片
        // 按照大小符合前端出片
        else if (!list.isEmpty()) {
            DownStorageCageDetails item = list.get(0);
            if (G06.equals("0") && G11.equals("1")) {
@@ -185,7 +190,7 @@
    public boolean selectMessageId(String Number) {
        //查询是否存在
        GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
        GlassInfo GlassInfo = glassInfoService.selectGlassId(Number);
        if (GlassInfo == null) {
            //返回 不存在
            return false;
@@ -202,7 +207,7 @@
    public boolean deleteMessageId(String Number) {
        //查询是否存在
        GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
        GlassInfo GlassInfo = glassInfoService.selectGlassId(Number);
        if (GlassInfo == null) {
            //返回 不存在
            return false;
@@ -218,7 +223,7 @@
     */
    public boolean isExist(String Number) {
        //查询是否存在
        GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
        GlassInfo GlassInfo = glassInfoService.selectGlassId(Number);
        if (GlassInfo == null) {
            //返回 不存在
            return false;
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
@@ -9,5 +9,6 @@
    void addDownStorageCageDetails(DownStorageCageDetails details);
    //修改理片笼内信息
    boolean updatedownStorageCageDetails(DownStorageCageDetails details);
}
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
@@ -24,5 +24,6 @@
    List<Map> getCacheInfo();
    List<DownStorageCageDetails> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width);
    List<DownStorageCageDetails> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width);
    List<DownStorageCageDetails> getIsExistIntoCacheByflowcardid(String flowcardid, double width);
    List<DownStorageCageDetails> IsExistIntoCacheByflowcardid(String flowcardid, double width);
}
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
@@ -33,7 +33,12 @@
    @Override
    //修改理片笼内信息 功能:对笼内栅格玻璃 【添加/删除/更换】
    public boolean updatedownStorageCageDetails(DownStorageCageDetails details){
        baseMapper.updateById(details);
        return true;
    }
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -71,7 +71,7 @@
    @Override
    public List<DownStorageCageDetails> getCacheOut(int start, int end) {
        log.info("根据传入的工位查询符合按照顺序和大小出片的小片");
        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
        return  downStorageCageMapper.selectJoinList(
                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                        .select("escd.*")
                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
@@ -82,7 +82,6 @@
                        .orderByDesc("escd.width")
                        .orderByDesc("escd.height")
        );
        return list;
    }
@@ -92,19 +91,20 @@
    @Override
    public List<Map> getCacheInfo() {
        log.info(" 查询笼子内信息");
        List<Map> map = downStorageCageMapper.selectJoinList(
        return downStorageCageMapper.selectJoinList(
                Map.class, new MPJQueryWrapper<DownStorageCageDetails>()
                        .select("escd.*")
                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
                        .orderByAsc("t.slot")
        );
        return map;
    }
    @Override
    public List<DownStorageCageDetails> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width) {
        log.info(" 查询可进此片玻璃的栅格号  找到相同版图id并且大于前面的顺序的空格");
        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                        .select("escd.*")
@@ -118,10 +118,48 @@
        return list;
    }
    @Override
    public List<DownStorageCageDetails> getIsExistIntoCacheByflowcardid(String flowcardid, double width) {
        log.info(" 查询可进此片玻璃的栅格号  找到相同流程卡号的空格");
        return downStorageCageMapper.selectJoinList(
                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                        .select("escd.*")
                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
                        .isNotNull("escd.slot")
                        .eq("escd.flow_card_id", flowcardid)
                        .gt("t.remain_width", width)
                        .orderByAsc("escd.tempering_feed_sequence")
        );
    }
    @Override
    public List<DownStorageCageDetails> IsExistIntoCacheByflowcardid(String flowcardid, double width) {
        log.info(" 查询可进此片玻璃的栅格号");
        return downStorageCageMapper.selectJoinList(
                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                        .select("escd.*")
                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
                        .isNotNull("escd.slot")
                        .lt("escd.flow_card_id", flowcardid)
                        // 条件 t.remain_width - width > 0
                        .apply("t.remain_width - " + width + " > 0")
                        .orderByDesc("escd.tempering_layout_id, escd.tempering_feed_sequence")
        );
    }
    @Override
    public List<DownStorageCageDetails> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width) {
        log.info(" 查询可进此片玻璃的栅格号");
        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
        return downStorageCageMapper.selectJoinList(
                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                        .select("escd.*")
                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
@@ -131,7 +169,7 @@
                        .apply("t.remain_width - " + width + " > 0")
                        .orderByDesc("escd.tempering_layout_id, escd.tempering_feed_sequence")
        );
        return list;
    }
@@ -139,4 +177,5 @@
}
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
@@ -26,7 +26,7 @@
@RestController
@Api(tags = "工位")
@RequestMapping("/api/unLoadGlass")
@RequestMapping("/downWorkStation")
public class DownWorkstationController {
    @Autowired
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
@@ -21,4 +21,5 @@
    List<Map<String, Object>> getFlowCardId();
    GlassInfo selectGlassId(String id);
//    List<GlassInfo> getmaxglass(GlassInfo glassInfo);
}
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -42,6 +42,8 @@
        return baseMapper.selectMaps(new QueryWrapper<GlassInfo>().select("DISTINCT flowcard_id"));
    }
    @Override
    public GlassInfo selectGlassId(String id) {
        QueryWrapper<GlassInfo> queryWrapper = new QueryWrapper<>();