fix: 任务、物料、mes对接
This commit is contained in:
@@ -32,6 +32,12 @@
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
|
||||
<dependency>
|
||||
<groupId>com.microsoft.sqlserver</groupId>
|
||||
<artifactId>mssql-jdbc</artifactId>
|
||||
<version>6.4.0.jre8</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.dev33</groupId>
|
||||
<artifactId>sa-token-dao-redis</artifactId>
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
package org.nl;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alicp.jetcache.anno.config.EnableCreateCacheAnnotation;
|
||||
import com.alicp.jetcache.anno.config.EnableMethodCache;
|
||||
import io.swagger.annotations.Api;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
@@ -39,7 +42,7 @@ public class AppRun {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
|
||||
|
||||
SpringApplication.run(AppRun.class, args);
|
||||
}
|
||||
|
||||
@@ -63,6 +66,50 @@ public class AppRun {
|
||||
@GetMapping("/")
|
||||
@SaIgnore
|
||||
public String index() {
|
||||
// WQLObject pointTab = WQLObject.getWQLObject("SCH_BASE_Point");
|
||||
// int block = 6;
|
||||
// int row = 4; // 排
|
||||
// int col = 8;
|
||||
// String regionCode = "YSQB01";
|
||||
// String regionId = "1663803432005406720";
|
||||
// String regionName = "养生区B";
|
||||
// for (int i = 5; i <= block; i++) {
|
||||
// for (int j = 1; j <= row; j++) {
|
||||
// for (int k = 1; k <= col; k++) {
|
||||
// String pointCode = "1";
|
||||
// // 块
|
||||
// pointCode = pointCode + i;
|
||||
// // 排
|
||||
// if (j < 10) pointCode = pointCode + "0" + j + "-";
|
||||
// else pointCode = pointCode + j + "-";
|
||||
// // 列
|
||||
// if (k < 10) pointCode = pointCode + "0" + k + "-" + "01";
|
||||
// else pointCode = pointCode + k + "-" + "01";
|
||||
// String name = j + "排" + k + "列" + "1层";
|
||||
// String pointStatus = "1";
|
||||
// String can_vehicle_type = "3";
|
||||
// JSONObject po = new JSONObject();
|
||||
// po.put("point_id", IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
// po.put("point_code", pointCode);
|
||||
// po.put("point_name", name);
|
||||
// po.put("point_status", pointStatus);
|
||||
// po.put("can_vehicle_type", can_vehicle_type);
|
||||
// po.put("region_id", regionId);
|
||||
// po.put("region_code", regionCode);
|
||||
// po.put("region_name", regionName);
|
||||
// po.put("block_num", i);
|
||||
// po.put("row_num", j);
|
||||
// po.put("col_num", k);
|
||||
// po.put("layer_num", 1);
|
||||
// po.put("in_order_seq", col - k + 1);
|
||||
// po.put("out_order_seq", k);
|
||||
// po.put("in_empty_seq", col - k + 1);
|
||||
// po.put("out_empty_seq", k);
|
||||
// pointTab.insert(po);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
return "Backend service started successfully";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,33 @@
|
||||
package org.nl.config;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.modules.mnt.util.DataTypeEnum;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.SQLException;
|
||||
|
||||
@Configuration
|
||||
@Slf4j
|
||||
public class DataBaseConfig {
|
||||
|
||||
@Value("${mes.sqlserver.enabled}")
|
||||
private boolean sqlserverIsConnect;
|
||||
@Value("${mes.sqlserver.jdbcurl}")
|
||||
private String sqlserverJdbcUrl;
|
||||
@Value("${mes.sqlserver.username}")
|
||||
private String sqlserverUserName;
|
||||
@Value("${mes.sqlserver.password}")
|
||||
private String sqlserverPassword;
|
||||
|
||||
@Primary
|
||||
@Bean(name = "dataSource")
|
||||
@ConfigurationProperties(prefix = "spring.datasource.druid")
|
||||
@@ -20,4 +35,52 @@ public class DataBaseConfig {
|
||||
return new DruidDataSource();
|
||||
}
|
||||
|
||||
@Bean("dataSource1")
|
||||
@ConditionalOnExpression("${mes.sqlserver.enabled:true}")
|
||||
public DataSource dataSource1() {
|
||||
log.info("是否连接Sqlserver" + sqlserverIsConnect);
|
||||
String jdbcUrl = sqlserverJdbcUrl;
|
||||
String userName = sqlserverUserName;
|
||||
String password = sqlserverPassword;
|
||||
DruidDataSource druidDataSource = new DruidDataSource();
|
||||
String className;
|
||||
try {
|
||||
className = DriverManager.getDriver(jdbcUrl.trim()).getClass().getName();
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException("Get class name error: =" + jdbcUrl);
|
||||
}
|
||||
if (StrUtil.isEmpty(className)) {
|
||||
DataTypeEnum dataTypeEnum = DataTypeEnum.urlOf(jdbcUrl);
|
||||
if (null == dataTypeEnum) {
|
||||
throw new RuntimeException("Not supported data type: jdbcUrl=" + jdbcUrl);
|
||||
}
|
||||
druidDataSource.setDriverClassName(dataTypeEnum.getDriver());
|
||||
} else {
|
||||
druidDataSource.setDriverClassName(className);
|
||||
}
|
||||
|
||||
|
||||
druidDataSource.setUrl(jdbcUrl);
|
||||
druidDataSource.setUsername(userName);
|
||||
druidDataSource.setPassword(password);
|
||||
// 配置获取连接等待超时的时间
|
||||
druidDataSource.setMaxWait(3000);
|
||||
// 配置初始化大小、最小、最大
|
||||
druidDataSource.setInitialSize(5);
|
||||
druidDataSource.setMinIdle(5);
|
||||
druidDataSource.setMaxActive(10);
|
||||
|
||||
// 如果链接出现异常则直接判定为失败而不是一直重试
|
||||
druidDataSource.setBreakAfterAcquireFailure(true);
|
||||
try {
|
||||
druidDataSource.init();
|
||||
} catch (SQLException e) {
|
||||
log.error("Exception during pool initialization", e);
|
||||
throw new RuntimeException(e.getMessage());
|
||||
}
|
||||
|
||||
return druidDataSource;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.config.MapOf;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.common.utils.SecurityUtils;
|
||||
import org.nl.modules.wql.WQL;
|
||||
@@ -21,6 +22,7 @@ import org.nl.wms.basedata.eum.MaterOptTypeEnum;
|
||||
import org.nl.wms.basedata.service.ClassstandardService;
|
||||
import org.nl.wms.basedata.service.MaterialbaseService;
|
||||
import org.nl.wms.basedata.service.dto.MaterialbaseDto;
|
||||
import org.slf4j.MDC;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -138,8 +140,10 @@ public class MaterialbaseServiceImpl implements MaterialbaseService {
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
String now = DateUtil.now();
|
||||
WQLObject wo = WQLObject.getWQLObject("md_me_materialbase");
|
||||
JSONObject jsonObject = wo.query("material_code = '" + dto.getMaterial_code() + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(jsonObject)) {
|
||||
JSONObject jsonObject = wo.query("material_code = '" + dto.getMaterial_code() + "' " +
|
||||
"AND is_delete = '0'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(jsonObject)
|
||||
&& !jsonObject.getString("material_id").equals(dto.getMaterial_id())) {
|
||||
throw new BadRequestException("物料柜号不能重复");
|
||||
}
|
||||
|
||||
@@ -178,19 +182,9 @@ public class MaterialbaseServiceImpl implements MaterialbaseService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteAll(Long[] ids) {
|
||||
Long currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
String now = DateUtil.now();
|
||||
|
||||
WQLObject wo = WQLObject.getWQLObject("md_me_materialbase");
|
||||
for (Long material_id : ids) {
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("material_id", String.valueOf(material_id));
|
||||
param.put("is_delete", "1");
|
||||
param.put("update_optid", currentUserId);
|
||||
param.put("update_optname", nickName);
|
||||
param.put("update_time", now);
|
||||
wo.update(param);
|
||||
wo.delete("material_id = '" + material_id + "'");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -219,9 +213,48 @@ public class MaterialbaseServiceImpl implements MaterialbaseService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void synchronize(Map whereJson) {
|
||||
/* wmsToErpService.getClassInfo(null);
|
||||
wmsToErpService.getMaterialInfo(null);*/
|
||||
MDC.put("log_file_type", "MES物料同步");
|
||||
// 查找物料表最近更新的数据
|
||||
WQLObject mdMeMaterialbaseTab = WQLObject.getWQLObject("md_me_materialbase");
|
||||
JSONObject jsonObject = mdMeMaterialbaseTab
|
||||
.query("ext_id <> '' AND ext_id IS NOT NULL", "update_time desc")
|
||||
.uniqueResult(0);
|
||||
String time = ObjectUtil.isNotEmpty(jsonObject) ? jsonObject.getString("update_time") : "";
|
||||
// 查找mes的数据
|
||||
JSONArray array = WQL.getWO("DATA_FOR_MES")
|
||||
.setDbname("dataSource1")
|
||||
.addParamMap(MapOf.of("flag", "1", "time", time))
|
||||
.process()
|
||||
.getResultJSONArray(0);
|
||||
log.info("从mes获取的数据:{}", array);
|
||||
if (ObjectUtil.isEmpty(array)) {
|
||||
throw new BadRequestException("同步失败");
|
||||
}
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
JSONObject materialObj = array.getJSONObject(i);
|
||||
// 判断是否存在
|
||||
JSONObject extObj = mdMeMaterialbaseTab
|
||||
.query("ext_id = '" + materialObj.getString("ext_id") + "'")
|
||||
.uniqueResult(0);
|
||||
materialObj.put("create_id", "3");
|
||||
materialObj.put("create_name", "MES系统");
|
||||
materialObj.put("update_optid", "3");
|
||||
materialObj.put("update_optname", "MES系统");
|
||||
materialObj.put("is_used", "1");
|
||||
materialObj.put("is_delete", "0");
|
||||
if (ObjectUtil.isEmpty(extObj)) {
|
||||
// 插入
|
||||
materialObj.put("material_id", IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
mdMeMaterialbaseTab.insert(materialObj);
|
||||
} else {
|
||||
mdMeMaterialbaseTab.update(materialObj,
|
||||
"material_id = '" + extObj.getString("material_id") + "'"); // 修改
|
||||
}
|
||||
log.info("物料:" + i + " : " + materialObj);
|
||||
}
|
||||
MDC.remove("log_file_type");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
[交易说明]
|
||||
交易名: 从mes获取物料信息
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
|
||||
[IO定义]
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.time TYPEAS s_string
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
IF 输入.flag = "1"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
FbasicDataId046 AS ext_id,
|
||||
Fnumber046 AS material_code,
|
||||
Fname046 AS material_name,
|
||||
Fmodel004 AS material_spec,
|
||||
FaddTime046 AS create_time,
|
||||
FeditTime046 AS update_time,
|
||||
Fparentid046name AS material_model
|
||||
FROM
|
||||
dbo.v_BS_GOODS_INTERFACE
|
||||
WHERE
|
||||
1 = 1
|
||||
OPTION 输入.time <> ""
|
||||
FeditTime046 >= 输入.time
|
||||
ENDOPTION
|
||||
ORDER BY FeditTime046 DESC
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
@@ -42,25 +42,71 @@ public class MesToWmsServiceImpl implements MesToWmsService {
|
||||
log.info("mes传来工单信息:" + param);
|
||||
WQLObject workOrderTab = WQLObject.getWQLObject("pdm_bd_workorder");
|
||||
WQLObject deviceTab = WQLObject.getWQLObject("pdm_bi_device");
|
||||
WQLObject materialTab = WQLObject.getWQLObject("md_me_materialbase");
|
||||
if (ObjectUtil.isEmpty(param)) {
|
||||
throw new BadRequestException("工单不能为空");
|
||||
}
|
||||
MaterialbaseDto materialCode = materialbaseService.findByCode(param.getString("material_code"));
|
||||
JSONObject materialCode = materialTab.query("material_code = '" + param.getString("material_code") + "'").uniqueResult(0);
|
||||
JSONObject deviceCode = deviceTab.query("extend_code = '" + param.getString("device_code") + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(deviceCode)) {
|
||||
throw new BadRequestException("设备编码错误!");
|
||||
}
|
||||
param.put("workorder_id", IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
param.put("plan_qty", param.getString("qty"));
|
||||
param.put("order_status", param.getString("workorder_status"));
|
||||
param.put("material_id", materialCode.getMaterial_id());
|
||||
param.put("device_id", deviceCode.getString("device_id"));
|
||||
param.put("device_code", deviceCode.getString("device_code"));
|
||||
param.put("order_status", "3");
|
||||
param.put("material_id", materialCode.getString("material_id"));
|
||||
param.put("produce_date", DateUtil.format(new Date(), "yyyy-MM-dd"));
|
||||
param.put("realproducestart_date", DateUtil.now());
|
||||
param.put("create_id", "3");
|
||||
param.put("create_name", "MES系统");
|
||||
param.put("create_time", param.getString("create_time"));
|
||||
workOrderTab.insert(param);
|
||||
if (param.getString("device_code").equals("C007")) { // 油漆线
|
||||
// 分物料上料位与下料位两个工单
|
||||
String deviceCodeWS = deviceCode.getString("device_code") + "WS";
|
||||
String deviceCodeKX = deviceCode.getString("device_code") + "KX";
|
||||
// 如果未完成,就把工单完成并插入
|
||||
JSONObject orderWS = workOrderTab.query("device_code = '" + deviceCodeWS + "' AND order_status <> '5'").uniqueResult(0);
|
||||
JSONObject orderKX = workOrderTab.query("device_code = '" + deviceCodeKX + "' AND order_status <> '5'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(orderWS)) { // 存在,就关闭
|
||||
orderWS.put("order_status", "5");
|
||||
orderWS.put("update_time", DateUtil.now());
|
||||
orderWS.put("realproduceend_date", DateUtil.now());
|
||||
workOrderTab.update(orderWS);
|
||||
}
|
||||
if (ObjectUtil.isNotEmpty(orderKX)) {
|
||||
orderKX.put("order_status", "5");
|
||||
orderKX.put("update_time", DateUtil.now());
|
||||
orderKX.put("realproduceend_date", DateUtil.now());
|
||||
workOrderTab.update(orderKX);
|
||||
}
|
||||
param.put("workorder_id", IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
param.put("device_id", "1607915464833503232");
|
||||
param.put("device_code", deviceCodeWS);
|
||||
workOrderTab.insert(param);
|
||||
param.put("workorder_id", IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
param.put("device_id", "1654663217064054784");
|
||||
param.put("device_code", deviceCodeKX);
|
||||
workOrderTab.insert(param);
|
||||
String deviceCodeWX = deviceCode.getString("device_code") + "WX";
|
||||
String deviceCodeKS = deviceCode.getString("device_code") + "KS";
|
||||
JSONObject deviceCodeWXOrder = workOrderTab
|
||||
.query("device_code = '" + deviceCodeWX + "' AND order_status <> '5'")
|
||||
.uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(deviceCodeWXOrder)) { // 如果物料下没有执行中的工单,就设置新的工单
|
||||
param.put("workorder_id", IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
param.put("device_id", "1607915553220071424");
|
||||
param.put("device_code", deviceCodeWX);
|
||||
workOrderTab.insert(param);
|
||||
param.put("workorder_id", IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
param.put("device_id", "1654663328972279808");
|
||||
param.put("device_code", deviceCodeKS);
|
||||
workOrderTab.insert(param);
|
||||
}
|
||||
} else {
|
||||
param.put("workorder_id", IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
param.put("device_id", deviceCode.getString("device_id"));
|
||||
param.put("device_code", deviceCode.getString("device_code"));
|
||||
workOrderTab.insert(param);
|
||||
}
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("status", 200);
|
||||
result.put("message", "操作成功");
|
||||
@@ -69,6 +115,7 @@ public class MesToWmsServiceImpl implements MesToWmsService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public JSONObject feedbackWorkOrderToMes(JSONObject param) {
|
||||
log.info("mes传来工单信息:", param);
|
||||
WQLObject workOrderTab = WQLObject.getWQLObject("pdm_bd_workorder");
|
||||
@@ -78,12 +125,66 @@ public class MesToWmsServiceImpl implements MesToWmsService {
|
||||
JSONObject jsonObject = workOrderTab
|
||||
.query("workorder_code = '" + param.getString("workorder_code") + "'")
|
||||
.uniqueResult(0);
|
||||
jsonObject.put("order_status", param.getString("workorder_status"));
|
||||
jsonObject.put("update_optid", "3");
|
||||
jsonObject.put("update_optname", "MES系统");
|
||||
jsonObject.put("update_time", DateUtil.now());
|
||||
jsonObject.put("realproduceend_date", DateUtil.now());
|
||||
workOrderTab.update(jsonObject);
|
||||
String deviceCode = jsonObject.getString("device_code");
|
||||
// 判断是不是油漆线
|
||||
if (deviceCode.startsWith("YQX01")) {
|
||||
String deviceCodeWS = "YQX01WS";
|
||||
String deviceCodeKX = "YQX01KX";
|
||||
String deviceCodeWX = "YQX01WX";
|
||||
String deviceCodeKS = "YQX01KS";
|
||||
JSONObject orderWX = workOrderTab.query("device_code = '" + deviceCodeWX + "' AND order_status <> '5'").uniqueResult(0);
|
||||
JSONObject orderKS = workOrderTab.query("device_code = '" + deviceCodeKS + "' AND order_status <> '5'").uniqueResult(0);
|
||||
JSONObject orderWS = workOrderTab.query("device_code = '" + deviceCodeWS + "' AND order_status <> '5'").uniqueResult(0);
|
||||
JSONObject orderKX = workOrderTab.query("device_code = '" + deviceCodeKX + "' AND order_status <> '5'").uniqueResult(0);
|
||||
// 物下空上完成
|
||||
orderWX.put("order_status", "5");
|
||||
orderWX.put("update_optid", "3");
|
||||
orderWX.put("update_optname", "MES系统");
|
||||
workOrderTab.update(orderWX);
|
||||
orderKS.put("update_optid", "3");
|
||||
orderKS.put("update_optname", "MES系统");
|
||||
orderKS.put("order_status", "5");
|
||||
workOrderTab.update(orderKS);
|
||||
// 查看物上与物下是否相同,相同就完成,物下新增与物上一样的工单
|
||||
if (!orderWS.getString("workorder_code").equals(orderWX.getString("workorder_code"))) {
|
||||
// 不相同:物下空上新增
|
||||
JSONObject workorder = new JSONObject();
|
||||
workorder.put("workorder_id", IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
workorder.put("device_id", "1607915553220071424");
|
||||
workorder.put("device_code", deviceCodeWX);
|
||||
workorder.put("workorder_code", orderWS.getString("workorder_code"));
|
||||
workorder.put("plan_qty", orderWS.getString("plan_qty"));
|
||||
workorder.put("order_status", "3");
|
||||
workorder.put("material_id", orderWS.getString("material_id"));
|
||||
workorder.put("produce_date", DateUtil.format(new Date(), "yyyy-MM-dd"));
|
||||
workorder.put("realproducestart_date", DateUtil.now());
|
||||
workorder.put("create_id", "3");
|
||||
workorder.put("create_name", "LMS系统");
|
||||
workorder.put("create_time", DateUtil.now());
|
||||
workOrderTab.insert(workorder);
|
||||
workorder.put("workorder_id", IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
workorder.put("device_id", "1654663328972279808");
|
||||
workorder.put("device_code", deviceCodeKS);
|
||||
workOrderTab.insert(workorder);
|
||||
} else {
|
||||
// 物上空下完成
|
||||
orderWS.put("order_status", "5");
|
||||
orderWS.put("update_optid", "3");
|
||||
orderWS.put("update_optname", "MES系统");
|
||||
workOrderTab.update(orderWS);
|
||||
orderKX.put("order_status", "5");
|
||||
orderKX.put("update_optid", "3");
|
||||
orderKX.put("update_optname", "MES系统");
|
||||
workOrderTab.update(orderKX);
|
||||
}
|
||||
} else {
|
||||
jsonObject.put("order_status", "5");
|
||||
jsonObject.put("update_optid", "3");
|
||||
jsonObject.put("update_optname", "MES系统");
|
||||
jsonObject.put("update_time", DateUtil.now());
|
||||
jsonObject.put("realproduceend_date", DateUtil.now());
|
||||
workOrderTab.update(jsonObject);
|
||||
}
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("status", 200);
|
||||
result.put("message", "操作成功");
|
||||
|
||||
@@ -26,13 +26,14 @@ public class SSXSendMaterialServiceImpl implements SSXSendMaterialService {
|
||||
@Override
|
||||
public JSONObject queryMaterial() {
|
||||
JSONObject result = new JSONObject();
|
||||
JSONArray mdMeMaterialbase = WQLObject.getWQLObject("md_me_materialbase").query("is_used = '1' and is_delete = '0'").getResultJSONArray(0);
|
||||
JSONArray mdMeMaterialbase = WQLObject.getWQLObject("md_me_materialbase")
|
||||
.query("is_used = '1' and is_delete = '0'", "create_time desc")
|
||||
.getResultJSONArray(0);
|
||||
result.put("result", mdMeMaterialbase);
|
||||
result.put("code", "1");
|
||||
result.put("desc", "查询成功");
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject confirm(JSONObject param) {
|
||||
@@ -63,12 +64,13 @@ public class SSXSendMaterialServiceImpl implements SSXSendMaterialService {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject queryVehicle() {
|
||||
JSONObject result = new JSONObject();
|
||||
WQLObject dictTab = WQLObject.getWQLObject("sys_dict_detail");
|
||||
JSONArray dictSort = dictTab.query("name = 'vehicle_type' and value in ('4','5','6')", "dict_sort").getResultJSONArray(0);
|
||||
JSONArray dictSort = dictTab
|
||||
.query("name = 'vehicle_type' and value in ('4','5','6')", "dict_sort")
|
||||
.getResultJSONArray(0);
|
||||
result.put("result", dictSort);
|
||||
result.put("code", "1");
|
||||
result.put("desc", "操作成功");
|
||||
|
||||
@@ -62,6 +62,7 @@ public class YqxCallMaterialTask extends AbstractAcsTask {
|
||||
taskTab.update(taskObj);
|
||||
|
||||
if (ObjectUtil.isEmpty(material_point)) return;
|
||||
|
||||
// 点位解锁
|
||||
material_point.put("lock_type", "1");
|
||||
pointTab.update(material_point);
|
||||
@@ -73,10 +74,6 @@ public class YqxCallMaterialTask extends AbstractAcsTask {
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskObj.put("car_no", taskObj.getString("car_no"));
|
||||
taskTab.update(taskObj);
|
||||
// 通知mes
|
||||
feedback.put("task_status", TaskStatusEnum.EXECUTING.getCode());
|
||||
feedback.put("struct_code", taskObj.getString("point_code1"));
|
||||
wmsToMesService.taskFeedback(feedback);
|
||||
}
|
||||
|
||||
if (StrUtil.equals(status, "2")) {
|
||||
@@ -95,14 +92,15 @@ public class YqxCallMaterialTask extends AbstractAcsTask {
|
||||
taskObj.put("remark", "任务完成");
|
||||
taskTab.update(taskObj);
|
||||
|
||||
// 通知mes
|
||||
feedback.put("task_status", TaskStatusEnum.FINISHED.getCode());
|
||||
feedback.put("struct_code", taskObj.getString("point_code1"));
|
||||
wmsToMesService.taskFeedback(feedback);
|
||||
|
||||
|
||||
if (ObjectUtil.isEmpty(material_point)) return;
|
||||
|
||||
// 通知mes
|
||||
feedback.put("fscanserialid001", taskObj.getString("task_code"));
|
||||
feedback.put("flocationid979number", taskObj.getString("point_code1"));
|
||||
feedback.put("flpn979", taskObj.getString("vehicle_code"));
|
||||
feedback.put("fstoragequantity979", taskObj.getString("material_qty"));
|
||||
wmsToMesService.taskFeedback(feedback);
|
||||
|
||||
//区域出入表【st_ivt_regionIO】
|
||||
WQLObject regionIoTab = WQLObject.getWQLObject("st_ivt_regionIO");
|
||||
JSONObject regionIoObj = new JSONObject();
|
||||
@@ -328,6 +326,7 @@ public class YqxCallMaterialTask extends AbstractAcsTask {
|
||||
String pointCode = materialPoint.getString("point_code");
|
||||
// 修改任务
|
||||
hcTask.put("point_code1", pointCode);
|
||||
hcTask.put("material_qty", materialPoint.getString("ivt_qty"));
|
||||
hcTask.put("remark", "养生A区:" + pointCode);
|
||||
taskTab.update(hcTask);
|
||||
// 锁住点位
|
||||
|
||||
@@ -81,10 +81,6 @@ public class CpOutTask extends AbstractAcsTask {
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskObj.put("car_no", taskObj.getString("car_no"));
|
||||
taskTab.update(taskObj);
|
||||
// 通知mes
|
||||
feedback.put("task_status", TaskStatusEnum.EXECUTING.getCode());
|
||||
feedback.put("struct_code", taskObj.getString("point_code2"));
|
||||
wmsToMesService.taskFeedback(feedback);
|
||||
}
|
||||
|
||||
if (StrUtil.equals(status, "2")) {
|
||||
@@ -94,8 +90,9 @@ public class CpOutTask extends AbstractAcsTask {
|
||||
taskTab.update(taskObj);
|
||||
|
||||
// 通知mes
|
||||
feedback.put("task_status", TaskStatusEnum.FINISHED.getCode());
|
||||
feedback.put("struct_code", taskObj.getString("point_code2"));
|
||||
feedback.put("fserialid054", taskObj.getString("task_code"));
|
||||
feedback.put("fsonumber186", taskObj.getString("point_code2"));
|
||||
feedback.put("flocationid081number", requestParam.getString("out_store_order"));
|
||||
wmsToMesService.taskFeedback(feedback);
|
||||
|
||||
// 任务表的点位1:成品库区点
|
||||
|
||||
@@ -71,6 +71,7 @@ public class GjxSendMaterialTask extends AbstractAcsTask {
|
||||
|
||||
String point_code2 = taskObj.getString("point_code2");
|
||||
if (ObjectUtil.isEmpty(point_code2)) return;
|
||||
|
||||
JSONObject object = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0);
|
||||
object.put("lock_type", "1");
|
||||
object.put("update_time", DateUtil.now());
|
||||
@@ -83,10 +84,6 @@ public class GjxSendMaterialTask extends AbstractAcsTask {
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskObj.put("car_no", taskObj.getString("car_no"));
|
||||
taskTab.update(taskObj);
|
||||
// 通知mes
|
||||
feedback.put("task_status", TaskStatusEnum.EXECUTING.getCode());
|
||||
feedback.put("struct_code", taskObj.getString("point_code2"));
|
||||
wmsToMesService.taskFeedback(feedback);
|
||||
}
|
||||
|
||||
if (StrUtil.equals(status, "2")) {
|
||||
@@ -130,8 +127,9 @@ public class GjxSendMaterialTask extends AbstractAcsTask {
|
||||
taskTab.update(taskObj);
|
||||
|
||||
// 通知mes
|
||||
feedback.put("task_status", TaskStatusEnum.FINISHED.getCode());
|
||||
feedback.put("struct_code", taskObj.getString("point_code2"));
|
||||
feedback.put("fsn502", taskObj.getString("task_code"));
|
||||
feedback.put("flpn979", taskObj.getString("vehicle_code"));
|
||||
feedback.put("flocationid979number", taskObj.getString("point_code2"));
|
||||
wmsToMesService.taskFeedback(feedback);
|
||||
|
||||
//区域出入表【st_ivt_regionIO】
|
||||
@@ -266,7 +264,7 @@ public class GjxSendMaterialTask extends AbstractAcsTask {
|
||||
param2.put("flag", "2");
|
||||
param2.put("region_code", "YSQA01");
|
||||
param2.put("vehicle_type",vehicle_type);
|
||||
//1、查找整列为空的货位
|
||||
//1、查找整排为空的货位
|
||||
JSONObject json2 = WQL.getWO("QSCH_gjxSendMaterial_01").addParamMap(param2).process().uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(json2)) {
|
||||
taskObj.put("remark", ObjectUtil.isNotEmpty(reminder) ? reminder : "养生A区无可用货位");
|
||||
@@ -328,7 +326,6 @@ public class GjxSendMaterialTask extends AbstractAcsTask {
|
||||
public String createTask(JSONObject whereJson) {
|
||||
String point_code1 = whereJson.getString("point_code1");
|
||||
String vehicle_code = whereJson.getString("vehicle_code");
|
||||
String vehicle_type = whereJson.getString("vehicle_type");
|
||||
String qty = whereJson.getString("qty");
|
||||
String task_code = CodeUtil.getNewCode("TASK_CODE");
|
||||
if (ObjectUtil.isNotEmpty(whereJson.getString("task_code"))) {
|
||||
@@ -363,7 +360,7 @@ public class GjxSendMaterialTask extends AbstractAcsTask {
|
||||
.material_qty(qty)
|
||||
.material_info_id(workOrderObj.getLong("workorder_id"))
|
||||
.material_id(workOrderObj.getLong("material_id"))
|
||||
.vehicle_type(vehicle_type)
|
||||
.vehicle_type(workOrderObj.getString("vehicle_type"))
|
||||
.handle_class(THIS_CLASS)
|
||||
.create_time(DateUtil.now())
|
||||
.request_param(whereJson.toJSONString())
|
||||
|
||||
@@ -73,10 +73,6 @@ public class HkxSendMaterialTask extends AbstractAcsTask {
|
||||
taskObj.put("update_time", DateUtil.now());
|
||||
taskObj.put("car_no", taskObj.getString("car_no"));
|
||||
taskTab.update(taskObj);
|
||||
// 通知mes
|
||||
feedback.put("task_status", TaskStatusEnum.EXECUTING.getCode());
|
||||
feedback.put("struct_code", taskObj.getString("point_code2"));
|
||||
wmsToMesService.taskFeedback(feedback);
|
||||
}
|
||||
|
||||
if (StrUtil.equals(status, "2")) {
|
||||
@@ -86,8 +82,9 @@ public class HkxSendMaterialTask extends AbstractAcsTask {
|
||||
taskTab.update(taskObj);
|
||||
|
||||
// 通知mes
|
||||
feedback.put("task_status", TaskStatusEnum.FINISHED.getCode());
|
||||
feedback.put("struct_code", taskObj.getString("point_code2"));
|
||||
feedback.put("fpacknumberpl695", taskObj.getString("task_code"));
|
||||
feedback.put("flpn979", taskObj.getString("vehicle_code"));
|
||||
feedback.put("flocationid979number", taskObj.getString("point_code2"));
|
||||
wmsToMesService.taskFeedback(feedback);
|
||||
|
||||
String point_code2 = taskObj.getString("point_code2");
|
||||
|
||||
@@ -6,11 +6,11 @@ spring:
|
||||
druid:
|
||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:yongyu_lms2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:yongyu_lms2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:yy-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:yongyu_lms2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
username: ${DB_USER:root}
|
||||
password: ${DB_PWD:P@ssw0rd}
|
||||
# password: ${DB_PWD:12356}
|
||||
# password: ${DB_PWD:P@ssw0rd}
|
||||
password: ${DB_PWD:12356}
|
||||
# 初始连接数
|
||||
initial-size: 5
|
||||
# 最小连接数
|
||||
@@ -52,12 +52,22 @@ spring:
|
||||
wall:
|
||||
config:
|
||||
multi-statement-allow: true
|
||||
redis:
|
||||
#数据库索引
|
||||
database: ${REDIS_DB:15}
|
||||
host: ${REDIS_HOST:127.0.0.1}
|
||||
port: ${REDIS_PORT:6379}
|
||||
password: ${REDIS_PWD:}
|
||||
redis:
|
||||
#数据库索引
|
||||
database: ${REDIS_DB:15}
|
||||
host: ${REDIS_HOST:127.0.0.1}
|
||||
port: ${REDIS_PORT:6379}
|
||||
password: ${REDIS_PWD:}
|
||||
redisson:
|
||||
config: |
|
||||
threads: 4
|
||||
nettyThreads: 4
|
||||
singleServerConfig:
|
||||
connectionMinimumIdleSize: 8
|
||||
connectionPoolSize: 8
|
||||
address: redis://127.0.0.1:6379
|
||||
idleConnectionTimeout: 10000
|
||||
timeout: 3000
|
||||
|
||||
# 登录相关配置
|
||||
login:
|
||||
@@ -154,3 +164,9 @@ sa-token:
|
||||
loki:
|
||||
url: http://localhost:3100/loki/api/v1
|
||||
systemName: acs
|
||||
mes:
|
||||
sqlserver:
|
||||
enabled: false
|
||||
jdbcurl: jdbc:sqlserver://192.168.81.80:1433;DatabaseName=hllg;
|
||||
username: sa
|
||||
password: P@ssw0rd
|
||||
|
||||
@@ -173,3 +173,10 @@ sa-token:
|
||||
loki:
|
||||
url: http://localhost:3100/loki/api/v1
|
||||
systemName: lms
|
||||
#mes
|
||||
mes:
|
||||
sqlserver:
|
||||
enabled: true
|
||||
jdbcurl: jdbc:sqlserver://192.168.4.113:1433;DatabaseName=Timely4100_15_yoyu;
|
||||
username: timely
|
||||
password: timely**2023
|
||||
|
||||
@@ -77,7 +77,7 @@ https://juejin.cn/post/6844903775631572999
|
||||
|
||||
<!--开发环境:打印控制台-->
|
||||
<springProfile name="dev">
|
||||
<root level="off">
|
||||
<root level="debugger">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="lokiAppender" />
|
||||
</root>
|
||||
@@ -122,7 +122,7 @@ https://juejin.cn/post/6844903775631572999
|
||||
|
||||
<!--生产环境:打印控制台和输出到文件-->
|
||||
<springProfile name="prod">
|
||||
<root level="debug">
|
||||
<root level="debugger">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
</root>
|
||||
|
||||
@@ -2,39 +2,26 @@
|
||||
<div v-loading.fullscreen.lock="fullscreenLoading" class="app-container">
|
||||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-row>
|
||||
<el-col :span="7">
|
||||
<span style="line-height:36px;text-align: center">物料类别:</span>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<treeselect
|
||||
v-model="query.material_type_id"
|
||||
:load-options="loadChildNodes"
|
||||
:options="classes1"
|
||||
style="width: 200px;"
|
||||
placeholder="请选择"
|
||||
/>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
模糊查询:
|
||||
<el-input
|
||||
v-model="query.search"
|
||||
clearable
|
||||
style="width: 200px"
|
||||
size="mini"
|
||||
placeholder="输入物料编码或名称"
|
||||
prefix-icon="el-icon-search"
|
||||
class="filter-item"
|
||||
/>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div v-if="crud.props.searchToggle">
|
||||
<el-form
|
||||
:inline="true"
|
||||
class="demo-form-inline"
|
||||
label-position="right"
|
||||
label-width="80px"
|
||||
label-suffix=":"
|
||||
>
|
||||
<el-form-item label="模糊搜索">
|
||||
<el-input
|
||||
v-model="query.search"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="编码、名称"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<rrOperation />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission">
|
||||
<el-button
|
||||
@@ -83,55 +70,66 @@
|
||||
<el-input v-model="form.material_model" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="外部标识" prop="ext_id">
|
||||
<el-input v-model="form.ext_id" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="物料分类" prop="material_type_id">
|
||||
<treeselect
|
||||
v-model="form.material_type_id"
|
||||
:load-options="loadChildNodes"
|
||||
:options="classes2"
|
||||
style="width: 200px;"
|
||||
placeholder="请选择"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="产品系列">
|
||||
<treeselect
|
||||
v-model="form.product_series"
|
||||
:options="classes3"
|
||||
:auto-load-root-options="false"
|
||||
:load-options="loadChildNodes"
|
||||
style="width: 200px;"
|
||||
placeholder="请选择"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="静置时间" prop="standing_time">
|
||||
<el-input-number v-model="form.standing_time" :controls="false" :min="0" label="分钟" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="是否启用" prop="is_used">
|
||||
<el-radio v-model="form.is_used" label="0">否</el-radio>
|
||||
<el-radio v-model="form.is_used" label="1">是</el-radio>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="物料数量" prop="standing_time">
|
||||
<el-input-number v-model="form.material_qty" :controls="false" :min="0" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="8">-->
|
||||
<!-- <el-form-item label="外部标识" prop="ext_id">-->
|
||||
<!-- <el-input v-model="form.ext_id" style="width: 200px;" />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="8">-->
|
||||
<!-- <el-form-item label="物料分类" prop="material_type_id">-->
|
||||
<!-- <treeselect-->
|
||||
<!-- v-model="form.material_type_id"-->
|
||||
<!-- :load-options="loadChildNodes"-->
|
||||
<!-- :options="classes2"-->
|
||||
<!-- style="width: 200px;"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
</el-row>
|
||||
<!-- <el-row>-->
|
||||
<!-- <el-col :span="8">-->
|
||||
<!-- <el-form-item label="产品系列">-->
|
||||
<!-- <treeselect-->
|
||||
<!-- v-model="form.product_series"-->
|
||||
<!-- :options="classes3"-->
|
||||
<!-- :auto-load-root-options="false"-->
|
||||
<!-- :load-options="loadChildNodes"-->
|
||||
<!-- style="width: 200px;"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="8">-->
|
||||
<!-- <el-form-item label="静置时间" prop="standing_time">-->
|
||||
<!-- <el-input-number v-model="form.standing_time" :controls="false" :min="0" label="分钟" style="width: 200px;" />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="8">-->
|
||||
<!-- <el-form-item label="是否启用" prop="is_used">-->
|
||||
<!-- <el-radio v-model="form.is_used" label="0">否</el-radio>-->
|
||||
<!-- <el-radio v-model="form.is_used" label="1">是</el-radio>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- </el-row>-->
|
||||
<!-- <el-row>-->
|
||||
<!-- <el-col :span="8">-->
|
||||
<!-- <el-form-item label="物料数量" prop="standing_time">-->
|
||||
<!-- <el-input-number v-model="form.material_qty" :controls="false" :min="0" style="width: 200px;" />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- </el-row>-->
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
@@ -147,16 +145,16 @@
|
||||
style="width: 100%;"
|
||||
@selection-change="crud.selectionChangeHandler"
|
||||
>
|
||||
<el-table-column prop="material_code" label="物料柜号" width="160" />
|
||||
<el-table-column prop="material_name" label="物料名称" width="180" show-overflow-tooltip />
|
||||
<el-table-column prop="material_code" label="物料编码" width="160" />
|
||||
<el-table-column prop="material_name" label="物料名称" show-overflow-tooltip />
|
||||
<el-table-column prop="material_spec" label="物料规格" width="140" />
|
||||
<el-table-column prop="material_qty" label="物料数量" width="100" />
|
||||
<!-- <el-table-column prop="material_qty" label="物料数量" />-->
|
||||
<el-table-column prop="material_model" label="物料型号" />
|
||||
<el-table-column prop="class_name" label="物料分类" width="140" />
|
||||
<el-table-column prop="unit_name" label="计量单位" />
|
||||
<el-table-column prop="standing_time" label="静置时间(分钟)" width="130px" />
|
||||
<el-table-column prop="product_series_name" label="系列" />
|
||||
<el-table-column label="启用" align="center" prop="is_used">
|
||||
<!-- <el-table-column prop="class_name" label="物料分类" width="140" />-->
|
||||
<!-- <el-table-column prop="unit_name" label="计量单位" />-->
|
||||
<!-- <el-table-column prop="standing_time" label="静置时间(分钟)" width="130px" />-->
|
||||
<!-- <el-table-column prop="product_series_name" label="系列" />-->
|
||||
<el-table-column label="启用" align="center" prop="is_used" width="80">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.is_used"
|
||||
@@ -169,7 +167,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="update_optname" label="修改人" />
|
||||
<el-table-column prop="update_time" label="修改时间" width="135" />
|
||||
<el-table-column prop="update_time" label="修改时间"/>
|
||||
<el-table-column
|
||||
v-permission="['admin','Materialbase:edit','Materialbase:del']"
|
||||
fixed="right"
|
||||
|
||||
@@ -15,15 +15,6 @@
|
||||
label-width="80px"
|
||||
label-suffix=":"
|
||||
>
|
||||
<el-form-item label="物料类别">
|
||||
<treeselect
|
||||
v-model="query.material_type_id"
|
||||
:load-options="loadClass"
|
||||
:options="classes"
|
||||
style="width: 200px;"
|
||||
placeholder="选择物料类别"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="模糊搜索">
|
||||
<el-input
|
||||
v-model="query.search"
|
||||
@@ -131,15 +122,15 @@ export default {
|
||||
return this.dict.label.product_series[row.product_series]
|
||||
},
|
||||
open() {
|
||||
const param = {
|
||||
'materOpt_code': this.materOptCode
|
||||
}
|
||||
crudMaterialbase.getMaterOptType(param).then(res => {
|
||||
this.class_idStr = res.class_idStr
|
||||
this.crud.query.class_idStr = res.class_idStr
|
||||
this.crud.toQuery()
|
||||
this.queryClassId()
|
||||
})
|
||||
// const param = {
|
||||
// 'materOpt_code': this.materOptCode
|
||||
// }
|
||||
// crudMaterialbase.getMaterOptType(param).then(res => {
|
||||
// this.class_idStr = res.class_idStr
|
||||
// this.crud.query.class_idStr = res.class_idStr
|
||||
// this.crud.toQuery()
|
||||
// this.queryClassId()
|
||||
// })
|
||||
},
|
||||
queryClassId() {
|
||||
const param = {
|
||||
|
||||
Reference in New Issue
Block a user