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
f57a70cc
Commit
f57a70cc
authored
Oct 30, 2020
by
wangweidong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
土工平台修改
parent
cdb5eb65
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
336 additions
and
4 deletions
+336
-4
build.gradle
build.gradle
+1
-0
CollectHandlerChain.java
...cloud/service/lims/collect/chain/CollectHandlerChain.java
+30
-0
CollectDataType.java
...atzn/cloud/service/lims/collect/core/CollectDataType.java
+131
-0
ICollectHandler.java
...atzn/cloud/service/lims/collect/core/ICollectHandler.java
+9
-0
PngReportHandle.java
...zn/cloud/service/lims/collect/handle/PngReportHandle.java
+71
-0
SoilExperimentMapper.java
.../cloud/service/lims/soil/mapper/SoilExperimentMapper.java
+2
-0
ISoilExperimentService.java
...oud/service/lims/soil/service/ISoilExperimentService.java
+6
-0
SoilExperimentRelEquipServiceImpl.java
.../soil/service/impl/SoilExperimentRelEquipServiceImpl.java
+48
-1
SoilExperimentServiceImpl.java
...ice/lims/soil/service/impl/SoilExperimentServiceImpl.java
+18
-3
SoilExperimentMapper.xml
src/main/resources/mapper/soil/SoilExperimentMapper.xml
+20
-0
No files found.
build.gradle
View file @
f57a70cc
...
...
@@ -113,6 +113,7 @@ dependencies {
compile
(
"net.java.dev.jna:jna-platform:4.5.2"
)
compile
(
"net.java.dev.jna:jna:4.5.2"
)
compile
(
"com.google.zxing:core:3.3.3"
)
compile
(
"org.samba.jcifs:jcifs:1.2.9"
)
compile
(
"com.google.zxing:javase:3.3.3"
)
compile
(
"com.baomidou:dynamic-datasource-spring-boot-starter:2.5.7"
)
compile
(
"com.qcloud:cos_api:5.2.4"
)
{
...
...
src/main/java/com/patzn/cloud/service/lims/collect/chain/CollectHandlerChain.java
0 → 100644
View file @
f57a70cc
package
com
.
patzn
.
cloud
.
service
.
lims
.
collect
.
chain
;
import
com.patzn.cloud.service.lims.collect.core.CollectDataType
;
import
com.patzn.cloud.service.lims.collect.core.ICollectHandler
;
import
com.patzn.cloud.service.lims.soil.service.ISoilExperimentService
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
CollectHandlerChain
{
// 持有所有Handler:
private
List
<
ICollectHandler
>
handlers
=
new
ArrayList
<>();
public
void
addHandler
(
ICollectHandler
handler
)
{
this
.
handlers
.
add
(
handler
);
}
public
boolean
process
(
CollectDataType
request
,
ISoilExperimentService
soilExperimentService
)
{
// 依次调用每个Handler:
for
(
ICollectHandler
handler
:
handlers
)
{
Boolean
r
=
handler
.
process
(
request
,
soilExperimentService
);
if
(
r
!=
null
)
{
// 如果返回TRUE或FALSE,处理结束:
System
.
out
.
println
(
request
+
" "
+
(
r
?
"Approved by "
:
"Denied by "
)
+
handler
.
getClass
().
getSimpleName
());
return
r
;
}
}
return
false
;
}
}
src/main/java/com/patzn/cloud/service/lims/collect/core/CollectDataType.java
0 → 100644
View file @
f57a70cc
package
com
.
patzn
.
cloud
.
service
.
lims
.
collect
.
core
;
public
class
CollectDataType
{
private
Long
equipId
;
private
Long
expId
;
private
String
equipName
;
private
String
equipNum
;
private
String
labNum
;
private
String
spec
;
private
String
brand
;
//采集类型
private
String
type
;
//采集地址
private
String
collectionAddress
;
//IP地址
private
String
ipAddress
;
//采集命令
private
String
acquisitionCommand
;
private
String
sampleCode
;
private
String
entrustCode
;
public
Long
getEquipId
()
{
return
equipId
;
}
public
void
setEquipId
(
Long
equipId
)
{
this
.
equipId
=
equipId
;
}
public
String
getEquipName
()
{
return
equipName
;
}
public
void
setEquipName
(
String
equipName
)
{
this
.
equipName
=
equipName
;
}
public
String
getEquipNum
()
{
return
equipNum
;
}
public
void
setEquipNum
(
String
equipNum
)
{
this
.
equipNum
=
equipNum
;
}
public
String
getLabNum
()
{
return
labNum
;
}
public
void
setLabNum
(
String
labNum
)
{
this
.
labNum
=
labNum
;
}
public
String
getSpec
()
{
return
spec
;
}
public
void
setSpec
(
String
spec
)
{
this
.
spec
=
spec
;
}
public
String
getBrand
()
{
return
brand
;
}
public
void
setBrand
(
String
brand
)
{
this
.
brand
=
brand
;
}
public
String
getType
()
{
return
type
;
}
public
void
setType
(
String
type
)
{
this
.
type
=
type
;
}
public
String
getCollectionAddress
()
{
return
collectionAddress
;
}
public
void
setCollectionAddress
(
String
collectionAddress
)
{
this
.
collectionAddress
=
collectionAddress
;
}
public
String
getIpAddress
()
{
return
ipAddress
;
}
public
void
setIpAddress
(
String
ipAddress
)
{
this
.
ipAddress
=
ipAddress
;
}
public
String
getAcquisitionCommand
()
{
return
acquisitionCommand
;
}
public
void
setAcquisitionCommand
(
String
acquisitionCommand
)
{
this
.
acquisitionCommand
=
acquisitionCommand
;
}
public
String
getSampleCode
()
{
return
sampleCode
;
}
public
void
setSampleCode
(
String
sampleCode
)
{
this
.
sampleCode
=
sampleCode
;
}
public
String
getEntrustCode
()
{
return
entrustCode
;
}
public
void
setEntrustCode
(
String
entrustCode
)
{
this
.
entrustCode
=
entrustCode
;
}
public
Long
getExpId
()
{
return
expId
;
}
public
void
setExpId
(
Long
expId
)
{
this
.
expId
=
expId
;
}
}
src/main/java/com/patzn/cloud/service/lims/collect/core/ICollectHandler.java
0 → 100644
View file @
f57a70cc
package
com
.
patzn
.
cloud
.
service
.
lims
.
collect
.
core
;
import
com.patzn.cloud.service.lims.collect.core.CollectDataType
;
import
com.patzn.cloud.service.lims.soil.service.ISoilExperimentService
;
public
interface
ICollectHandler
{
Boolean
process
(
CollectDataType
request
,
ISoilExperimentService
soilExperimentService
);
}
src/main/java/com/patzn/cloud/service/lims/collect/handle/PngReportHandle.java
0 → 100644
View file @
f57a70cc
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.soil.service.ISoilExperimentService
;
import
jcifs.smb.SmbFile
;
import
org.apache.commons.lang3.StringUtils
;
public
class
PngReportHandle
implements
ICollectHandler
{
@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
();
Long
expId
=
request
.
getExpId
();
if
(!
"文件获取"
.
equals
(
type
)){
return
null
;
}
if
(!
"试验报告获取图片"
.
equals
(
acquisitionCommand
)){
return
null
;
}
SmbFile
[]
list
=
null
;
try
{
list
=
getShareFiles
(
collectionAddress
+
entrustCode
+
"/"
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
for
(
SmbFile
smbFile:
list
)
{
String
name
=
getFileNameNoEx
(
smbFile
.
getName
());
if
(!
name
.
equals
(
sampleCode
)){
continue
;
}
soilExperimentService
.
uploadCollectPng
(
smbFile
,
request
);
}
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
{
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/土工试验数据/三轴莫尔圆/"
);
SmbFile
[]
smbFiles
=
smbFile
.
listFiles
();
for
(
SmbFile
file:
smbFiles
)
{
System
.
out
.
println
(
file
.
getName
());
}
System
.
out
.
println
(
smbFile
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
}
}
src/main/java/com/patzn/cloud/service/lims/soil/mapper/SoilExperimentMapper.java
View file @
f57a70cc
...
...
@@ -28,4 +28,6 @@ public interface SoilExperimentMapper extends BaseMapper<SoilExperiment> {
List
<
SoilExperimentVO
>
selectExpRight
(
RowBounds
rowBounds
,
@Param
(
"vo"
)
SoilExperimentVO
vo
);
List
<
SoilExperimentVO
>
selectOriginalExpList
(
RowBounds
rowBounds
,
@Param
(
"vo"
)
SoilExperimentVO
vo
);
List
<
SoilExperimentVO
>
selectListVOByIds
(
@Param
(
"ids"
)
List
<
Long
>
expIds
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/ISoilExperimentService.java
View file @
f57a70cc
...
...
@@ -5,8 +5,10 @@ import java.util.List;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.commons.service.IBaseService
;
import
com.patzn.cloud.service.lims.collect.core.CollectDataType
;
import
com.patzn.cloud.service.soil.entity.SoilExperiment
;
import
com.patzn.cloud.service.soil.vo.SoilExperimentVO
;
import
jcifs.smb.SmbFile
;
/**
* <p>
...
...
@@ -49,4 +51,8 @@ public interface ISoilExperimentService extends IBaseService<SoilExperiment> {
Page
<
SoilExperimentVO
>
pageByByEntrust
(
Page
<
SoilExperimentVO
>
page
,
SoilExperimentVO
vo
);
boolean
bathUpdateInfo
(
Long
[]
ids
,
SoilExperiment
experiment
,
Account
account
);
void
uploadCollectPng
(
SmbFile
smbFile
,
CollectDataType
type
);
List
<
SoilExperimentVO
>
listVOByIds
(
List
<
Long
>
expIds
);
}
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilExperimentRelEquipServiceImpl.java
View file @
f57a70cc
...
...
@@ -4,13 +4,20 @@ import com.baomidou.mybatisplus.mapper.Condition;
import
com.google.common.collect.Sets
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.controller.Account
;
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.handle.PngReportHandle
;
import
com.patzn.cloud.service.lims.soil.mapper.SoilExperimentRelEquipMapper
;
import
com.patzn.cloud.service.lims.soil.service.ISoilExperimentRelEquipService
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.service.lims.soil.service.ISoilExperimentService
;
import
com.patzn.cloud.service.soil.dto.SoilExperimentRelEquipDTO
;
import
com.patzn.cloud.service.soil.entity.SoilExperiment
;
import
com.patzn.cloud.service.soil.entity.SoilExperimentRelEquip
;
import
com.patzn.cloud.service.soil.vo.SoilExperimentVO
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
...
...
@@ -28,6 +35,9 @@ import java.util.*;
@Service
public
class
SoilExperimentRelEquipServiceImpl
extends
BaseServiceImpl
<
SoilExperimentRelEquipMapper
,
SoilExperimentRelEquip
>
implements
ISoilExperimentRelEquipService
{
@Autowired
private
ISoilExperimentService
soilExperimentService
;
@Override
public
Page
<
SoilExperimentRelEquip
>
page
(
Page
<
SoilExperimentRelEquip
>
page
,
SoilExperimentRelEquip
soilExperimentRelEquip
)
{
Wrapper
wrapper
=
new
EntityWrapper
<>(
soilExperimentRelEquip
);
...
...
@@ -88,8 +98,45 @@ public class SoilExperimentRelEquipServiceImpl extends BaseServiceImpl<SoilExper
}
}
if
(
CollectionUtils
.
isNotEmpty
(
saveRelEquipList
)){
return
saveBatch
(
saveRelEquipList
);
List
<
SoilExperimentVO
>
experimentVOList
=
soilExperimentService
.
listVOByIds
(
expIds
);
Map
<
Long
,
SoilExperimentVO
>
expMap
=
new
HashMap
<>();
for
(
SoilExperimentVO
experimentVO:
experimentVOList
)
{
expMap
.
put
(
experimentVO
.
getId
(),
experimentVO
);
}
CollectHandlerChain
chain
=
new
CollectHandlerChain
();
chain
.
addHandler
(
new
PngReportHandle
());
for
(
SoilExperimentRelEquip
equip:
saveRelEquipList
)
{
SoilExperimentVO
experimentVO
=
expMap
.
get
(
equip
.
getExpId
());
CollectDataType
collectDataType
=
new
CollectDataType
();
collectDataType
.
setEquipId
(
equip
.
getEquipId
());
collectDataType
.
setAcquisitionCommand
(
equip
.
getAcquisitionCommand
());
collectDataType
.
setBrand
(
equip
.
getBrand
());
collectDataType
.
setCollectionAddress
(
equip
.
getCollectionAddress
());
collectDataType
.
setEquipName
(
equip
.
getEquipName
());
collectDataType
.
setEquipNum
(
equip
.
getEquipNum
());
collectDataType
.
setSpec
(
equip
.
getSpec
());
collectDataType
.
setLabNum
(
equip
.
getLabNum
());
collectDataType
.
setType
(
equip
.
getCollectionType
());
collectDataType
.
setSampleCode
(
experimentVO
.
getSampleCode
());
collectDataType
.
setEntrustCode
(
experimentVO
.
getEntrustCode
());
collectDataType
.
setExpId
(
equip
.
getExpId
());
chain
.
process
(
collectDataType
,
soilExperimentService
);
}
return
saveBatch
(
saveRelEquipList
);
}
return
true
;
}
...
...
src/main/java/com/patzn/cloud/service/lims/soil/service/impl/SoilExperimentServiceImpl.java
View file @
f57a70cc
...
...
@@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.toolkit.CollectionUtils;
import
com.google.common.collect.Lists
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.service.lims.collect.core.CollectDataType
;
import
com.patzn.cloud.service.lims.soil.service.*
;
import
com.patzn.cloud.service.soil.entity.SoilEntrust
;
import
com.patzn.cloud.service.soil.entity.SoilExpRelOriginalRecord
;
...
...
@@ -24,6 +25,7 @@ import com.patzn.cloud.service.soil.enums.SoilEntrustStatusEnum;
import
com.patzn.cloud.service.soil.enums.SoilExpStatusEnum
;
import
com.patzn.cloud.service.soil.enums.SoilSampleStatusEnum
;
import
com.patzn.cloud.service.soil.vo.SoilExperimentVO
;
import
jcifs.smb.SmbFile
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -106,7 +108,7 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
@Override
public
Page
<
SoilExperimentVO
>
pageBySampleIds
(
Page
<
SoilExperimentVO
>
page
,
Long
[]
sampleIds
,
SoilExperimentVO
vo
)
{
return
page
.
setRecords
(
baseMapper
.
selectListBySampleIds
(
page
,
sampleIds
,
vo
));
return
page
.
setRecords
(
initOriginalRecord
(
baseMapper
.
selectListBySampleIds
(
page
,
sampleIds
,
vo
)
));
}
@Override
...
...
@@ -299,6 +301,18 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
return
super
.
update
(
experiment
,
Condition
.
create
().
in
(
"id"
,
ids
));
}
@Override
public
void
uploadCollectPng
(
SmbFile
smbFile
,
CollectDataType
type
)
{
System
.
out
.
println
(
smbFile
.
getName
());
System
.
out
.
println
(
type
.
getEntrustCode
());
}
@Override
public
List
<
SoilExperimentVO
>
listVOByIds
(
List
<
Long
>
expIds
)
{
return
baseMapper
.
selectListVOByIds
(
expIds
);
}
public
static
boolean
isAllFieldNull
(
Object
object
)
{
Class
clazz
=
object
.
getClass
();
...
...
@@ -325,20 +339,21 @@ public class SoilExperimentServiceImpl extends BaseServiceImpl<SoilExperimentMap
return
e
.
getId
();
}).
collect
(
Collectors
.
toList
());
List
<
SoilExpRelOriginalRecord
>
relOriginalRecordList
=
expRelOriginalRecordService
.
list
(
Condition
.
create
().
setSqlSelect
(
"exp_id"
).
in
(
"exp_id"
,
expIds
));
List
<
SoilExpRelOriginalRecord
>
relOriginalRecordList
=
expRelOriginalRecordService
.
list
(
Condition
.
create
().
setSqlSelect
(
"exp_id"
,
"record_id"
).
in
(
"exp_id"
,
expIds
));
if
(
null
==
relOriginalRecordList
){
return
voList
;
}
Map
<
Long
,
Long
>
map
=
new
HashMap
<>();
for
(
SoilExpRelOriginalRecord
expRelOriginalRecord:
relOriginalRecordList
)
{
map
.
put
(
expRelOriginalRecord
.
getExpId
(),
expRelOriginalRecord
.
get
Exp
Id
());
map
.
put
(
expRelOriginalRecord
.
getExpId
(),
expRelOriginalRecord
.
get
Record
Id
());
}
for
(
SoilExperimentVO
vo:
voList
)
{
if
(
null
==
map
.
get
(
vo
.
getId
())){
vo
.
setRecorded
(
"否"
);
}
else
{
vo
.
setRecorded
(
"是"
);
vo
.
setRecordId
(
map
.
get
(
vo
.
getId
()));
}
}
return
voList
;
...
...
src/main/resources/mapper/soil/SoilExperimentMapper.xml
View file @
f57a70cc
...
...
@@ -180,4 +180,24 @@
</if>
</select>
<select
id=
"selectListVOByIds"
resultType=
"com.patzn.cloud.service.soil.vo.SoilExperimentVO"
>
SELECT t.id,s.sample_code,e.entrust_code FROM soil_experiment t
JOIN soil_sample s ON t.sample_id = s.id
JOIN soil_entrust e ON s.entrust_id = e.id
WHERE t.deleted = 0 AND s.deleted = 0 AND e.deleted =0
<if
test=
"null!=ids"
>
AND t.id IN
<foreach
collection=
"ids"
index=
"index"
item=
"id"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</if>
</select>
</mapper>
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