feat: 新增过鱼设施填报相关功能初版代码

This commit is contained in:
tangwei 2026-04-21 14:47:17 +08:00
parent 5903ed04a1
commit 1acc0b7af1
24 changed files with 1540 additions and 10 deletions

View File

@ -0,0 +1,76 @@
package com.yfd.platform.data.controller;
import com.yfd.platform.config.ResponseResult;
import com.yfd.platform.data.domain.ApprovalChangeLog;
import com.yfd.platform.data.service.IApprovalChangeLogService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
* <p>
* 审批数据变更记录表 前端控制器
* </p>
*/
@RestController
@RequestMapping("/data/approvalChangeLog")
@Tag(name = "变更记录")
public class ApprovalChangeLogController {
@Resource
private IApprovalChangeLogService approvalChangeLogService;
@GetMapping("/list")
@Operation(summary = "查询变更记录列表")
public ResponseResult list() {
List<ApprovalChangeLog> list = approvalChangeLogService.list();
return ResponseResult.successData(list);
}
@GetMapping("/getByApprovalId")
@Operation(summary = "根据审批批次ID查询变更记录")
public ResponseResult getByApprovalId(@RequestParam String approvalId) {
List<ApprovalChangeLog> list = approvalChangeLogService.getByApprovalId(approvalId);
return ResponseResult.successData(list);
}
@GetMapping("/getByDataId")
@Operation(summary = "根据草稿数据ID查询变更记录")
public ResponseResult getByDataId(@RequestParam String dataId) {
List<ApprovalChangeLog> list = approvalChangeLogService.getByDataId(dataId);
return ResponseResult.successData(list);
}
@GetMapping("/getByBizType")
@Operation(summary = "根据业务类型查询")
public ResponseResult getByBizType(@RequestParam String bizType) {
List<ApprovalChangeLog> list = approvalChangeLogService.getByBizType(bizType);
return ResponseResult.successData(list);
}
@GetMapping("/getById")
@Operation(summary = "根据ID查询变更记录")
public ResponseResult getById(@RequestParam Long id) {
ApprovalChangeLog changeLog = approvalChangeLogService.getById(id);
return ResponseResult.successData(changeLog);
}
@PostMapping("/add")
@Operation(summary = "新增变更记录")
public ResponseResult add(@RequestBody ApprovalChangeLog changeLog) {
changeLog.setCreatedAt(new Date());
boolean result = approvalChangeLogService.save(changeLog);
return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
}
@PostMapping("/delete")
@Operation(summary = "删除变更记录")
public ResponseResult delete(@RequestParam Long id) {
boolean result = approvalChangeLogService.removeById(id);
return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
}
}

View File

@ -0,0 +1,69 @@
package com.yfd.platform.data.controller;
import com.yfd.platform.config.ResponseResult;
import com.yfd.platform.data.domain.ApprovalLog;
import com.yfd.platform.data.service.IApprovalLogService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
* <p>
* 审批操作日志表 前端控制器
* </p>
*/
@RestController
@RequestMapping("/data/approvalLog")
@Tag(name = "审批日志")
public class ApprovalLogController {
@Resource
private IApprovalLogService approvalLogService;
@GetMapping("/list")
@Operation(summary = "查询审批日志列表")
public ResponseResult list() {
List<ApprovalLog> list = approvalLogService.list();
return ResponseResult.successData(list);
}
@GetMapping("/getByApprovalId")
@Operation(summary = "根据审批批次ID查询日志")
public ResponseResult getByApprovalId(@RequestParam String approvalId) {
List<ApprovalLog> list = approvalLogService.getByApprovalId(approvalId);
return ResponseResult.successData(list);
}
@GetMapping("/getByAction")
@Operation(summary = "根据操作类型查询")
public ResponseResult getByAction(@RequestParam String action) {
List<ApprovalLog> list = approvalLogService.getByAction(action);
return ResponseResult.successData(list);
}
@GetMapping("/getById")
@Operation(summary = "根据ID查询日志")
public ResponseResult getById(@RequestParam Long id) {
ApprovalLog approvalLog = approvalLogService.getById(id);
return ResponseResult.successData(approvalLog);
}
@PostMapping("/add")
@Operation(summary = "新增日志")
public ResponseResult add(@RequestBody ApprovalLog approvalLog) {
approvalLog.setCreatedAt(new Date());
boolean result = approvalLogService.save(approvalLog);
return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
}
@PostMapping("/delete")
@Operation(summary = "删除日志")
public ResponseResult delete(@RequestParam Long id) {
boolean result = approvalLogService.removeById(id);
return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
}
}

View File

