fix: 修复

This commit is contained in:
2023-05-29 08:36:45 +08:00
parent 0e6defe5fe
commit 11991e46e6
43 changed files with 1128 additions and 87 deletions

View File

@@ -49,7 +49,7 @@ public class SecurityUtils {
* @return 系统用户名称
*/
public static String getCurrentNickName() {
return getCurrentUser().getPreson_name();
return getCurrentUser().getPresonName();
}
/**

View File

@@ -22,7 +22,7 @@ public class CurrentUser implements Serializable {
//账号
private String username;
//姓名
private String preson_name;
private String presonName;
//用户详细信息
private SysUser user;

View File

@@ -168,7 +168,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
dept.setDept_id(IdUtil.getStringId());
CurrentUser user = SecurityUtils.getCurrentUser();
dept.setCreate_id(user.getId());
dept.setCreate_name(user.getPreson_name());
dept.setCreate_name(user.getPresonName());
dept.setCreate_time(new Date());
this.save(dept);
// 清理缓存

View File

@@ -244,7 +244,7 @@ public class OnlineUserService {
CurrentUser user = new CurrentUser();
user.setId(userInfo.getUser_id());
user.setUsername(userInfo.getUsername());
user.setPreson_name((userInfo.getPerson_name()));
user.setPresonName((userInfo.getPerson_name()));
user.setUser(userInfo);
user.setPermissions(permissionList);

View File

@@ -8,12 +8,25 @@
,ma.material_spec
FROM pdm_bd_workorder wo
LEFT JOIN md_base_material ma ON ma.material_id = wo.material_id
WHERE 1 = 1
<if test="query.workorder_code != null and query.workorder_code != ''">
AND wo.workorder_code LIKE CONCAT('%', #{query.workorder_code}, '%')
</if>
<if test="query.point_code != null and query.point_code != ''">
AND LOWER(wo.point_code) LIKE LOWER(CONCAT('%', #{query.point_code}, '%'))
</if>
<where>
<if test="query.more_order_status != null and query.more_order_status != ''">
workorder_status IN
<foreach collection="query.more_order_status" item="code" separator="," open="(" close=")">
#{code}
</foreach>
</if>
<if test="query.workorder_code != null and query.workorder_code != ''">
AND wo.workorder_code LIKE CONCAT('%', #{query.workorder_code}, '%')
</if>
<if test="query.point_code != null and query.point_code != ''">
AND LOWER(wo.point_code) LIKE LOWER(CONCAT('%', #{query.point_code}, '%'))
</if>
<if test="query.begin_time != null and query.begin_time != ''">
AND wo.create_time <![CDATA[ >= ]]> #{query.begin_time}
</if>
<if test="query.end_time != null and query.end_time != ''">
AND wo.create_time <![CDATA[ <= ]]> #{query.end_time}
</if>
</where>
</select>
</mapper>

View File

@@ -3,6 +3,7 @@ package org.nl.wms.pdm.service.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author lyd
@@ -12,5 +13,8 @@ import java.io.Serializable;
public class PdmBdWorkorderQuery implements Serializable {
private String workorder_code;
private String point_code;
private String begin_time;
private String end_time;
private List<String> more_order_status;
}

View File

@@ -2,6 +2,7 @@ package org.nl.wms.pdm.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -17,6 +18,7 @@ import org.nl.wms.pdm.service.dto.PdmBdWorkorderQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Set;
/**
@@ -33,8 +35,6 @@ public class PdmBdWorkorderServiceImpl extends ServiceImpl<PdmBdWorkorderMapper,
@Override
public IPage<PdmBdWorkorder> queryAll(PdmBdWorkorderQuery query, PageQuery page){
// String workorder_code = ObjectUtil.isNotEmpty(whereJson.get("workorder_code")) ? whereJson.get("workorder_code").toString() : null;
// String point_code = ObjectUtil.isNotEmpty(whereJson.get("point_code")) ? whereJson.get("point_code").toString() : null;
IPage<PdmBdWorkorder> pages = new Page<>(page.getPage() + 1, page.getSize());
pages = pdmBdWorkorderMapper.selectPageLeftJoin(pages, query);
return pages;

View File

@@ -1,5 +1,6 @@
package org.nl.wms.sch.group.controller;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -64,4 +65,11 @@ public class SchBaseVehiclematerialgroupController {
schBaseVehiclematerialgroupService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@PostMapping("/getGroup")
@Log("获取组盘信息管理")
@ApiOperation("获取组盘信息管理")
public ResponseEntity<Object> getGroup(@RequestBody JSONObject entity){
return new ResponseEntity<>(schBaseVehiclematerialgroupService.getGroup(entity), HttpStatus.OK);
}
}

View File

@@ -1,5 +1,6 @@
package org.nl.wms.sch.group.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.common.domain.query.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -41,4 +42,11 @@ public interface ISchBaseVehiclematerialgroupService extends IService<SchBaseVeh
* @param ids /
*/
void deleteAll(Set<String> ids);
/**
* 根据载具编码返回数据
* @param entity
* @return
*/
SchBaseVehiclematerialgroup getGroup(JSONObject entity);
}

