代码更新
This commit is contained in:
@@ -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++) {// 层数
|
||||
// 获取2,1....块的数据
|
||||
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";
|
||||
|
||||
@@ -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();
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -194,4 +194,9 @@ public class CustomerbaseDto implements Serializable {
|
||||
* 送货单明细数
|
||||
*/
|
||||
private String shd_dtl_num;
|
||||
|
||||
/**
|
||||
* 是否自动贴标
|
||||
*/
|
||||
private String is_auto_table;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,4 +75,16 @@ public interface StructattrService {
|
||||
* @return
|
||||
*/
|
||||
JSONArray getStructByCodes(JSONArray json);
|
||||
|
||||
/**
|
||||
* 获取点位信息
|
||||
* @return
|
||||
*/
|
||||
JSONArray getStructByCodesFs(JSONArray json);
|
||||
|
||||
/**
|
||||
* 解锁点位
|
||||
* @return
|
||||
*/
|
||||
JSONObject unLockPoint(JSONObject whereJson);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user