@ -0,0 +1,101 @@
package com.yfd.platform.data.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yfd.platform.config.ResponseResult;
import com.yfd.platform.data.domain.ApprovalMain;
import com.yfd.platform.data.service.IApprovalMainService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
/**
* <p>
* 审批批次主表 前端控制器
* </p>
*/
@RestController
@RequestMapping("/data/approvalMain")
@Tag(name = "审批管理")
public class ApprovalMainController {
@Resource
private IApprovalMainService approvalMainService;
@GetMapping("/page")
@Operation(summary = "分页查询审批列表")
public ResponseResult queryPageList(
@RequestParam(defaultValue = "1") Integer current,
@RequestParam(defaultValue = "10") Integer size,
@RequestParam(required = false) String bizType,
@RequestParam(required = false) String status) {
Page<ApprovalMain> page = new Page<>(current, size);
Page<ApprovalMain> result = approvalMainService.queryPageList(page, bizType, status);
return ResponseResult.successData(result);
}
@GetMapping("/getById")
@Operation(summary = "根据ID查询审批")
public ResponseResult getById(@RequestParam Long id) {
ApprovalMain approvalMain = approvalMainService.getById(id);
return ResponseResult.successData(approvalMain);
}
@GetMapping("/getByApprovalNo")
@Operation(summary = "根据审批批次号查询")
public ResponseResult getByApprovalNo(@RequestParam String approvalNo) {
ApprovalMain approvalMain = approvalMainService.getByApprovalNo(approvalNo);
return ResponseResult.successData(approvalMain);
}
@PostMapping("/submit")
@Operation(summary = "提交审批")
public ResponseResult submitApproval(@RequestBody ApprovalMain approvalMain) {
boolean result = approvalMainService.submitApproval(approvalMain);
return result ? ResponseResult.success("提交成功") : ResponseResult.error("提交失败");
}
@PostMapping("/approve")
@Operation(summary = "审批通过")
public ResponseResult approve(@RequestParam String id,
@RequestParam String approverId,
@RequestParam(required = false) String comment) {
boolean result = approvalMainService.approve(id, approverId, comment);
return result ? ResponseResult.success("审批通过") : ResponseResult.error("审批失败");
}
@PostMapping("/reject")
@Operation(summary = "审批驳回")
public ResponseResult reject(@RequestParam String id,
@RequestParam String approverId,
@RequestParam(required = false) String comment) {
boolean result = approvalMainService.reject(id, approverId, comment);
return result ? ResponseResult.success("审批驳回") : ResponseResult.error("审批失败");
}
@PostMapping("/add")
@Operation(summary = "新增审批")
public ResponseResult add(@RequestBody ApprovalMain approvalMain) {
approvalMain.setCreatedAt(new Date());
approvalMain.setUpdatedAt(new Date());
boolean result = approvalMainService.save(approvalMain);
return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
}
@PostMapping("/update")
@Operation(summary = "修改审批")
public ResponseResult update(@RequestBody ApprovalMain approvalMain) {
approvalMain.setUpdatedAt(new Date());
boolean result = approvalMainService.updateById(approvalMain);
return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
}
@PostMapping("/delete")
@Operation(summary = "删除审批")
public ResponseResult delete(@RequestParam Long id) {
boolean result = approvalMainService.removeById(id);
return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
}
}

View File