View File

@@ -146,5 +146,7 @@ public class SchBaseVehiclematerialgroup implements Serializable {
private String material_spec;
@TableField(exist = false)
private String region_name;
@TableField(exist = false)
private String group_bind_material_status_name;
}

View File

@@ -1,5 +1,6 @@
package org.nl.wms.sch.group.service.dao.mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
@@ -12,4 +13,6 @@ import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery;
public interface SchBaseVehiclematerialgroupMapper extends BaseMapper<SchBaseVehiclematerialgroup> {
IPage<SchBaseVehiclematerialgroup> selectPageLeftJoin(IPage<SchBaseVehiclematerialgroup> pages, SchBaseVehiclematerialgroupQuery query);
SchBaseVehiclematerialgroup getGroup(JSONObject entity);
}

View File

@@ -18,5 +18,35 @@
<if test="query.workshop_code != null">
AND vg.workshop_code = #{query.workshop_code}
</if>
<if test="query.group_bind_material_status != null">
AND vg.group_bind_material_status = #{query.group_bind_material_status}
</if>
<if test="query.region_code != null">
AND vg.point_code IN (
SELECT p.point_code
FROM sch_base_point p
WHERE p.region_code = #{query.region_code}
)
</if>
</select>
<select id="getGroup" resultType="org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup" parameterType="com.alibaba.fastjson.JSONObject">
SELECT vg.*
, ma.material_name
, ma.material_code
, ma.material_spec
, po.region_name
, sd.label AS group_bind_material_status_name
FROM sch_base_vehiclematerialgroup vg
LEFT JOIN md_base_material ma ON vg.material_id = ma.material_id
LEFT JOIN sch_base_point po ON po.point_code = vg.point_code
LEFT JOIN sys_dict sd ON sd.code = 'group_bind_material_status' AND sd.value = vg.group_bind_material_status
WHERE 1 = 1
<if test="vehicle_code != null">
AND vg.vehicle_code = #{vehicle_code}
</if>
<if test="vehicle_type != null">
AND vg.vehicle_type = #{vehicle_type}
</if>
AND vg.group_bind_material_status = '2'
</select>
</mapper>

View File

@@ -14,4 +14,6 @@ import java.io.Serializable;
public class SchBaseVehiclematerialgroupQuery implements Serializable {
private String vehicle_code;
private String workshop_code;
private String region_code;
private String group_bind_material_status;
}

View File

@@ -3,6 +3,7 @@ package org.nl.wms.sch.group.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -73,4 +74,9 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
vehiclematerialgroupMapper.deleteBatchIds(ids);
}
@Override
public SchBaseVehiclematerialgroup getGroup(JSONObject entity) {
return vehiclematerialgroupMapper.getGroup(entity);
}
}

View File

