package com.example.springboot.controller;
|
|
import java.sql.SQLException;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.concurrent.TimeUnit;
|
|
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.JdbcConnections;
|
import com.example.springboot.service.North_Glass_Buffer1Service;
|
import com.example.springboot.service.OutSliceServive;
|
import com.example.springboot.service.SpianService;
|
import com.example.springboot.service.StorageCageService;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.google.gson.JsonArray;
|
import com.google.gson.JsonObject;
|
|
import cn.hutool.core.lang.Console;
|
|
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.GlassInfo;
|
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 com.example.springboot.entity.Queue;
|
import com.example.springboot.entity.RolePermission;
|
|
import org.springframework.web.bind.annotation.*;
|
|
@RestController
|
@RequestMapping("/home")
|
public class HomeController {
|
@Autowired
|
HomeMapper homeMapper;
|
|
@Autowired
|
SpianService spianService;
|
|
@Autowired
|
SpianMapper spianMapper;
|
|
@Autowired
|
OutSliceServive outSliceServive;
|
|
@Autowired
|
StorageCageService storageCageService;
|
|
@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() {
|
// storageCageService.EndTask(1);
|
// UpdateTask(2,0,"X12345610402GV");
|
List<StorageCage> storageCagelist = homeMapper.selectAll();
|
Map<String, Object> map = new HashMap<>();
|
map.put("list", storageCagelist);
|
return Result.success(map);
|
}
|
|
// 查询理片笼玻璃情况
|
@GetMapping("/loads")
|
public Result selectRack() {
|
List<StorageCage> storageCagelist1 = homeMapper.selectRack1();
|
List<StorageCage> storageCagelist2 = homeMapper.selectRack2();
|
List<StorageCage> storageCagelist3 = homeMapper.selectRack3();
|
List<StorageCage> storageCagelist4 = homeMapper.selectRack4();
|
Map<String, Object> map = new HashMap<>();
|
map.put("list1", storageCagelist1);
|
map.put("list2", storageCagelist2);
|
map.put("list3", storageCagelist3);
|
map.put("list4", storageCagelist4);
|
return Result.success(map);
|
}
|
|
// 按订单出片
|
@GetMapping("/InsertOrder")
|
public Result InsertOrder(String orderid) {
|
short result = homeMapper.SelectOrder(orderid);
|
Map<String, Object> 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<String, Object> 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) {
|
storageCageService.UpdateTask(types, shelfrack, glassid);
|
Map<String, Object> map = new HashMap<>();
|
map.put("message3", "200");
|
return Result.success(map);
|
}
|
|
// 终止进片/出片任务
|
@GetMapping("/EndTask")
|
public Result EndTask(int types) {
|
storageCageService.EndTask(types);
|
|
Map<String, Object> map = new HashMap<>();
|
map.put("message3", "200");
|
return Result.success(map);
|
}
|
|
// 查询报警信息
|
@GetMapping("/SelectAlarmmgInfo")
|
public Result SelectAlarmmgInfo() {
|
List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
|
Map<String, Object> map = new HashMap<>();
|
map.put("alarmmg", alarmmg);
|
return Result.success(map);
|
}
|
|
// 查询理片笼详情
|
@GetMapping("/SelectCageInfo")
|
public Result SelectCageInfo(String cage) throws SQLException {
|
List<StorageCage> cageinfo = homeMapper.SelectCageInfo(cage);
|
Map<String, Object> map = new HashMap<>();
|
map.put("cageinfo", cageinfo);
|
return Result.success(map);
|
}
|
|
// 手动删除理片笼玻璃
|
@GetMapping("/DeleteByGlassID")
|
public Result DeleteByGlassID(String glassid) {
|
outSliceServive.DeleteByGlassIDs(glassid);
|
Map<String, Object> map = new HashMap<>();
|
map.put("message3", "200");
|
return Result.success(map);
|
}
|
|
// 根据玻璃id手动出片
|
@GetMapping("/OutByGlassID")
|
public Result OutByGlassID(String glassid) throws SQLException {
|
Map<String, Object> map = new HashMap<>();
|
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) {
|
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(), framelength, frameheight);
|
map.put("message2", "200");
|
} else {
|
map.put("message2", "300");
|
}
|
} else {
|
map.put("message2", "400");
|
}
|
} else {
|
map.put("message2", "500");
|
}
|
return Result.success(map);
|
}
|
|
// 加载小车位置
|
@GetMapping("/Loadcarlist")
|
public Result Loadcarlist() {
|
List<CarPosition> carlist = homeMapper.Loadcarlist();
|
Map<String, Object> map = new HashMap<>();
|
map.put("carlist", carlist);
|
return Result.success(map);
|
}
|
|
// 查询确认密码
|
@GetMapping("/SelectPassword")
|
public Result SelectPassword() {
|
String pwdct = homeMapper.SelectPassword();
|
Map<String, Object> map = new HashMap<>();
|
map.put("password", pwdct);
|
return Result.success(map);
|
}
|
|
// 根据玻璃id查询玻璃信息
|
@GetMapping("/SelectGlassByGlassID")
|
public Result SelectGlassByGlassID(String glassid) throws SQLException {
|
Queue queue = jdbcConnections.SelectGlassByGlassIdOrderIdFrameIdQueue(glassid, "", "");
|
Map<String, Object> map = new HashMap<>();
|
if (glassid != "") {
|
map.put("form", queue);
|
}
|
return Result.success(map);
|
}
|
|
// 启用/禁用理片笼格子
|
@GetMapping("/Disabled")
|
public Result Disabled(short cage, short cell, short disabled) {
|
homeMapper.Disabled(cage, cell, disabled);
|
Map<String, Object> map = new HashMap<>();
|
map.put("message", "200");
|
return Result.success(map);
|
}
|
|
// 手动往理片笼添加玻璃
|
@PostMapping("/Inglassid")
|
public Result Inglassid(short cage, short cell, short tier, @RequestBody Queue queue) {
|
Map<String, Object> map = new HashMap<>();
|
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 {
|
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);
|
}
|
|
// 查询玻璃信息
|
@PostMapping("/SelectGlass")
|
public Result SelectGlass(String orderid) throws SQLException {
|
Map<String, Object> map = new HashMap<>();
|
List<north_glass_buffer1> glass = jdbcConnections.SelectGlassByGlassIdOrderIdFrameIds("", orderid, "");
|
map.put("glass", glass);
|
return Result.success(map);
|
}
|
|
// 手动添加扫码位玻璃
|
@PostMapping("/InsertQueueGlassId")
|
public Result InsertQueueGlassId(Short id, @RequestBody Queue queue) {
|
return storageCageService.InsertQueueGlassId(id, queue);
|
|
}
|
|
// 确认扫码位玻璃信息
|
@PostMapping("/UpdateQueueState")
|
public Result UpdateQueueState() {
|
homeMapper.UpdateQueueState();
|
Map<String, Object> map = new HashMap<>();
|
map.put("message", "200");
|
return Result.success(map);
|
}
|
|
// 清除上片队列玻璃
|
@PostMapping("/DeleteQueueGlass")
|
public Result DeleteQueueGlass(String id) {
|
homeMapper.DeleteQueueGlass(id);
|
Map<String, Object> map = new HashMap<>();
|
map.put("message", "200");
|
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) throws SQLException {
|
String flip = jdbcConnections.SelectFlipByFrameBarcode(FrameBarcode);
|
List<north_glass_buffer1> AluminumFrame = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(FrameBarcode);
|
Map<String, Object> map = new HashMap<>();
|
map.put("AluminumFrame", AluminumFrame);
|
map.put("flip", flip);
|
return Result.success(map);
|
}
|
|
// 根据铝框id删除出片队列玻璃
|
@PostMapping("/DeleteProductionQueueGlass")
|
public Result DeleteProductionQueueGlass(String FrameNo) {
|
return outSliceServive.CompleteQueueByFrameNo(FrameNo);
|
}
|
|
// 添加铝框id对应玻璃到出片队列
|
@PostMapping("/AddOutSliceS")
|
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) {
|
// 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());
|
}
|
}
|
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);
|
}
|
|
// 手动完成任务
|
@PostMapping("/FrameStateUpdate")
|
public Result FrameStateUpdate(String frameno) {
|
return outSliceServive.FrameStateUpdate(frameno);
|
}
|
|
// 手动写入plc扫码位玻璃id
|
@PostMapping("/WriteGlassID")
|
public Result WriteGlassID(String glassid) {
|
// 扫码位写入玻璃id
|
spianService.outmesid(glassid, "DB103.286");
|
Map<String, Object> map = new HashMap<>();
|
map.put("message", "200");
|
return Result.success(map);
|
}
|
|
// 清除指定位置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);
|
}
|
|
// 切换PLC获取二维码方式
|
@PostMapping("/SwitchScanMethod")
|
public Result SwitchScanMethod(Boolean scansmethod) {
|
S7control.getinstance().WriteBit("DB101.11.4", scansmethod);
|
Map<String, Object> map = new HashMap<>();
|
map.put("message", "200");
|
return Result.success(map);
|
}
|
|
// 切换PLC获取二维码方式
|
@PostMapping("/UpdateStroageCageByCell")
|
public Result UpdateStroageCageByCell(Integer cell,Integer num) {
|
return storageCageService.UpdateStroageCageByCell(cell,num);
|
}
|
|
//手动完成任务
|
@PostMapping("/FinishTask")
|
public Result FinishTask(Integer id) {
|
return storageCageService.FinishTask(id);
|
}
|
|
//查询玻璃信息
|
@PostMapping("/SelectGlassInfo")
|
public Result SelectGlassInfo(String width,String height,String thickness,String films) {
|
return storageCageService.SelectGlassInfo(width,height,thickness,films);
|
}
|
|
//添加玻璃信息到笼子
|
@PostMapping("/StorageCageAddGlass")
|
public Result StorageCageAddGlass(String cell,@RequestBody GlassInfo glassInfo) {
|
return storageCageService.StorageCageAddGlass(cell,glassInfo);
|
}
|
|
//领取/暂停任务
|
@PostMapping("/ClaimTasks")
|
public Result ClaimTasks(String flowcard,Integer state) {
|
return storageCageService.ClaimTasks(flowcard,state);
|
}
|
|
//修改出片方式
|
@PostMapping("/ModeChange")
|
public Result ModeChange(String flowcard,Integer method) {
|
return storageCageService.ModeChange(flowcard,method);
|
}
|
|
//添加玻璃信息到测量信息
|
@PostMapping("/UpdateQueue")
|
public Result UpdateQueue(@RequestBody GlassInfo glassInfo) {
|
return storageCageService.UpdateQueue(glassInfo);
|
}
|
//人工拿走
|
@PostMapping("/ManualTake")
|
public Result ManualTake(@RequestBody String glassInfo) {
|
return storageCageService.ManualTake(glassInfo);
|
}
|
//重新测量
|
@PostMapping("/AnewMeasure")
|
public Result AnewMeasure(@RequestBody String glassInfo) {
|
return storageCageService.AnewMeasure(glassInfo);
|
}
|
//导入数据 :添加玻璃信息
|
@PostMapping("/importData")
|
public Result importData(@RequestBody List<Map> IportDataStr) {
|
return storageCageService.AddGlassinfo(IportDataStr);
|
}
|
}
|