opt:更新pc点位查询,叠盘任务增加相同点位限制
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.ext.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.http.HttpStatus;
|
||||
@@ -206,13 +207,15 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
@Override
|
||||
public BaseResponse notify(JSONObject param) {
|
||||
String requestNo = param.getString("requestNo");
|
||||
log.info("notifyAcs - 请求参数 {}", param);
|
||||
log.info(DateUtil.now()+"notifyAcs - 请求参数前 {}", param);
|
||||
if(param.getInteger("type")==1){
|
||||
//叠盘机高度同步
|
||||
SchBasePoint schBasePoint= pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
|
||||
.eq(SchBasePoint::getPoint_code, param.getString("device_code")));
|
||||
log.info(DateUtil.now()+"notifyAcs - 请求参数中:"+schBasePoint.getVehicle_qty()+"------>"+param.getInteger("number"));
|
||||
schBasePoint.setVehicle_qty(param.getInteger("number"));
|
||||
pointService.update(schBasePoint);
|
||||
log.info(DateUtil.now()+"notifyAcs - 请求参数后 {}", schBasePoint.toString());
|
||||
}else if(param.getInteger("type")==2) {
|
||||
// 输送线看板展示字段同步
|
||||
for (String key : param.keySet()) {
|
||||
|
||||
@@ -18,6 +18,7 @@ import org.nl.wms.ext.service.AcsToWmsService;
|
||||
import org.nl.wms.ext.service.dto.to.BaseResponse;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.point.service.dto.SchBasePointQuery;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -49,19 +50,8 @@ public class SchBasePointController {
|
||||
@Log("查询点位管理")
|
||||
@ApiOperation("查询点位管理")
|
||||
//@SaCheckPermission("@el.check('schBasePoint:list')")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page){
|
||||
String userName=SecurityUtils.getCurrentUsername();
|
||||
UserQuery query=new UserQuery();
|
||||
query.setBlurry(userName);
|
||||
PageQuery pageQuery=new PageQuery();
|
||||
List<SysUserDetail> userDetail = userService.getUserDetail(query, pageQuery);
|
||||
List<String> roles=new ArrayList();
|
||||
for(SysRole role:userDetail.get(0).getRoles()){
|
||||
if(ObjectUtil.isNotEmpty(role.getRemark())){
|
||||
roles.add(role.getRemark());
|
||||
}
|
||||
}
|
||||
return new ResponseEntity<>(TableDataInfo.build(schBasePointService.queryAll(whereJson,page,roles)),HttpStatus.OK);
|
||||
public ResponseEntity<Object> query(SchBasePointQuery whereJson, PageQuery page){
|
||||
return new ResponseEntity<>(TableDataInfo.build(schBasePointService.queryAll(whereJson,page)),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
|
||||
@@ -5,6 +5,8 @@ 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.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.point.service.dto.SchBasePointDto;
|
||||
import org.nl.wms.sch.point.service.dto.SchBasePointQuery;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -23,7 +25,7 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
||||
* @param pageable 分页参数
|
||||
* @return IPage<SchBasePoint>
|
||||
*/
|
||||
IPage<SchBasePoint> queryAll(Map whereJson, PageQuery pageable,List<String> roles);
|
||||
IPage<SchBasePointDto> queryAll(SchBasePointQuery whereJson, PageQuery pageable);
|
||||
|
||||
/**
|
||||
* 创建
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package org.nl.wms.sch.point.service.dao.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.point.service.dto.SchBasePointDto;
|
||||
import org.nl.wms.sch.point.service.dto.SchBasePointQuery;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -19,4 +20,10 @@ public interface SchBasePointMapper extends BaseMapper<SchBasePoint> {
|
||||
* @param used
|
||||
*/
|
||||
void batchChangeUsed(List<String> pointCodes, Boolean used);
|
||||
|
||||
/**
|
||||
* 分页查找
|
||||
* @return
|
||||
*/
|
||||
IPage<SchBasePointDto> queryPoint(IPage<SchBasePointDto> pages, SchBasePointQuery query);
|
||||
}
|
||||
|
||||
@@ -12,4 +12,52 @@
|
||||
</foreach>
|
||||
</where>
|
||||
</update>
|
||||
|
||||
<select id="queryPoint" resultType="org.nl.wms.sch.point.service.dto.SchBasePointDto">
|
||||
SELECT
|
||||
p.*,
|
||||
workorder_two.moname,
|
||||
workorder_two.status
|
||||
FROM
|
||||
sch_base_point p
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
two.moname,
|
||||
two.palletSN,
|
||||
two.status
|
||||
FROM
|
||||
pdm_bd_workorder_two two
|
||||
GROUP BY
|
||||
two.palletSN,
|
||||
two.moname,
|
||||
two.status
|
||||
ORDER BY
|
||||
two.moname,
|
||||
two.palletSN,
|
||||
two.status
|
||||
) workorder_two ON workorder_two.palletSN = p.vehicle_code2
|
||||
WHERE 1=1
|
||||
<if test="query.blurry != null">
|
||||
and p.point_code like CONCAT('%', #{query.blurry}, '%')
|
||||
</if>
|
||||
<if test="query.region_code != null">
|
||||
and p.region_code = #{query.region_code}
|
||||
</if>
|
||||
<if test="query.vehicle_code != null">
|
||||
and p.vehicle_code like CONCAT('%', #{query.vehicle_code}, '%')
|
||||
</if>
|
||||
<if test="query.vehicle_code2 != null">
|
||||
and p.vehicle_code2 like CONCAT('%', #{query.vehicle_code2}, '%')
|
||||
</if>
|
||||
<if test="query.is_used != null">
|
||||
and p.is_used = #{query.is_used}
|
||||
</if>
|
||||
<if test="query.lock_type == false">
|
||||
and (p.ing_task_code IS NULL or p.ing_task_code = '')
|
||||
</if>
|
||||
<if test="query.lock_type == true">
|
||||
and (p.ing_task_code IS NOT NULL and p.ing_task_code != '')
|
||||
</if>
|
||||
ORDER BY p.region_code ASC, p.point_code ASC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -113,4 +113,8 @@ public class SchBasePointDto implements Serializable {
|
||||
|
||||
/** 修改时间 */
|
||||
private String update_time;
|
||||
|
||||
private String moname;
|
||||
|
||||
private String status;
|
||||
}
|
||||
|
||||
@@ -1,12 +1,27 @@
|
||||
package org.nl.wms.sch.point.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nl.common.domain.query.BaseQuery;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author lyd
|
||||
* @date 2023-05-15
|
||||
**/
|
||||
public class SchBasePointQuery extends BaseQuery<SchBasePoint> {
|
||||
@Data
|
||||
public class SchBasePointQuery implements Serializable {
|
||||
|
||||
private String blurry;
|
||||
|
||||
private String region_code;
|
||||
|
||||
private String vehicle_code;
|
||||
|
||||
private String vehicle_code2;
|
||||
|
||||
private Boolean is_used;
|
||||
|
||||
private Boolean lock_type;
|
||||
}
|
||||
|
||||
@@ -19,8 +19,11 @@ import org.nl.wms.sch.group.service.dao.mapper.SchBaseVehiclematerialgroupMapper
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.point.service.dao.mapper.SchBasePointMapper;
|
||||
import org.nl.wms.sch.point.service.dto.SchBasePointDto;
|
||||
import org.nl.wms.sch.point.service.dto.SchBasePointQuery;
|
||||
import org.nl.wms.sch.region.service.dao.SchBaseRegion;
|
||||
import org.nl.wms.sch.region.service.dao.mapper.SchBaseRegionMapper;
|
||||
import org.nl.wms.sch.report.service.dto.ReportDto;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||
import org.nl.wms.sch.task_manage.enums.PointStatusEnum;
|
||||
@@ -50,38 +53,9 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
private SchBaseVehiclematerialgroupMapper vehiclematerialgroupMapper;
|
||||
|
||||
@Override
|
||||
public IPage<SchBasePoint> queryAll(Map whereJson, PageQuery page,List<String> roles){
|
||||
String blurry = ObjectUtil.isNotEmpty(whereJson.get("blurry")) ? whereJson.get("blurry").toString() : null;
|
||||
String workshop_code = ObjectUtil.isNotEmpty(whereJson.get("workshop_code")) ? whereJson.get("workshop_code").toString() : null;
|
||||
String region_code = ObjectUtil.isNotEmpty(whereJson.get("region_code")) ? whereJson.get("region_code").toString() : null;
|
||||
String point_type = ObjectUtil.isNotEmpty(whereJson.get("point_type")) ? whereJson.get("point_type").toString() : null;
|
||||
String point_status = ObjectUtil.isNotEmpty(whereJson.get("point_status")) ? whereJson.get("point_status").toString() : null;
|
||||
String vehicle_code = ObjectUtil.isNotEmpty(whereJson.get("vehicle_code")) ? whereJson.get("vehicle_code").toString() : null;
|
||||
String vehicle_code2 = ObjectUtil.isNotEmpty(whereJson.get("vehicle_code2")) ? whereJson.get("vehicle_code2").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;
|
||||
Boolean parent_point = ObjectUtil.isNotEmpty(whereJson.get("parent_point")) ? Boolean.valueOf(whereJson.get("parent_point").toString()) : false;
|
||||
LambdaQueryWrapper<SchBasePoint> lam = new LambdaQueryWrapper<>();
|
||||
lam.like(ObjectUtil.isNotEmpty(blurry), SchBasePoint::getPoint_code, blurry)
|
||||
.eq(ObjectUtil.isNotEmpty(workshop_code), SchBasePoint::getWorkshop_code, workshop_code)
|
||||
.in(ObjectUtil.isNotEmpty(roles),SchBasePoint::getWorkshop_code,roles)
|
||||
.eq(ObjectUtil.isNotEmpty(region_code), SchBasePoint::getRegion_code, region_code)
|
||||
.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)
|
||||
.like(ObjectUtil.isNotEmpty(vehicle_code), SchBasePoint::getVehicle_code, vehicle_code)
|
||||
.like(ObjectUtil.isNotEmpty(vehicle_code2), SchBasePoint::getVehicle_code2, vehicle_code2)
|
||||
.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, ""))
|
||||
.orderByAsc(SchBasePoint::getRegion_code)
|
||||
.orderByAsc(SchBasePoint::getPoint_type)
|
||||
.orderByAsc(SchBasePoint::getPoint_code)
|
||||
.apply(parent_point, "point_code = parent_point_code");
|
||||
IPage<SchBasePoint> pages = new Page<>(page.getPage() + 1, page.getSize());
|
||||
pointMapper.selectPage(pages, lam);
|
||||
public IPage<SchBasePointDto> queryAll(SchBasePointQuery whereJson, PageQuery pageQuery){
|
||||
IPage<SchBasePointDto> pages = new Page<>(pageQuery.getPage() + 1, pageQuery.getSize());
|
||||
pages = pointMapper.queryPoint(pages, whereJson);
|
||||
return pages;
|
||||
}
|
||||
|
||||
@@ -123,7 +97,6 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
|
||||
@Override
|
||||
public void update(SchBasePoint entity) {
|
||||
log.info("管理端手动变更点位信息:{}",entity.toString());
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
String now = DateUtil.now();
|
||||
@@ -135,12 +108,12 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
SchBaseRegion baseRegion = regionMapper.selectById(entity.getRegion_code());
|
||||
entity.setRegion_name(baseRegion.getRegion_name());
|
||||
}
|
||||
log.info("update管理端变更点位信息为:{}",entity.toString());
|
||||
pointMapper.updateById(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateByPc(SchBasePoint entity) {
|
||||
log.info("管理端手动变更点位信息:{}",entity.toString());
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
String now = DateUtil.now();
|
||||
@@ -174,6 +147,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
}
|
||||
}
|
||||
entity.setIs_has_workder(false);
|
||||
log.info("updateByPc管理端变更点位信息为:{}",entity.toString());
|
||||
pointMapper.updateById(entity);
|
||||
}
|
||||
|
||||
|
||||
@@ -67,6 +67,7 @@ public interface ISchBaseTaskService extends IService<SchBaseTask> {
|
||||
*/
|
||||
Integer findUnFinishTasksByPoint_code2(String task_code, String point_code2);
|
||||
|
||||
|
||||
/**
|
||||
* 根据任务号和子托盘查询未完成的任务
|
||||
* @param task_code
|
||||
|
||||
@@ -134,7 +134,8 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
||||
.and(slam -> slam.eq(SchBaseTask::getPoint_code1, point_code2)
|
||||
.or()
|
||||
.eq(SchBaseTask::getPoint_code2, point_code2))
|
||||
.eq(SchBaseTask::getIs_delete, false);
|
||||
.eq(SchBaseTask::getIs_delete, false)
|
||||
.gt(point_code2.startsWith("DKT"),SchBaseTask::getTask_status, TaskStatus.APPLY.getCode());
|
||||
Integer schBaseTasks = schBaseTaskMapper.selectCount(lam);
|
||||
return schBaseTasks;
|
||||
}
|
||||
|
||||
@@ -99,15 +99,18 @@ public class POINTTask extends AbstractTask {
|
||||
log.info("分配终点点位"+task.getPoint_code2()+"已存在已存在载具!");
|
||||
continue;
|
||||
}
|
||||
// 获取任务
|
||||
Integer taskList = taskService.findUnFinishTasksByPoint_code2(task.getTask_code(),task.getPoint_code2());
|
||||
if(taskList>0){
|
||||
task.setRemark("分配终点点位"+task.getPoint_code2()+"已存在未完成任务!");
|
||||
taskService.update(task);
|
||||
// 消息通知
|
||||
log.info("分配终点点位"+task.getPoint_code2()+"已存在未完成任务!");
|
||||
continue;
|
||||
}
|
||||
// 获取任务
|
||||
Integer taskList = taskService.findUnFinishTasksByPoint_code2(task.getTask_code(),task.getPoint_code2());
|
||||
if(taskList>0){
|
||||
task.setRemark("分配终点点位"+task.getPoint_code2()+"已存在未完成任务!");
|
||||
if(task.getPoint_code2().startsWith("DKT")){
|
||||
task.setPoint_code2(nextSchBasePoint.getPoint_code());
|
||||
}
|
||||
taskService.update(task);
|
||||
// 消息通知
|
||||
log.info("分配终点点位"+task.getPoint_code2()+"已存在未完成任务!");
|
||||
continue;
|
||||
}
|
||||
//复制对象
|
||||
SchBaseTask acs_task = BeanUtil.copyProperties(task,SchBaseTask.class);
|
||||
@@ -137,6 +140,9 @@ public class POINTTask extends AbstractTask {
|
||||
now_num++;
|
||||
}else{
|
||||
task.setRemark("下发acs失败:"+result.toString());
|
||||
if(task.getPoint_code2().startsWith("DKT")){
|
||||
task.setPoint_code2(nextSchBasePoint.getPoint_code());
|
||||
}
|
||||
taskService.update(task);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user