Commit 39cf9028 by zhangmengqi

Merge branch 'dev'

parents e2cfc750 f237380a
package com.patzn.cloud.service.lims.common;
import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.service.lims.collect.statics.StaticsData;
import com.patzn.cloud.service.soil.entity.SoilExperimentCollectData;
import org.apache.commons.lang3.StringUtils;
......@@ -11,7 +12,7 @@ import java.util.List;
public class CollectUtil {
public static void main(String[] args) {
File file = new File("D://直接剪切YP202102003.txt");
File file = new File("D://固结S-5.txt");
try {
FileInputStream io = new FileInputStream(file);
txt2String(io);
......@@ -28,71 +29,105 @@ public class CollectUtil {
try{
InputStreamReader inputReader = new InputStreamReader(io,"GBK");
BufferedReader brCheck = new BufferedReader(inputReader);//构造一个BufferedReader类来读取文件
BufferedReader br = new BufferedReader(inputReader);//构造一个BufferedReader类来读取文件
String s = null;
List<String> titleList = new ArrayList<>();
while((s = br.readLine())!=null){//使用readLine方法,一次读一行
String content = s;
content = content.replace("凝 聚 力","凝聚力");
content = content.replace("灵 敏 度","灵敏度");
content = content.replace("粘 聚 力","凝聚力");
content = content.replace("粘聚力","凝聚力");
content = content.replace("压缩系数(100-200KPa):","压缩系数(100-200KPa)");
content = content.replace("压缩模量(100-200KPa):","压缩模量(100-200KPa)");
content = content.replace("压缩系数(100-200KPa):","压缩系数(100-200KPa)");
content = content.replace("压缩模量(100-200KPa):","压缩模量(100-200KPa)");
String[] dataArray = content.split(" ");
for (String handleS:dataArray) {
handleS=handleS.trim();
handleS =handleS.replace(":","").replace(":","");
if ("".equals(handleS)){
List<String> wuxianceList = new ArrayList<>();
List<String> unitList = new ArrayList<>();
List<String> yuanzhuangList = new ArrayList<>();
List<String> chongsuList = new ArrayList<>();
StringBuffer sbAll = new StringBuffer();
List<String> allStringList = new ArrayList<>();
while((s = brCheck.readLine())!=null){
allStringList.add(s);
String content = s.replace(" ","");
sbAll.append(content);
}
if (sbAll.toString().contains("无侧限抗压强度试验")){
boolean isWuxiance = false;
int i = 0;
for (String str:allStringList) {
String content = str;
if ("".equals(content)){
continue;
}
if (handleS.contains("─")){
if (content.contains("──")){
continue;
}
if (handleS.contains("│")){
if (content.contains("│")){
if (content.contains("剪切峰值")||isWuxiance){
isWuxiance=true;
String [] titleNameArray = content.split("│");
for (String titleName:titleNameArray) {
titleName = titleName.replace(" ","");
if (StringUtils.isBlank(titleName)){
continue;
}
if (i==0){
wuxianceList.add(titleName);
}else if (i==1){
unitList.add(titleName);
}else if (i==2){
yuanzhuangList.add(titleName);
}else if (i==3){
chongsuList.add(titleName);
}
}
i=i+1;
}
continue;
}
titleList.add(handleS);
System.out.println(s);
result.append(System.lineSeparator()+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);
System.out.println(wuxianceList);
System.out.println(unitList);
System.out.println(yuanzhuangList);
System.out.println(chongsuList);
}else{
for (String str:allStringList){
String content = str;
content = content.replace("凝 聚 力","凝聚力");
content = content.replace("灵 敏 度","灵敏度");
content = content.replace("粘 聚 力","凝聚力");
content = content.replace("粘聚力","凝聚力");
content = content.replace("固结系数(t90):","固结系数(t90)");
content = content.replace("压缩系数(100-200KPa):","压缩系数(100-200KPa)");
content = content.replace("压缩模量(100-200KPa):","压缩模量(100-200KPa)");
content = content.replace("压缩系数(100-200KPa):","压缩系数(100-200KPa)");
content = content.replace("压缩模量(100-200KPa):","压缩模量(100-200KPa)");
String[] dataArray = content.split(" ");
for (String handleS:dataArray) {
handleS=handleS.trim();
handleS =handleS.replace(":","").replace(":","");
if ("".equals(handleS)){
continue;
}
if (handleS.contains("─")){
continue;
}
if (handleS.contains("│")){
continue;
}
titleList.add(handleS);
}
System.out.println(s);
result.append(System.lineSeparator()+s);
}
}
int size = titleList.size();
......@@ -104,6 +139,11 @@ public class CollectUtil {
String sampleCode = "";
String yasuomoliang100to200 = "";
String testMethod = "";
String gujieT90 = "";
String youxiaonianjuli = "";
String youxiaomocajiao = "";
for (int i = 0; i < size; i++) {
String str = titleList.get(i);
......@@ -188,6 +228,46 @@ public class CollectUtil {
}
}
if ("固结系数(t90)".equals(str)){
gujieT90 = titleList.get(i+1);
if (StringUtils.isNotBlank(gujieT90)){
SoilExperimentCollectData collectData = new SoilExperimentCollectData();
collectData.setName("固结系数(t90)");
collectData.setTestValue(gujieT90);
if (i+2<size){
collectData.setUnit(titleList.get(i+2));
}
dataList.add(collectData);
}
}
if ("有效粘聚力".equals(str)){
youxiaonianjuli = titleList.get(i+1);
if (StringUtils.isNotBlank(youxiaonianjuli)){
SoilExperimentCollectData collectData = new SoilExperimentCollectData();
collectData.setName("有效粘聚力");
collectData.setTestValue(youxiaonianjuli);
if (i+2<size){
collectData.setUnit(titleList.get(i+2));
}
dataList.add(collectData);
}
}
if ("有效摩擦角".equals(str)){
youxiaomocajiao = titleList.get(i+1);
if (StringUtils.isNotBlank(youxiaomocajiao)){
SoilExperimentCollectData collectData = new SoilExperimentCollectData();
collectData.setName("有效摩擦角");
collectData.setTestValue(youxiaomocajiao);
if (i+2<size){
collectData.setUnit(titleList.get(i+2));
}
dataList.add(collectData);
}
}
if ("试验编号".equals(str)){
sampleCode = titleList.get(i+1);
}
......@@ -203,7 +283,60 @@ public class CollectUtil {
}
}
if (CollectionUtils.isNotEmpty(wuxianceList)){
if (CollectionUtils.isNotEmpty(yuanzhuangList)&&wuxianceList.size() == yuanzhuangList.size()){
Integer yuanzhuangJianQie = null;
int sizeTitle = wuxianceList.size();
for (int i = 0; i < sizeTitle; i++) {
String titleName = wuxianceList.get(i);
if ("剪切峰值".equals(titleName)){
yuanzhuangJianQie=i;
break;
}
}
if (null!=yuanzhuangJianQie){
String yuanzhuangJQQD = yuanzhuangList.get(yuanzhuangJianQie);
if (StringUtils.isNotBlank(yuanzhuangJQQD)){
SoilExperimentCollectData collectData = new SoilExperimentCollectData();
collectData.setName("原状剪切强度");
collectData.setTestValue(yuanzhuangJQQD);
dataList.add(collectData);
}
}
}
if (CollectionUtils.isNotEmpty(chongsuList)&&wuxianceList.size() == chongsuList.size()){
Integer yuanzhuangJianQie = null;
int sizeTitle = wuxianceList.size();
for (int i = 0; i < sizeTitle; i++) {
String titleName = wuxianceList.get(i);
if ("剪切峰值".equals(titleName)){
yuanzhuangJianQie=i;
break;
}
}
if (null!=yuanzhuangJianQie){
String yuanzhuangJQQD = chongsuList.get(yuanzhuangJianQie);
if (StringUtils.isNotBlank(yuanzhuangJQQD)){
SoilExperimentCollectData collectData = new SoilExperimentCollectData();
collectData.setName("重塑剪切强度");
collectData.setTestValue(yuanzhuangJQQD);
dataList.add(collectData);
}
}
}
}
br.close();
brCheck.close();
}catch(Exception e){
e.printStackTrace();
}
......
......@@ -660,6 +660,11 @@ public class SoilExperimentController extends ServiceController {
}
@ApiOperation(value = "填写开土制备记录", notes = "填写开土制备记录")
@PostMapping("/save_excel_open_soil_record")
public RestResult<SoilOpenSoilRecord> saveExcelOpenSoilRecord(@RequestParam("entrustId")Long entrustId, @RequestParam("templateId") Long templateId) {
......@@ -675,6 +680,13 @@ public class SoilExperimentController extends ServiceController {
}
@ApiOperation(value = "高级实验报告生成", notes = "高级实验报告生成")
@PostMapping("/senior_test_report")
public RestResult<SoilExpReport> seniorTestReport(@RequestParam("id")Long id) {
return success(soilExperimentService.seniorTestReport(id,getAccount()));
}
......
......@@ -103,4 +103,6 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> {
boolean uploadGdsFile(MultipartFile file);
boolean uploadDynamicsCollect(MultipartHttpServletRequest httpServletRequest, Long entrustId, Account account);
SoilExpReport seniorTestReport(Long id, Account account);
}
......@@ -7,6 +7,7 @@ import com.patzn.cloud.service.lims.soil.mapper.SoilAppendixMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilAppendixService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.entity.SoilAppendix;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
......@@ -31,6 +32,22 @@ public class SoilAppendixServiceImpl extends BaseServiceImpl<SoilAppendixMapper,
@Override
public Page<SoilAppendix> page(Page<SoilAppendix> page, SoilAppendix soilAppendix) {
Wrapper wrapper = new EntityWrapper<>(soilAppendix);
if (StringUtils.isNotBlank(soilAppendix.getTitle())){
wrapper.like("title",soilAppendix.getTitle());
soilAppendix.setTitle(null);
}
if (StringUtils.isNotBlank(soilAppendix.getRemark())){
wrapper.like("remark",soilAppendix.getRemark());
soilAppendix.setRemark(null);
}
if (StringUtils.isNotBlank(soilAppendix.getSampleCode())){
wrapper.like("sample_code",soilAppendix.getSampleCode());
soilAppendix.setSampleCode(null);
}
wrapper.orderBy("ctime");
return this.page(page, wrapper);
}
......
......@@ -169,6 +169,10 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
@Autowired
private ISoilExpRelOriginalRecordService soilExpRelOriginalRecordService;
@Autowired
private SysOrgClient sysOrgClient;
@Override
......@@ -963,6 +967,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
}
mapReplace.put("#{sampleCode}",vo.getSampleCode());
mapReplace.put("#{siteNo}",vo.getSiteNo());
mapReplace.put("#{sampleDepth}",vo.getSampleDepth());
HSSFWorkbookUtil.replaceModel(mapReplace,xssfWorkbook,sheet);
nextSample++;
......@@ -995,6 +1000,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
}
mapReplace.put("#{sampleCode}",firstVO.getSampleCode());
mapReplace.put("#{siteNo}",firstVO.getSiteNo());
mapReplace.put("#{sampleDepth}",firstVO.getSampleDepth());
HSSFWorkbookUtil.replaceModel(mapReplace,xssfWorkbook,xssfSheet);
......@@ -1613,6 +1619,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
}
mapReplace.put("#{sampleCode}",vo.getSampleCode());
mapReplace.put("#{siteNo}",vo.getSiteNo());
mapReplace.put("#{sampleDepth}",vo.getSampleDepth());
HSSFWorkbookUtil.replaceModel(mapReplace,xssfWorkbook,sheet);
nextSample++;
......@@ -1645,6 +1652,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
}
mapReplace.put("#{sampleCode}",firstVO.getSampleCode());
mapReplace.put("#{siteNo}",firstVO.getSiteNo());
HSSFWorkbookUtil.replaceModel(mapReplace,xssfWorkbook,xssfSheet);
int length = voList.size();
......@@ -2491,6 +2499,58 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
}
@Transactional(rollbackFor = Exception.class)
@Override
public SoilExpReport seniorTestReport(Long id, Account account) {
RestAssert.fail(null == id ,"请选择高级试验!");
List<SoilExpRelOriginalRecord> relOriginalRecordList = soilExpRelOriginalRecordService.list(Condition.create().eq("exp_id",id).last(" LIMIT 1 "));
RestAssert.fail(CollectionUtils.isEmpty(relOriginalRecordList),"原始记录暂未生成!");
SoilExpRelOriginalRecord originalRecord=relOriginalRecordList.get(0);
SoilOriginalRecord record = soilOriginalRecordService.getById(originalRecord.getRecordId());
InputStream io = ossClient.download(record.getObjectKey());
if (null == io){
logger.error("----------------------2");
RestAssert.fail("模板不存在");
}
logger.error(" InputStream io 存在");
SoilExpReport objectKey=null;
XSSFWorkbook xssfWorkbook= null;
try {
xssfWorkbook= new XSSFWorkbook(io);
}catch (Exception e){
logger.error("获取开土制备记录模板错误"+e.getMessage());
e.printStackTrace();
}
FileOutputStream os = null;
File file = null;
String generated="试验项目报告";
SoilEntrust entrust = soilEntrustService.getById(record.getEntrustId());
SoilExperiment experiment = getById(id);
try {
file = File.createTempFile(generated, ".xlsx");
os = new FileOutputStream(file);
xssfWorkbook.write(os);
os.flush();
objectKey= soilExpReportService.uploadExpReportGenerate(new Long[]{id},null,entrust,experiment.getName(), account, "报告生成", file);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
os.close();
xssfWorkbook.close();
io.close();
FileUtils.deleteFiles(file);
} catch (Exception e) {
e.printStackTrace();
}
}
return objectKey;
}
public boolean parseTxt(MultipartFile smbFile, CollectDataType request) {
try {
List<SoilExperimentCollectData> dataList= CollectUtil.txt2String(smbFile.getInputStream());
......
......@@ -11,20 +11,20 @@ service:
spring:
datasource:
username: dbsoiladmin
password: ptoil!%&wzhj768
url: jdbc:postgresql://127.0.0.1:5432/pc_lims_soil
password: ptoilwzhj768
url: jdbc:postgresql://db:5432/pc_lims_soil
driver-class-name: org.postgresql.Driver
dynamic:
enabled: false
# 注册中心配置
cloud:
consul:
host: 127.0.0.1
host: consul
rabbitmq:
host: 127.0.0.1
host: rabbitmq
port: 5672
username: patznsomq
password: mqsoil456#@$5
password: mqsoil456!
virtual-host: /
topic:
push-msg: pro.topic.push.msg
......@@ -34,12 +34,12 @@ spring:
report-make-msg: pro.topic.report.make.msg
soil-work-msg: pro.topic.soil.work.msg
redis:
host: 127.0.0.1
host: redis
password: ptsoil476TMa
# Mongodb GridFS
data:
mongodb:
uri: mongodb://mgluser:soild574ld@127.0.0.1:27017/lims
uri: mongodb://mgluser:soild574ld@mongodb:27017/lims
grid-fs-database: lims
# Mongodb GridFS 存储
......
......@@ -17,7 +17,8 @@ import java.util.Random;
public class TestDian {
public static void main(String[] args) throws Exception{
createScatterChart();
String a=null;
System.out.println("abc".contains(a));
}
public static void createScatterChart() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
......
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