Commit a6e64505 by wangweidong

土工修改

parent 40433ab9
package com.patzn.cloud.service.lims.soil.controller;
import com.baomidou.kisso.annotation.Action;
import com.baomidou.kisso.annotation.Login;
import com.patzn.cloud.service.soil.entity.SoilExperimentCollectFile;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
......@@ -83,4 +85,13 @@ public class SoilExperimentCollectFileController extends ServiceController {
public RestResult<Boolean> delete(@RequestParam("ids") List<Long> ids) {
return success(soilExperimentCollectFileService.removeByIds(ids));
}
@ApiOperation(value = "预览图片", notes = "预览图片")
@Login(action = Action.Skip)
@GetMapping("/view")
public void view(@RequestParam("objectKey") String objectKey) {
soilExperimentCollectFileService.view(response, objectKey);
}
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.entity.SoilExperimentCollectFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
......@@ -17,4 +18,6 @@ public interface ISoilExperimentCollectFileService extends IBaseService<SoilExpe
Page<SoilExperimentCollectFile> page(Page<SoilExperimentCollectFile> page, SoilExperimentCollectFile soilExperimentCollectFile);
boolean removeByIds(List<Long> ids);
void view(HttpServletResponse response, String objectKey);
}
......@@ -246,10 +246,13 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
List<Long> sampleIdList = sampleList.stream().map(s->{
return s.getId();
}).collect(Collectors.toList());
List<SoilExperiment> experimentList = soilExperimentService.list(Condition.create().setSqlSelect("name","sample_id").in("sample_id",sampleIdList));
List<SoilExperiment> experimentList = soilExperimentService.list(Condition.create().in("sample_id",sampleIdList));
Map<Long,Set<String>> itemSetMap = new HashMap<>();
Map<Long,List<SoilExperiment>> itemEntitySetMap = new HashMap<>();
for (SoilExperiment experiment:experimentList) {
if (!itemSetMap.containsKey(experiment.getSampleId())){
Set<String> set = new TreeSet<>();
set.add(experiment.getName());
itemSetMap.put(experiment.getSampleId(),set);
......@@ -258,6 +261,19 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
set.add(experiment.getName());
itemSetMap.put(experiment.getSampleId(),set);
}
if (!itemEntitySetMap.containsKey(experiment.getSampleId())){
List<SoilExperiment> list = new ArrayList<>();
list.add(experiment);
itemEntitySetMap.put(experiment.getSampleId(),list);
}else{
List<SoilExperiment> list = itemEntitySetMap.get(experiment.getSampleId());
list.add(experiment);
itemEntitySetMap.put(experiment.getSampleId(),list);
}
}
......@@ -265,6 +281,9 @@ public class SoilEntrustServiceImpl extends BaseServiceImpl<SoilEntrustMapper, S
if (itemSetMap.containsKey(sampleDTO.getId())){
sampleDTO.setExperiments(StringHandleUtils.join(itemSetMap.get(sampleDTO.getId())));
}
if (itemEntitySetMap.containsKey(sampleDTO.getId())){
sampleDTO.setExperimentList(itemEntitySetMap.get(sampleDTO.getId()));
}
}
}
......
package com.patzn.cloud.service.lims.soil.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.patzn.cloud.oss.starter.OssClient;
import com.patzn.cloud.service.lims.soil.mapper.SoilExperimentCollectFileMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilExperimentCollectFileService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilExperimentCollectFile;
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 javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
/**
......@@ -21,6 +28,10 @@ import java.util.List;
@Service
public class SoilExperimentCollectFileServiceImpl extends BaseServiceImpl<SoilExperimentCollectFileMapper, SoilExperimentCollectFile> implements ISoilExperimentCollectFileService {
@Autowired
private OssClient ossClient;
@Override
public Page<SoilExperimentCollectFile> page(Page<SoilExperimentCollectFile> page, SoilExperimentCollectFile soilExperimentCollectFile) {
Wrapper wrapper = new EntityWrapper<>(soilExperimentCollectFile);
......@@ -32,4 +43,35 @@ public class SoilExperimentCollectFileServiceImpl extends BaseServiceImpl<SoilEx
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Override
public void view(HttpServletResponse response, String objectKey) {
InputStream io= ossClient.download(objectKey);
try {
showImage(response,io);
} catch (IOException e) {
e.printStackTrace();
}
}
void showImage(HttpServletResponse response,InputStream fis) throws IOException {
response.setContentType("image/bmp");
OutputStream os = response.getOutputStream();
try {
int count = 0;
byte[] buffer = new byte[1024 * 1024];
while ((count = fis.read(buffer)) != -1)
os.write(buffer, 0, count);
os.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (os != null)
os.close();
if (fis != null)
fis.close();
}
}
}
package com.patzn.cloud.service.lims.soil.service.impl;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
......@@ -32,6 +35,7 @@ import com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum;
import com.patzn.cloud.service.soil.statistics.SoilEntrustItemNumVO;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
import jcifs.smb.SmbFile;
import net.coobird.thumbnailator.Thumbnails;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -40,6 +44,11 @@ import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.transaction.annotation.Transactional;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
/**
* <p>
* 土工-样品试验表 服务实现类
......@@ -391,6 +400,9 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
}
is.close();
fos.close();
OssFileResult result = ossClient.upload(file);
collectFile.setObjectKey(result.getObjectKey());
collectFile.setBucketName(result.getBucketName());
......@@ -407,6 +419,28 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
}
public static void main(String[] args) {
compressPic("D://ZJ-Z13-25.bmp","D://aaa.bmp");
}
/**
*
* @param srcFilePath 原图路径
* @param descFilePath 保存路径
* @return
* @throws IOException
*/
public static boolean compressPic(String srcFilePath, String descFilePath) {
try {
Thumbnails.of(srcFilePath).scale(0.1f).outputQuality(1f).toFile(descFilePath);
return true;
}catch (Exception e){
return false;
}
}
@Override
public List<SoilExperimentVO> listVOByIds(List<Long> expIds) {
return baseMapper.selectListVOByIds(expIds);
......
package com.patzn.cloud.service.lims.soil.service.impl;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
......@@ -30,6 +31,7 @@ import com.patzn.cloud.service.soil.vo.SoilSampleVO;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
......@@ -67,7 +69,15 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
private ISoilExperimentService soilExperimentService;
@Autowired
private ISoilExperimentCollectDataService soilExperimentCollectDataService;
@Autowired
private ISoilExperimentCollectFileService soilExperimentCollectFileService;
@Autowired
private LmsUserGroupClient userGroupClient;
@Value("${service.api-url}")
private String apiUrl;
@Override
public Page<SoilSample> page(Page<SoilSample> page, SoilSample soilSample) {
......@@ -112,15 +122,66 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
map.put("boreholeName",entrust.getBoreholeName());
map.put("entrustCode",entrust.getEntrustCode());
List<SoilExperimentVO> experimentVOList = soilExperimentService.listVOByIds(expIds);
List<SoilExperimentCollectData> collectDataList = soilExperimentCollectDataService.list(Condition.create().in("exp_id",expIds));
List<SoilExperimentCollectFile> collectFilesList = soilExperimentCollectFileService.list(Condition.create().in("exp_id",expIds));
Map<Long,List<SoilExperimentCollectData>> listMap = new HashMap<>();
for (SoilExperimentCollectData soilExperimentCollectData:collectDataList) {
if (!listMap.containsKey(soilExperimentCollectData.getExpId())){
List<SoilExperimentCollectData> dataList = Lists.newArrayList(soilExperimentCollectData);
listMap.put(soilExperimentCollectData.getExpId(),dataList);
}else{
List<SoilExperimentCollectData> dataList = listMap.get(soilExperimentCollectData.getExpId());
listMap.put(soilExperimentCollectData.getExpId(),dataList);
}
}
Map<Long,List<SoilExperimentCollectFile>> listFileMap = new HashMap<>();
for (SoilExperimentCollectFile file:collectFilesList) {
if (!listFileMap.containsKey(file.getExpId())){
List<SoilExperimentCollectFile> dataList = Lists.newArrayList(file);
listFileMap.put(file.getExpId(),dataList);
}else{
List<SoilExperimentCollectFile> dataList = listFileMap.get(file.getExpId());
listFileMap.put(file.getExpId(),dataList);
}
}
int length = experimentVOList.size();
for (int i = 0; i < length; i++) {
SoilExperimentVO vo = experimentVOList.get(i);
map.put("sampleCode"+(i+1),vo.getSampleCode());
map.put("sampleCode"+(i+1),StringHandleUtils.getString(vo.getSiteNo()));
map.put("sampleDepth"+(i+1),vo.getSampleDepth());
List<SoilExperimentCollectData> list=listMap.get(vo.getId());
List<SoilExperimentCollectFile> listFile=listFileMap.get(vo.getId());
if (CollectionUtils.isNotEmpty(list)){
for (SoilExperimentCollectData collectData:list) {
map.put(collectData.getName()+(i+1),collectData.getTestValue());
}
}
if (CollectionUtils.isNotEmpty(listFile)){
for (SoilExperimentCollectFile file:listFile) {
if (file.getObjectKey().contains(".bmp")){
map.put("picture"+(i+1),apiUrl+"/soil/v1/experiment_collect_file/view?objectKey="+file.getObjectKey());
}
}
}
}
return map;
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean removeSampleFromLocation(Long[] ids, Account account) {
......
......@@ -229,7 +229,7 @@
<select id="selectListVOByIds" resultType="com.patzn.cloud.service.soil.vo.SoilExperimentVO">
SELECT t.id,s.sample_code,s.sample_depth,e.entrust_code FROM soil_experiment t
SELECT t.id,s.sample_code,s.site_no,s.sample_depth,e.entrust_code FROM soil_experiment t
JOIN soil_sample s ON t.sample_id = s.id
JOIN soil_entrust e ON s.entrust_id = e.id
......
......@@ -77,6 +77,19 @@
AND (SELECT COUNT(1) FROM soil_experiment WHERE deleted = 0 AND sample_id = s.id )>0
</if>
</if>
<if test="null!=vo.experimentNames">
AND ((SELECT COUNT(1) FROM soil_experiment WHERE deleted = 0 AND sample_id = s.id AND name LIKE
CONCAT('%',#{vo.experimentNames},'%') )>0
OR
(SELECT COUNT(1) FROM soil_experiment WHERE deleted = 0 AND sample_id = s.id AND el_name LIKE
CONCAT('%',#{vo.experimentNames},'%') )>0
OR
(SELECT COUNT(1) FROM soil_experiment WHERE deleted = 0 AND sample_id = s.id AND short_name LIKE
CONCAT('%',#{vo.experimentNames},'%') )>0
)
</if>
ORDER BY s.sample_code
</select>
......
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