Commit 1e5b2477 by wangweidong

土工平台修改

parent f57a70cc
...@@ -2,9 +2,17 @@ package com.patzn.cloud.service.lims.collect.handle; ...@@ -2,9 +2,17 @@ package com.patzn.cloud.service.lims.collect.handle;
import com.patzn.cloud.service.lims.collect.core.CollectDataType; import com.patzn.cloud.service.lims.collect.core.CollectDataType;
import com.patzn.cloud.service.lims.collect.core.ICollectHandler; import com.patzn.cloud.service.lims.collect.core.ICollectHandler;
import com.patzn.cloud.service.lims.collect.statics.StaticsData;
import com.patzn.cloud.service.lims.common.StringHandleUtils;
import com.patzn.cloud.service.lims.soil.service.ISoilExperimentService; import com.patzn.cloud.service.lims.soil.service.ISoilExperimentService;
import com.patzn.cloud.service.soil.entity.SoilExperimentCollectData;
import com.patzn.cloud.service.soil.entity.SoilExperimentCollectFile;
import jcifs.smb.SmbFile; import jcifs.smb.SmbFile;
import org.apache.commons.lang3.StringUtils; import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class PngReportHandle implements ICollectHandler { public class PngReportHandle implements ICollectHandler {
@Override @Override
...@@ -14,7 +22,6 @@ public class PngReportHandle implements ICollectHandler { ...@@ -14,7 +22,6 @@ public class PngReportHandle implements ICollectHandler {
String acquisitionCommand = request.getAcquisitionCommand(); String acquisitionCommand = request.getAcquisitionCommand();
String entrustCode = request.getEntrustCode(); String entrustCode = request.getEntrustCode();
String sampleCode = request.getSampleCode(); String sampleCode = request.getSampleCode();
Long expId = request.getExpId();
if (!"文件获取".equals(type)){ if (!"文件获取".equals(type)){
return null; return null;
} }
...@@ -28,24 +35,23 @@ public class PngReportHandle implements ICollectHandler { ...@@ -28,24 +35,23 @@ public class PngReportHandle implements ICollectHandler {
e.printStackTrace(); e.printStackTrace();
} }
for (SmbFile smbFile:list) { for (SmbFile smbFile:list) {
String name = getFileNameNoEx(smbFile.getName()); String name = StringHandleUtils.getFileNameNoEx(smbFile.getName());
if (!name.equals(sampleCode)){ if (!name.equals(sampleCode)){
continue; continue;
} }
soilExperimentService.uploadCollectPng(smbFile,request); if (smbFile.getName().contains(".png")||smbFile.getName().contains(".bmp")){
soilExperimentService.uploadCollectPng(smbFile,request);
}else if (smbFile.getName().contains(".txt")){
soilExperimentService.parseTxt(smbFile,request);
}
} }
return true; return true;
} }
public static String getFileNameNoEx(String filename) {
if ((filename != null) && (filename.length() > 0)) {
int dot = filename.lastIndexOf('.');
if ((dot >-1) && (dot < (filename.length()))) {
return filename.substring(0, dot);
}
}
return filename;
}
public static SmbFile[] getShareFiles(String url) throws Exception { public static SmbFile[] getShareFiles(String url) throws Exception {
SmbFile file = new SmbFile(url); SmbFile file = new SmbFile(url);
if(file.exists()){ if(file.exists()){
...@@ -57,10 +63,19 @@ public class PngReportHandle implements ICollectHandler { ...@@ -57,10 +63,19 @@ public class PngReportHandle implements ICollectHandler {
public static void main(String[] args) { public static void main(String[] args) {
try { try {
SmbFile smbFile = new SmbFile("smb://administrator:www.163.com@192.168.0.115/土工试验数据/三轴莫尔圆/"); SmbFile smbFile = new SmbFile("smb://administrator:www.163.com@192.168.0.115/土工试验数据/202010020/");
SmbFile[] smbFiles= smbFile.listFiles(); SmbFile[] smbFiles= smbFile.listFiles();
for (SmbFile file:smbFiles) { for (SmbFile file:smbFiles) {
System.out.println(file.getName()); String name = StringHandleUtils.getFileNameNoEx(file.getName());
if (!name.equals("YP202010426")){
continue;
}
if (file.getName().contains(".png")){
}else if (file.getName().contains(".txt")){
// txt2String(file.getInputStream());
System.out.println(file.getName());
}
} }
System.out.println(smbFile); System.out.println(smbFile);
}catch (Exception e){ }catch (Exception e){
......
package com.patzn.cloud.service.lims.collect.statics;
import java.util.ArrayList;
import java.util.List;
public class StaticsData {
public static final List<String> parseTxtList=new ArrayList<>();
static {
parseTxtList.add("凝 聚 力");
parseTxtList.add("内摩擦角");
parseTxtList.add("有效凝聚力");
parseTxtList.add("有效摩擦角");
}
}
package com.patzn.cloud.service.lims.common;
import com.patzn.cloud.service.lims.collect.statics.StaticsData;
import com.patzn.cloud.service.soil.entity.SoilExperimentCollectData;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class CollectUtil {
public static List<SoilExperimentCollectData> txt2String(InputStream io){
StringBuilder result = new StringBuilder();
List<SoilExperimentCollectData> dataList = new ArrayList<>();
try{
InputStreamReader inputReader = new InputStreamReader(io,"GBK");
BufferedReader br = new BufferedReader(inputReader);//构造一个BufferedReader类来读取文件
String s = null;
while((s = br.readLine())!=null){//使用readLine方法,一次读一行
String content = s;
if (checkContent(content, StaticsData.parseTxtList)){
String njl= subString(s,"凝 聚 力","内摩擦角");
SoilExperimentCollectData njlData = new SoilExperimentCollectData();
njlData.setName("凝聚力");
njlData.setTestValue(njl);
String nmcj= subString(s,"内摩擦角","有效凝聚力");
SoilExperimentCollectData nmcjData = new SoilExperimentCollectData();
nmcjData.setName("内摩擦角");
nmcjData.setTestValue(nmcj);
String yxnjl= subString(s,"有效凝聚力","有效摩擦角");
SoilExperimentCollectData yxnjlData = new SoilExperimentCollectData();
yxnjlData.setName("有效凝聚力");
yxnjlData.setTestValue(yxnjl);
String yxmcj= subString(s,"有效摩擦角");
SoilExperimentCollectData yxmcjData = new SoilExperimentCollectData();
yxmcjData.setName("有效摩擦角");
yxmcjData.setTestValue(yxmcj);
dataList.add(njlData);
dataList.add(yxmcjData);
dataList.add(nmcjData);
dataList.add(yxnjlData);
}
System.out.println(s);
result.append(System.lineSeparator()+s);
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
try {
io.close();
}catch (Exception e){
e.printStackTrace();
}
System.out.println(result);
return dataList;
}
public static String subString(String str, String strStart, String strEnd) {
/* 找出指定的2个字符在 该字符串里面的 位置 */
int strStartIndex = str.indexOf(strStart);
int strEndIndex = str.indexOf(strEnd);
/* index 为负数 即表示该字符串中 没有该字符 */
if (strStartIndex < 0) {
return null;
}
if (strEndIndex < 0) {
return null;
}
/* 开始截取 */
String result = str.substring(strStartIndex, strEndIndex).substring(strStart.length());
return result;
}
public static String subString(String str, String strStart) {
/* 找出指定的2个字符在 该字符串里面的 位置 */
int strStartIndex = str.indexOf(strStart);
/* index 为负数 即表示该字符串中 没有该字符 */
if (strStartIndex < 0) {
return null;
}
/* 开始截取 */
String result = str.substring(strStartIndex).substring(strStart.length());
return result;
}
public static boolean checkContent(String s , List<String> checkList){
for (String c:checkList) {
if (s.contains(c)){
return true;
}
}
return false;
}
}
...@@ -518,4 +518,14 @@ public class StringHandleUtils { ...@@ -518,4 +518,14 @@ public class StringHandleUtils {
result.append(intString[a.length - 1]); result.append(intString[a.length - 1]);
return stringPre + result.toString(); return stringPre + result.toString();
} }
public static String getFileNameNoEx(String filename) {
if ((filename != null) && (filename.length() > 0)) {
int dot = filename.lastIndexOf('.');
if ((dot >-1) && (dot < (filename.length()))) {
return filename.substring(0, dot);
}
}
return filename;
}
} }
package com.patzn.cloud.service.lims.soil.controller;
import com.patzn.cloud.service.soil.entity.SoilExperimentCollectData;
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.ISoilExperimentCollectDataService;
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-10-30
*/
@Api(tags = "仪器数据采集数据表")
@RestController
@RequestMapping("/v1/experiment_collect_data")
public class SoilExperimentCollectDataController extends ServiceController {
@Autowired
private ISoilExperimentCollectDataService soilExperimentCollectDataService;
@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<SoilExperimentCollectData>> getPage(SoilExperimentCollectData soilExperimentCollectData) {
return success(soilExperimentCollectDataService.page(getPage(), soilExperimentCollectData));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilExperimentCollectData> get(@PathVariable("id") Long id) {
return success(soilExperimentCollectDataService.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, SoilExperimentCollectData soilExperimentCollectData) {
soilExperimentCollectData.setId(id);
return success(soilExperimentCollectDataService.updateById(soilExperimentCollectData));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(SoilExperimentCollectData soilExperimentCollectData) {
return success(soilExperimentCollectDataService.save(soilExperimentCollectData));
}
@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(soilExperimentCollectDataService.removeByIds(ids));
}
}
package com.patzn.cloud.service.lims.soil.controller;
import com.patzn.cloud.service.soil.entity.SoilExperimentCollectFile;
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.ISoilExperimentCollectFileService;
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-10-30
*/
@Api(tags = "数据采集的文件存储表")
@RestController
@RequestMapping("/v1/experiment_collect_file")
public class SoilExperimentCollectFileController extends ServiceController {
@Autowired
private ISoilExperimentCollectFileService soilExperimentCollectFileService;
@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<SoilExperimentCollectFile>> getPage(SoilExperimentCollectFile soilExperimentCollectFile) {
return success(soilExperimentCollectFileService.page(getPage(), soilExperimentCollectFile));
}
@ApiOperation("查询 id 信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键", required = true, paramType = "path", dataTypeClass = Long.class),
})
@GetMapping("/{id}")
public RestResult<SoilExperimentCollectFile> get(@PathVariable("id") Long id) {
return success(soilExperimentCollectFileService.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, SoilExperimentCollectFile soilExperimentCollectFile) {
soilExperimentCollectFile.setId(id);
return success(soilExperimentCollectFileService.updateById(soilExperimentCollectFile));
}
@ApiOperation("添加")
@PostMapping("/")
public RestResult<Boolean> add(SoilExperimentCollectFile soilExperimentCollectFile) {
return success(soilExperimentCollectFileService.save(soilExperimentCollectFile));
}
@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(soilExperimentCollectFileService.removeByIds(ids));
}
}
package com.patzn.cloud.service.lims.soil.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.soil.entity.SoilExperimentCollectData;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wwd
* @since 2020-10-30
*/
public interface SoilExperimentCollectDataMapper extends BatchMapper<SoilExperimentCollectData> {
}
package com.patzn.cloud.service.lims.soil.mapper;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.soil.entity.SoilExperimentCollectFile;
/**
* <p>
* Mapper 接口
* </p>
*
* @author wwd
* @since 2020-10-30
*/
public interface SoilExperimentCollectFileMapper extends BatchMapper<SoilExperimentCollectFile> {
}
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.SoilExperimentCollectData;
import java.util.List;
/**
* 服务类
*
* @author wwd
* @since 2020-10-30
*/
public interface ISoilExperimentCollectDataService extends IBaseService<SoilExperimentCollectData> {
Page<SoilExperimentCollectData> page(Page<SoilExperimentCollectData> page, SoilExperimentCollectData soilExperimentCollectData);
boolean removeByIds(List<Long> ids);
}
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.SoilExperimentCollectFile;
import java.util.List;
/**
* 服务类
*
* @author wwd
* @since 2020-10-30
*/
public interface ISoilExperimentCollectFileService extends IBaseService<SoilExperimentCollectFile> {
Page<SoilExperimentCollectFile> page(Page<SoilExperimentCollectFile> page, SoilExperimentCollectFile soilExperimentCollectFile);
boolean removeByIds(List<Long> ids);
}
...@@ -55,4 +55,6 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> { ...@@ -55,4 +55,6 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> {
void uploadCollectPng(SmbFile smbFile, CollectDataType type); void uploadCollectPng(SmbFile smbFile, CollectDataType type);
List<SoilExperimentVO> listVOByIds(List<Long> expIds); List<SoilExperimentVO> listVOByIds(List<Long> expIds);
boolean parseTxt(SmbFile smbFile, CollectDataType request);
} }
package com.patzn.cloud.service.lims.soil.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
import com.patzn.cloud.service.lims.soil.mapper.SoilExperimentCollectDataMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilExperimentCollectDataService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilExperimentCollectData;
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-10-30
*/
@Service
public class SoilExperimentCollectDataServiceImpl extends BaseServiceImpl<SoilExperimentCollectDataMapper, SoilExperimentCollectData> implements ISoilExperimentCollectDataService {
@Override
public Page<SoilExperimentCollectData> page(Page<SoilExperimentCollectData> page, SoilExperimentCollectData soilExperimentCollectData) {
Wrapper wrapper = new EntityWrapper<>(soilExperimentCollectData);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
}
package com.patzn.cloud.service.lims.soil.service.impl;
import com.baomidou.mybatisplus.mapper.Condition;
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.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-10-30
*/
@Service
public class SoilExperimentCollectFileServiceImpl extends BaseServiceImpl<SoilExperimentCollectFileMapper, SoilExperimentCollectFile> implements ISoilExperimentCollectFileService {
@Override
public Page<SoilExperimentCollectFile> page(Page<SoilExperimentCollectFile> page, SoilExperimentCollectFile soilExperimentCollectFile) {
Wrapper wrapper = new EntityWrapper<>(soilExperimentCollectFile);
return this.page(page, wrapper);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
}
...@@ -94,29 +94,21 @@ public class SoilExperimentRelEquipServiceImpl extends BaseServiceImpl<SoilExper ...@@ -94,29 +94,21 @@ public class SoilExperimentRelEquipServiceImpl extends BaseServiceImpl<SoilExper
saveRelEquipList.add(saveEquip); saveRelEquipList.add(saveEquip);
} }
} }
} }
} }
if (CollectionUtils.isNotEmpty(saveRelEquipList)){ if (CollectionUtils.isNotEmpty(saveRelEquipList)){
List<SoilExperimentVO> experimentVOList = soilExperimentService.listVOByIds(expIds); List<SoilExperimentVO> experimentVOList = soilExperimentService.listVOByIds(expIds);
Map<Long,SoilExperimentVO> expMap = new HashMap<>(); Map<Long,SoilExperimentVO> expMap = new HashMap<>();
for (SoilExperimentVO experimentVO:experimentVOList) { for (SoilExperimentVO experimentVO:experimentVOList) {
expMap.put(experimentVO.getId(),experimentVO); expMap.put(experimentVO.getId(),experimentVO);
} }
CollectHandlerChain chain = new CollectHandlerChain(); CollectHandlerChain chain = new CollectHandlerChain();
chain.addHandler(new PngReportHandle()); chain.addHandler(new PngReportHandle());
for (SoilExperimentRelEquip equip:saveRelEquipList) { for (SoilExperimentRelEquip equip:saveRelEquipList) {
SoilExperimentVO experimentVO = expMap.get(equip.getExpId()); SoilExperimentVO experimentVO = expMap.get(equip.getExpId());
CollectDataType collectDataType = new CollectDataType(); CollectDataType collectDataType = new CollectDataType();
collectDataType.setEquipId(equip.getEquipId()); collectDataType.setEquipId(equip.getEquipId());
collectDataType.setAcquisitionCommand(equip.getAcquisitionCommand()); collectDataType.setAcquisitionCommand(equip.getAcquisitionCommand());
collectDataType.setBrand(equip.getBrand()); collectDataType.setBrand(equip.getBrand());
......
package com.patzn.cloud.service.lims.soil.service.impl; package com.patzn.cloud.service.lims.soil.service.impl;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
...@@ -13,14 +16,16 @@ import com.baomidou.mybatisplus.toolkit.CollectionUtils; ...@@ -13,14 +16,16 @@ import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.patzn.cloud.commons.api.RestAssert; import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account; import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.toolkit.FileUtils;
import com.patzn.cloud.oss.starter.OssClient;
import com.patzn.cloud.oss.starter.OssFileResult;
import com.patzn.cloud.service.lims.collect.core.CollectDataType; import com.patzn.cloud.service.lims.collect.core.CollectDataType;
import com.patzn.cloud.service.lims.common.CollectUtil;
import com.patzn.cloud.service.lims.common.StringHandleUtils;
import com.patzn.cloud.service.lims.soil.service.*; import com.patzn.cloud.service.lims.soil.service.*;
import com.patzn.cloud.service.soil.entity.SoilEntrust; import com.patzn.cloud.service.soil.entity.*;
import com.patzn.cloud.service.soil.entity.SoilExpRelOriginalRecord;
import com.patzn.cloud.service.soil.entity.SoilExperiment;
import com.patzn.cloud.service.lims.soil.mapper.SoilExperimentMapper; import com.patzn.cloud.service.lims.soil.mapper.SoilExperimentMapper;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilSample;
import com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum; import com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum; import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum;
import com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum; import com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum;
...@@ -58,6 +63,15 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -58,6 +63,15 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
@Autowired @Autowired
private ISoilExpRelOriginalRecordService expRelOriginalRecordService; private ISoilExpRelOriginalRecordService expRelOriginalRecordService;
@Autowired
private ISoilExperimentCollectFileService soilExperimentCollectFileService;
@Autowired
private ISoilExperimentCollectDataService soilExperimentCollectDataService;
@Autowired
private OssClient ossClient;
@Override @Override
public Page<SoilExperiment> page(Page<SoilExperiment> page, SoilExperiment soilExperiment) { public Page<SoilExperiment> page(Page<SoilExperiment> page, SoilExperiment soilExperiment) {
...@@ -303,6 +317,42 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -303,6 +317,42 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
@Override @Override
public void uploadCollectPng(SmbFile smbFile, CollectDataType type) { public void uploadCollectPng(SmbFile smbFile, CollectDataType type) {
if (type.getExpId()!=null){
SoilExperimentCollectFile collectFile = new SoilExperimentCollectFile();
collectFile.setEquipId(type.getEquipId());
collectFile.setExpId(type.getExpId());
collectFile.setEquipName(type.getEquipName());
collectFile.setLabNum(type.getLabNum());
collectFile.setBrand(type.getBrand());
collectFile.setSpec(type.getSpec());
InputStream is = null;
try {
is= smbFile.getInputStream();
File file = File.createTempFile(StringHandleUtils.getFileNameNoEx(smbFile.getName()),smbFile.getName().replace(StringHandleUtils.getFileNameNoEx(smbFile.getName()),""));
FileOutputStream fos = new FileOutputStream(file);
byte[] bytes = new byte[1024*1024];
int index;
while ((index = is.read(bytes)) != -1) {
fos.write(bytes, 0, index);
fos.flush();
}
is.close();
fos.close();
OssFileResult result = ossClient.upload(file);
collectFile.setObjectKey(result.getObjectKey());
collectFile.setBucketName(result.getBucketName());
collectFile.setVersionId(result.getVersionId());
collectFile.setFileName(result.getName());
soilExperimentCollectFileService.save(collectFile);
FileUtils.deleteFiles(file);
}catch (Exception e){
e.printStackTrace();
}
}
System.out.println(smbFile.getName()); System.out.println(smbFile.getName());
System.out.println(type.getEntrustCode()); System.out.println(type.getEntrustCode());
} }
...@@ -313,6 +363,26 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap ...@@ -313,6 +363,26 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
return baseMapper.selectListVOByIds(expIds); return baseMapper.selectListVOByIds(expIds);
} }
@Override
public boolean parseTxt(SmbFile smbFile, CollectDataType request) {
try {
List<SoilExperimentCollectData> dataList= CollectUtil.txt2String(smbFile.getInputStream());
if (CollectionUtils.isNotEmpty(dataList)){
for (SoilExperimentCollectData collectData:dataList) {
collectData.setEquipName(request.getEquipName());
collectData.setLabNum(request.getLabNum());
collectData.setEquipNum(request.getEquipNum());
collectData.setExpId(request.getExpId());
collectData.setSpec(request.getSpec());
}
return soilExperimentCollectDataService.saveBatch(dataList);
}
}catch (Exception e){
e.printStackTrace();
}
return false;
}
public static boolean isAllFieldNull(Object object) { public static boolean isAllFieldNull(Object object) {
Class clazz = object.getClass(); Class clazz = object.getClass();
......
<?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.SoilExperimentCollectDataMapper">
</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.SoilExperimentCollectFileMapper">
</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