| | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.Cookie; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Bean; |
| | | |
| | | import com.example.springboot.mapper.HomeMapper; |
| | | import com.example.springboot.mapper.SpianMapper; |
| | | import com.example.springboot.security.constant.SystemConstant; |
| | | import com.example.springboot.security.util.JwtUtil; |
| | | import com.example.springboot.security.util.SecurityUtil; |
| | | import com.example.springboot.service.HomeService; |
| | | import com.example.springboot.service.JdbcConnections; |
| | | import com.example.springboot.service.North_Glass_Buffer1Service; |
| | | import com.example.springboot.service.OutSliceServive; |
| | | import com.example.springboot.service.PermissionService; |
| | | import com.example.springboot.service.SpianService; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.example.springboot.service.StorageCageService; |
| | | |
| | | import com.example.springboot.common.Result; |
| | | import com.example.springboot.component.Plchome; |
| | | import com.example.springboot.component.S7control; |
| | | import com.example.springboot.entity.CarPosition; |
| | | import com.example.springboot.entity.StorageCage; |
| | | import com.example.springboot.entity.StorageTask; |
| | | import com.example.springboot.entity.User; |
| | | import com.example.springboot.entity.alarmmg; |
| | | import com.example.springboot.entity.north_glass_buffer1; |
| | | import com.example.springboot.entity.Out_slice; |
| | | import com.example.springboot.entity.Permission; |
| | | import com.example.springboot.entity.Queue; |
| | | import com.example.springboot.entity.RolePermission; |
| | | |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.context.request.RequestContextHolder; |
| | | import org.springframework.web.context.request.ServletRequestAttributes; |
| | | |
| | | @RestController |
| | | @RequestMapping("/home") |
| | | public class HomeController { |
| | | @Autowired |
| | | HomeMapper homeMapper; |
| | | |
| | | @Autowired |
| | | HomeService storageRackService; |
| | | |
| | | @Autowired |
| | | SpianService spianService; |
| | |
| | | |
| | | @Autowired |
| | | OutSliceServive outSliceServive; |
| | | |
| | | @Autowired |
| | | StorageCageService storageCageService; |
| | | |
| | | @Autowired |
| | | North_Glass_Buffer1Service north_Glass_Buffer1Service; |
| | |
| | | // 查询理片笼使用情况 |
| | | @GetMapping("/load") |
| | | public Result selectAll() { |
| | | // storageCageService.EndTask(1); |
| | | // UpdateTask(2,0,"X12345610402GV"); |
| | | List<StorageCage> storageCagelist = homeMapper.selectAll(); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("list", storageCagelist); |
| | |
| | | // 查询理片笼玻璃情况 |
| | | @GetMapping("/loads") |
| | | public Result selectRack() { |
| | | |
| | | List<StorageCage> storageCagelist1 = homeMapper.selectRack1(); |
| | | List<StorageCage> storageCagelist2 = homeMapper.selectRack2(); |
| | | List<StorageCage> storageCagelist3 = homeMapper.selectRack3(); |
| | |
| | | // 手动完成进/出片任务 终止进片/出片任务 |
| | | @GetMapping("/UpdateTask") |
| | | public Result UpdateTask(Integer types, Integer shelfrack, String glassid) { |
| | | storageCageService.UpdateTask(types, shelfrack, glassid); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | if (types == 0) {// 完成进片 |
| | | spianService.overtask(glassid); |
| | | } else if (types == 1) {// 完成出片 |
| | | spianService.overtask(glassid); |
| | | } else if (types == 2) {// 终止进片任务 |
| | | outSliceServive.StopTask(glassid, 0); |
| | | // 发送终止进片任务信号 |
| | | } else {// 终止出片任务 |
| | | outSliceServive.StopTask(glassid, 1); |
| | | } |
| | | map.put("message3", "200"); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | //终止进片/出片任务 |
| | | // 终止进片/出片任务 |
| | | @GetMapping("/EndTask") |
| | | public Result EndTask(int types) { |
| | | if (types == 0) {// 终止进片任务 |
| | | List<StorageTask> cageList = homeMapper.SelectTaskByState(types); |
| | | for (StorageTask storageTask : cageList) { |
| | | outSliceServive.StopTask(storageTask.getGlassId(), types); |
| | | } |
| | | // 发送终止进片任务信号 |
| | | } else {// 终止出片任务 |
| | | List<StorageCage> storageCages =homeMapper.selectinout(types); |
| | | for (StorageCage storageCage : storageCages) { |
| | | List<StorageCage> storageCagess=homeMapper.SelectStoragesGlassById(storageCage.getGlassId()); |
| | | for (StorageCage storageCagez : storageCagess) { |
| | | if (storageCagez.getState().equals("2")) {//调拨进片 |
| | | outSliceServive.StopTask(storageCagez.getGlassId(), 0); |
| | | }else{//出片 |
| | | outSliceServive.StopTask(storageCagez.getGlassId(), types); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | storageCageService.EndTask(types); |
| | | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message3", "200"); |
| | | return Result.success(map); |
| | |
| | | // 手动删除理片笼玻璃 |
| | | @GetMapping("/DeleteByGlassID") |
| | | public Result DeleteByGlassID(String glassid) { |
| | | outSliceServive.DeleteByGlassID(glassid); |
| | | outSliceServive.DeleteByGlassIDs(glassid); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message3", "200"); |
| | | return Result.success(map); |
| | |
| | | if (result == null) { |
| | | north_glass_buffer1 north_glass_buffer1 = jdbcConnections.SelectGlassByGlassIdOrderIdFrameId(glassid, "", ""); |
| | | String flip = jdbcConnections.SelectFlipByFrameBarcode(north_glass_buffer1.getFrameBarcode()); |
| | | |
| | | if (flip != null) { |
| | | String position = jdbcConnections.SelectPositionByFrameBarcode(north_glass_buffer1.getFrameBarcode()); |
| | | if (position != null) { |
| | | String framelength = jdbcConnections.SelectFrameLengthByFrameBarcode(north_glass_buffer1.getFrameBarcode()); |
| | | String frameheight = jdbcConnections.SelectFrameHeightByFrameBarcode(north_glass_buffer1.getFrameBarcode()); |
| | | int sequence = homeMapper.SelectMaxSquence(); |
| | | homeMapper.AddOutSliceS(glassid, flip, north_glass_buffer1.getFrameBarcode(), |
| | | north_glass_buffer1.getglasslengthmm().toString(), north_glass_buffer1.getglassheightmm().toString(), |
| | | sequence, position, (short) 0, north_glass_buffer1.getordernumber(), north_glass_buffer1.getlistnumber(), |
| | | north_glass_buffer1.getboxnumber(), north_glass_buffer1.getglasslength().toString(), |
| | | north_glass_buffer1.getglassheight().toString()); |
| | | |
| | | north_glass_buffer1.getglassheight().toString(), framelength, frameheight); |
| | | map.put("message2", "200"); |
| | | } else { |
| | | map.put("message2", "300"); |
| | |
| | | } else { |
| | | map.put("message2", "400"); |
| | | } |
| | | |
| | | } else { |
| | | map.put("message2", "500"); |
| | | } |
| | |
| | | @PostMapping("/SelectAluminumFrameInfoById") |
| | | public Result SelectAluminumFrameInfoById(String FrameBarcode) throws SQLException { |
| | | String flip = jdbcConnections.SelectFlipByFrameBarcode(FrameBarcode); |
| | | List<north_glass_buffer1> listAluminumFrame = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(FrameBarcode); |
| | | List<north_glass_buffer1> AluminumFrame = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(FrameBarcode); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("listAluminumFrame", listAluminumFrame); |
| | | map.put("AluminumFrame", AluminumFrame); |
| | | map.put("flip", flip); |
| | | return Result.success(map); |
| | | } |
| | |
| | | |
| | | // 添加铝框id对应玻璃到出片队列 |
| | | @PostMapping("/AddOutSliceS") |
| | | public Result AddOutSliceS(@RequestBody String[][] AluminumFrames) throws SQLException { |
| | | outSliceServive.AddOutSliceS(AluminumFrames); |
| | | public Result AddOutSliceS(String FrameNo) throws SQLException { |
| | | // public Result AddOutSliceS(@RequestBody String[][] AluminumFrames) throws |
| | | // SQLException { |
| | | north_Glass_Buffer1Service.AddOutSliceS(FrameNo); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | // 修改出片队列状态与出片队列调序 |
| | | // 修改出片队列出片状态 |
| | | @PostMapping("/isAllowQueues") |
| | | public Result isAllowQueues(Boolean isAllowQueue, @RequestBody List<Out_slice> out_slice) { |
| | | Plchome.isAllowQueue = isAllowQueue; |
| | | if (isAllowQueue == true) { |
| | | // if (isAllowQueue == true) { |
| | | // for (Out_slice out_slice2 : out_slice) { |
| | | // homeMapper.UpdateOutSliceSequence(out_slice2.getGlassId(), |
| | | // out_slice2.getSequence()); |
| | | // } |
| | | // } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | // 修改出片队列调序状态与出片队列调序 |
| | | @PostMapping("/isAllowReorderings") |
| | | public Result isAllowReorderings(Boolean isAllowReordering, @RequestBody List<Out_slice> out_slice) { |
| | | Plchome.isAllowReordering = isAllowReordering; |
| | | if (isAllowReordering == true) { |
| | | for (Out_slice out_slice2 : out_slice) { |
| | | homeMapper.UpdateOutSliceSequence(out_slice2.getGlassId(), out_slice2.getSequence()); |
| | | } |
| | |
| | | return outSliceServive.CompleteQueue(id, frameid, glassid); |
| | | } |
| | | |
| | | // 手动完成任务 |
| | | @PostMapping("/FrameStateUpdate") |
| | | public Result FrameStateUpdate(String frameno) { |
| | | return outSliceServive.FrameStateUpdate(frameno); |
| | | } |
| | | |
| | | // 手动写入plc扫码位玻璃id |
| | | @PostMapping("/WriteGlassID") |
| | | public void WriteGlassID(String glassid) { |
| | | // 扫码位写入玻璃id |
| | | } |
| | | |
| | | // 清除指定位置id |
| | | @PostMapping("/ClearGlassId") |
| | | public Result ClearGlassId(String position, String glassid) { |
| | | return storageCageService.ClearGlassId(position, glassid); |
| | | } |
| | | |
| | | // 清除待确认铝框信息 |
| | | @PostMapping("/CloseForm7") |
| | | public Result CloseForm7() { |
| | | Plchome.AluminumFrame = null; |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | // 终止进/出片任务 |
| | | @PostMapping("/TaskStop") |
| | | public Result TaskStop(Short num) { |
| | | storageCageService.EndTask(num); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("message", "200"); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | // 软急停 |
| | | @PostMapping("/SoftEmergencyStop") |
| | | public Result SoftEmergencyStop(Short num) { |
| | | String position="DB101.11.3"; |
| | | Map<String, Object> map = new HashMap<>(); |
| | | if (S7control.getinstance().CheckConnected() == true) { |
| | | S7control.getinstance().WriteBit(position, false); |
| | | try { |
| | | TimeUnit.MILLISECONDS.sleep(300); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | S7control.getinstance().WriteBit(position, true); |
| | | map.put("message", "200"); |
| | | } else { |
| | | map.put("message", "300"); |
| | | } |
| | | return Result.success(map); |
| | | } |
| | | } |