@@ -0,0 +1,66 @@
package org.nl.wms.sch.interactivelog.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.base.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.logging.annotation.Log;
import org.nl.wms.sch.interactivelog.service.ISchBaseAcsandlmsinteractivelogService;
import org.nl.wms.sch.interactivelog.service.dao.SchBaseAcsandlmsinteractivelog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
import java.util.Set;
/**
* @author lyd
* @date 2023-05-26
**/
@Slf4j
@RestController
@Api(tags = "ACS和LMS交互日志表管理")
@RequestMapping("/api/schBaseAcsandlmsinteractivelog")
public class SchBaseAcsandlmsinteractivelogController {
@Autowired
private ISchBaseAcsandlmsinteractivelogService schBaseAcsandlmsinteractivelogService;
@GetMapping
@Log("查询ACS和LMS交互日志表")
@ApiOperation("查询ACS和LMS交互日志表")
//@SaCheckPermission("@el.check('schBaseAcsandlmsinteractivelog:list')")
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page){
return new ResponseEntity<>(TableDataInfo.build(schBaseAcsandlmsinteractivelogService.queryAll(whereJson,page)),HttpStatus.OK);
}
@PostMapping
@Log("新增ACS和LMS交互日志表")
@ApiOperation("新增ACS和LMS交互日志表")
//@SaCheckPermission("@el.check('schBaseAcsandlmsinteractivelog:add')")
public ResponseEntity<Object> create(@Validated @RequestBody SchBaseAcsandlmsinteractivelog entity){
schBaseAcsandlmsinteractivelogService.create(entity);
return new ResponseEntity<>(HttpStatus.CREATED);
}
@PutMapping
@Log("修改ACS和LMS交互日志表")
@ApiOperation("修改ACS和LMS交互日志表")
//@SaCheckPermission("@el.check('schBaseAcsandlmsinteractivelog:edit')")
public ResponseEntity<Object> update(@Validated @RequestBody SchBaseAcsandlmsinteractivelog entity){
schBaseAcsandlmsinteractivelogService.update(entity);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除ACS和LMS交互日志表")
@ApiOperation("删除ACS和LMS交互日志表")
//@SaCheckPermission("@el.check('schBaseAcsandlmsinteractivelog:del')")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody Set<String> ids) {
schBaseAcsandlmsinteractivelogService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
}

View File

@@ -0,0 +1,43 @@
package org.nl.wms.sch.interactivelog.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.nl.common.domain.query.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.sch.interactivelog.service.dao.SchBaseAcsandlmsinteractivelog;
import java.util.Map;
import java.util.Set;
/**
* @description 服务接口
* @author lyd
* @date 2023-05-26
**/
public interface ISchBaseAcsandlmsinteractivelogService extends IService<SchBaseAcsandlmsinteractivelog> {
/**
* 查询数据分页
* @param whereJson 条件
* @param pageable 分页参数
* @return IPage<SchBaseAcsandlmsinteractivelog>
*/
IPage<SchBaseAcsandlmsinteractivelog> queryAll(Map whereJson, PageQuery pageable);
/**
* 创建
* @param entity /
*/
void create(SchBaseAcsandlmsinteractivelog entity);
/**
* 编辑
* @param entity /
*/
void update(SchBaseAcsandlmsinteractivelog entity);
/**
* 多选删除
* @param ids /
*/
void deleteAll(Set<String> ids);
}

View File

@@ -0,0 +1,73 @@
package org.nl.wms.sch.interactivelog.service.dao;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* @description /
* @author lyd
* @date 2023-05-26
**/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sch_base_acsandlmsinteractivelog")
public class SchBaseAcsandlmsinteractivelog implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "log_id", type = IdType.NONE)
@ApiModelProperty(value = "日志标识")
private String log_id;
@ApiModelProperty(value = "请求名字")
private String request_name;
@ApiModelProperty(value = "生成任务的请求参数")
private String request_param;
@ApiModelProperty(value = "下发任务的请求参数")
private String response_param;
@ApiModelProperty(value = "链路标识")
private String acs_trace_id;
@ApiModelProperty(value = "请求描述")
private String request_desc;
@ApiModelProperty(value = "请求类型")
private String request_type;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "是否处理完成")
private Boolean is_finish;
@ApiModelProperty(value = "车间编码")
private String workshop_code;
@ApiModelProperty(value = "创建人")
private String create_id;
@ApiModelProperty(value = "创建人")
private String create_name;
@ApiModelProperty(value = "创建时间")
private String create_time;
@ApiModelProperty(value = "修改人")
private String update_id;
@ApiModelProperty(value = "修改人")
private String update_name;
@ApiModelProperty(value = "修改时间")
private String update_time;
}

View File

@@ -0,0 +1,12 @@
package org.nl.wms.sch.interactivelog.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.sch.interactivelog.service.dao.SchBaseAcsandlmsinteractivelog;
/**
* @author lyd
* @date 2023-05-26
**/
public interface SchBaseAcsandlmsinteractivelogMapper extends BaseMapper<SchBaseAcsandlmsinteractivelog> {
}

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.sch.interactivelog.service.dao.mapper.SchBaseAcsandlmsinteractivelogMapper">
</mapper>

View File

