Commit fe1a31f5 by zhangmengqi

Merge branch 'dev'

parents 8809c043 0f82eeec
...@@ -119,6 +119,7 @@ dependencies { ...@@ -119,6 +119,7 @@ dependencies {
compile("com.google.zxing:core:3.3.3") compile("com.google.zxing:core:3.3.3")
compile("org.samba.jcifs:jcifs:1.2.9") compile("org.samba.jcifs:jcifs:1.2.9")
compile("com.google.zxing:javase:3.3.3") compile("com.google.zxing:javase:3.3.3")
compile("org.springframework.boot:spring-boot-starter-mail:2.4.3")
compile ("org.rxtx:rxtx:2.1.7") compile ("org.rxtx:rxtx:2.1.7")
compile("com.qcloud:cos_api:5.2.4") { compile("com.qcloud:cos_api:5.2.4") {
exclude module: 'slf4j-log4j12' exclude module: 'slf4j-log4j12'
......
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.ICollectHandler;
import com.patzn.cloud.service.lims.common.StringHandleUtils;
import com.patzn.cloud.service.lims.soil.service.ISoilExperimentService;
import jcifs.smb.SmbFile;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class WuCollectHandle implements ICollectHandler {
protected final Logger logger = LoggerFactory.getLogger(WuCollectHandle.class);
@Override
public Boolean process(CollectDataType request, ISoilExperimentService soilExperimentService) {
String type = request.getType();
String collectionAddress = request.getCollectionAddress();
String acquisitionCommand = request.getAcquisitionCommand();
String entrustCode = request.getEntrustCode();
String sampleCode = request.getSampleCode();
String expName = request.getExperiment();
String siteNo = request.getSiteNo();
String checkNameSiteNo = "";
String checkNameSampleCode = "";
if (!"文件获取".equals(type)){
return null;
}
if (!"界限含水率联合测定试验".equals(acquisitionCommand)){
return null;
}
SmbFile[] list=null;
try {
list= getShareFiles(collectionAddress+entrustCode+"/");
}catch (Exception e){
logger.error("PngReportHandle.process失败,原因:"+e.getMessage());
e.printStackTrace();
}
for (SmbFile smbFile:list) {
String name = StringHandleUtils.getFileNameNoEx(smbFile.getName());
name = name.replace(request.getExperiment(),"");
if (smbFile.getName().contains(".txt")){
soilExperimentService.parseWuxingTxt(smbFile,request);
}
if (!name.equals(checkNameSiteNo)&&!name.equals(checkNameSampleCode)){
continue;
}
if (smbFile.getName().contains(".png")||smbFile.getName().contains(".bmp")){
soilExperimentService.uploadCollectPng(smbFile,request);
}
}
return true;
}
public static SmbFile[] getShareFiles(String url) throws Exception {
SmbFile file = new SmbFile(url);
if(file.exists()){
SmbFile[] files = file.listFiles();
return files;
}
return null;
}
public static void main(String[] args) {
try {
SmbFile smbFile = new SmbFile("smb://administrator:www.163.com@192.168.0.115/土工试验数据/202010020/");
SmbFile[] smbFiles= smbFile.listFiles();
for (SmbFile file:smbFiles) {
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);
}catch (Exception e){
e.printStackTrace();
}
}
}
...@@ -3,6 +3,7 @@ package com.patzn.cloud.service.lims.common; ...@@ -3,6 +3,7 @@ package com.patzn.cloud.service.lims.common;
import com.baomidou.mybatisplus.toolkit.CollectionUtils; import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import com.patzn.cloud.service.lims.collect.statics.StaticsData; import com.patzn.cloud.service.lims.collect.statics.StaticsData;
import com.patzn.cloud.service.soil.entity.SoilExperimentCollectData; import com.patzn.cloud.service.soil.entity.SoilExperimentCollectData;
import com.patzn.cloud.service.soil.vo.SoilExperimentCollectDataVO;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.io.*; import java.io.*;
...@@ -12,16 +13,207 @@ import java.util.List; ...@@ -12,16 +13,207 @@ import java.util.List;
public class CollectUtil { public class CollectUtil {
public static void main(String[] args) { public static void main(String[] args) {
File file = new File("D://固结S-5.txt"); File file = new File("D://界限含水率(联合测定)S-1.txt");
try { try {
FileInputStream io = new FileInputStream(file); FileInputStream io = new FileInputStream(file);
txt2String(io); txt2StringWuxing(io);
}catch (Exception e){ }catch (Exception e){
} }
} }
public static List<SoilExperimentCollectDataVO> txt2StringWuxing(InputStream io){
StringBuilder result = new StringBuilder();
List<SoilExperimentCollectDataVO> dataList = new ArrayList<>();
try {
InputStreamReader inputReader = new InputStreamReader(io,"GBK");
BufferedReader brCheck = new BufferedReader(inputReader);//构造一个BufferedReader类来读取文件
BufferedReader br = new BufferedReader(inputReader);//构造一个BufferedReader类来读取文件
String s = null;
StringBuffer sbAll = new StringBuffer();
List<String> allStringList = new ArrayList<>();
String gcbh = "";
String sampleCode = "";
List<String> listOne = new ArrayList<>();
List<String> listTwo = new ArrayList<>();
List<String> listThree = new ArrayList<>();
List<String> listFour = new ArrayList<>();
List<String> listFive = new ArrayList<>();
while((s = brCheck.readLine())!=null){
s = s.replace("━","").replace("┏","").replace("╋","").replace("┳","")
.replace("┓","").replace("┣","").replace("┫","").replace("┻","")
.replace("┗","").replace("┛","");
if (s.trim().equals(" ")){
continue;
}
if (s.trim().equals("")){
continue;
}
if (s.trim().equals("┃")){
continue;
}
if (s.contains("PS48")){
continue;
}
if (s.contains("PS24")){
continue;
}
s=s.replace(" ","");
System.out.println(s);
if (s.contains("工程编号")){
String [] gcbhs = s.split(":");
if (gcbhs.length>1){
gcbh = gcbhs[1].trim();
}
}
else if (s.contains("试样编号")){
if (!sampleCode.equals("")&&!"".equals(gcbh)){
System.out.println(sampleCode);
if (listTwo.size()>0){
SoilExperimentCollectDataVO collectData = new SoilExperimentCollectDataVO();
collectData.setName("液限含水率");
collectData.setTestValue(listTwo.get(listTwo.size()-1));
collectData.setEntrustCode(gcbh);
collectData.setSiteNo(sampleCode);
collectData.setExpName("界限含水率");
dataList.add(collectData);
}
if (listFour.size()>0){
SoilExperimentCollectDataVO collectData = new SoilExperimentCollectDataVO();
collectData.setName("塑限含水率");
collectData.setTestValue(listFour.get(listFour.size()-1));
collectData.setEntrustCode(gcbh);
collectData.setSiteNo(sampleCode);
collectData.setExpName("界限含水率");
dataList.add(collectData);
}
System.out.println(listOne);
System.out.println(listTwo);
System.out.println(listThree);
System.out.println(listFour);
System.out.println(listFive);
}
String [] sampleCodes = s.split("┃");
if (sampleCodes.length>1){
for (String code : sampleCodes) {
if (code.contains("试样编号")){
String [] codes = code.split(":");
if (codes.length>1){
sampleCode = codes[1].trim();
}else{
sampleCode ="";
}
}
}
}
}else if (s.contains("锥深")){
listOne.clear();
String [] array = s.split("┃");
for (String a : array) {
a = a.replace(" ","");
if (!a.equals("")){
listOne.add(a);
}
}
}else if (s.contains("盒号")){
listTwo.clear();
String [] array = s.split("┃");
for (String a : array) {
a = a.replace(" ","");
if (!a.equals("")){
listTwo.add(a);
}
}
}else if (s.contains("湿土重")){
listThree.clear();
String [] array = s.split("┃");
for (String a : array) {
a = a.replace(" ","");
if (!a.equals("")){
listThree.add(a);
}
}
}else if (s.contains("干土重")){
listFour.clear();
String [] array = s.split("┃");
for (String a : array) {
a = a.replace(" ","");
if (!a.equals("")){
listFour.add(a);
}
}
}else if (s.contains("含水率")){
listFive.clear();
String [] array = s.split("┃");
for (String a : array) {
a = a.replace(" ","");
if (!a.equals("")){
listFive.add(a);
}
}
}
allStringList.add(s);
String content = s.replace(" ","");
sbAll.append(content);
}
System.out.println();
System.out.println(sampleCode);
if (!"".equals(sampleCode)&&!"".equals(gcbh)){
if (listTwo.size()>0){
SoilExperimentCollectDataVO collectData = new SoilExperimentCollectDataVO();
collectData.setName("液限含水率");
collectData.setTestValue(listTwo.get(listTwo.size()-1));
collectData.setEntrustCode(gcbh);
collectData.setSiteNo(sampleCode);
collectData.setExpName("界限含水率");
dataList.add(collectData);
}
if (listFour.size()>0){
SoilExperimentCollectDataVO collectData = new SoilExperimentCollectDataVO();
collectData.setName("塑限含水率");
collectData.setTestValue(listFour.get(listFour.size()-1));
collectData.setEntrustCode(gcbh);
collectData.setSiteNo(sampleCode);
collectData.setExpName("界限含水率");
dataList.add(collectData);
}
System.out.println(listOne);
System.out.println(listTwo);
System.out.println(listThree);
System.out.println(listFour);
System.out.println(listFive);
}
}catch (Exception e){
}
return dataList;
}
public static List<SoilExperimentCollectData> txt2String(InputStream io){ public static List<SoilExperimentCollectData> txt2String(InputStream io){
StringBuilder result = new StringBuilder(); StringBuilder result = new StringBuilder();
......
package com.patzn.cloud.service.lims.mail;
public interface MailService {
/**
* 发送简单邮件
* @param to
* @param subject
* @param content
*/
void sendMail(String to, String subject, String content);
}
package com.patzn.cloud.service.lims.mail;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
/**
*
* 邮件服务类
* Created by ASUS on 2018/5/5
*
* @Authod Grey Wolf
*/
@Service("mailService")
public class MailServiceImpl implements MailService {
@Autowired
private JavaMailSender javaMailSender;
//读取application.properties的内容
@Value("${spring.mail.username}")
private String from;
/**
* 发送简单邮件
* @param to 接受者
* @param subject 主题
* @param content 内容
*/
@Override
public void sendMail(String to, String subject, String content) {
SimpleMailMessage mailMessage=new SimpleMailMessage();
mailMessage.setFrom(from);//发起者
// mailMessage.setTo(to);//接受者
//如果发给多个人的:
String [] toArray = to.split(",");
mailMessage.setTo(toArray);
mailMessage.setSubject(subject);
mailMessage.setText(content);
try {
javaMailSender.send(mailMessage);
System.out.println("发送简单邮件");
}catch (Exception e){
e.printStackTrace();
System.out.println("发送简单邮件失败");
}
}
}
\ No newline at end of file
...@@ -70,7 +70,7 @@ public class SoilEnvMonitorController extends ServiceController { ...@@ -70,7 +70,7 @@ public class SoilEnvMonitorController extends ServiceController {
@ApiOperation("添加") @ApiOperation("添加")
@PostMapping("/") @PostMapping("/")
public RestResult<Boolean> add(SoilEnvMonitor soilEnvMonitor) { public RestResult<Boolean> add(SoilEnvMonitor soilEnvMonitor) {
return success(soilEnvMonitorService.save(soilEnvMonitor)); return success(soilEnvMonitorService.saveSoilEnvMonitor(soilEnvMonitor));
} }
@ApiOperation("根据 ids 删除") @ApiOperation("根据 ids 删除")
......
...@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.soil.mapper; ...@@ -2,6 +2,7 @@ package com.patzn.cloud.service.lims.soil.mapper;
import com.baomidou.mybatisplus.mapper.BaseMapper; import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.patzn.cloud.service.soil.entity.SoilItem; import com.patzn.cloud.service.soil.entity.SoilItem;
import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilItemVO; import com.patzn.cloud.service.soil.vo.SoilItemVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -20,4 +21,6 @@ public interface SoilItemMapper extends BaseMapper<SoilItem> { ...@@ -20,4 +21,6 @@ public interface SoilItemMapper extends BaseMapper<SoilItem> {
List<SoilItemVO> listVOByExpIds(@Param("expIds") List<Long> expIdsList); List<SoilItemVO> listVOByExpIds(@Param("expIds") List<Long> expIdsList);
List<SoilItemVO> listVOByExpSampleIds(@Param("sampleIds") List<Long> sampleIds); List<SoilItemVO> listVOByExpSampleIds(@Param("sampleIds") List<Long> sampleIds);
List<SoilItemVO> selectForTestPage(@Param("sampleIds")List<Long> sampleIdsList, @Param("status")SoilExpStatusEnum statusEnum);
} }
...@@ -17,4 +17,6 @@ public interface ISoilEnvMonitorService extends IBaseService<SoilEnvMonitor> { ...@@ -17,4 +17,6 @@ public interface ISoilEnvMonitorService extends IBaseService<SoilEnvMonitor> {
Page<SoilEnvMonitor> page(Page<SoilEnvMonitor> page, SoilEnvMonitor soilEnvMonitor); Page<SoilEnvMonitor> page(Page<SoilEnvMonitor> page, SoilEnvMonitor soilEnvMonitor);
boolean removeByIds(List<Long> ids); boolean removeByIds(List<Long> ids);
boolean saveSoilEnvMonitor(SoilEnvMonitor soilEnvMonitor);
} }
...@@ -75,6 +75,8 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> { ...@@ -75,6 +75,8 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> {
boolean parseTxt(SmbFile smbFile, CollectDataType request); boolean parseTxt(SmbFile smbFile, CollectDataType request);
boolean parseWuxingTxt(SmbFile smbFile, CollectDataType request);
boolean importExperiments(Long[] ids, Long[] aptitudeIds, Account account); boolean importExperiments(Long[] ids, Long[] aptitudeIds, Account account);
boolean changeExpAllot(Long[] ids, String user, Long userId, Account account); boolean changeExpAllot(Long[] ids, String user, Long userId, Account account);
......
...@@ -5,6 +5,7 @@ import java.util.List; ...@@ -5,6 +5,7 @@ import java.util.List;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.service.IBaseService; import com.patzn.cloud.commons.service.IBaseService;
import com.patzn.cloud.service.soil.entity.SoilItem; import com.patzn.cloud.service.soil.entity.SoilItem;
import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilItemVO; import com.patzn.cloud.service.soil.vo.SoilItemVO;
/** /**
...@@ -26,4 +27,6 @@ public interface ISoilItemService extends IBaseService<SoilItem> { ...@@ -26,4 +27,6 @@ public interface ISoilItemService extends IBaseService<SoilItem> {
List<SoilItemVO> listVOByExpIds(List<Long> expIdsList); List<SoilItemVO> listVOByExpIds(List<Long> expIdsList);
List<SoilItemVO> listVOByExpSampleIds(List<Long> sampleIdList); List<SoilItemVO> listVOByExpSampleIds(List<Long> sampleIdList);
List<SoilItemVO> listForTestPage(List<Long> sampleIdsList, SoilExpStatusEnum end);
} }
...@@ -72,6 +72,7 @@ public class SoilAloneSampleServiceImpl extends BaseServiceImpl<SoilAloneSampleM ...@@ -72,6 +72,7 @@ public class SoilAloneSampleServiceImpl extends BaseServiceImpl<SoilAloneSampleM
if (CollectionUtils.isNotEmpty(soilAloneSample.getStatusList())){ if (CollectionUtils.isNotEmpty(soilAloneSample.getStatusList())){
wrapper.in("status",soilAloneSample.getStatusList()); wrapper.in("status",soilAloneSample.getStatusList());
} }
wrapper.orderBy("ctime",false);
return this.page(page, wrapper); return this.page(page, wrapper);
} }
......
package com.patzn.cloud.service.lims.soil.service.impl; 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.service.lims.mail.MailService;
import com.patzn.cloud.service.lims.soil.mapper.SoilEnvMonitorMapper; import com.patzn.cloud.service.lims.soil.mapper.SoilEnvMonitorMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilEnvMonitorService; import com.patzn.cloud.service.lims.soil.service.ISoilEnvMonitorService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.lims.soil.service.ISoilEnvMonitorWarningService;
import com.patzn.cloud.service.soil.entity.SoilEnvMonitor; import com.patzn.cloud.service.soil.entity.SoilEnvMonitor;
import com.patzn.cloud.service.soil.entity.SoilEnvMonitorWarning;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
...@@ -20,6 +28,14 @@ import java.util.List; ...@@ -20,6 +28,14 @@ import java.util.List;
@Service @Service
public class SoilEnvMonitorServiceImpl extends BaseServiceImpl<SoilEnvMonitorMapper, SoilEnvMonitor> implements ISoilEnvMonitorService { public class SoilEnvMonitorServiceImpl extends BaseServiceImpl<SoilEnvMonitorMapper, SoilEnvMonitor> implements ISoilEnvMonitorService {
@Autowired
private ISoilEnvMonitorWarningService soilEnvMonitorWarningService;
@Autowired
private MailService mailService;
@Override @Override
public Page<SoilEnvMonitor> page(Page<SoilEnvMonitor> page, SoilEnvMonitor soilEnvMonitor) { public Page<SoilEnvMonitor> page(Page<SoilEnvMonitor> page, SoilEnvMonitor soilEnvMonitor) {
Wrapper wrapper = new EntityWrapper<>(soilEnvMonitor); Wrapper wrapper = new EntityWrapper<>(soilEnvMonitor);
...@@ -31,4 +47,94 @@ public class SoilEnvMonitorServiceImpl extends BaseServiceImpl<SoilEnvMonitorMap ...@@ -31,4 +47,94 @@ public class SoilEnvMonitorServiceImpl extends BaseServiceImpl<SoilEnvMonitorMap
public boolean removeByIds(List<Long> ids) { public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0; return baseMapper.deleteBatchIds(ids) > 0;
} }
@Override
public boolean saveSoilEnvMonitor(SoilEnvMonitor soilEnvMonitor) {
RestAssert.fail(StringUtils.isBlank(soilEnvMonitor.getLocation()),"位置信息不需要");
RestAssert.fail(StringUtils.isBlank(soilEnvMonitor.getTemperature()),"请输入温度");
RestAssert.fail(StringUtils.isBlank(soilEnvMonitor.getHumidity()),"请输入湿度");
if (save(soilEnvMonitor)){
String temperature = soilEnvMonitor.getTemperature();
String humidity = soilEnvMonitor.getHumidity();
BigDecimal decimalD=null;
BigDecimal humidityD=null;
try {
decimalD= new BigDecimal(temperature);
humidityD = new BigDecimal(humidity);
}catch (Exception e){
return true;
}
List<SoilEnvMonitorWarning> warningList = soilEnvMonitorWarningService.list(Condition.create());
for (SoilEnvMonitorWarning soilEnvMonitorWarning:warningList) {
if ("温度".equals(soilEnvMonitorWarning.getWarningType())){
String getLowerLimit = soilEnvMonitorWarning.getLowerLimit();
String getUpperLimit = soilEnvMonitorWarning.getUpperLimit();
BigDecimal getLowerLimitD=null;
BigDecimal getUpperLimitD=null;
try {
getLowerLimitD= new BigDecimal(getLowerLimit);
getUpperLimitD = new BigDecimal(getUpperLimit);
if (decimalD.compareTo(getLowerLimitD)<0){
//下限需要发邮件
if (StringUtils.isNotBlank(soilEnvMonitorWarning.getEmail())){
mailService.sendMail(soilEnvMonitorWarning.getEmail(),"温度低于下限","您实验室位置:"+soilEnvMonitor.getLocation()+"的温度过低,低于温度下限了,请确认!");
}
}
if (decimalD.compareTo(getUpperLimitD)>0){
//下限需要发邮件
if (StringUtils.isNotBlank(soilEnvMonitorWarning.getEmail())){
mailService.sendMail(soilEnvMonitorWarning.getEmail(),"温度高于上限","您实验室位置:"+soilEnvMonitor.getLocation()+"的温度过高,高于温度上限了,请确认!");
}
}
}catch (Exception e){
continue;
}
}else if ("湿度".equals(soilEnvMonitorWarning.getWarningType())){
String getLowerLimit = soilEnvMonitorWarning.getLowerLimit();
String getUpperLimit = soilEnvMonitorWarning.getUpperLimit();
BigDecimal getLowerLimitD=null;
BigDecimal getUpperLimitD=null;
try {
getLowerLimitD= new BigDecimal(getLowerLimit);
getUpperLimitD = new BigDecimal(getUpperLimit);
if (humidityD.compareTo(getLowerLimitD)<0){
//下限需要发邮件
if (StringUtils.isNotBlank(soilEnvMonitorWarning.getEmail())){
mailService.sendMail(soilEnvMonitorWarning.getEmail(),"湿度低于下限","您实验室位置:"+soilEnvMonitor.getLocation()+"的湿度过低,低于湿度下限了,请确认!");
}
}
if (humidityD.compareTo(getUpperLimitD)>0){
//下限需要发邮件
if (StringUtils.isNotBlank(soilEnvMonitorWarning.getEmail())){
mailService.sendMail(soilEnvMonitorWarning.getEmail(),"湿度高于上限","您实验室位置:"+soilEnvMonitor.getLocation()+"的湿度过高,高于湿度上限了,请确认!");
}
}
}catch (Exception e){
continue;
}
}
}
}
return true;
}
} }
...@@ -8,6 +8,7 @@ import com.patzn.cloud.service.lims.collect.chain.CollectHandlerChain; ...@@ -8,6 +8,7 @@ import com.patzn.cloud.service.lims.collect.chain.CollectHandlerChain;
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.handle.GdsFileHandle; import com.patzn.cloud.service.lims.collect.handle.GdsFileHandle;
import com.patzn.cloud.service.lims.collect.handle.PngReportHandle; import com.patzn.cloud.service.lims.collect.handle.PngReportHandle;
import com.patzn.cloud.service.lims.collect.handle.WuCollectHandle;
import com.patzn.cloud.service.lims.soil.mapper.SoilExperimentRelEquipMapper; import com.patzn.cloud.service.lims.soil.mapper.SoilExperimentRelEquipMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilExperimentRelEquipService; import com.patzn.cloud.service.lims.soil.service.ISoilExperimentRelEquipService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
...@@ -51,7 +52,6 @@ public class SoilExperimentRelEquipServiceImpl extends BaseServiceImpl<SoilExper ...@@ -51,7 +52,6 @@ public class SoilExperimentRelEquipServiceImpl extends BaseServiceImpl<SoilExper
return baseMapper.deleteBatchIds(ids) > 0; return baseMapper.deleteBatchIds(ids) > 0;
} }
@Transactional(rollbackFor = Exception.class)
@Override @Override
public boolean addExpEquip(SoilExperimentRelEquipDTO equipDTO, Account account) { public boolean addExpEquip(SoilExperimentRelEquipDTO equipDTO, Account account) {
RestAssert.fail(null == equipDTO,"数据有误"); RestAssert.fail(null == equipDTO,"数据有误");
...@@ -106,6 +106,7 @@ public class SoilExperimentRelEquipServiceImpl extends BaseServiceImpl<SoilExper ...@@ -106,6 +106,7 @@ public class SoilExperimentRelEquipServiceImpl extends BaseServiceImpl<SoilExper
} }
CollectHandlerChain chain = new CollectHandlerChain(); CollectHandlerChain chain = new CollectHandlerChain();
chain.addHandler(new PngReportHandle()); chain.addHandler(new PngReportHandle());
chain.addHandler(new WuCollectHandle());
chain.addHandler(new GdsFileHandle()); chain.addHandler(new GdsFileHandle());
for (SoilExperimentRelEquip equip:saveRelEquipList) { for (SoilExperimentRelEquip equip:saveRelEquipList) {
SoilExperimentVO experimentVO = expMap.get(equip.getExpId()); SoilExperimentVO experimentVO = expMap.get(equip.getExpId());
......
...@@ -6,6 +6,7 @@ import com.patzn.cloud.service.soil.entity.SoilItem; ...@@ -6,6 +6,7 @@ import com.patzn.cloud.service.soil.entity.SoilItem;
import com.patzn.cloud.service.lims.soil.mapper.SoilItemMapper; import com.patzn.cloud.service.lims.soil.mapper.SoilItemMapper;
import com.patzn.cloud.service.lims.soil.service.ISoilItemService; import com.patzn.cloud.service.lims.soil.service.ISoilItemService;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import com.patzn.cloud.service.soil.enums.SoilExpStatusEnum;
import com.patzn.cloud.service.soil.vo.SoilItemVO; import com.patzn.cloud.service.soil.vo.SoilItemVO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
...@@ -47,4 +48,9 @@ public class SoilItemServiceImpl extends BaseServiceImpl<SoilItemMapper, SoilIte ...@@ -47,4 +48,9 @@ public class SoilItemServiceImpl extends BaseServiceImpl<SoilItemMapper, SoilIte
return baseMapper.listVOByExpSampleIds(expIdsList); return baseMapper.listVOByExpSampleIds(expIdsList);
} }
@Override
public List<SoilItemVO> listForTestPage(List<Long> sampleIdsList, SoilExpStatusEnum statusEnum) {
return baseMapper.selectForTestPage(sampleIdsList,statusEnum);
}
} }
...@@ -782,6 +782,15 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi ...@@ -782,6 +782,15 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
return g.getId(); return g.getId();
}).collect(Collectors.toList()); }).collect(Collectors.toList());
if (null!=soilSample.getGroupId()){
if (groupIds.contains(soilSample.getGroupId())){
groupIds.clear();
groupIds.add(soilSample.getGroupId());
}else{
return page;
}
}
return page.setRecords(soilPrepareService.pageVOTake(page,soilSample,groupIds)); return page.setRecords(soilPrepareService.pageVOTake(page,soilSample,groupIds));
} }
......
...@@ -8,6 +8,20 @@ service: ...@@ -8,6 +8,20 @@ service:
api-url: http://api.dev.patzn.com:7000 api-url: http://api.dev.patzn.com:7000
url: http://api.dev.patzn.com:7000 url: http://api.dev.patzn.com:7000
spring: spring:
mail:
host: smtp.qq.com
password: amevchrqenqweebg
default-encoding: UTF-8
properties:
mail:
smtp:
auth: true
starttls:
enable: true
required: true
username: 1781849245@qq.com
port: 465
protocol: smtps
datasource: datasource:
type: com.zaxxer.hikari.HikariDataSource type: com.zaxxer.hikari.HikariDataSource
# url: jdbc:postgresql://localhost:5432/dev_lims_meter # url: jdbc:postgresql://localhost:5432/dev_lims_meter
......
...@@ -6,6 +6,20 @@ service: ...@@ -6,6 +6,20 @@ service:
province-item-url: http://60.216.97.250:8087 province-item-url: http://60.216.97.250:8087
soffice: /opt/libreoffice6.1/program/soffice soffice: /opt/libreoffice6.1/program/soffice
spring: spring:
mail:
host: smtp.qq.com
password: amevchrqenqweebg
default-encoding: UTF-8
properties:
mail:
smtp:
auth: true
starttls:
enable: true
required: true
username: 1781849245@qq.com
port: 465
protocol: smtps
datasource: datasource:
type: com.zaxxer.hikari.HikariDataSource type: com.zaxxer.hikari.HikariDataSource
url: jdbc:postgresql://121.36.94.193:5432/pc_lims_soil url: jdbc:postgresql://121.36.94.193:5432/pc_lims_soil
......
...@@ -9,6 +9,20 @@ service: ...@@ -9,6 +9,20 @@ service:
province-item-url: http://60.216.97.250:8087 province-item-url: http://60.216.97.250:8087
soffice: /opt/libreoffice6.1/program/soffice soffice: /opt/libreoffice6.1/program/soffice
spring: spring:
mail:
host: smtp.qq.com
password: amevchrqenqweebg
default-encoding: UTF-8
properties:
mail:
smtp:
auth: true
starttls:
enable: true
required: true
username: 1781849245@qq.com
port: 465
protocol: smtps
datasource: datasource:
username: dbsoiladmin username: dbsoiladmin
password: ptoilwzhj768 password: ptoilwzhj768
......
...@@ -24,6 +24,10 @@ ...@@ -24,6 +24,10 @@
AND o.storehouse LIKE CONCAT('%',#{vo.storehouse},'%') AND o.storehouse LIKE CONCAT('%',#{vo.storehouse},'%')
</if> </if>
<if test="vo.shelfCode">
AND o.shelf_code LIKE CONCAT('%',#{vo.shelfCode},'%')
</if>
ORDER BY s.ctime DESC ORDER BY s.ctime DESC
</select> </select>
......
...@@ -350,6 +350,7 @@ ...@@ -350,6 +350,7 @@
t.test_method, t.test_method,
t.tester, t.tester,
t.status, t.status,
t.sample_id,
t.progress, t.progress,
t.group_name, t.group_name,
t.group_id, t.group_id,
......
...@@ -34,4 +34,28 @@ ...@@ -34,4 +34,28 @@
</foreach> </foreach>
</select> </select>
<select id="selectForTestPage" resultType="com.patzn.cloud.service.soil.vo.SoilItemVO">
SELECT
s.sample_code,i.name ,i.test_value,i.unit
FROM
soil_experiment
T JOIN soil_sample s ON T.sample_id = s.ID
JOIN soil_item i ON i.experiment_id = t.id
WHERE s.deleted = 0
AND t.deleted = 0
AND i.deleted=0
AND t.name IN ('含水率','密度','容重')
AND t.status = #{status}
AND s.id IN
<foreach collection="sampleIds" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
AND i.name IN ('含水率','密度','容重')
AND i.test_value IS NOT NULL
</select>
</mapper> </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