Merge branch 'liweidong'

liweidong
liweidong-hj 2 days ago
commit e6f9a00b85
  1. 60
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/ExceptionInfo.java
  2. 51
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/ExceptionInfoController.java
  3. 37
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/PipelineController.java
  4. 16
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/ExceptionInfoMapper.java
  5. 15
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/ExceptionInfoMapper.xml
  6. 54
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IExceptionInfoService.java
  7. 41
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/ExceptionInfoServiceImpl.java

@ -0,0 +1,60 @@
package org.springblade.desk.logistics.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial;
/**
* 异常信息实体类
*
* @author liweidong
* @since 2026-06-25
*/
@Data
@TableName("LM_EXCEPTION_INFO")
@Schema(description = "异常信息对象")
@EqualsAndHashCode(callSuper = true)
public class ExceptionInfo extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 箱条码
*/
@Schema(description = "箱条码")
private String boxBarcode;
/**
* 异常信息
*/
@Schema(description = "异常信息")
private String exceptionMessage;
/**
* 来源
*/
@Schema(description = "来源")
private String source;
/**
* 备注
*/
@Schema(description = "备注")
private String remarks;
/**
* 状态 1:有效 0:无效
*/
@Schema(description = "状态 1:有效 0:无效")
private Integer status;
/**
* 删除标记 0:未删除 1:已删除
*/
@Schema(description = "删除标记 0:未删除 1:已删除")
private Integer isDeleted;
}

@ -0,0 +1,51 @@
package org.springblade.desk.logistics.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.desk.logistics.pojo.entity.ExceptionInfo;
import org.springblade.desk.logistics.service.IExceptionInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author liweidong
*/
@RestController
@AllArgsConstructor
@RequestMapping("/exceptionInfo")
@Tag(name = "异常信息", description = "站点相关接口")
public class ExceptionInfoController {
@Autowired
IExceptionInfoService exceptionInfoService;
/**
* 获取异常信息列表
*/
@GetMapping("/list")
@ApiOperationSupport(order = 1)
@Operation(summary = "分页", description = "获取异常信息列表")
public R<IPage<ExceptionInfo>> list(@Parameter(hidden = true) ExceptionInfo exceptionInfo, Query query) {
IPage<ExceptionInfo> pages = exceptionInfoService.getExceptionInfoList(Condition.getPage(query), exceptionInfo);
return R.data(pages);
}
}

@ -29,6 +29,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.boot.ctrl.BladeController;
@ -36,17 +37,13 @@ import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.util.StatusCountMap; import org.springblade.desk.basic.util.StatusCountMap;
import org.springblade.desk.logistics.pojo.dto.ReturnToWarehouseDto; import org.springblade.desk.logistics.pojo.dto.ReturnToWarehouseDto;
import org.springblade.desk.logistics.pojo.entity.ExceptionInfo;
import org.springblade.desk.logistics.pojo.entity.Station; import org.springblade.desk.logistics.pojo.entity.Station;
import org.springblade.desk.logistics.service.IOrderBindService; import org.springblade.desk.logistics.service.*;
import org.springblade.desk.logistics.service.IOrderBoxService;
import org.springblade.desk.logistics.service.IPipelineService;
import org.springblade.desk.logistics.service.ITaskExecuteRecordService;
import org.springblade.desk.logistics.utils.AgvTaskTypeUtil; import org.springblade.desk.logistics.utils.AgvTaskTypeUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
@ -68,7 +65,8 @@ public class PipelineController extends BladeController {
IPipelineService pipelineService; IPipelineService pipelineService;
@Autowired @Autowired
IOrderBoxService iOrderBoxService; IOrderBoxService iOrderBoxService;
@Autowired
IExceptionInfoService exceptionInfoService;
/** /**
* 根据物料箱号查询已绑定预估重量 * 根据物料箱号查询已绑定预估重量
@ -200,4 +198,25 @@ public class PipelineController extends BladeController {
return R.data(b); return R.data(b);
} }
/**
* 接收异常信息
*/
@PostMapping("/receiveExceptionInfo")
@ApiOperationSupport(order = 4)
@Operation(summary = "接收异常信息", description = "接收异常信息")
public R<Boolean> receiveExceptionInfo(@Valid @RequestBody ExceptionInfo exceptionInfo) {
if (exceptionInfo == null) {
return R.fail("请求参数不能为空");
}
boolean b = exceptionInfoService.saveExceptionInfo(exceptionInfo);
if (b) {
return R.data(true, "异常信息接收成功");
} else {
return R.fail("异常信息接收失败");
}
}
} }

@ -0,0 +1,16 @@
package org.springblade.desk.logistics.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.desk.logistics.pojo.entity.ExceptionInfo;
import java.util.List;
/**
* @author liweidong
*/
public interface ExceptionInfoMapper extends BaseMapper<ExceptionInfo> {
List<ExceptionInfo> selectExceptionInfoList(IPage<ExceptionInfo> page, @Param("exceptionInfo")ExceptionInfo exceptionInfo);
}

@ -0,0 +1,15 @@
<?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.springblade.desk.logistics.mapper.ExceptionInfoMapper">
<select id="selectExceptionInfoList" resultType="org.springblade.desk.logistics.pojo.entity.ExceptionInfo">
select * from LM_EXCEPTION_INFO where IS_DELETED = 0
<if test="exceptionInfo.boxBarcode != null and exceptionInfo.boxBarcode !=''">
and BOX_BARCODE = #{exceptionInfo.boxBarcode}
</if>
</select>
</mapper>

@ -0,0 +1,54 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.desk.logistics.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.logistics.pojo.entity.ExceptionInfo;
/**
* 异常信息 服务类
*
* @author BladeX
* @since 2025-11-12
*/
public interface IExceptionInfoService extends BaseService<ExceptionInfo> {
/**
* 接收异常信息
* @param exceptionInfo
* @return
*/
boolean saveExceptionInfo(ExceptionInfo exceptionInfo);
/**
* 列表
* @param page
* @param exceptionInfo
* @return
*/
IPage<ExceptionInfo> getExceptionInfoList(IPage<ExceptionInfo> page, ExceptionInfo exceptionInfo);
}

@ -0,0 +1,41 @@
package org.springblade.desk.logistics.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.logistics.mapper.ExceptionInfoMapper;
import org.springblade.desk.logistics.pojo.entity.ExceptionInfo;
import org.springblade.desk.logistics.pojo.vo.StationVO;
import org.springblade.desk.logistics.service.IExceptionInfoService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 异常信息
*
* @author qyl
* @since 2026-01-08
*/
@Service
@Slf4j
public class ExceptionInfoServiceImpl extends BaseServiceImpl<ExceptionInfoMapper, ExceptionInfo> implements IExceptionInfoService {
@Override
public boolean saveExceptionInfo(ExceptionInfo exceptionInfo) {
try {
return this.save(exceptionInfo);
} catch (Exception e) {
log.error("保存异常信息失败:{}", e.getMessage(), e);
return false;
}
}
@Override
public IPage<ExceptionInfo> getExceptionInfoList(IPage<ExceptionInfo> page, ExceptionInfo exceptionInfo) {
List<ExceptionInfo> exceptionInfoList = baseMapper.selectExceptionInfoList(page, exceptionInfo);
return page.setRecords(exceptionInfoList);
}
}
Loading…
Cancel
Save