wuyouming666
2024-04-03 f9d0b853c119db7ab1639fea8a7f41d7c6f75b2d
添加查询、清除架子上内容接口
10个文件已修改
5个文件已添加
5个文件已删除
719 ■■■■■ 已修改文件
UnLoadGlassModule/src/main/java/com/mes/controller/DownGlassInfoController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/controller/DownWorkstationController.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/controller/OrderTestController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/entity/DownStorageCageDetails.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/entity/OrderTest.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/mapper/DownGlassInfoMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/mapper/GlassInfoMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/service/DownGlassCacheLogic.java 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/service/DownGlassLogic.java 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/service/DownWorkstationService.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/service/GlassInfoService.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/service/IOrderService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/service/ModuleA.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/service/ModuleB.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/tools/Configuration.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UnLoadGlassModule/src/main/java/com/mes/controller/DownGlassInfoController.java
@@ -15,7 +15,12 @@
    @Autowired
    private DownGlassInfoService downGlassInfoService;
    // 获取指定ID的DownGlassInfo信息
    /**
     * @param id
     * @return
     * // 获取指定ID的DownGlassInfo信息
     */
    @GetMapping("/{id}")
    public DownGlassInfo getDownGlassInfoById(@PathVariable Integer id) {
        return downGlassInfoService.getDownGlassInfoById(id);
UnLoadGlassModule/src/main/java/com/mes/controller/DownWorkstationController.java
New file
@@ -0,0 +1,64 @@
package com.mes.controller;
import com.mes.entity.DownWorkstation;
import com.mes.service.DownWorkstationService;
import com.mes.service.GlassInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/downWorkstation")
public class DownWorkstationController {
    @Autowired
    private DownWorkstationService downWorkstationService;
    @Autowired
    private GlassInfoService glassInfoService;
    @GetMapping("/getone")
    public List<DownWorkstation> getoneDownWorkstations() {
        return downWorkstationService.getoneDownWorkstations();
    }
    @GetMapping("/gettwo")
    public List<DownWorkstation> gettwoDownWorkstations() {
        return downWorkstationService.gettwoDownWorkstations();
    }
    @GetMapping("/getflowCardId")
    public List<Map<String, Object>> getflowCardId() {
        return downWorkstationService.getflowCardId();
    }
    @PostMapping("/updateFlowCardId")
    public String updateFlowCardId(@RequestBody Map<String, Object> requestData) {
        // 从 requestData 中获取传入的 flowCardId
        String flowCardId = (String) requestData.get("flowCardId");
        // 查询对应 flowCardId 的玻璃信息总数量
        int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId);
        // 更新 down_workstation 表中的总数量
        glassInfoService.updateFlowCardIdAndCount(flowCardId, glassInfoCount);
        // 返回处理结果,比如成功或失败信息
        return "updated successfully";
    }
    @DeleteMapping("/clear/{workstationId}")
    public String clearWorkstationInfo(@PathVariable("workstationId") int workstationId) {
        // 调用 DownWorkstationService 中的方法清除指定工位ID的信息
       downWorkstationService.clearFlowCardId(workstationId);
        // 返回处理结果,比如成功或失败信息
        return "cleared successfully";
    }
}
UnLoadGlassModule/src/main/java/com/mes/controller/OrderTestController.java
File was deleted
UnLoadGlassModule/src/main/java/com/mes/entity/DownStorageCageDetails.java
New file
@@ -0,0 +1,86 @@
package com.mes.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
/**
 * 下片前理片笼明细实体类
 */
/**
 * 下片前理片笼明细实体类
 * @author SNG-012
 */
@Data
public class DownStorageCageDetails {
    @TableId(type = IdType.AUTO)
    /**
     * 下片前理片笼明细表id
     */
    private int id;
    /**
     * 设备id
     */
    private int deviceId;
    /**
     * 栅格号
     */
    private int slot;
    /**
     * 玻璃id
     */
    private int glassId;
    /**
     * 小片在格内的顺序
     */
    private int sequence;
    /**
     * 流程卡号
     */
    private String flowCardId;
    /**
     * 玻璃类型
     */
    private int glassType;
    /**
     * 宽
     */
    private double width;
    /**
     * 高
     */
    private double height;
    /**
     * 厚度
     */
    private double thickness;
    /**
     * 钢化版图id
     */
    private int temperingFeedSequence;
    /**
     * 钢化版图片序
     */
    private int temperingLayoutId;
    /**
     * 状态
     */
    private int state;
    /**
     * 玻璃间隙
     */
    private int gap;
}
UnLoadGlassModule/src/main/java/com/mes/entity/DownWorkstation.java
@@ -1,20 +1,56 @@
package com.mes.entity;
import com.baomidou.mybatisplus.annotation.IdType;
        import com.baomidou.mybatisplus.annotation.TableId;
        import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
@Data
public class DownWorkstation {
    /**
     * // 下片工位表
     */
    @TableId(type = IdType.AUTO)
    private int id; // 下片工位表id
    private Integer workstationId; // 工位id
    private String flowCardId; // 流程卡号
    private Integer deviceId; // 设备id
    private Integer enableState; // 启用状态
    private Integer workState; // 工作状态
    private int racksnumber; // 已落架数量
    private Integer totalquantity; // 总数量
    private int id;
    /**
     * // 工位id
     */
    private Integer workstationId;
    /**
     *  // 流程卡号
     */
    private String flowCardId;
    /**
     *  // 设备id
     */
    private Integer deviceId;
    /**
     *   // 启用状态
     */
    private Integer enableState;
    /**
     *    // 工作状态
     */
    private Integer workState;
    /**
     *  // 已落架数量
     */
    @TableField(value = "racks_number")
    private int racksnumber;
    /**
     *     // 总数量
     */
    @TableField(value = "total_quantity")
    private Integer totalquantity;
}
UnLoadGlassModule/src/main/java/com/mes/entity/OrderTest.java
File was deleted
UnLoadGlassModule/src/main/java/com/mes/mapper/DownGlassInfoMapper.java
@@ -16,10 +16,10 @@
public interface DownGlassInfoMapper extends BaseMapper<DownGlassInfo> {
    // 查询下片任务表中状态为1的下片信息
    @Select("SELECT flow_card_id,filmsid,width,height,thickness FROM down_glass_task WHERE state = 1;")
    @Select("SELECT flow_card_id,filmsid,width,height,thickness FROM down_glass_task WHERE task_stauts = 1;")
    List<DownGlassInfo> selectunloadingtaskstate();
    @Update("UPDATE down_glass_task SET state = 0 WHERE flow_card_id = #{flowCardId}")
    @Update("UPDATE down_glass_task SET task_stauts = 0 WHERE flow_card_id = #{flowCardId}")
    void updateTaskStateToZero(@Param("flowCardId") String flowCardId);
    @Select("SELECT MAX(sequence) FROM down_glass_info WHERE flow_card_id = #{flowCardId} LIMIT 1")
UnLoadGlassModule/src/main/java/com/mes/mapper/DownWorkstationMapper.java
@@ -10,6 +10,7 @@
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Mapper
@Component
@@ -66,4 +67,22 @@
    @Update("UPDATE down_workstation_task SET state = 0 WHERE flow_card_id = #{flowCardId}")
    void update_task_state_to_zero(@Param("flowCardId") String flowCardId);
@Select(" SELECT * FROM down_workstation WHERE workstation_id >= 1 AND workstation_id <= 5")
    List<DownWorkstation> getoneDownWorkstations();
    @Select(" SELECT * FROM down_workstation WHERE workstation_id >= 6 AND workstation_id <= 10")
    List<DownWorkstation> gettwoDownWorkstations();
    @Select("SELECT DISTINCT  flowcard_id from glass_info")
    @ResultType(Map.class)
    List<Map<String, Object>> getflowCardId();
    @Update("UPDATE down_workstation SET flow_card_id = NULL, total_quantity = NULL, racks_number = NULL WHERE workstation_id = #{workstationId}")
    void clearFlowCardInfoByWorkstationId(@Param("workstationId") int workstationId);
}
UnLoadGlassModule/src/main/java/com/mes/mapper/GlassInfoMapper.java
New file
@@ -0,0 +1,18 @@
package com.mes.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
@Mapper
public interface GlassInfoMapper {
    @Select("SELECT COUNT(*) FROM glass_info WHERE flow_card_id = #{flowCardId}")
    int getGlassInfoCountByFlowCardId(@Param("flowCardId") String flowCardId);
    @Update("UPDATE down_workstation SET  total_quantity = #{glassInfoCount} WHERE flow_card_id = #{flowCardId}")
    int updateFlowCardIdAndCount(@Param("flowCardId") String flowCardId, @Param("glassInfoCount") int glassInfoCount);
    // 这里可以添加其他 SQL 语句
}
UnLoadGlassModule/src/main/java/com/mes/mapper/OrderTestMapper.java
File was deleted
UnLoadGlassModule/src/main/java/com/mes/service/DownGlassCacheLogic.java
@@ -16,7 +16,12 @@
public class DownGlassCacheLogic {
    @Autowired
    private SelectInfo selectInfo;
    //识别逻辑    不交互
    /**
     * @param Number
     *    //识别逻辑    不交互
     */
    public void identify(String Number){
        //查询任务
        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
@@ -32,25 +37,44 @@
        }
    }
    //下片前理片
    public void Process(){
        String Result=S7control.getinstance().ReadWord("DB14.0", 1).get(0)+"";
        String Number=S7control.getinstance().ReadWord("DB14.2", 1).get(0)+"";
        if(Result=="1"){//进片请求
            processInto(Number);
        }else if(Result=="2"){//出片请求
    public static final String RESULT_IN = "1";
    public static final String RESULT_OUT = "2";
    public static final String RESULT_IN_OUT = "3";
    public void process() {
        String result = S7control.getinstance().ReadWord("DB14.0", 1).get(0) + "";
        String number = S7control.getinstance().ReadWord("DB14.2", 1).get(0) + "";
        // 进片请求
        if (RESULT_IN.equals(result)) {
            processInto(number);
        }
        // 出片请求
        else if (RESULT_OUT.equals(result)) {
            processOut();
        }else if(Result=="3"){//进出片请求
            if (!processOut()) {   //先出后进
                processInto(Number);
            }
        }
        // 进出片请求
        else if (RESULT_IN_OUT.equals(result)) {
            // 先出后进
            if (!processOut()) {
                processInto(number);
            }
        }
    }
    //下片前理片 进
    /**
     * @param Number
     * @return
     *   //下片前理片 进
     */
    public boolean processInto(String Number){
        //按id查询玻璃信息表里的玻璃
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
        if(GlassInfo!=null){//存在此玻璃编号
        //存在此玻璃编号
        if(GlassInfo!=null){
            //同钢化版图内的栅格号
            List<DownStorageCageDetails> list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperinglayoutid(),GlassInfo.getTemperingfeedsequence(),GlassInfo.getWidth());
            //空栅格号
@@ -80,41 +104,43 @@
    //理片 出
    public boolean processOut(){
        //查询任务
        String G04=S7control.getinstance().ReadWord("DB14.56", 1).get(0)+"";
        String G05=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
        String G06=S7control.getinstance().ReadWord("DB14.56", 1).get(0)+"";
        String G11=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
        String G13=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
        List<DownStorageCageDetails> list=selectInfo.SelectCacheOut();
        boolean isOut=true;//其他情况条件 如:后续设备故障禁止理片出片 等
        //其他情况条件 如:后续设备故障禁止理片出片 等
        boolean isOut=true;
        if (list.size()>0&&isOut) {
            DownStorageCageDetails item=list.get(0);
            if(G04=="0"&&G05=="1"){
                //出到  G04
                //selectInfo.insertCacheTask(item.getGlassId()+"","0","04","2");
                selectInfo.insertCacheTask(item.getGlassId()+"","0","04","2",item.getWidth(),item.getHeight(),0,item.getThickness(),item.getFlowCardId());
            if(G06=="0"&&G11=="1"){
                //出到  G06
                selectInfo.insertCacheTask(item.getGlassId()+"","0","06","2",item.getWidth(),item.getHeight(),0,item.getThickness(),item.getFlowCardId());
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
                return true;
            }else if(G04=="1"&&G05=="0"){
                //出到  G05
                //selectInfo.insertCacheTask(item.getGlassId()+"","0","05","2");
                selectInfo.insertCacheTask(item.getGlassId()+"","0","05","2",item.getWidth(),item.getHeight(),0,item.getThickness(),item.getFlowCardId());
            }else if(G06=="1"&&G11=="0"){
                //出到  G11
                selectInfo.insertCacheTask(item.getGlassId()+"","0","11","2",item.getWidth(),item.getHeight(),0,item.getThickness(),item.getFlowCardId());
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
                return true;
            }else if(G04=="0"&&G05=="0"){
            }else if(G06=="0"&&G11=="0"){
                //都允许    G04/G05  上一片是否和此片玻璃尺寸尺寸相同
                String endcell="04";
                String endcell="06";
                String SendEndcell="1";
                boolean If_=false;
                GlassInfo glassInfo04= selectInfo.SelectLastOutCacheInfo("04");
                GlassInfo glassInfo05= selectInfo.SelectLastOutCacheInfo("05");
                GlassInfo glassInfo04= selectInfo.SelectLastOutCacheInfo("06");
                GlassInfo glassInfo05= selectInfo.SelectLastOutCacheInfo("11");
                if(glassInfo05!=null&&glassInfo05.getWidth()==item.getWidth()&&glassInfo05.getHeight()==item.getHeight()){
                    endcell="05";
                    endcell="11";
                    SendEndcell="2";
                }else if(glassInfo05!=null&&If_){
                    //其他条件
                }
                //selectInfo.insertCacheTask(item.getGlassId()+"","0",endcell,"2");
                selectInfo.insertCacheTask(item.getGlassId()+"","0",endcell,"2",item.getWidth(),item.getHeight(),0,item.getThickness(),item.getFlowCardId());
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
@@ -125,7 +151,11 @@
        return false;
    }
    //磨边   不交互  理片和磨边机自己交互
    /**
     * @param Number
     *  //磨边   不交互  理片和磨边机自己交互
     */
    public void processMb(String Number){
          //按id查询玻璃信息表里的玻璃
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
@@ -142,33 +172,58 @@
        //返回结果
    }
      //按id查询玻璃信息表里的玻璃
    public boolean SelectMessageId(String Number){
    /**
     * @param Number
     * @return
     * 查询消息队列里此玻璃ID的数据
     */
    public boolean selectMessageId(String Number){
        //查询是否存在
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        if(GlassInfo==null){
            return false;//返回 不存在
            //返回 不存在
            return false;
        }
        return true;//返回 存在
    }
    //删除消息队列里此玻璃ID的数据
    public boolean DeleteMessageId(String Number){
        //查询是否存在
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        if(GlassInfo==null){
            return false;//返回 不存在
        }
        return true;//返回 存在
        //返回 存在
        return true;
    }
    //是否存在此编号玻璃
    /**
     * @param Number
     * @return
     *   删除消息队列里此玻璃ID的数据
     */
    public boolean deleteMessageId(String Number){
        //查询是否存在
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        if(GlassInfo==null){
            //返回 不存在
            return false;
        }
        //返回 存在
        return true;
    }
    /**
     * @param Number
     * @return
     *   //是否存在此编号玻璃
     */
    public boolean isExist(String Number){
        //查询是否存在
        GlassInfo GlassInfo=selectInfo.SelectGlassId(Number);
        if(GlassInfo==null){
            return false;//返回 不存在
            //返回 不存在
            return false;
        }
        return true;//返回 存在
        //返回 存在
        return true;
    }
    
}
UnLoadGlassModule/src/main/java/com/mes/service/DownGlassLogic.java
@@ -12,35 +12,48 @@
import org.springframework.stereotype.Service;
import java.util.List;
@Data
@Service
public class DownGlassLogic {
    PlcParameterObject plcread = PLCAutoMes.PlcReadObject;
    /**
     * // 机械手1PLC请求字
     */
    String robot1PLCrequestword = plcread.getPlcParameter("A01Position").getValue();
    /**
     * // 机械手2PLC请求字
     */
    String robot2PLCrequestword = plcread.getPlcParameter("A01Position").getValue();
    /**
     * // 玻璃id
     */
    String glassID = plcread.getPlcParameter("A01Position").getValue();
    String glasswidth = plcread.getPlcParameter("A01Position").getValue();
    String glassheight = plcread.getPlcParameter("A01Position").getValue();
    //
    String glassthickness = plcread.getPlcParameter("A01Position").getValue();
    String pLcwancheng = plcread.getPlcParameter("A01Position").getValue();
    @Autowired
    private DownWorkstationMapper downWorkstationMapper;
    private DownGlassInfo downGlassInfo;
    private DownWorkstation downWorkstation;
    private DownGlassInfoMapper downGlassInfoMapper;
    private DownGlassInfoService downGlassInfoService;
    /**
     * // 存放待处理的玻璃信息
     */
    private List<DownGlassInfo> glassList;
    /**
     * 存放玻璃放置在缓存笼中的详细信息
     */
    private List<DownStorageCageDetails> cageDetailsList;
    /**
     * //当下片任务表状态为1时候将数据插入到下片玻璃信息表
     */
    private List<DownGlassInfo> glassList; // 存放待处理的玻璃信息
    private List<DownStorageCageDetails> cageDetailsList; // 存放玻璃放置在缓存笼中的详细信息
    PlcParameterObject plcread=PLCAutoMes.PlcReadObject;
    String Robot1PLCrequestword=plcread.getPlcParameter("A01Position").getValue();// 机械手1PLC请求字
    String Robot2PLCrequestword=plcread.getPlcParameter("A01Position").getValue();// 机械手2PLC请求字
    String GlassID=plcread.getPlcParameter("A01Position").getValue();// 玻璃id
    String Glasswidth=plcread.getPlcParameter("A01Position").getValue();//玻璃宽度
    String Glassheight=plcread.getPlcParameter("A01Position").getValue();//玻璃高度
    String Glassthickness=plcread.getPlcParameter("A01Position").getValue();//厚度
    String PLCwancheng = plcread.getPlcParameter("A01Position").getValue();// plc完成字
    //当下片任务表状态为1时候将数据插入到下片玻璃信息表
    public void insertdownglassinfo() {
@@ -51,7 +64,7 @@
//
        if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
//
            for (DownGlassInfo downGlassInfo : taskdownGlassInf) {
@@ -60,13 +73,15 @@
                newdownGlassInfo.setFlowCardId(downGlassInfo.getFlowCardId());
                Integer maxSequence = downGlassInfoMapper.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
                int sequence = maxSequence != null ? maxSequence + 1 : 1; // 初始化顺序字段值
                // 初始化顺序字段值
                int sequence = maxSequence != null ? maxSequence + 1 : 1;
                newdownGlassInfo.setWidth(downGlassInfo.getWidth());
                newdownGlassInfo.setHeight(downGlassInfo.getHeight());
                newdownGlassInfo.setThickness(downGlassInfo.getThickness());
                newdownGlassInfo.setFilmsid(downGlassInfo.getFilmsid());
                newdownGlassInfo.setSequence(sequence); // 设置顺序字段值
                // 设置顺序字段值
                newdownGlassInfo.setSequence(sequence);
                // 插入数据到下片玻璃信息表
                downGlassInfoMapper.insert(newdownGlassInfo);
@@ -78,17 +93,18 @@
                sequence++; // 递增顺序字段值
            }
        }
    }
    //当机械手任务表中状态为1,工位表流程卡绑定了架子 更新已经落架数量,并且把下片任务表的对应记录删掉
    public void down_workstation(){
    /**
     * //当机械手任务表中状态为1,工位表流程卡绑定了架子 更新已经落架数量,并且把下片任务表的对应记录删掉
     */
        //downWorkstationMapper = WebSocketServer.applicationContext.getBean(DownWorkstationMapper.class);
        //downGlassInfoMapper = WebSocketServer.applicationContext.getBean(DownGlassInfoMapper.class);
    public void downWorkstation() {
        try {
            //查询下片工位表中架子是否绑定了流程卡号 工位表和任务表中状态为1的流程卡号和已落架数量
            List<DownWorkstation> taskdownWorkstation = downWorkstationMapper.selectdownWorkstationstate();
@@ -97,7 +113,7 @@
                for (DownWorkstation downWorkstation : taskdownWorkstation) {
                    //更新下片工位表中已落架数量
                    downWorkstationMapper.update_racks_number(downWorkstation.getFlowCardId(),downWorkstation.getRacksnumber()+1 );
                    downWorkstationMapper.update_racks_number(downWorkstation.getFlowCardId(), downWorkstation.getRacksnumber() + 1);
                    //更新机械任务表中状态为0
                    downWorkstationMapper.update_task_state_to_zero(downWorkstation.getFlowCardId());
@@ -116,35 +132,23 @@
    }
    /**
     * @param downWorkstation // 绑定流程卡号架子
     */
    // 绑定流程卡号架子
    public void bindingshelf(DownWorkstation downWorkstation){
    public void bindingshelf(DownWorkstation downWorkstation) {
        downWorkstationMapper.updateFlowCardId(downWorkstation);
    }
    /**
     * @param downWorkstation // 满架拉走 清除流程卡信息
     */
    // 满架拉走 清除流程卡信息
    public void clearFlowCardId(DownWorkstation downWorkstation){
    public void clearFlowCardId(DownWorkstation downWorkstation) {
       downWorkstationMapper.clearFlowCardId(downWorkstation);
        downWorkstationMapper.clearFlowCardId(downWorkstation);
    }
}
UnLoadGlassModule/src/main/java/com/mes/service/DownWorkstationService.java
New file
@@ -0,0 +1,42 @@
package com.mes.service;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.mes.entity.DownWorkstation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
@DS("hangzhoumes")
public  class DownWorkstationService {
    @Autowired
    private com.mes.mapper.DownWorkstationMapper DownWorkstationMapper;
    public List<DownWorkstation> getoneDownWorkstations() {
   return DownWorkstationMapper.getoneDownWorkstations();
    }
    public List<DownWorkstation> gettwoDownWorkstations() {
        return DownWorkstationMapper.gettwoDownWorkstations();
    }
    public List<Map<String, Object>> getflowCardId() {
        return DownWorkstationMapper.getflowCardId();
    }
    public void clearFlowCardId(int workstationId) {
        // 执行清除指定工位ID的流程卡信息的逻辑,可以是数据库操作或其他业务逻辑
        // 例如:
        DownWorkstationMapper.clearFlowCardInfoByWorkstationId(workstationId);
    }
}
UnLoadGlassModule/src/main/java/com/mes/service/GlassInfoService.java
New file
@@ -0,0 +1,28 @@
package com.mes.service;
import com.mes.mapper.GlassInfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class GlassInfoService {
    @Autowired
    private GlassInfoMapper glassInfoMapper;
    public int getGlassInfoCountByFlowCardId(String flowCardId) {
        return glassInfoMapper.getGlassInfoCountByFlowCardId(flowCardId);
    }
    public void updateFlowCardIdAndCount(String flowCardId, int glassInfoCount) {
        // 调用 GlassInfoMapper 的 updateFlowCardIdAndCount 方法
        int rowsAffected = glassInfoMapper.updateFlowCardIdAndCount(flowCardId, glassInfoCount);
        if (rowsAffected > 0) {
            System.out.println("更新流程卡 ID 和数量成功");
        } else {
            System.out.println("更新流程卡 ID 和数量失败");
        }
    }
    // 这里可以添加其他业务逻辑方法
}
UnLoadGlassModule/src/main/java/com/mes/service/IOrderService.java
File was deleted
UnLoadGlassModule/src/main/java/com/mes/service/ModuleA.java
@@ -8,7 +8,8 @@
    public ModuleA(String QUEUENAME) {
        QUEUE_NAME = QUEUENAME;
        receiver = new RabbitMQUtils(); // 实例化 RabbitMQUtils 对象
        // 实例化 RabbitMQUtils 对象
        receiver = new RabbitMQUtils();
    }
    public static void main(String[] argv) throws Exception {
@@ -16,11 +17,11 @@
//        String message = "Your message to send666";
//        String messageId = "5"; // 消息ID
//        receiver.sendMessageWithId(QUEUE_NAME, message, messageId); // 调用 sendMessageWithId 方法发送消息
        receiver.sendMessageWithId("hangzhou2", "Hello RabbitMQ!", "1");
        receiver.sendMessageWithId("hangzhou2", "Another message", "2");
        receiver.sendMessageWithId("hangzhou2", "Another message", "3");
        receiver.sendMessageWithId("hangzhou2", "Another message", "4");
        receiver.sendMessageWithId("hangzhou2", "Another message", "5");
        RabbitMQUtils.sendMessageWithId("hangzhou2", "Hello RabbitMQ!", "1");
        RabbitMQUtils.sendMessageWithId("hangzhou2", "Another message", "2");
        RabbitMQUtils.sendMessageWithId("hangzhou2", "Another message", "3");
        RabbitMQUtils.sendMessageWithId("hangzhou2", "Another message", "4");
        RabbitMQUtils.sendMessageWithId("hangzhou2", "Another message", "5");
      //  receiver.sendMessageWithId("hangzhou2", "Yet another message", "1"); // 这条消息会打印重复消息的错误信息
    }
UnLoadGlassModule/src/main/java/com/mes/service/ModuleB.java
@@ -18,7 +18,7 @@
            //receiver.consumeMessageById("5",QUEUE_NAME);
           // String receivedMessage = receiver.consumeSelectedMessage(1,QUEUE_NAME);
        List<String> receivedMessage = receiver.browseMessages(QUEUE_NAME);
        List<String> receivedMessage = RabbitMQUtils.browseMessages(QUEUE_NAME);
          System.out.println("Received message: " + receivedMessage);
        } catch (Exception e) {
            e.printStackTrace();
UnLoadGlassModule/src/main/java/com/mes/service/Plchome.java
@@ -32,7 +32,7 @@
                //当机械手任务表中状态为1 更新已经落架数量,并且把下片任务表的那条记录删掉 工位表流程卡绑定了架子
                plcService.down_workstation();
                plcService.downWorkstation();
            } catch (InterruptedException e) {
UnLoadGlassModule/src/main/java/com/mes/service/impl/OrderServiceImpl.java
File was deleted
UnLoadGlassModule/src/main/java/com/mes/tools/Configuration.java
@@ -5,11 +5,24 @@
import java.io.InputStream;
import java.util.Properties;
// Configuration 类用于加载配置文件并提供访问配置项的方法。
/**
 * @author SNG-012
 *
 *  Configuration 类用于加载配置文件并提供访问配置项的方法。
 */
public class Configuration {
    private Properties properties; // Properties 对象,用于存储配置文件中的键值对。
    // 构造函数,根据传入的文件名加载配置文件。
    /**
     * // Properties 对象,用于存储配置文件中的键值对。
     */
    private Properties properties;
    /**
     * @param fileName
     * @throws IOException
     *     // 构造函数,根据传入的文件名加载配置文件。
     */
    public Configuration(String fileName) throws IOException {
        // 使用类加载器获取资源文件的输入流。
        InputStream inputStream = getClass().getClassLoader().getResourceAsStream(fileName);
@@ -17,11 +30,18 @@
        if (inputStream == null) {
            throw new FileNotFoundException("Property file '" + fileName + "' not found in the classpath");
        }
        properties = new Properties(); // 实例化Properties对象。
        properties.load(inputStream); // 从输入流加载配置项。
        // 实例化Properties对象。
        properties = new Properties();
        // 从输入流加载配置项。
        properties.load(inputStream);
    }
    // 根据配置项的键获取其对应的值。
    /**
     * @param key
     * @return
     *     // 根据配置项的键获取其对应的值。
     */
    public String getProperty(String key) {
        return properties.getProperty(key);
    }