parent
c39e36eacd
commit
fd0fd44520
@ -0,0 +1,73 @@ |
|||||||
|
package digital.laboratory.platform.entrustment.controller; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.entrustment.dto.EntrustAlterApplyApproveDTO; |
||||||
|
import digital.laboratory.platform.entrustment.dto.EntrustAlterApplyDTO; |
||||||
|
import digital.laboratory.platform.entrustment.query.EntrustAlterApplyQuery; |
||||||
|
import digital.laboratory.platform.entrustment.service.EntrustAlterApplyService; |
||||||
|
import digital.laboratory.platform.entrustment.vo.EntrustAlterApplyVO; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.springframework.security.access.prepost.PreAuthorize; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
|
||||||
|
import javax.validation.Valid; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 申请修改委托消息相关接口 |
||||||
|
* |
||||||
|
* @author chenjiangbao |
||||||
|
* @describe 申请修改委托消息相关接口 前端控制器 |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequiredArgsConstructor |
||||||
|
@RequestMapping("/papp/entrustAlterApply") |
||||||
|
@Api(tags = "016-申请修改委托消息相关接口") |
||||||
|
public class EntrustAlterApplyController { |
||||||
|
|
||||||
|
private final EntrustAlterApplyService entrustAlterApplyService; |
||||||
|
|
||||||
|
@ApiOperation(value = "查询所有申请修改委托消息分页接口", notes = "查询所有申请修改委托消息分页接口") |
||||||
|
@PostMapping("/page") |
||||||
|
@PreAuthorize("@pms.hasPermission('EntrustAlterApplyQuery')") // 委托申请修改消息查询权限
|
||||||
|
public R page(@RequestBody EntrustAlterApplyQuery query) { |
||||||
|
IPage<EntrustAlterApplyVO> page = entrustAlterApplyService.voPage(query); |
||||||
|
return R.ok(page); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "保存或提交委托申请修改消息", notes = "保存委托申请修改消息") |
||||||
|
@PostMapping("/save") |
||||||
|
@PreAuthorize("@pms.hasPermission('EntrustAlterApplySubmit')") // 委托申请修改消息保存提交权限
|
||||||
|
public R save(@RequestBody @Valid EntrustAlterApplyDTO dto) { |
||||||
|
EntrustAlterApplyVO vo = entrustAlterApplyService.save(dto); |
||||||
|
return R.ok(vo); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "修改委托申请修改消息", notes = "修改委托申请修改消息") |
||||||
|
@PutMapping("/update") |
||||||
|
@PreAuthorize("@pms.hasPermission('EntrustAlterApplyEdit')") // 委托申请修改消息修改权限
|
||||||
|
public R update(@RequestBody @Valid EntrustAlterApplyDTO dto) { |
||||||
|
Boolean success = entrustAlterApplyService.update(dto); |
||||||
|
return R.ok(success).setMsg(success ? "修改成功" : "修改失败"); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "审核提交委托申请修改消息", notes = "审核提交委托申请修改消息") |
||||||
|
@PutMapping("/approve") |
||||||
|
@PreAuthorize("@pms.hasPermission('EntrustAlterApplyApprove')") // 委托申请修改消息审核权限
|
||||||
|
public R approve(@RequestBody @Valid EntrustAlterApplyApproveDTO approveDTO) { |
||||||
|
Boolean success = entrustAlterApplyService.approve(approveDTO); |
||||||
|
return R.ok(success).setMsg(success ? "审核成功" : "审核失败"); |
||||||
|
} |
||||||
|
|
||||||
|
@ApiOperation(value = "删除委托申请修改消息", notes = "删除委托申请修改消息, 只能删除为提交状态的消息") |
||||||
|
@PostMapping("/delete") |
||||||
|
@PreAuthorize("@pms.hasPermission('EntrustAlterApplyDelete')") // 委托申请修改消息删除权限
|
||||||
|
public R delete(@RequestBody List<String> ids) { |
||||||
|
Boolean success = entrustAlterApplyService.delete(ids); |
||||||
|
return R.ok(success).setMsg(success ? "审核成功" : "审核失败"); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,31 @@ |
|||||||
|
package digital.laboratory.platform.entrustment.dto; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank; |
||||||
|
|
||||||
|
/** |
||||||
|
* 申请修改委托消息表 审核 DTO类 |
||||||
|
* @TableName b_entrust_alter_apply |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ApiModel(value = "EntrustAlterApplyApproveDTO", description = "申请修改委托消息表 审核 DTO类, 传递参数") |
||||||
|
public class EntrustAlterApplyApproveDTO { |
||||||
|
/** |
||||||
|
* 主键标识 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "主键标识") |
||||||
|
@NotBlank(message = "请选择审核的记录!") |
||||||
|
private String id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 原因 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "原因") |
||||||
|
private String reason; |
||||||
|
|
||||||
|
@ApiModelProperty(value = " 0 不通过 | 1 通过") |
||||||
|
private Integer opCode; |
||||||
|
} |
@ -0,0 +1,31 @@ |
|||||||
|
package digital.laboratory.platform.entrustment.dto; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank; |
||||||
|
|
||||||
|
/** |
||||||
|
* 申请修改委托消息表 DTO类 |
||||||
|
* @TableName b_entrust_alter_apply |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ApiModel(value = "EntrustAlterApplyDTO", description = "申请修改委托消息表 DTO类, 传递参数") |
||||||
|
public class EntrustAlterApplyDTO { |
||||||
|
/** |
||||||
|
* 主键标识 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "主键标识") |
||||||
|
private String id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 关联的委托id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "关联的委托id") |
||||||
|
@NotBlank(message = "关联的委托id不能为空!") |
||||||
|
private String entrustId; |
||||||
|
|
||||||
|
@ApiModelProperty(value = " 0 保存 | 1 提交 (如果调用的是修改接口 1则是撤销操作)") |
||||||
|
private Integer opCode; |
||||||
|
} |
@ -0,0 +1,106 @@ |
|||||||
|
package digital.laboratory.platform.entrustment.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 digital.laboratory.platform.common.mybatis.base.BaseEntity; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.time.LocalDate; |
||||||
|
|
||||||
|
/** |
||||||
|
* 申请修改委托消息表 |
||||||
|
* @TableName b_entrust_alter_apply |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@TableName(value ="b_entrust_alter_apply") |
||||||
|
public class EntrustAlterApply extends BaseEntity { |
||||||
|
/** |
||||||
|
* 主键标识 |
||||||
|
*/ |
||||||
|
@TableId(value = "ID", type = IdType.ASSIGN_ID) |
||||||
|
private String id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 关联的委托id |
||||||
|
*/ |
||||||
|
private String entrustId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 申请人id |
||||||
|
*/ |
||||||
|
private String applicant; |
||||||
|
|
||||||
|
/** |
||||||
|
* 申请日期 |
||||||
|
*/ |
||||||
|
private LocalDate applyDate; |
||||||
|
|
||||||
|
/** |
||||||
|
* 申请单位 |
||||||
|
*/ |
||||||
|
private String applyOrgId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审核人id |
||||||
|
*/ |
||||||
|
private String reviewer; |
||||||
|
|
||||||
|
/** |
||||||
|
* 状态 === 0 待提交申请, 1 提交申请待审核,2申请通过,-1 申请不通过 |
||||||
|
*/ |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
/** |
||||||
|
* 原因 |
||||||
|
*/ |
||||||
|
private String reason; |
||||||
|
|
||||||
|
@TableField(exist = false) |
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object that) { |
||||||
|
if (this == that) { |
||||||
|
return true; |
||||||
|
} |
||||||
|
if (that == null) { |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (getClass() != that.getClass()) { |
||||||
|
return false; |
||||||
|
} |
||||||
|
EntrustAlterApply other = (EntrustAlterApply) that; |
||||||
|
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) |
||||||
|
&& (this.getEntrustId() == null ? other.getEntrustId() == null : this.getEntrustId().equals(other.getEntrustId())); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
final int prime = 31; |
||||||
|
int result = 1; |
||||||
|
result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); |
||||||
|
result = prime * result + ((getEntrustId() == null) ? 0 : getEntrustId().hashCode()); |
||||||
|
return result; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String toString() { |
||||||
|
StringBuilder sb = new StringBuilder(); |
||||||
|
sb.append(getClass().getSimpleName()); |
||||||
|
sb.append(" ["); |
||||||
|
sb.append("Hash = ").append(hashCode()); |
||||||
|
sb.append(", id=").append(id); |
||||||
|
sb.append(", entrustId=").append(entrustId); |
||||||
|
sb.append(", applicant=").append(applicant); |
||||||
|
sb.append(", applyDate=").append(applyDate); |
||||||
|
sb.append(", applyOrgId=").append(applyOrgId); |
||||||
|
sb.append(", reviewer=").append(reviewer); |
||||||
|
sb.append(", status=").append(status); |
||||||
|
sb.append(", reason=").append(reason); |
||||||
|
sb.append(", serialVersionUID=").append(serialVersionUID); |
||||||
|
sb.append("]"); |
||||||
|
return sb.toString(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,33 @@ |
|||||||
|
package digital.laboratory.platform.entrustment.enums; |
||||||
|
|
||||||
|
import lombok.Getter; |
||||||
|
|
||||||
|
@Getter |
||||||
|
public enum EntrustAlterApplyStatus { |
||||||
|
|
||||||
|
WAIT_SUBMIT_APPLY(0, "待提交申请"), |
||||||
|
SUBMITTED_WAIT_APPROVE(1,"提交申请待审核"), |
||||||
|
APPLY_SUCCESS(2, "申请通过"), |
||||||
|
APPLY_FAIL(-1, "申请不通过"), |
||||||
|
; |
||||||
|
|
||||||
|
|
||||||
|
private final Integer status; |
||||||
|
|
||||||
|
private final String desc; |
||||||
|
|
||||||
|
EntrustAlterApplyStatus(Integer status, String desc) { |
||||||
|
this.status = status; |
||||||
|
this.desc = desc; |
||||||
|
} |
||||||
|
|
||||||
|
// 根据名称获取指纹类型
|
||||||
|
public static EntrustAlterApplyStatus fromStatus(Integer status) { |
||||||
|
for (EntrustAlterApplyStatus entrustAlterApplyStatus : values()) { |
||||||
|
if (entrustAlterApplyStatus.getStatus().equals(status)) { |
||||||
|
return entrustAlterApplyStatus; |
||||||
|
} |
||||||
|
} |
||||||
|
throw new IllegalArgumentException("No enum constant with status: " + status); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,42 @@ |
|||||||
|
package digital.laboratory.platform.entrustment.mapper; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||||
|
import digital.laboratory.platform.entrustment.entity.EntrustAlterApply; |
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||||
|
import digital.laboratory.platform.entrustment.entity.Entrustment; |
||||||
|
import digital.laboratory.platform.entrustment.query.EntrustAlterApplyQuery; |
||||||
|
import digital.laboratory.platform.entrustment.vo.EntrustAlterApplyVO; |
||||||
|
import digital.laboratory.platform.entrustment.vo.EntrustmentVO; |
||||||
|
import org.apache.ibatis.annotations.Param; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ChenJiangBao |
||||||
|
* @description 针对表【b_entrust_alter_apply(申请修改委托消息表)】的数据库操作Mapper |
||||||
|
* @createDate 2024-10-31 17:35:01 |
||||||
|
* @Entity digital.laboratory.platform.entrustment.entity.EntrustAlterApply |
||||||
|
*/ |
||||||
|
public interface EntrustAlterApplyMapper extends BaseMapper<EntrustAlterApply> { |
||||||
|
|
||||||
|
/** |
||||||
|
* 分页查询委托变更申请列表 |
||||||
|
* @param page |
||||||
|
* @param query |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
IPage<EntrustAlterApplyVO> getEntrustAlterApplyVOPage(IPage<EntrustAlterApplyVO> page, EntrustAlterApplyQuery query); |
||||||
|
|
||||||
|
EntrustAlterApplyVO getEntrustAlterApplyVOOne(@Param(Constants.WRAPPER) Wrapper<EntrustAlterApply> qw); |
||||||
|
|
||||||
|
List<EntrustAlterApplyVO> getEntrustAlterApplyVOList(@Param(Constants.WRAPPER) Wrapper<EntrustAlterApply> qw); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,49 @@ |
|||||||
|
package digital.laboratory.platform.entrustment.query; |
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import io.swagger.v3.oas.annotations.media.Schema; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.time.LocalDate; |
||||||
|
|
||||||
|
/** |
||||||
|
* 申请修改委托消息 查询对象(分页查询、列表查询) |
||||||
|
* |
||||||
|
* @author Chen |
||||||
|
* @since 1.0.0 2024-08-14 |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ApiModel(description = "申请修改委托消息 查询对象(分页查询、列表查询)") |
||||||
|
public class EntrustAlterApplyQuery { |
||||||
|
|
||||||
|
@ApiModelProperty(value = "分页参数,每页多少条, 默认10") |
||||||
|
private Long size = 10L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "分页参数, 当前页, 默认1") |
||||||
|
private Long current = 1L; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "关键字,支持 案件名称查询") |
||||||
|
private String keywords; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "申请人id查询") |
||||||
|
private String applicant; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "开始日期") |
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd") |
||||||
|
private LocalDate startDate; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "结束日期") |
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd") |
||||||
|
private LocalDate endDate; |
||||||
|
|
||||||
|
@ApiModelProperty(value = "状态") |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
// 是否是员工
|
||||||
|
private Boolean isStaff; |
||||||
|
|
||||||
|
// 非实验室人员的机构id
|
||||||
|
private String clientOrgId; |
||||||
|
} |
@ -0,0 +1,81 @@ |
|||||||
|
package digital.laboratory.platform.entrustment.service; |
||||||
|
|
||||||
|
import com.deepoove.poi.XWPFTemplate; |
||||||
|
import digital.laboratory.platform.sys.entity.SysOrg; |
||||||
|
import digital.laboratory.platform.sys.entity.SysUser; |
||||||
|
import digital.laboratory.platform.sys.vo.UserVO; |
||||||
|
import org.springframework.web.multipart.MultipartFile; |
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse; |
||||||
|
import java.io.ByteArrayInputStream; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* 通用的feign请求封装接口服务层接口 |
||||||
|
*/ |
||||||
|
public interface CommonFeignService { |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用获取用户机构 |
||||||
|
* @param orgId |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
SysOrg remoteGetSysOrg(String orgId); |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用获取用户信息 |
||||||
|
* @param username |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
SysUser remoteGetUserByUsername(String username); |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用获取用户信息 |
||||||
|
* @param userId |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
SysUser remoteGetUserById(String userId); |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用生成word,并转成pdf |
||||||
|
* |
||||||
|
* @param template |
||||||
|
* @param originalFilename 文件名 |
||||||
|
* @param savePath 保存到minio路径 |
||||||
|
* @return |
||||||
|
* @throws Exception |
||||||
|
*/ |
||||||
|
boolean remoteGenerateWord2PDF(XWPFTemplate template, String originalFilename, String savePath) throws Exception; |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用根据文件路径获取文件 |
||||||
|
* @param filePath minio上的文件路径 |
||||||
|
* @return |
||||||
|
* @throws Exception |
||||||
|
*/ |
||||||
|
ByteArrayInputStream remoteGetFile(String filePath) throws Exception; |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用根据文件路径获取文件 |
||||||
|
* @param filePath minio上的文件路径 |
||||||
|
* @param fileName 名称 |
||||||
|
* @param httpServletResponse |
||||||
|
* @throws Exception |
||||||
|
*/ |
||||||
|
void remoteGetFile(String filePath, String fileName, HttpServletResponse httpServletResponse) throws Exception; |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用根据文件路径获取文件列表 |
||||||
|
* @param filePath minio上的文件路径 |
||||||
|
*/ |
||||||
|
List<String> remoteGetFileList(String filePath); |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用-上传文件 |
||||||
|
* @param file 上传的文件对象 |
||||||
|
* @param path 上传到minio的位置 |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
Map<String, String> remoteUploadFile(MultipartFile file, String path); |
||||||
|
} |
@ -0,0 +1,54 @@ |
|||||||
|
package digital.laboratory.platform.entrustment.service; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import digital.laboratory.platform.entrustment.dto.EntrustAlterApplyApproveDTO; |
||||||
|
import digital.laboratory.platform.entrustment.dto.EntrustAlterApplyDTO; |
||||||
|
import digital.laboratory.platform.entrustment.entity.EntrustAlterApply; |
||||||
|
import com.baomidou.mybatisplus.extension.service.IService; |
||||||
|
import digital.laboratory.platform.entrustment.query.EntrustAlterApplyQuery; |
||||||
|
import digital.laboratory.platform.entrustment.vo.EntrustAlterApplyVO; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ChenJiangBao |
||||||
|
* @description 针对表【b_entrust_alter_apply(申请修改委托消息表)】的数据库操作Service |
||||||
|
* @createDate 2024-10-31 17:35:01 |
||||||
|
*/ |
||||||
|
public interface EntrustAlterApplyService extends IService<EntrustAlterApply> { |
||||||
|
|
||||||
|
/** |
||||||
|
* 分页查询委托申请修改VO |
||||||
|
* @param query |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
IPage<EntrustAlterApplyVO> voPage(EntrustAlterApplyQuery query); |
||||||
|
|
||||||
|
/** |
||||||
|
* 保存委托申请修改 |
||||||
|
* @param dto |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
EntrustAlterApplyVO save(EntrustAlterApplyDTO dto); |
||||||
|
|
||||||
|
/** |
||||||
|
* 审批委托申请修改 |
||||||
|
* @param approveDTO |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
Boolean approve(EntrustAlterApplyApproveDTO approveDTO); |
||||||
|
|
||||||
|
/** |
||||||
|
* 修改委托申请修改消息 |
||||||
|
* @param dto |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
Boolean update(EntrustAlterApplyDTO dto); |
||||||
|
|
||||||
|
/** |
||||||
|
* 删除委托申请修改消息 |
||||||
|
* @param ids |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
Boolean delete(List<String> ids); |
||||||
|
} |
@ -0,0 +1,207 @@ |
|||||||
|
package digital.laboratory.platform.entrustment.service.impl; |
||||||
|
|
||||||
|
import cn.hutool.core.io.IoUtil; |
||||||
|
import cn.hutool.core.io.file.FileNameUtil; |
||||||
|
import cn.hutool.core.util.StrUtil; |
||||||
|
import com.deepoove.poi.XWPFTemplate; |
||||||
|
import digital.laboratory.platform.common.core.constant.CommonConstants; |
||||||
|
import digital.laboratory.platform.common.core.util.R; |
||||||
|
import digital.laboratory.platform.common.feign.RemoteWord2PDFService; |
||||||
|
import digital.laboratory.platform.common.oss.service.OssFile; |
||||||
|
import digital.laboratory.platform.entrustment.service.CommonFeignService; |
||||||
|
import digital.laboratory.platform.sys.dto.UserInfo; |
||||||
|
import digital.laboratory.platform.sys.entity.SysOrg; |
||||||
|
import digital.laboratory.platform.sys.entity.SysUser; |
||||||
|
import digital.laboratory.platform.sys.feign.RemoteOrgService; |
||||||
|
import digital.laboratory.platform.sys.feign.RemoteUserService; |
||||||
|
import digital.laboratory.platform.sys.vo.UserVO; |
||||||
|
import feign.Response; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.apache.commons.io.output.ByteArrayOutputStream; |
||||||
|
import org.springframework.mock.web.MockMultipartFile; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
import org.springframework.web.multipart.MultipartFile; |
||||||
|
|
||||||
|
import javax.annotation.Resource; |
||||||
|
import javax.servlet.http.HttpServletResponse; |
||||||
|
import java.io.ByteArrayInputStream; |
||||||
|
import java.util.Base64; |
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
|
||||||
|
/** |
||||||
|
* 通用的feign请求封装接口服务层接口 实现类 |
||||||
|
*/ |
||||||
|
@Slf4j |
||||||
|
@Service |
||||||
|
public class CommonFeignServiceImpl implements CommonFeignService { |
||||||
|
|
||||||
|
@Resource |
||||||
|
private RemoteOrgService remoteOrgService; |
||||||
|
|
||||||
|
@Resource |
||||||
|
private RemoteUserService remoteUserService; |
||||||
|
|
||||||
|
@Resource |
||||||
|
private RemoteWord2PDFService remoteWord2PDFService; |
||||||
|
|
||||||
|
@Resource |
||||||
|
private OssFile ossFile; |
||||||
|
|
||||||
|
/** |
||||||
|
* 根据用户获取远程系统机构信息 |
||||||
|
* |
||||||
|
* @param orgId 用户信息 |
||||||
|
* @return 对应的远程系统机构信息 |
||||||
|
* @throws RuntimeException 如果未找到对应的机构信息,则抛出运行时异常 |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public SysOrg remoteGetSysOrg(String orgId) { |
||||||
|
SysOrg sysOrg = null; |
||||||
|
R<SysOrg> r = remoteOrgService.getById(orgId); |
||||||
|
if (r != null && r.getCode() == CommonConstants.SUCCESS) { |
||||||
|
sysOrg = r.getData(); |
||||||
|
} else { |
||||||
|
throw new RuntimeException(String.format("没有找到 orgId 为 %s 的机构, 请确认用户所属机构的正确性!", orgId)); |
||||||
|
} |
||||||
|
return sysOrg; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用或者用户信息 |
||||||
|
* @param username |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public SysUser remoteGetUserByUsername(String username){ |
||||||
|
R<UserInfo> info = remoteUserService.innerGetUserInfoByUsername(username); |
||||||
|
if (info != null && info.getCode() == CommonConstants.FAIL) { |
||||||
|
throw new RuntimeException(String.format("获取用户名为 %s 的用户信息失败!", username)); |
||||||
|
} |
||||||
|
return info.getData().getSysUser(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用获取用户信息 |
||||||
|
* @param userId |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public SysUser remoteGetUserById(String userId){ |
||||||
|
R<SysUser> info = remoteUserService.innerGetById(userId); |
||||||
|
if (info != null && info.getCode() == CommonConstants.FAIL) { |
||||||
|
throw new RuntimeException(String.format("获取用户名id为 %s 的用户信息失败!", userId)); |
||||||
|
} |
||||||
|
return info.getData(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean remoteGenerateWord2PDF(XWPFTemplate template, String originalFilename, String savePath) throws Exception{ |
||||||
|
ByteArrayOutputStream fosWord = new ByteArrayOutputStream(); |
||||||
|
template.write(fosWord); |
||||||
|
template.close(); |
||||||
|
|
||||||
|
//------------
|
||||||
|
ByteArrayInputStream fisWord = new ByteArrayInputStream(fosWord.toByteArray()); |
||||||
|
fosWord.close(); |
||||||
|
|
||||||
|
MockMultipartFile mockMultipartFile = new MockMultipartFile("file", originalFilename + ".docx", "image/jpg", fisWord); |
||||||
|
Response response = remoteWord2PDFService.word2pdf(mockMultipartFile); |
||||||
|
fisWord.close(); |
||||||
|
|
||||||
|
|
||||||
|
ByteArrayOutputStream outPDF = new ByteArrayOutputStream(); |
||||||
|
IoUtil.copy(response.body().asInputStream(), outPDF, IoUtil.DEFAULT_MIDDLE_BUFFER_SIZE); |
||||||
|
ByteArrayInputStream isPDF = new ByteArrayInputStream(outPDF.toByteArray()); |
||||||
|
outPDF.close(); |
||||||
|
|
||||||
|
boolean b = ossFile.fileSave(savePath, isPDF); |
||||||
|
|
||||||
|
isPDF.close(); |
||||||
|
|
||||||
|
log.info("转换为 PDF 结束"); |
||||||
|
return b; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用根据文件路径获取文件 |
||||||
|
* @param filePath minio上的文件路径 |
||||||
|
* @return |
||||||
|
* @throws Exception |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public ByteArrayInputStream remoteGetFile(String filePath) throws Exception { |
||||||
|
ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
||||||
|
ossFile.fileGet(filePath, bos); |
||||||
|
|
||||||
|
byte[] templateArray = bos.toByteArray(); |
||||||
|
|
||||||
|
ByteArrayInputStream bis = new ByteArrayInputStream(templateArray); |
||||||
|
bos.close(); |
||||||
|
return bis; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用根据文件路径获取文件 |
||||||
|
* @param filePath minio上的文件路径 |
||||||
|
* @param fileName 名称 |
||||||
|
* @param httpServletResponse |
||||||
|
* @throws Exception |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public void remoteGetFile(String filePath, String fileName, HttpServletResponse httpServletResponse) throws Exception { |
||||||
|
ossFile.fileGet(filePath, httpServletResponse.getOutputStream()); |
||||||
|
if (StrUtil.isNotBlank(fileName)) { |
||||||
|
httpServletResponse.setContentType(fileName); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用根据文件路径获取文件列表 |
||||||
|
* @param filePath minio上的文件路径 |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public List<String> remoteGetFileList(String filePath) { |
||||||
|
if (StrUtil.isNotBlank(filePath)) { |
||||||
|
List<String> fileNameList = ossFile.fileList(filePath); |
||||||
|
List<String> fileList = fileNameList.stream().map(fileName -> { |
||||||
|
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); |
||||||
|
try { |
||||||
|
ossFile.fileGet(filePath + "/" + fileName, byteArrayOutputStream); |
||||||
|
return Base64.getEncoder().encodeToString(byteArrayOutputStream.toByteArray()); |
||||||
|
} catch (Exception e) { |
||||||
|
e.printStackTrace(); |
||||||
|
log.error("文件获取失败, 文件路径为: {}", filePath + "/" + fileName); |
||||||
|
} |
||||||
|
return null; |
||||||
|
}).collect(Collectors.toList()); |
||||||
|
return fileList; |
||||||
|
} else { |
||||||
|
throw new RuntimeException("文件路径不能为空!"); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 远程调用-上传文件 |
||||||
|
* @param file 上传的文件对象 |
||||||
|
* @param path 上传到minio的位置 |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public Map<String, String> remoteUploadFile(MultipartFile file, String path) { |
||||||
|
boolean r = ossFile.fileUpload(file, path); |
||||||
|
if (r) { |
||||||
|
HashMap<String, String> resultData = new HashMap<>(); |
||||||
|
resultData.put("fileName", FileNameUtil.getName(file.getOriginalFilename())); |
||||||
|
resultData.put("path", path); |
||||||
|
log.info("文件上传成功!"); |
||||||
|
return resultData; |
||||||
|
} else { |
||||||
|
String failMsg = String.format("文件名为 %s 的文件上传失败!", file.getOriginalFilename()); |
||||||
|
log.error(failMsg); |
||||||
|
throw new RuntimeException(failMsg); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,146 @@ |
|||||||
|
package digital.laboratory.platform.entrustment.service.impl; |
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil; |
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||||
|
import digital.laboratory.platform.common.mybatis.security.service.DLPUser; |
||||||
|
import digital.laboratory.platform.common.security.util.SecurityUtils; |
||||||
|
import digital.laboratory.platform.entrustment.dto.EntrustAlterApplyApproveDTO; |
||||||
|
import digital.laboratory.platform.entrustment.dto.EntrustAlterApplyDTO; |
||||||
|
import digital.laboratory.platform.entrustment.entity.EntrustAlterApply; |
||||||
|
import digital.laboratory.platform.entrustment.enums.EntrustAlterApplyStatus; |
||||||
|
import digital.laboratory.platform.entrustment.query.EntrustAlterApplyQuery; |
||||||
|
import digital.laboratory.platform.entrustment.service.CommonFeignService; |
||||||
|
import digital.laboratory.platform.entrustment.service.EntrustAlterApplyService; |
||||||
|
import digital.laboratory.platform.entrustment.mapper.EntrustAlterApplyMapper; |
||||||
|
import digital.laboratory.platform.entrustment.vo.EntrustAlterApplyVO; |
||||||
|
import digital.laboratory.platform.sys.feign.RemoteUserService; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import javax.annotation.Resource; |
||||||
|
import java.time.LocalDate; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ChenJiangBao |
||||||
|
* @description 针对表【b_entrust_alter_apply(申请修改委托消息表)】的数据库操作Service实现 |
||||||
|
* @createDate 2024-10-31 17:35:01 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
public class EntrustAlterApplyServiceImpl extends ServiceImpl<EntrustAlterApplyMapper, EntrustAlterApply> |
||||||
|
implements EntrustAlterApplyService{ |
||||||
|
|
||||||
|
@Resource |
||||||
|
private CommonFeignService commonFeignService; |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
public IPage<EntrustAlterApplyVO> voPage(EntrustAlterApplyQuery query) { |
||||||
|
IPage<EntrustAlterApplyVO> entrustAlterApplyVOPage = baseMapper.getEntrustAlterApplyVOPage(new Page<>(query.getCurrent(), query.getSize()), query); |
||||||
|
entrustAlterApplyVOPage.getRecords().forEach(e -> { |
||||||
|
fillVOInfo(e); |
||||||
|
}); |
||||||
|
return entrustAlterApplyVOPage; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 保存消息 |
||||||
|
* @param dto |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public EntrustAlterApplyVO save(EntrustAlterApplyDTO dto) { |
||||||
|
EntrustAlterApply entrustAlterApply = new EntrustAlterApply(); |
||||||
|
if (StrUtil.isBlank(dto.getId())) { |
||||||
|
entrustAlterApply.setEntrustId(dto.getEntrustId()); |
||||||
|
DLPUser user = SecurityUtils.getUser(); |
||||||
|
entrustAlterApply.setApplicant(user.getId()); |
||||||
|
entrustAlterApply.setApplyOrgId(user.getOrgId()); |
||||||
|
if (dto.getOpCode() == 0) { |
||||||
|
entrustAlterApply.setStatus(EntrustAlterApplyStatus.WAIT_SUBMIT_APPLY.getStatus()); |
||||||
|
} else if (dto.getOpCode() == 1) { |
||||||
|
entrustAlterApply.setApplyDate(LocalDate.now()); |
||||||
|
entrustAlterApply.setStatus(EntrustAlterApplyStatus.SUBMITTED_WAIT_APPROVE.getStatus()); |
||||||
|
} |
||||||
|
super.save(entrustAlterApply); |
||||||
|
} else { |
||||||
|
entrustAlterApply.setId(dto.getId()); |
||||||
|
super.update(Wrappers.<EntrustAlterApply>lambdaUpdate() |
||||||
|
.eq(EntrustAlterApply::getId, dto.getId()) |
||||||
|
.set(EntrustAlterApply::getStatus, EntrustAlterApplyStatus.SUBMITTED_WAIT_APPROVE.getStatus()) |
||||||
|
.set(EntrustAlterApply::getApplyDate, LocalDate.now())); |
||||||
|
|
||||||
|
} |
||||||
|
EntrustAlterApplyVO entrustAlterApplyVOOne = baseMapper.getEntrustAlterApplyVOOne(Wrappers.<EntrustAlterApply>lambdaQuery().eq(EntrustAlterApply::getId, entrustAlterApply.getId())); |
||||||
|
fillVOInfo(entrustAlterApplyVOOne); |
||||||
|
return entrustAlterApplyVOOne; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public Boolean approve(EntrustAlterApplyApproveDTO approveDTO) { |
||||||
|
if (approveDTO.getOpCode() == 0) { |
||||||
|
// 拒绝
|
||||||
|
return super.update(Wrappers.<EntrustAlterApply>lambdaUpdate().eq(EntrustAlterApply::getId, approveDTO.getId()) |
||||||
|
.set(EntrustAlterApply::getStatus, EntrustAlterApplyStatus.APPLY_FAIL.getStatus()) |
||||||
|
.set(EntrustAlterApply::getReason,approveDTO.getReason())); |
||||||
|
} else { |
||||||
|
// 同意
|
||||||
|
return super.update(Wrappers.<EntrustAlterApply>lambdaUpdate().eq(EntrustAlterApply::getId, approveDTO.getId()) |
||||||
|
.set(EntrustAlterApply::getStatus, EntrustAlterApplyStatus.APPLY_SUCCESS.getStatus()) |
||||||
|
.set(EntrustAlterApply::getReason,approveDTO.getReason())); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 修改消息 |
||||||
|
* @param dto |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public Boolean update(EntrustAlterApplyDTO dto) { |
||||||
|
if(StrUtil.isBlank(dto.getId())){ |
||||||
|
throw new RuntimeException("修改的记录id不能为空"); |
||||||
|
} |
||||||
|
EntrustAlterApply oldInfo = super.getById(dto.getId()); |
||||||
|
if (dto.getOpCode() == 1 && oldInfo.getStatus().equals(EntrustAlterApplyStatus.SUBMITTED_WAIT_APPROVE.getStatus())) { |
||||||
|
throw new RuntimeException("该条记录不在可撤销的状态范围内!"); |
||||||
|
} |
||||||
|
return super.update(Wrappers.<EntrustAlterApply>lambdaUpdate().eq(EntrustAlterApply::getId, dto.getId()) |
||||||
|
.set(EntrustAlterApply::getEntrustId, dto.getEntrustId()) |
||||||
|
.set(dto.getOpCode() == 1, |
||||||
|
EntrustAlterApply::getStatus, EntrustAlterApplyStatus.WAIT_SUBMIT_APPLY.getStatus())); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 删除委托申请修改消息 |
||||||
|
* @param ids |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public Boolean delete(List<String> ids) { |
||||||
|
List<EntrustAlterApplyVO> entrustAlterAppliesVOS = baseMapper.getEntrustAlterApplyVOList(Wrappers.<EntrustAlterApply>lambdaQuery().in(EntrustAlterApply::getId,ids)); |
||||||
|
entrustAlterAppliesVOS.forEach(e -> { |
||||||
|
if (e.getStatus().equals(EntrustAlterApplyStatus.WAIT_SUBMIT_APPLY.getStatus())) { |
||||||
|
throw new RuntimeException(String.format("案件名称为 %s 的记录不在可删除的状态,无法删除!", e.getCaseName())); |
||||||
|
} |
||||||
|
}); |
||||||
|
return super.remove(Wrappers.<EntrustAlterApply>lambdaUpdate().in(EntrustAlterApply::getId,ids)); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 填充VO信息 |
||||||
|
* @param e |
||||||
|
*/ |
||||||
|
private void fillVOInfo(EntrustAlterApplyVO e) { |
||||||
|
e.setStatusName(EntrustAlterApplyStatus.fromStatus(e.getStatus()).getDesc()); |
||||||
|
e.setApplicantName(commonFeignService.remoteGetUserById(e.getApplicant()).getName()); |
||||||
|
e.setReviewerName(commonFeignService.remoteGetUserById(e.getReviewer()).getName()); |
||||||
|
e.setApplyOrgName(commonFeignService.remoteGetSysOrg(e.getApplyOrgId()).getName()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,145 @@ |
|||||||
|
package digital.laboratory.platform.entrustment.vo; |
||||||
|
|
||||||
|
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 digital.laboratory.platform.common.mybatis.base.BaseEntity; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.time.LocalDate; |
||||||
|
|
||||||
|
/** |
||||||
|
* 申请修改委托消息表 vo类 |
||||||
|
* @TableName b_entrust_alter_apply |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ApiModel(value = "EntrustAlterApplyVO", description = "申请修改委托消息表 vo类, 返回到前台显示") |
||||||
|
public class EntrustAlterApplyVO { |
||||||
|
/** |
||||||
|
* 主键标识 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "主键标识") |
||||||
|
private String id; |
||||||
|
|
||||||
|
/** |
||||||
|
* 关联的委托id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "关联的委托id") |
||||||
|
private String entrustId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 关联的委托案件名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "关联的委托案件名称") |
||||||
|
private String caseName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 申请人id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "申请人id") |
||||||
|
private String applicant; |
||||||
|
|
||||||
|
/** |
||||||
|
* 申请人名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "申请人名称") |
||||||
|
private String applicantName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 申请日期 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "申请日期") |
||||||
|
private LocalDate applyDate; |
||||||
|
|
||||||
|
/** |
||||||
|
* 申请单位 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "申请单位") |
||||||
|
private String applyOrgId; |
||||||
|
|
||||||
|
/** |
||||||
|
* 申请单位名称 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "申请单位名称") |
||||||
|
private String applyOrgName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审核人id |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "审核人id ") |
||||||
|
private String reviewer; |
||||||
|
|
||||||
|
/** |
||||||
|
* 审核人名字 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "审核人名字 ") |
||||||
|
private String reviewerName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 状态 === 0 待提交申请, 1 提交申请待审核,2申请通过,-1 申请不通过 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "状态 === 0 待提交申请, 1 提交申请待审核,2申请通过,-1 申请不通过") |
||||||
|
private Integer status; |
||||||
|
|
||||||
|
/** |
||||||
|
* 状态名称 === 0 待提交申请, 1 提交申请待审核,2申请通过,-1 申请不通过 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "状态名称 === 0 待提交申请, 1 提交申请待审核,2申请通过,-1 申请不通过") |
||||||
|
private String statusName; |
||||||
|
|
||||||
|
/** |
||||||
|
* 原因 |
||||||
|
*/ |
||||||
|
@ApiModelProperty(value = "原因") |
||||||
|
private String reason; |
||||||
|
|
||||||
|
@TableField(exist = false) |
||||||
|
private static final long serialVersionUID = 1L; |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object that) { |
||||||
|
if (this == that) { |
||||||
|
return true; |
||||||
|
} |
||||||
|
if (that == null) { |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (getClass() != that.getClass()) { |
||||||
|
return false; |
||||||
|
} |
||||||
|
EntrustAlterApplyVO other = (EntrustAlterApplyVO) that; |
||||||
|
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) |
||||||
|
&& (this.getEntrustId() == null ? other.getEntrustId() == null : this.getEntrustId().equals(other.getEntrustId())); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
final int prime = 31; |
||||||
|
int result = 1; |
||||||
|
result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); |
||||||
|
result = prime * result + ((getEntrustId() == null) ? 0 : getEntrustId().hashCode()); |
||||||
|
return result; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String toString() { |
||||||
|
StringBuilder sb = new StringBuilder(); |
||||||
|
sb.append(getClass().getSimpleName()); |
||||||
|
sb.append(" ["); |
||||||
|
sb.append("Hash = ").append(hashCode()); |
||||||
|
sb.append(", id=").append(id); |
||||||
|
sb.append(", entrustId=").append(entrustId); |
||||||
|
sb.append(", applicant=").append(applicant); |
||||||
|
sb.append(", applyDate=").append(applyDate); |
||||||
|
sb.append(", applyOrgId=").append(applyOrgId); |
||||||
|
sb.append(", reviewer=").append(reviewer); |
||||||
|
sb.append(", status=").append(status); |
||||||
|
sb.append(", reason=").append(reason); |
||||||
|
sb.append(", serialVersionUID=").append(serialVersionUID); |
||||||
|
sb.append("]"); |
||||||
|
return sb.toString(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,75 @@ |
|||||||
|
<?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="digital.laboratory.platform.entrustment.mapper.EntrustAlterApplyMapper"> |
||||||
|
|
||||||
|
<resultMap id="BaseResultMap" type="digital.laboratory.platform.entrustment.entity.EntrustAlterApply"> |
||||||
|
<id property="id" column="id" jdbcType="VARCHAR"/> |
||||||
|
<result property="entrustId" column="entrust_id" jdbcType="VARCHAR"/> |
||||||
|
<result property="applicant" column="applicant" jdbcType="VARCHAR"/> |
||||||
|
<result property="applyDate" column="apply_date" jdbcType="TIMESTAMP"/> |
||||||
|
<result property="applyOrgId" column="apply_org_id" jdbcType="VARCHAR"/> |
||||||
|
<result property="reviewer" column="reviewer" jdbcType="VARCHAR"/> |
||||||
|
<result property="status" column="status" jdbcType="TINYINT"/> |
||||||
|
<result property="reason" column="reason" jdbcType="VARCHAR"/> |
||||||
|
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> |
||||||
|
<result property="createBy" column="create_by" jdbcType="VARCHAR"/> |
||||||
|
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> |
||||||
|
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/> |
||||||
|
</resultMap> |
||||||
|
|
||||||
|
<sql id="Base_Column_List"> |
||||||
|
id,entrust_id,applicant, |
||||||
|
apply_date,apply_org_id,reviewer, |
||||||
|
status,reason,create_time, |
||||||
|
create_by,update_time,update_by |
||||||
|
</sql> |
||||||
|
|
||||||
|
<!-- 连接委托表查询委托案件名称--> |
||||||
|
<sql id="getVOSQL"> |
||||||
|
SELECT eaa.*, ce.case_name FROM |
||||||
|
b_entrust_alter_apply eaa |
||||||
|
LEFT JOIN b_entrustment e ON eaa.entrust_id = e.id |
||||||
|
LEFT JOIN b_case_event ce ON ce.id = e.case_id |
||||||
|
</sql> |
||||||
|
|
||||||
|
<select id="getEntrustAlterApplyVOPage" |
||||||
|
parameterType="digital.laboratory.platform.entrustment.query.EntrustAlterApplyQuery" |
||||||
|
resultType="digital.laboratory.platform.entrustment.vo.EntrustAlterApplyVO"> |
||||||
|
<include refid="getVOSQL"/> |
||||||
|
<where> |
||||||
|
<if test="query.keywords != null and query.keywords != ''"> |
||||||
|
AND case_name LIKE CONCAT('%', #{keywords}, '%') |
||||||
|
</if> |
||||||
|
<if test="query.applicant != null and query.applicant != ''"> |
||||||
|
AND applicant_id = #{applicant} |
||||||
|
</if> |
||||||
|
<if test="query.startDate != null"> |
||||||
|
AND apply_date >= #{startDate} |
||||||
|
</if> |
||||||
|
<if test="query.endDate != null"> |
||||||
|
AND apply_date <= #{endDate} |
||||||
|
</if> |
||||||
|
<if test="query.status != null"> |
||||||
|
AND status <= #{status} |
||||||
|
</if> |
||||||
|
<if test="query.isStaff != null and !query.isStaff and query.clientOrgId != null and query.clientOrgId != ''"> |
||||||
|
AND apply_org_id = #{query.clientOrgId} |
||||||
|
</if> |
||||||
|
</where> |
||||||
|
ORDER BY apply_date DESC |
||||||
|
</select> |
||||||
|
|
||||||
|
<select id="getEntrustAlterApplyVOOne" |
||||||
|
resultType="digital.laboratory.platform.entrustment.vo.EntrustAlterApplyVO"> |
||||||
|
<include refid="getVOSQL"/> |
||||||
|
${ew.customSqlSegment} |
||||||
|
</select> |
||||||
|
|
||||||
|
<select id="getEntrustAlterApplyVOList" |
||||||
|
resultType="digital.laboratory.platform.entrustment.vo.EntrustAlterApplyVO"> |
||||||
|
<include refid="getVOSQL"/> |
||||||
|
${ew.customSqlSegment} |
||||||
|
</select> |
||||||
|
</mapper> |
Loading…
Reference in new issue