opt: 1
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
/**
|
||||||
|
* 株洲中钨的驱动类存放于此
|
||||||
|
* @Author: lyd
|
||||||
|
* @Date: 2025/8/6
|
||||||
|
*/
|
||||||
|
package org.nl.acs.device_driver.zzzw;
|
||||||
@@ -130,6 +130,10 @@ public class PdaJBServiceImpl implements PdaJBService {
|
|||||||
log.info("解包叫料,请求参数:{}", whereJson);
|
log.info("解包叫料,请求参数:{}", whereJson);
|
||||||
// workorder_id、area、point_code
|
// workorder_id、area、point_code
|
||||||
String pointCode = whereJson.getString("point_code");
|
String pointCode = whereJson.getString("point_code");
|
||||||
|
String area = whereJson.getString("area");
|
||||||
|
if (!"DDJBQ".equals(area)) {
|
||||||
|
throw new BadRequestException("请选择吨袋解包区!");
|
||||||
|
}
|
||||||
RLock lock = redissonClient.getLock(pointCode);
|
RLock lock = redissonClient.getLock(pointCode);
|
||||||
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||||
try {
|
try {
|
||||||
@@ -259,6 +263,9 @@ public class PdaJBServiceImpl implements PdaJBService {
|
|||||||
res.put("flag", "1");
|
res.put("flag", "1");
|
||||||
res.put("message", "重量误差范围正常!");
|
res.put("message", "重量误差范围正常!");
|
||||||
PdmBdWorkorder workorder = workorderService.getById(workorder_id);
|
PdmBdWorkorder workorder = workorderService.getById(workorder_id);
|
||||||
|
if (ObjectUtil.isEmpty(workorder)) {
|
||||||
|
throw new BadRequestException("请选择工单!");
|
||||||
|
}
|
||||||
res.put("org_weight", workorder.getPlan_weight());
|
res.put("org_weight", workorder.getPlan_weight());
|
||||||
res.put("stand_error", param.getValue());
|
res.put("stand_error", param.getValue());
|
||||||
if (workorder.getPlan_weight().subtract(BigDecimal.valueOf(999.99))
|
if (workorder.getPlan_weight().subtract(BigDecimal.valueOf(999.99))
|
||||||
@@ -348,12 +355,12 @@ public class PdaJBServiceImpl implements PdaJBService {
|
|||||||
workorder.setWorkorder_status("5");
|
workorder.setWorkorder_status("5");
|
||||||
workorder.setRealproduceend_date(DateUtil.now());
|
workorder.setRealproduceend_date(DateUtil.now());
|
||||||
workorderService.updateById(workorder);
|
workorderService.updateById(workorder);
|
||||||
|
} else {
|
||||||
|
throw new BadRequestException("速度太快啦,稍后再试...");
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
if (tryLock) {
|
if (tryLock) {
|
||||||
lock.unlock();
|
lock.unlock();
|
||||||
} else {
|
|
||||||
throw new BadRequestException("速度太快啦,稍后再试...");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return PdaResponse.requestOk();
|
return PdaResponse.requestOk();
|
||||||
|
|||||||
@@ -0,0 +1,173 @@
|
|||||||
|
package org.nl.wms.sch_manage.service.util;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: lyd
|
||||||
|
* @Description: 通用定义类型数据
|
||||||
|
* @Date: 2023/7/13
|
||||||
|
*/
|
||||||
|
public class GeneralDefinition {
|
||||||
|
/**
|
||||||
|
* 默认密码
|
||||||
|
*/
|
||||||
|
public static final String DEFAULT_PASSWORD = "123456";
|
||||||
|
/**
|
||||||
|
* 盐值加密
|
||||||
|
*/
|
||||||
|
public static final String SALT = "salt";
|
||||||
|
/**
|
||||||
|
* 转义点
|
||||||
|
*/
|
||||||
|
public static final String ESCAPE_DOT = "\\.";
|
||||||
|
/**
|
||||||
|
* 点
|
||||||
|
*/
|
||||||
|
public static final String DOT = ".";
|
||||||
|
/**
|
||||||
|
* 日期变量
|
||||||
|
*/
|
||||||
|
public static final String DATE_FORMAT = "yyyy-MM-dd";
|
||||||
|
/**
|
||||||
|
* 时间变量
|
||||||
|
*/
|
||||||
|
public static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
|
||||||
|
/**
|
||||||
|
* 未知
|
||||||
|
*/
|
||||||
|
public static final String UNKNOWN = "-";
|
||||||
|
// 统一编码定义
|
||||||
|
/**
|
||||||
|
* 窑自动任务开启
|
||||||
|
*/
|
||||||
|
public static final String AUTO_KILN_CALL = "auto_kiln_call";
|
||||||
|
// 是否
|
||||||
|
/**
|
||||||
|
* 是/正确/可用...
|
||||||
|
*/
|
||||||
|
public static final String YES = "1";
|
||||||
|
/**
|
||||||
|
* 否/错误/不可用...
|
||||||
|
*/
|
||||||
|
public static final String NO = "0";
|
||||||
|
// 载具类型
|
||||||
|
/**
|
||||||
|
* 料盅
|
||||||
|
*/
|
||||||
|
public static final String MATERIAL_CUP = "LZ";
|
||||||
|
/**
|
||||||
|
* 钢托盘
|
||||||
|
*/
|
||||||
|
public static final String STEEL_TRAY = "GTP";
|
||||||
|
// 账号定义
|
||||||
|
/**
|
||||||
|
* acs系统
|
||||||
|
*/
|
||||||
|
public static final String ACS_ID = "2";
|
||||||
|
/**
|
||||||
|
* acs系统
|
||||||
|
*/
|
||||||
|
public static final String ACS_NAME = "ACS系统";
|
||||||
|
/**
|
||||||
|
* mes系统
|
||||||
|
*/
|
||||||
|
public static final String MES_ID = "3";
|
||||||
|
/**
|
||||||
|
* mes系统
|
||||||
|
*/
|
||||||
|
public static final String MES_NAME = "MES系统";
|
||||||
|
// 点位类型
|
||||||
|
/**
|
||||||
|
* 设备位
|
||||||
|
*/
|
||||||
|
public static final String DEVICE_POINT = "1";
|
||||||
|
/**
|
||||||
|
* 对接位
|
||||||
|
*/
|
||||||
|
public static final String DOCKING_POINT = "2";
|
||||||
|
/**
|
||||||
|
* 检测位
|
||||||
|
*/
|
||||||
|
public static final String CHECK_POINT = "4";
|
||||||
|
// 出入口
|
||||||
|
/**
|
||||||
|
* 入口
|
||||||
|
**/
|
||||||
|
public static final String ENTRANCE = "1";
|
||||||
|
/**
|
||||||
|
* 出口
|
||||||
|
**/
|
||||||
|
public static final String EXIT = "2";
|
||||||
|
// 任务生产方式
|
||||||
|
/**
|
||||||
|
* 自动创建
|
||||||
|
**/
|
||||||
|
public static final String AUTO_CREATION = "1";
|
||||||
|
/**
|
||||||
|
* ACS创建
|
||||||
|
**/
|
||||||
|
public static final String ACS_CREATION = "2";
|
||||||
|
// 请求方向
|
||||||
|
/**
|
||||||
|
* ACS->LMS
|
||||||
|
**/
|
||||||
|
public static final String ACS_LMS = "1";
|
||||||
|
/**
|
||||||
|
* LMS->ACS
|
||||||
|
**/
|
||||||
|
public static final String LMS_ACS = "2";
|
||||||
|
/**
|
||||||
|
* MES->LMS
|
||||||
|
**/
|
||||||
|
public static final String MES_LMS = "3";
|
||||||
|
/**
|
||||||
|
* LMS->MES
|
||||||
|
**/
|
||||||
|
public static final String LMS_MES = "4";
|
||||||
|
// 区域定义
|
||||||
|
/**
|
||||||
|
* 料盅睏料线区域
|
||||||
|
*/
|
||||||
|
public static final String LZKLX = "LZKLX";
|
||||||
|
/**
|
||||||
|
* 干燥窑区域
|
||||||
|
*/
|
||||||
|
public static final String GZY = "GZY";
|
||||||
|
// 特殊: 1-缓存输送线入口,2-缓存输送线出口,3-上输送线,4-下输送线
|
||||||
|
/**
|
||||||
|
* 上输送线
|
||||||
|
*/
|
||||||
|
public static final String UPPER_CONVEYOR_LINE = "3";
|
||||||
|
/**
|
||||||
|
* 下输送线
|
||||||
|
*/
|
||||||
|
public static final String LOWER_CONVEYOR_LINE = "4";
|
||||||
|
// 参数名称
|
||||||
|
/**
|
||||||
|
* 是否连接
|
||||||
|
*/
|
||||||
|
public static final String IS_CONNECT_ACS = "is_connect_acs";
|
||||||
|
/**
|
||||||
|
* ACS路径
|
||||||
|
*/
|
||||||
|
public static final String ACS_URL = "acs_url";
|
||||||
|
/**
|
||||||
|
* 是否连接
|
||||||
|
*/
|
||||||
|
public static final String IS_CONNECT_MES = "is_connect_mes";
|
||||||
|
/**
|
||||||
|
* MES路径
|
||||||
|
*/
|
||||||
|
public static final String MES_URL = "mes_url";
|
||||||
|
// 完成/取消
|
||||||
|
/**
|
||||||
|
* 任务完成
|
||||||
|
*/
|
||||||
|
public static final String TASK_FINISH = "任务完成";
|
||||||
|
/**
|
||||||
|
* 任务取消
|
||||||
|
*/
|
||||||
|
public static final String TASK_CANCEL = "任务取消";
|
||||||
|
/**
|
||||||
|
* 区域 - 分拣
|
||||||
|
*/
|
||||||
|
public static final String AREA_FJ = "FJ";
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
package org.nl.wms.sch_manage.service.util;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.common.utils.SecurityUtils;
|
||||||
|
import org.nl.wms.sch_manage.enums.TaskFinishedTypeEnum;
|
||||||
|
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: lyd
|
||||||
|
* @Description: 任务修改抽取的公用方法
|
||||||
|
* @Date: 2023/6/13
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
public class TaskUtils {
|
||||||
|
public static void setCreateByAcs(SchBaseTask taskObj) {
|
||||||
|
taskObj.setCreate_id(GeneralDefinition.ACS_ID);
|
||||||
|
taskObj.setCreate_name(GeneralDefinition.ACS_NAME);
|
||||||
|
taskObj.setCreate_time(DateUtil.now());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setCreateByPda(SchBaseTask taskObj) {
|
||||||
|
taskObj.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||||
|
taskObj.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||||
|
taskObj.setCreate_time(DateUtil.now());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setUpdateByAcs(SchBaseTask taskObj) {
|
||||||
|
taskObj.setUpdate_id(GeneralDefinition.ACS_ID);
|
||||||
|
taskObj.setUpdate_name(GeneralDefinition.ACS_NAME);
|
||||||
|
taskObj.setUpdate_time(DateUtil.now());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setUpdateByPC(SchBaseTask taskObj) {
|
||||||
|
taskObj.setUpdate_id(SecurityUtils.getCurrentUserId());
|
||||||
|
taskObj.setUpdate_name(SecurityUtils.getCurrentNickName());
|
||||||
|
taskObj.setUpdate_time(DateUtil.now());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据类型去判断谁修改的
|
||||||
|
* @param taskObj
|
||||||
|
* @param taskFinishedType
|
||||||
|
*/
|
||||||
|
public static void setUpdateByType(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
|
if (taskFinishedType.equals(TaskFinishedTypeEnum.AUTO_ACS)) {
|
||||||
|
setUpdateByAcs(taskObj);
|
||||||
|
} else {
|
||||||
|
setUpdateByPC(taskObj);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,6 +11,7 @@ import org.nl.wms.basedata_manage.service.IStructattrService;
|
|||||||
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||||
import org.nl.wms.pm_manage.service.IPdmBdWorkorderService;
|
import org.nl.wms.pm_manage.service.IPdmBdWorkorderService;
|
||||||
import org.nl.wms.pm_manage.service.dao.PdmBdWorkorder;
|
import org.nl.wms.pm_manage.service.dao.PdmBdWorkorder;
|
||||||
|
import org.nl.wms.sch_manage.enums.TaskFinishedTypeEnum;
|
||||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||||
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||||
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||||
@@ -20,6 +21,7 @@ import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
|||||||
import org.nl.wms.sch_manage.service.dao.SchBaseTaskconfig;
|
import org.nl.wms.sch_manage.service.dao.SchBaseTaskconfig;
|
||||||
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
||||||
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
||||||
|
import org.nl.wms.sch_manage.service.util.TaskUtils;
|
||||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.IOutBillService;
|
import org.nl.wms.warehouse_manage.inAndOut.service.IOutBillService;
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
|
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
|
||||||
@@ -111,26 +113,26 @@ public class JbUpAgvTask extends AbstractTask {
|
|||||||
if (status.equals(TaskStatus.EXECUTING)) {
|
if (status.equals(TaskStatus.EXECUTING)) {
|
||||||
taskObj.setTask_status(TaskStatus.EXECUTING.getCode());
|
taskObj.setTask_status(TaskStatus.EXECUTING.getCode());
|
||||||
taskObj.setRemark("执行中");
|
taskObj.setRemark("执行中");
|
||||||
|
TaskUtils.setUpdateByAcs(taskObj);
|
||||||
taskService.updateById(taskObj);
|
taskService.updateById(taskObj);
|
||||||
}
|
}
|
||||||
if (status.equals(TaskStatus.FINISHED)) {
|
if (status.equals(TaskStatus.FINISHED)) {
|
||||||
this.finishTask(taskObj);
|
this.finishTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
|
||||||
}
|
}
|
||||||
if (status.equals(TaskStatus.CANCELED)) {
|
if (status.equals(TaskStatus.CANCELED)) {
|
||||||
this.cancelTask(taskObj);
|
this.cancelTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cancelTask(SchBaseTask taskObj) {
|
private void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
// 取消任务
|
// 取消任务
|
||||||
taskService.update(new LambdaUpdateWrapper<SchBaseTask>()
|
taskObj.setTask_status(TaskStatus.CANCELED.getCode());
|
||||||
.set(SchBaseTask::getTask_status, TaskStatus.CANCELED.getCode())
|
taskObj.setRemark("已取消");
|
||||||
.set(SchBaseTask::getRemark, "已取消")
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
.eq(SchBaseTask::getTask_id, taskObj.getTask_id())
|
taskService.updateById(taskObj);
|
||||||
);
|
|
||||||
|
|
||||||
//分配表清除任务
|
//分配表清除任务
|
||||||
ioStorInvDisMapper.update(new IOStorInvDis(), new LambdaUpdateWrapper<>(IOStorInvDis.class)
|
ioStorInvDisMapper.update(null, new LambdaUpdateWrapper<>(IOStorInvDis.class)
|
||||||
.set(IOStorInvDis::getTask_id, null)
|
.set(IOStorInvDis::getTask_id, null)
|
||||||
.set(IOStorInvDis::getPoint_code, null)
|
.set(IOStorInvDis::getPoint_code, null)
|
||||||
.set(IOStorInvDis::getIs_issued, 0)
|
.set(IOStorInvDis::getIs_issued, 0)
|
||||||
@@ -139,10 +141,11 @@ public class JbUpAgvTask extends AbstractTask {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void finishTask(SchBaseTask taskObj) {
|
private void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) {
|
||||||
// 任务完成
|
// 任务完成
|
||||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||||
taskObj.setRemark("已完成");
|
taskObj.setRemark("已完成");
|
||||||
|
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||||
taskService.updateById(taskObj);
|
taskService.updateById(taskObj);
|
||||||
outBillService.taskFinish(taskObj);
|
outBillService.taskFinish(taskObj);
|
||||||
// 工单完成
|
// 工单完成
|
||||||
@@ -192,7 +195,7 @@ public class JbUpAgvTask extends AbstractTask {
|
|||||||
if (ObjectUtil.isEmpty(taskObj)) {
|
if (ObjectUtil.isEmpty(taskObj)) {
|
||||||
throw new BadRequestException("该任务不存在");
|
throw new BadRequestException("该任务不存在");
|
||||||
}
|
}
|
||||||
this.finishTask(taskObj);
|
this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -204,7 +207,7 @@ public class JbUpAgvTask extends AbstractTask {
|
|||||||
if (!TaskStatus.CREATE.getCode().equals(taskObj.getTask_status())) {
|
if (!TaskStatus.CREATE.getCode().equals(taskObj.getTask_status())) {
|
||||||
throw new BadRequestException("任务状态必须为生成才能取消任务");
|
throw new BadRequestException("任务状态必须为生成才能取消任务");
|
||||||
}
|
}
|
||||||
this.cancelTask(taskObj);
|
this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -276,7 +276,7 @@
|
|||||||
<!--表格渲染-->
|
<!--表格渲染-->
|
||||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column prop="workshop_code" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')" />
|
<!-- <el-table-column prop="workshop_code" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')" />-->
|
||||||
<el-table-column prop="point_code" label="点位编码" :min-width="flexWidth('point_code',crud.data,'点位编码')" />
|
<el-table-column prop="point_code" label="点位编码" :min-width="flexWidth('point_code',crud.data,'点位编码')" />
|
||||||
<el-table-column prop="point_name" label="点位名称" :min-width="flexWidth('point_name',crud.data,'点位名称')" />
|
<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_code" label="区域编码" :min-width="flexWidth('region_code',crud.data,'区域编码')" />
|
||||||
@@ -336,15 +336,15 @@
|
|||||||
:data="scope.row"
|
:data="scope.row"
|
||||||
:permission="permission"
|
:permission="permission"
|
||||||
/>
|
/>
|
||||||
<el-button
|
<!-- <el-button-->
|
||||||
v-if="showButton(scope.row.point_status)"
|
<!-- v-if="showButton(scope.row.point_status)"-->
|
||||||
size="mini"
|
<!-- size="mini"-->
|
||||||
type="text"
|
<!-- type="text"-->
|
||||||
icon="el-icon-view"
|
<!-- icon="el-icon-view"-->
|
||||||
@click="toView(scope.row)"
|
<!-- @click="toView(scope.row)"-->
|
||||||
>
|
<!-- >-->
|
||||||
查看详情
|
<!-- 查看详情-->
|
||||||
</el-button>
|
<!-- </el-button>-->
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|||||||
Reference in New Issue
Block a user