Commit 70221b7e by wangweidong

土工试验修改

parent 0b1f56cc
package com.patzn.cloud.service.lims.soil.controller;
import com.baomidou.kisso.annotation.Action;
import com.baomidou.kisso.annotation.Login;
import com.patzn.cloud.oss.starter.OssFileResult;
import com.patzn.cloud.service.soil.entity.SoilOriginalTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.lims.soil.service.ISoilOriginalTemplateService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* 模板文件表 前端控制器
*
* @author wwd
* @since 2020-11-23
*/
@Api(tags = "模板文件表")
@RestController
@RequestMapping("/v1/original_template")
public class SoilOriginalTemplateController extends ServiceController {
@Autowired
private ISoilOriginalTemplateService soilOriginalTemplateService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page")
public RestResult<Page<SoilOriginalTemplate>> getPage(SoilOriginalTemplate soilOriginalTemplate) {
return success(soilOriginalTemplateService.page(getPage(), soilOriginalTemplate));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilOriginalTemplate> get(@PathVariable("id") Long id) {
return success(soilOriginalTemplateService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, SoilOriginalTemplate soilOriginalTemplate) {
soilOriginalTemplate.setId(id);
return success(soilOriginalTemplateService.updateById(soilOriginalTemplate));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(SoilOriginalTemplate soilOriginalTemplate) {
return success(soilOriginalTemplateService.save(soilOriginalTemplate));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键数组", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(soilOriginalTemplateService.removeByIds(ids));
}
@ApiOperation(value = "附件上传", notes = "附件上传")
@PostMapping("/upload_template/")
public RestResult<Boolean> uploadTemplate(@RequestParam("classType") String classType,@RequestParam("alias") String alias,@RequestParam("remark") String remark, MultipartFile file) {
return success(soilOriginalTemplateService.uploadTemplate(file, classType,remark,alias));
}
@Login(action = Action.Skip)
@ApiOperation(value = "编辑证书模板", notes = "编辑证书模板")
@PostMapping("/edit_template_{someParam}")
public RestResult<Boolean> editTemplate(@PathVariable("someParam") String someParam, @RequestBody OssFileResult obsFileResult) {
return success(soilOriginalTemplateService.editTemplate(someParam, obsFileResult));
}
@Login(action = Action.Skip)
@ApiOperation(value = "编辑证书模板", notes = "编辑证书模板")
@PostMapping("/edit_report_{someParam}")
public RestResult<Boolean> editReport(@PathVariable("someParam") String someParam, @RequestBody OssFileResult obsFileResult) {
return success(soilOriginalTemplateService.editReport(someParam, obsFileResult));
}
@Login(action = Action.Skip)
@ApiOperation(value = "在线编辑保存报告信息", notes = "在线编辑保存报告信息")
@PostMapping("/get_key_by_businessid{someParam}")
public RestResult<String> getKeyByBusinessId(String businessId) {
return success(soilOriginalTemplateService.getKeyByBusinessId(businessId));
}
@ApiOperation(value = "下载附件", notes = "下载指定附件")
@GetMapping("/download/{id}")
public void downloadFile(@PathVariable("id")Long id) {
soilOriginalTemplateService.downloadFile(id, response);
}
}
package com.patzn.cloud.service.lims.soil.controller;
import com.patzn.cloud.service.soil.entity.SoilOriginalTemplateVersion;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.api.RestConstants;
import com.patzn.cloud.commons.api.RestResult;
import com.patzn.cloud.commons.controller.ServiceController;
import com.patzn.cloud.service.lims.soil.service.ISoilOriginalTemplateVersionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* 模板文件历史表 前端控制器
*
* @author wwd
* @since 2020-11-23
*/
@Api(tags = "模板文件历史表")
@RestController
@RequestMapping("/v1/original_template_version")
public class SoilOriginalTemplateVersionController extends ServiceController {
@Autowired
private ISoilOriginalTemplateVersionService soilOriginalTemplateVersionService;
@ApiOperation("分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page")
public RestResult<Page<SoilOriginalTemplateVersion>> getPage(SoilOriginalTemplateVersion soilOriginalTemplateVersion) {
return success(soilOriginalTemplateVersionService.page(getPage(), soilOriginalTemplateVersion));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilOriginalTemplateVersion> get(@PathVariable("id") Long id) {
return success(soilOriginalTemplateVersionService.getById(id));
}
@ApiOperation("根据 id 修改信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@PutMapping("/{id}")
public RestResult<Boolean> edit(@PathVariable("id") Long id, SoilOriginalTemplateVersion soilOriginalTemplateVersion) {
soilOriginalTemplateVersion.setId(id);
return success(soilOriginalTemplateVersionService.updateById(soilOriginalTemplateVersion));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(SoilOriginalTemplateVersion soilOriginalTemplateVersion) {
return success(soilOriginalTemplateVersionService.save(soilOriginalTemplateVersion));
}
@ApiOperation("根据 ids 删除")
@ApiImplicitParams({
@ApiImplicitParam(name = "ids", value = "主键数组", required = true, paramType = "query", allowMultiple = true, dataTypeClass = Long.class),
})
@DeleteMapping("/")
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(soilOriginalTemplateVersionService.removeByIds(ids));
}
}
......@@ -161,6 +161,26 @@ public class SoilPrepareController extends ServiceController {
@ApiOperation(value = "余样样品处理审批历史分页列表", notes = "余样样品处理审批分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataType = "int"),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataType = "String"),
})
@PostMapping("/page_surplus_handle_check_his")
public RestResult<Page<SoilPrepareVO>> getPageSurplusHandleCheckHis(SoilPrepareVO soilPrepare) {
soilPrepare.setType(1);
return success(soilPrepareService.pagePrepareVOHis(getPage(), soilPrepare));
}
@ApiOperation(value = "余样样品历史分页列表", notes = "余样样品历史分页列表")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataType = "int"),
......
package com.patzn.cloud.service.lims.soil.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.soil.entity.SoilOriginalTemplate;
/**
* <p>
* 模板文件表 Mapper 接口
* </p>
*
* @author wwd
* @since 2020-11-23
*/
public interface SoilOriginalTemplateMapper extends BatchMapper<SoilOriginalTemplate> {
}
package com.patzn.cloud.service.lims.soil.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.soil.entity.SoilOriginalTemplateVersion;
/**
* <p>
* 模板文件历史表 Mapper 接口
* </p>
*
* @author wwd
* @since 2020-11-23
*/
public interface SoilOriginalTemplateVersionMapper extends BatchMapper<SoilOriginalTemplateVersion> {
}
......@@ -24,4 +24,6 @@ public interface SoilPrepareMapper extends BaseMapper<SoilPrepare> {
List<SoilPrepareVO> selectTakeVOList(@Param("vo") SoilPrepareVO soilSample, @Param("groupIds")List<Long> groupIds);
List<SoilPrepareVO> selectVOList(RowBounds rowBounds, @Param("vo")SoilPrepareVO soilPrepare);
List<SoilPrepareVO> selectPrepareVOHisList(RowBounds rowBounds, @Param("vo")SoilPrepareVO soilPrepare);
}
package com.patzn.cloud.service.lims.soil.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.oss.starter.OssFileResult;
import com.patzn.cloud.service.soil.entity.SoilOriginalTemplate;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 模板文件表 服务类
*
* @author wwd
* @since 2020-11-23
*/
public interface ISoilOriginalTemplateService extends IBaseService<SoilOriginalTemplate> {
Page<SoilOriginalTemplate> page(Page<SoilOriginalTemplate> page, SoilOriginalTemplate soilOriginalTemplate);
boolean removeByIds(List<Long> ids);
String getKeyByBusinessId(String businessId);
boolean uploadTemplate(MultipartFile file, String classType, String remark, String alias);
boolean editTemplate(String someParam, OssFileResult obsFileResult);
boolean editReport(String someParam, OssFileResult obsFileResult);
void downloadFile(Long id, HttpServletResponse response);
}
package com.patzn.cloud.service.lims.soil.service;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.entity.SoilOriginalTemplateVersion;
import java.util.List;
/**
* 模板文件历史表 服务类
*
* @author wwd
* @since 2020-11-23
*/
public interface ISoilOriginalTemplateVersionService extends IBaseService<SoilOriginalTemplateVersion> {
Page<SoilOriginalTemplateVersion> page(Page<SoilOriginalTemplateVersion> page, SoilOriginalTemplateVersion soilOriginalTemplateVersion);
boolean removeByIds(List<Long> ids);
}
......@@ -41,6 +41,8 @@ public interface ISoilPrepareService extends IBaseService<SoilPrepare> {
Page<SoilPrepareVO> pagePrepareVO(Page<SoilPrepareVO> page, SoilPrepareVO soilPrepare);
Page<SoilPrepareVO> pagePrepareVOHis(Page<SoilPrepareVO> page, SoilPrepareVO soilPrepare);
List<SoilPrepareVO> listVOTake(SoilPrepareVO prepareVO, List<Long> groupIds);
boolean bathUpdateSurplusInfo(Long[] ids, SoilPrepare prepare, Account account);
......
package com.patzn.cloud.service.lims.soil.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.oss.starter.OssClient;
import com.patzn.cloud.oss.starter.OssFileResult;
import com.patzn.cloud.service.lims.soil.mapper.SoilOriginalTemplateMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilOriginalTemplateService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.lims.soil.service.ISoilOriginalTemplateVersionService;
import com.patzn.cloud.service.soil.entity.SoilOriginalTemplate;
import com.patzn.cloud.service.soil.entity.SoilOriginalTemplateVersion;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.List;
/**
* 模板文件表 服务实现类
*
* @author wwd
* @since 2020-11-23
*/
@Service
public class SoilOriginalTemplateServiceImpl extends BaseServiceImpl<SoilOriginalTemplateMapper, SoilOriginalTemplate> implements ISoilOriginalTemplateService {
@Autowired
private OssClient ossClient;
@Autowired
private ISoilOriginalTemplateVersionService soilOriginalTemplateVersionService;
@Override
public Page<SoilOriginalTemplate> page(Page<SoilOriginalTemplate> page, SoilOriginalTemplate soilOriginalTemplate) {
Wrapper wrapper = new EntityWrapper<>(soilOriginalTemplate);
if (StringUtils.isNotBlank(soilOriginalTemplate.getName())){
wrapper.like("name",soilOriginalTemplate.getName());
soilOriginalTemplate.setName(null);
}
if (StringUtils.isNotBlank(soilOriginalTemplate.getClassType())){
wrapper.like("class_type",soilOriginalTemplate.getClassType());
soilOriginalTemplate.setClassType(null);
}
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Override
public String getKeyByBusinessId(String businessId) {
return null;
}
@Override
public boolean uploadTemplate(MultipartFile file, String classType, String remark, String alias) {
RestAssert.fail(StringUtils.isBlank(classType),"模板类别不能为空");
RestAssert.fail(StringUtils.isBlank(alias),"请填写别名");
String fileName = file.getOriginalFilename();
RestAssert.fail(StringUtils.isBlank(fileName), "请上传文件");
SoilOriginalTemplate attachment = new SoilOriginalTemplate();
OssFileResult result = ossClient.upload(file);
if (null == result) {
return false;
}
attachment.setAlias(alias);
attachment.setRemark(remark);
attachment.setClassType(classType);
attachment.setBucketName(result.getBucketName());
attachment.setType(result.getType());
attachment.setName(result.getName());
attachment.setObjectKey(result.getObjectKey());
attachment.setVersionId(result.getVersionId());
return super.save(attachment);
}
@Override
public boolean editTemplate(String someParam, OssFileResult obsFileResult) {
RestAssert.fail(StringUtils.isBlank(someParam),"业务ID不能为空");
RestAssert.fail(null==obsFileResult,"OssFileResult不能为空");
RestAssert.fail(StringUtils.isBlank(obsFileResult.getObjectKey()),"ObjectKey不能为空");
RestAssert.fail(StringUtils.isBlank(obsFileResult.getVersionId()),"VersionId不能为空");
RestAssert.fail(StringUtils.isBlank(obsFileResult.getType()),"Type不能为空");
RestAssert.fail(StringUtils.isBlank(someParam) || 4 != someParam.split("&").length, "参数传递有误");
String[] arr = someParam.split("&");
Long businessId = Long.parseLong(arr[0]);
String userName = null;
try {
userName = java.net.URLDecoder.decode(arr[2], "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Long userId = Long.parseLong(arr[1]);
Long companyId = Long.parseLong(arr[3]);
SoilOriginalTemplate template = getById(businessId);
if (null == template){
RestAssert.fail("数据有误");
}
SoilOriginalTemplateVersion templateVersion = new SoilOriginalTemplateVersion();
templateVersion.setTemplateId(template.getId());
templateVersion.setAlias(template.getAlias());
templateVersion.setBucketName(template.getBucketName());
templateVersion.setName(template.getName());
templateVersion.setObjectKey(template.getObjectKey());
templateVersion.setType(template.getType());
templateVersion.setUid(userId);
templateVersion.setCtime(new Date());
templateVersion.setCompanyId(companyId);
templateVersion.setVersionId(template.getVersionId());
if (soilOriginalTemplateVersionService.save(templateVersion)){
SoilOriginalTemplate updateTemplate=new SoilOriginalTemplate();
updateTemplate.setObjectKey(obsFileResult.getObjectKey());
updateTemplate.setVersionId(obsFileResult.getVersionId());
updateTemplate.setType(obsFileResult.getType());
updateTemplate.setId(businessId);
return updateById(updateTemplate);
}
return false;
}
@Override
public boolean editReport(String someParam, OssFileResult obsFileResult) {
return false;
}
@Override
public void downloadFile(Long id, HttpServletResponse response) {
SoilOriginalTemplate attachment = super.getById(id);
if (null == attachment) {
RestAssert.fail("抱歉!该附件不存在");
}
ossClient.download(attachment.getObjectKey(), attachment.getName() + "." + attachment.getType(), response);
}
}
package com.patzn.cloud.service.lims.soil.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.patzn.cloud.service.lims.soil.mapper.SoilOriginalTemplateVersionMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilOriginalTemplateVersionService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilOriginalTemplateVersion;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import java.util.List;
/**
* 模板文件历史表 服务实现类
*
* @author wwd
* @since 2020-11-23
*/
@Service
public class SoilOriginalTemplateVersionServiceImpl extends BaseServiceImpl<SoilOriginalTemplateVersionMapper, SoilOriginalTemplateVersion> implements ISoilOriginalTemplateVersionService {
@Override
public Page<SoilOriginalTemplateVersion> page(Page<SoilOriginalTemplateVersion> page, SoilOriginalTemplateVersion soilOriginalTemplateVersion) {
Wrapper wrapper = new EntityWrapper<>(soilOriginalTemplateVersion);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
}
......@@ -163,6 +163,24 @@ public class SoilPrepareServiceImpl extends BaseServiceImpl<SoilPrepareMapper, S
}
@Override
public Page<SoilPrepareVO> pagePrepareVOHis(Page<SoilPrepareVO> page, SoilPrepareVO soilPrepare) {
List<SoilPrepareVO> list=baseMapper.selectPrepareVOHisList(page,soilPrepare);
if (CollectionUtils.isEmpty(list)){
return page;
}
for (SoilPrepareVO prepare:list) {
if (prepare.getStatus().equals(SoilPrepareStatusEnum.PREPARED)){
prepare.setProgress(SoilPrepareStatusEnum.REMAIN);
prepare.setStatus(SoilPrepareStatusEnum.REMAIN);
}
}
return page.setRecords(list);
}
@Override
public List<SoilPrepareVO> listVOTake(SoilPrepareVO prepareVO, List<Long> groupIds) {
return baseMapper.selectTakeVOList(prepareVO,groupIds);
}
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.patzn.cloud.service.lims.soil.mapper.SoilOriginalTemplateMapper">
</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="com.patzn.cloud.service.lims.soil.mapper.SoilOriginalTemplateVersionMapper">
</mapper>
......@@ -109,4 +109,66 @@
</if>
</select>
<select id="selectPrepareVOHisList" resultType="com.patzn.cloud.service.soil.vo.SoilPrepareVO">
SELECT
p.id,
p.type,
p.group_name,
p.keep_location,
p.group_id,
p.quantity,
p.unit,
p.status,
p.progress,
p.handle_way,
p.handler,
p.handle_time,
p.apply_remark,
p.preparer,
p.prepare_date,
p.keep_container,
p.prepare_way,
p.keep_way,
s.sample_code,
s.sample_pack,
s.sample_describe,
s.sample_depth,
s.describe_detail
FROM
soil_prepare p
JOIN soil_sample s ON p.sample_id = s.id
JOIN soil_entrust e ON s.entrust_id = e.id
WHERE
p.deleted = 0
AND s.deleted = 0
<if test="vo.type!=null">
AND p.type = #{vo.type}
</if>
<if test="vo.sampleId!=null">
AND p.sample_id = #{vo.sampleId}
</if>
<if test="vo.status!=null">
AND p.status = #{vo.status}
</if>
<if test="vo.statusList!=null">
AND p.status IN
<foreach collection="vo.statusList" index="index" item="status" open="(" separator="," close=")">
#{status}
</foreach>
</if>
<if test="vo.sampleCode!=null">
AND s.sample_code LIKE CONCAT('%',#{vo.sampleCode},'%')
</if>
AND p.handler_id IS NOT NULL
</select>
</mapper>
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