@@ -0,0 +1,61 @@
package org.nl.wms.sch.interactivelog.service.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @description /
* @author lyd
* @date 2023-05-26
**/
@Data
public class SchBaseAcsandlmsinteractivelogDto implements Serializable {
/** 日志标识 */
private String log_id;
/** 请求名字 */
private String request_name;
/** 生成任务的请求参数 */
private String request_param;
/** 下发任务的请求参数 */
private String response_param;
/** 链路标识 */
private String acs_trace_id;
/** 请求描述 */
private String request_desc;
/** 请求类型 */
private String request_type;
/** 备注 */
private String remark;
/** 是否处理完成 */
private Boolean is_finish;
/** 车间编码 */
private String workshop_code;
/** 创建人 */
private String create_id;
/** 创建人 */
private String create_name;
/** 创建时间 */
private String create_time;
/** 修改人 */
private String update_id;
/** 修改人 */
private String update_name;
/** 修改时间 */
private String update_time;
}

View File

@@ -0,0 +1,12 @@
package org.nl.wms.sch.interactivelog.service.dto;
import org.nl.common.domain.query.BaseQuery;
import org.nl.wms.sch.interactivelog.service.dao.SchBaseAcsandlmsinteractivelog;
/**
* @author lyd
* @date 2023-05-26
**/
public class SchBaseAcsandlmsinteractivelogQuery extends BaseQuery<SchBaseAcsandlmsinteractivelog> {
}

View File

@@ -0,0 +1,80 @@
package org.nl.wms.sch.interactivelog.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.sch.interactivelog.service.ISchBaseAcsandlmsinteractivelogService;
import org.nl.wms.sch.interactivelog.service.dao.mapper.SchBaseAcsandlmsinteractivelogMapper;
import org.nl.wms.sch.interactivelog.service.dao.SchBaseAcsandlmsinteractivelog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.Set;
/**
* @description 服务实现
* @author lyd
* @date 2023-05-26
**/
@Slf4j
@Service
public class SchBaseAcsandlmsinteractivelogServiceImpl extends ServiceImpl<SchBaseAcsandlmsinteractivelogMapper, SchBaseAcsandlmsinteractivelog> implements ISchBaseAcsandlmsinteractivelogService {
@Autowired
private SchBaseAcsandlmsinteractivelogMapper schBaseAcsandlmsinteractivelogMapper;
@Override
public IPage<SchBaseAcsandlmsinteractivelog> queryAll(Map whereJson, PageQuery page){
LambdaQueryWrapper<SchBaseAcsandlmsinteractivelog> lam = new LambdaQueryWrapper<>();
IPage<SchBaseAcsandlmsinteractivelog> pages = new Page<>(page.getPage() + 1, page.getSize());
schBaseAcsandlmsinteractivelogMapper.selectPage(pages, lam);
return pages;
}
@Override
public void create(SchBaseAcsandlmsinteractivelog entity) {
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
entity.setLog_id(IdUtil.getSnowflake(1, 1).nextIdStr());
entity.setCreate_id(currentUserId);
entity.setCreate_name(nickName);
entity.setCreate_time(now);
entity.setUpdate_id(currentUserId);
entity.setUpdate_name(nickName);
entity.setUpdate_time(now);
schBaseAcsandlmsinteractivelogMapper.insert(entity);
}
@Override
public void update(SchBaseAcsandlmsinteractivelog entity) {
SchBaseAcsandlmsinteractivelog dto = schBaseAcsandlmsinteractivelogMapper.selectById(entity.getLog_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
String currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now();
entity.setUpdate_id(currentUserId);
entity.setUpdate_name(nickName);
entity.setUpdate_time(now);
schBaseAcsandlmsinteractivelogMapper.updateById(entity);
}
@Override
public void deleteAll(Set<String> ids) {
// 真删除
schBaseAcsandlmsinteractivelogMapper.deleteBatchIds(ids);
}
}

View File

@@ -3,10 +3,18 @@ package org.nl.wms.sch.point.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.sch.point.service.dao.SchBasePoint;
import java.util.List;
/**
* @author lyd
* @date 2023-05-15
**/
public interface SchBasePointMapper extends BaseMapper<SchBasePoint> {
/**
* 批量禁用启用
* @param pointCodes
* @param used
*/
void batchChangeUsed(List<String> pointCodes, Boolean used);
}

View File

@@ -2,4 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.sch.point.service.dao.mapper.SchBasePointMapper">
<update id="batchChangeUsed">
UPDATE sch_base_point
SET is_used = #{used}
<where>
point_code IN
<foreach collection="pointCodes" item="code" separator="," open="(" close=")">
#{code}
</foreach>
</where>
</update>
</mapper>

View File

@@ -1,7 +1,9 @@
package org.nl.wms.sch.point.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -26,6 +28,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
import java.util.stream.Collectors;
/**
* @description 服务实现
@@ -149,7 +152,17 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
@Override
public void changeUsed(JSONObject jsonObject) {
// 不可能为空
JSONArray data = jsonObject.getJSONArray("data");
Boolean used = jsonObject.getBoolean("used");
Assert.notNull(data, "数据为空!");
Assert.notNull(used, "数据为空!");
List<SchBasePoint> schBasePoints = JSONArray.parseArray(JSONArray.toJSONString(data), SchBasePoint.class);
// 获取所有pointCode
List<String> pointCodes = schBasePoints.stream()
.map(SchBasePoint::getPoint_code)
.collect(Collectors.toList());
pointMapper.batchChangeUsed(pointCodes, used);
}
@Override

View File

@@ -24,13 +24,19 @@ public class SchBaseTaskconfig implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "config_code", type = IdType.NONE)
@TableId(value = "config_id", type = IdType.NONE)
@ApiModelProperty(value = "配置标识")
private String config_id;
@ApiModelProperty(value = "配置编码")
private String config_code;
@ApiModelProperty(value = "配置名称")
private String config_name;
@ApiModelProperty(value = "路由编码")
private String route_plan_code;
@ApiModelProperty(value = "任务取放类型")
private String task_qf_type;

View File

@@ -12,12 +12,18 @@ import java.io.Serializable;
@Data
public class SchBaseTaskconfigDto implements Serializable {
/** 配置标识 */
private String config_id;
/** 配置编码 */
private String config_code;
/** 配置名称 */
private String config_name;
/** 路由编码 */
private String route_plan_code;
/** 任务取放类型 */
private String task_qf_type;

View File

@@ -56,6 +56,13 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
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)
@@ -63,6 +70,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
.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);
@@ -180,7 +188,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
//...
//4、叫空载具
//...
AbstractTask task = taskFactory.getTask("YZSKTask");
AbstractTask task = taskFactory.getTask("HNMLTask");
// 执行创建任务
task.apply(param);
}
@@ -208,7 +216,7 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
throw new BadRequestException("任务已完成或已取消!");
}
// 根据配置去工厂类获得类对象
String processing_class = "YZSKTask";
String processing_class = "HNMLTask";
String message = "";
// 根据任务类型获取对应的任务操作类
AbstractTask abstractTask = taskFactory.getTask(processing_class);

View File

@@ -1,6 +1,7 @@
package org.nl.wms.sch.task.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -77,6 +78,7 @@ public class SchBaseTaskconfigServiceImpl extends ServiceImpl<SchBaseTaskconfigM
entity.setNext_region_str(nextRegion);
}
entity.setConfig_id(IdUtil.getSnowflake(1,1).nextIdStr());
entity.setCreate_id(currentUserId);
entity.setCreate_name(nickName);
entity.setCreate_time(now);
@@ -88,7 +90,7 @@ public class SchBaseTaskconfigServiceImpl extends ServiceImpl<SchBaseTaskconfigM
@Override
public void update(SchBaseTaskconfig entity) {
SchBaseTaskconfig dto = schBaseTaskconfigMapper.selectById(entity.getConfig_code());
SchBaseTaskconfig dto = schBaseTaskconfigMapper.selectById(entity.getConfig_id());
if (dto == null) throw new BadRequestException("被删除或无权限,操作失败!");
if (ObjectUtil.isAllEmpty(entity.getStart_region_strs(), entity.getNext_region_strs()))
throw new BadRequestException("起点区域和终点区域不能同时为空!");

View File

@@ -88,10 +88,11 @@ public abstract class AbstractTask {
}
private AcsTaskDto setTask(String config_code, AcsTaskDto taskDto) {
SchBaseTaskconfig taskConfig = taskConfigService.getById(config_code);
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
.eq(SchBaseTaskconfig::getConfig_code, config_code));
taskDto.setPriority(taskConfig.getPriority());
taskDto.setTask_type(taskConfig.getAcs_task_type());
taskDto.setRoute_plan_code("normal");
taskDto.setRoute_plan_code(taskConfig.getRoute_plan_code());
return taskDto;
}
@@ -159,9 +160,10 @@ public abstract class AbstractTask {
// 申请任务
SchBaseTask task = new SchBaseTask(); // 任务实体
String apply_point_code = param.getString("device_code");
String config_code = "YZSKTask";
String config_code = "HNMLTask";
// 1、校验数据
SchBaseTaskconfig taskConfig = taskConfigService.getById(config_code);
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
.eq(SchBaseTaskconfig::getConfig_code, config_code));
// 最大任务数
Integer tcmn = taskConfig.getTask_create_max_num();
List<SchBaseTask> unFinishTasksByTaskConfig = taskService

