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.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") public class HomeController { @Autowired HomeMapper homeMapper; @Autowired HomeService storageRackService; @Autowired SpianService spianService; @Autowired SpianMapper spianMapper; // 查询理片笼使用情况 @GetMapping("/load") public Result selectAll() { 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("/loadinout") public Result selectinout(Integer types) { List storageCageinout = homeMapper.selectinout(types); for (StorageCage storageCage : storageCageinout) { storageCage.setnorth_glass_buffer1s(homeMapper.SelectBoxNo(storageCage.getGlassId())); } Map map = new HashMap<>(); map.put("list", storageCageinout); 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) { Map map = new HashMap<>(); short taskno = homeMapper.SelectInTask(); if (taskno > 0) { map.put("message2", "500"); } else { // 调用伍上片函数 short results = spianService.selectAll(glassid); 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) { Map map = new HashMap<>(); homeMapper.UpdateTask(types); StorageCage glass = homeMapper.SelectGlassInfo(glassid); if (types == 0) { 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); } 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(short cage) { List cageinfo = homeMapper.SelectCageInfo(cage); for (StorageCage storageCage : cageinfo) { storageCage.setnorth_glass_buffer1s(homeMapper.SelectBoxNo(storageCage.getGlassId())); } Map map = new HashMap<>(); map.put("cageinfo", cageinfo); return Result.success(map); } // 手动删除理片笼玻璃 @GetMapping("/DeleteByGlassID") public Result DeleteByGlassID(String glassid) { StorageCage glassinfor = homeMapper.SelectGlassInfo(glassid); spianMapper.UpdataOutCage1(glassinfor.getGlassWidth(), glassinfor.getCage(), glassinfor.getCell()); homeMapper.DeleteByGlassID(glassid); Map map = new HashMap<>(); map.put("message3", "200"); return Result.success(map); } // 根据玻璃id手动出片 @GetMapping("/OutByGlassID") public Result OutByGlassID(String glassid) { Map 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"); } } 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) { north_glass_buffer1 north_glass_buffer1s = homeMapper.SelectGlassByGlassID(glassid); Map map = new HashMap<>(); map.put("form", north_glass_buffer1s); 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 north_glass_buffer1 north_glass_buffer1s) { Map map = new HashMap<>(); short result = homeMapper.SelectStorageByGlassId(north_glass_buffer1s.getbarcode()); if (result > 0) { map.put("message", "300"); } else { homeMapper.Inglassid(north_glass_buffer1s, cage, cell, tier); spianMapper.UpdataAddCage1(north_glass_buffer1s.getglasslengthMm(), cage, cell); } return Result.success(map); } // 查询玻璃信息 @PostMapping("/SelectGlass") public Result SelectGlass(String orderid) { Map map = new HashMap<>(); List glass = homeMapper.SelectGlass(orderid); map.put("glass", glass); return Result.success(map); } // 手动添加扫码位玻璃 @PostMapping("/InsertQueueGlassId") public Result InsertQueueGlassId(String glassid, Short id) { Map map = new HashMap<>(); short result = homeMapper.SelectStorageByGlassId(glassid); if (result > 0) { map.put("message", "300"); } else { homeMapper.InsertQueueGlassId(glassid, id); //调用伍存储过程 spianMapper.selectAll(glassid); map.put("message", "200"); } return Result.success(map); } // 确认扫码位玻璃信息 @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) { List 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 map = new HashMap<>(); map.put("listAluminumFrame", listAluminumFrame); map.put("flip", flip); return Result.success(map); } // 查询出片队列数据 @PostMapping("/SelectProductionqueue") public Result SelectProductionqueue() { List 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> map=new HashMap>(); // HashMap map=new HashMap<>(); // for (Out_slice out_slice : listoutslice) { // String key_=out_slice.getState()+"-"; // if (map.get(key_)==null) { // List lists=new ArrayList(); // lists.add(out_slice); // map.put(key_, lists); // }else{ // List lists=(List)map.get(key_); // lists.add(out_slice); // map.put(key_,lists); // } // } // System.out.println(map); // List listskey=(List)map.get("1-"); // List list=new ArrayList(); // for (Out_slice out_slice : listskey) { // if (list.isEmpty()) { // list.add(out_slice); // }else{ // for (int i=0;iout_slice2.getID()){ // continue; // }else{ // list.add(i,out_slice2); // } // } // } // } //Collections.sort(listoutslice,new MultiFieldComparator()); Map maps = new HashMap<>(); maps.put("listoutslice", listoutslice); return Result.success(maps); } // 根据玻璃id删除出片队列玻璃 @PostMapping("/DeleteProductionQueueGlass") public Result DeleteProductionQueueGlass(Short id) { homeMapper.DeleteProductionQueueGlass(id); Map 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 map = new HashMap<>(); map.put("message", "200"); return Result.success(map); } }