1,取消在开始进片或出片时结束之前的任务,改为进片车或出片车变空闲后立即结束数据库任务表的任务状态;
2,手动删除玻璃时恢复数据库理片笼信息中的剩余宽度
| | |
| | | "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":"订单编号",
|
| | |
| | | <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>
|
| | |
| | | <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>
|
| | |
| | | cagelist2: [],
|
| | | cagelist3: [],
|
| | | cagelist4: [],
|
| | | task1: 2,
|
| | | task2: 3,
|
| | | task1: 3,
|
| | | task2: 2,
|
| | | tasklist1: [],
|
| | | tasklist2: [],
|
| | | order: "",
|
| | |
| | | carlist: [],
|
| | | loadglassheight: 0,
|
| | | password: 1,
|
| | | text: ""
|
| | | text: "DataBase Connection failed",
|
| | | zhuangtai: ""
|
| | | };
|
| | | },
|
| | | created() {
|
| | |
| | | //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];
|
| | |
| | | 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;
|
| | | });
|
| | |
| | | //手动上片
|
| | | 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() {
|
| | |
| | | if(inglassbegin&exist1) |
| | | { |
| | | inglassbegin=false; |
| | | spianMapper.Updatetask(1, 0);//立即结束数据库表中的上片任务 |
| | | spianMapper.UpdataAddCageState(1,2); |
| | | } |
| | | // 进片请求为1时 |
| | |
| | | } |
| | | // 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 |
| | | } |
| | | } |
| | |
| | | if(outglassbegin&outstate)//当任务开始且出片车空闲时 |
| | | { |
| | | outglassbegin=false; |
| | | spianMapper.UpdatetaskOut(); //完成上一次出片或者调度任务 |
| | | spianMapper.UpdataAddCageState(0,3); |
| | | } |
| | | |
| | |
| | | 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); |
| | | // 查询报警信息 |
| | |
| | | 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; |
| | |
| | | |
| | | new PlcHold().start(); |
| | | |
| | | new Plcaction().start(); |
| | | // new Plcaction().start(); |
| | | |
| | | new Plchome().start(); |
| | | |
| | |
| | | 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; |
| | |
| | | |
| | | @Autowired |
| | | SpianService spianService; |
| | | |
| | | @Autowired |
| | | SpianMapper spianMapper; |
| | | |
| | | @GetMapping("/load") |
| | | public Result selectAll() { |
| | |
| | | @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); |
| | |
| | | |
| | | @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); |
| | |
| | | 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") |
| | |
| | | @Select("select dianqimima from user where id=1") |
| | | String SelectPassword(); |
| | | |
| | | @Select("select * from storage_cage where glass_id=#{glassid}") |
| | | StorageCage SelectGlassInfo(Integer glassid); |
| | | |
| | | } |
| | |
| | | */ |
| | | 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; |
| | | } |
| | | |
| | |
| | | // @GetMapping("/all2") |
| | | public Result selectout(String orderid) { |
| | | |
| | | spianMapper.UpdatetaskOut(); //完成上一次出片或者调度任务 |
| | | //spianMapper.UpdatetaskOut(); //完成上一次出片或者调度任务,改到plchold里,出片或调度任务完成立即改变结束任务; |
| | | // 定义PRC数据传送数组 |
| | | List<String> adddresslist = new ArrayList<>(); |
| | | adddresslist.add("DB105.6");// 出片车起始位置 |
| | |
| | | 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");// 进片车起始位置 |
| | |
| | | |
| | | // @GetMapping("/all2") |
| | | public Short selectout2(String glassid) { |
| | | spianMapper.UpdatetaskOut(); //完成上一次出片或者调度任务 |
| | | //spianMapper.UpdatetaskOut(); //完成上一次出片或者调度任务,改到plchold里,出片或调度任务完成立即改变结束任务; |
| | | // 定义PRC数据传送数组 |
| | | List<String> adddresslist = new ArrayList<>(); |
| | | adddresslist.add("DB105.6");// 出片车起始位置 |