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