@ -0,0 +1,167 @@
package com.yfd.platform.data.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yfd.platform.common.DataSourceLoadOptionsBase;
import com.yfd.platform.common.DataSourceRequest;
import com.yfd.platform.config.ResponseResult;
import com.yfd.platform.data.domain.FishDraftData;
import com.yfd.platform.data.service.IFishDraftDataService;
import com.yfd.platform.utils.KendoUtil;
import com.yfd.platform.utils.QgcQueryWrapperUtil;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
* <p>
* 过鱼数据草稿表 前端控制器
* </p>
*/
@RestController
@RequestMapping("/data/fishDraft")
@Tag(name = "过鱼数据")
public class FishDraftDataController {
@Resource
private IFishDraftDataService fishDraftDataService;
// @GetMapping("/page")
// @Operation(summary = "分页查询过鱼数据")
// public ResponseResult queryPageList(
// @RequestParam(defaultValue = "1") Integer current,
// @RequestParam(defaultValue = "10") Integer size,
// @RequestParam(required = false) String stcd,
// @RequestParam(required = false) String status,
// @RequestParam(required = false) String ftp) {
// Page<FishDraftData> page = new Page<>(current, size);
// Page<FishDraftData> result = fishDraftDataService.queryPageList(page, stcd, status, ftp);
// return ResponseResult.successData(result);
// }
@PostMapping("/page")
@Operation(summary = "分页查询过鱼数据")
public ResponseResult queryPageList(@RequestBody DataSourceRequest dataSourceRequest) {
Page page = KendoUtil.getPage(dataSourceRequest);
DataSourceLoadOptionsBase loadOptions = dataSourceRequest.toDevRequest();
String stcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "stcd");
String status = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "status");
String ftp = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "ftp");
Page<FishDraftData> result = fishDraftDataService.queryPageList(page, stcd, status, ftp);
return ResponseResult.successData(result);
}
@GetMapping("/list")
@Operation(summary = "查询过鱼数据列表")
public ResponseResult list() {
List<FishDraftData> list = fishDraftDataService.list();
return ResponseResult.successData(list);
}
@GetMapping("/getById")
@Operation(summary = "根据ID查询")
public ResponseResult getById(@RequestParam Long id) {
FishDraftData fishDraftData = fishDraftDataService.getById(id);
return ResponseResult.successData(fishDraftData);
}
@GetMapping("/getByApprovalId")
@Operation(summary = "根据审批批次ID查询")
public ResponseResult getByApprovalId(@RequestParam Long approvalId) {
List<FishDraftData> list = fishDraftDataService.getByApprovalId(approvalId);
return ResponseResult.successData(list);
}
@GetMapping("/getByStatus")
@Operation(summary = "根据状态查询")
public ResponseResult getByStatus(@RequestParam String status) {
List<FishDraftData> list = fishDraftDataService.getByStatus(status);
return ResponseResult.successData(list);
}
@GetMapping("/getByStcd")
@Operation(summary = "根据电站编码查询")
public ResponseResult getByStcd(@RequestParam String stcd) {
List<FishDraftData> list = fishDraftDataService.getByStcd(stcd);
return ResponseResult.successData(list);
}
@PostMapping("/saveDraft")
@Operation(summary = "保存草稿")
public ResponseResult saveDraft(@RequestBody FishDraftData fishDraftData) {
boolean result = fishDraftDataService.saveDraft(fishDraftData);
return result ? ResponseResult.success("保存成功") : ResponseResult.error("保存失败");
}
@PostMapping("/updateDraft")
@Operation(summary = "更新草稿")
public ResponseResult updateDraft(@RequestBody FishDraftData fishDraftData) {
boolean result = fishDraftDataService.updateDraft(fishDraftData);
return result ? ResponseResult.success("更新成功") : ResponseResult.error("更新失败");
}
@PostMapping("/removeDraft")
@Operation(summary = "删除草稿(软删除)")
public ResponseResult removeDraft(@RequestParam Long id,
@RequestParam String operatorId) {
boolean result = fishDraftDataService.removeDraft(id, operatorId);
return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
}
@PostMapping("/submitDraft")
@Operation(summary = "提交草稿")
public ResponseResult submitDraft(@RequestParam Long id,
@RequestParam String operatorId) {
boolean result = fishDraftDataService.submitDraft(id, operatorId);
return result ? ResponseResult.success("提交成功") : ResponseResult.error("提交失败");
}
@PostMapping("/submitDrafts")
@Operation(summary = "批量提交草稿")
public ResponseResult submitDrafts(@RequestBody List<Long> ids,
@RequestParam String operatorId) {
boolean result = fishDraftDataService.submitDrafts(ids, operatorId);
return result ? ResponseResult.success("提交成功") : ResponseResult.error("提交失败");
}
@PostMapping("/lockDraft")
@Operation(summary = "锁定草稿")
public ResponseResult lockDraft(@RequestParam Long id) {
boolean result = fishDraftDataService.lockDraft(id);
return result ? ResponseResult.success("锁定成功") : ResponseResult.error("锁定失败");
}
@PostMapping("/unlockDraft")
@Operation(summary = "解锁草稿")
public ResponseResult unlockDraft(@RequestParam Long id) {
boolean result = fishDraftDataService.unlockDraft(id);
return result ? ResponseResult.success("解锁成功") : ResponseResult.error("解锁失败");
}
@PostMapping("/add")
@Operation(summary = "新增过鱼数据")
public ResponseResult add(@RequestBody FishDraftData fishDraftData) {
fishDraftData.setCreatedAt(new Date());
fishDraftData.setUpdatedAt(new Date());
boolean result = fishDraftDataService.save(fishDraftData);
return result ? ResponseResult.success("新增成功") : ResponseResult.error("新增失败");
}
@PostMapping("/update")
@Operation(summary = "修改过鱼数据")
public ResponseResult update(@RequestBody FishDraftData fishDraftData) {
fishDraftData.setUpdatedAt(new Date());
boolean result = fishDraftDataService.updateById(fishDraftData);
return result ? ResponseResult.success("修改成功") : ResponseResult.error("修改失败");
}
@PostMapping("/delete")
@Operation(summary = "删除过鱼数据")
public ResponseResult delete(@RequestParam Long id) {
boolean result = fishDraftDataService.removeById(id);
return result ? ResponseResult.success("删除成功") : ResponseResult.error("删除失败");
}
}

View File

@ -0,0 +1,69 @@
package com.yfd.platform.data.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 审批数据变更记录表
* </p>
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("APPROVAL_CHANGE_LOG")
public class ApprovalChangeLog implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_UUID)
private String id;
/**
* 审批批次ID
*/
private String approvalId;
/**
* 草稿数据ID
*/
private String dataId;
/**
* 业务类型FISH
*/
private String bizType;
/**
* 操作类型UPDATE修改 / DELETE删除
*/
private String operationType;
/**
* 变更内容JSONbefore/after/changed_fields
*/
private String changeJson;
/**
* 操作人ID
*/
private String operatorId;
/**
* 操作时间
*/
private Date operateTime;
/**
* 创建时间
*/
private Date createdAt;
}

View File

@ -0,0 +1,59 @@
package com.yfd.platform.data.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 审批操作日志表
* </p>
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("APPROVAL_LOG")
public class ApprovalLog implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_UUID)
private String id;
/**
* 审批批次ID
*/
private String approvalId;
/**
* 操作类型SUBMIT提交 / APPROVE通过 / REJECT驳回
*/
private String action;
/**
* 操作人ID
*/
private String operatorId;
/**
* 操作时间
*/
private Date operateTime;
/**
* 审批意见
*/
private String commentInfo;
/**
* 创建时间
*/
private Date createdAt;
}

View File

@ -0,0 +1,84 @@
package com.yfd.platform.data.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 审批批次主表
* </p>
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("APPROVAL_MAIN")
public class ApprovalMain implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_UUID)
private String id;
/**
* 审批批次号
*/
private String approvalNo;
/**
* 业务类型FISH过鱼数据
*/
private String bizType;
/**
* 本次提交数据条数
*/
private Integer dataCount;
/**
* 提交人ID
*/
private String applyUserId;
/**
* 提交时间
*/
private Date applyTime;
/**
* 审批状态PENDING待审批 / APPROVED已通过 / REJECTED已驳回
*/
private String status;
/**
* 审批人ID
*/
private String approverId;
/**
* 审批完成时间
*/
private Date approveTime;
/**
* 审批备注
*/
private String remark;
/**
* 创建时间
*/
private Date createdAt;
/**
* 更新时间
*/
private Date updatedAt;
}

