Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
patzn-cloud-service-soil
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangweidong
patzn-cloud-service-soil
Commits
7b935a34
Commit
7b935a34
authored
Mar 20, 2021
by
zhangmengqi
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev'
parents
fe1a31f5
15802857
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
728 additions
and
48 deletions
+728
-48
build.gradle
build.gradle
+2
-0
WuCollectHandle.java
...zn/cloud/service/lims/collect/handle/WuCollectHandle.java
+0
-3
CollectUtil.java
...java/com/patzn/cloud/service/lims/common/CollectUtil.java
+16
-28
ExcelController.java
.../cloud/service/lims/excel/controller/ExcelController.java
+2
-0
ConvertHexStrToByteArray.java
...atzn/cloud/service/lims/rcp/ConvertHexStrToByteArray.java
+47
-0
InitBalanceMap.java
...java/com/patzn/cloud/service/lims/rcp/InitBalanceMap.java
+49
-0
NettyServer.java
...in/java/com/patzn/cloud/service/lims/rcp/NettyServer.java
+55
-0
RpcDecoder.java
...ain/java/com/patzn/cloud/service/lims/rcp/RpcDecoder.java
+36
-0
RpcEncoder.java
...ain/java/com/patzn/cloud/service/lims/rcp/RpcEncoder.java
+33
-0
RpcRequest.java
...ain/java/com/patzn/cloud/service/lims/rcp/RpcRequest.java
+33
-0
RpcResponse.java
...in/java/com/patzn/cloud/service/lims/rcp/RpcResponse.java
+44
-0
Runner.java
src/main/java/com/patzn/cloud/service/lims/rcp/Runner.java
+36
-0
ServerHandler.java
.../java/com/patzn/cloud/service/lims/rcp/ServerHandler.java
+62
-0
ServerConfig.java
...ava/com/patzn/cloud/service/lims/socket/ServerConfig.java
+89
-0
SocketProperties.java
...com/patzn/cloud/service/lims/socket/SocketProperties.java
+58
-0
SpringUtil.java
.../java/com/patzn/cloud/service/lims/socket/SpringUtil.java
+58
-0
SoilSampleController.java
...ud/service/lims/soil/controller/SoilSampleController.java
+8
-0
ISoilSampleService.java
...n/cloud/service/lims/soil/service/ISoilSampleService.java
+2
-0
SoilExpReportServiceImpl.java
...vice/lims/soil/service/impl/SoilExpReportServiceImpl.java
+60
-16
SoilExperimentServiceImpl.java
...ice/lims/soil/service/impl/SoilExperimentServiceImpl.java
+3
-0
SoilOriginalRecordServiceImpl.java
...lims/soil/service/impl/SoilOriginalRecordServiceImpl.java
+7
-1
SoilSampleServiceImpl.java
...service/lims/soil/service/impl/SoilSampleServiceImpl.java
+11
-0
application-dev.yml
src/main/resources/application-dev.yml
+12
-0
SoilExperimentMapper.xml
src/main/resources/mapper/soil/SoilExperimentMapper.xml
+5
-0
SamplingList.xlsx
src/main/resources/templates/excel/SamplingList.xlsx
+0
-0
SamplingList.xlsx
src/main/resources/templates/excel/input/SamplingList.xlsx
+0
-0
SamplingList.xlsx
src/main/resources/templates/soil/SamplingList.xlsx
+0
-0
No files found.
build.gradle
View file @
7b935a34
...
@@ -121,6 +121,8 @@ dependencies {
...
@@ -121,6 +121,8 @@ dependencies {
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.springframework.boot:spring-boot-starter-mail:2.4.3"
)
compile
(
"org.rxtx:rxtx:2.1.7"
)
compile
(
"org.rxtx:rxtx:2.1.7"
)
compile
(
"io.netty:netty-all:4.1.18.Final"
)
compile
(
"net.jodah:expiringmap:0.5.9"
)
compile
(
"com.qcloud:cos_api:5.2.4"
)
{
compile
(
"com.qcloud:cos_api:5.2.4"
)
{
exclude
module:
'slf4j-log4j12'
exclude
module:
'slf4j-log4j12'
}
}
...
...
src/main/java/com/patzn/cloud/service/lims/collect/handle/WuCollectHandle.java
View file @
7b935a34
...
@@ -49,9 +49,6 @@ public class WuCollectHandle implements ICollectHandler {
...
@@ -49,9 +49,6 @@ public class WuCollectHandle implements ICollectHandler {
soilExperimentService
.
parseWuxingTxt
(
smbFile
,
request
);
soilExperimentService
.
parseWuxingTxt
(
smbFile
,
request
);
}
}
if
(!
name
.
equals
(
checkNameSiteNo
)&&!
name
.
equals
(
checkNameSampleCode
)){
continue
;
}
if
(
smbFile
.
getName
().
contains
(
".png"
)||
smbFile
.
getName
().
contains
(
".bmp"
)){
if
(
smbFile
.
getName
().
contains
(
".png"
)||
smbFile
.
getName
().
contains
(
".bmp"
)){
soilExperimentService
.
uploadCollectPng
(
smbFile
,
request
);
soilExperimentService
.
uploadCollectPng
(
smbFile
,
request
);
}
}
...
...
src/main/java/com/patzn/cloud/service/lims/common/CollectUtil.java
View file @
7b935a34
...
@@ -83,22 +83,10 @@ public class CollectUtil {
...
@@ -83,22 +83,10 @@ public class CollectUtil {
System
.
out
.
println
(
sampleCode
);
System
.
out
.
println
(
sampleCode
);
if
(
listTwo
.
size
()>
0
){
if
(
listTwo
.
size
()>
0
){
SoilExperimentCollectDataVO
collectData
=
new
SoilExperimentCollectDataVO
();
dataList
.
add
(
getDataVO
(
"液限含水率"
,
listTwo
.
get
(
listTwo
.
size
()-
1
),
gcbh
,
sampleCode
,
"界限含水率"
));
collectData
.
setName
(
"液限含水率"
);
collectData
.
setTestValue
(
listTwo
.
get
(
listTwo
.
size
()-
1
));
collectData
.
setEntrustCode
(
gcbh
);
collectData
.
setSiteNo
(
sampleCode
);
collectData
.
setExpName
(
"界限含水率"
);
dataList
.
add
(
collectData
);
}
}
if
(
listFour
.
size
()>
0
){
if
(
listFour
.
size
()>
0
){
SoilExperimentCollectDataVO
collectData
=
new
SoilExperimentCollectDataVO
();
dataList
.
add
(
getDataVO
(
"塑限含水率"
,
listFour
.
get
(
listFour
.
size
()-
1
),
gcbh
,
sampleCode
,
"界限含水率"
));
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
(
listOne
);
...
@@ -183,22 +171,10 @@ public class CollectUtil {
...
@@ -183,22 +171,10 @@ public class CollectUtil {
if
(!
""
.
equals
(
sampleCode
)&&!
""
.
equals
(
gcbh
)){
if
(!
""
.
equals
(
sampleCode
)&&!
""
.
equals
(
gcbh
)){
if
(
listTwo
.
size
()>
0
){
if
(
listTwo
.
size
()>
0
){
SoilExperimentCollectDataVO
collectData
=
new
SoilExperimentCollectDataVO
();
dataList
.
add
(
getDataVO
(
"液限含水率"
,
listTwo
.
get
(
listTwo
.
size
()-
1
),
gcbh
,
sampleCode
,
"界限含水率"
));
collectData
.
setName
(
"液限含水率"
);
collectData
.
setTestValue
(
listTwo
.
get
(
listTwo
.
size
()-
1
));
collectData
.
setEntrustCode
(
gcbh
);
collectData
.
setSiteNo
(
sampleCode
);
collectData
.
setExpName
(
"界限含水率"
);
dataList
.
add
(
collectData
);
}
}
if
(
listFour
.
size
()>
0
){
if
(
listFour
.
size
()>
0
){
SoilExperimentCollectDataVO
collectData
=
new
SoilExperimentCollectDataVO
();
dataList
.
add
(
getDataVO
(
"塑限含水率"
,
listFour
.
get
(
listFour
.
size
()-
1
),
gcbh
,
sampleCode
,
"界限含水率"
));
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
(
listOne
);
System
.
out
.
println
(
listTwo
);
System
.
out
.
println
(
listTwo
);
...
@@ -215,6 +191,18 @@ public class CollectUtil {
...
@@ -215,6 +191,18 @@ public class CollectUtil {
return
dataList
;
return
dataList
;
}
}
public
static
SoilExperimentCollectDataVO
getDataVO
(
String
name
,
String
value
,
String
gcbh
,
String
siteNo
,
String
expName
){
SoilExperimentCollectDataVO
collectData
=
new
SoilExperimentCollectDataVO
();
collectData
.
setName
(
name
);
collectData
.
setTestValue
(
value
);
collectData
.
setEntrustCode
(
gcbh
);
collectData
.
setSiteNo
(
siteNo
);
collectData
.
setExpName
(
expName
);
return
collectData
;
}
public
static
List
<
SoilExperimentCollectData
>
txt2String
(
InputStream
io
){
public
static
List
<
SoilExperimentCollectData
>
txt2String
(
InputStream
io
){
StringBuilder
result
=
new
StringBuilder
();
StringBuilder
result
=
new
StringBuilder
();
List
<
SoilExperimentCollectData
>
dataList
=
new
ArrayList
<>();
List
<
SoilExperimentCollectData
>
dataList
=
new
ArrayList
<>();
...
...
src/main/java/com/patzn/cloud/service/lims/excel/controller/ExcelController.java
View file @
7b935a34
...
@@ -43,6 +43,7 @@ public class ExcelController extends ServiceController {
...
@@ -43,6 +43,7 @@ public class ExcelController extends ServiceController {
ExcelController
.
TPL
.
put
(
"MeterSendSampleImport"
,
"出检样品导入模板"
);
ExcelController
.
TPL
.
put
(
"MeterSendSampleImport"
,
"出检样品导入模板"
);
ExcelController
.
TPL
.
put
(
"SoilEntrustImport"
,
"试验委托单导入模板"
);
ExcelController
.
TPL
.
put
(
"SoilEntrustImport"
,
"试验委托单导入模板"
);
ExcelController
.
TPL
.
put
(
"SoilAptExpImport"
,
"试样项目导入模板"
);
ExcelController
.
TPL
.
put
(
"SoilAptExpImport"
,
"试样项目导入模板"
);
ExcelController
.
TPL
.
put
(
"SamplingList"
,
"样品抽样单模板导出"
);
ExcelController
.
TPL
.
put
(
"TenderContractSupplement.docx"
,
"标书合同(协议)补充单.docx"
);
ExcelController
.
TPL
.
put
(
"TenderContractSupplement.docx"
,
"标书合同(协议)补充单.docx"
);
...
@@ -58,6 +59,7 @@ public class ExcelController extends ServiceController {
...
@@ -58,6 +59,7 @@ public class ExcelController extends ServiceController {
ExcelController
.
TPL
.
put
(
"QuYang.docx"
,
"取(采)样记录.docx"
);
ExcelController
.
TPL
.
put
(
"QuYang.docx"
,
"取(采)样记录.docx"
);
ExcelController
.
TPL
.
put
(
"YangPinBiaoShiKa.docx"
,
"样品标识卡.docx"
);
ExcelController
.
TPL
.
put
(
"YangPinBiaoShiKa.docx"
,
"样品标识卡.docx"
);
ExcelController
.
TPL
.
put
(
"YangPinChouYangDan.docx"
,
"样品抽样单.docx"
);
ExcelController
.
TPL
.
put
(
"YangPinChouYangDan.docx"
,
"样品抽样单.docx"
);
ExcelController
.
TPL
.
put
(
"SamplingList.xlsx"
,
"抽样单导出模板.xlsx"
);
}
}
@ApiOperation
(
value
=
"根据模板名称下载模板"
,
notes
=
"根据模板名称下载导入模板"
)
@ApiOperation
(
value
=
"根据模板名称下载模板"
,
notes
=
"根据模板名称下载导入模板"
)
...
...
src/main/java/com/patzn/cloud/service/lims/rcp/ConvertHexStrToByteArray.java
0 → 100644
View file @
7b935a34
package
com
.
patzn
.
cloud
.
service
.
lims
.
rcp
;
public
class
ConvertHexStrToByteArray
{
/**
* hex string to ascii string
*
* @param hexStr
* @return
*/
public
static
String
hexStringToAsciiString
(
String
hexStr
)
{
StringBuilder
output
=
new
StringBuilder
();
for
(
int
i
=
0
,
len
=
hexStr
.
length
();
i
<
len
;
i
+=
2
)
{
output
.
append
((
char
)
Integer
.
parseInt
(
hexStr
.
substring
(
i
,
i
+
2
),
16
));
}
return
output
.
toString
();
}
/**
* ascii string to hex string
*
* @param asciiStr
* @return
*/
public
static
String
asciiStringToHexString
(
String
asciiStr
)
{
char
[]
chars
=
asciiStr
.
toCharArray
();
StringBuilder
sbHex
=
new
StringBuilder
();
for
(
char
ch
:
chars
)
{
sbHex
.
append
(
Integer
.
toHexString
(
ch
));
}
return
sbHex
.
toString
();
}
//K + 46.63 g
public
static
String
balanceTextChangg
(
String
asciiStr
)
{
if
(
asciiStr
.
contains
(
"K"
)&&
asciiStr
.
contains
(
"+"
)&&
asciiStr
.
contains
(
"g"
)){
asciiStr
=
asciiStr
.
replace
(
"K"
,
""
).
replace
(
"+"
,
""
).
replace
(
"g"
,
""
);
asciiStr
=
asciiStr
.
replace
(
" "
,
""
).
replace
(
"\n"
,
""
).
replace
(
"\r"
,
""
);
return
asciiStr
;
}
return
asciiStr
;
}
}
src/main/java/com/patzn/cloud/service/lims/rcp/InitBalanceMap.java
0 → 100644
View file @
7b935a34
package
com
.
patzn
.
cloud
.
service
.
lims
.
rcp
;
import
net.jodah.expiringmap.ExpirationPolicy
;
import
net.jodah.expiringmap.ExpiringMap
;
import
org.springframework.beans.factory.InitializingBean
;
import
org.springframework.stereotype.Component
;
import
java.sql.Connection
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
@Component
public
class
InitBalanceMap
implements
InitializingBean
{
public
static
ExpiringMap
<
String
,
String
>
mapBalanceId
=
null
;
public
static
ExpiringMap
<
String
,
String
>
mapBalanceValue
=
null
;
public
ExpiringMap
<
String
,
String
>
getMapId
(){
return
mapBalanceId
;
}
public
ExpiringMap
<
String
,
String
>
getMapValue
(){
return
mapBalanceValue
;
}
@Override
public
void
afterPropertiesSet
()
throws
Exception
{
mapBalanceId
=
ExpiringMap
.
builder
()
//设置每个key有效时间60s,如果key不设置过期时间,key永久有效
.
expiration
(
60
,
TimeUnit
.
SECONDS
)
//允许更新过期时间值,如果不设置variableExpiration,不允许后面更改过期时间,一旦执行更改过期时间操作会抛异常UnsupportedOperationException
.
variableExpiration
()
//CREATED:只在put和replace方法清零过期时间
//ACCESSED:在CREATED策略基础上增加 在还没过期时get方法清零过期时间。
//清零过期时间也就是重置过期时间,重新计算过期时间
.
expirationPolicy
(
ExpirationPolicy
.
CREATED
)
.
build
();
mapBalanceValue
=
ExpiringMap
.
builder
()
//设置每个key有效时间60s,如果key不设置过期时间,key永久有效
.
expiration
(
60
,
TimeUnit
.
SECONDS
)
//允许更新过期时间值,如果不设置variableExpiration,不允许后面更改过期时间,一旦执行更改过期时间操作会抛异常UnsupportedOperationException
.
variableExpiration
()
//CREATED:只在put和replace方法清零过期时间
//ACCESSED:在CREATED策略基础上增加 在还没过期时get方法清零过期时间。
//清零过期时间也就是重置过期时间,重新计算过期时间
.
expirationPolicy
(
ExpirationPolicy
.
CREATED
)
.
build
();
}
}
src/main/java/com/patzn/cloud/service/lims/rcp/NettyServer.java
0 → 100644
View file @
7b935a34
package
com
.
patzn
.
cloud
.
service
.
lims
.
rcp
;
/*
* @author uv
* @date 2018/10/12 18:25
* 服务端
*/
import
io.netty.bootstrap.ServerBootstrap
;
import
io.netty.channel.ChannelFuture
;
import
io.netty.channel.ChannelInitializer
;
import
io.netty.channel.ChannelOption
;
import
io.netty.channel.EventLoopGroup
;
import
io.netty.channel.nio.NioEventLoopGroup
;
import
io.netty.channel.socket.SocketChannel
;
import
io.netty.channel.socket.nio.NioServerSocketChannel
;
public
class
NettyServer
{
public
void
bind
(
int
port
)
throws
Exception
{
EventLoopGroup
bossGroup
=
new
NioEventLoopGroup
();
//bossGroup就是parentGroup,是负责处理TCP/IP连接的
EventLoopGroup
workerGroup
=
new
NioEventLoopGroup
();
//workerGroup就是childGroup,是负责处理Channel(通道)的I/O事件
ServerBootstrap
sb
=
new
ServerBootstrap
();
sb
.
group
(
bossGroup
,
workerGroup
)
.
channel
(
NioServerSocketChannel
.
class
)
.
option
(
ChannelOption
.
SO_BACKLOG
,
128
)
//初始化服务端可连接队列,指定了队列的大小128
.
childOption
(
ChannelOption
.
SO_KEEPALIVE
,
true
)
//保持长连接
.
childHandler
(
new
ChannelInitializer
<
SocketChannel
>()
{
// 绑定客户端连接时候触发操作
@Override
protected
void
initChannel
(
SocketChannel
sh
)
throws
Exception
{
sh
.
pipeline
()
.
addLast
(
new
RpcDecoder
(
RpcRequest
.
class
))
//解码request
.
addLast
(
new
RpcEncoder
(
RpcResponse
.
class
))
//编码response
.
addLast
(
new
ServerHandler
());
//使用ServerHandler类来处理接收到的消息
}
});
//绑定监听端口,调用sync同步阻塞方法等待绑定操作完
ChannelFuture
future
=
sb
.
bind
(
port
).
sync
();
if
(
future
.
isSuccess
())
{
System
.
out
.
println
(
"服务端启动成功"
);
}
else
{
System
.
out
.
println
(
"服务端启动失败"
);
future
.
cause
().
printStackTrace
();
bossGroup
.
shutdownGracefully
();
//关闭线程组
workerGroup
.
shutdownGracefully
();
}
//成功绑定到端口之后,给channel增加一个 管道关闭的监听器并同步阻塞,直到channel关闭,线程才会往下执行,结束进程。
future
.
channel
().
closeFuture
().
sync
();
}
}
src/main/java/com/patzn/cloud/service/lims/rcp/RpcDecoder.java
0 → 100644
View file @
7b935a34
package
com
.
patzn
.
cloud
.
service
.
lims
.
rcp
;
import
com.alibaba.fastjson.JSON
;
import
io.netty.buffer.ByteBuf
;
import
io.netty.channel.ChannelHandlerContext
;
import
io.netty.handler.codec.ByteToMessageDecoder
;
import
java.util.List
;
public
class
RpcDecoder
extends
ByteToMessageDecoder
{
//目标对象类型进行解码
private
Class
<?>
target
;
public
RpcDecoder
(
Class
target
)
{
this
.
target
=
target
;
}
@Override
protected
void
decode
(
ChannelHandlerContext
ctx
,
ByteBuf
in
,
List
<
Object
>
out
)
throws
Exception
{
if
(
in
.
readableBytes
()
<
4
)
{
//不够长度丢弃
return
;
}
in
.
markReaderIndex
();
//标记一下当前的readIndex的位置
int
dataLength
=
in
.
readInt
();
// 读取传送过来的消息的长度。ByteBuf 的readInt()方法会让他的readIndex增加4
if
(
in
.
readableBytes
()
<
dataLength
)
{
//读到的消息体长度如果小于我们传送过来的消息长度,则resetReaderIndex. 这个配合markReaderIndex使用的。把readIndex重置到mark的地方
in
.
resetReaderIndex
();
return
;
}
byte
[]
data
=
new
byte
[
dataLength
];
in
.
readBytes
(
data
);
Object
obj
=
JSON
.
parseObject
(
data
,
target
);
//将byte数据转化为我们需要的对象
out
.
add
(
obj
);
}
}
src/main/java/com/patzn/cloud/service/lims/rcp/RpcEncoder.java
0 → 100644
View file @
7b935a34
package
com
.
patzn
.
cloud
.
service
.
lims
.
rcp
;
/*
* @author uv
* @date 2018/10/13 18:09
* 编码器(将实体类转换成可传输的数据)
*/
import
com.alibaba.fastjson.JSON
;
import
io.netty.buffer.ByteBuf
;
import
io.netty.channel.ChannelHandlerContext
;
import
io.netty.handler.codec.MessageToByteEncoder
;
public
class
RpcEncoder
extends
MessageToByteEncoder
{
//目标对象类型进行编码
private
Class
<?>
target
;
public
RpcEncoder
(
Class
target
)
{
this
.
target
=
target
;
}
@Override
protected
void
encode
(
ChannelHandlerContext
ctx
,
Object
msg
,
ByteBuf
out
)
throws
Exception
{
if
(
target
.
isInstance
(
msg
))
{
byte
[]
data
=
JSON
.
toJSONBytes
(
msg
);
//使用fastJson将对象转换为byte
out
.
writeInt
(
data
.
length
);
//先将消息长度写入,也就是消息头
out
.
writeBytes
(
data
);
//消息体中包含我们要发送的数据
}
}
}
\ No newline at end of file
src/main/java/com/patzn/cloud/service/lims/rcp/RpcRequest.java
0 → 100644
View file @
7b935a34
package
com
.
patzn
.
cloud
.
service
.
lims
.
rcp
;
/*
* @author uv
* @date 2018/10/13 18:10
* 传输请求对象
*/
public
class
RpcRequest
{
private
String
id
;
private
Object
data
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
Object
getData
()
{
return
data
;
}
public
void
setData
(
Object
data
)
{
this
.
data
=
data
;
}
@Override
public
String
toString
()
{
return
"RpcRequest{"
+
"id='"
+
id
+
'\''
+
", data="
+
data
+
'}'
;
}
}
src/main/java/com/patzn/cloud/service/lims/rcp/RpcResponse.java
0 → 100644
View file @
7b935a34
package
com
.
patzn
.
cloud
.
service
.
lims
.
rcp
;
/*
* @author uv
* @date 2018/10/13 18:10
* 传输响应对象
*/
public
class
RpcResponse
{
private
String
id
;
private
Object
data
;
// 0=success -1=fail
private
int
status
;
public
String
getId
()
{
return
id
;
}
public
void
setId
(
String
id
)
{
this
.
id
=
id
;
}
public
Object
getData
()
{
return
data
;
}
public
void
setData
(
Object
data
)
{
this
.
data
=
data
;
}
public
int
getStatus
()
{
return
status
;
}
public
void
setStatus
(
int
status
)
{
this
.
status
=
status
;
}
@Override
public
String
toString
()
{
return
"RpcResponse{"
+
"id='"
+
id
+
'\''
+
", data="
+
data
+
", status="
+
status
+
'}'
;
}
}
src/main/java/com/patzn/cloud/service/lims/rcp/Runner.java
0 → 100644
View file @
7b935a34
package
com
.
patzn
.
cloud
.
service
.
lims
.
rcp
;
import
com.patzn.cloud.service.lims.socket.ServerConfig
;
import
com.patzn.cloud.service.lims.socket.SocketProperties
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.stereotype.Component
;
import
java.net.ServerSocket
;
import
java.net.Socket
;
import
java.util.concurrent.ArrayBlockingQueue
;
import
java.util.concurrent.ThreadPoolExecutor
;
import
java.util.concurrent.TimeUnit
;
@Component
public
class
Runner
implements
CommandLineRunner
{
@Autowired
private
SocketProperties
properties
;
@Override
public
void
run
(
String
...
args
)
throws
Exception
{
System
.
out
.
println
(
"设备服务器已经开启, 监听端口:"
+
properties
.
getPort
());
new
NettyServer
().
bind
(
6800
);
// ThreadPoolExecutor pool = new ThreadPoolExecutor(
// properties.getPoolCore(),
// properties.getPoolMax(),
// properties.getPoolKeep(),
// TimeUnit.SECONDS,
// new ArrayBlockingQueue<>(properties.getPoolQueueInit()),
// new ThreadPoolExecutor.DiscardOldestPolicy()
// );
}
}
src/main/java/com/patzn/cloud/service/lims/rcp/ServerHandler.java
0 → 100644
View file @
7b935a34
package
com
.
patzn
.
cloud
.
service
.
lims
.
rcp
;
import
com.patzn.cloud.service.lims.socket.SpringUtil
;
import
io.netty.channel.ChannelHandlerContext
;
import
io.netty.channel.ChannelId
;
import
io.netty.channel.ChannelInboundHandlerAdapter
;
import
net.jodah.expiringmap.ExpiringMap
;
import
java.util.UUID
;
public
class
ServerHandler
extends
ChannelInboundHandlerAdapter
{
@Override
public
void
channelRead
(
ChannelHandlerContext
ctx
,
Object
msg
)
throws
Exception
{
String
oid
=
ctx
.
channel
().
id
().
asLongText
();
RpcRequest
request
=
(
RpcRequest
)
msg
;
InitBalanceMap
mapInit
=
(
InitBalanceMap
)
SpringUtil
.
getBean
(
"initBalanceMap"
);
ExpiringMap
<
String
,
String
>
mapId
=
mapInit
.
getMapId
();
ExpiringMap
<
String
,
String
>
mapValue
=
mapInit
.
getMapValue
();
if
(
mapId
.
get
(
oid
)==
null
){
mapId
.
put
(
oid
,
ConvertHexStrToByteArray
.
balanceTextChangg
(
ConvertHexStrToByteArray
.
hexStringToAsciiString
(
request
.
getData
().
toString
())));
}
else
{
mapValue
.
put
(
mapId
.
get
(
oid
),
ConvertHexStrToByteArray
.
balanceTextChangg
(
ConvertHexStrToByteArray
.
hexStringToAsciiString
(
request
.
getData
().
toString
())));
}
System
.
out
.
println
();
System
.
out
.
println
(
"接收到客户端信息:"
+
request
.
toString
());
//返回的数据结构
RpcResponse
response
=
new
RpcResponse
();
response
.
setId
(
UUID
.
randomUUID
().
toString
());
response
.
setData
(
"server响应结果"
);
response
.
setStatus
(
1
);
ctx
.
writeAndFlush
(
response
);
}
@Override
public
void
channelReadComplete
(
ChannelHandlerContext
ctx
)
throws
Exception
{
ChannelId
channelId
=
ctx
.
channel
().
id
();
String
text
=
channelId
.
asLongText
();
ChannelHandlerContext
handlerContext
=
ctx
.
read
();
String
content
=
handlerContext
.
toString
();
System
.
out
.
println
(
"服务端接收数据完毕.."
);
ctx
.
flush
();
}
//读操作时捕获到异常时调用
@Override
public
void
exceptionCaught
(
ChannelHandlerContext
ctx
,
Throwable
cause
)
{
ctx
.
close
();
}
//客户端去和服务端连接成功时触发
@Override
public
void
channelActive
(
ChannelHandlerContext
ctx
)
throws
Exception
{
// ctx.writeAndFlush("hello client");
}
}
src/main/java/com/patzn/cloud/service/lims/socket/ServerConfig.java
0 → 100644
View file @
7b935a34
package
com
.
patzn
.
cloud
.
service
.
lims
.
socket
;
import
com.patzn.cloud.service.lims.soil.service.ISoilItemService
;
import
com.patzn.cloud.service.lims.soil.service.impl.SoilItemServiceImpl
;
import
java.io.BufferedWriter
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.OutputStreamWriter
;
import
java.net.Socket
;
import
java.net.SocketException
;
import
java.net.SocketTimeoutException
;
import
java.util.zip.DataFormatException
;
public
class
ServerConfig
extends
Thread
{
private
Socket
socket
;
public
ServerConfig
(
Socket
socket
)
{
this
.
socket
=
socket
;
}
// 获取spring容器管理的类,可以获取到sevrice的类
private
ISoilItemService
service
=
SpringUtil
.
getBean
(
SoilItemServiceImpl
.
class
);
private
String
handle
(
InputStream
inputStream
)
throws
IOException
,
DataFormatException
{
byte
[]
bytes
=
new
byte
[
1024
];
int
len
=
inputStream
.
read
(
bytes
);
if
(
len
!=
-
1
)
{
StringBuffer
request
=
new
StringBuffer
();
request
.
append
(
new
String
(
bytes
,
0
,
len
,
"UTF-8"
));
System
.
out
.
println
(
"接受的数据: "
+
request
);
System
.
out
.
println
(
"from client ... "
+
request
+
"当前线程"
+
Thread
.
currentThread
().
getName
());
}
else
{
throw
new
DataFormatException
(
"数据处理异常"
);
}
return
""
;
}
@Override
public
void
run
()
{
BufferedWriter
writer
=
null
;
try
{
// 设置连接超时9秒
socket
.
setSoTimeout
(
9000
);
System
.
out
.
println
(
"客户 - "
+
socket
.
getRemoteSocketAddress
()
+
" -> 机连接成功"
);
InputStream
inputStream
=
socket
.
getInputStream
();
writer
=
new
BufferedWriter
(
new
OutputStreamWriter
(
socket
.
getOutputStream
()));
String
result
=
null
;
try
{
result
=
handle
(
inputStream
);
writer
.
write
(
result
);
writer
.
newLine
();
writer
.
flush
();
}
catch
(
IOException
|
DataFormatException
|
IllegalArgumentException
e
)
{
writer
.
write
(
"error"
);
writer
.
newLine
();
writer
.
flush
();
System
.
out
.
println
(
"发生异常"
);
try
{
System
.
out
.
println
(
"再次接受!"
);
result
=
handle
(
inputStream
);
writer
.
write
(
result
);
writer
.
newLine
();
writer
.
flush
();
}
catch
(
DataFormatException
|
SocketTimeoutException
ex
)
{
System
.
out
.
println
(
"再次接受, 发生异常,连接关闭"
);
}
}
}
catch
(
SocketException
socketException
)
{
socketException
.
printStackTrace
();
try
{
writer
.
close
();
}
catch
(
IOException
ioException
)
{
ioException
.
printStackTrace
();
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
writer
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
}
src/main/java/com/patzn/cloud/service/lims/socket/SocketProperties.java
0 → 100644
View file @
7b935a34
package
com
.
patzn
.
cloud
.
service
.
lims
.
socket
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.PropertySource
;
import
org.springframework.stereotype.Component
;
@Component
@Configuration
@PropertySource
(
"classpath:application.yml"
)
@ConfigurationProperties
(
prefix
=
"socket"
)
public
class
SocketProperties
{
private
Integer
port
;
private
Integer
poolKeep
;
private
Integer
poolCore
;
private
Integer
poolMax
;
private
Integer
poolQueueInit
;
public
Integer
getPort
()
{
return
port
;
}
public
void
setPort
(
Integer
port
)
{
this
.
port
=
port
;
}
public
Integer
getPoolKeep
()
{
return
poolKeep
;
}
public
void
setPoolKeep
(
Integer
poolKeep
)
{
this
.
poolKeep
=
poolKeep
;
}
public
Integer
getPoolCore
()
{
return
poolCore
;
}
public
void
setPoolCore
(
Integer
poolCore
)
{
this
.
poolCore
=
poolCore
;
}
public
Integer
getPoolMax
()
{
return
poolMax
;
}
public
void
setPoolMax
(
Integer
poolMax
)
{
this
.
poolMax
=
poolMax
;
}
public
Integer
getPoolQueueInit
()
{
return
poolQueueInit
;
}
public
void
setPoolQueueInit
(
Integer
poolQueueInit
)
{
this
.
poolQueueInit
=
poolQueueInit
;
}
}
src/main/java/com/patzn/cloud/service/lims/socket/SpringUtil.java
0 → 100644
View file @
7b935a34
package
com
.
patzn
.
cloud
.
service
.
lims
.
socket
;
import
org.springframework.beans.BeansException
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.stereotype.Component
;
@Component
public
class
SpringUtil
implements
ApplicationContextAware
{
private
static
ApplicationContext
applicationContext
;
@Override
public
void
setApplicationContext
(
ApplicationContext
applicationContext
)
throws
BeansException
{
if
(
SpringUtil
.
applicationContext
==
null
)
{
SpringUtil
.
applicationContext
=
applicationContext
;
}
}
/**
* 获取applicationContext
* @return
*/
public
static
ApplicationContext
getApplicationContext
()
{
return
applicationContext
;
}
/**
* 通过name获取 Bean.
* @param name
* @return
*/
public
static
Object
getBean
(
String
name
){
return
getApplicationContext
().
getBean
(
name
);
}
/**
* 通过class获取Bean.
* @param clazz
* @param <T>
* @return
*/
public
static
<
T
>
T
getBean
(
Class
<
T
>
clazz
){
return
getApplicationContext
().
getBean
(
clazz
);
}
/**
* 通过name,以及Clazz返回指定的Bean
* @param name
* @param clazz
* @param <T>
* @return
*/
public
static
<
T
>
T
getBean
(
String
name
,
Class
<
T
>
clazz
){
return
getApplicationContext
().
getBean
(
name
,
clazz
);
}
}
src/main/java/com/patzn/cloud/service/lims/soil/controller/SoilSampleController.java
View file @
7b935a34
...
@@ -607,4 +607,12 @@ public class SoilSampleController extends ServiceController {
...
@@ -607,4 +607,12 @@ public class SoilSampleController extends ServiceController {
}
}
@ApiOperation
(
value
=
"编辑高级分类"
,
notes
=
"编辑高级分类"
)
@PostMapping
(
"/edit_senior_type"
)
public
RestResult
<
Boolean
>
editSeniorType
(
SoilSampleVO
soilSampleVO
)
{
return
success
(
soilSampleService
.
editSeniorType
(
soilSampleVO
,
getAccount
()));
}
}
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilSampleService.java
View file @
7b935a34
...
@@ -100,4 +100,6 @@ public interface ISoilSampleService extends IBaseService<SoilSample> {
...
@@ -100,4 +100,6 @@ public interface ISoilSampleService extends IBaseService<SoilSample> {
boolean
sampleSplitSave
(
Long
id
,
SoilSample
soilSample
,
Account
account
);
boolean
sampleSplitSave
(
Long
id
,
SoilSample
soilSample
,
Account
account
);
void
exportSamplingList
(
Long
[]
ids
,
HttpServletResponse
response
,
Account
account
);
void
exportSamplingList
(
Long
[]
ids
,
HttpServletResponse
response
,
Account
account
);
boolean
editSeniorType
(
SoilSampleVO
soilSampleVO
,
Account
account
);
}
}
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilExpReportServiceImpl.java
View file @
7b935a34
...
@@ -162,12 +162,12 @@ public class SoilExpReportServiceImpl extends BaseServiceImpl<SoilExpReportMappe
...
@@ -162,12 +162,12 @@ public class SoilExpReportServiceImpl extends BaseServiceImpl<SoilExpReportMappe
Map
<
String
,
String
>
replaceMap
=
new
HashMap
<>();
Map
<
String
,
String
>
replaceMap
=
new
HashMap
<>();
Map
<
String
,
String
>
mapReplace
=
new
HashMap
<>();
Map
<
String
,
String
>
mapReplace
=
new
HashMap
<>();
mapReplace
.
put
(
"#{projectName}"
,
entrust
.
getProjectName
(
));
mapReplace
.
put
(
"#{projectName}"
,
StringHandleUtils
.
getString
(
entrust
.
getProjectName
()
));
mapReplace
.
put
(
"#{reportCode}"
,
"报告编号:"
+
entrust
.
getEntrustCode
());
mapReplace
.
put
(
"#{reportCode}"
,
"报告编号:"
+
entrust
.
getEntrustCode
());
mapReplace
.
put
(
"#{client}"
,
entrust
.
getClient
(
));
mapReplace
.
put
(
"#{client}"
,
StringHandleUtils
.
getString
(
entrust
.
getClient
()
));
mapReplace
.
put
(
"#{boreholeName}"
,
entrust
.
getBoreholeName
(
));
mapReplace
.
put
(
"#{boreholeName}"
,
StringHandleUtils
.
getString
(
entrust
.
getBoreholeName
()
));
mapReplace
.
put
(
"#{projectNo}"
,
entrust
.
getProjectNo
(
));
mapReplace
.
put
(
"#{projectNo}"
,
StringHandleUtils
.
getString
(
entrust
.
getProjectNo
()
));
mapReplace
.
put
(
"#{testType}"
,
entrust
.
getTestType
(
));
mapReplace
.
put
(
"#{testType}"
,
StringHandleUtils
.
getString
(
entrust
.
getTestType
()
));
int
sheetNums
=
xssfWorkbook
.
getNumberOfSheets
();
int
sheetNums
=
xssfWorkbook
.
getNumberOfSheets
();
...
@@ -709,28 +709,72 @@ public class SoilExpReportServiceImpl extends BaseServiceImpl<SoilExpReportMappe
...
@@ -709,28 +709,72 @@ public class SoilExpReportServiceImpl extends BaseServiceImpl<SoilExpReportMappe
if
(
dataAttribute
.
contains
(
"-"
)){
if
(
dataAttribute
.
contains
(
"-"
)){
String
[]
attrArrray
=
dataAttribute
.
split
(
"-"
);
String
[]
attrArrray
=
dataAttribute
.
split
(
"-"
);
if
(
attrArrray
.
length
!=
2
){
if
(
attrArrray
.
length
<
2
){
return
;
return
;
}
}
String
expName
=
attrArrray
[
0
];
String
itemName
=
attrArrray
[
1
];
StringBuffer
expNameSb
=
new
StringBuffer
();
String
expName
=
""
;
int
length
=
attrArrray
.
length
-
1
;
for
(
int
i
=
0
;
i
<
length
;
i
++)
{
expNameSb
.
append
(
attrArrray
[
i
]).
append
(
"-"
);
}
expName
=
StringHandleUtils
.
getExcepLastOne
(
expNameSb
.
toString
());
String
itemName
=
attrArrray
[
attrArrray
.
length
-
1
];
if
(
CollectionUtils
.
isNotEmpty
(
experimentVOList
)){
if
(
CollectionUtils
.
isNotEmpty
(
experimentVOList
)){
for
(
SoilExperimentVO
experiment:
experimentVOList
)
{
for
(
SoilExperimentVO
experiment:
experimentVOList
)
{
if
(
vo
.
getSampleCode
().
equals
(
experiment
.
getSampleCode
())&&
expName
.
equals
(
experiment
.
getName
())){
if
(
expName
.
equals
(
"三轴压缩CD/CU"
)||
expName
.
equals
(
"三轴CD/CU"
)){
List
<
SoilItem
>
itemList
=
experiment
.
getItemList
();
for
(
int
i
=
0
;
i
<
2
;
i
++)
{
if
(
CollectionUtils
.
isNotEmpty
(
itemList
)){
if
(
vo
.
getSampleCode
().
equals
(
experiment
.
getSampleCode
())&&
"三轴压缩-CD"
.
equals
(
experiment
.
getName
())){
for
(
SoilItem
item:
itemList
)
{
if
(
itemName
.
equals
(
item
.
getName
())){
List
<
SoilItem
>
itemList
=
experiment
.
getItemList
();
cell
.
setCellValue
(
item
.
getTestValue
());
if
(
CollectionUtils
.
isNotEmpty
(
itemList
)){
break
;
for
(
SoilItem
item:
itemList
)
{
if
(
itemName
.
equals
(
item
.
getName
())){
cell
.
setCellValue
(
item
.
getTestValue
());
break
;
}
}
}
}
if
(
vo
.
getSampleCode
().
equals
(
experiment
.
getSampleCode
())&&
"三轴压缩-CU"
.
equals
(
experiment
.
getName
())){
List
<
SoilItem
>
itemList
=
experiment
.
getItemList
();
if
(
CollectionUtils
.
isNotEmpty
(
itemList
)){
for
(
SoilItem
item:
itemList
)
{
if
(
itemName
.
equals
(
item
.
getName
())){
cell
.
setCellValue
(
item
.
getTestValue
());
break
;
}
}
}
}
}
}
}
}
}
else
{
if
(
vo
.
getSampleCode
().
equals
(
experiment
.
getSampleCode
())&&
expName
.
equals
(
experiment
.
getName
())){
List
<
SoilItem
>
itemList
=
experiment
.
getItemList
();
if
(
CollectionUtils
.
isNotEmpty
(
itemList
)){
for
(
SoilItem
item:
itemList
)
{
if
(
itemName
.
equals
(
item
.
getName
())){
cell
.
setCellValue
(
item
.
getTestValue
());
break
;
}
}
}
}
}
}
}
}
}
}
}
}
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilExperimentServiceImpl.java
View file @
7b935a34
...
@@ -427,6 +427,9 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
...
@@ -427,6 +427,9 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
for
(
SoilExperimentVO
vo:
voList
)
{
for
(
SoilExperimentVO
vo:
voList
)
{
XSSFRow
xssfRow
=
sheetOne
.
getRow
(
beginRow
);
XSSFRow
xssfRow
=
sheetOne
.
getRow
(
beginRow
);
for
(
SoilOriginalTemplateConfig
config:
configList
)
{
for
(
SoilOriginalTemplateConfig
config:
configList
)
{
if
(
null
==
config
.
getColumnPlace
()){
continue
;
}
XSSFCell
cell
=
xssfRow
.
getCell
(
config
.
getColumnPlace
());
XSSFCell
cell
=
xssfRow
.
getCell
(
config
.
getColumnPlace
());
if
(
"sn"
.
equals
(
config
.
getDataAttribute
())){
if
(
"sn"
.
equals
(
config
.
getDataAttribute
())){
continue
;
continue
;
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilOriginalRecordServiceImpl.java
View file @
7b935a34
...
@@ -16,11 +16,13 @@ import com.patzn.cloud.oss.starter.OssFileResult;
...
@@ -16,11 +16,13 @@ import com.patzn.cloud.oss.starter.OssFileResult;
import
com.patzn.cloud.service.eln.entity.ElnForm
;
import
com.patzn.cloud.service.eln.entity.ElnForm
;
import
com.patzn.cloud.service.eln.entity.ElnTemplate
;
import
com.patzn.cloud.service.eln.entity.ElnTemplate
;
import
com.patzn.cloud.service.lims.common.SerialTool
;
import
com.patzn.cloud.service.lims.common.SerialTool
;
import
com.patzn.cloud.service.lims.rcp.InitBalanceMap
;
import
com.patzn.cloud.service.lims.soil.mapper.SoilOriginalRecordMapper
;
import
com.patzn.cloud.service.lims.soil.mapper.SoilOriginalRecordMapper
;
import
com.patzn.cloud.service.lims.soil.service.*
;
import
com.patzn.cloud.service.lims.soil.service.*
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.service.soil.entity.*
;
import
com.patzn.cloud.service.soil.entity.*
;
import
com.patzn.cloud.service.soil.vo.SoilOriginalRecordVO
;
import
com.patzn.cloud.service.soil.vo.SoilOriginalRecordVO
;
import
net.jodah.expiringmap.ExpiringMap
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -41,6 +43,9 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -41,6 +43,9 @@ import org.springframework.transaction.annotation.Transactional;
@Service
@Service
public
class
SoilOriginalRecordServiceImpl
extends
BaseServiceImpl
<
SoilOriginalRecordMapper
,
SoilOriginalRecord
>
implements
ISoilOriginalRecordService
{
public
class
SoilOriginalRecordServiceImpl
extends
BaseServiceImpl
<
SoilOriginalRecordMapper
,
SoilOriginalRecord
>
implements
ISoilOriginalRecordService
{
@Autowired
private
InitBalanceMap
initBalanceMap
;
@Autowired
@Autowired
private
ElnFormClient
elnFormClient
;
private
ElnFormClient
elnFormClient
;
@Autowired
@Autowired
...
@@ -321,7 +326,8 @@ public class SoilOriginalRecordServiceImpl extends BaseServiceImpl<SoilOriginalR
...
@@ -321,7 +326,8 @@ public class SoilOriginalRecordServiceImpl extends BaseServiceImpl<SoilOriginalR
List
<
SoilOriginalTemplateBalance
>
balanceList
=
soilOriginalTemplateBalanceService
.
list
(
Condition
.
create
().
eq
(
"template_id"
,
templateId
).
orderBy
(
"itemed"
,
false
));
List
<
SoilOriginalTemplateBalance
>
balanceList
=
soilOriginalTemplateBalanceService
.
list
(
Condition
.
create
().
eq
(
"template_id"
,
templateId
).
orderBy
(
"itemed"
,
false
));
for
(
SoilOriginalTemplateBalance
balance
:
balanceList
)
{
for
(
SoilOriginalTemplateBalance
balance
:
balanceList
)
{
String
value
=
SerialTool
.
getBalanceValue
(
balance
.
getComName
(),
balance
.
getBaudRate
(),
balance
.
getCommand
());
ExpiringMap
<
String
,
String
>
valueMap
=
initBalanceMap
.
getMapValue
();
String
value
=
valueMap
.
get
(
balance
.
getComName
());
if
(
StringUtils
.
isNotBlank
(
value
)){
if
(
StringUtils
.
isNotBlank
(
value
)){
return
value
;
return
value
;
}
}
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilSampleServiceImpl.java
View file @
7b935a34
...
@@ -1003,6 +1003,17 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
...
@@ -1003,6 +1003,17 @@ public class SoilSampleServiceImpl extends BaseServiceImpl<SoilSampleMapper, Soi
exportService
.
downloadXlsx
(
response
,
entrust
.
getBoreholeName
()+
"sampling"
+
".xlsx"
,
xssfWorkbook
);
exportService
.
downloadXlsx
(
response
,
entrust
.
getBoreholeName
()+
"sampling"
+
".xlsx"
,
xssfWorkbook
);
}
}
@Override
public
boolean
editSeniorType
(
SoilSampleVO
soilSampleVO
,
Account
account
)
{
RestAssert
.
fail
(
null
==
soilSampleVO
.
getId
(),
"id不能为空"
);
RestAssert
.
fail
(
StringUtils
.
isBlank
(
soilSampleVO
.
getSeniorType
()),
"高级分类不能为空"
);
SoilSampleOperation
operation
=
new
SoilSampleOperation
();
operation
.
setSeniorType
(
soilSampleVO
.
getSeniorType
());
return
soilSampleOperationService
.
update
(
operation
,
Condition
.
create
().
eq
(
"sample_id"
,
soilSampleVO
.
getId
()));
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
@Override
...
...
src/main/resources/application-dev.yml
View file @
7b935a34
...
@@ -73,3 +73,15 @@ print.ribbon.NFLoadBalancerRuleClassName: com.patzn.cloud.zuul.LocalRule
...
@@ -73,3 +73,15 @@ print.ribbon.NFLoadBalancerRuleClassName: com.patzn.cloud.zuul.LocalRule
res.ribbon.NFLoadBalancerRuleClassName
:
com.patzn.cloud.zuul.LocalRule
res.ribbon.NFLoadBalancerRuleClassName
:
com.patzn.cloud.zuul.LocalRule
convert.ribbon.NFLoadBalancerRuleClassName
:
com.patzn.cloud.zuul.LocalRule
convert.ribbon.NFLoadBalancerRuleClassName
:
com.patzn.cloud.zuul.LocalRule
soil.ribbon.NFLoadBalancerRuleClassName
:
com.patzn.cloud.zuul.LocalRule
soil.ribbon.NFLoadBalancerRuleClassName
:
com.patzn.cloud.zuul.LocalRule
socket
:
# 监听端口 2323
port
:
2323
# 线程池 - 保持线程数 20
pool-keep
:
20
# 线程池 - 核心线程数 10
pool-core
:
10
# 线程池 - 最大线程数 20
pool-max
:
30
# 线程队列容量 10
pool-queue-init
:
10
src/main/resources/mapper/soil/SoilExperimentMapper.xml
View file @
7b935a34
...
@@ -105,6 +105,11 @@
...
@@ -105,6 +105,11 @@
<if
test=
"vo.status!=null"
>
<if
test=
"vo.status!=null"
>
AND t.status = #{vo.status}
AND t.status = #{vo.status}
</if>
</if>
<if
test=
"vo.name!=null"
>
AND t.name LIKE CONCAT('%',#{vo.name},'%')
</if>
<if
test=
"vo.entrustId!=null"
>
<if
test=
"vo.entrustId!=null"
>
AND s.entrust_id = #{vo.entrustId}
AND s.entrust_id = #{vo.entrustId}
</if>
</if>
...
...
src/main/resources/templates/excel/SamplingList.xlsx
View file @
7b935a34
No preview for this file type
src/main/resources/templates/excel/input/SamplingList.xlsx
0 → 100644
View file @
7b935a34
File added
src/main/resources/templates/soil/SamplingList.xlsx
0 → 100644
View file @
7b935a34
File added
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment