wu
2024-04-11 55983f3f4cef9c325fa491acd5462736ca778025
迁移新架构
7个文件已添加
319 ■■■■■ 已修改文件
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/controller/LoadGlassController.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/mapper/LoadGlassMapper.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/LoadGlassService.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingController.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingMapper.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingOverService.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/controller/LoadGlassController.java
New file
@@ -0,0 +1,52 @@
package com.mes.controller;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.mes.common.Result;
import com.mes.entity.UpWorkstation;
import com.mes.service.LoadGlassService;
@RestController
@RequestMapping("/LoadGlass")
// TidyUpGlassModule 钢化模块
public class LoadGlassController {
    @Autowired
    private LoadGlassService loadGlassService;
    @PostMapping("/SelectAll") //查询现在上片机的玻璃信息
    @ResponseBody
    public Result SelectGlassInfo() {
        List<UpWorkstation> glass = loadGlassService.selectAll();
        System.out.println(glass);
        return Result.seccess(glass);
    }
    @PostMapping("/insertGlass") //修改一条工位信息,接收实例类字段为宽高厚膜系数量工位id
    @ResponseBody
    public void insertGlassinfo(@RequestBody UpWorkstation upwork) {
        loadGlassService.insertGlass(upwork);
    }
    @PostMapping("/deleteGlass") //修改一条工位的玻璃信息,传输工位id将玻璃信息相关字段更改为null
    @ResponseBody
    public void SelectCutTerritory(int upworkid) {
        loadGlassService.deleteGlass(upworkid);
    }
    @PostMapping("/selectPriority") //开始上片任务
    @ResponseBody
    public void selectPriority() {
        boolean result = loadGlassService.isCanLoadGlass();
        if(result==true){
            loadGlassService.selectPriority();
        }
    }
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/mapper/LoadGlassMapper.java
New file
@@ -0,0 +1,24 @@
package com.mes.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
import org.apache.ibatis.annotations.*;
import com.mes.entity.UpWorkstation;
@Mapper
public interface LoadGlassMapper extends BaseMapper<UpWorkstation> {
    //显示目前工位玻璃信息
    @Select("SELECT * FROM up_workstation")
    List<UpWorkstation> selectALL();
    //删除工位的玻璃信息
    @Update("UPDATE `hangzhoumes`.`up_workstation` SET   `pattern_width` =NULL, `pattern_heigth` = NULL, `pattern_thickness` = NULL, `films_id` = NULL, `number` = NULL WHERE `workstation_id`=#{id}")
    void deleteGlass(int id );
    //增加上片信息
    @Update ("UPDATE `hangzhoumes`.`up_workstation` SET   `pattern_width` = #{upwork.patternwidth}, `pattern_heigth` = #{upwork.patternheigth}, `pattern_thickness` =#{upwork.patternthickness}, `films_id` =#{upwork.filmsid}, `number` = #{upwork.number} WHERE `id` = #{upwork.workstationid}; ")
    void insertGlass(UpWorkstation upwork);
    //是否发起吸片
    @Select("SELECT * FROM up_workstation where  workstation_id=#{id}")
    UpWorkstation selectAdd(int id);
    //判断优先工位吸片
    @Select("select b.layout_sequence from up_workstation a left join up_patten_usage b on a.pattern_width=b.width and a.pattern_heigth=b.width and a.pattern_thickness=b.thickness where a.workstation_id=#{id}")
    int selectPriority(int id);
}
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/upworkstation/service/LoadGlassService.java
New file
@@ -0,0 +1,65 @@
package com.mes.service;
import java.util.List;
import org.springframework.stereotype.Service;
import com.mes.entity.device.PLCAutoMes;
import com.mes.common.PlcTools.S7control;
import com.mes.entity.device.PlcParameterObject;
import com.mes.entity.UpWorkstation;
import com.mes.mapper.LoadGlassMapper;
@Service
public class LoadGlassService {
    private S7control s7control;
    private LoadGlassMapper LoadGlassMapper;
    PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
    //显示工位上的玻璃信息
    public List<UpWorkstation> selectAll() {
        List<UpWorkstation> glassInfo= LoadGlassMapper.selectALL();
        return glassInfo;
    }
    //增加人工输入的工位玻璃信息
    public void insertGlass(UpWorkstation upwork) {
        LoadGlassMapper.insertGlass(upwork);
    }
    //删除人工搬走的玻璃信息
    public void deleteGlass(int id) {
        LoadGlassMapper.deleteGlass(id);
    }
    //判断是否可以吸片进行任务
    public boolean isCanLoadGlass() {
        String loadstate=plcmes.getPlcParameter("吸片信号").getValue();
        if(loadstate.equals("1")) {
            return true;
        }else{
            return false;
        }
    }
    //判断优先吸片位置后发送出片任务
    public void selectPriority() {
        int loadid1=LoadGlassMapper.selectPriority(1);
        int loadid2=LoadGlassMapper.selectPriority(2);
        //判断一二号工位哪边的顺序更先
        if(loadid1>loadid2) {
            s7control.WriteWord("DB100.10", (short)2);
        }else if(loadid1==loadid2){
            //当两个工位上的玻璃数相同时,判断哪个工位上的玻璃数更少,优先清空一个架子
            int glassnum1=Integer.parseInt(plcmes.getPlcParameter("玻璃数").getValue());
            int glassnum2=Integer.parseInt(plcmes.getPlcParameter("玻璃数").getValue());
            if(glassnum1>glassnum2){
                s7control.WriteWord("DB100.10", (short)2);
            }else{
                s7control.WriteWord("DB100.10", (short)1);
            }
        }else{
            s7control.WriteWord("DB100.10", (short)1);
        }
    }
}
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingController.java
New file
@@ -0,0 +1,51 @@
package com.mes.controller;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.mes.common.Result;
import com.mes.entity.Tempering;
import com.mes.service.TemperingOverService;
import com.mes.service.TemperingService;
@RestController
@RequestMapping("/Tempering")
// TidyUpGlassModule 钢化模块
public class TemperingController {
    @Autowired
    private TemperingService temperingService;
    @Autowired
    private TemperingOverService temperingOverService;
    @GetMapping("/SelectWaitingGlass") // 查询钢化等片中的版图信息,状态为1的为已到,状态为0的为等待中
    @ResponseBody
    public Result SelectWaitingGlass(@RequestParam(name = "ProcessId", required = false) String ProcessId) {
        List<Tempering> glass = temperingService.SelectWaitingGlass();
        System.out.println(glass);
        return Result.seccess(glass);
    }
    @GetMapping("/SelectIntoGlass") // 查询进炉中的钢化等片中的版图信息,状态全为1的为已到。
    @ResponseBody
    public Result SelectIntoGlass(String ProcessId) {
        List<Tempering> glass = temperingService.SelectIntoGlass();
        System.out.println(glass);
        return Result.seccess(glass);
    }
    @GetMapping("/SelectOutGlass") //钢化后显示出炉的版图信息
    @ResponseBody
    public Result SelectOutGlass(String ProcessId) {
        List<Tempering> glass = temperingOverService.SelectOutGlass();
        System.out.println(glass);
        return Result.seccess(glass);
    }
}
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingMapper.java
New file
@@ -0,0 +1,33 @@
package com.mes.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.entity.GlassInfo;
import com.mes.entity.Tempering;
import java.util.List;
import org.apache.ibatis.annotations.*;
@Mapper
public interface TemperingMapper extends BaseMapper<Tempering> {
//查询该玻璃的尺寸和坐标
@Select("select *from glass_info where id=#{glassid};")
GlassInfo SelectGlass(String glassid);
//是否可以发送进炉信号
@Select("select count(*) from glass_info where id=#{glassid};")
int SelectTempering(String glassid);
//查询等待中的钢化版图玻璃信息
@Select("select*from tempering_glass_info a left join (select flowcard_id,count(state)state from tempering_glass_info GROUP BY flowcard_id,state)b on a.flowcard_id=b.flowcard_id where b.state=2")
List<Tempering> SelectWaitingGlass();
//查询进炉中的钢化版图玻璃信息
@Select("select*from tempering_glass_info a left join (select flowcard_id,min(state)state1 from tempering_glass_info GROUP BY flowcard_id having state1=1)b on a.flowcard_id=b.flowcard_id where b.state1=1")
List<Tempering> SelectInGlass();
//查询钢化后的钢化版图信息
@Select("select*from tempering_glass_info a left join (select flowcard_id,min(state)state1 from tempering_glass_info GROUP BY flowcard_id having state1=2)b on a.flowcard_id=b.flowcard_id where b.state1=2")
List <Tempering> SelectOutGlass();
}
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingOverService.java
New file
@@ -0,0 +1,36 @@
package com.mes.service;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.mes.common.PlcTools.S7control;
import com.mes.entity.Tempering;
import com.mes.entity.device.PLCAutoMes;
import com.mes.entity.device.PlcParameterObject;
import com.mes.mapper.TemperingMapper;
import java.util.List;
import org.springframework.stereotype.Service;
@Service
@DS("glass_info")
public class TemperingOverService {
private final TemperingMapper temperingMapper;
   //PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
    public TemperingOverService(TemperingMapper temperingMapper) {
        this.temperingMapper = temperingMapper;
    }
    //接收出炉信号和炉号
    public String SelectOutSignal () {
        S7control.getinstance().WriteWord("出炉信号", (short)1);
        return "GlassInfo";
    }
    //发送确认收到信号
    public void OverSignal () {
        S7control.getinstance().WriteWord("确认字", (short)1);
    }
    //显示钢化出炉后的版图信息
    public List <Tempering> SelectOutGlass () {
        return temperingMapper.SelectOutGlass();
    }
}
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java
New file
@@ -0,0 +1,58 @@
package com.mes.service;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.mes.common.PlcTools.S7control;
import com.mes.entity.GlassInfo;
import com.mes.entity.Tempering;
import com.mes.mapper.TemperingMapper;
import java.util.List;
import org.springframework.stereotype.Service;
@Service
@DS("glass_info")
public class TemperingService {
    private final TemperingMapper temperingMapper;
    private S7control s7control;
    public TemperingService(TemperingMapper temperingMapper) {
        this.temperingMapper = temperingMapper;
    }
    //接收id返回坐标和数据
    public GlassInfo SelectOutGlass (String glassid) {
        GlassInfo GlassInfo = temperingMapper.SelectGlass(glassid);
        return GlassInfo;
    }
    //发送坐标信息
    public void SendCoordinate (short glassX,short glassY) {
        s7control.WriteWord("DB100.10", glassX);
        s7control.WriteWord("DB100.10", glassY);
    }
    //判断是否可以发送进炉信号
    public int SelectTempering (String glassid) {
        int tempering = temperingMapper.SelectTempering(glassid);
        if (tempering == 1) {
            return 1;
        }
        else {
            return 0;
        }
    }
    //发送进炉信号
    public void SendIntoGlass (short start) {
        s7control.WriteWord("DB100.10", start);
    }
    //接受完成字回复确认字
    public void SendIntoGlass () {
        s7control.WriteWord("DB100.10", (short)1);
    }
    //显示等待中的版图
    public List <Tempering> SelectWaitingGlass () {
        List<Tempering> WaitingGlass = temperingMapper.SelectWaitingGlass();
        return WaitingGlass;
    }
    //显示正在进炉的版图
    public List<Tempering> SelectIntoGlass () {
        List<Tempering> IntoGlass = temperingMapper.SelectInGlass();
        return IntoGlass;
    }
}