View File

@ -0,0 +1,166 @@
package com.yfd.platform.data.domain;
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 lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 过鱼数据草稿表用于导入录入及审批流程
* </p>
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("FISH_DRAFT_DATA")
public class FishDraftData implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_UUID)
private String id;
/**
* 过鱼设施编码
*/
private String stcd;
/**
* 填报时间
*/
private Date tm;
/**
* 鱼类
*/
private String ftp;
/**
* 鱼类全长
*/
private String fsz;
/**
* 过鱼数量
*/
@TableField(value = "FCNT")
private Integer fcnt;
/**
* 平均体重
*/
private String fwet;
/**
* 开始日期
*/
private Date strdt;
/**
* 结束日期
*/
private Date enddt;
/**
* 游向上行/下行/上行折返/下行折返
*/
private String direction;
/**
* 年份
*/
private Integer yr;
/**
* 主要月份
*/
private Integer mouth;
/**
* 过鱼视频文件路径
*/
private String vdpth;
/**
* 图片文件路径
*/
private String picpth;
/**
* 是否鱼苗0否 1是
*/
private Integer isfs;
/**
* 数据来源MANUAL手工 / IMPORT导入 / AUTO自动
*/
private String sourceType;
/**
* 审批批次ID
*/
private Long approvalId;
/**
* 状态DRAFT未提交 / SUBMITTED已提交 / APPROVED已通过 / REJECTED已驳回
*/
private String status;
/**
* 锁定标识1锁定不可编辑 0可编辑
*/
private Integer lockFlag;
/**
* 提交审批时间
*/
private Date submitTime;
/**
* 审批完成时间
*/
private Date approveTime;
/**
* 删除标记0未删除 1已删除
*/
private Integer deletedFlag;
/**
* 删除人
*/
private String deletedBy;
/**
* 删除时间
*/
private Date deletedAt;
/**
* 创建时间
*/
private Date createdAt;
/**
* 创建人
*/
private String createdBy;
/**
* 更新时间
*/
private Date updatedAt;
/**
* 更新人
*/
private String updatedBy;
}

View File

@ -0,0 +1,40 @@
package com.yfd.platform.data.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yfd.platform.data.domain.ApprovalChangeLog;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* <p>
* 审批数据变更记录表 Mapper 接口
* </p>
*/
public interface ApprovalChangeLogMapper extends BaseMapper<ApprovalChangeLog> {
/**
* 根据审批批次ID查询变更记录
*/
@Select("SELECT * FROM APPROVAL_CHANGE_LOG WHERE APPROVAL_ID = #{approvalId} ORDER BY OPERATE_TIME DESC")
List<ApprovalChangeLog> selectByApprovalId(@Param("approvalId") String approvalId);
/**
* 根据草稿数据ID查询变更记录
*/
@Select("SELECT * FROM APPROVAL_CHANGE_LOG WHERE DATA_ID = #{dataId} ORDER BY OPERATE_TIME DESC")
List<ApprovalChangeLog> selectByDataId(@Param("dataId") String dataId);
/**
* 根据业务类型查询
*/
@Select("SELECT * FROM APPROVAL_CHANGE_LOG WHERE BIZ_TYPE = #{bizType} ORDER BY OPERATE_TIME DESC")
List<ApprovalChangeLog> selectByBizType(@Param("bizType") String bizType);
/**
* 根据操作类型查询
*/
@Select("SELECT * FROM APPROVAL_CHANGE_LOG WHERE OPERATION_TYPE = #{operationType} ORDER BY OPERATE_TIME DESC")
List<ApprovalChangeLog> selectByOperationType(@Param("operationType") String operationType);
}

View File

@ -0,0 +1,34 @@
package com.yfd.platform.data.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yfd.platform.data.domain.ApprovalLog;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* <p>
* 审批操作日志表 Mapper 接口
* </p>
*/
public interface ApprovalLogMapper extends BaseMapper<ApprovalLog> {
/**
* 根据审批批次ID查询日志列表
*/
@Select("SELECT * FROM APPROVAL_LOG WHERE APPROVAL_ID = #{approvalId} ORDER BY OPERATE_TIME DESC")
List<ApprovalLog> selectByApprovalId(@Param("approvalId") String approvalId);
/**
* 根据操作类型查询
*/
@Select("SELECT * FROM APPROVAL_LOG WHERE ACTION = #{action} ORDER BY OPERATE_TIME DESC")
List<ApprovalLog> selectByAction(@Param("action") String action);
/**
* 根据操作人查询
*/
@Select("SELECT * FROM APPROVAL_LOG WHERE OPERATOR_ID = #{operatorId} ORDER BY OPERATE_TIME DESC")
List<ApprovalLog> selectByOperatorId(@Param("operatorId") String operatorId);
}

View File

