| | |
| | | package com.example.springboot.controller; |
| | | |
| | | import com.example.springboot.common.Result; |
| | | import com.example.springboot.component.S7control; |
| | | import com.example.springboot.entity.StorageCage; |
| | | import com.example.springboot.mapper.SpianMapper; |
| | | import com.example.springboot.service.SpianService; |
| | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.List; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | @RestController |
| | |
| | | //出片任务 |
| | | @GetMapping("/all2") |
| | | public Result selectdd(String orderid){ |
| | | |
| | | |
| | | |
| | | //获取优先出片的位置 |
| | | StorageCage cageout=spianMapper.selectOut(orderid); |
| | | //判断玻璃可直接出片时 |
| | | //玻璃内外片 |
| | | |
| | | int cage =cageout.getCage(); |
| | | int cage =cageout.getCage(); //储存出片位置,笼子格子几号玻璃 |
| | | int cell =cageout.getCell(); |
| | | int tier =cageout.getTier(); |
| | | double width=cageout.getWidth(); |
| | | double glasswidth=cageout.getGlassWidth(); |
| | | //判断玻璃内外片 |
| | | if(tier==2){ |
| | | //判断玻璃可直接出片时 |
| | | return Result.success("执行出片"); |
| | | } |
| | | else{ |
| | | //获取格子的玻璃数量 |
| | | int state= spianMapper.selectGlassState(cage,cell); |
| | | //判断内片是否需要调拨 |
| | | if(state==0){ |
| | | return Result.success("状态为0,直接出片"); |
| | | }else{ |
| | | //玻璃需要调拨时 |
| | | //玻璃需要调拨时,判断属于哪个半区的笼子 |
| | | if(cage<6){ |
| | | StorageCage cagecell= spianMapper.selectGlassCage(cage,glasswidth,0,6); |
| | | //获取调拨位置进行调拨 |
| | | List<String> adddresslist=new ArrayList<>(); |
| | | adddresslist.add("DB105.6"); |
| | | adddresslist.add("DB105.8"); |
| | | adddresslist.add("DB105.10"); |
| | | adddresslist.add("DB105.14"); |
| | | List<Short> datas=new ArrayList<>(); |
| | | datas.add((short)0); |
| | | datas.add((short)0); |
| | | datas.add((short)0); |
| | | datas.add((short)0); |
| | | S7control.getinstance().WriteWord(adddresslist, datas); |
| | | return Result.success(cagecell); //调拨位置的参数内容 |
| | | //判断调拨结束后再次出片 |
| | | }else{ |
| | | StorageCage cagecell= spianMapper.selectGlassCage(cage,glasswidth,5,11); |
| | | //获取调拨位置进行调拨 |
| | | StorageCage ca=cagecell; |
| | | return Result.success(cagecell); //调拨位置的参数内容 |
| | | //判断调拨结束后再次出片 |
| | | |
| | | } |
| | | |
| | | return Result.success("状态为1,需要被调拨"); |
| | | } |
| | | } |
| | | |
| | |
| | | int cages=spianMapper.selectCage(cage1); |
| | | //判断选中笼子是否有空格 |
| | | StorageCage cages1=spianMapper.selectCage1(cage1); |
| | | //有合适空格时进片 |
| | | if(cages>1 &&cages1.getTier()!=null){ |
| | | //执行进片 |
| | | return Result.success(cages1); |
| | | }else{ |
| | | //返回不可进片 |
| | | } |
| | | |
| | | |
| | | } |
| | | return Result.success("0"); |
| | | return Result.success("不可进片"); |
| | | |
| | | } |
| | | |