Browse Source

Version 1.1

master
张江玮 2 years ago
parent
commit
a50db49d7d
  1. 6
      acs/nladmin-system/src/main/resources/config/application-prod.yml
  2. BIN
      lms/nladmin-system/doc/sch2.xls
  3. 489
      lms/nladmin-system/doc/永裕家居LMS系统.postman_collection.json
  4. 9
      lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java
  5. 31
      lms/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java
  6. 4
      lms/nladmin-system/src/main/java/org/nl/wms/sch/base/point/PointStatus.java
  7. 64
      lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java
  8. 2
      lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoCreateTask.java
  9. 59
      lms/nladmin-system/src/main/java/org/nl/wms/sch/task/CallEmptyVehicleTask.java
  10. 58
      lms/nladmin-system/src/main/java/org/nl/wms/sch/task/CallMaterialTask.java
  11. 62
      lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendEmptyVehicleTask.java
  12. 60
      lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendFullVehicleTask.java
  13. 60
      lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendResiduesMaterialTask.java
  14. 2
      lms/nladmin-system/src/main/java/org/nl/wms/sch/task/util/TaskUtils.java
  15. 6
      lms/nladmin-system/src/main/java/org/nl/wms/sch/task/wql/TASK.wql
  16. 6
      lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/QSCH_TASK_01.wql
  17. BIN
      lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls
  18. 12
      lms/nladmin-system/src/main/java/org/nl/wms/st/structivt/wql/ST_IVT_STRUCTIVT.wql
  19. 16
      lms/nladmin-system/src/main/java/org/nl/wms/st/vm/wql/ST_IVT_VEHICLE_MATERIAL.wql
  20. BIN
      lms/nladmin-system/src/main/java/org/nl/wms/wms.xls
  21. 6
      lms/nladmin-system/src/main/resources/config/application-prod.yml
  22. 34
      lms/nladmin-ui/src/views/wms/sch/task/index.vue
  23. 4
      lms/nladmin-ui/src/views/wms/st/ysa/index.vue
  24. 2
      lms/nladmin-ui/src/views/wms/st/ysa/inventory.vue

6
acs/nladmin-system/src/main/resources/config/application-prod.yml

@ -6,11 +6,9 @@ spring:
druid: druid:
db-type: com.alibaba.druid.pool.DruidDataSource db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:ndxy3_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:nmd_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
# url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:ndxy3_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
username: ${DB_USER:root} username: ${DB_USER:root}
password: ${DB_PWD:P@ssw0rd} password: ${DB_PWD:123456}
# password: ${DB_PWD:Root.123456}
# 初始连接数 # 初始连接数
initial-size: 5 initial-size: 5
# 最小连接数 # 最小连接数

BIN
lms/nladmin-system/doc/sch2.xls

Binary file not shown.

489
lms/nladmin-system/doc/永裕家居LMS系统.postman_collection.json

@ -1,489 +0,0 @@
{
"info": {
"_postman_id": "584232a7-9ae4-4ca2-b4e5-d9e66870957e",
"name": "永裕家居LMS系统",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "示例",
"description": "",
"item": [
{
"name": "LMS登录",
"event": [
{
"listen": "prerequest",
"script": {
"id": "56672d9d-9bac-4f23-b77e-809647ef5df4",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "48d9e766-7014-4243-80de-81d63be07da5",
"type": "text/javascript",
"exec": [
"//postman使用:https://blog.csdn.net/wangyiyan315/article/details/122441791",
"",
"var JsonData = JSON.parse(responseBody); //定义一个变量,并且将请求返回的内容赋给该变量",
"pm.globals.set(\"lms_token\", JsonData.token.slice(7)); //7代表去掉token前面的Bearer加空格",
""
]
}
}
],
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n\t\n\t\"username\":\"admin\",\n\t\"password\":\"uefvHbyUCADkudW1MV+/yw9XBWR2Z+KDyq+dqQ+ozr1loClUgqm4XQPsUl87IsXetYBWRDLo7HC++20VHlW80g==\"\n}"
},
"url": {
"raw": "{{lms_url}}/mobile/auth/login",
"host": [
"{{lms_url}}"
],
"path": [
"mobile",
"auth",
"login"
]
},
"description": "LMS登录并设置返回的token"
},
"response": []
},
{
"name": "系统参数分页查询-示例",
"event": [
{
"listen": "prerequest",
"script": {
"id": "4f07b550-ab9c-41a4-8dbf-f889ae50b246",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{lms_token}}",
"type": "string"
}
]
},
"method": "GET",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "/api/param"
},
"url": {
"raw": "{{lms_url}}/api/param?sort=id,desc&size=10&page=0",
"host": [
"{{lms_url}}"
],
"path": [
"api",
"param"
],
"query": [
{
"key": "sort",
"value": "id,desc"
},
{
"key": "size",
"value": "10"
},
{
"key": "page",
"value": "0"
},
{
"key": null,
"value": null
},
{
"key": null,
"value": null
}
]
},
"description": "求方法参数:{\"whereJson\":{\"sort\":\"id,desc\",\"size\":\"10\",\"page\":\"0\"}}"
},
"response": []
},
{
"name": "根据编码获取值-示例",
"event": [
{
"listen": "prerequest",
"script": {
"id": "4f07b550-ab9c-41a4-8dbf-f889ae50b246",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{lms_token}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "IS_CONNECT_ACS"
},
"url": {
"raw": "{{lms_url}}/api/param/getValueByCode",
"host": [
"{{lms_url}}"
],
"path": [
"api",
"param",
"getValueByCode"
]
},
"description": "求方法参数:{\"whereJson\":{\"sort\":\"id,desc\",\"size\":\"10\",\"page\":\"0\"}}"
},
"response": []
},
{
"name": "删除参数-示例",
"event": [
{
"listen": "prerequest",
"script": {
"id": "4f07b550-ab9c-41a4-8dbf-f889ae50b246",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{lms_token}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "[\"0c1d96d335cd4dd6aa0a4bee4b1c45fe\"]"
},
"url": {
"raw": "{{lms_url}}/api/param",
"host": [
"{{lms_url}}"
],
"path": [
"api",
"param"
]
},
"description": "求方法参数:{\"whereJson\":{\"sort\":\"id,desc\",\"size\":\"10\",\"page\":\"0\"}}"
},
"response": []
},
{
"name": "新增参数-示例",
"event": [
{
"listen": "prerequest",
"script": {
"id": "4f07b550-ab9c-41a4-8dbf-f889ae50b246",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{lms_token}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\"code\":\"test22\",\"is_active\":\"1\",\"remark\":\"test11\",\"name\":\"test11\",\"value\":\"test11\"}"
},
"url": {
"raw": "{{lms_url}}/api/param",
"host": [
"{{lms_url}}"
],
"path": [
"api",
"param"
]
},
"description": "求方法参数:{\"whereJson\":{\"sort\":\"id,desc\",\"size\":\"10\",\"page\":\"0\"}}"
},
"response": []
},
{
"name": "修改参数-示例",
"event": [
{
"listen": "prerequest",
"script": {
"id": "4f07b550-ab9c-41a4-8dbf-f889ae50b246",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{lms_token}}",
"type": "string"
}
]
},
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\"code\":\"test22\",\"is_active\":\"8\",\"create_time\":\"2022-10-14 13:33:52\",\"remark\":\"888\",\"update_time\":\"2022-10-14 13:33:52\",\"update_optname\":\"管理员\",\"create_id\":1,\"name\":\"888\",\"id\":\"3f1901b5814d40908bad602854b22aa6\",\"value\":\"8888\",\"update_optid\":1,\"create_name\":\"管理员\"}"
},
"url": {
"raw": "{{lms_url}}/api/param",
"host": [
"{{lms_url}}"
],
"path": [
"api",
"param"
]
},
"description": "求方法参数:{\"whereJson\":{\"sort\":\"id,desc\",\"size\":\"10\",\"page\":\"0\"}}"
},
"response": []
}
]
},
{
"name": "ACS请求LMS",
"description": "",
"item": [
{
"name": "共挤线申请空盘",
"event": [
{
"listen": "prerequest",
"script": {
"id": "4f07b550-ab9c-41a4-8dbf-f889ae50b246",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{lms_token}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\"type\":\"1\",\"point_code\":\"GJX01_K\",\"vehicle_code\":\"001\",\"qty\":\"100\",\"vehicle_type\":\"01\",\"vehicle_num\":\"1\"}"
},
"url": {
"raw": "{{lms_url}}/api/wms/task/apply",
"host": [
"{{lms_url}}"
],
"path": [
"api",
"wms",
"task",
"apply"
]
},
"description": "求方法参数:{\"whereJson\":{\"sort\":\"id,desc\",\"size\":\"10\",\"page\":\"0\"}}"
},
"response": []
},
{
"name": "油漆线空盘入库",
"event": [
{
"listen": "prerequest",
"script": {
"id": "4f07b550-ab9c-41a4-8dbf-f889ae50b246",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{lms_token}}",
"type": "string"
}
]
},
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\"code\":\"test22\",\"is_active\":\"1\",\"remark\":\"test11\",\"name\":\"test11\",\"value\":\"test11\"}"
},
"url": {
"raw": "{{lms_url}}/api/param",
"host": [
"{{lms_url}}"
],
"path": [
"api",
"param"
]
},
"description": "求方法参数:{\"whereJson\":{\"sort\":\"id,desc\",\"size\":\"10\",\"page\":\"0\"}}"
},
"response": []
}
]
}
],
"event": [
{
"listen": "prerequest",
"script": {
"id": "32f60779-6a66-4d77-80e3-1bc0040e7650",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "fb339152-4984-49bb-8955-3e24baac67ae",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"variable": [
{
"id": "9b318f5e-373b-4f36-93a5-d131f4f76446",
"key": "lms_url",
"value": "http://localhost:8010",
"type": "string",
"description": ""
},
{
"id": "5557e8ff-f6ac-45b0-a950-4a8c139d1ae0",
"key": "acs_url",
"value": "http://localhost:8010",
"type": "string",
"description": ""
}
]
}

9
lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java

@ -3,6 +3,7 @@ package org.nl.wms.ext.acs.rest;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaIgnore;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -32,6 +33,7 @@ public class AcsToWmsController {
@PostMapping("/status") @PostMapping("/status")
@Log("ACS给WMS反馈任务状态") @Log("ACS给WMS反馈任务状态")
@ApiOperation("ACS给WMS反馈任务状态") @ApiOperation("ACS给WMS反馈任务状态")
@SaIgnore
public ResponseEntity<Object> receiveTaskStatusAcs(@RequestBody String string) { public ResponseEntity<Object> receiveTaskStatusAcs(@RequestBody String string) {
return new ResponseEntity<>(acsToWmsService.receiveTaskStatusAcs(string), HttpStatus.OK); return new ResponseEntity<>(acsToWmsService.receiveTaskStatusAcs(string), HttpStatus.OK);
} }
@ -39,6 +41,7 @@ public class AcsToWmsController {
@PostMapping("/orderFinish") @PostMapping("/orderFinish")
@Log("ACS给WMS下发工单完成状态") @Log("ACS给WMS下发工单完成状态")
@ApiOperation("ACS给WMS下发工单完成状态") @ApiOperation("ACS给WMS下发工单完成状态")
@SaIgnore
public ResponseEntity<Object> orderFinish(@RequestBody String string) { public ResponseEntity<Object> orderFinish(@RequestBody String string) {
return new ResponseEntity<>(acsToWmsService.orderFinish(string), HttpStatus.OK); return new ResponseEntity<>(acsToWmsService.orderFinish(string), HttpStatus.OK);
} }
@ -46,7 +49,8 @@ public class AcsToWmsController {
@PostMapping("/apply") @PostMapping("/apply")
@Log("申请任务") @Log("申请任务")
@ApiOperation("申请任务") @ApiOperation("申请任务")
@SaCheckPermission("menu:list") // @SaCheckPermission("menu:list")
@SaIgnore
public ResponseEntity<Object> apply(@RequestBody JSONObject whereJson) { public ResponseEntity<Object> apply(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(acsToWmsService.apply(whereJson), HttpStatus.OK); return new ResponseEntity<>(acsToWmsService.apply(whereJson), HttpStatus.OK);
} }
@ -54,7 +58,8 @@ public class AcsToWmsController {
@PostMapping("/againApply") @PostMapping("/againApply")
@Log("二次申请任务") @Log("二次申请任务")
@ApiOperation("二次申请任务") @ApiOperation("二次申请任务")
@SaCheckPermission("menu:list") // @SaCheckPermission("menu:list")
@SaIgnore
public ResponseEntity<Object> againApply(@RequestBody String task_id) { public ResponseEntity<Object> againApply(@RequestBody String task_id) {
return new ResponseEntity<>(acsToWmsService.againApply(task_id), HttpStatus.OK); return new ResponseEntity<>(acsToWmsService.againApply(task_id), HttpStatus.OK);
} }

31
lms/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java

@ -20,11 +20,13 @@ import org.nl.wms.sch.task.CallEmptyVehicleTask;
import org.nl.wms.sch.task.CallMaterialTask; import org.nl.wms.sch.task.CallMaterialTask;
import org.nl.wms.sch.task.SendFullVehicleTask; import org.nl.wms.sch.task.SendFullVehicleTask;
import org.nl.wms.sch.task.SendResiduesMaterialTask; import org.nl.wms.sch.task.SendResiduesMaterialTask;
import org.nl.wms.sch.task.wql.SendEmptyVehicleTask; import org.nl.wms.sch.task.SendEmptyVehicleTask;
import org.nl.wms.util.CommonUtils; import org.nl.wms.util.CommonUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.concurrent.locks.Lock;
/** /**
* @author 张江玮 * @author 张江玮
* @date 2022/11/04 18:25 * @date 2022/11/04 18:25
@ -60,7 +62,7 @@ public class PdaServiceImpl implements PdaService {
for (int i = 0; i < points.size(); i++) { for (int i = 0; i < points.size(); i++) {
JSONObject point = points.getJSONObject(i); JSONObject point = points.getJSONObject(i);
if (StrUtil.equals(point.getString("lock_type"), LockType.TASK_LOCKED.getCode())) { if (StrUtil.equals(point.getString("lock_type"), LockType.TASK_LOCKED.getCode())) {
point.put("status", "3"); point.put("status", "2");
} }
} }
// for (Object o : points) { // for (Object o : points) {
@ -78,7 +80,7 @@ public class PdaServiceImpl implements PdaService {
JSONObject point = WQLObject JSONObject point = WQLObject
.getWQLObject("sch_base_point") .getWQLObject("sch_base_point")
.query("point_id = '" + pointId + "'") .query("point_id = " + pointId)
.uniqueResult(0); .uniqueResult(0);
if (StrUtil.equals(point.getString("point_status"), PointStatus.HAS_VEHICLE.getCode())) { if (StrUtil.equals(point.getString("point_status"), PointStatus.HAS_VEHICLE.getCode())) {
@ -93,7 +95,6 @@ public class PdaServiceImpl implements PdaService {
.getResultJSONArray(0); .getResultJSONArray(0);
result.put("detail", detail); result.put("detail", detail);
} else { } else {
String vehicleCode = point.getString("vehicle_code");
result.put("vehicle_code", ""); result.put("vehicle_code", "");
result.put("detail", new JSONArray()); result.put("detail", new JSONArray());
} }
@ -318,10 +319,13 @@ public class PdaServiceImpl implements PdaService {
if (ObjectUtil.isEmpty(point)) { if (ObjectUtil.isEmpty(point)) {
throw new BadRequestException("该点位不存在"); throw new BadRequestException("该点位不存在");
} }
if (StrUtil.equals(point.getString("lock_type"), LockType.TASK_LOCKED.getCode())) {
throw new BadRequestException("该点位存在任务");
}
if (StrUtil.equals(point.getString("point_status"), PointStatus.HAS_VEHICLE.getCode())) { if (StrUtil.equals(point.getString("point_status"), PointStatus.HAS_VEHICLE.getCode())) {
throw new BadRequestException("该点位上有载具"); throw new BadRequestException("该点位上有载具");
} }
if (!StrUtil.equals(point.getString("region_id"), RegionEnum.JL.getCode())) { if (!StrUtil.equals(point.getString("region_id"), RegionEnum.JL.getId())) {
throw new BadRequestException("只有接料区可以呼叫空载具"); throw new BadRequestException("只有接料区可以呼叫空载具");
} }
@ -336,10 +340,13 @@ public class PdaServiceImpl implements PdaService {
if (ObjectUtil.isEmpty(point)) { if (ObjectUtil.isEmpty(point)) {
throw new BadRequestException("该点位不存在"); throw new BadRequestException("该点位不存在");
} }
if (StrUtil.equals(point.getString("lock_type"), LockType.TASK_LOCKED.getCode())) {
throw new BadRequestException("该点位存在任务");
}
if (StrUtil.equals(point.getString("point_status"), PointStatus.EMPTY.getCode())) { if (StrUtil.equals(point.getString("point_status"), PointStatus.EMPTY.getCode())) {
throw new BadRequestException("该点位为空位"); throw new BadRequestException("该点位为空位");
} }
if (StrUtil.equals(point.getString("region_id"), RegionEnum.ZC.getCode())) { if (StrUtil.equals(point.getString("region_id"), RegionEnum.ZC.getId())) {
throw new BadRequestException("暂存区不能生成入库任务"); throw new BadRequestException("暂存区不能生成入库任务");
} }
@ -354,10 +361,10 @@ public class PdaServiceImpl implements PdaService {
} }
if (StrUtil.equals(vehicle.getString("vehicle_status"), VehicleStatus.HAS_MATERIAL.getCode())) { if (StrUtil.equals(vehicle.getString("vehicle_status"), VehicleStatus.HAS_MATERIAL.getCode())) {
String regionId = point.getString("region_id"); String regionId = point.getString("region_id");
if (StrUtil.equals(regionId, RegionEnum.JL.getCode())) { if (StrUtil.equals(regionId, RegionEnum.JL.getId())) {
sendFullVehicleTask.createTask(param); sendFullVehicleTask.createTask(param);
} }
if (StrUtil.equals(regionId, RegionEnum.JJ.getCode())) { if (StrUtil.equals(regionId, RegionEnum.JJ.getId())) {
sendResiduesMaterialTask.createTask(param); sendResiduesMaterialTask.createTask(param);
} }
} }
@ -370,6 +377,9 @@ public class PdaServiceImpl implements PdaService {
if (ObjectUtil.isEmpty(startPoint)) { if (ObjectUtil.isEmpty(startPoint)) {
throw new BadRequestException("起点不存在"); throw new BadRequestException("起点不存在");
} }
if (StrUtil.equals(startPoint.getString("lock_type"), LockType.TASK_LOCKED.getCode())) {
throw new BadRequestException("起点存在任务");
}
if (StrUtil.equals(startPoint.getString("point_status"), PointStatus.EMPTY.getCode())) { if (StrUtil.equals(startPoint.getString("point_status"), PointStatus.EMPTY.getCode())) {
throw new BadRequestException("起点为空位"); throw new BadRequestException("起点为空位");
} }
@ -389,10 +399,13 @@ public class PdaServiceImpl implements PdaService {
if (ObjectUtil.isEmpty(nextPoint)) { if (ObjectUtil.isEmpty(nextPoint)) {
throw new BadRequestException("终点不存在"); throw new BadRequestException("终点不存在");
} }
if (StrUtil.equals(nextPoint.getString("lock_type"), LockType.TASK_LOCKED.getCode())) {
throw new BadRequestException("终点存在任务");
}
if (StrUtil.equals(nextPoint.getString("point_status"), PointStatus.HAS_VEHICLE.getCode())) { if (StrUtil.equals(nextPoint.getString("point_status"), PointStatus.HAS_VEHICLE.getCode())) {
throw new BadRequestException("终点有载具"); throw new BadRequestException("终点有载具");
} }
if (StrUtil.equals(nextPoint.getString("region_id"), RegionEnum.JJ.getCode())) { if (StrUtil.equals(nextPoint.getString("region_id"), RegionEnum.JJ.getId())) {
throw new BadRequestException("只有终点为交接区才能生成出库任务"); throw new BadRequestException("只有终点为交接区才能生成出库任务");
} }

4
lms/nladmin-system/src/main/java/org/nl/wms/sch/base/point/PointStatus.java

@ -11,8 +11,8 @@ import lombok.Getter;
@Getter @Getter
public enum PointStatus { public enum PointStatus {
EMPTY("1", "空位"), EMPTY("0", "空位"),
HAS_VEHICLE("2", "有载具"); HAS_VEHICLE("1", "有载具");
private final String code; private final String code;

64
lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java

@ -1,10 +1,15 @@
package org.nl.wms.sch.manage; package org.nl.wms.sch.manage;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.sch.AcsUtils; import org.nl.wms.sch.AcsUtils;
import org.nl.wms.sch.task.TaskStatus;
import org.nl.wms.sch.task.dto.AcsTaskDTO; import org.nl.wms.sch.task.dto.AcsTaskDTO;
import java.util.List; import java.util.List;
@ -107,15 +112,60 @@ public abstract class AbstractAcsTask {
/** /**
* *
*/ */
public JSONObject immediateNotifyAcs() { public JSONObject immediateNotifyAcs(String taskId) {
List<AcsTaskDTO> taskList = this.schedule(); WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
if (ObjectUtil.isNotEmpty(taskList)) { JSONArray tasks = taskTable
.query("task_id = " + taskId)
JSONArray arr = JSONArray.parseArray(JSON.toJSONString(taskList)); .getResultJSONArray(0);
return AcsUtils.notifyAcs("api/wms/task", arr);
if (ObjectUtil.isNotEmpty(tasks)) {
String taskStatus = ((JSONObject) tasks.get(0)).getString("task_status");
if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode())) {
throw new BadRequestException("只能下发已确认起点和终点的任务");
}
JSONObject result = AcsUtils.notifyAcs("api/wms/task", tasks);
String status = result.getString("status");
String message = result.getString("message");
//发送失败的任务JSON集合:task_id,message
JSONArray errArr = result.getJSONArray("errArr");
//任务下发以后,更新任务状态
//成功
if ("200".equals(status)) {
tasks.forEach(item -> {
JSONObject taskObj = new JSONObject();
taskObj.put("task_id", ((JSONObject) item).getString("task_id"));
taskObj.put("task_status", TaskStatusEnum.ISSUE.getCode());
taskObj.put("remark", "下发成功");
taskObj.put("update_time", DateUtil.now());
taskTable.update(taskObj);
});
} else {//下发失败
tasks.forEach(item -> {
JSONObject taskObj = new JSONObject();
taskObj.put("task_id", ((JSONObject) item).getString("task_id"));
// taskObj.put("task_status", TaskStatusEnum.ISSUE.getCode());
taskObj.put("remark", "下发失败:" + message);
taskObj.put("update_time", DateUtil.now());
taskTable.update(taskObj);
});
}
//处理下发错误的任务
if (ObjectUtil.isNotEmpty(errArr)) {
//处理下发失败的任务
for (int i = 0; i < errArr.size(); i++) {
JSONObject taskObj = errArr.getJSONObject(i);
taskObj.put("remark", "下发失败:"+taskObj.getString("message"));
taskObj.put("update_time", DateUtil.now());
taskTable.update(taskObj);
}
}
return result;
} }
return null; return null;
} }
/** /**

2
lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoCreateTask.java

@ -31,7 +31,7 @@ public class AutoCreateTask {
@SneakyThrows @SneakyThrows
public void run() { public void run() {
if (ObjectUtil.isNull(subTypes) || subTypes.isEmpty()) { if (ObjectUtil.isNull(subTypes) || subTypes.isEmpty()) {
Reflections reflections = new Reflections("org.nl.wms.sch.tasks"); Reflections reflections = new Reflections("org.nl.wms.sch.task");
subTypes = reflections.getSubTypesOf(AbstractAcsTask.class); subTypes = reflections.getSubTypesOf(AbstractAcsTask.class);
} }
if (ObjectUtil.isNull(taskTab)) taskTab = WQLObject.getWQLObject("sch_base_task"); if (ObjectUtil.isNull(taskTab)) taskTab = WQLObject.getWQLObject("sch_base_task");

59
lms/nladmin-system/src/main/java/org/nl/wms/sch/task/CallEmptyVehicleTask.java

@ -20,7 +20,6 @@ import org.nl.wms.util.CommonUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -57,7 +56,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
String taskCode = taskJSON.getString("task_code"); String taskCode = taskJSON.getString("task_code");
JSONObject task = taskTable JSONObject task = taskTable
.query("task_code = " + taskCode) .query("task_code = '" + taskCode + "'")
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) { if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("未找到任务号为" + taskCode + "的任务"); throw new BadRequestException("未找到任务号为" + taskCode + "的任务");
@ -126,6 +125,10 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
.getWQLObject("sch_base_task") .getWQLObject("sch_base_task")
.query("task_id = " + taskId) .query("task_id = " + taskId)
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("该任务不存在");
}
this.finishTask(task, TaskFinishedType.MANUAL); this.finishTask(task, TaskFinishedType.MANUAL);
} }
@ -141,22 +144,35 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
JSONObject task = taskTable JSONObject task = taskTable
.query("task_id = " + taskId) .query("task_id = " + taskId)
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("该任务不存在");
}
if (StrUtil.equals(task.getString("task_status"), TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("已完成的任务不能取消");
}
taskTable.delete(task); taskTable.delete(task);
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
JSONObject startPoint = pointTable String startPointCode = task.getString("point_code1");
.query("task_code = " + task.getString("point_code1")) if (StrUtil.isNotEmpty(startPointCode)) {
.uniqueResult(0); JSONObject startPoint = pointTable
JSONObject nextPoint = pointTable .query("point_code = '" + startPointCode + "'")
.query("task_code = " + task.getString("point_code2")) .uniqueResult(0);
.uniqueResult(0); startPoint.put("lock_type", LockType.UNLOCKED.getCode());
CommonUtils.addAdminUpdateColum(startPoint);
pointTable.update(startPoint);
}
startPoint.put("lock_type", LockType.UNLOCKED.getCode()); String nextPointCode = task.getString("point_code2");
CommonUtils.addAdminUpdateColum(startPoint); if (StrUtil.isNotEmpty(nextPointCode)) {
pointTable.update(startPoint); JSONObject nextPoint = pointTable
nextPoint.put("lock_type", LockType.UNLOCKED.getCode()); .query("point_code = '" + nextPointCode + "'")
CommonUtils.addAdminUpdateColum(nextPoint); .uniqueResult(0);
pointTable.update(nextPoint); nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
CommonUtils.addAdminUpdateColum(nextPoint);
pointTable.update(nextPoint);
}
} }
/** /**
@ -167,7 +183,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
public void findStartPoint() { public void findStartPoint() {
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
JSONArray tasks = taskTable JSONArray tasks = taskTable
.query("task_status = " + TaskStatus.SURE_END.getCode() + " AND handle_class = " + THIS_CLASS_NAME) .query("task_status = " + TaskStatus.SURE_END.getCode() + " AND handle_class = '" + THIS_CLASS_NAME + "'")
.getResultJSONArray(0); .getResultJSONArray(0);
for (Object o : tasks) { for (Object o : tasks) {
@ -195,6 +211,15 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) { public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) {
String taskStatus = task.getString("task_status");
if (StrUtil.equals(taskStatus, TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("该任务已完成");
}
if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode())
&& !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) {
throw new BadRequestException("只有已确认起点和终点的任务可以手动完成");
}
task.put("finished_type", taskFinishedType.getCode()); task.put("finished_type", taskFinishedType.getCode());
task.put("task_status", TaskStatus.FINISHED.getCode()); task.put("task_status", TaskStatus.FINISHED.getCode());
CommonUtils.addAdminUpdateColum(task); CommonUtils.addAdminUpdateColum(task);
@ -202,10 +227,10 @@ public class CallEmptyVehicleTask extends AbstractAcsTask {
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
JSONObject startPoint = pointTable JSONObject startPoint = pointTable
.query("task_code = " + task.getString("point_code1")) .query("point_code = '" + task.getString("point_code1") + "'")
.uniqueResult(0); .uniqueResult(0);
JSONObject nextPoint = pointTable JSONObject nextPoint = pointTable
.query("task_code = " + task.getString("point_code2")) .query("point_code = '" + task.getString("point_code2") + "'")
.uniqueResult(0); .uniqueResult(0);
nextPoint.put("point_status", PointStatus.HAS_VEHICLE.getCode()); nextPoint.put("point_status", PointStatus.HAS_VEHICLE.getCode());

58
lms/nladmin-system/src/main/java/org/nl/wms/sch/task/CallMaterialTask.java

@ -57,7 +57,7 @@ public class CallMaterialTask extends AbstractAcsTask {
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
String taskCode = taskJSON.getString("task_code"); String taskCode = taskJSON.getString("task_code");
JSONObject task = taskTable JSONObject task = taskTable
.query("task_code = " + taskCode) .query("task_code = '" + taskCode + "'")
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) { if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("未找到任务号为" + taskCode + "的任务"); throw new BadRequestException("未找到任务号为" + taskCode + "的任务");
@ -137,6 +137,10 @@ public class CallMaterialTask extends AbstractAcsTask {
.getWQLObject("sch_base_task") .getWQLObject("sch_base_task")
.query("task_id = " + taskId) .query("task_id = " + taskId)
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("该任务不存在");
}
this.finishTask(task, TaskFinishedType.MANUAL); this.finishTask(task, TaskFinishedType.MANUAL);
} }
@ -151,26 +155,48 @@ public class CallMaterialTask extends AbstractAcsTask {
JSONObject task = taskTable JSONObject task = taskTable
.query("task_id = " + taskId) .query("task_id = " + taskId)
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("该任务不存在");
}
if (StrUtil.equals(task.getString("task_status"), TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("已完成的任务不能取消");
}
taskTable.delete(task); taskTable.delete(task);
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
JSONObject startPoint = pointTable String startPointCode = task.getString("point_code1");
.query("task_code = " + task.getString("point_code1")) if (StrUtil.isNotEmpty(startPointCode)) {
.uniqueResult(0); JSONObject startPoint = pointTable
JSONObject nextPoint = pointTable .query("point_code = '" + startPointCode + "'")
.query("task_code = " + task.getString("point_code2")) .uniqueResult(0);
.uniqueResult(0); startPoint.put("lock_type", LockType.UNLOCKED.getCode());
CommonUtils.addAdminUpdateColum(startPoint);
pointTable.update(startPoint);
}
startPoint.put("lock_type", LockType.UNLOCKED.getCode()); String nextPointCode = task.getString("point_code2");
CommonUtils.addAdminUpdateColum(startPoint); if (StrUtil.isNotEmpty(nextPointCode)) {
pointTable.update(startPoint); JSONObject nextPoint = pointTable
nextPoint.put("lock_type", LockType.UNLOCKED.getCode()); .query("point_code = '" + nextPointCode + "'")
CommonUtils.addAdminUpdateColum(nextPoint); .uniqueResult(0);
pointTable.update(nextPoint); nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
CommonUtils.addAdminUpdateColum(nextPoint);
pointTable.update(nextPoint);
}
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) { public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) {
String taskStatus = task.getString("task_status");
if (StrUtil.equals(taskStatus, TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("该任务已完成");
}
if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode())
&& !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) {
throw new BadRequestException("只有已确认起点和终点的任务可以手动完成");
}
task.put("finished_type", taskFinishedType.getCode()); task.put("finished_type", taskFinishedType.getCode());
task.put("task_status", TaskStatus.FINISHED.getCode()); task.put("task_status", TaskStatus.FINISHED.getCode());
CommonUtils.addAdminUpdateColum(task); CommonUtils.addAdminUpdateColum(task);
@ -178,16 +204,16 @@ public class CallMaterialTask extends AbstractAcsTask {
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
JSONObject startPoint = pointTable JSONObject startPoint = pointTable
.query("task_code = " + task.getString("point_code1")) .query("point_code = '" + task.getString("point_code1") + "'")
.uniqueResult(0); .uniqueResult(0);
JSONObject nextPoint = pointTable JSONObject nextPoint = pointTable
.query("task_code = " + task.getString("point_code2")) .query("point_code = '" + task.getString("point_code2") + "'")
.uniqueResult(0); .uniqueResult(0);
if (StrUtil.equals(startPoint.getString("point_type"), PointType.STORAGE_LOCATION.getCode())) { if (StrUtil.equals(startPoint.getString("point_type"), PointType.STORAGE_LOCATION.getCode())) {
JSONObject vehicle = WQLObject JSONObject vehicle = WQLObject
.getWQLObject("md_pb_vehicle") .getWQLObject("md_pb_vehicle")
.query("vehicle_code = " + startPoint.getString("vehicle_code")) .query("vehicle_code = '" + startPoint.getString("vehicle_code") + "'")
.uniqueResult(0); .uniqueResult(0);
WQLObject.getWQLObject("st_ivt_structivt").delete("vehicle_id = " + vehicle.getString("vehicle_id")); WQLObject.getWQLObject("st_ivt_structivt").delete("vehicle_id = " + vehicle.getString("vehicle_id"));

62
lms/nladmin-system/src/main/java/org/nl/wms/sch/task/wql/SendEmptyVehicleTask.java → lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendEmptyVehicleTask.java

@ -1,4 +1,4 @@
package org.nl.wms.sch.task.wql; package org.nl.wms.sch.task;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
@ -13,9 +13,7 @@ import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.sch.base.point.LockType; import org.nl.wms.sch.base.point.LockType;
import org.nl.wms.sch.base.point.PointStatus; import org.nl.wms.sch.base.point.PointStatus;
import org.nl.wms.sch.base.point.PointType;
import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.task.*;
import org.nl.wms.sch.task.dto.AcsTaskDTO; import org.nl.wms.sch.task.dto.AcsTaskDTO;
import org.nl.wms.sch.task.util.TaskUtils; import org.nl.wms.sch.task.util.TaskUtils;
import org.nl.wms.util.CommonUtils; import org.nl.wms.util.CommonUtils;
@ -60,7 +58,7 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
String taskCode = taskJSON.getString("task_code"); String taskCode = taskJSON.getString("task_code");
JSONObject task = taskTable JSONObject task = taskTable
.query("task_code = " + taskCode) .query("task_code = '" + taskCode + "'")
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) { if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("未找到任务号为" + taskCode + "的任务"); throw new BadRequestException("未找到任务号为" + taskCode + "的任务");
@ -130,6 +128,10 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
.getWQLObject("sch_base_task") .getWQLObject("sch_base_task")
.query("task_id = " + taskId) .query("task_id = " + taskId)
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("该任务不存在");
}
this.finishTask(task, TaskFinishedType.MANUAL); this.finishTask(task, TaskFinishedType.MANUAL);
} }
@ -145,22 +147,35 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
JSONObject task = taskTable JSONObject task = taskTable
.query("task_id = " + taskId) .query("task_id = " + taskId)
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("该任务不存在");
}
if (StrUtil.equals(task.getString("task_status"), TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("已完成的任务不能取消");
}
taskTable.delete(task); taskTable.delete(task);
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
JSONObject startPoint = pointTable String startPointCode = task.getString("point_code1");
.query("task_code = " + task.getString("point_code1")) if (StrUtil.isNotEmpty(startPointCode)) {
.uniqueResult(0); JSONObject startPoint = pointTable
JSONObject nextPoint = pointTable .query("point_code = '" + startPointCode + "'")
.query("task_code = " + task.getString("point_code2")) .uniqueResult(0);
.uniqueResult(0); startPoint.put("lock_type", LockType.UNLOCKED.getCode());
CommonUtils.addAdminUpdateColum(startPoint);
pointTable.update(startPoint);
}
startPoint.put("lock_type", LockType.UNLOCKED.getCode()); String nextPointCode = task.getString("point_code2");
CommonUtils.addAdminUpdateColum(startPoint); if (StrUtil.isNotEmpty(nextPointCode)) {
pointTable.update(startPoint); JSONObject nextPoint = pointTable
nextPoint.put("lock_type", LockType.UNLOCKED.getCode()); .query("point_code = '" + nextPointCode + "'")
CommonUtils.addAdminUpdateColum(nextPoint); .uniqueResult(0);
pointTable.update(nextPoint); nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
CommonUtils.addAdminUpdateColum(nextPoint);
pointTable.update(nextPoint);
}
} }
/** /**
@ -174,7 +189,7 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
public void findNextPoint() { public void findNextPoint() {
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
JSONArray tasks = taskTable JSONArray tasks = taskTable
.query("task_status = " + TaskStatus.SURE_START.getCode() + " AND handle_class = " + THIS_CLASS_NAME) .query("task_status = " + TaskStatus.SURE_START.getCode() + " AND handle_class = '" + THIS_CLASS_NAME + "'")
.getResultJSONArray(0); .getResultJSONArray(0);
for (Object o : tasks) { for (Object o : tasks) {
@ -201,6 +216,15 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) { public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) {
String taskStatus = task.getString("task_status");
if (StrUtil.equals(taskStatus, TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("该任务已完成");
}
if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode())
&& !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) {
throw new BadRequestException("只有已确认起点和终点的任务可以手动完成");
}
task.put("finished_type", taskFinishedType.getCode()); task.put("finished_type", taskFinishedType.getCode());
task.put("task_status", TaskStatus.FINISHED.getCode()); task.put("task_status", TaskStatus.FINISHED.getCode());
CommonUtils.addAdminUpdateColum(task); CommonUtils.addAdminUpdateColum(task);
@ -208,10 +232,10 @@ public class SendEmptyVehicleTask extends AbstractAcsTask {
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
JSONObject startPoint = pointTable JSONObject startPoint = pointTable
.query("task_code = " + task.getString("point_code1")) .query("point_code = '" + task.getString("point_code1") + "'")
.uniqueResult(0); .uniqueResult(0);
JSONObject nextPoint = pointTable JSONObject nextPoint = pointTable
.query("task_code = " + task.getString("point_code2")) .query("point_code = '" + task.getString("point_code2") + "'")
.uniqueResult(0); .uniqueResult(0);
nextPoint.put("point_status", PointStatus.HAS_VEHICLE.getCode()); nextPoint.put("point_status", PointStatus.HAS_VEHICLE.getCode());

60
lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendFullVehicleTask.java

@ -59,7 +59,7 @@ public class SendFullVehicleTask extends AbstractAcsTask {
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
String taskCode = taskJSON.getString("task_code"); String taskCode = taskJSON.getString("task_code");
JSONObject task = taskTable JSONObject task = taskTable
.query("task_code = " + taskCode) .query("task_code = '" + taskCode + "'")
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) { if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("未找到任务号为" + taskCode + "的任务"); throw new BadRequestException("未找到任务号为" + taskCode + "的任务");
@ -129,6 +129,10 @@ public class SendFullVehicleTask extends AbstractAcsTask {
.getWQLObject("sch_base_task") .getWQLObject("sch_base_task")
.query("task_id = " + taskId) .query("task_id = " + taskId)
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("该任务不存在");
}
this.finishTask(task, TaskFinishedType.MANUAL); this.finishTask(task, TaskFinishedType.MANUAL);
} }
@ -144,22 +148,35 @@ public class SendFullVehicleTask extends AbstractAcsTask {
JSONObject task = taskTable JSONObject task = taskTable
.query("task_id = " + taskId) .query("task_id = " + taskId)
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("该任务不存在");
}
if (StrUtil.equals(task.getString("task_status"), TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("已完成的任务不能取消");
}
taskTable.delete(task); taskTable.delete(task);
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
JSONObject startPoint = pointTable String startPointCode = task.getString("point_code1");
.query("task_code = " + task.getString("point_code1")) if (StrUtil.isNotEmpty(startPointCode)) {
.uniqueResult(0); JSONObject startPoint = pointTable
JSONObject nextPoint = pointTable .query("point_code = '" + startPointCode + "'")
.query("task_code = " + task.getString("point_code2")) .uniqueResult(0);
.uniqueResult(0); startPoint.put("lock_type", LockType.UNLOCKED.getCode());
CommonUtils.addAdminUpdateColum(startPoint);
pointTable.update(startPoint);
}
startPoint.put("lock_type", LockType.UNLOCKED.getCode()); String nextPointCode = task.getString("point_code2");
CommonUtils.addAdminUpdateColum(startPoint); if (StrUtil.isNotEmpty(nextPointCode)) {
pointTable.update(startPoint); JSONObject nextPoint = pointTable
nextPoint.put("lock_type", LockType.UNLOCKED.getCode()); .query("point_code = '" + nextPointCode + "'")
CommonUtils.addAdminUpdateColum(nextPoint); .uniqueResult(0);
pointTable.update(nextPoint); nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
CommonUtils.addAdminUpdateColum(nextPoint);
pointTable.update(nextPoint);
}
} }
/** /**
@ -173,7 +190,7 @@ public class SendFullVehicleTask extends AbstractAcsTask {
public void findNextPoint() { public void findNextPoint() {
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
JSONArray tasks = taskTable JSONArray tasks = taskTable
.query("task_status = " + TaskStatus.SURE_START.getCode() + " AND handle_class = " + THIS_CLASS_NAME) .query("task_status = " + TaskStatus.SURE_START.getCode() + " AND handle_class = '" + THIS_CLASS_NAME + "'")
.getResultJSONArray(0); .getResultJSONArray(0);
for (Object o : tasks) { for (Object o : tasks) {
@ -200,6 +217,15 @@ public class SendFullVehicleTask extends AbstractAcsTask {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) { public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) {
String taskStatus = task.getString("task_status");
if (StrUtil.equals(taskStatus, TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("该任务已完成");
}
if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode())
&& !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) {
throw new BadRequestException("只有已确认起点和终点的任务可以手动完成");
}
task.put("finished_type", taskFinishedType.getCode()); task.put("finished_type", taskFinishedType.getCode());
task.put("task_status", TaskStatus.FINISHED.getCode()); task.put("task_status", TaskStatus.FINISHED.getCode());
CommonUtils.addAdminUpdateColum(task); CommonUtils.addAdminUpdateColum(task);
@ -207,17 +233,17 @@ public class SendFullVehicleTask extends AbstractAcsTask {
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
JSONObject startPoint = pointTable JSONObject startPoint = pointTable
.query("task_code = " + task.getString("point_code1")) .query("point_code = '" + task.getString("point_code1") + "'")
.uniqueResult(0); .uniqueResult(0);
JSONObject nextPoint = pointTable JSONObject nextPoint = pointTable
.query("task_code = " + task.getString("point_code2")) .query("point_code = '" + task.getString("point_code2") + "'")
.uniqueResult(0); .uniqueResult(0);
if (StrUtil.equals(nextPoint.getString("point_type"), PointType.STORAGE_LOCATION.getCode())) { if (StrUtil.equals(nextPoint.getString("point_type"), PointType.STORAGE_LOCATION.getCode())) {
JSONObject vehicle = WQLObject JSONObject vehicle = WQLObject
.getWQLObject("md_pb_vehicle") .getWQLObject("md_pb_vehicle")
.query("vehicle_code = " + startPoint.getString("vehicle_code")) .query("vehicle_code = '" + startPoint.getString("vehicle_code") + "'")
.uniqueResult(0); .uniqueResult(0);
JSONObject vm = WQLObject JSONObject vm = WQLObject

60
lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendResiduesMaterialTask.java

@ -59,7 +59,7 @@ public class SendResiduesMaterialTask extends AbstractAcsTask {
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
String taskCode = taskJSON.getString("task_code"); String taskCode = taskJSON.getString("task_code");
JSONObject task = taskTable JSONObject task = taskTable
.query("task_code = " + taskCode) .query("task_code = '" + taskCode + "'")
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) { if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("未找到任务号为" + taskCode + "的任务"); throw new BadRequestException("未找到任务号为" + taskCode + "的任务");
@ -129,6 +129,10 @@ public class SendResiduesMaterialTask extends AbstractAcsTask {
.getWQLObject("sch_base_task") .getWQLObject("sch_base_task")
.query("task_id = " + taskId) .query("task_id = " + taskId)
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("该任务不存在");
}
this.finishTask(task, TaskFinishedType.MANUAL); this.finishTask(task, TaskFinishedType.MANUAL);
} }
@ -144,22 +148,35 @@ public class SendResiduesMaterialTask extends AbstractAcsTask {
JSONObject task = taskTable JSONObject task = taskTable
.query("task_id = " + taskId) .query("task_id = " + taskId)
.uniqueResult(0); .uniqueResult(0);
if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("该任务不存在");
}
if (StrUtil.equals(task.getString("task_status"), TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("已完成的任务不能取消");
}
taskTable.delete(task); taskTable.delete(task);
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
JSONObject startPoint = pointTable String startPointCode = task.getString("point_code1");
.query("task_code = " + task.getString("point_code1")) if (StrUtil.isNotEmpty(startPointCode)) {
.uniqueResult(0); JSONObject startPoint = pointTable
JSONObject nextPoint = pointTable .query("point_code = '" + startPointCode + "'")
.query("task_code = " + task.getString("point_code2")) .uniqueResult(0);
.uniqueResult(0); startPoint.put("lock_type", LockType.UNLOCKED.getCode());
CommonUtils.addAdminUpdateColum(startPoint);
pointTable.update(startPoint);
}
startPoint.put("lock_type", LockType.UNLOCKED.getCode()); String nextPointCode = task.getString("point_code2");
CommonUtils.addAdminUpdateColum(startPoint); if (StrUtil.isNotEmpty(nextPointCode)) {
pointTable.update(startPoint); JSONObject nextPoint = pointTable
nextPoint.put("lock_type", LockType.UNLOCKED.getCode()); .query("point_code = '" + nextPointCode + "'")
CommonUtils.addAdminUpdateColum(nextPoint); .uniqueResult(0);
pointTable.update(nextPoint); nextPoint.put("lock_type", LockType.UNLOCKED.getCode());
CommonUtils.addAdminUpdateColum(nextPoint);
pointTable.update(nextPoint);
}
} }
/** /**
@ -173,7 +190,7 @@ public class SendResiduesMaterialTask extends AbstractAcsTask {
public void findNextPoint() { public void findNextPoint() {
WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); WQLObject taskTable = WQLObject.getWQLObject("sch_base_task");
JSONArray tasks = taskTable JSONArray tasks = taskTable
.query("task_status = " + TaskStatus.SURE_START.getCode() + " AND handle_class = " + THIS_CLASS_NAME) .query("task_status = " + TaskStatus.SURE_START.getCode() + " AND handle_class = '" + THIS_CLASS_NAME + "'")
.getResultJSONArray(0); .getResultJSONArray(0);
for (Object o : tasks) { for (Object o : tasks) {
@ -200,6 +217,15 @@ public class SendResiduesMaterialTask extends AbstractAcsTask {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) { public void finishTask(JSONObject task, TaskFinishedType taskFinishedType) {
String taskStatus = task.getString("task_status");
if (StrUtil.equals(taskStatus, TaskStatus.FINISHED.getCode())) {
throw new BadRequestException("该任务已完成");
}
if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode())
&& !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) {
throw new BadRequestException("只有已确认起点和终点的任务可以手动完成");
}
task.put("finished_type", taskFinishedType.getCode()); task.put("finished_type", taskFinishedType.getCode());
task.put("task_status", TaskStatus.FINISHED.getCode()); task.put("task_status", TaskStatus.FINISHED.getCode());
CommonUtils.addAdminUpdateColum(task); CommonUtils.addAdminUpdateColum(task);
@ -207,17 +233,17 @@ public class SendResiduesMaterialTask extends AbstractAcsTask {
WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); WQLObject pointTable = WQLObject.getWQLObject("sch_base_point");
JSONObject startPoint = pointTable JSONObject startPoint = pointTable
.query("task_code = " + task.getString("point_code1")) .query("point_code = '" + task.getString("point_code1") + "'")
.uniqueResult(0); .uniqueResult(0);
JSONObject nextPoint = pointTable JSONObject nextPoint = pointTable
.query("task_code = " + task.getString("point_code2")) .query("point_code = '" + task.getString("point_code2") + "'")
.uniqueResult(0); .uniqueResult(0);
if (StrUtil.equals(nextPoint.getString("point_type"), PointType.STORAGE_LOCATION.getCode())) { if (StrUtil.equals(nextPoint.getString("point_type"), PointType.STORAGE_LOCATION.getCode())) {
JSONObject vehicle = WQLObject JSONObject vehicle = WQLObject
.getWQLObject("md_pb_vehicle") .getWQLObject("md_pb_vehicle")
.query("vehicle_code = " + startPoint.getString("vehicle_code")) .query("vehicle_code = '" + startPoint.getString("vehicle_code") + "'")
.uniqueResult(0); .uniqueResult(0);
JSONObject vm = WQLObject JSONObject vm = WQLObject

2
lms/nladmin-system/src/main/java/org/nl/wms/sch/task/util/TaskUtils.java

@ -27,7 +27,7 @@ public class TaskUtils {
public static List<AcsTaskDTO> addTask(String handleClassName) { public static List<AcsTaskDTO> addTask(String handleClassName) {
JSONArray tasks = WQLObject JSONArray tasks = WQLObject
.getWQLObject("sch_base_task") .getWQLObject("sch_base_task")
.query("task_status = " + TaskStatus.START_AND_END.getCode() + " AND handle_class = " + handleClassName) .query("task_status = " + TaskStatus.START_AND_END.getCode() + " AND handle_class = '" + handleClassName + "'")
.getResultJSONArray(0); .getResultJSONArray(0);
ArrayList<AcsTaskDTO> acsTasks = new ArrayList<>(); ArrayList<AcsTaskDTO> acsTasks = new ArrayList<>();

6
lms/nladmin-system/src/main/java/org/nl/wms/sch/task/wql/TASK.wql

@ -50,13 +50,13 @@
point.is_used = '1' point.is_used = '1'
AND point.lock_type = '1' AND point.lock_type = '1'
AND point.region_id = 1585921595338264576 AND point.region_id = 1585921595338264576
AND point.point_status = '2' AND point.point_status = '1'
AND vehicle.vehicle_status = '1' AND vehicle.vehicle_status = '1'
ENDSELECT ENDSELECT
ENDQUERY ENDQUERY
ENDIF ENDIF
IF 输入.flag = "1" IF 输入.flag = "2"
QUERY QUERY
SELECT SELECT
point_id, point_id,
@ -67,7 +67,7 @@
is_used = '1' is_used = '1'
AND lock_type = '1' AND lock_type = '1'
AND region_id = 1585921595338264576 AND region_id = 1585921595338264576
AND point_status = '1' AND point_status = '0'
ENDSELECT ENDSELECT
ENDQUERY ENDQUERY
ENDIF ENDIF

6
lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/QSCH_TASK_01.wql

@ -51,8 +51,8 @@
PAGEQUERY PAGEQUERY
SELECT SELECT
task.*, task.*,
md.class_name task_type_name, md.class_name AS task_type_name,
dict.label task_status_name dict.label AS task_status_name
FROM FROM
sch_base_task task sch_base_task task
LEFT JOIN md_pb_classstandard md ON task.task_type = md.class_code LEFT JOIN md_pb_classstandard md ON task.task_type = md.class_code
@ -72,7 +72,7 @@
task.create_time <= 输入.end_time task.create_time <= 输入.end_time
ENDOPTION ENDOPTION
OPTION 输入.unFinish <> "" OPTION 输入.unFinish <> ""
task.task_status <> '07' task.task_status <> '7'
ENDOPTION ENDOPTION
OPTION 输入.task_status <> "" OPTION 输入.task_status <> ""
find_in_set( task.task_status, 输入.task_status) find_in_set( task.task_status, 输入.task_status)

BIN
lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/sch.xls

Binary file not shown.

12
lms/nladmin-system/src/main/java/org/nl/wms/st/structivt/wql/ST_IVT_STRUCTIVT.wql

@ -47,12 +47,12 @@
PAGEQUERY PAGEQUERY
SELECT SELECT
ivt.stockrecord_id, ivt.stockrecord_id,
region.region_name, ANY_VALUE( region.region_name ) AS region_name,
point.point_name, ANY_VALUE( point.point_name ) AS point_name,
vehicle.vehicle_id, ANY_VALUE( vehicle.vehicle_id ) AS vehicle_id,
vehicle.vehicle_code, ANY_VALUE( vehicle.vehicle_code ) AS vehicle_code,
SUM( vm.material_qty ) AS qty, SUM( vm.material_qty ) AS qty,
ivt.instorage_time ANY_VALUE( ivt.instorage_time ) AS instorage_time
FROM FROM
st_ivt_structivt ivt st_ivt_structivt ivt
LEFT JOIN sch_base_point point ON ivt.point_id = point.point_id LEFT JOIN sch_base_point point ON ivt.point_id = point.point_id
@ -77,7 +77,7 @@
ivt.instorage_time <= 输入.end_time ivt.instorage_time <= 输入.end_time
ENDOPTION ENDOPTION
GROUP BY GROUP BY
ivt.stockrecord_id ivt.stockrecord_id
ENDSELECT ENDSELECT
ENDPAGEQUERY ENDPAGEQUERY
ENDIF ENDIF

16
lms/nladmin-system/src/main/java/org/nl/wms/st/vm/wql/ST_IVT_VEHICLE_MATERIAL.wql

@ -42,22 +42,22 @@
IF 输入.flag = "1" IF 输入.flag = "1"
PAGEQUERY PAGEQUERY
SELECT SELECT
vm.vm_id,
vehicle.vehicle_id, vehicle.vehicle_id,
vehicle.vehicle_code, ANY_VALUE( vm.vm_id ) AS vm_id,
ANY_VALUE( vehicle.vehicle_code) AS vehicle_code,
SUM( vm.material_qty ) AS qty, SUM( vm.material_qty ) AS qty,
vm.create_name, ANY_VALUE( vm.create_name ) AS create_name,
vm.create_time ANY_VALUE( vm.create_time ) AS create_time
FROM FROM
st_ivt_vehicle_material vm md_pb_vehicle vehicle
LEFT JOIN md_pb_vehicle vehicle ON vm.vehicle_id = vehicle.vehicle_id LEFT JOIN st_ivt_vehicle_material vm ON vehicle.vehicle_id = vm.vehicle_id
WHERE WHERE
1 = 1 vehicle.vehicle_status = '2'
OPTION 输入.vehicle_code <> "" OPTION 输入.vehicle_code <> ""
vehicle.vehicle_code LIKE CONCAT( '%', 输入.vehicle_code, '%' ) vehicle.vehicle_code LIKE CONCAT( '%', 输入.vehicle_code, '%' )
ENDOPTION ENDOPTION
GROUP BY GROUP BY
vm.vehicle_id vehicle.vehicle_id
ENDSELECT ENDSELECT
ENDPAGEQUERY ENDPAGEQUERY
ENDIF ENDIF

BIN
lms/nladmin-system/src/main/java/org/nl/wms/wms.xls

Binary file not shown.

6
lms/nladmin-system/src/main/resources/config/application-prod.yml

@ -1,14 +1,14 @@
server: server:
port: 8010 port: 8011
#配置数据源 #配置数据源
spring: spring:
datasource: datasource:
druid: druid:
db-type: com.alibaba.druid.pool.DruidDataSource db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:ndxy3_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:nmd_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
username: ${DB_USER:root} username: ${DB_USER:root}
password: ${DB_PWD:P@ssw0rd} password: ${DB_PWD:123456}
# 初始连接数 # 初始连接数
initial-size: 5 initial-size: 5
# 最小连接数 # 最小连接数

34
lms/nladmin-ui/src/views/wms/sch/task/index.vue

@ -79,7 +79,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="任务状态"> <!-- <el-form-item label="任务状态">
<el-select <el-select
v-model="query.task_status" v-model="query.task_status"
multiple multiple
@ -96,8 +96,28 @@
:value="item.code" :value="item.code"
/> />
</el-select> </el-select>
</el-form-item> -->
<el-form-item label="任务状态">
<el-select
v-model="query.task_status"
style="width: 400px"
placeholder="任务状态"
class="filter-item"
clearable
>
<el-option
label="未完成"
value="-1"
/>
<el-option
v-for="item in dict.task_status"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item> </el-form-item>
<rrOperation /> <rrOperation :crud="crud" />
</el-form> </el-form>
</div> </div>
@ -116,14 +136,14 @@
<el-table-column v-if="false" prop="task_id" label="任务标识" min-width="150" show-overflow-tooltip /> <el-table-column v-if="false" prop="task_id" label="任务标识" min-width="150" show-overflow-tooltip />
<el-table-column v-if="false" prop="material_id" label="物料标识" min-width="150" show-overflow-tooltip /> <el-table-column v-if="false" prop="material_id" label="物料标识" min-width="150" show-overflow-tooltip />
<el-table-column prop="task_code" label="任务编码" min-width="100" show-overflow-tooltip /> <el-table-column prop="task_code" label="任务编码" min-width="100" show-overflow-tooltip />
<el-table-column prop="task_type" label="任务类型" /> <el-table-column v-if="false" prop="task_type" label="任务类型" />
<el-table-column v-if="false" prop="acs_task_type" label="acs任务类型" min-width="120" show-overflow-tooltip > <el-table-column v-if="false" prop="acs_task_type" label="acs任务类型" min-width="120" show-overflow-tooltip >
<template slot-scope="scope"> <template slot-scope="scope">
{{ dict.label.acs_task_type[scope.row.acs_task_type] }} {{ dict.label.acs_task_type[scope.row.acs_task_type] }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="false" prop="task_name" label="任务描述" min-width="120" show-overflow-tooltip /> <el-table-column v-if="false" prop="task_name" label="任务描述" min-width="120" show-overflow-tooltip />
<el-table-column v-if="false" prop="task_type_name" label="任务类型" min-width="120" show-overflow-tooltip /> <el-table-column prop="task_type_name" label="任务类型" min-width="120" show-overflow-tooltip />
<el-table-column v-if="false" prop="task_status" label="任务状态" /> <el-table-column v-if="false" prop="task_status" label="任务状态" />
<el-table-column prop="task_status_name" label="任务状态" width="95px" :formatter="formatTaskStatusName" /> <el-table-column prop="task_status_name" label="任务状态" width="95px" :formatter="formatTaskStatusName" />
<el-table-column v-if="false" prop="vehicle_type" label="载具类型" min-width="100" show-overflow-tooltip > <el-table-column v-if="false" prop="vehicle_type" label="载具类型" min-width="100" show-overflow-tooltip >
@ -205,7 +225,7 @@ import crudClassstandard from '@/api/wms/basedata/classstandard'
export default { export default {
name: 'Task', name: 'Task',
dicts: ['acs_task_type', 'vehicle_type'], dicts: ['acs_task_type', 'vehicle_type', 'task_status'],
components: { components: {
pagination, crudOperation, rrOperation, Treeselect, udOperation pagination, crudOperation, rrOperation, Treeselect, udOperation
}, },
@ -218,7 +238,7 @@ export default {
sort: 'task_id,desc', sort: 'task_id,desc',
crudMethod: { ...crudTask }, crudMethod: { ...crudTask },
query: { query: {
task_code: '', vehicle_code: '', start_point_code: '', next_point_code: '', task_type: '', finished_type: '', task_status: '' task_code: '', vehicle_code: '', start_point_code: '', next_point_code: '', task_type: '', finished_type: '', task_status: '-1'
}, },
optShow: { optShow: {
add: false, add: false,
@ -254,7 +274,7 @@ export default {
crudTask.getFinishType().then(data => { crudTask.getFinishType().then(data => {
this.finishTypeList = data this.finishTypeList = data
}) })
this.crud.query.task_status = ['-1'] // this.crud.query.task_status = ['-1']
this.crud.toQuery() this.crud.toQuery()
}, },
methods: { methods: {

4
lms/nladmin-ui/src/views/wms/st/ysa/index.vue

@ -7,10 +7,10 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane v-if="false" label="修改记录"> <el-tab-pane v-if="false" label="修改记录">
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="入库管理"> <el-tab-pane v-if="false" label="入库管理">
<ysq-in-region/> <ysq-in-region/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="出库管理"> <el-tab-pane v-if="false" label="出库管理">
<ysq-out-region/> <ysq-out-region/>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>

2
lms/nladmin-ui/src/views/wms/st/ysa/inventory.vue

@ -391,7 +391,7 @@ export default {
} }
}, },
created() { created() {
this.getPointStatusList('1557539288307077120') // this.getPointStatusList('1557539288307077120')
}, },
methods: { methods: {
// false // false

Loading…
Cancel
Save