@ -0,0 +1,40 @@
package com.yfd.platform.data.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yfd.platform.data.domain.ApprovalMain;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* <p>
* 审批批次主表 Mapper 接口
* </p>
*/
public interface ApprovalMainMapper extends BaseMapper<ApprovalMain> {
/**
* 根据审批批次号查询
*/
@Select("SELECT * FROM APPROVAL_MAIN WHERE APPROVAL_NO = #{approvalNo}")
ApprovalMain selectByApprovalNo(@Param("approvalNo") String approvalNo);
/**
* 根据业务类型查询审批列表
*/
@Select("SELECT * FROM APPROVAL_MAIN WHERE BIZ_TYPE = #{bizType} ORDER BY CREATED_AT DESC")
List<ApprovalMain> selectByBizType(@Param("bizType") String bizType);
/**
* 根据状态查询审批列表
*/
@Select("SELECT * FROM APPROVAL_MAIN WHERE STATUS = #{status} ORDER BY CREATED_AT DESC")
List<ApprovalMain> selectByStatus(@Param("status") String status);
/**
* 根据提交人查询
*/
@Select("SELECT * FROM APPROVAL_MAIN WHERE APPLY_USER_ID = #{applyUserId} ORDER BY CREATED_AT DESC")
List<ApprovalMain> selectByApplyUserId(@Param("applyUserId") String applyUserId);
}

View File

@ -0,0 +1,52 @@
package com.yfd.platform.data.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yfd.platform.data.domain.FishDraftData;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* <p>
* 过鱼数据草稿表 Mapper 接口
* </p>
*/
public interface FishDraftDataMapper extends BaseMapper<FishDraftData> {
/**
* 根据审批批次ID查询草稿数据
*/
@Select("SELECT * FROM FISH_DRAFT_DATA WHERE APPROVAL_ID = #{approvalId} ORDER BY TM DESC")
List<FishDraftData> selectByApprovalId(@Param("approvalId") Long approvalId);
/**
* 根据状态查询草稿数据
*/
@Select("SELECT * FROM FISH_DRAFT_DATA WHERE STATUS = #{status} AND DELETED_FLAG = 0 ORDER BY TM DESC")
List<FishDraftData> selectByStatus(@Param("status") String status);
/**
* 根据电站编码查询草稿数据
*/
@Select("SELECT * FROM FISH_DRAFT_DATA WHERE STCD = #{stcd} AND DELETED_FLAG = 0 ORDER BY TM DESC")
List<FishDraftData> selectByStcd(@Param("stcd") String stcd);
/**
* 根据鱼类名称查询
*/
@Select("SELECT * FROM FISH_DRAFT_DATA WHERE FTP = #{ftp} AND DELETED_FLAG = 0 ORDER BY TM DESC")
List<FishDraftData> selectByFtp(@Param("ftp") String ftp);
/**
* 查询未删除的草稿数据
*/
@Select("SELECT * FROM FISH_DRAFT_DATA WHERE DELETED_FLAG = 0 ORDER BY CREATED_AT DESC")
List<FishDraftData> selectAllNotDeleted();
/**
* 根据审批批次ID统计数量
*/
@Select("SELECT COUNT(*) FROM FISH_DRAFT_DATA WHERE APPROVAL_ID = #{approvalId}")
int countByApprovalId(@Param("approvalId") Long approvalId);
}

View File

@ -0,0 +1,35 @@
package com.yfd.platform.data.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yfd.platform.data.domain.ApprovalChangeLog;
import java.util.List;
/**
* <p>
* 审批数据变更记录表 服务类
* </p>
*/
public interface IApprovalChangeLogService extends IService<ApprovalChangeLog> {
/**
* 根据审批批次ID查询变更记录
*/
List<ApprovalChangeLog> getByApprovalId(String approvalId);
/**
* 根据草稿数据ID查询变更记录
*/
List<ApprovalChangeLog> getByDataId(String dataId);
/**
* 根据业务类型查询
*/
List<ApprovalChangeLog> getByBizType(String bizType);
/**
* 记录变更
*/
boolean logChange(String approvalId, String dataId, String bizType, String operationType,
String changeJson, String operatorId);
}

View File

@ -0,0 +1,39 @@
package com.yfd.platform.data.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yfd.platform.data.domain.ApprovalLog;
import java.util.List;
/**
* <p>
* 审批操作日志表 服务类
* </p>
*/
public interface IApprovalLogService extends IService<ApprovalLog> {
/**
* 根据审批批次ID查询日志列表
*/
List<ApprovalLog> getByApprovalId(String approvalId);
/**
* 根据操作类型查询
*/
List<ApprovalLog> getByAction(String action);
/**
* 记录提交操作
*/
boolean logSubmit(String approvalId, String operatorId, String comment);
/**
* 记录通过操作
*/
boolean logApprove(String approvalId, String operatorId, String comment);
/**
* 记录驳回操作
*/
boolean logReject(String approvalId, String operatorId, String comment);
}

View File

@ -0,0 +1,48 @@
package com.yfd.platform.data.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yfd.platform.data.domain.ApprovalMain;
/**
* <p>
* 审批批次主表 服务类
* </p>
*/
public interface IApprovalMainService extends IService<ApprovalMain> {
/**
* 分页查询审批列表
*/
Page<ApprovalMain> queryPageList(Page<ApprovalMain> page, String bizType, String status);
/**
* 根据审批批次号查询
*/
ApprovalMain getByApprovalNo(String approvalNo);
/**
* 根据业务类型查询
*/
Page<ApprovalMain> getByBizType(String bizType, Page<ApprovalMain> page);
/**
* 根据状态查询
*/
Page<ApprovalMain> getByStatus(String status, Page<ApprovalMain> page);
/**
* 提交审批
*/
boolean submitApproval(ApprovalMain approvalMain);
/**
* 审批通过
*/
boolean approve(String id, String approverId, String comment);
/**
* 审批驳回
*/
boolean reject(String id, String approverId, String comment);
}

View File

