9 changed files with 662 additions and 6 deletions
-
45src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/AutoSortServiceImpl.java
-
47src/main/java/com/gaotao/modules/automatedWarehouse/service/impl/WcsIntegrationServiceImpl.java
-
36src/main/java/com/gaotao/modules/warehouse/controller/HandlingUnitOperationLogController.java
-
134src/main/java/com/gaotao/modules/warehouse/entity/HandlingUnitOperationLog.java
-
101src/main/java/com/gaotao/modules/warehouse/entity/HandlingUnitOperationLogData.java
-
32src/main/java/com/gaotao/modules/warehouse/mapper/HandlingUnitOperationLogMapper.java
-
70src/main/java/com/gaotao/modules/warehouse/service/HandlingUnitOperationLogService.java
-
151src/main/java/com/gaotao/modules/warehouse/service/impl/HandlingUnitOperationLogServiceImpl.java
-
52src/main/resources/mapper/warehouse/HandlingUnitOperationLogMapper.xml
@ -0,0 +1,36 @@ |
|||
package com.gaotao.modules.warehouse.controller; |
|||
|
|||
import com.gaotao.common.utils.PageUtils; |
|||
import com.gaotao.common.utils.R; |
|||
import com.gaotao.modules.warehouse.entity.HandlingUnitOperationLogData; |
|||
import com.gaotao.modules.warehouse.service.HandlingUnitOperationLogService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
/** |
|||
* 标签操作记录Controller - rqrq |
|||
* |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("/warehouse/handlingunitoperationlog") |
|||
public class HandlingUnitOperationLogController { |
|||
|
|||
@Autowired |
|||
private HandlingUnitOperationLogService handlingUnitOperationLogService; |
|||
|
|||
/** |
|||
* @Description 分页查询标签操作记录列表 - rqrq |
|||
* @param query 查询条件 |
|||
* @return R |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
@PostMapping("/list") |
|||
public R searchHandlingUnitOperationLogList(@RequestBody HandlingUnitOperationLogData query) { |
|||
PageUtils page = handlingUnitOperationLogService.searchHandlingUnitOperationLogList(query); |
|||
return R.ok().put("page", page); |
|||
} |
|||
} |
|||
|
|||
@ -0,0 +1,134 @@ |
|||
package com.gaotao.modules.warehouse.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.IdType; |
|||
import com.baomidou.mybatisplus.annotation.TableField; |
|||
import com.baomidou.mybatisplus.annotation.TableId; |
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import lombok.Data; |
|||
import org.apache.ibatis.type.Alias; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 标签操作记录实体类 - 直接映射数据库表 - rqrq |
|||
* |
|||
* <p><b>数据库表名:</b>handling_unit_operation_log</p> |
|||
* |
|||
* <p><b>表索引:</b></p> |
|||
* <ul> |
|||
* <li>PRIMARY KEY: id</li> |
|||
* <li>INDEX: IX_log_serial_no (serial_no)</li> |
|||
* <li>INDEX: IX_log_site_time (site, operation_time DESC)</li> |
|||
* <li>INDEX: IX_log_operation_type (operation_type, operation_time DESC)</li> |
|||
* </ul> |
|||
* |
|||
* <p><b>核心字段说明:</b></p> |
|||
* <ul> |
|||
* <li><b>id</b>:日志ID(自增主键)</li> |
|||
* <li><b>serial_no</b>:关联标签条码号(对应 handling_unit.unit_id)</li> |
|||
* <li><b>operation_type</b>:操作类型(CREATE / UPDATE / DELETE / MERGE / SPLIT / FREEZE 等)</li> |
|||
* <li><b>operation_reason</b>:操作原因/描述</li> |
|||
* <li><b>old_value / new_value</b>:字段变更前后的值</li> |
|||
* <li><b>operator</b>:操作者</li> |
|||
* <li><b>operation_time</b>:操作时间</li> |
|||
* <li><b>task_no</b>:关联任务号/业务单号</li> |
|||
* </ul> |
|||
* |
|||
* <p><b>业务用途:</b></p> |
|||
* <pre> |
|||
* 记录标签的所有操作历史,包括: |
|||
* 1. 标签创建、修改、删除 |
|||
* 2. 标签合并、拆分操作 |
|||
* 3. 标签冻结、解冻操作 |
|||
* 4. 标签特殊信息修改 |
|||
* 5. 其他业务操作 |
|||
* </pre> |
|||
* |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
@Data |
|||
@TableName("handling_unit_operation_log") |
|||
@Alias("HandlingUnitOperationLog") |
|||
public class HandlingUnitOperationLog { |
|||
|
|||
/** |
|||
* 日志ID(自增主键)- rqrq |
|||
*/ |
|||
@TableId(type = IdType.AUTO) |
|||
@TableField("id") |
|||
private Integer id; |
|||
|
|||
/** |
|||
* 关联标签条码号(对应 handling_unit.unit_id) - rqrq |
|||
*/ |
|||
@TableField("serial_no") |
|||
private String serialNo; |
|||
|
|||
/** |
|||
* 站点(可冗余记录,方便跨站点查询)- rqrq |
|||
*/ |
|||
@TableField("site") |
|||
private String site; |
|||
|
|||
/** |
|||
* 被操作/修改的字段名(如果是"创建标签"这种动作可为空)- rqrq |
|||
*/ |
|||
@TableField("field_name") |
|||
private String fieldName; |
|||
|
|||
/** |
|||
* 操作类型(CREATE=创建标签,UPDATE=更新字段,DELETE=删除,MERGE=合并,SPLIT=拆分,FREEZE=冻结等)- rqrq |
|||
*/ |
|||
@TableField("operation_type") |
|||
private String operationType; |
|||
|
|||
/** |
|||
* 操作原因/描述(如:入库创建、移库、合并、拆分、冻结、解冻等)- rqrq |
|||
*/ |
|||
@TableField("operation_reason") |
|||
private String operationReason; |
|||
|
|||
/** |
|||
* 变更前的值 - rqrq |
|||
*/ |
|||
@TableField("old_value") |
|||
private String oldValue; |
|||
|
|||
/** |
|||
* 变更后的值 - rqrq |
|||
*/ |
|||
@TableField("new_value") |
|||
private String newValue; |
|||
|
|||
/** |
|||
* 操作者 - rqrq |
|||
*/ |
|||
@TableField("operator") |
|||
private String operator; |
|||
|
|||
/** |
|||
* 操作时间 - rqrq |
|||
*/ |
|||
@TableField("operation_time") |
|||
private Date operationTime; |
|||
|
|||
/** |
|||
* 关联任务号/业务单号(可选,便于追踪)- rqrq |
|||
*/ |
|||
@TableField("task_no") |
|||
private String taskNo; |
|||
|
|||
/** |
|||
* 操作IP(可选扩展)- rqrq |
|||
*/ |
|||
@TableField("ip_address") |
|||
private String ipAddress; |
|||
|
|||
/** |
|||
* 额外备注(可扩展)- rqrq |
|||
*/ |
|||
@TableField("remark") |
|||
private String remark; |
|||
} |
|||
|
|||
@ -0,0 +1,101 @@ |
|||
package com.gaotao.modules.warehouse.entity; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
import org.apache.ibatis.type.Alias; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @Description 标签操作记录业务实体类 - 用于业务查询和操作 - rqrq |
|||
* |
|||
* <p><b>继承关系:</b>继承 HandlingUnitOperationLog 基础实体类</p> |
|||
* |
|||
* <p><b>用途:</b></p> |
|||
* <ul> |
|||
* <li>用于分页查询接口的参数和返回值</li> |
|||
* <li>包含额外的查询条件字段</li> |
|||
* <li>包含分页参数</li> |
|||
* </ul> |
|||
* |
|||
* <p><b>常用查询逻辑:</b></p> |
|||
* <pre> |
|||
* -- 示例1:模糊查询条码号 |
|||
* WHERE serial_no LIKE '%' + #{query.searchSerialNo} + '%' |
|||
* |
|||
* -- 示例2:按操作类型过滤 |
|||
* WHERE operation_type = #{query.operationType} |
|||
* |
|||
* -- 示例3:日期范围查询 |
|||
* WHERE operation_time BETWEEN #{query.startDate} AND #{query.endDate} |
|||
* </pre> |
|||
* |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper = true) |
|||
@Alias("HandlingUnitOperationLogData") |
|||
public class HandlingUnitOperationLogData extends HandlingUnitOperationLog { |
|||
|
|||
// ==================== 分页参数(必需)==================== |
|||
|
|||
/** |
|||
* 分页参数 - 当前页码 - rqrq |
|||
*/ |
|||
private Integer page = 1; |
|||
|
|||
/** |
|||
* 分页参数 - 每页数量 - rqrq |
|||
*/ |
|||
private Integer limit = 20; |
|||
|
|||
// ==================== 查询条件字段 ==================== |
|||
|
|||
/** |
|||
* 查询条件 - 条码号(模糊查询)- rqrq |
|||
* <p>SQL示例:WHERE serial_no LIKE '%' + #{query.searchSerialNo} + '%'</p> |
|||
*/ |
|||
private String searchSerialNo; |
|||
|
|||
/** |
|||
* 查询条件 - 操作类型(精确查询)- rqrq |
|||
* <p>SQL示例:WHERE operation_type = #{query.searchOperationType}</p> |
|||
*/ |
|||
private String searchOperationType; |
|||
|
|||
/** |
|||
* 查询条件 - 操作者(模糊查询)- rqrq |
|||
* <p>SQL示例:WHERE operator LIKE '%' + #{query.searchOperator} + '%'</p> |
|||
*/ |
|||
private String searchOperator; |
|||
|
|||
/** |
|||
* 查询条件 - 任务号/业务单号(模糊查询)- rqrq |
|||
* <p>SQL示例:WHERE task_no LIKE '%' + #{query.searchTaskNo} + '%'</p> |
|||
*/ |
|||
private String searchTaskNo; |
|||
|
|||
/** |
|||
* 查询条件 - 字段名(精确查询)- rqrq |
|||
* <p>SQL示例:WHERE field_name = #{query.searchFieldName}</p> |
|||
*/ |
|||
private String searchFieldName; |
|||
|
|||
/** |
|||
* 查询条件 - 查询开始日期 - rqrq |
|||
*/ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
|||
private Date startDate; |
|||
|
|||
/** |
|||
* 查询条件 - 查询结束日期 - rqrq |
|||
*/ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
|||
private Date endDate; |
|||
} |
|||
|
|||
@ -0,0 +1,32 @@ |
|||
package com.gaotao.modules.warehouse.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|||
import com.gaotao.modules.warehouse.entity.HandlingUnitOperationLog; |
|||
import com.gaotao.modules.warehouse.entity.HandlingUnitOperationLogData; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
/** |
|||
* 标签操作记录Mapper接口 - rqrq |
|||
* |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
@Mapper |
|||
public interface HandlingUnitOperationLogMapper extends BaseMapper<HandlingUnitOperationLog> { |
|||
|
|||
/** |
|||
* @Description 分页查询标签操作记录列表 - rqrq |
|||
* @param page 分页对象 |
|||
* @param query 查询条件 |
|||
* @return IPage<HandlingUnitOperationLogData> |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
IPage<HandlingUnitOperationLogData> searchHandlingUnitOperationLogList( |
|||
Page<HandlingUnitOperationLogData> page, |
|||
@Param("query") HandlingUnitOperationLogData query); |
|||
} |
|||
|
|||
@ -0,0 +1,70 @@ |
|||
package com.gaotao.modules.warehouse.service; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
import com.gaotao.common.utils.PageUtils; |
|||
import com.gaotao.modules.warehouse.entity.HandlingUnitOperationLog; |
|||
import com.gaotao.modules.warehouse.entity.HandlingUnitOperationLogData; |
|||
|
|||
/** |
|||
* 标签操作记录Service接口 - rqrq |
|||
* |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
public interface HandlingUnitOperationLogService extends IService<HandlingUnitOperationLog> { |
|||
|
|||
/** |
|||
* @Description 分页查询标签操作记录列表 - rqrq |
|||
* @param query 查询条件 |
|||
* @return PageUtils |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
PageUtils searchHandlingUnitOperationLogList(HandlingUnitOperationLogData query); |
|||
|
|||
/** |
|||
* @Description 记录标签操作日志(通用插入方法)- rqrq |
|||
* @param site 站点 |
|||
* @param serialNo 条码号 |
|||
* @param operationType 操作类型(CREATE/UPDATE/DELETE/MERGE/SPLIT/FREEZE等) |
|||
* @param operationReason 操作原因 |
|||
* @param fieldName 字段名(可选) |
|||
* @param oldValue 旧值 |
|||
* @param newValue 新值 |
|||
* @param operator 操作者 |
|||
* @param taskNo 任务号(可选) |
|||
* @return boolean |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
boolean logHandlingUnitOperation(String site, String serialNo, String operationType, String operationReason, |
|||
String fieldName, String oldValue, String newValue, String operator, String taskNo); |
|||
|
|||
/** |
|||
* @Description 记录标签字段更新日志(简化版)- rqrq |
|||
* @param site 站点 |
|||
* @param serialNo 条码号 |
|||
* @param fieldName 字段名 |
|||
* @param oldValue 旧值 |
|||
* @param newValue 新值 |
|||
* @param operator 操作者 |
|||
* @return boolean |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
boolean logFieldUpdate(String site, String serialNo, String fieldName, String oldValue, String newValue, String operator); |
|||
|
|||
/** |
|||
* @Description 记录标签创建日志 - rqrq |
|||
* @param site 站点 |
|||
* @param serialNo 条码号 |
|||
* @param operationReason 创建原因(如:入库创建、拆分创建等) |
|||
* @param taskNo 任务号 |
|||
* @param operator 操作者 |
|||
* @return boolean |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
boolean logHandlingUnitCreate(String site, String serialNo, String operationReason, String taskNo, String operator); |
|||
} |
|||
|
|||
@ -0,0 +1,151 @@ |
|||
package com.gaotao.modules.warehouse.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.gaotao.common.utils.PageUtils; |
|||
import com.gaotao.modules.warehouse.entity.HandlingUnitOperationLog; |
|||
import com.gaotao.modules.warehouse.entity.HandlingUnitOperationLogData; |
|||
import com.gaotao.modules.warehouse.mapper.HandlingUnitOperationLogMapper; |
|||
import com.gaotao.modules.warehouse.service.HandlingUnitOperationLogService; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 标签操作记录Service实现类 - rqrq |
|||
* |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
@Service("handlingUnitOperationLogService") |
|||
@Slf4j |
|||
public class HandlingUnitOperationLogServiceImpl |
|||
extends ServiceImpl<HandlingUnitOperationLogMapper, HandlingUnitOperationLog> |
|||
implements HandlingUnitOperationLogService { |
|||
|
|||
/** |
|||
* @Description 分页查询标签操作记录列表 - rqrq |
|||
* @param query 查询条件 |
|||
* @return PageUtils |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
@Override |
|||
public PageUtils searchHandlingUnitOperationLogList(HandlingUnitOperationLogData query) { |
|||
System.out.println("开始分页查询标签操作记录 - rqrq,条码号=" + query.getSearchSerialNo() + |
|||
", 操作类型=" + query.getSearchOperationType()); |
|||
|
|||
// 创建分页对象 - rqrq |
|||
Page<HandlingUnitOperationLogData> page = new Page<>(query.getPage(), query.getLimit()); |
|||
|
|||
// 执行分页查询 - rqrq |
|||
IPage<HandlingUnitOperationLogData> pageResult = baseMapper.searchHandlingUnitOperationLogList(page, query); |
|||
|
|||
System.out.println("查询完成 - rqrq,共查询到 " + pageResult.getTotal() + " 条数据"); |
|||
|
|||
return new PageUtils(pageResult); |
|||
} |
|||
|
|||
/** |
|||
* @Description 记录标签操作日志(通用插入方法)- rqrq |
|||
* @param site 站点 |
|||
* @param serialNo 条码号 |
|||
* @param operationType 操作类型(CREATE/UPDATE/DELETE/MERGE/SPLIT/FREEZE等) |
|||
* @param operationReason 操作原因 |
|||
* @param fieldName 字段名(可选) |
|||
* @param oldValue 旧值 |
|||
* @param newValue 新值 |
|||
* @param operator 操作者 |
|||
* @param taskNo 任务号(可选) |
|||
* @return boolean |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public boolean logHandlingUnitOperation(String site, String serialNo, String operationType, String operationReason, |
|||
String fieldName, String oldValue, String newValue, String operator, String taskNo) { |
|||
System.out.println("开始记录标签操作日志 - rqrq,条码号=" + serialNo + ", 操作类型=" + operationType); |
|||
|
|||
try { |
|||
HandlingUnitOperationLog log = new HandlingUnitOperationLog(); |
|||
log.setSerialNo(serialNo); |
|||
log.setSite(site); |
|||
log.setOperationType(operationType); |
|||
log.setOperationReason(operationReason); |
|||
log.setFieldName(fieldName); |
|||
log.setOldValue(oldValue); |
|||
log.setNewValue(newValue); |
|||
log.setOperator(operator); |
|||
log.setTaskNo(taskNo); |
|||
log.setOperationTime(new Date()); |
|||
|
|||
boolean result = this.save(log); |
|||
|
|||
System.out.println("记录标签操作日志完成 - rqrq,结果=" + result); |
|||
return result; |
|||
} catch (Exception e) { |
|||
System.out.println("记录标签操作日志失败 - rqrq,错误=" + e.getMessage()); |
|||
throw e; |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* @Description 记录标签字段更新日志(简化版)- rqrq |
|||
* @param site 站点 |
|||
* @param serialNo 条码号 |
|||
* @param fieldName 字段名 |
|||
* @param oldValue 旧值 |
|||
* @param newValue 新值 |
|||
* @param operator 操作者 |
|||
* @return boolean |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public boolean logFieldUpdate(String site, String serialNo, String fieldName, String oldValue, String newValue, String operator) { |
|||
return logHandlingUnitOperation( |
|||
site, |
|||
serialNo, |
|||
"UPDATE", |
|||
"字段更新:" + fieldName, |
|||
fieldName, |
|||
oldValue, |
|||
newValue, |
|||
operator, |
|||
null |
|||
); |
|||
} |
|||
|
|||
/** |
|||
* @Description 记录标签创建日志 - rqrq |
|||
* @param site 站点 |
|||
* @param serialNo 条码号 |
|||
* @param operationReason 创建原因(如:入库创建、拆分创建等) |
|||
* @param taskNo 任务号 |
|||
* @param operator 操作者 |
|||
* @return boolean |
|||
* @author rqrq |
|||
* @date 2025/11/28 |
|||
*/ |
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public boolean logHandlingUnitCreate(String site, String serialNo, String operationReason, String taskNo, String operator) { |
|||
return logHandlingUnitOperation( |
|||
site, |
|||
serialNo, |
|||
"CREATE", |
|||
operationReason, |
|||
null, |
|||
null, |
|||
null, |
|||
operator, |
|||
taskNo |
|||
); |
|||
} |
|||
} |
|||
|
|||
@ -0,0 +1,52 @@ |
|||
<?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="com.gaotao.modules.warehouse.mapper.HandlingUnitOperationLogMapper"> |
|||
|
|||
<!-- rqrq - 分页查询标签操作记录列表 --> |
|||
<select id="searchHandlingUnitOperationLogList" resultType="HandlingUnitOperationLogData"> |
|||
SELECT |
|||
id, |
|||
serial_no AS serialNo, |
|||
site, |
|||
field_name AS fieldName, |
|||
operation_type AS operationType, |
|||
operation_reason AS operationReason, |
|||
old_value AS oldValue, |
|||
new_value AS newValue, |
|||
operator, |
|||
operation_time AS operationTime, |
|||
task_no AS taskNo, |
|||
ip_address AS ipAddress, |
|||
remark |
|||
FROM handling_unit_operation_log WITH (NOLOCK) |
|||
WHERE 1=1 |
|||
<if test="query.site != null and query.site != ''"> |
|||
AND site = #{query.site} |
|||
</if> |
|||
<if test="query.searchSerialNo != null and query.searchSerialNo != ''"> |
|||
AND serial_no LIKE '%' + #{query.searchSerialNo} + '%' |
|||
</if> |
|||
<if test="query.searchOperationType != null and query.searchOperationType != ''"> |
|||
AND operation_type = #{query.searchOperationType} |
|||
</if> |
|||
<if test="query.searchOperator != null and query.searchOperator != ''"> |
|||
AND operator LIKE '%' + #{query.searchOperator} + '%' |
|||
</if> |
|||
<if test="query.searchTaskNo != null and query.searchTaskNo != ''"> |
|||
AND task_no LIKE '%' + #{query.searchTaskNo} + '%' |
|||
</if> |
|||
<if test="query.searchFieldName != null and query.searchFieldName != ''"> |
|||
AND field_name = #{query.searchFieldName} |
|||
</if> |
|||
<if test="query.startDate != null"> |
|||
AND operation_time >= #{query.startDate} |
|||
</if> |
|||
<if test="query.endDate != null"> |
|||
AND operation_time <= #{query.endDate} |
|||
</if> |
|||
ORDER BY operation_time DESC |
|||
</select> |
|||
|
|||
</mapper> |
|||
|
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue