| | |
| | | package com.example.springboot.controller; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Collection; |
| | | import java.util.Collections; |
| | | import java.sql.SQLException; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import org.apache.logging.log4j.util.PropertySource.Comparator; |
| | | 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.MultiFieldComparator; |
| | | 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") |
| | |
| | | @Autowired |
| | | SpianMapper spianMapper; |
| | | |
| | | @Autowired |
| | | OutSliceServive outSliceServive; |
| | | |
| | | @Autowired |
| | | North_Glass_Buffer1Service north_Glass_Buffer1Service; |
| | | |
| | | @Autowired |
| | | private JdbcConnections jdbcConnections; |
| | | |
| | | // 获取当前登录用户权限 |
| | | @GetMapping("/SelectPermissionByUserName") |
| | | public Result SelectPermissionByUserName(String username) throws SQLException { |
| | | 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() { |
| | |
| | | // 查询理片笼玻璃情况 |
| | | @GetMapping("/loads") |
| | | public Result selectRack() { |
| | | |
| | | List<StorageCage> storageCagelist1 = homeMapper.selectRack1(); |
| | | List<StorageCage> storageCagelist2 = homeMapper.selectRack2(); |
| | | List<StorageCage> storageCagelist3 = homeMapper.selectRack3(); |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | @GetMapping("/UpdateTask") |
| | | public Result UpdateTask(Integer types, Integer shelfrack, String glassid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | homeMapper.UpdateTask(types); |
| | | StorageCage glass = homeMapper.SelectGlassInfo(glassid); |
| | | homeMapper.UpdateTask(types, glassid); |
| | | // StorageCage glass = homeMapper.SelectGlassInfo(glassid); |
| | | if (types == 0) { |
| | | homeMapper.UpdateCageTask1(glassid); |
| | | S7control.getinstance().WriteWord("DB105.14", (short) 0); |
| | | // S7control.getinstance().WriteWord("DB105.16", (short) 0); |
| | | } else { |
| | | spianMapper.UpdataOutCage1(glass.getGlassWidth(), glass.getCage(), glass.getCell()); |
| | | homeMapper.UpdateCageTask2(glassid); |
| | | S7control.getinstance().WriteWord("DB105.12", (short) 0); |
| | | // spianMapper.UpdataOutCage1(glass.getGlassWidth(), glass.getCage(), glass.getCell()); |
| | | homeMapper.DeleteByGlassID(glassid); |
| | | // S7control.getinstance().WriteWord("DB105.18", (short) 0); |
| | | } |
| | | map.put("message3", "200"); |
| | | return Result.success(map); |
| | |
| | | |
| | | // 查询理片笼详情 |
| | | @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); |
| | |
| | | |
| | | // 根据玻璃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, (short)0); |
| | | map.put("message2", "200"); |
| | | } else { |
| | | map.put("message2", "300"); |
| | | } |
| | | } else { |
| | | map.put("message2", "400"); |
| | | } |
| | | |
| | | } else { |
| | | map.put("message2", "500"); |
| | | } |
| | | |
| | | return Result.success(map); |
| | | } |
| | | |
| | |
| | | |
| | | // 根据玻璃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); |
| | | } |
| | | |
| | |
| | | |
| | | // 手动往理片笼添加玻璃 |
| | | @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()); |
| | | if (result > 0) { |
| | | map.put("message", "300"); |
| | | 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 { |
| | | homeMapper.Inglassid(north_glass_buffer1s, cage, cell, tier); |
| | | spianMapper.UpdataAddCage1(north_glass_buffer1s.getglasslengthMm(), cage, cell); |
| | | 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); |
| | | 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); |
| | | //调用伍存储过程 |
| | | spianMapper.selectAll(glassid); |
| | | homeMapper.InsertQueueGlassId(queue, id); |
| | | if (id == 1) { |
| | | // 调用伍存储过程 |
| | | spianService.selectAll(queue.getglassId()); |
| | | } |
| | | map.put("message", "200"); |
| | | } |
| | | 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())); |
| | | } |
| | | 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删除出片队列玻璃 |
| | | // 根据铝框id删除出片队列玻璃 |
| | | @PostMapping("/DeleteProductionQueueGlass") |
| | | public Result DeleteProductionQueueGlass(Short id) { |
| | | homeMapper.DeleteProductionQueueGlass(id); |
| | | public Result DeleteProductionQueueGlass(String FrameNo) { |
| | | homeMapper.CompleteQueueByFrameNo(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]); |
| | | 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()); |
| | | } |
| | | } |
| | | System.out.println(AluminumFrames); |
| | | 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, String glassid) { |
| | | return outSliceServive.CompleteQueue(id, frameid, glassid); |
| | | |
| | | } |
| | | |
| | | } |