@ -0,0 +1,70 @@
package com.yfd.platform.data.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yfd.platform.data.domain.FishDraftData;
import java.util.List;
/**
* <p>
* 过鱼数据草稿表 服务类
* </p>
*/
public interface IFishDraftDataService extends IService<FishDraftData> {
/**
* 分页查询草稿数据
*/
Page<FishDraftData> queryPageList(Page<FishDraftData> page, String stcd, String status, String ftp);
/**
* 根据审批批次ID查询
*/
List<FishDraftData> getByApprovalId(Long approvalId);
/**
* 根据状态查询
*/
List<FishDraftData> getByStatus(String status);
/**
* 根据电站编码查询
*/
List<FishDraftData> getByStcd(String stcd);
/**
* 保存草稿
*/
boolean saveDraft(FishDraftData fishDraftData);
/**
* 更新草稿
*/
boolean updateDraft(FishDraftData fishDraftData);
/**
* 删除草稿软删除
*/
boolean removeDraft(Long id, String operatorId);
/**
* 提交草稿
*/
boolean submitDraft(Long id, String operatorId);
/**
* 批量提交草稿
*/
boolean submitDrafts(List<Long> ids, String operatorId);
/**
* 锁定草稿
*/
boolean lockDraft(Long id);
/**
* 解锁草稿
*/
boolean unlockDraft(Long id);
}

View File

@ -0,0 +1,53 @@
package com.yfd.platform.data.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yfd.platform.data.domain.ApprovalChangeLog;
import com.yfd.platform.data.mapper.ApprovalChangeLogMapper;
import com.yfd.platform.data.service.IApprovalChangeLogService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* <p>
* 审批数据变更记录表 服务实现类
* </p>
*/
@Service
public class ApprovalChangeLogServiceImpl extends ServiceImpl<ApprovalChangeLogMapper, ApprovalChangeLog> implements IApprovalChangeLogService {
@Resource
private ApprovalChangeLogMapper approvalChangeLogMapper;
@Override
public List<ApprovalChangeLog> getByApprovalId(String approvalId) {
return approvalChangeLogMapper.selectByApprovalId(approvalId);
}
@Override
public List<ApprovalChangeLog> getByDataId(String dataId) {
return approvalChangeLogMapper.selectByDataId(dataId);
}
@Override
public List<ApprovalChangeLog> getByBizType(String bizType) {
return approvalChangeLogMapper.selectByBizType(bizType);
}
@Override
public boolean logChange(String approvalId, String dataId, String bizType, String operationType,
String changeJson, String operatorId) {
ApprovalChangeLog changeLog = new ApprovalChangeLog();
changeLog.setApprovalId(approvalId);
changeLog.setDataId(dataId);
changeLog.setBizType(bizType);
changeLog.setOperationType(operationType);
changeLog.setChangeJson(changeJson);
changeLog.setOperatorId(operatorId);
changeLog.setOperateTime(new Date());
changeLog.setCreatedAt(new Date());
return this.save(changeLog);
}
}

View File

@ -0,0 +1,69 @@
package com.yfd.platform.data.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yfd.platform.data.domain.ApprovalLog;
import com.yfd.platform.data.mapper.ApprovalLogMapper;
import com.yfd.platform.data.service.IApprovalLogService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* <p>
* 审批操作日志表 服务实现类
* </p>
*/
@Service
public class ApprovalLogServiceImpl extends ServiceImpl<ApprovalLogMapper, ApprovalLog> implements IApprovalLogService {
@Resource
private ApprovalLogMapper approvalLogMapper;
@Override
public List<ApprovalLog> getByApprovalId(String approvalId) {
return approvalLogMapper.selectByApprovalId(approvalId);
}
@Override
public List<ApprovalLog> getByAction(String action) {
return approvalLogMapper.selectByAction(action);
}
@Override
public boolean logSubmit(String approvalId, String operatorId, String comment) {
ApprovalLog log = new ApprovalLog();
log.setApprovalId(approvalId);
log.setAction("SUBMIT");
log.setOperatorId(operatorId);
log.setOperateTime(new Date());
log.setCommentInfo(comment);
log.setCreatedAt(new Date());
return this.save(log);
}
@Override
public boolean logApprove(String approvalId, String operatorId, String comment) {
ApprovalLog log = new ApprovalLog();
log.setApprovalId(approvalId);
log.setAction("APPROVE");
log.setOperatorId(operatorId);
log.setOperateTime(new Date());
log.setCommentInfo(comment);
log.setCreatedAt(new Date());
return this.save(log);
}
@Override
public boolean logReject(String approvalId, String operatorId, String comment) {
ApprovalLog log = new ApprovalLog();
log.setApprovalId(approvalId);
log.setAction("REJECT");
log.setOperatorId(operatorId);
log.setOperateTime(new Date());
log.setCommentInfo(comment);
log.setCreatedAt(new Date());
return this.save(log);
}
}

View File

