wuyouming666
2024-01-19 0a5cbfbcc2b882a9c8bd15bd28cd4d6ab962ba2b
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -4,53 +4,37 @@
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;
@@ -60,6 +44,9 @@
  @Autowired
  OutSliceServive outSliceServive;
  @Autowired
  StorageCageService storageCageService;
  @Autowired
  North_Glass_Buffer1Service north_Glass_Buffer1Service;
@@ -79,6 +66,8 @@
  // 查询理片笼使用情况
  @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);
@@ -88,7 +77,6 @@
  // 查询理片笼玻璃情况
  @GetMapping("/loads")
  public Result selectRack() {
    List<StorageCage> storageCagelist1 = homeMapper.selectRack1();
    List<StorageCage> storageCagelist2 = homeMapper.selectRack2();
    List<StorageCage> storageCagelist3 = homeMapper.selectRack3();
@@ -140,43 +128,17 @@
  // 手动完成进/出片任务 终止进片/出片任务
  @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);
@@ -203,7 +165,7 @@
  // 手动删除理片笼玻璃
  @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);
@@ -217,17 +179,18 @@
    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");
@@ -235,7 +198,6 @@
      } else {
        map.put("message2", "400");
      }
    } else {
      map.put("message2", "500");
    }
@@ -358,9 +320,9 @@
  @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);
  }
@@ -377,18 +339,35 @@
  // 添加铝框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());
      }
@@ -413,4 +392,59 @@
    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);
  }
}