opt:优化点位管理增加点位类型,分上料站点跟普通站点
add:增加WMS跟ACS交互接口
This commit is contained in:
@@ -1,11 +1,9 @@
|
||||
package org.nl.wms.ext_manage.service.impl;
|
||||
package org.nl.wms.ext_manage.api;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.wms.ext_manage.enums.EXTConstant;
|
||||
import org.nl.wms.ext_manage.service.WmsToAcsService;
|
||||
import org.nl.wms.ext_manage.service.util.AcsResponse;
|
||||
import org.nl.wms.ext_manage.util.AcsUtil;
|
||||
import org.nl.wms.sch_manage.service.core.AcsTaskDto;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
@@ -20,10 +18,9 @@ import java.util.List;
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class WmsToAcsServiceImpl implements WmsToAcsService {
|
||||
public class AcsApi {
|
||||
|
||||
@Override
|
||||
public AcsResponse renotifyAcs(List<AcsTaskDto> list) {
|
||||
public <T> ResponseEntity renotifyAcs(List<T> list) {
|
||||
return AcsUtil.notifyAcs(EXTConstant.SEND_TASK_ACS_API, list);
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,8 @@ public enum ResultAcsStatus {
|
||||
/**
|
||||
* 完成
|
||||
*/
|
||||
FINISHED("2", "完成", "完成");
|
||||
FINISHED("2", "完成", "完成"),
|
||||
CANCEL("3", "取消", "取消");
|
||||
|
||||
|
||||
ResultAcsStatus(String code, String name, String desc) {
|
||||
|
||||
@@ -2,7 +2,6 @@ package org.nl.wms.ext_manage.service;
|
||||
|
||||
|
||||
import org.nl.wms.ext_manage.service.util.AcsResponse;
|
||||
import org.nl.wms.sch_manage.service.core.AcsTaskDto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -21,5 +20,5 @@ public interface WmsToAcsService {
|
||||
* @param list 任务集合
|
||||
* @return AcsResponse
|
||||
*/
|
||||
AcsResponse renotifyAcs(List<AcsTaskDto> list);
|
||||
<T> AcsResponse renotifyAcs(List<T> list);
|
||||
}
|
||||
|
||||
@@ -62,13 +62,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
JSONArray errArr = new JSONArray();
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
JSONObject row = array.getJSONObject(i);
|
||||
String task_id = row.getString("task_id");
|
||||
RLock lock = redissonClient.getLock(task_id);
|
||||
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||
String task_code = row.getString("task_code");
|
||||
try {
|
||||
if (tryLock) {
|
||||
SchBaseTask taskObj = iSchBaseTaskService.getById(task_id);
|
||||
// acs反馈的任务类型
|
||||
SchBaseTask taskObj = iSchBaseTaskService.getByCode(task_code);
|
||||
String acs_task_status = row.getString("task_status");
|
||||
TaskStatus status;
|
||||
if (ResultAcsStatus.EXECUTING.getCode().equals(acs_task_status)) {
|
||||
@@ -79,20 +75,15 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
status = TaskStatus.FINISHED;
|
||||
iSchBaseTaskService.updateById(taskObj);
|
||||
} else {
|
||||
// 取消
|
||||
status = TaskStatus.CANCELED;
|
||||
}
|
||||
// 根据配置编码执行相关配置内的方法
|
||||
AbstractTask task = taskFactory.getTask(taskObj.getConfig_code());
|
||||
task.updateTaskStatus(taskObj.getTask_code(),status);
|
||||
|
||||
} else {
|
||||
throw new BadRequestException("任务标识为:" + task_id + "的任务正在操作中!");
|
||||
}
|
||||
} finally {
|
||||
if (tryLock) {
|
||||
lock.unlock();
|
||||
}
|
||||
catch (Exception ex){
|
||||
ex.getMessage();
|
||||
}
|
||||
}
|
||||
JSONObject result = new JSONObject();
|
||||
|
||||
@@ -2,16 +2,22 @@ package org.nl.wms.ext_manage.util;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.base.TableDataInfo;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.config.SpringContextHolder;
|
||||
import org.nl.wms.system_manage.enums.SysParamConstant;
|
||||
import org.nl.wms.system_manage.service.param.dao.Param;
|
||||
import org.nl.wms.system_manage.service.param.impl.SysParamServiceImpl;
|
||||
import org.nl.wms.ext_manage.service.util.AcsResponse;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSConstant;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* ACS工具类
|
||||
@@ -30,44 +36,46 @@ public class AcsUtil {
|
||||
* @param param 下发参数
|
||||
* @return AcsResponse
|
||||
*/
|
||||
public static <T> AcsResponse notifyAcs(String api, T param) {
|
||||
public static <T> ResponseEntity notifyAcs(String api, T param) {
|
||||
log.info("下发ACS任务的输入参数为:-------------------" + param.toString());
|
||||
// 返回参数
|
||||
AcsResponse resultAcs;
|
||||
// 系统参数类
|
||||
SysParamServiceImpl sysParamService = SpringContextHolder.getBean(SysParamServiceImpl.class);
|
||||
//判断是否连接ACS系统
|
||||
Param isConnectAcs = sysParamService.findByCode(SysParamConstant.IS_CONNECT_ACS);
|
||||
if (ObjectUtil.isEmpty(isConnectAcs)) {
|
||||
return AcsResponse.requestError("系统参数表中:" + SysParamConstant.IS_CONNECT_ACS + "不存在");
|
||||
throw new BadRequestException("系统参数表中:" + SysParamConstant.IS_CONNECT_ACS + "不存在");
|
||||
}
|
||||
if (isConnectAcs.getValue().equals(IOSConstant.IS_DELETE_NO)) {
|
||||
return AcsResponse.requestOkMessage("下发成功,未连接ACS系统!");
|
||||
return new ResponseEntity("sucess未连接ACS系统",HttpStatus.OK);
|
||||
}
|
||||
|
||||
//ACS地址
|
||||
Param acsUrlParam = sysParamService.findByCode(SysParamConstant.ACS_URL);
|
||||
if (ObjectUtil.isEmpty(acsUrlParam)) {
|
||||
return AcsResponse.requestError("系统参数表中:" + SysParamConstant.ACS_URL + "不存在");
|
||||
throw new BadRequestException("系统参数表中:" + SysParamConstant.ACS_URL + "不存在");
|
||||
}
|
||||
|
||||
String url = acsUrlParam.getValue() + api;
|
||||
try {
|
||||
String resultMsg = HttpRequest.post(url)
|
||||
final HttpResponse execute = HttpRequest.post(url)
|
||||
.body(String.valueOf(param))
|
||||
.execute().body();
|
||||
// 格式转换
|
||||
JSONObject result = JSONObject.parseObject(resultMsg);
|
||||
resultAcs = JSONObject.toJavaObject(result, AcsResponse.class);
|
||||
|
||||
log.info("下发ACS任务的输出参数为:-------------------" + resultMsg);
|
||||
.execute();
|
||||
if (execute.getStatus() == HttpStatus.OK.value()){
|
||||
JSONObject result = JSONObject.parseObject(execute.body());
|
||||
final Integer status = result.getInteger("status");
|
||||
if (Integer.valueOf(HttpStatus.OK.value()).equals(status)){
|
||||
return new ResponseEntity(HttpStatus.OK);
|
||||
}else {
|
||||
JSONObject errorMap = result.getJSONObject("data");
|
||||
return new ResponseEntity(errorMap,HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
}else {
|
||||
return new ResponseEntity("接口请求异常",HttpStatus.CONFLICT);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
//网络不通
|
||||
String msg = e.getMessage();
|
||||
log.error("连接失败:{}", msg);
|
||||
return AcsResponse.requestError("网络不通,操作失败!");
|
||||
return new ResponseEntity("通讯异常,"+e.getMessage(),HttpStatus.GATEWAY_TIMEOUT);
|
||||
}
|
||||
return resultAcs;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package org.nl.wms.pda_manage.sch_manage.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.http.HttpStatus;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@@ -23,6 +22,8 @@ import org.nl.wms.sch_manage.service.core.tasks.PdaPointTask;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSConstant;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -98,9 +99,9 @@ public class PdaSchTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
||||
);
|
||||
// 根据任务配置编码获取所属任务类抽象类
|
||||
AbstractTask task = taskFactory.getTask(taskDao.getConfig_code());
|
||||
AcsResponse acsResponse = task.sendTaskOne(taskDao.getTask_id());
|
||||
if (acsResponse.getCode() != HttpStatus.HTTP_OK) {
|
||||
throw new BadRequestException(acsResponse.getMessage());
|
||||
ResponseEntity acsResponse = task.sendTaskOne(taskDao.getTask_id());
|
||||
if (acsResponse.getStatusCode().equals(HttpStatus.OK)) {
|
||||
throw new BadRequestException(acsResponse.getBody().toString());
|
||||
}
|
||||
return PdaResponse.requestOk();
|
||||
}
|
||||
|
||||
@@ -2,13 +2,14 @@ package org.nl.wms.sch_manage.service.core;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.http.HttpStatus;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.wms.ext_manage.api.AcsApi;
|
||||
import org.nl.wms.ext_manage.service.WmsToAcsService;
|
||||
import org.nl.wms.ext_manage.service.util.AcsResponse;
|
||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||
@@ -16,10 +17,14 @@ import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSConstant;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -41,7 +46,7 @@ public abstract class AbstractTask {
|
||||
* wms调用acs接口服务
|
||||
*/
|
||||
@Autowired
|
||||
private WmsToAcsService wmsToAcsService;
|
||||
private AcsApi acsApi;
|
||||
|
||||
/**
|
||||
* 任务创建
|
||||
@@ -87,10 +92,27 @@ public abstract class AbstractTask {
|
||||
* 下发当前任务
|
||||
* @param task_id 任务标识
|
||||
*/
|
||||
public AcsResponse sendTaskOne(String task_id) {
|
||||
public ResponseEntity sendTaskOne(String task_id) {
|
||||
List<AcsTaskDto> taskDtoList = new ArrayList<>();
|
||||
taskDtoList.add(this.sendAcsParam(task_id));
|
||||
return this.renotifyAcs(taskDtoList);
|
||||
ResponseEntity response = this.renotifyAcs(taskDtoList);
|
||||
if (response.getStatusCode().equals(HttpStatus.OK)) {
|
||||
taskService.update(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.set(SchBaseTask::getTask_status,TaskStatus.ISSUED.getCode())
|
||||
.set(SchBaseTask::getUpdate_time,DateUtil.now())
|
||||
.set(SchBaseTask::getRemark,"")
|
||||
.in(SchBaseTask::getTask_code,taskDtoList.stream().map(AcsTaskDto::getTask_code).collect(Collectors.toList())));
|
||||
}else {
|
||||
JSONObject body = (JSONObject) response.getBody();
|
||||
for (String code : body.keySet()) {
|
||||
taskService.update(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.set(SchBaseTask::getRemark,body.getString(code))
|
||||
.set(SchBaseTask::getUpdate_time,DateUtil.now())
|
||||
.eq(SchBaseTask::getTask_code,code));
|
||||
}
|
||||
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -99,47 +121,53 @@ public abstract class AbstractTask {
|
||||
* @return AcsResponse
|
||||
*/
|
||||
@SneakyThrows
|
||||
protected AcsResponse renotifyAcs(List<AcsTaskDto> taskDtoList) {
|
||||
AcsResponse resultForAcs = AcsResponse.requestOk();
|
||||
try {
|
||||
// 创建下发对象
|
||||
resultForAcs = wmsToAcsService.renotifyAcs(taskDtoList);
|
||||
} catch (Exception e) {
|
||||
log.error("任务下发异常: {}", e.getMessage());
|
||||
resultForAcs.setResponseDate(DateUtil.now());
|
||||
resultForAcs.setCode(HttpStatus.HTTP_BAD_REQUEST);
|
||||
resultForAcs.setMessage(e.getMessage());
|
||||
}
|
||||
protected ResponseEntity renotifyAcs(List<AcsTaskDto> taskDtoList) {
|
||||
ResponseEntity response = acsApi.renotifyAcs(convertToCreateTaskRequest(taskDtoList));
|
||||
// 如果下发完毕,就修改状态
|
||||
if (resultForAcs.getCode() == HttpStatus.HTTP_OK) {
|
||||
// 查询所有任务
|
||||
List<SchBaseTask> taskList = taskService.list(
|
||||
new QueryWrapper<SchBaseTask>().lambda()
|
||||
.in(SchBaseTask::getTask_code, taskDtoList.stream()
|
||||
.map(AcsTaskDto::getTask_code)
|
||||
.collect(Collectors.toList())
|
||||
)
|
||||
);
|
||||
return response;
|
||||
}
|
||||
|
||||
// 解析并备注
|
||||
JSONArray errArr = resultForAcs.getErrArr();
|
||||
for (SchBaseTask schBaseTask : taskList) {
|
||||
schBaseTask.setTask_status(TaskStatus.ISSUED.getCode());
|
||||
// 判断是否是出错的任务
|
||||
for (int i = 0; ObjectUtil.isNotEmpty(errArr) && i < errArr.size(); i++) {
|
||||
JSONObject errObj = errArr.getJSONObject(i);
|
||||
String taskCode = errObj.getString("task_code");
|
||||
if (taskCode.equals(schBaseTask.getTask_code())) {
|
||||
// 出错的任务就设置出错信息为备注,不是出错就设置下发
|
||||
schBaseTask.setTask_status(TaskStatus.CREATED.getCode());
|
||||
schBaseTask.setRemark(errObj.getString("message"));
|
||||
break;
|
||||
private List<JSONObject> convertToCreateTaskRequest(List<AcsTaskDto> taskDtoList) {
|
||||
return taskDtoList.stream()
|
||||
.map(this::convertToCreateTaskRequest)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private JSONObject convertToCreateTaskRequest(AcsTaskDto taskDto) {
|
||||
JSONObject request = new JSONObject();
|
||||
request.put("task_code", taskDto.getTask_code());
|
||||
request.put("start_device_code", taskDto.getStart_device_code());
|
||||
request.put("next_device_code", taskDto.getNext_device_code());
|
||||
request.put("priority", ObjectUtil.isNotEmpty(taskDto.getPriority()) ? taskDto.getPriority() : "1");
|
||||
request.put("vehicle_code", taskDto.getVehicle_code());
|
||||
request.put("vehicle_type", taskDto.getVehicle_type());
|
||||
request.put("task_type", taskDto.getTask_type());
|
||||
request.put("remark", taskDto.getRemark());
|
||||
|
||||
Map<String, String> params = new HashMap<>();
|
||||
if (ObjectUtil.isNotEmpty(taskDto.getParams())) {
|
||||
params.putAll(taskDto.getParams());
|
||||
}
|
||||
putIfNotEmpty(params, "ext_task_uuid", taskDto.getExt_task_uuid());
|
||||
putIfNotEmpty(params, "start_device_code2", taskDto.getStart_device_code2());
|
||||
putIfNotEmpty(params, "next_device_code2", taskDto.getNext_device_code2());
|
||||
putIfNotEmpty(params, "put_device_code", taskDto.getPut_device_code());
|
||||
putIfNotEmpty(params, "route_plan_code", taskDto.getRoute_plan_code());
|
||||
putIfNotEmpty(params, "dtl_type", taskDto.getDtl_type());
|
||||
putIfNotEmpty(params, "agv_system_type", taskDto.getAgv_system_type());
|
||||
putIfNotEmpty(params, "oven_time", taskDto.getOven_time());
|
||||
putIfNotEmpty(params, "temperature", taskDto.getTemperature());
|
||||
putIfNotEmpty(params, "start_height", taskDto.getStart_height());
|
||||
putIfNotEmpty(params, "next_height", taskDto.getNext_height());
|
||||
putIfNotEmpty(params, "direction", taskDto.getDirection());
|
||||
request.put("params", params);
|
||||
return request;
|
||||
}
|
||||
taskService.updateBatchById(taskList);
|
||||
|
||||
private void putIfNotEmpty(Map<String, String> params, String key, String value) {
|
||||
if (ObjectUtil.isNotEmpty(value)) {
|
||||
params.put(key, value);
|
||||
}
|
||||
return resultForAcs;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -39,18 +39,8 @@ public class AutoTask {
|
||||
//定时任务
|
||||
@SneakyThrows
|
||||
public void run() {
|
||||
RLock lock = redissonClient.getLock(this.getClass().getName());
|
||||
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||
try {
|
||||
if (tryLock) {
|
||||
sendTask();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
if (tryLock) {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 定时下发任务
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
SELECT p.*
|
||||
FROM sch_base_point p
|
||||
WHERE p.is_used = 1
|
||||
AND p.point_type = '1'
|
||||
<if test="regions != null and regions.size() > 0">
|
||||
AND p.region_code IN
|
||||
<foreach collection="regions" item="region" open="(" separator="," close=")">
|
||||
|
||||
@@ -104,12 +104,6 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
// 获取region_name
|
||||
SchBaseRegion baseRegion = regionMapper.selectById(entity.getRegion_code());
|
||||
entity.setRegion_name(baseRegion.getRegion_name());
|
||||
String pointStatus = entity.getPoint_status();
|
||||
// 根据点位状态来判断更新内容
|
||||
if (ObjectUtil.isNotEmpty(pointStatus) && pointStatus.equals(PointStatusEnum.EMPTY_POINT.getCode())) {
|
||||
entity.setVehicle_type("");
|
||||
entity.setVehicle_code("");
|
||||
}
|
||||
pointMapper.updateById(entity);
|
||||
}
|
||||
|
||||
|
||||
@@ -51,9 +51,9 @@ spring:
|
||||
master:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
# url: jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:wms_nlwq}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true
|
||||
url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:wms_standardv2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3307}/${DB_NAME:wms_standardv2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
username: ${DB_USER:root}
|
||||
password: ${DB_PWD:5XXX/3GEgdUnRZd4cbVnDL6BA6P9YToc}
|
||||
password: ${DB_PWD:123456}
|
||||
# password: ${DB_PWD:123456}
|
||||
druid:
|
||||
# 基础连接池配置
|
||||
|
||||
@@ -156,6 +156,7 @@
|
||||
<el-table-column prop="status" label="状态" :formatter="formattStatus" :min-width="flexWidth('status',crud.data,'状态')" />
|
||||
<el-table-column prop="qty" label="组盘数量" :formatter="crud.formatNum3" :min-width="100" />
|
||||
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
|
||||
<el-table-column prop="load_port" label="用料位置" :min-width="flexWidth('load_port',crud.data,'用料位置')" />
|
||||
<el-table-column prop="create_name" label="组盘人" :min-width="flexWidth('create_name',crud.data,'组盘人')" />
|
||||
<el-table-column prop="create_time" label="组盘时间" :min-width="flexWidth('create_time',crud.data,'组盘时间')" />
|
||||
<el-table-column
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
<el-table-column prop="point_name" label="点位编码" width="180" show-overflow-tooltip />
|
||||
<el-table-column prop="region_code" label="区域编码" :min-width="flexWidth('region_code',crud.data,'区域编码')" />
|
||||
<el-table-column prop="region_name" label="区域名称" :min-width="flexWidth('region_name',crud.data,'区域名称')" />
|
||||
<el-table-column prop="point_type_name" label="点位类型" :min-width="flexWidth('point_type_name',crud.data,'点位类型')"/>
|
||||
<el-table-column prop="point_type" label="点位类型" :min-width="flexWidth('point_type',crud.data,'点位类型')"/>
|
||||
<el-table-column prop="point_status_name" label="点位状态" :min-width="flexWidth('point_status_name',crud.data,'点位类型')"/>
|
||||
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
|
||||
<el-table-column prop="is_used" label="是否启用" :min-width="flexWidth('is_used',crud.data,'是否启用')">
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<el-input v-model="form.point_name" style="width: 200px;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="点位类型">
|
||||
<el-input v-model="form.point_type_name" style="width: 200px;"/>
|
||||
<el-input v-model="form.point_type" style="width: 200px;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="点位状态">
|
||||
<el-input v-model="form.point_status_name" style="width: 200px;"/>
|
||||
|
||||
@@ -193,11 +193,24 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="点位编码" prop="point_code">
|
||||
<el-input v-model="form.point_code" style="width: 370px;" />
|
||||
<el-input v-model="form.point_code" style="width: 370px;" :disabled="crud.status.edit === 1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="点位名称" prop="point_name">
|
||||
<el-input v-model="form.point_name" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="点位类型" prop="point_type">
|
||||
<el-select
|
||||
v-model="form.point_type"
|
||||
placeholder="请选择"
|
||||
style="width: 370px;"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in pointTypesList"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="pointStatusDialogList.length > 0" label="点位状态" prop="point_status">
|
||||
<el-select
|
||||
v-model="form.point_status"
|
||||
@@ -218,7 +231,7 @@
|
||||
<el-select
|
||||
v-model="form.point_type"
|
||||
size="mini"
|
||||
placeholder="设备点位类型"
|
||||
placeholder="点位类型"
|
||||
class="filter-item"
|
||||
style="width: 370px;"
|
||||
>
|
||||
@@ -232,10 +245,10 @@
|
||||
<el-form-item label="父类编码" prop="vehicle_code">
|
||||
<el-input v-model="form.parent_point_code" clearable style="width: 370px;" @focus="getParentPoint"/>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.point_status !== '1'" label="载具编码" prop="vehicle_code">
|
||||
<el-form-item label="载具编码" prop="vehicle_code">
|
||||
<el-input v-model="form.vehicle_code" clearable style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.point_status !== '1'" label="载具类型" prop="vehicle_code">
|
||||
<el-form-item label="载具类型" prop="vehicle_code">
|
||||
<el-select v-model="form.vehicle_type" placeholder="请选择" clearable style="width: 370px;">
|
||||
<el-option
|
||||
v-for="item in dict.vehicle_type"
|
||||
@@ -281,10 +294,8 @@
|
||||
<el-table-column prop="point_name" label="点位名称" :min-width="flexWidth('point_name',crud.data,'点位名称')" />
|
||||
<el-table-column prop="region_code" label="区域编码" :min-width="flexWidth('region_code',crud.data,'区域编码')" />
|
||||
<el-table-column prop="region_name" label="区域名称" :min-width="flexWidth('region_name',crud.data,'区域名称')" />
|
||||
<el-table-column prop="point_type_name" label="点位类型" :min-width="flexWidth('point_type_name',crud.data,'点位类型')"/>
|
||||
<el-table-column prop="point_type" label="点位类型" :formatter="formatPointType" :min-width="flexWidth('point_type',crud.data,'点位类型')"/>
|
||||
<el-table-column prop="point_status_name" label="点位状态" :min-width="flexWidth('point_status_name',crud.data,'点位类型')"/>
|
||||
<!-- <el-table-column prop="point_type" label="点位类型" :min-width="flexWidth('point_type',crud.data,'点位类型')" />-->
|
||||
<!-- <el-table-column prop="point_status" label="点位状态" :min-width="flexWidth('point_status',crud.data,'点位状态')" />-->
|
||||
<el-table-column prop="vehicle_type" label="载具类型" :min-width="flexWidth('vehicle_type',crud.data,'载具类型', 30)">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.vehicle_type[scope.row.vehicle_type] }}
|
||||
@@ -439,7 +450,20 @@ export default {
|
||||
{ 'name': '第一车间', 'code': 'A1' }
|
||||
],
|
||||
regionList: [],
|
||||
pointTypesList: [],
|
||||
pointTypesList: [
|
||||
{
|
||||
'value': '1',
|
||||
'label': '普通站点'
|
||||
},
|
||||
{
|
||||
'value': '2',
|
||||
'label': '产线站点'
|
||||
},
|
||||
{
|
||||
'value': null,
|
||||
'label': '其他'
|
||||
}
|
||||
],
|
||||
pointStatusList: [],
|
||||
pointStatusDialogList: [],
|
||||
pointTypesDialogList: [],
|
||||
@@ -474,7 +498,6 @@ export default {
|
||||
getPointStatusAndTypeList(id, flag) {
|
||||
if (id) {
|
||||
this.getPointStatusList(id, flag)
|
||||
this.getPointTypeList(id, flag)
|
||||
}
|
||||
if (flag === 1) {
|
||||
this.crud.toQuery()
|
||||
@@ -489,14 +512,9 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
getPointTypeList(id, flag) {
|
||||
crudSchBaseRegion.getPointTypeSelectById(id).then(res => {
|
||||
if (flag === 1) {
|
||||
this.pointTypesList = res
|
||||
} else {
|
||||
this.pointTypesDialogList = res
|
||||
}
|
||||
})
|
||||
formatPointType(row, column, cellValue) {
|
||||
const found = this.pointTypesList.find(item => item.value === cellValue);
|
||||
return found ? found.label : '-';
|
||||
},
|
||||
changeUsed(data, flag) { // 更改启用状态
|
||||
const param = {}
|
||||
|
||||
Reference in New Issue
Block a user