1,取消在开始进片或出片时结束之前的任务,改为进片车或出片车变空闲后立即结束数据库任务表的任务状态;
2,手动删除玻璃时恢复数据库理片笼信息中的剩余宽度
9个文件已修改
129 ■■■■■ 已修改文件
CanadaMes-ui/src/lang/locales/zh-CN.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/home/index.vue 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/service/JdbcConnections.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/lang/locales/zh-CN.json
@@ -239,8 +239,8 @@
  "cancal":"取消",
  "confirm":"确认",
  "number":"数量",
  "Coming out glass ID":"进片玻璃id",
  "Incoming glass ID":"出片玻璃id",
  "Coming out glass ID":"出片玻璃id",
  "Incoming glass ID":"进片玻璃id",
  "The Cage number being used":"笼子",
  "The Grille number being used":"格子",
  "Order Nmuber":"订单编号",
CanadaMes-ui/src/views/home/index.vue
@@ -211,7 +211,7 @@
                    <el-table-column :label="$t('Operate')">
                        <template slot-scope='scope'>
                            <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                                @click="endtask(0, scope.row.glassId, scope.row.cell)">{{ $t('end task') }}</el-button>
                                @click="endtask(1, scope.row.glassId, scope.row.cell)">{{ $t('end task') }}</el-button>
                        </template>
                    </el-table-column>
                </el-table>
@@ -225,7 +225,7 @@
                    <el-table-column :label="$t('Operate')">
                        <template slot-scope='scope'>
                            <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                                @click="endtask(1, scope.row.glassId, scope.row.cell)">{{ $t('end task') }}</el-button>
                                @click="endtask(0, scope.row.glassId, scope.row.cell)">{{ $t('end task') }}</el-button>
                        </template>
                    </el-table-column>
                </el-table>
@@ -401,8 +401,8 @@
            cagelist2: [],
            cagelist3: [],
            cagelist4: [],
            task1: 2,
            task2: 3,
            task1: 3,
            task2: 2,
            tasklist1: [],
            tasklist2: [],
            order: "",
