代码更新

This commit is contained in:
2023-04-14 17:50:11 +08:00
parent 88cc6a56e7
commit e379a9a86d
18 changed files with 1501 additions and 17 deletions

View File

@@ -76,7 +76,7 @@ public class AppRun {
public String index() {
return "Backend service started successfully";
}
@GetMapping("/w") // 最后可以去掉这个方法
@GetMapping("/w") // 立库监控初始化
@SaIgnore
public String index2() {
// 采用循环+判断进行铺设图标, 可以通过舞台编辑协助完成
@@ -93,15 +93,15 @@ public class AppRun {
int nodeSizeH = 50;
for (int i = 2; i < 23; i=i+2) { // 第几块,每两块为一块
// 获取列数col_num
System.out.println( (i>=10?"1":"10") + i);
System.out.println( (i>=10?"3":"30") + i);
JSONObject jsonObject = WQL.getWO("ss").addParamMap(MapOf.of("flag", "1"
, "block_num", (i>=10?"1":"10") + i)).process().uniqueResult(0);
, "block_num", (i>=10?"3":"30") + i)).process().uniqueResult(0);
int num = Integer.parseInt(jsonObject.getString("num"));
for (int j = 1; j <= num; j++) {// 层数
// 获取21....块的数据
JSONArray array = attrTab.query("block_num IN ('" + (i>=10?"1":"10") + i + "','" +
((i-1)>=10?"1":"10") + (i - 1) + "') AND " +
"layer_num = 1 AND col_num = " + j, "block_num DESC, row_num DESC").getResultJSONArray(0);
JSONArray array = attrTab.query("block_num IN ('" + (i>=10?"3":"30") + i + "','" +
((i-1)>=10?"3":"30") + (i - 1) + "') AND " +
"layer_num = 3 AND col_num = " + j, "block_num DESC, row_num DESC").getResultJSONArray(0);
for (int k = 0; k < array.size(); k++) { // 1,2...块的每列数据
JSONObject object = array.getJSONObject(k);
@@ -178,7 +178,58 @@ public class AppRun {
}
save.put("nodes", nodes);
save.put("edges", edges);
JSONObject jsonObject = stageTab.query("stage_code = 'AS'").uniqueResult(0);
JSONObject jsonObject = stageTab.query("stage_code = 'AS_3'").uniqueResult(0);
jsonObject.put("stage_data", save);
stageTab.update(jsonObject);
return "Backend service started successfully";
}
@GetMapping("/f") // 发货区监控初始化
@SaIgnore
public String index3() {
// 采用循环+判断进行铺设图标, 可以通过舞台编辑协助完成
WQLObject stageTab = WQLObject.getWQLObject("stage");
WQLObject attrTab = WQLObject.getWQLObject("sch_base_point");
JSONObject save = new JSONObject();
JSONArray nodes = new JSONArray();
JSONArray edges = new JSONArray();
int x = 50; // 首个位置
int y = 50;
int step = 5;
String type = "html-node";
int nodeSizeW = 50;
int nodeSizeH = 50;
for (int i = 1; i <= 4; i++) {
JSONArray resultJSONArray = attrTab.query("col_num = '" + i + "' and point_type = '9' and layer_num = '1' order by row_num ASC").getResultJSONArray(0);
for (int j = 0; j < resultJSONArray.size(); j++) {
JSONObject json = resultJSONArray.getJSONObject(j);
JSONObject node = new JSONObject();
node.put("id", IdUtil.getSnowflake(1,1).nextIdStr());
node.put("type", type);
node.put("x", x);
node.put("y", y);
JSONObject properties = new JSONObject();
JSONObject nodeSize = new JSONObject();
nodeSize.put("width", nodeSizeW);
nodeSize.put("height", nodeSizeH);
properties.put("nodeSize", nodeSize);
properties.put("struct_id", json.getString("point_id")); // 灵活配置,其他为固定参数
node.put("properties", properties);
node.put("zIndex", "2023");
x = x + step + nodeSizeW;
nodes.add(node);
}
x = 50;
y = y + step + nodeSizeH;
}
save.put("nodes", nodes);
save.put("edges", edges);
JSONObject jsonObject = stageTab.query("stage_code = 'FS'").uniqueResult(0);
jsonObject.put("stage_data", save);
stageTab.update(jsonObject);
return "Backend service started successfully";

View File

@@ -0,0 +1,28 @@
package org.nl.modules.mnt.service;
import com.alibaba.fastjson.JSONObject;
public interface AutoRiKuService {
/**
* 获取立库一层货位
* */
JSONObject getOnePoint();
/**
* 获取立库二层货位
* */
JSONObject getTwoPoint();
/**
* 获取立库三层货位
* */
JSONObject getThreePoint();
/**
* 获取全部货位
* */
JSONObject getAllPoint();
}

View File

@@ -0,0 +1,173 @@
package org.nl.modules.mnt.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import org.nl.modules.mnt.service.AutoRiKuService;
import org.nl.modules.wql.core.bean.WQLObject;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class AutoRiKuServiceImpl implements AutoRiKuService {
@Override
public JSONObject getOnePoint() {
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
JSONObject jsonAll = new JSONObject();
JSONArray dataArr = new JSONArray();
// 获取有货货位
JSONArray haveArr = attrTab.query("sect_code in ('ZC01','KTP01','ZZ01','PD01') and IFNULL(storagevehicle_code,'') <> '' and layer_num = '1' and is_delete = '0'").getResultJSONArray(0);
JSONObject jsonHave = new JSONObject();
jsonHave.put("name", "有货");
jsonHave.put("value", haveArr.size());
// 获取无货货位
JSONArray notHaveArr = attrTab.query("sect_code in ('ZC01','KTP01','ZZ01','PD01') and IFNULL(storagevehicle_code,'') = '' and layer_num = '1' and is_delete = '0'").getResultJSONArray(0);
JSONObject jsonNotHave = new JSONObject();
jsonNotHave.put("name", "空闲");
jsonNotHave.put("value", notHaveArr.size());
// 获取禁用货位
JSONArray usedArr = attrTab.query("sect_code in ('ZC01','KTP01','ZZ01','PD01') and is_used = '0' and IFNULL(storagevehicle_code,'') = '' and layer_num = '1' and is_delete = '0'").getResultJSONArray(0);
JSONObject jsonUsed = new JSONObject();
jsonUsed.put("name", "禁用");
jsonUsed.put("value", usedArr.size());
dataArr.add(jsonHave);
dataArr.add(jsonNotHave);
dataArr.add(jsonUsed);
int num = haveArr.size() + notHaveArr.size() + usedArr.size();
jsonAll.put("pieSubTest", "总仓位:"+num);
jsonAll.put("data", dataArr);
jsonAll.put("name", "立库1层统计");
return jsonAll;
}
@Override
public JSONObject getTwoPoint() {
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
JSONObject jsonAll = new JSONObject();
JSONArray dataArr = new JSONArray();
// 获取有货货位
JSONArray haveArr = attrTab.query("sect_code in ('ZC01','KTP01','ZZ01','PD01') and IFNULL(storagevehicle_code,'') <> '' and layer_num = '2' and is_delete = '0'").getResultJSONArray(0);
JSONObject jsonHave = new JSONObject();
jsonHave.put("name", "有货");
jsonHave.put("value", haveArr.size());
// 获取无货货位
JSONArray notHaveArr = attrTab.query("sect_code in ('ZC01','KTP01','ZZ01','PD01') and IFNULL(storagevehicle_code,'') = '' and layer_num = '2' and is_delete = '0'").getResultJSONArray(0);
JSONObject jsonNotHave = new JSONObject();
jsonNotHave.put("name", "空闲");
jsonNotHave.put("value", notHaveArr.size());
// 获取禁用货位
JSONArray usedArr = attrTab.query("sect_code in ('ZC01','KTP01','ZZ01','PD01') and is_used = '0' and IFNULL(storagevehicle_code,'') = '' and layer_num = '2' and is_delete = '0'").getResultJSONArray(0);
JSONObject jsonUsed = new JSONObject();
jsonUsed.put("name", "禁用");
jsonUsed.put("value", usedArr.size());
dataArr.add(jsonHave);
dataArr.add(jsonNotHave);
dataArr.add(jsonUsed);
int num = haveArr.size() + notHaveArr.size() + usedArr.size();
jsonAll.put("pieSubTest", "总仓位:"+num);
jsonAll.put("data", dataArr);
jsonAll.put("name", "立库2层统计");
return jsonAll;
}
@Override
public JSONObject getThreePoint() {
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
JSONObject jsonAll = new JSONObject();
JSONArray dataArr = new JSONArray();
// 获取有货货位
JSONArray haveArr = attrTab.query("sect_code in ('ZC01','KTP01','ZZ01','PD01') and IFNULL(storagevehicle_code,'') <> '' and layer_num = '3' and is_delete = '0'").getResultJSONArray(0);
JSONObject jsonHave = new JSONObject();
jsonHave.put("name", "有货");
jsonHave.put("value", haveArr.size());
// 获取无货货位
JSONArray notHaveArr = attrTab.query("sect_code in ('ZC01','KTP01','ZZ01','PD01') and IFNULL(storagevehicle_code,'') = '' and layer_num = '3' and is_delete = '0'").getResultJSONArray(0);
JSONObject jsonNotHave = new JSONObject();
jsonNotHave.put("name", "空闲");
jsonNotHave.put("value", notHaveArr.size());
// 获取禁用货位
JSONArray usedArr = attrTab.query("sect_code in ('ZC01','KTP01','ZZ01','PD01') and is_used = '0' and IFNULL(storagevehicle_code,'') = '' and layer_num = '3' and is_delete = '0'").getResultJSONArray(0);
JSONObject jsonUsed = new JSONObject();
jsonUsed.put("name", "禁用");
jsonUsed.put("value", usedArr.size());
dataArr.add(jsonHave);
dataArr.add(jsonNotHave);
dataArr.add(jsonUsed);
int num = haveArr.size() + notHaveArr.size() + usedArr.size();
jsonAll.put("pieSubTest", "总仓位:"+num);
jsonAll.put("data", dataArr);
jsonAll.put("name", "立库3层统计");
return jsonAll;
}
@Override
public JSONObject getAllPoint() {
WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr");
JSONObject jsonAll = new JSONObject();
JSONArray dataArr = new JSONArray();
// 获取有货货位
JSONArray haveArr = attrTab.query("sect_code in ('ZC01','KTP01','ZZ01','PD01') and IFNULL(storagevehicle_code,'') <> '' and is_delete = '0'").getResultJSONArray(0);
JSONObject jsonHave = new JSONObject();
jsonHave.put("name", "有货");
jsonHave.put("value", haveArr.size());
// 获取无货货位
JSONArray notHaveArr = attrTab.query("sect_code in ('ZC01','KTP01','ZZ01','PD01') and IFNULL(storagevehicle_code,'') = '' and is_delete = '0'").getResultJSONArray(0);
JSONObject jsonNotHave = new JSONObject();
jsonNotHave.put("name", "空闲");
jsonNotHave.put("value", notHaveArr.size());
// 获取禁用货位
JSONArray usedArr = attrTab.query("sect_code in ('ZC01','KTP01','ZZ01','PD01') and is_used = '0' and IFNULL(storagevehicle_code,'') = '' and is_delete = '0'").getResultJSONArray(0);
JSONObject jsonUsed = new JSONObject();
jsonUsed.put("name", "禁用");
jsonUsed.put("value", usedArr.size());
dataArr.add(jsonHave);
dataArr.add(jsonNotHave);
dataArr.add(jsonUsed);
int num = haveArr.size() + notHaveArr.size() + usedArr.size();
jsonAll.put("pieSubTest", "总仓位:"+num);
jsonAll.put("data", dataArr);
jsonAll.put("name", "立库汇总统计");
return jsonAll;
}
}

View File

@@ -0,0 +1,40 @@
package org.nl.modules.mnt.websocket;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.modules.logging.annotation.Log;
import org.nl.modules.mnt.service.AutoRiKuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.Map;
@RestController
@RequiredArgsConstructor
@Api(tags = "定时任务")
@RequestMapping("/api/autoWeb")
@Slf4j
public class AutoWebSocketRiKu {
@Autowired
private AutoRiKuService autoRiKuService;
@PostMapping("/query")
@Log("查询数据")
@ApiOperation("查询数据")
public ResponseEntity<Object> query(){
JSONObject data = new JSONObject();
data.put("one",autoRiKuService.getOnePoint());
data.put("two",autoRiKuService.getTwoPoint());
data.put("three",autoRiKuService.getThreePoint());
data.put("all",autoRiKuService.getAllPoint());
return new ResponseEntity<>(data, HttpStatus.OK);
}
}

View File

@@ -194,4 +194,9 @@ public class CustomerbaseDto implements Serializable {
* 送货单明细数
*/
private String shd_dtl_num;
/**
* 是否自动贴标
*/
private String is_auto_table;
}

View File

@@ -82,4 +82,19 @@ public class StructattrController {
JSONArray jsonArray = JSONArray.parseArray(json);
return new ResponseEntity<>(structattrService.getStructByCodes(jsonArray), HttpStatus.OK);
}
@PostMapping("/getStructByCodesFs")
@Log("获取点位信息")
@ApiOperation("获取点位信息")
public ResponseEntity<Object> getStructByCodesFs(@RequestBody String json){
JSONArray jsonArray = JSONArray.parseArray(json);
return new ResponseEntity<>(structattrService.getStructByCodesFs(jsonArray), HttpStatus.OK);
}
@PostMapping("/unLockPoint")
@Log("解锁点位")
@ApiOperation("解锁点位")
public ResponseEntity<Object> unLockPoint(@RequestBody JSONObject whereJson){
return new ResponseEntity<>(structattrService.unLockPoint(whereJson), HttpStatus.OK);
}
}

View File

@@ -75,4 +75,16 @@ public interface StructattrService {
* @return
*/
JSONArray getStructByCodes(JSONArray json);
/**
* 获取点位信息
* @return
*/
JSONArray getStructByCodesFs(JSONArray json);
/**
* 解锁点位
* @return
*/
JSONObject unLockPoint(JSONObject whereJson);
}

View File

@@ -289,4 +289,60 @@ public class StructattrServiceImpl implements StructattrService {
return arr;
}
@Override
public JSONArray getStructByCodesFs(JSONArray jsonArray) {
WQLObject attrTab = WQLObject.getWQLObject("sch_base_point");
JSONArray arr = new JSONArray();
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject obj = new JSONObject();
JSONObject js = jsonArray.getJSONObject(i);
String struct_id = js.getString("struct_id");
if (ObjectUtil.isEmpty(struct_id)) continue;
int struct_status = 2;
// 获取信息 1蓝色空载具 2黄色木箱 3绿色空位 4灰色禁用
// 查找详细信息, 这里可能是有多条数据
JSONArray array = WQL
.getWO("QST_STRUCTATTR")
.addParamMap(MapOf.of("struct_id", struct_id, "flag", "2"))
.process()
.getResultJSONArray(0);
// 获取仓位表中的信息
JSONObject strInfo = attrTab
.query("point_id = '" + struct_id + "'")
.uniqueResult(0);
if (ObjectUtil.isEmpty(strInfo.getString("vehicle_code"))) {
// 空位
struct_status = 3;
}
// 剩余层数货位信息没统计统计可以用obj.put(key, value)返给前端前端在initStatus()就可以遍历去获取,给节点赋值
obj.put("data", array);
obj.put("struct_status", struct_status);
obj.put("struct_id", strInfo.getString("point_id"));
obj.put("struct_code", strInfo.getString("point_code"));
obj.put("id", js.getString("id")); // 设备不存在就只保留id方便前端查看
arr.add(obj);
}
return arr;
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject unLockPoint(JSONObject whereJson) {
WQLObject pointTab = WQLObject.getWQLObject("sch_base_point");
String point_code = whereJson.getString("point_code");
JSONObject jsonPoint = pointTab.query("point_code = '" + point_code + "'").uniqueResult(0);
jsonPoint.put("point_status", "1");
jsonPoint.put("vehicle_code", "");
jsonPoint.put("lock_type", "1");
pointTab.update(jsonPoint);
return null;
}
}