View File

@@ -6,7 +6,8 @@ public enum TaskStatus {
ISSUED("3", "下发", "下发"),
EXECUTING("4", "执行中", "执行中"),
FINISHED("5", "完成", "完成"),
CANCELED("6", "已取消", "已取消");
CANCELED("6", "已取消", "已取消"),
UNFINISHED("7", "未完成", "未完成");
TaskStatus(String code, String name, String desc) {

View File

@@ -18,6 +18,7 @@ import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
import org.nl.wms.sch.task.service.dao.SchBaseTask;
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
import org.nl.wms.sch.task_manage.AbstractTask;
import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum;
import org.nl.wms.sch.task_manage.enums.GroupStatusEnum;
import org.nl.wms.sch.task_manage.enums.PointStatusEnum;
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
@@ -79,7 +80,8 @@ public class HNMLTask extends AbstractTask {
if (status.equals(TaskStatus.FINISHED)) { // 完成
PdmBdWorkorder workorderCode =
ObjectUtil.isNotEmpty(extGroupData.getString("workorder_code"))
? workorderService.getById(extGroupData.getString("workorder_code"))
? workorderService.getOne(new LambdaQueryWrapper<PdmBdWorkorder>()
.eq(PdmBdWorkorder::getWorkorder_code, extGroupData.getString("workorder_code")))
: null;
// 要把数据存到组盘表
SchBaseVehiclematerialgroup groupEntity = new SchBaseVehiclematerialgroup();
@@ -108,6 +110,7 @@ public class HNMLTask extends AbstractTask {
groupEntity.setPcsn( DateUtil.format(DateUtil.date(), "yyyyMMdd"));
groupEntity.setInstorage_time(DateUtil.now());
groupEntity.setTask_code(taskObj.getTask_code());
groupEntity.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue()); // 绑定
groupEntity.setGroup_status(GroupStatusEnum.IN_STORAGE.getType()); // 暂时不维护。
groupEntity.setIs_delete(false);
vehiclematerialgroupService.create(groupEntity);
@@ -147,7 +150,8 @@ public class HNMLTask extends AbstractTask {
// 获取任务
List<SchBaseTask> tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY);
// 配置信息
SchBaseTaskconfig taskConfig = taskConfigService.getById(TASK_CONFIG_CODE);
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
.eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE));
for (SchBaseTask task : tasks) {
List<String> nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(",")).collect(Collectors.toList());
String extGroupData = task.getExt_group_data();

View File

@@ -86,7 +86,8 @@ public class HNQKTask extends AbstractTask {
private SchBasePoint findStartPoint(List<String> startRegionStr, JSONObject extGroupData) {
String workorderCode = extGroupData.getString("workorder_code");
PdmBdWorkorder workOrder = ObjectUtil.isNotEmpty(workorderCode)
? workorderService.getOne(new LambdaQueryWrapper<PdmBdWorkorder>().eq(PdmBdWorkorder::getWorkorder_code, workorderCode))
? workorderService.getOne(new LambdaQueryWrapper<PdmBdWorkorder>()
.eq(PdmBdWorkorder::getWorkorder_code, workorderCode))
: null;
String vehicleType = ObjectUtil.isNotEmpty(workOrder) && ObjectUtil.isNotEmpty(workOrder.getVehicle_type())
? workOrder.getVehicle_type()

View File

@@ -84,7 +84,8 @@ public class YZSKTask extends AbstractTask {
private SchBasePoint findNextPoint(List<String> nextRegionStr, JSONObject extGroupData) {
String workorderCode = extGroupData.getString("workorder_code");
PdmBdWorkorder workOrder = ObjectUtil.isNotEmpty(workorderCode)
? workorderService.getOne(new LambdaQueryWrapper<PdmBdWorkorder>().eq(PdmBdWorkorder::getWorkorder_code, workorderCode))
? workorderService.getOne(new LambdaQueryWrapper<PdmBdWorkorder>()
.eq(PdmBdWorkorder::getWorkorder_code, workorderCode))
: null;
String vehicleType = ObjectUtil.isNotEmpty(workOrder) && ObjectUtil.isNotEmpty(workOrder.getVehicle_type())
? workOrder.getVehicle_type()