feat: 任务配置前端国际化
任务调度管理前端国际化 点位表字段与功能修改近似于兰州海亮项目 点位表前端国际化,任务配置功能整改
This commit is contained in:
@@ -141,8 +141,8 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
||||
@Override
|
||||
public SchBaseVehiclematerialgroup getOneByVehicleCode(String vehicleCode, String value) {
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add(GeneralDefinition.STEEL_TRAY);
|
||||
list.add(GeneralDefinition.MATERIAL_CUP);
|
||||
// list.add(GeneralDefinition.STEEL_TRAY);
|
||||
// list.add(GeneralDefinition.MATERIAL_CUP);
|
||||
LambdaQueryWrapper<SchBaseVehiclematerialgroup> lambda = new QueryWrapper<SchBaseVehiclematerialgroup>().lambda();
|
||||
lambda.eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicleCode)
|
||||
.eq(SchBaseVehiclematerialgroup::getGroup_bind_material_status, value)
|
||||
|
||||
@@ -28,14 +28,12 @@ public class SchBasePointController {
|
||||
|
||||
@GetMapping
|
||||
@Log("查询点位管理")
|
||||
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page){
|
||||
return new ResponseEntity<>(TableDataInfo.build(schBasePointService.queryAll(whereJson,page)),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@Log("新增点位管理")
|
||||
|
||||
public ResponseEntity<Object> create(@Validated @RequestBody SchBasePoint entity){
|
||||
schBasePointService.create(entity);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
@@ -46,14 +44,12 @@ public class SchBasePointController {
|
||||
|
||||
@PutMapping
|
||||
@Log("修改点位管理")
|
||||
|
||||
public ResponseEntity<Object> update(@Validated @RequestBody SchBasePoint entity){
|
||||
schBasePointService.update(entity);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Log("删除点位管理")
|
||||
|
||||
@DeleteMapping
|
||||
public ResponseEntity<Object> delete(@RequestBody Set<String> ids) {
|
||||
schBasePointService.deleteAll(ids);
|
||||
@@ -62,7 +58,6 @@ public class SchBasePointController {
|
||||
|
||||
@Log("启动与禁用")
|
||||
@PostMapping("/changeUsed")
|
||||
|
||||
public ResponseEntity<Object> changeUsedOn(@RequestBody JSONObject jsonObject) {
|
||||
schBasePointService.changeUsed(jsonObject);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
@@ -70,14 +65,12 @@ public class SchBasePointController {
|
||||
|
||||
@PostMapping("/getPointList")
|
||||
@Log("获取区域下拉框")
|
||||
|
||||
public ResponseEntity<Object> getPointList(@RequestBody(required = false) SchBasePoint region){
|
||||
return new ResponseEntity<>(schBasePointService.getPointList(region),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("锁定与解锁")
|
||||
@PostMapping("/changeLock")
|
||||
|
||||
public ResponseEntity<Object> changeLock(@RequestBody JSONObject points) {
|
||||
schBasePointService.changeLock(points);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
|
||||
@@ -23,110 +23,117 @@ public class SchBasePoint implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 点位编码 */
|
||||
@TableId(value = "point_code", type = IdType.NONE)
|
||||
|
||||
private String point_code;
|
||||
|
||||
|
||||
/** 点位名称 */
|
||||
private String point_name;
|
||||
|
||||
|
||||
/** 区域编码 */
|
||||
private String region_code;
|
||||
|
||||
|
||||
/** 区域名称 */
|
||||
private String region_name;
|
||||
|
||||
|
||||
/** 点位类型 */
|
||||
private String point_type;
|
||||
|
||||
|
||||
/** 点位状态 */
|
||||
private String point_status;
|
||||
|
||||
|
||||
/** 可以存放物料类型 */
|
||||
private String can_material_type;
|
||||
|
||||
|
||||
/** 可以存放载具类型 */
|
||||
private String can_vehicle_type;
|
||||
|
||||
|
||||
/** 载具最大数量 */
|
||||
private Integer vehicle_max_qty;
|
||||
|
||||
|
||||
/** 载具类型 */
|
||||
private String vehicle_type;
|
||||
|
||||
|
||||
/** 载具编码 */
|
||||
private String vehicle_code;
|
||||
|
||||
|
||||
/** 载具数量 */
|
||||
private Integer vehicle_qty;
|
||||
|
||||
|
||||
/** 块 */
|
||||
private Integer block_num;
|
||||
|
||||
|
||||
/** 排 */
|
||||
private Integer row_num;
|
||||
|
||||
|
||||
/** 列 */
|
||||
private Integer col_num;
|
||||
|
||||
|
||||
/** 层 */
|
||||
private Integer layer_num;
|
||||
|
||||
|
||||
/** 入库顺序 */
|
||||
private Integer in_order_seq;
|
||||
|
||||
|
||||
/** 出库顺序 */
|
||||
private Integer out_order_seq;
|
||||
|
||||
|
||||
/** 入空顺序 */
|
||||
private Integer in_empty_seq;
|
||||
|
||||
|
||||
/** 出空顺序 */
|
||||
private Integer out_empty_seq;
|
||||
|
||||
|
||||
/** 父点位 */
|
||||
private String parent_point_code;
|
||||
|
||||
|
||||
/** 外部编码 */
|
||||
private String ext_point_code;
|
||||
|
||||
|
||||
/** 进行中的任务编码 */
|
||||
private String ing_task_code;
|
||||
|
||||
|
||||
/** 是否工单 */
|
||||
private Boolean is_has_workder;
|
||||
|
||||
|
||||
/** 车间编码 */
|
||||
private String workshop_code;
|
||||
|
||||
|
||||
/** 是否自动 */
|
||||
private Boolean is_auto;
|
||||
|
||||
|
||||
/** 备注 */
|
||||
private String remark;
|
||||
|
||||
|
||||
/** 是否使用 */
|
||||
private Boolean is_used;
|
||||
|
||||
|
||||
/** 创建人 */
|
||||
private String create_id;
|
||||
|
||||
|
||||
|
||||
private String create_name;
|
||||
|
||||
|
||||
|
||||
private String create_time;
|
||||
|
||||
|
||||
|
||||
private String update_id;
|
||||
|
||||
|
||||
|
||||
private String update_name;
|
||||
|
||||
|
||||
private String update_time;
|
||||
|
||||
|
||||
private String update_time;
|
||||
private String source_id;
|
||||
/** 物料编码 */
|
||||
private String material_code;
|
||||
/** 位置 */
|
||||
private String point_location;
|
||||
/** 锁定类型 */
|
||||
private String lock_type;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<String> can_vehicle_types;
|
||||
|
||||
|
||||
@@ -60,8 +60,8 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
? whereJson.get("point_status").toString() : null;
|
||||
Boolean is_used = ObjectUtil.isNotEmpty(whereJson.get("is_used"))
|
||||
? Boolean.valueOf(whereJson.get("is_used").toString()) : null;
|
||||
Boolean lock_type = ObjectUtil.isNotEmpty(whereJson.get("lock_type"))
|
||||
? Boolean.valueOf(whereJson.get("lock_type").toString()) : false;
|
||||
String lock_type = ObjectUtil.isNotEmpty(whereJson.get("lock_type"))
|
||||
? String.valueOf(whereJson.get("lock_type").toString()) : null;
|
||||
Boolean parent_point = ObjectUtil.isNotEmpty(whereJson.get("parent_point"))
|
||||
? Boolean.valueOf(whereJson.get("parent_point").toString()) : false;
|
||||
LambdaQueryWrapper<SchBasePoint> lam = new LambdaQueryWrapper<>();
|
||||
@@ -72,10 +72,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
.eq(ObjectUtil.isNotEmpty(point_type), SchBasePoint::getPoint_type, point_type)
|
||||
.eq(ObjectUtil.isNotEmpty(point_status), SchBasePoint::getPoint_status, point_status)
|
||||
.eq(ObjectUtil.isNotEmpty(is_used), SchBasePoint::getIs_used, is_used)
|
||||
.and(!lock_type, slam -> slam.isNull(SchBasePoint::getIng_task_code).or()
|
||||
.eq(SchBasePoint::getIng_task_code, ""))
|
||||
.and(lock_type, slam -> slam.isNotNull(SchBasePoint::getIng_task_code)
|
||||
.ne(SchBasePoint::getIng_task_code, ""))
|
||||
.eq(ObjectUtil.isNotEmpty(lock_type), SchBasePoint::getLock_type, lock_type)
|
||||
.orderByAsc(SchBasePoint::getRegion_code)
|
||||
.orderByAsc(SchBasePoint::getPoint_code)
|
||||
.orderByAsc(SchBasePoint::getPoint_type)
|
||||
|
||||
@@ -9,6 +9,7 @@ import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.logging.annotation.Log;
|
||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch.task.service.dto.SchBaseTaskQuery;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -32,7 +33,7 @@ public class SchBaseTaskController {
|
||||
@GetMapping
|
||||
@Log("查询任务管理")
|
||||
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page){
|
||||
public ResponseEntity<Object> query(SchBaseTaskQuery whereJson, PageQuery page){
|
||||
return new ResponseEntity<>(TableDataInfo.build(schBaseTaskService.queryAll(whereJson,page)),HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import org.nl.common.domain.query.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.wms.ext.acs.service.dto.to.BaseRequest;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch.task.service.dto.SchBaseTaskQuery;
|
||||
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||
|
||||
import java.util.List;
|
||||
@@ -27,7 +28,7 @@ public interface ISchBaseTaskService extends IService<SchBaseTask> {
|
||||
* @param pageable 分页参数
|
||||
* @return IPage<SchBaseTask>
|
||||
*/
|
||||
IPage<SchBaseTask> queryAll(Map whereJson, PageQuery pageable);
|
||||
IPage<SchBaseTask> queryAll(SchBaseTaskQuery whereJson, PageQuery pageable);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -26,112 +26,121 @@ public class SchBaseTask implements Serializable {
|
||||
@TableId(value = "task_id", type = IdType.NONE)
|
||||
private String task_id;
|
||||
|
||||
|
||||
/** 任务编码 */
|
||||
private String task_code;
|
||||
|
||||
|
||||
/** 任务类型 */
|
||||
private String task_type;
|
||||
|
||||
|
||||
/** 任务状态 */
|
||||
private String task_status;
|
||||
|
||||
|
||||
/** 配置编码 */
|
||||
private String config_code;
|
||||
|
||||
|
||||
/** 点位1 */
|
||||
private String point_code1;
|
||||
|
||||
|
||||
/** 点位2 */
|
||||
private String point_code2;
|
||||
|
||||
|
||||
/** 点位3 */
|
||||
private String point_code3;
|
||||
|
||||
|
||||
/** 点位4 */
|
||||
private String point_code4;
|
||||
|
||||
|
||||
/** 组盘id */
|
||||
private String group_id;
|
||||
|
||||
|
||||
/** 载具类型 */
|
||||
private String vehicle_type;
|
||||
|
||||
|
||||
/** 载具数量 */
|
||||
private Integer vehicle_qty;
|
||||
|
||||
|
||||
/** 载具编码 */
|
||||
private String vehicle_code;
|
||||
|
||||
|
||||
/** 载具编码2 */
|
||||
private String vehicle_code2;
|
||||
|
||||
|
||||
/** - */
|
||||
private String handle_status;
|
||||
|
||||
|
||||
/** 车号 */
|
||||
private String car_no;
|
||||
|
||||
|
||||
/** 任务组id */
|
||||
private Long task_group_id;
|
||||
|
||||
|
||||
/** 任务组序号 */
|
||||
private BigDecimal task_group_seq;
|
||||
|
||||
|
||||
/** 完成类型 */
|
||||
private String finished_type;
|
||||
|
||||
|
||||
/** 创建模式 */
|
||||
private String create_mode;
|
||||
|
||||
|
||||
/** acs链路id */
|
||||
private String acs_trace_id;
|
||||
|
||||
|
||||
/** 请求参数 */
|
||||
private String request_param;
|
||||
|
||||
|
||||
/** 反馈参数 */
|
||||
private String response_param;
|
||||
|
||||
|
||||
/** 生成区域 */
|
||||
private String workshop_code;
|
||||
|
||||
|
||||
/** 外部数据 */
|
||||
private String ext_group_data;
|
||||
|
||||
|
||||
/** 备注 */
|
||||
private String remark;
|
||||
|
||||
|
||||
/** 是否删除 */
|
||||
private Boolean is_delete;
|
||||
|
||||
|
||||
/** 创建人 */
|
||||
private String create_id;
|
||||
|
||||
|
||||
/** 创建人 */
|
||||
private String create_name;
|
||||
|
||||
|
||||
/** 创建时间 */
|
||||
private String create_time;
|
||||
|
||||
|
||||
/** 更新id */
|
||||
private String update_id;
|
||||
|
||||
|
||||
/** 更新人 */
|
||||
private String update_name;
|
||||
|
||||
|
||||
/** 更新时间 */
|
||||
private String update_time;
|
||||
|
||||
/** 处理类 */
|
||||
private String handle_class;
|
||||
|
||||
private String acs_task_type;
|
||||
|
||||
private String priority;
|
||||
|
||||
private String product_area;
|
||||
|
||||
/** 是否下发 */
|
||||
private String is_send;
|
||||
|
||||
/** 配置表 -> 优先级 */
|
||||
@TableField(exist = false)
|
||||
private String priority;
|
||||
|
||||
/** 配置表 -> acs任务类型 */
|
||||
@TableField(exist = false)
|
||||
private String acs_task_type;
|
||||
|
||||
/** 配置表 -> agv系统 */
|
||||
@TableField(exist = false)
|
||||
private String agv_system_type;
|
||||
|
||||
/** 额外参数 */
|
||||
@TableField(exist = false)
|
||||
private String dtl_type;
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ public class SchBaseTaskconfig implements Serializable {
|
||||
|
||||
|
||||
private String acs_task_type;
|
||||
private String agv_system_type;
|
||||
|
||||
|
||||
private String task_name;
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
package org.nl.wms.sch.task.service.dao.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch.task.service.dto.SchBaseTaskQuery;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lyd
|
||||
@@ -9,4 +13,5 @@ import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||
**/
|
||||
public interface SchBaseTaskMapper extends BaseMapper<SchBaseTask> {
|
||||
|
||||
IPage<SchBaseTask> selectPageLeftJoin(IPage<SchBaseTask> pages, SchBaseTaskQuery whereJson, List<String> collect);
|
||||
}
|
||||
|
||||
@@ -2,4 +2,47 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskMapper">
|
||||
|
||||
<select id="selectPageLeftJoin" resultType="org.nl.wms.sch.task.service.dao.SchBaseTask">
|
||||
SELECT
|
||||
t.*,
|
||||
tc.config_name,
|
||||
tc.task_name,
|
||||
tc.priority,
|
||||
tc.acs_task_type,
|
||||
tc.agv_system_type
|
||||
FROM
|
||||
`sch_base_task` t
|
||||
LEFT JOIN sch_base_taskconfig tc ON tc.config_code = t.config_code
|
||||
<where>
|
||||
<if test="whereJson.task_code != null">
|
||||
AND t.task_code = #{whereJson.task_code}
|
||||
</if>
|
||||
<if test="whereJson.config_code != null">
|
||||
AND t.config_code = #{whereJson.config_code}
|
||||
</if>
|
||||
<if test="whereJson.point_code != null">
|
||||
AND (t.point_code1 LIKE '%${whereJson.point_code}%'
|
||||
OR t.point_code2 LIKE '%${whereJson.point_code}%')
|
||||
</if>
|
||||
<if test="whereJson.unFinished != null">
|
||||
AND t.task_status <![CDATA[<=]]> #{whereJson.unFinished}
|
||||
</if>
|
||||
<if test="whereJson.vehicle_code != null">
|
||||
AND t.vehicle_code = #{whereJson.vehicle_code}
|
||||
</if>
|
||||
<if test="whereJson.end_time != null">
|
||||
AND t.create_time <![CDATA[<=]]> #{whereJson.end_time}
|
||||
</if>
|
||||
<if test="whereJson.begin_time != null">
|
||||
AND t.create_time <![CDATA[>=]]> #{whereJson.begin_time}
|
||||
</if>
|
||||
<if test="collect != null and collect != ''">
|
||||
AND t.task_status IN
|
||||
<foreach collection="collect" item="code" separator="," open="(" close=")">
|
||||
#{code}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY t.create_time DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
AND sc.config_name LIKE '%${config.blurry}%'
|
||||
</if>
|
||||
<if test="config.workshop_code != null">
|
||||
AND sc.workshop_code = config.workshop_code
|
||||
AND sc.workshop_code = #{config.workshop_code}
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -1,12 +1,25 @@
|
||||
package org.nl.wms.sch.task.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.common.domain.query.BaseQuery;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lyd
|
||||
* @date 2023-05-15
|
||||
**/
|
||||
public class SchBaseTaskQuery extends BaseQuery<SchBaseTask> {
|
||||
@Data
|
||||
public class SchBaseTaskQuery implements Serializable {
|
||||
private String task_code;
|
||||
private String vehicle_code;
|
||||
private String point_code;
|
||||
private String begin_time;
|
||||
private String end_time;
|
||||
private String more_task_status;
|
||||
private String unFinished;
|
||||
|
||||
private String config_code;
|
||||
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskMapper;
|
||||
import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskconfigMapper;
|
||||
import org.nl.wms.sch.task.service.dto.SchBaseTaskQuery;
|
||||
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||
import org.nl.wms.sch.task_manage.task.TaskFactory;
|
||||
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||
@@ -50,40 +51,51 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
||||
private TaskFactory taskFactory;
|
||||
|
||||
@Override
|
||||
public IPage<SchBaseTask> queryAll(Map whereJson, PageQuery page) {
|
||||
String task_code = ObjectUtil.isNotEmpty(whereJson.get("task_code"))
|
||||
? whereJson.get("task_code").toString() : null;
|
||||
String vehicle_code = ObjectUtil.isNotEmpty(whereJson.get("vehicle_code"))
|
||||
? whereJson.get("vehicle_code").toString() : null;
|
||||
String point_code = ObjectUtil.isNotEmpty(whereJson.get("point_code"))
|
||||
? whereJson.get("point_code").toString() : null;
|
||||
String begin_time = ObjectUtil.isNotEmpty(whereJson.get("begin_time"))
|
||||
? whereJson.get("begin_time").toString() : null;
|
||||
String end_time = ObjectUtil.isNotEmpty(whereJson.get("end_time"))
|
||||
? whereJson.get("end_time").toString() : null;
|
||||
String more_task_status = ObjectUtil.isNotEmpty(whereJson.get("more_task_status"))
|
||||
? whereJson.get("more_task_status").toString() : null;
|
||||
List<String> collect = ObjectUtil.isNotEmpty(more_task_status)
|
||||
? Arrays.stream(more_task_status.split(",")).collect(Collectors.toList()) : null;
|
||||
String unFinished = null;
|
||||
public IPage<SchBaseTask> queryAll(SchBaseTaskQuery whereJson, PageQuery page) {
|
||||
List<String> collect = ObjectUtil.isNotEmpty(whereJson.getMore_task_status())
|
||||
? Arrays.stream(whereJson.getMore_task_status().split(",")).collect(Collectors.toList()) : null;
|
||||
if (collect != null) {
|
||||
if (collect.contains(TaskStatus.UNFINISHED.getCode())) {
|
||||
collect = null;
|
||||
unFinished = TaskStatus.EXECUTING.getCode();
|
||||
whereJson.setUnFinished(TaskStatus.EXECUTING.getCode());
|
||||
}
|
||||
}
|
||||
LambdaQueryWrapper<SchBaseTask> lam = new LambdaQueryWrapper<>();
|
||||
lam.eq(ObjectUtil.isNotEmpty(task_code), SchBaseTask::getTask_code, task_code)
|
||||
.eq(ObjectUtil.isNotEmpty(vehicle_code), SchBaseTask::getVehicle_code, vehicle_code)
|
||||
.eq(ObjectUtil.isNotEmpty(point_code), SchBaseTask::getPoint_code1, point_code)
|
||||
.ge(ObjectUtil.isNotEmpty(begin_time), SchBaseTask::getCreate_time, begin_time)
|
||||
.le(ObjectUtil.isNotEmpty(end_time), SchBaseTask::getCreate_time, end_time)
|
||||
.in(ObjectUtil.isNotEmpty(collect), SchBaseTask::getTask_status, collect)
|
||||
.le(ObjectUtil.isNotEmpty(unFinished), SchBaseTask::getTask_status, unFinished)
|
||||
.orderByDesc(SchBaseTask::getUpdate_time);
|
||||
IPage<SchBaseTask> pages = new Page<>(page.getPage() + 1, page.getSize());
|
||||
schBaseTaskMapper.selectPage(pages, lam);
|
||||
pages = schBaseTaskMapper.selectPageLeftJoin(pages, whereJson, collect);
|
||||
return pages;
|
||||
// String task_code = ObjectUtil.isNotEmpty(whereJson.get("task_code"))
|
||||
// ? whereJson.get("task_code").toString() : null;
|
||||
// String vehicle_code = ObjectUtil.isNotEmpty(whereJson.get("vehicle_code"))
|
||||
// ? whereJson.get("vehicle_code").toString() : null;
|
||||
// String point_code = ObjectUtil.isNotEmpty(whereJson.get("point_code"))
|
||||
// ? whereJson.get("point_code").toString() : null;
|
||||
// String begin_time = ObjectUtil.isNotEmpty(whereJson.get("begin_time"))
|
||||
// ? whereJson.get("begin_time").toString() : null;
|
||||
// String end_time = ObjectUtil.isNotEmpty(whereJson.get("end_time"))
|
||||
// ? whereJson.get("end_time").toString() : null;
|
||||
// String more_task_status = ObjectUtil.isNotEmpty(whereJson.get("more_task_status"))
|
||||
// ? whereJson.get("more_task_status").toString() : null;
|
||||
// List<String> collect = ObjectUtil.isNotEmpty(more_task_status)
|
||||
// ? Arrays.stream(more_task_status.split(",")).collect(Collectors.toList()) : null;
|
||||
// String unFinished = null;
|
||||
// if (collect != null) {
|
||||
// if (collect.contains(TaskStatus.UNFINISHED.getCode())) {
|
||||
// collect = null;
|
||||
// unFinished = TaskStatus.EXECUTING.getCode();
|
||||
// }
|
||||
// }
|
||||
// LambdaQueryWrapper<SchBaseTask> lam = new LambdaQueryWrapper<>();
|
||||
// lam.eq(ObjectUtil.isNotEmpty(task_code), SchBaseTask::getTask_code, task_code)
|
||||
// .eq(ObjectUtil.isNotEmpty(vehicle_code), SchBaseTask::getVehicle_code, vehicle_code)
|
||||
// .eq(ObjectUtil.isNotEmpty(point_code), SchBaseTask::getPoint_code1, point_code)
|
||||
// .ge(ObjectUtil.isNotEmpty(begin_time), SchBaseTask::getCreate_time, begin_time)
|
||||
// .le(ObjectUtil.isNotEmpty(end_time), SchBaseTask::getCreate_time, end_time)
|
||||
// .in(ObjectUtil.isNotEmpty(collect), SchBaseTask::getTask_status, collect)
|
||||
// .le(ObjectUtil.isNotEmpty(unFinished), SchBaseTask::getTask_status, unFinished)
|
||||
// .orderByDesc(SchBaseTask::getUpdate_time);
|
||||
// IPage<SchBaseTask> pages = new Page<>(page.getPage() + 1, page.getSize());
|
||||
// schBaseTaskMapper.selectPage(pages, lam);
|
||||
// return pages;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -144,6 +144,8 @@ public abstract class AbstractTask {
|
||||
.eq(SchBaseTaskconfig::getConfig_code, config_code));
|
||||
taskDto.setPriority(taskConfig.getPriority());
|
||||
taskDto.setTask_type(taskConfig.getAcs_task_type());
|
||||
taskDto.setProduct_area(taskConfig.getWorkshop_code());
|
||||
taskDto.setAgv_system_type(taskConfig.getAgv_system_type());
|
||||
taskDto.setRoute_plan_code(taskConfig.getRoute_plan_code());
|
||||
return taskDto;
|
||||
}
|
||||
@@ -214,15 +216,6 @@ public abstract class AbstractTask {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 首先组盘在下发任务
|
||||
*
|
||||
* @param param 具体参数
|
||||
*/
|
||||
public String setGroupPlate(JSONObject param) {
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 下发前的处理,可以根据任务类进行给acs任务类更新数据
|
||||
* @param task LMS任务
|
||||
@@ -259,22 +252,31 @@ public abstract class AbstractTask {
|
||||
// 申请任务
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
// 请求点
|
||||
String apply_point_code = param.getString("device_code");
|
||||
String applyPointCode = param.getString("device_code");
|
||||
String requestNo = param.getString("requestNo");
|
||||
String config_code = param.getString("config_code");
|
||||
String configCode = param.getString("config_code");
|
||||
|
||||
// 1、校验数据
|
||||
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
||||
.eq(SchBaseTaskconfig::getConfig_code, config_code));
|
||||
Assert.notNull(taskConfig, "找不到配置文件,请确认[" + config_code + "]配置是否存在!");
|
||||
.eq(SchBaseTaskconfig::getConfig_code, configCode));
|
||||
Assert.notNull(taskConfig, "找不到配置文件,请确认[" + configCode + "]配置是否存在!");
|
||||
|
||||
// 最大任务数
|
||||
Integer tcmn = taskConfig.getTask_create_max_num();
|
||||
// 获取执行中的任务
|
||||
List<SchBaseTask> unFinishTasksByTaskConfig = taskService.findUnFinishTasksByTaskConfig(
|
||||
taskConfig.getConfig_code(), apply_point_code, taskConfig.getTask_direction());
|
||||
|
||||
// 获取执行中的任务(由配置文件设置,一般是最大值)
|
||||
List<SchBaseTask> unFinishTasksByTaskConfig = taskService.findUnFinishTasksByTaskConfig(
|
||||
taskConfig.getConfig_code(), taskConfig.getTask_direction());
|
||||
Assert.isFalse(unFinishTasksByTaskConfig.size() >= tcmn,
|
||||
apply_point_code + "该点位申请的任务未完成数已超过上限,无法申请任务");
|
||||
applyPointCode + "该点位申请的任务未完成数已超过上限,无法申请任务");
|
||||
|
||||
// 校验同个点位,同种任务是否多次请求创建任务(固定只能1个任务)
|
||||
List<SchBaseTask> applyPointTask = taskService.findUnFinishTasksByTaskConfig(
|
||||
taskConfig.getConfig_code(), applyPointCode, taskConfig.getTask_direction());
|
||||
if (applyPointTask.size() == 1) {
|
||||
throw new BadRequestException("点位[ " + applyPointCode + "] 已经创建过任务");
|
||||
}
|
||||
|
||||
String vehicleType = param.getString("vehicle_type");
|
||||
String vehicleCode = TaskUtils.defaultVehicleCode(param.getString("vehicle_code"));
|
||||
AbstractTask bean = SpringContextHolder.getBean(this.getClass());
|
||||
@@ -283,31 +285,30 @@ public abstract class AbstractTask {
|
||||
task.setAcs_trace_id(requestNo);
|
||||
task.setTask_id(IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||
task.setTask_code(IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||
task.setConfig_code(config_code);
|
||||
task.setConfig_code(configCode);
|
||||
// todo
|
||||
task.setCreate_mode(ObjectUtil.isNotEmpty(param.getString("create_mode"))
|
||||
? param.getString("create_mode") : GeneralDefinition.ACS_CREATION);
|
||||
task.setVehicle_code(vehicleCode);
|
||||
task.setVehicle_qty(param.getInteger("vehicle_qty"));
|
||||
task.setVehicle_type(vehicleType);
|
||||
task.setTask_status(TaskStatus.APPLY.getCode());
|
||||
task.setProduct_area(param.getString("product_area"));
|
||||
// 设置起/终点
|
||||
task.setPoint_code1(param.getString("point_code1"));
|
||||
task.setPoint_code2(param.getString("point_code2"));
|
||||
task.setPoint_code3(param.getString("point_code3"));
|
||||
task.setPoint_code4(param.getString("point_code4"));
|
||||
// 将所有参数存到表中,后续需要可以提取
|
||||
task.setRequest_param(JSONObject.toJSONString(param));
|
||||
// 设置创建人信息
|
||||
TaskUtils.setCreateByAcsOrPda(task, param);
|
||||
|
||||
// 3、判断是否直接找点下发
|
||||
// 立即创建吧组盘放到具体位置,免得重复创建
|
||||
if (taskConfig.getIs_immediate_create()) {
|
||||
bean.createCompletion(task);
|
||||
} else {
|
||||
// 不需要立即创建
|
||||
// 设置组盘 - 需要的话由子类自行实现
|
||||
// todo: 如果不需要这种场景,可以换成其他使用场景,目的是由策略角色去完善对此字段赋值
|
||||
task.setGroup_id(bean.setGroupPlate(param));
|
||||
// 创建一条单点任务。
|
||||
taskService.save(task);
|
||||
bean.create();
|
||||
|
||||
@@ -8,19 +8,11 @@ package org.nl.wms.sch.task_manage;
|
||||
public class GeneralDefinition {
|
||||
/** 未知 */
|
||||
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";
|
||||
@@ -30,16 +22,6 @@ public class GeneralDefinition {
|
||||
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 ENTRANCE = "1";
|
||||
/**出口**/
|
||||
public static final String EXIT = "2";
|
||||
// 任务生产方式
|
||||
/**自动创建**/
|
||||
public static final String AUTO_CREATION = "1";
|
||||
@@ -54,16 +36,6 @@ public class GeneralDefinition {
|
||||
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";
|
||||
|
||||
@@ -18,7 +18,6 @@ import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||
import org.nl.wms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.wms.util.TaskUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -48,13 +47,11 @@ public class CallEmpReelTask extends AbstractTask {
|
||||
public void deliveryBeforeProcessing(SchBaseTask task, AcsTaskDto acsTaskDto) {
|
||||
acsTaskDto.setDtl_type(task.getDtl_type());
|
||||
acsTaskDto.setTruss_type(PackageInfoIvtEnum.TRUSS_TYPE.code("点对点任务"));
|
||||
acsTaskDto.setAgv_system_type(PackageInfoIvtEnum.AGV_SYSTEM_TYPE.code("1楼叉车系统"));
|
||||
acsTaskDto.setParams(JSON.parseObject(task.getRequest_param(),
|
||||
new TypeReference<Map<String, String>>() {}));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void create() throws BadRequestException {
|
||||
|
||||
}
|
||||
@@ -115,11 +112,9 @@ public class CallEmpReelTask extends AbstractTask {
|
||||
task.setTask_code(IdUtil.getSnowflake(1,1).nextIdStr());
|
||||
task.setHandle_class(THIS_CLASS);
|
||||
task.setIs_send(isSend ? "1" : "0");
|
||||
task.setAcs_task_type(StrUtil.isEmpty(task.getAcs_task_type())
|
||||
? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : (task.getAcs_task_type()));
|
||||
task.setTask_status(StrUtil.isEmpty(task.getTask_status())
|
||||
? TaskStatus.START_AND_POINT.getCode() : task.getTask_status());
|
||||
task.setProduct_area(StrUtil.isEmpty(task.getProduct_area()) ? "A1" : task.getProduct_area());
|
||||
task.setWorkshop_code(StrUtil.isEmpty(task.getWorkshop_code()) ? "A1" : task.getWorkshop_code());
|
||||
TaskUtils.setCreateByDefault(task);
|
||||
taskService.save(task);
|
||||
//如果目标点位没有空位先创建不下发
|
||||
|
||||
@@ -49,7 +49,13 @@ https://juejin.cn/post/6844903775631572999
|
||||
</encoder>
|
||||
|
||||
</appender>
|
||||
<appender name="luceneAppender" class="org.nl.config.lucene.LuceneAppender" />
|
||||
<appender name="luceneAppender" class="org.nl.config.lucene.LuceneAppender" >
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>INFO</level>
|
||||
<onMatch>ACCEPT</onMatch>
|
||||
<onMismatch>DENY</onMismatch>
|
||||
</filter>
|
||||
</appender>
|
||||
<appender name="asyncLuceneAppender" class="ch.qos.logback.classic.AsyncAppender">
|
||||
<appender-ref ref="luceneAppender" />
|
||||
<!-- 设置队列大小 -->
|
||||
|
||||
Reference in New Issue
Block a user