wu
2023-12-11 6272cdfab213408d753a98f25d0a26f4b6d39a9a
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -1,25 +1,46 @@
package com.example.springboot.controller;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
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.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.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")
@@ -36,6 +57,24 @@
  @Autowired
  SpianMapper spianMapper;
  @Autowired
  OutSliceServive outSliceServive;
  @Autowired
  North_Glass_Buffer1Service north_Glass_Buffer1Service;
  @Autowired
  private JdbcConnections jdbcConnections;
  // 获取当前登录用户权限
  @GetMapping("/SelectPermissionByUserName")
  public Result SelectPermissionByUserName(String username) {
    Map<String, Object> map = new HashMap<>();
    List<RolePermission> permission = homeMapper.SelectPermissionByUserName(username);
    map.put("permission", permission);
    return Result.success(map);
  }
  // 查询理片笼使用情况
  @GetMapping("/load")
  public Result selectAll() {
@@ -48,6 +87,7 @@
  // 查询理片笼玻璃情况
  @GetMapping("/loads")
  public Result selectRack() {
    List<StorageCage> storageCagelist1 = homeMapper.selectRack1();
    List<StorageCage> storageCagelist2 = homeMapper.selectRack2();
    List<StorageCage> storageCagelist3 = homeMapper.selectRack3();
@@ -57,18 +97,6 @@
    map.put("list2", storageCagelist2);
    map.put("list3", storageCagelist3);
    map.put("list4", storageCagelist4);
    return Result.success(map);
  }
  // 查询进/出片任务
  @GetMapping("/loadinout")
  public Result selectinout(Integer types) {
    List<StorageCage> storageCageinout = homeMapper.selectinout(types);
    for (StorageCage storageCage : storageCageinout) {
      storageCage.setnorth_glass_buffer1s(homeMapper.SelectBoxNo(storageCage.getGlassId()));
    }
    Map<String, Object> map = new HashMap<>();
    map.put("list", storageCageinout);
    return Result.success(map);
  }
@@ -137,11 +165,8 @@
  // 查询理片笼详情
  @GetMapping("/SelectCageInfo")
  public Result SelectCageInfo(short cage) {
  public Result SelectCageInfo(String cage) throws SQLException {
    List<StorageCage> cageinfo = homeMapper.SelectCageInfo(cage);
    for (StorageCage storageCage : cageinfo) {
      storageCage.setnorth_glass_buffer1s(homeMapper.SelectBoxNo(storageCage.getGlassId()));
    }
    Map<String, Object> map = new HashMap<>();
    map.put("cageinfo", cageinfo);
    return Result.success(map);
@@ -160,21 +185,31 @@
  // 根据玻璃id手动出片
  @GetMapping("/OutByGlassID")
  public Result OutByGlassID(String glassid) {
  public Result OutByGlassID(String glassid) throws SQLException {
    Map<String, Object> map = new HashMap<>();
    // 调用伍上片函数
    short result = homeMapper.SelectStorageByGlassId(glassid);
    if (result > 0) {
      Short results = spianService.selectout2(glassid);
      if (results == 200) {
        map.put("message2", "200");
      } else if (results == 300) {
        map.put("message2", "300");
    Out_slice result = homeMapper.SelectQueueByglassid(glassid);
    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) {
          int sequence = homeMapper.SelectMaxSquence();
          homeMapper.AddOutSliceS(glassid, flip, north_glass_buffer1.getFrameBarcode(),
              north_glass_buffer1.getglasslengthmm().toString(), north_glass_buffer1.getglassheightmm().toString(),
              sequence, position);
          map.put("message2", "200");
        } else {
          map.put("message2", "300");
        }
      } else {
        map.put("message2", "400");
      }
    } else {
      map.put("message2", "500");
    }
    return Result.success(map);
  }
@@ -198,10 +233,12 @@
  // 根据玻璃id查询玻璃信息
  @GetMapping("/SelectGlassByGlassID")
  public Result SelectGlassByGlassID(String glassid) {
    north_glass_buffer1 north_glass_buffer1s = homeMapper.SelectGlassByGlassID(glassid);
  public Result SelectGlassByGlassID(String glassid) throws SQLException {
    Queue queue = jdbcConnections.SelectGlassByGlassIdOrderIdFrameIdQueue(glassid, "", "");
    Map<String, Object> map = new HashMap<>();
    map.put("form", north_glass_buffer1s);
    if (glassid != "") {
      map.put("form", queue);
    }
    return Result.success(map);
  }
@@ -216,38 +253,41 @@
  // 手动往理片笼添加玻璃
  @PostMapping("/Inglassid")
  public Result Inglassid(short cage, short cell, short tier, @RequestBody north_glass_buffer1 north_glass_buffer1s) {
  public Result Inglassid(short cage, short cell, short tier, @RequestBody Queue queue) {
    Map<String, Object> map = new HashMap<>();
    short result = homeMapper.SelectStorageByGlassId(north_glass_buffer1s.getbarcode());
    short result = homeMapper.SelectStorageByGlassId(queue.getglassId());
    if (result > 0) {
      map.put("message", "300");
    } else {
      homeMapper.Inglassid(north_glass_buffer1s, cage, cell, tier);
      spianMapper.UpdataAddCage1(north_glass_buffer1s.getglasslengthmm(), cage, cell);
      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) {
  public Result SelectGlass(String orderid) throws SQLException {
    Map<String, Object> map = new HashMap<>();
    List<north_glass_buffer1> glass = homeMapper.SelectGlass(orderid);
    List<north_glass_buffer1> glass = jdbcConnections.SelectGlassByGlassIdOrderIdFrameIds("", orderid, "");
    map.put("glass", glass);
    return Result.success(map);
  }
  // 手动添加扫码位玻璃
  @PostMapping("/InsertQueueGlassId")
  public Result InsertQueueGlassId(String glassid, Short id) {
  public Result InsertQueueGlassId(Short id, @RequestBody Queue queue) {
    Map<String, Object> map = new HashMap<>();
    short result = homeMapper.SelectStorageByGlassId(glassid);
    short result = homeMapper.SelectStorageByGlassId(queue.getglassId());
    if (result > 0) {
      map.put("message", "300");
    } else {
      homeMapper.InsertQueueGlassId(glassid, id);
    //调用伍存储过程
    spianService.selectAll(glassid);
      homeMapper.InsertQueueGlassId(queue, id);
      if (id == 1) {
        // 调用伍存储过程
        spianService.selectAll(queue.getglassId());
      }
      map.put("message", "200");
    }
    return Result.success(map);
@@ -282,89 +322,61 @@
  // 根据铝框id获取对应玻璃信息
  @PostMapping("/SelectAluminumFrameInfoById")
  public Result SelectAluminumFrameInfoById(String FrameBarcode) {
    List<north_glass_buffer1> listAluminumFrame = homeMapper.SelectAluminumFrameInfoById(FrameBarcode);
    String flip=homeMapper.SelectFlipByFrameBarcode(FrameBarcode);
    for (north_glass_buffer1 north_glass_buffer1 : listAluminumFrame) {
      north_glass_buffer1.setstorageCage(homeMapper.SelectStorageGlassById(north_glass_buffer1.getbarcode()));
      north_glass_buffer1.setOut_slice(homeMapper.SelectQueueByglassid(north_glass_buffer1.getbarcode()));
    }
  public Result SelectAluminumFrameInfoById(String FrameBarcode) throws SQLException {
    String flip = jdbcConnections.SelectFlipByFrameBarcode(FrameBarcode);
    List<north_glass_buffer1> listAluminumFrame = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(FrameBarcode);
    Map<String, Object> map = new HashMap<>();
    map.put("listAluminumFrame", listAluminumFrame);
    map.put("flip", flip);
    return Result.success(map);
  }
  // 查询出片队列数据
  @PostMapping("/SelectProductionqueue")
  public Result SelectProductionqueue() {
    List<Out_slice> listoutslice = homeMapper.SelectProductionqueue();
    for (Out_slice out_slice : listoutslice) {
      out_slice.setnorth_glass_buffer1s(homeMapper.SelectBoxNo(out_slice.getGlassId()));
      out_slice.setstorageCage(homeMapper.SelectStorageGlassById(out_slice.getGlassId()));
    }
    //HashMap<String,List<Out_slice>> map=new HashMap<String,List<Out_slice>>();
    // HashMap map=new HashMap<>();
    // for (Out_slice out_slice : listoutslice) {
    //   String key_=out_slice.getState()+"-";
    //   if (map.get(key_)==null) {
    //     List<Out_slice> lists=new ArrayList<Out_slice>();
    //     lists.add(out_slice);
    //     map.put(key_, lists);
    //   }else{
    //     List<Out_slice> lists=(List<Out_slice>)map.get(key_);
    //     lists.add(out_slice);
    //     map.put(key_,lists);
    //   }
    // }
    // System.out.println(map);
    // List<Out_slice> listskey=(List<Out_slice>)map.get("1-");
    // List<Out_slice> list=new ArrayList<Out_slice>();
    // for (Out_slice out_slice : listskey) {
    //   if (list.isEmpty()) {
    //     list.add(out_slice);
    //   }else{
    //     for (int i=0;i<list.size();i++) {
    //       Out_slice out_slice2=list.get(i);
    //       if(out_slice.getID()>out_slice2.getID()){
    //         continue;
    //       }else{
    //         list.add(i,out_slice2);
    //       }
    //     }
    //   }
    // }
    //Collections.sort(listoutslice,new MultiFieldComparator());
    Map<String, Object> maps = new HashMap<>();
    maps.put("listoutslice", listoutslice);
    return Result.success(maps);
  }
  // 根据玻璃id删除出片队列玻璃
  @PostMapping("/DeleteProductionQueueGlass")
  public Result DeleteProductionQueueGlass(Short id) {
    homeMapper.DeleteProductionQueueGlass(id);
  public Result DeleteProductionQueueGlass(String FrameNo) {
    homeMapper.DeleteProductionQueueGlass(FrameNo);
    Map<String, Object> map = new HashMap<>();
    map.put("message", "200");
    return Result.success(map);
  }
  //
  // 添加铝框id对应玻璃到出片队列
  @PostMapping("/AddOutSliceS")
  public Result AddOutSliceS(@RequestBody String[][] AluminumFrames ) {
    for (String[] item : AluminumFrames) {
      if(item[1]=="true"){
        homeMapper.AddOutSliceS(item[0],item[2],item[3],item[4],item[5]);
      }
    }
    System.out.println(AluminumFrames);
  public Result AddOutSliceS(@RequestBody String[][] AluminumFrames) throws SQLException {
    outSliceServive.AddOutSliceS(AluminumFrames);
    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) {
      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("/isConfirmStates")
  public Result isConfirmStates(Boolean isConfirmStates) {
    Plchome.isConfirm = isConfirmStates;
    Map<String, Object> map = new HashMap<>();
    map.put("message", "200");
    return Result.success(map);
  }
  //手动完成任务
  @PostMapping("/CompleteQueue")
  public Result CompleteQueue(String id,String frameid) {
    return outSliceServive.CompleteQueue(id,frameid);
  }
}