ZengTao
2023-11-27 3f98ccf49e7ffc098689c37237bd1dceed651ca1
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -1,23 +1,30 @@
package com.example.springboot.controller;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.logging.log4j.util.PropertySource.Comparator;
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.MultiFieldComparator;
import com.example.springboot.service.SpianService;
import com.example.springboot.common.Result;
import com.example.springboot.component.S7control;
import com.example.springboot.entity.CarPosition;
import com.example.springboot.entity.Glass;
import com.example.springboot.entity.StorageCage;
import com.example.springboot.entity.alarmmg;
import com.example.springboot.entity.north_glass_buffer1;
import com.example.springboot.entity.Out_slice;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/home")
@@ -42,6 +49,7 @@
        map.put("list", storageCagelist);
        return Result.success(map);
    }
    //查询理片笼玻璃情况
    @GetMapping("/loads")
    public Result selectRack() {
@@ -56,14 +64,19 @@
        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);
    }
    //按订单出片
    @GetMapping("/InsertOrder")
    public Result InsertOrder(String orderid) {
@@ -78,6 +91,7 @@
        }
        return Result.success(map);
    }
    //根据玻璃id手动上片
    @GetMapping("/Addglassid")
    public Result Addglassid(String glassid) {
@@ -98,6 +112,7 @@
        }
        return Result.success(map);
    }
    //手动完成进/出片任务
    @GetMapping("/UpdateTask")
    public Result UpdateTask(Integer types, Integer shelfrack, String glassid) {
@@ -105,11 +120,9 @@
        homeMapper.UpdateTask(types);
        StorageCage glass = homeMapper.SelectGlassInfo(glassid);
        if (types == 0) {
            // spianMapper.UpdataAddCage1(glass.getGlassWidth(),glass.getCage(),glass.getCell());
            homeMapper.UpdateCageTask1(glassid);
            S7control.getinstance().WriteWord("DB105.14", (short) 0);
        } else {
            spianMapper.UpdataOutCage1(glass.getGlassWidth(), glass.getCage(), glass.getCell());
            homeMapper.UpdateCageTask2(glassid);
            S7control.getinstance().WriteWord("DB105.12", (short) 0);
@@ -117,6 +130,7 @@
        map.put("message3", "200");
        return Result.success(map);
    }
    //查询报警信息
    @GetMapping("/SelectAlarmmgInfo")
    public Result SelectAlarmmgInfo() {
@@ -125,14 +139,19 @@
        map.put("alarmmg", alarmmg);
        return Result.success(map);
    }
    //查询理片笼详情
    @GetMapping("/SelectCageInfo")
    public Result SelectCageInfo(short cage) {
        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);
    }
    //手动删除理片笼玻璃
    @GetMapping("/DeleteByGlassID")
    public Result DeleteByGlassID(String glassid) {
@@ -143,6 +162,7 @@
        map.put("message3", "200");
        return Result.success(map);
    }
    //根据玻璃id手动出片
    @GetMapping("/OutByGlassID")
    public Result OutByGlassID(String glassid) {
@@ -162,6 +182,7 @@
        return Result.success(map);
    }
    //加载小车位置
    @GetMapping("/Loadcarlist")
    public Result Loadcarlist() {
@@ -170,6 +191,7 @@
        map.put("carlist", carlist);
        return Result.success(map);
    }
    //查询确认密码
    @GetMapping("/SelectPassword")
    public Result SelectPassword() {
@@ -178,14 +200,16 @@
        map.put("password", pwdct);
        return Result.success(map);
    }
    //根据玻璃id查询玻璃信息
    @GetMapping("/SelectGlassByGlassID")
    public Result SelectGlassByGlassID(String glassid) {
        Glass Glass = homeMapper.SelectGlassByGlassID(glassid);
    north_glass_buffer1 north_glass_buffer1s = homeMapper.SelectGlassByGlassID(glassid);
        Map<String, Object> map = new HashMap<>();
        map.put("form", Glass);
    map.put("form", north_glass_buffer1s);
        return Result.success(map);
    }
    //启用/禁用理片笼格子
    @GetMapping("/Disabled")
    public Result Disabled(short cage, short cell, short disabled) {
@@ -194,16 +218,17 @@
        map.put("message", "200");
        return Result.success(map);
    }
    //手动往理片笼添加玻璃
    @PostMapping("/Inglassid")
    public Result Inglassid(short cage, short cell, short tier, @RequestBody Glass glass) {
  public Result Inglassid(short cage, short cell, short tier, @RequestBody north_glass_buffer1 north_glass_buffer1s) {
        Map<String, Object> map = new HashMap<>();
        short result = homeMapper.SelectStorageByGlassId(glass.getGlassId());
    short result = homeMapper.SelectStorageByGlassId(north_glass_buffer1s.getbarcode());
        if (result > 0) {
            map.put("message", "300");
        } else {
            homeMapper.Inglassid(glass, cage, cell, tier);
            spianMapper.UpdataAddCage1(glass.getwidth(), cage, cell);
      homeMapper.Inglassid(north_glass_buffer1s, cage, cell, tier);
      spianMapper.UpdataAddCage1(north_glass_buffer1s.getglasslengthMm(), cage, cell);
        }
        return Result.success(map);
    }
@@ -212,7 +237,7 @@
    @PostMapping("/SelectGlass")
    public Result SelectGlass(String orderid) {
        Map<String, Object> map = new HashMap<>();
        List<Glass> glass=homeMapper.SelectGlass(orderid);
    List<north_glass_buffer1> glass = homeMapper.SelectGlass(orderid);
        map.put("glass", glass);
        return Result.success(map);
    }
@@ -226,6 +251,8 @@
            map.put("message", "300");
        }else{
            homeMapper.InsertQueueGlassId(glassid,id);
    //调用伍存储过程
    spianMapper.selectAll(glassid);
            map.put("message", "200");
        }
        return Result.success(map);
@@ -249,5 +276,100 @@
        return Result.success(map);
    }
    
  // 查询此订单在理片笼里的玻璃数
  @PostMapping("/SelectGlassNo")
  public Result SelectGlassNo(String orderid) {
    Short count = homeMapper.SelectGlassNo(orderid);
    Map<String, Object> map = new HashMap<>();
    map.put("count", count);
    return Result.success(map);
  }
    
  // 根据铝框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()));
    }
    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);
    Map<String, Object> map = new HashMap<>();
    map.put("message", "200");
    return Result.success(map);
  }
  //
  @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);
    Map<String, Object> map = new HashMap<>();
    map.put("message", "200");
    return Result.success(map);
  }
}