@ -0,0 +1,109 @@
package com.yfd.platform.data.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yfd.platform.data.domain.ApprovalLog;
import com.yfd.platform.data.domain.ApprovalMain;
import com.yfd.platform.data.mapper.ApprovalLogMapper;
import com.yfd.platform.data.mapper.ApprovalMainMapper;
import com.yfd.platform.data.service.IApprovalLogService;
import com.yfd.platform.data.service.IApprovalMainService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.util.Date;
/**
* <p>
* 审批批次主表 服务实现类
* </p>
*/
@Service
public class ApprovalMainServiceImpl extends ServiceImpl<ApprovalMainMapper, ApprovalMain> implements IApprovalMainService {
@Resource
private ApprovalMainMapper approvalMainMapper;
@Resource
private IApprovalLogService approvalLogService;
@Override
public Page<ApprovalMain> queryPageList(Page<ApprovalMain> page, String bizType, String status) {
return this.page(page, this.lambdaQuery()
.eq(StringUtils.hasText(bizType), ApprovalMain::getBizType, bizType)
.eq(StringUtils.hasText(status), ApprovalMain::getStatus, status)
.orderByDesc(ApprovalMain::getCreatedAt)
.getWrapper());
}
@Override
public ApprovalMain getByApprovalNo(String approvalNo) {
return approvalMainMapper.selectByApprovalNo(approvalNo);
}
@Override
public Page<ApprovalMain> getByBizType(String bizType, Page<ApprovalMain> page) {
return this.page(page, this.lambdaQuery()
.eq(ApprovalMain::getBizType, bizType)
.orderByDesc(ApprovalMain::getCreatedAt)
.getWrapper());
}
@Override
public Page<ApprovalMain> getByStatus(String status, Page<ApprovalMain> page) {
return this.page(page, this.lambdaQuery()
.eq(ApprovalMain::getStatus, status)
.orderByDesc(ApprovalMain::getCreatedAt)
.getWrapper());
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean submitApproval(ApprovalMain approvalMain) {
approvalMain.setStatus("SUBMITTED");
approvalMain.setApplyTime(new Date());
boolean result = this.save(approvalMain);
if (result) {
approvalLogService.logSubmit(approvalMain.getId(), approvalMain.getApplyUserId(), "提交审批");
}
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean approve(String id, String approverId, String comment) {
ApprovalMain approvalMain = this.getById(id);
if (approvalMain == null) {
return false;
}
approvalMain.setStatus("APPROVED");
approvalMain.setApproverId(approverId);
approvalMain.setApproveTime(new Date());
approvalMain.setRemark(comment);
boolean result = this.updateById(approvalMain);
if (result) {
approvalLogService.logApprove(id, approverId, comment);
}
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean reject(String id, String approverId, String comment) {
ApprovalMain approvalMain = this.getById(id);
if (approvalMain == null) {
return false;
}
approvalMain.setStatus("REJECTED");
approvalMain.setApproverId(approverId);
approvalMain.setApproveTime(new Date());
approvalMain.setRemark(comment);
boolean result = this.updateById(approvalMain);
if (result) {
approvalLogService.logReject(id, approverId, comment);
}
return result;
}
}

View File

@ -0,0 +1,149 @@
package com.yfd.platform.data.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yfd.platform.data.domain.FishDraftData;
import com.yfd.platform.data.mapper.FishDraftDataMapper;
import com.yfd.platform.data.service.IApprovalChangeLogService;
import com.yfd.platform.data.service.IApprovalMainService;
import com.yfd.platform.data.service.IFishDraftDataService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.List;
/**
* <p>
* 过鱼数据草稿表 服务实现类
* </p>
*/
@Service
public class FishDraftDataServiceImpl extends ServiceImpl<FishDraftDataMapper, FishDraftData> implements IFishDraftDataService {
@Resource
private FishDraftDataMapper fishDraftDataMapper;
@Resource
private IApprovalMainService approvalMainService;
@Resource
private IApprovalChangeLogService approvalChangeLogService;
@Override
public Page<FishDraftData> queryPageList(Page<FishDraftData> page, String stcd, String status, String ftp) {
return this.page(page, this.lambdaQuery()
.eq(StringUtils.hasText(stcd), FishDraftData::getStcd, stcd)
.eq(StringUtils.hasText(status), FishDraftData::getStatus, status)
.like(StringUtils.hasText(ftp), FishDraftData::getFtp, ftp)
.eq(FishDraftData::getDeletedFlag, 0)
.orderByDesc(FishDraftData::getTm)
.getWrapper());
}
@Override
public List<FishDraftData> getByApprovalId(Long approvalId) {
return fishDraftDataMapper.selectByApprovalId(approvalId);
}
@Override
public List<FishDraftData> getByStatus(String status) {
return fishDraftDataMapper.selectByStatus(status);
}
@Override
public List<FishDraftData> getByStcd(String stcd) {
return fishDraftDataMapper.selectByStcd(stcd);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean saveDraft(FishDraftData fishDraftData) {
fishDraftData.setStatus("DRAFT");
fishDraftData.setDeletedFlag(0);
fishDraftData.setLockFlag(0);
fishDraftData.setCreatedAt(new Date());
fishDraftData.setUpdatedAt(new Date());
return this.save(fishDraftData);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateDraft(FishDraftData fishDraftData) {
FishDraftData existing = this.getById(fishDraftData.getId());
if (existing == null || existing.getLockFlag() == 1) {
return false;
}
fishDraftData.setStatus("DRAFT");
fishDraftData.setUpdatedAt(new Date());
return this.updateById(fishDraftData);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean removeDraft(Long id, String operatorId) {
FishDraftData fishDraftData = this.getById(id);
if (fishDraftData == null || fishDraftData.getLockFlag() == 1) {
return false;
}
fishDraftData.setDeletedFlag(1);
fishDraftData.setDeletedBy(operatorId);
fishDraftData.setDeletedAt(new Date());
fishDraftData.setUpdatedAt(new Date());
return this.updateById(fishDraftData);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean submitDraft(Long id, String operatorId) {
FishDraftData fishDraftData = this.getById(id);
if (fishDraftData == null || fishDraftData.getLockFlag() == 1) {
return false;
}
fishDraftData.setStatus("SUBMITTED");
fishDraftData.setSubmitTime(new Date());
fishDraftData.setUpdatedAt(new Date());
return this.updateById(fishDraftData);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean submitDrafts(List<Long> ids, String operatorId) {
for (Long id : ids) {
FishDraftData fishDraftData = this.getById(id);
if (fishDraftData != null && fishDraftData.getLockFlag() == 0) {
fishDraftData.setStatus("SUBMITTED");
fishDraftData.setSubmitTime(new Date());
fishDraftData.setUpdatedAt(new Date());
this.updateById(fishDraftData);
}
}
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean lockDraft(Long id) {
FishDraftData fishDraftData = this.getById(id);
if (fishDraftData == null) {
return false;
}
fishDraftData.setLockFlag(1);
fishDraftData.setUpdatedAt(new Date());
return this.updateById(fishDraftData);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean unlockDraft(Long id) {
FishDraftData fishDraftData = this.getById(id);
if (fishDraftData == null) {
return false;
}
fishDraftData.setLockFlag(0);
fishDraftData.setUpdatedAt(new Date());
return this.updateById(fishDraftData);
}
}

View File

@ -21,7 +21,7 @@ public class SdHydrobaseServiceImpl extends ServiceImpl<SdHydrobaseMapper, SdHyd
public Page<SdHydrobase> queryPageList(Page<SdHydrobase> page, String basename, String pbaseid) {
return this.page(page, this.lambdaQuery()
.like(basename != null && !basename.isEmpty(), SdHydrobase::getBasename, basename)
.eq(pbaseid != null && !pbaseid.isEmpty(), SdHydrobase::getPbaseid, pbaseid)
.eq(pbaseid != null && !pbaseid.isEmpty(), SdHydrobase::getBaseid, pbaseid)
.orderByAsc(SdHydrobase::getOrderIndex)
.getWrapper());
}

View File

@ -64,16 +64,16 @@ public class TreeStructureServiceImpl implements ITreeStructureService {
rvcdEngMap.put(rvcdDic.getRvcd(), engList);
}
}
for (SdRvcdDic rvcdDic : rvcdList) {
Map<String, Object> rvcdNode = new LinkedHashMap<>();
rvcdNode.put("type", "RVCD");
rvcdNode.put("type", "BASIN");
rvcdNode.put("code", rvcdDic.getRvcd());
rvcdNode.put("name", rvcdDic.getRvnm());
rvcdNode.put("path", rvcdDic.getPath());
rvcdNode.put("grd", rvcdDic.getGrd());
rvcdNode.put("lgtd", rvcdDic.getLgtd());
rvcdNode.put("lttd", rvcdDic.getLttd());
rvcdNode.put("parentId", "0");
List<Map<String, Object>> baseChildren = new ArrayList<>();
@ -101,11 +101,11 @@ public class TreeStructureServiceImpl implements ITreeStructureService {
baseNode.put("name", base.getBasename());
baseNode.put("shortname", base.getShortname());
baseNode.put("grd", base.getGrd());
baseNode.put("parentId", rvcdDic.getRvcd());
List<Map<String, Object>> engChildren = new ArrayList<>();
for (SdEngInfoBH eng : baseEngList) {
Map<String, Object> engNode = new LinkedHashMap<>();
engNode.put("type", "ENG");
engNode.put("type", "STATION");
engNode.put("code", eng.getStcd());
engNode.put("name", eng.getEnnm());
engNode.put("lgtd", eng.getLgtd());
@ -114,6 +114,7 @@ public class TreeStructureServiceImpl implements ITreeStructureService {
engNode.put("usfl", eng.getUsfl());
engNode.put("bldstt", eng.getBldstt());
engNode.put("engtp", eng.getEngtp());
engNode.put("parentId", base.getBaseid());
engChildren.add(engNode);
}
baseNode.put("children", engChildren);
@ -224,12 +225,12 @@ public class TreeStructureServiceImpl implements ITreeStructureService {
for (SdHydrobase base : baseList) {
Map<String, Object> node = new LinkedHashMap<>();
node.put("code", base.getBaseid());
node.put("code", base.getPbaseid());
node.put("name", base.getBasename());
node.put("grd", base.getGrd());
node.put("shortname", base.getShortname());
boolean hasChildren = !hydrobaseMapper.selectByPbaseid(base.getBaseid()).isEmpty();
boolean hasChildren = !hydrobaseMapper.selectByPbaseid(base.getPbaseid()).isEmpty();
node.put("hasChildren", hasChildren);
result.add(node);

View File

@ -56,7 +56,7 @@ mybatis-plus:
logic-not-delete-value: 0
logic-delete-field: isDeleted
configuration:
# map-underscore-to-camel-case: true
map-underscore-to-camel-case: true
cache-enabled: false
# log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

View File

@ -4,10 +4,10 @@
<mapper namespace="com.yfd.platform.env.mapper.SdHydrobaseMapper">
<resultMap id="BaseResultMap" type="com.yfd.platform.env.domain.SdHydrobase">
<id column="BASEID" property="baseid"/>
<id column="BASEID" property="baseId"/>
<result column="BASENAME" property="basename"/>
<result column="SHORTNAME" property="shortname"/>
<result column="PBASEID" property="pbaseid"/>
<result column="PBASEID" property="pBaseId"/>
<result column="GRD" property="grd"/>
<result column="PATH" property="path"/>
<result column="ORDERINDEX" property="orderIndex"/>