package com.example.springboot.controller; import java.sql.SQLException; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; 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.JdbcConnections; import com.example.springboot.service.North_Glass_Buffer1Service; import com.example.springboot.service.OutSliceServive; import com.example.springboot.service.SpianService; 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.alarmmg; import com.example.springboot.entity.north_frame_buffer1_frames; import com.example.springboot.entity.north_glass_buffer1; import com.example.springboot.entity.Out_slice; import com.example.springboot.entity.Queue; import com.example.springboot.entity.RolePermission; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/home") public class HomeController { @Autowired HomeMapper homeMapper; @Autowired SpianService spianService; @Autowired SpianMapper spianMapper; @Autowired OutSliceServive outSliceServive; @Autowired StorageCageService storageCageService; @Autowired North_Glass_Buffer1Service north_Glass_Buffer1Service; @Autowired private JdbcConnections jdbcConnections; // 获取当前登录用户权限 @GetMapping("/SelectPermissionByUserName") public Result SelectPermissionByUserName(String username) throws SQLException { Map map = new HashMap<>(); List permission = homeMapper.SelectPermissionByUserName(username); map.put("permission", permission); return Result.success(map); } // 查询理片笼使用情况 @GetMapping("/load") public Result selectAll() { // storageCageService.EndTask(1); // UpdateTask(2,0,"X12345610402GV"); List storageCagelist = homeMapper.selectAll(); Map map = new HashMap<>(); map.put("list", storageCagelist); return Result.success(map); } // 查询理片笼玻璃情况 @GetMapping("/loads") public Result selectRack() { List storageCagelist1 = homeMapper.selectRack1(); List storageCagelist2 = homeMapper.selectRack2(); List storageCagelist3 = homeMapper.selectRack3(); List storageCagelist4 = homeMapper.selectRack4(); Map map = new HashMap<>(); map.put("list1", storageCagelist1); map.put("list2", storageCagelist2); map.put("list3", storageCagelist3); map.put("list4", storageCagelist4); return Result.success(map); } // 按订单出片 @GetMapping("/InsertOrder") public Result InsertOrder(String orderid) { short result = homeMapper.SelectOrder(orderid); Map map = new HashMap<>(); if (result > 0) { homeMapper.updateOrder(); homeMapper.InsertOrder(orderid); map.put("message", "200"); } else { map.put("message", "500"); } return Result.success(map); } // 根据玻璃id手动上片 @GetMapping("/Addglassid") public Result Addglassid(String glassid) throws SQLException { Map map = new HashMap<>(); short taskno = homeMapper.SelectInTask(); if (taskno > 0) { map.put("message2", "500"); } else { // 调用伍上片函数 north_glass_buffer1 north_glass_buffer1 = jdbcConnections.SelectGlassByGlassIdOrderIdFrameId(glassid, "", ""); short results = spianService.selectAll(north_glass_buffer1); if (results == 200) { map.put("message2", "200"); } else if (results == 300) { map.put("message2", "300"); } else if (results == 400) { map.put("message2", "400"); } } return Result.success(map); } // 手动完成进/出片任务 终止进片/出片任务 @GetMapping("/UpdateTask") public Result UpdateTask(Integer types, Integer shelfrack, String glassid) { storageCageService.UpdateTask(types, shelfrack, glassid); Map map = new HashMap<>(); map.put("message3", "200"); return Result.success(map); } // 终止进片/出片任务 @GetMapping("/EndTask") public Result EndTask(int types) { storageCageService.EndTask(types); Map map = new HashMap<>(); map.put("message3", "200"); return Result.success(map); } // 查询报警信息 @GetMapping("/SelectAlarmmgInfo") public Result SelectAlarmmgInfo() { List alarmmg = homeMapper.SelectAlarmmgInfo(); Map map = new HashMap<>(); map.put("alarmmg", alarmmg); return Result.success(map); } // 查询理片笼详情 @GetMapping("/SelectCageInfo") public Result SelectCageInfo(String cage) throws SQLException { List cageinfo = homeMapper.SelectCageInfo(cage); Map map = new HashMap<>(); map.put("cageinfo", cageinfo); return Result.success(map); } // 手动删除理片笼玻璃 @GetMapping("/DeleteByGlassID") public Result DeleteByGlassID(String glassid) { outSliceServive.DeleteByGlassIDs(glassid); Map map = new HashMap<>(); map.put("message3", "200"); return Result.success(map); } // 根据玻璃id手动出片 @GetMapping("/OutByGlassID") public Result OutByGlassID(String glassid) throws SQLException { Map map = new HashMap<>(); Out_slice result = homeMapper.SelectQueueByglassid(glassid); if (result == null) { north_glass_buffer1 north_glass_buffer1 = jdbcConnections.SelectGlassByGlassIdOrderIdFrameIdout(glassid, "", ""); String flip = jdbcConnections.SelectFlipByFrameBarcode(north_glass_buffer1.getFrameBarcode()); if (flip != null&&flip != "") { 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(), framelength, frameheight); map.put("message2", "200"); } else { map.put("message2", "300"); } } else { map.put("message2", "400"); } } else { map.put("message2", "500"); } return Result.success(map); } // 加载小车位置 @GetMapping("/Loadcarlist") public Result Loadcarlist() { List carlist = homeMapper.Loadcarlist(); Map map = new HashMap<>(); map.put("carlist", carlist); return Result.success(map); } // 查询确认密码 @GetMapping("/SelectPassword") public Result SelectPassword() { String pwdct = homeMapper.SelectPassword(); Map map = new HashMap<>(); map.put("password", pwdct); return Result.success(map); } // 根据玻璃id查询玻璃信息 @GetMapping("/SelectGlassByGlassID") public Result SelectGlassByGlassID(String glassid) throws SQLException { Queue queue = jdbcConnections.SelectGlassByGlassIdOrderIdFrameIdQueue(glassid, "", ""); Map map = new HashMap<>(); if (glassid != "") { map.put("form", queue); } return Result.success(map); } // 启用/禁用理片笼格子 @GetMapping("/Disabled") public Result Disabled(short cage, short cell, short disabled) { homeMapper.Disabled(cage, cell, disabled); Map map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } // 手动往理片笼添加玻璃 @PostMapping("/Inglassid") public Result Inglassid(short cage, short cell, short tier, @RequestBody Queue queue) { Map map = new HashMap<>(); short result = homeMapper.SelectStorageByGlassId(queue.getglassId()); Double cagewidth = homeMapper.SelectCageWidth(cage, cell); if (cagewidth - queue.getglasswidth() - 400 < 0 || (cagewidth == 2750 && queue.getglasswidth() > cagewidth)) { map.put("message", "400"); } else { if (result > 0) { map.put("message", "300"); } else { homeMapper.Inglassid(queue, cage, cell, tier); spianMapper.UpdataAddCage1(queue.getglasswidth(), cage, cell); map.put("message", "200"); } } return Result.success(map); } // 查询玻璃信息 @PostMapping("/SelectGlass") public Result SelectGlass(String orderid) throws SQLException { Map map = new HashMap<>(); List glass = jdbcConnections.SelectGlassByGlassIdOrderIdFrameIds("", orderid, ""); map.put("glass", glass); return Result.success(map); } // 手动添加扫码位玻璃 @PostMapping("/InsertQueueGlassId") public Result InsertQueueGlassId(Short id, @RequestBody Queue queue) throws SQLException { return storageCageService.InsertQueueGlassId(id, queue); } // 确认扫码位玻璃信息 @PostMapping("/UpdateQueueState") public Result UpdateQueueState() { homeMapper.UpdateQueueState(); Map map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } // 清除上片队列玻璃 @PostMapping("/DeleteQueueGlass") public Result DeleteQueueGlass(String id) { homeMapper.DeleteQueueGlass(id); Map map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } // 查询此订单在理片笼里的玻璃数 @PostMapping("/SelectGlassNo") public Result SelectGlassNo(String orderid) { Short count = homeMapper.SelectGlassNo(orderid); Map map = new HashMap<>(); map.put("count", count); return Result.success(map); } // 根据铝框id获取对应玻璃信息 @PostMapping("/SelectAluminumFrameInfoById") public Result SelectAluminumFrameInfoById(String FrameBarcode) throws SQLException { String flip = jdbcConnections.SelectFlipByFrameBarcode(FrameBarcode); List AluminumFrame = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(FrameBarcode); Plchome.AluminumFrameInfo=jdbcConnections.SelectFrameBarcode(FrameBarcode); Map map = new HashMap<>(); map.put("AluminumFrame", AluminumFrame); map.put("flip", flip); return Result.success(map); } // 根据铝框id删除出片队列玻璃 @PostMapping("/DeleteProductionQueueGlass") public Result DeleteProductionQueueGlass(String FrameNo) { return outSliceServive.CompleteQueueByFrameNo(FrameNo); } // 添加铝框id对应玻璃到出片队列 @PostMapping("/AddOutSliceS") public Result AddOutSliceS(String FrameNo) throws SQLException { // public Result AddOutSliceS(@RequestBody String[][] AluminumFrames) throws // SQLException { north_Glass_Buffer1Service.AddOutSliceS(FrameNo); Plchome.AluminumFrame = null; Map map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } // 修改出片队列出片状态 @PostMapping("/isAllowQueues") public Result isAllowQueues(Boolean isAllowQueue, @RequestBody List out_slice) { Plchome.isAllowQueue = isAllowQueue; // if (isAllowQueue == true) { // for (Out_slice out_slice2 : out_slice) { // homeMapper.UpdateOutSliceSequence(out_slice2.getGlassId(), // out_slice2.getSequence()); // } // } Map map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } // 修改出片队列调序状态与出片队列调序 @PostMapping("/isAllowReorderings") public Result isAllowReorderings(Boolean isAllowReordering, @RequestBody List out_slice) { Plchome.isAllowReordering = isAllowReordering; if (isAllowReordering == true) { for (Out_slice out_slice2 : out_slice) { homeMapper.UpdateOutSliceSequence(out_slice2.getGlassId(), out_slice2.getSequence()); } } Map map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } // 修是否需要确认 @PostMapping("/isConfirmStates") public Result isConfirmStates(Boolean isConfirmStates) { Plchome.isConfirm = isConfirmStates; Map map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } // 手动完成任务 @PostMapping("/CompleteQueue") public Result CompleteQueue(String id, String frameid, String glassid) { return outSliceServive.CompleteQueue(id, frameid, glassid); } // 手动完成任务 @PostMapping("/FrameStateUpdate") public Result FrameStateUpdate(String frameno) { return outSliceServive.FrameStateUpdate(frameno); } // 手动写入plc扫码位玻璃id @PostMapping("/WriteGlassID") public Result WriteGlassID(String glassid) { // 扫码位写入玻璃id spianService.outmesid(glassid, "DB103.286"); Map map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } // 清除指定位置id @PostMapping("/ClearGlassId") public Result ClearGlassId(String position, String glassid) { return storageCageService.ClearGlassId(position, glassid); } // 清除待确认铝框信息 @PostMapping("/CloseForm7") public Result CloseForm7() { Plchome.AluminumFrame = null; Plchome.AluminumFrameInfo = new north_frame_buffer1_frames(); Map map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } // 终止进/出片任务 @PostMapping("/TaskStop") public Result TaskStop(Short num) { storageCageService.EndTask(num); Map map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } // 软急停 @PostMapping("/SoftEmergencyStop") public Result SoftEmergencyStop(Short num) { String position = "DB101.11.3"; Map 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); } // 切换PLC获取二维码方式 @PostMapping("/SwitchScanMethod") public Result SwitchScanMethod(Boolean scansmethod) { S7control.getinstance().WriteBit("DB101.11.4", scansmethod); Map map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } }