Commit 131bd547 by wangweidong

土工平台修改

parent 468e62e6
......@@ -9,7 +9,7 @@ public class StaticsData {
public static final List<String> parseTxtList=new ArrayList<>();
static {
parseTxtList.add("凝 聚 力");
parseTxtList.add("粘聚力");
parseTxtList.add("内摩擦角");
parseTxtList.add("有效凝聚力");
parseTxtList.add("有效摩擦角");
......
......@@ -31,6 +31,7 @@ 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;
/**
* <p>
......@@ -688,4 +689,12 @@ public class SoilExperimentController extends ServiceController {
return success(soilExperimentService.listExperimentProgress(getPage(),vo));
}
@ApiOperation(value = "附件上传", notes = "附件上传")
@PostMapping("/upload_gds_file/")
public RestResult<Boolean> uploadGdsFile(MultipartFile file) {
return success(soilExperimentService.uploadGdsFile(file));
}
}
......@@ -590,4 +590,12 @@ public class SoilSampleController extends ServiceController {
public RestResult<Boolean> editSeniorSample(@RequestParam("ids")Long [] ids, SoilSampleOperation operation) {
return success(soilSampleService.editSeniorSample(ids,operation,getAccount()));
}
@ApiOperation(value = "从存储位置移除试样", notes = "从存储位置移除试样")
@PostMapping("/sample_split_save")
public RestResult<Boolean> sampleSplitSave(@RequestParam("id")Long id, SoilSample soilSample) {
return success(soilSampleService.sampleSplitSave(id,soilSample,getAccount()));
}
}
......@@ -14,6 +14,7 @@ import com.patzn.cloud.service.soil.entity.SoilOriginalRecord;
import com.patzn.cloud.service.soil.statistics.SoilEntrustItemNumVO;
import com.patzn.cloud.service.soil.vo.SoilExperimentVO;
import jcifs.smb.SmbFile;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
......@@ -97,4 +98,6 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> {
List<SoilExperimentVO> listGroupVOListByEntrustIds(List<Long> entrustIdList);
SoilOpenSoilRecord saveExcelOpenSoilRecord(Long entrustId, Long templateId, Account account);
boolean uploadGdsFile(MultipartFile file);
}
......@@ -32,4 +32,6 @@ public interface ISoilSampleOperationService extends IBaseService<SoilSampleOper
boolean resetLocationBySampleIds(Long [] ids, Account account);
SoilSampleOperation getBySampleId(Long id);
}
......@@ -94,4 +94,6 @@ public interface ISoilSampleService extends IBaseService<SoilSample> {
boolean editSeniorSample(Long[] ids, SoilSampleOperation operation, Account account);
List<SoilSampleVO> listVOByIds(List<Long> sampleIdList);
boolean sampleSplitSave(Long id, SoilSample soilSample, Account account);
}
......@@ -67,6 +67,8 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
/**
* <p>
* 土工-样品试验表 服务实现类
......@@ -2283,6 +2285,77 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
}
@Override
public boolean uploadGdsFile(MultipartFile file) {
if (!file.getOriginalFilename().contains(".gds")){
RestAssert.fail("请上传扩展名为.gds的文件");
}
InputStream is = null;
try{
is= file.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));
String strLine = null;
List<String> titleList = new ArrayList<>();
int lineCount = 1;
SoilDataGds gds = new SoilDataGds();
gds.setId(IdWorker.getId());
List<SoilDataGdsDetail> saveDetailList = new ArrayList<>();
Map<String,String> mainColumnMap = StringStaticDataUtils.mapGdsMain;
Map<String,String> gdsColumnDetailMap = StringStaticDataUtils.mapGdsColumnCheck;
while(null != (strLine = bufferedReader.readLine())){
String[] lineArray = strLine.split(",");
if (lineArray.length == 2) {
String key = lineArray[0].replace("\"", "");
String value = lineArray[1].replace("\"", "");
if (mainColumnMap.containsKey(key)){
StringHandleUtils.setFieldValueByFieldName(mainColumnMap.get(key),gds,value);
}
}else{
if (titleList.size() == 0){
for (String title:lineArray) {
title = title.replace("\"", "");
titleList.add(title);
}
}else{
int length = lineArray.length;
SoilDataGdsDetail soilDataGdsDetail = new SoilDataGdsDetail();
soilDataGdsDetail.setGdsId(gds.getId());
soilDataGdsDetail.setUid(LoginHelper.getAccount().getUserId());
soilDataGdsDetail.setCtime(new Date());
soilDataGdsDetail.setCompanyId(LoginHelper.getAccount().getCompanyId());
soilDataGdsDetail.setDeleted(0);
for (int i = 0; i < length; i++) {
String key = titleList.get(i);
String value = lineArray[i].replace("\"", "");
if (gdsColumnDetailMap.containsKey(key)){
StringHandleUtils.setFieldValueByFieldName(gdsColumnDetailMap.get(key),soilDataGdsDetail,value);
}
}
saveDetailList.add(soilDataGdsDetail);
}
}
System.out.println("第[" + lineCount + "]行数据:[" + strLine + "]");
lineCount++;
}
if (soilDataGdsService.save(gds)){
soilDataGdsDetailService.saveBatchCustom(saveDetailList);
}
return true;
}catch (Exception e){
logger.error("解析gds文件失败"+e.getMessage());
}
return false;
}
@Override
public Page<SoilExperimentVO> pageBySampleIds(Page<SoilExperimentVO> page, Long[] sampleIds, SoilExperimentVO vo) {
......
......@@ -77,4 +77,9 @@ public class SoilSampleOperationServiceImpl extends BaseServiceImpl<SoilSampleOp
public boolean resetLocationBySampleIds(Long[] ids, Account account) {
return baseMapper.updateForSet("receive_location=NULL",Condition.create().in("sample_id",ids))>0;
}
@Override
public SoilSampleOperation getBySampleId(Long id) {
return getOne(Condition.create().eq("sample_id",id).last("LIMIT 1"));
}
}
......@@ -3,6 +3,7 @@ import java.util.*;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.mapper.Condition;
import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.toolkit.IdWorker;
import com.google.common.collect.Lists;
import com.patzn.cloud.commons.api.RestAssert;
import com.patzn.cloud.commons.controller.Account;
......@@ -63,6 +64,9 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
private ISoilExperimentService soilExperimentService;
@Autowired
private ISoilExperimentOperationService soilExperimentOperationService;
@Autowired
private ISoilExperimentCollectDataService soilExperimentCollectDataService;
@Autowired
......@@ -843,6 +847,67 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
return baseMapper.selectVOListByIds(sampleIdList);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean sampleSplitSave(Long id, SoilSample soilSample, Account account) {
SoilSample sample = getById(id);
SoilSampleOperation operation = soilSampleOperationService.getBySampleId(id);
SoilSample saveSample = sample.convert(SoilSample.class);
saveSample.setId(IdWorker.getId());
saveSample.setSampleCode(soilSample.getSampleCode());
saveSample.setSiteNo(soilSample.getSiteNo());
saveSample.setSampleDepth(soilSample.getSampleDepth());
SoilSampleOperation operationSave = operation.convert(SoilSampleOperation.class);
operationSave.setSampleId(saveSample.getId());
operationSave.setId(IdWorker.getId());
List<SoilExperiment> experimentList = soilExperimentService.list(Condition.create().eq("sample_id",id));
List<SoilExperiment> saveExpList = new ArrayList<>();
List<SoilExperimentOperation> saveExpOperationList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(experimentList)){
List<Long> expIds = experimentList.stream().map(e->{
return e.getId();
}).collect(Collectors.toList());
List<SoilExperimentOperation> experimentOperationList = soilExperimentOperationService.list(Condition.create().in("experiment_id",expIds));
for (SoilExperiment experiment:experimentList) {
SoilExperiment saveExp = experiment.convert(SoilExperiment.class);
saveExp.setSampleId(saveSample.getId());
saveExp.setId(IdWorker.getId());
for (SoilExperimentOperation experimentOperation:experimentOperationList) {
if (experiment.getId().equals(experimentOperation.getExperimentId())){
SoilExperimentOperation saveOperation = experimentOperation.convert(SoilExperimentOperation.class);
saveOperation.setId(IdWorker.getId());
saveOperation.setExperimentId(saveExp.getId());
saveExpOperationList.add(saveOperation);
break;
}
}
saveExpList.add(saveExp);
}
}
if (save(saveSample)){
soilSampleOperationService.save(operationSave);
if (CollectionUtils.isNotEmpty(saveExpList)){
soilExperimentService.saveBatch(saveExpList);
}
if (CollectionUtils.isNotEmpty(saveExpOperationList)){
soilExperimentOperationService.saveBatch(saveExpOperationList);
}
return true;
}
return false;
}
@Transactional(rollbackFor = Exception.class)
@Override
......
......@@ -27,8 +27,8 @@ spring:
# 文件上传大小设置 50MB
servlet:
multipart:
max-request-size: 50MB
max-file-size: 50MB
max-request-size: 100MB
max-file-size: 100MB
datasource:
driver-class-name: org.postgresql.Driver
platform: postgres
......
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