@@ -417,7 +417,8 @@
            carlist: [],
            loadglassheight: 0,
            password: 1,
            text: ""
            text: "DataBase Connection failed",
            zhuangtai: ""
        };
    },
    created() {
@@ -449,11 +450,12 @@
                    //console.log("收到数据====" + msg.data);
                    let obj = JSON.parse(msg.data);
                    if (obj.params != null) {
                        this.car1 = 145 + 8.1 * Math.abs(obj.params[0][0] - this.carlist[0]['start']) / Math.abs(this.carlist[0]['end'] - this.carlist[0]['start']) * 100;
                        this.car2 = 210 + 8.25 * Math.abs(obj.params[0][1] - this.carlist[1]['start']) / Math.abs(this.carlist[1]['end'] - this.carlist[1]['start']) * 100;
                        this.car1 = 145 + 8.15 * Math.abs(obj.params[0][0] - this.carlist[0]['start']) / Math.abs(this.carlist[0]['end'] - this.carlist[0]['start']) * 100;
                        this.car2 = 210 + 8.15 * Math.abs(obj.params[0][1] - this.carlist[1]['start']) / Math.abs(this.carlist[1]['end'] - this.carlist[1]['start']) * 100;
                        // this.car1 = 210 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
                        // this.car2 = 300 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
                        console.log(obj.params[0][1], this.carlist[1]['start']);
                        console.log(obj.params[0][0], this.carlist[0]['start']);
                    }
                    this.tableData = obj.tableData[0];
                    this.cagelist1 = obj.cagelist1[0];
@@ -462,12 +464,13 @@
                    this.cagelist4 = obj.cagelist4[0];
                    this.tasklist1 = obj.tasklist1[0];
                    this.tasklist2 = obj.tasklist2[0];
                    // console.log(this.cagelist4);
                    this.alarm = obj.alarmmg[0];
                    this.loadglassheight = obj.loadglassheight;
                    if (obj.dbconnected == "false") {
                        this.text = this.$t('DataBase Connection failed');
                    }
                    this.zhuangtai = obj.zhuangtai[0];
                    //if (obj.dbconnected == "false") {
                    this.text = this.$t('DataBase Connection failed');
                    // }
                    SelectCageInfo(this.cage).then(res => {
                        this.cageinfo = res.data.cageinfo;
                    });
@@ -554,20 +557,25 @@
        //手动上片
        sbumitglassid() {
            if (this.form.order != "") {
                Addglassid(this.glassid).then(res => {
                    if (res.data.message2 == 200) {
                        this.$message.success(this.$t('Operation successful'));
                        this.cancal();
                    } else if (res.data.message2 == 500) {
                        this.$message.success(this.$t('There are currently tasks'));
                    }
                    else if (res.data.message2 == 300) {
                        this.$message.success(this.$t('There is no such glass'));
                    }
                    else if (res.data.message2 == 400) {
                        this.$message.success(this.$t('There is no such grid'));
                    }
                });
                if (this.zhuangtai == true) {
                    Addglassid(this.glassid).then(res => {
                        if (res.data.message2 == 200) {
                            this.$message.success(this.$t('Operation successful'));
                            this.cancal();
                        } else if (res.data.message2 == 500) {
                            this.$message.success(this.$t('There are currently tasks'));
                        }
                        else if (res.data.message2 == 300) {
                            this.$message.success(this.$t('There is no such glass'));
                        }
                        else if (res.data.message2 == 400) {
                            this.$message.success(this.$t('There is no such grid'));
                        }
                    });
                } else {
                    this.$message.success(this.$t('There are currently tasks'));
                }
            }
        },
        showform() {
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -74,6 +74,7 @@
       if(inglassbegin&exist1)
       {
        inglassbegin=false;
        spianMapper.Updatetask(1, 0);//立即结束数据库表中的上片任务
        spianMapper.UpdataAddCageState(1,2);
       }
        // 进片请求为1时
@@ -108,9 +109,9 @@
          }
          // System.out.println(exist);
        }
           if(exist1==false){//下发任务后将任务启动改为0
          if(exist2==true) {
//下发任务后将任务启动改为0
           if(exist1==false){  //进片车忙碌时
          if(exist2==true) {   //任务已启动时
          S7control.getinstance().WriteWord("DB105.12",(short)0);//进片任务启动改为0
          }  
        }
@@ -145,6 +146,7 @@
       if(outglassbegin&outstate)//当任务开始且出片车空闲时
       {
        outglassbegin=false;
        spianMapper.UpdatetaskOut(); //完成上一次出片或者调度任务
        spianMapper.UpdataAddCageState(0,3);
       }
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -37,12 +37,12 @@
            List<StorageCage> cagelist3 = homeMapper.selectRack3();
            List<StorageCage> cagelist4 = homeMapper.selectRack4();
            jsonObject.append("cagelist1", cagelist1);
            jsonObject.append("cagelist2", cagelist2);
            jsonObject.append("cagelist2", (Object)cagelist2);
            jsonObject.append("cagelist3", cagelist3);
            jsonObject.append("cagelist4", cagelist4);
            // 进出片任务
            List<StorageCage> tasklist1 = homeMapper.selectinout(2);
            List<StorageCage> tasklist2 = homeMapper.selectinout(3);
            List<StorageCage> tasklist1 = homeMapper.selectinout(3);
            List<StorageCage> tasklist2 = homeMapper.selectinout(2);
            jsonObject.append("tasklist1", tasklist1);
            jsonObject.append("tasklist2", tasklist2);
            // 查询报警信息
@@ -53,7 +53,10 @@
            addressList.add("DB106.12");
            addressList.add("DB106.0");
            List<Short> paramlist= S7control.getinstance().ReadWord(addressList);
            // 获取进片车状态
            List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8", 1);// 获取进片车状态
            boolean exist1 = datas1ListState.contains((short) 0);
            jsonObject.append("zhuangtai",exist1);
            // List<Short> paramlists = new ArrayList<Short>();
            // short para1 = 11111;
            // short para2 = 32000;
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -27,7 +27,7 @@
    new PlcHold().start();
    new Plcaction().start();
    // new Plcaction().start();
    new Plchome().start();
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -7,9 +7,11 @@
import org.springframework.beans.factory.annotation.Autowired;
import com.example.springboot.mapper.HomeMapper;
import com.example.springboot.mapper.SpianMapper;
import com.example.springboot.service.HomeService;
import com.example.springboot.service.SpianService;
import com.example.springboot.common.Result;
import com.example.springboot.component.S7control;
import com.example.springboot.entity.CarPosition;
import com.example.springboot.entity.StorageCage;
import com.example.springboot.entity.alarmmg;
@@ -27,6 +29,9 @@
    @Autowired
    SpianService spianService;
    @Autowired
    SpianMapper spianMapper;
    @GetMapping("/load")
    public Result selectAll() {
@@ -95,11 +100,17 @@
    @GetMapping("/UpdateTask")
    public Result UpdateTask(Integer types, Integer shelfrack, Integer glassid) {
        Map<String, Object> map = new HashMap<>();
        homeMapper.UpdateTask(types, shelfrack);
        homeMapper.UpdateTask(types);
        StorageCage glass=homeMapper.SelectGlassInfo(glassid);
        if (types == 0) {
            homeMapper.UpdateCageTask1(shelfrack, glassid);
            spianMapper.UpdataAddCage1(glass.getGlassWidth(),glass.getCage(),glass.getCell());
            homeMapper.UpdateCageTask1(glassid);
            S7control.getinstance().WriteWord("DB105.14",(short)0);
        } else {
            homeMapper.UpdateCageTask2(shelfrack, glassid);
            spianMapper.UpdataOutCage1(glass.getGlassWidth(),glass.getCage(),glass.getCell());
            homeMapper.UpdateCageTask2(glassid);
            S7control.getinstance().WriteWord("DB105.12",(short)0);
        }
        map.put("message3", "200");
        return Result.success(map);
@@ -123,7 +134,9 @@
    @GetMapping("/DeleteByGlassID")
    public Result DeleteByGlassID(short glassid) {
        homeMapper.DeleteByGlassID(glassid);
        StorageCage glassinfor= homeMapper.SelectGlassInfo(Integer.valueOf(glassid));
        spianMapper.UpdataOutCage1(glassinfor.getGlassWidth(),glassinfor.getCage(),glassinfor.getCell());
        homeMapper.DeleteByGlassID(glassid);
        Map<String, Object> map = new HashMap<>();
        map.put("message3", "200");
        return Result.success(map);
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -51,16 +51,16 @@
  short SelectOutTask();
  // 手动完成任务
  @Update("update storage_task set task_state=1 where shelf_rack=#{shelf_rack} and task_type=#{task_type} and task_state=0")
  void UpdateTask(@Param("task_type") Integer task_type, @Param("shelf_rack") Integer shelf_rack);
  @Update("update storage_task set task_state=1 where task_type=#{task_type} and task_state=0")
  void UpdateTask(@Param("task_type") Integer task_type);
  // 手动完成进片任务修改笼子数据
  @Update("update storage_cage set state=1 where cell=#{cell} and glass_id=#{glassid} and state=2")
  void UpdateCageTask1(@Param("cell") Integer cell,@Param("glassid") Integer glassid);
  @Update("update storage_cage set state=1 where glass_id=#{glassid} and state=2")
  void UpdateCageTask1(@Param("glassid") Integer glassid);
  // 手动完成出片任务修改笼子数据
  @Update("update storage_cage set state=0,glass_id=null,order_id=null,glasswidth=null,glassheight=null,coating=null where cell=#{cell} and glass_id=#{glassid} and state=3")
  void UpdateCageTask2(@Param("cell") Integer cell,@Param("glassid") Integer glassid);
  @Update("update storage_cage set state=0,glass_id=null,order_id=null,glasswidth=null,glassheight=null,coating=null where glass_id=#{glassid} and state=3")
  void UpdateCageTask2(@Param("glassid") Integer glassid);
  //获取报警信息
  @Select("select id,content,timeon as timeons,endTime from alarmmg where endTime is null")
@@ -79,4 +79,7 @@
  @Select("select dianqimima from user where id=1")
  String SelectPassword();
  @Select("select * from storage_cage where glass_id=#{glassid}")
  StorageCage SelectGlassInfo(Integer glassid);
}
springboot-vue3/src/main/java/com/example/springboot/service/JdbcConnections.java
@@ -56,7 +56,7 @@
     */
    public static Connection getConn() throws SQLException {
        Connection conn = null;
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/canadameserp?serverTimezone=GMT%2B8&characterEncoding=utf-8", "root", "beibo.123/");
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/canadames?serverTimezone=GMT%2B8&characterEncoding=utf-8", "root", "beibo.123/");
        return conn;
    }
springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
@@ -22,7 +22,7 @@
    // @GetMapping("/all2")
    public Result selectout(String orderid) {
        
        spianMapper.UpdatetaskOut(); //完成上一次出片或者调度任务
        //spianMapper.UpdatetaskOut(); //完成上一次出片或者调度任务,改到plchold里,出片或调度任务完成立即改变结束任务;
        // 定义PRC数据传送数组
        List<String> adddresslist = new ArrayList<>();
        adddresslist.add("DB105.6");// 出片车起始位置
@@ -160,13 +160,13 @@
        int prctier;
        double width;
        double minwidth=0;
        spianMapper.Updatetask(1, 0);//完成任务
        //spianMapper.Updatetask(1, 0);//完成任务,改到plchold里,出片或调度任务完成立即改变结束任务;
            Glass glasslist = spianMapper.selectGlass(glassid);
        if(glasslist==null){
          return (300);
        }
        double widths = glasslist.getWidth();
        Short orderids = glasslist.getOrderId();
        Short orderids = glasslist.getOrderId();
        List<String> adddresslist = new ArrayList<>();
        adddresslist.add("DB105.0");// 进片车起始位置
@@ -227,7 +227,7 @@
    // @GetMapping("/all2")
    public Short selectout2(String glassid) {
        spianMapper.UpdatetaskOut(); //完成上一次出片或者调度任务
        //spianMapper.UpdatetaskOut(); //完成上一次出片或者调度任务,改到plchold里,出片或调度任务完成立即改变结束任务;
        // 定义PRC数据传送数组
        List<String> adddresslist = new ArrayList<>();
        adddresslist.add("DB105.6");// 出片车起始位置