Commit 9ccf9f5a authored by 竹天卫's avatar 竹天卫

实验室驻场申请

委托上传附件功能
标样管理上传附件功能
评审时删除样品
parent 55b30da9
package cn.wise.sc.cement.business.controller;
import cn.wise.sc.cement.business.model.BaseResponse;
import cn.wise.sc.cement.business.model.PageQuery;
import cn.wise.sc.cement.business.model.query.ClientQuery;
import cn.wise.sc.cement.business.model.query.SettleApprovalQuery;
import cn.wise.sc.cement.business.model.query.SettleDelayQuery;
import cn.wise.sc.cement.business.model.query.SettleQuery;
import cn.wise.sc.cement.business.service.ISettleService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 前端控制器
* </p>
*
* @author ztw
* @since 2021-04-20
*/
@Api(tags = "实验室入驻管理")
@RestController
@RequestMapping("/business/settle")
public class SettleController {
private static final Logger log = LoggerFactory.getLogger("SettleController");
@Autowired
private ISettleService settleService;
@ApiOperation(value = "申请人分页列表")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "isApproval", value = "0未审批,1已审批", paramType = "query", dataType = "Integer")
})
@GetMapping("/getApplyPage")
public BaseResponse getApplyPage(PageQuery pageQuery, Integer isApproval) {
try {
return settleService.getApplyPage(pageQuery, isApproval);
} catch (Exception e) {
log.debug("申请人分页列表{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "审批人分页列表")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "isApproval", value = "0未审批,1已审批", paramType = "query", dataType = "Integer")
})
@GetMapping("/getApprovalPage")
public BaseResponse getApprovalPage(PageQuery pageQuery, Integer isApproval) {
try {
return settleService.getApprovalPage(pageQuery, isApproval);
} catch (Exception e) {
log.debug("审批人分页列表{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "实验室入驻详情")
@GetMapping("/getDetail/{settleId}")
public BaseResponse getDetail(@PathVariable Integer settleId) {
try {
return settleService.getDetail(settleId);
} catch (Exception e) {
log.debug("实验室入驻详情{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "入驻申请")
@PostMapping("/settleApply")
public BaseResponse settleApply(@RequestBody SettleQuery query) {
try {
return settleService.settleApply(query);
} catch (Exception e) {
log.debug("入驻申请{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "撤销")
@GetMapping("/revoke/{settleId}")
public BaseResponse revoke(@PathVariable Integer settleId) {
try {
return settleService.revoke(settleId);
} catch (Exception e) {
log.debug("撤销{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "延期申请")
@PostMapping("/delayApply")
public BaseResponse delayApply(@RequestBody SettleDelayQuery query) {
try {
return settleService.delayApply(query);
} catch (Exception e) {
log.debug("延期申请{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "验收申请")
@PostMapping("/checkApply")
public BaseResponse checkApply(Integer settleId) {
try {
return settleService.checkApply(settleId);
} catch (Exception e) {
log.debug("验收申请{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "审批")
@PostMapping("/settleApproval")
public BaseResponse settleApproval(@RequestBody SettleApprovalQuery query) {
try {
return settleService.settleApproval(query);
} catch (Exception e) {
log.debug("审批{}", e);
}
return BaseResponse.errorMsg("失败!");
}
}
package cn.wise.sc.cement.business.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2021-04-20
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class Settle implements Serializable {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 申请单位
*/
private String clientName;
/**
* 入驻地点
*/
private String position;
/**
* 入驻日期
*/
private LocalDate settleDate;
/**
* 离开日期
*/
private LocalDate leaveDate;
/**
* 延期日期
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDate delayDate;
/**
* 是否存放样品(1是,0否)
*/
private Integer isDeposit;
/**
* 存放日期
*/
private LocalDate depositDate;
/**
* 申请用户id
*/
private Integer userId;
/**
* (0未审批,1未通过,2使用中,3验收中,4已验收,5撤销)
*/
private Integer status;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 备注
*/
private String remark;
}
package cn.wise.sc.cement.business.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2021-04-20
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SettleEquipment implements Serializable {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 入驻表d
*/
private Integer settleId;
/**
* 设备表id
*/
private Integer equipmentId;
/**
* 设备名称
*/
private String equipmentName;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 备注
*/
private String remark;
}
package cn.wise.sc.cement.business.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2021-04-20
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SettleRecord implements Serializable {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* 审批类型(1入驻申请,2延期申请,3验收申请)
*/
private Integer type;
/**
* 入驻表d
*/
private Integer settleId;
/**
* 申请人id
*/
private Integer userId;
/**
* 审批人id
*/
private Integer approvalId;
/**
* 审批意见(验收结果)
*/
private String opinion;
/**
* 审批结果(0申请,1通过,2驳回)
*/
private Integer status;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 备注
*/
private String remark;
}
package cn.wise.sc.cement.business.mapper;
import cn.wise.sc.cement.business.entity.SettleEquipment;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2021-04-20
*/
public interface SettleEquipmentMapper extends BaseMapper<SettleEquipment> {
}
package cn.wise.sc.cement.business.mapper;
import cn.wise.sc.cement.business.entity.Settle;
import cn.wise.sc.cement.business.model.vo.EntrustVo;
import cn.wise.sc.cement.business.model.vo.SettleVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2021-04-20
*/
public interface SettleMapper extends BaseMapper<Settle> {
IPage<SettleVo> getApplyPage(@Param("page") Page page, @Param("params") Map<String, Object> params);
IPage<SettleVo> getApprovalPage(@Param("page") Page page, @Param("params") Map<String, Object> params);
}
package cn.wise.sc.cement.business.mapper;
import cn.wise.sc.cement.business.entity.SettleRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2021-04-20
*/
public interface SettleRecordMapper extends BaseMapper<SettleRecord> {
}
<?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="cn.wise.sc.cement.business.mapper.SettleEquipmentMapper">
</mapper>
<?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="cn.wise.sc.cement.business.mapper.SettleMapper">
<select id="getApplyPage" resultType="cn.wise.sc.cement.business.model.vo.SettleVo">
select s.*,
(
CASE s.status
WHEN 0 THEN '未评审'
WHEN 1 THEN '未通过'
WHEN 2 THEN '使用中'
WHEN 3 THEN '验收中'
WHEN 4 THEN '已验收'
WHEN 5 THEN '撤销'
ELSE ''
END
) as statusValue,
'实验室入驻申请' as applyType
from settle s
<include refid="where"/>
order by s.create_time desc
</select>
<sql id="where">
<where>
and s.status != 5
<if test="params.isApproval == 0 ">
and s.status = 0
</if>
<if test="params.isApproval == 1 ">
and s.status != 0
</if>
<if test="params.userId != null">
and s.user_id = #{params.userId}
</if>
<if test="params.clientName != null and params.clientName != ''">
and s.client_name like concat('%', #{params.clientName}, '%')
</if>
<if test="params.startDate != null and params.startDate != ''">
and DATE(s.create_time) &gt;= #{params.startDate}
</if>
<if test="params.endDate != null and params.endDate != ''">
and DATE(s.create_time) &lt;= #{params.endDate}
</if>
</where>
</sql>
<select id="getApprovalPage" resultType="cn.wise.sc.cement.business.model.vo.SettleVo">
select s.*,
(
CASE s.status
WHEN 0 THEN '未评审'
WHEN 1 THEN '未通过'
WHEN 2 THEN '使用中'
WHEN 3 THEN '验收中'
WHEN 4 THEN '已验收'
WHEN 5 THEN '撤销'
ELSE ''
END
) as statusValue,
(
CASE sr.type
WHEN 1 THEN '实验室入驻申请'
WHEN 2 THEN '实验室延期申请'
WHEN 3 THEN '实验室验收申请'
ELSE ''
END
) as applyType
from settle_record sr
left join settle s on s.id = sr.settle_id
where s.status != 5
<if test="params.isApproval == 0 ">
and sr.status = 0
</if>
<if test="params.isApproval == 1 ">
and sr.status != 0
and sr.approval_id = #{params.userId}
</if>
order by sr.create_time desc
</select>
</mapper>
<?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="cn.wise.sc.cement.business.mapper.SettleRecordMapper">
</mapper>
package cn.wise.sc.cement.business.service;
import cn.wise.sc.cement.business.entity.Settle;
import cn.wise.sc.cement.business.model.BaseResponse;
import cn.wise.sc.cement.business.model.PageQuery;
import cn.wise.sc.cement.business.model.query.SettleApprovalQuery;
import cn.wise.sc.cement.business.model.query.SettleDelayQuery;
import cn.wise.sc.cement.business.model.query.SettleQuery;
import cn.wise.sc.cement.business.model.vo.SettleVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author ztw
* @since 2021-04-20
*/
public interface ISettleService extends IService<Settle> {
BaseResponse<IPage<SettleVo>> getApplyPage(PageQuery pageQuery, Integer isApproval);
BaseResponse<IPage<SettleVo>> getApprovalPage(PageQuery pageQuery, Integer isApproval);
BaseResponse<SettleVo> getDetail(Integer settleId);
BaseResponse<String> settleApply(SettleQuery query);
BaseResponse<String> revoke(Integer settleId);
BaseResponse<String> delayApply(SettleDelayQuery query);
BaseResponse<String> checkApply(Integer settleId);
BaseResponse<String> settleApproval(SettleApprovalQuery query);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment