Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
T
tianjin-cement
Project
Project
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
竹天卫
tianjin-cement
Commits
eef8b87b
Commit
eef8b87b
authored
Mar 19, 2021
by
shulidong
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
038248ae
7d9c3fe8
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
582 additions
and
363 deletions
+582
-363
EntrustController.java
...wise/sc/cement/business/controller/EntrustController.java
+13
-53
ReportController.java
.../wise/sc/cement/business/controller/ReportController.java
+46
-152
EntrustReport.java
...java/cn/wise/sc/cement/business/entity/EntrustReport.java
+19
-8
Sample.java
...c/main/java/cn/wise/sc/cement/business/entity/Sample.java
+30
-0
SampleCheckMapper.java
.../cn/wise/sc/cement/business/mapper/SampleCheckMapper.java
+4
-3
EntrustMapper.xml
...a/cn/wise/sc/cement/business/mapper/xml/EntrustMapper.xml
+23
-3
PlanTrainingMapper.xml
...wise/sc/cement/business/mapper/xml/PlanTrainingMapper.xml
+2
-1
SampleCheckMapper.xml
.../wise/sc/cement/business/mapper/xml/SampleCheckMapper.xml
+14
-12
TenElementKey.java
.../java/cn/wise/sc/cement/business/model/TenElementKey.java
+41
-0
TenElementReport.java
...va/cn/wise/sc/cement/business/model/TenElementReport.java
+86
-0
IEntrustService.java
...a/cn/wise/sc/cement/business/service/IEntrustService.java
+31
-41
IPlanTrainingService.java
...wise/sc/cement/business/service/IPlanTrainingService.java
+0
-1
EntrustServiceImpl.java
...e/sc/cement/business/service/impl/EntrustServiceImpl.java
+219
-35
report_new.ftl
cement-business/src/main/resources/templates/report_new.ftl
+54
-54
No files found.
cement-business/src/main/java/cn/wise/sc/cement/business/controller/EntrustController.java
View file @
eef8b87b
...
...
@@ -76,20 +76,6 @@ public class EntrustController {
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
@ApiOperation
(
"委托列表导出"
)
@PostMapping
(
"/export"
)
public
void
export
(
String
startDate
,
String
endDate
,
Integer
status
,
Integer
clientId
,
String
projectName
,
String
projectCode
,
String
fileName
,
HttpServletResponse
response
)
{
try
{
entrustService
.
export
(
startDate
,
endDate
,
status
,
clientId
,
projectName
,
projectCode
,
fileName
,
response
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"委托列表导出{}"
,
e
);
}
}
@ApiOperation
(
value
=
"置顶取消置顶 (createTime = updateTime显示置顶,否则显示取消置顶)"
)
@PostMapping
(
"/setTopping"
)
public
BaseResponse
setTopping
(
Integer
id
)
{
...
...
@@ -698,6 +684,19 @@ public class EntrustController {
//*********************导出**************************************************
@ApiOperation
(
"委托列表导出"
)
@PostMapping
(
"/export"
)
public
void
export
(
String
startDate
,
String
endDate
,
Integer
status
,
Integer
clientId
,
String
projectName
,
String
projectCode
,
String
fileName
,
HttpServletResponse
response
)
{
try
{
entrustService
.
export
(
startDate
,
endDate
,
status
,
clientId
,
projectName
,
projectCode
,
fileName
,
response
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"委托列表导出{}"
,
e
);
}
}
@PostMapping
(
"/export/{entrustId}"
)
@ApiOperation
(
"导出委托单"
)
...
...
@@ -724,11 +723,6 @@ public class EntrustController {
.
forEach
(
arg
->
{
arg
.
setName
(
arg
.
getName
()
==
null
?
""
:
arg
.
getName
());
arg
.
setSampleCode
(
arg
.
getSampleCode
()
==
null
?
""
:
arg
.
getSampleCode
());
/*List<SampleTeamGroupVo> teamVoList = arg.getSampleTeamGroupVoList();
teamVoList.forEach(args ->{
List<SampleDistributionTeamVo> teamVoList2 = args.getSampleDistributionTeamVoList();
arg.setTeamName(getTeamName(teamVoList2));
});*/
sampleList
.
add
(
arg
);
});
beanParams
.
put
(
"list"
,
sampleList
);
...
...
@@ -737,21 +731,6 @@ public class EntrustController {
beanParams
,
response
,
FileExt
.
DOC
);
}
private
String
getTeamName
(
List
<
SampleDistributionTeamVo
>
teamVos
)
{
if
(
teamVos
.
size
()
==
0
)
{
return
""
;
}
StringBuffer
rts
=
new
StringBuffer
();
teamVos
.
forEach
(
arg
->
{
rts
.
append
(
arg
.
getTeamName
()).
append
(
"、"
);
});
return
rts
.
substring
(
0
,
rts
.
toString
().
length
()
-
1
);
}
@PostMapping
(
"/exportDistribution/{entrustId}"
)
@ApiOperation
(
"导出检测通知单"
)
...
...
@@ -814,20 +793,6 @@ public class EntrustController {
beanParams
,
response
,
FileExt
.
DOC
);
}
@ApiOperation
(
value
=
"查看样品流转单"
)
@GetMapping
(
"/getSampleFlowList"
)
public
BaseResponse
getSampleFlowList
(
Integer
entrustId
)
{
try
{
return
entrustService
.
getSampleFlowList
(
entrustId
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"查看样品流转单{}"
,
e
);
}
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
@PostMapping
(
"/exportSampleFlow/{entrustId}"
)
@ApiOperation
(
"导出样品流转单"
)
public
void
exportSampleFlow
(
@PathVariable
(
"entrustId"
)
Integer
entrustId
,
...
...
@@ -854,8 +819,6 @@ public class EntrustController {
beanParams
,
response
,
FileExt
.
DOC
);
}
@ApiOperation
(
"导出样品标签"
)
@PostMapping
(
"/exportSampleLabel/{entrustId}"
)
public
void
exportSampleLabel
(
@PathVariable
(
"entrustId"
)
Integer
entrustId
,
...
...
@@ -868,9 +831,6 @@ public class EntrustController {
}
}
@ApiOperation
(
"导出-委托单校核详情"
)
@PostMapping
(
"/exportCheckDetail/{entrustId}"
)
public
void
exportCheckDetail
(
@PathVariable
(
"entrustId"
)
Integer
entrustId
,
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/controller/ReportController.java
View file @
eef8b87b
...
...
@@ -4,20 +4,14 @@ import cn.hutool.core.bean.BeanUtil;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.wise.sc.cement.business.entity.EntityEnclosure
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.entity.Sample
;
import
cn.wise.sc.cement.business.model.*
;
import
cn.wise.sc.cement.business.enumation.FileExt
;
import
cn.wise.sc.cement.business.model.IndustrialElementKey
;
import
cn.wise.sc.cement.business.model.IndustrialReport
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.model.ReportDetailVo
;
import
cn.wise.sc.cement.business.model.SixElementKey
;
import
cn.wise.sc.cement.business.model.SixElementReport
;
import
cn.wise.sc.cement.business.model.query.SampleHandleEnclosureQuery
;
import
cn.wise.sc.cement.business.model.vo.EntrustVo
;
import
cn.wise.sc.cement.business.service.IEntityEnclosureService
;
import
cn.wise.sc.cement.business.service.IEntrustService
;
import
cn.wise.sc.cement.business.util.WordUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
io.swagger.annotations.Api
;
...
...
@@ -27,8 +21,8 @@ import io.swagger.annotations.ApiOperation;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.Assert
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.bind.annotation.CrossOrigin
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -39,13 +33,7 @@ import org.springframework.web.bind.annotation.RestController;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
...
...
@@ -84,23 +72,6 @@ public class ReportController {
return
iEntrustService
.
getReportPage
(
pageQuery
,
startDate
,
endDate
,
clientId
,
projectName
,
projectCode
);
}
@ApiOperation
(
value
=
"置顶取消置顶 (createTime = updateTime显示置顶,否则显示取消置顶)"
)
@PostMapping
(
"/setTopping"
)
public
BaseResponse
<
String
>
setTopping
(
Integer
id
)
{
try
{
return
iEntrustService
.
setTopping
(
id
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"置顶取消置顶 {}"
,
e
.
getMessage
());
}
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
@DeleteMapping
(
"/{id}"
)
@ApiOperation
(
"删除报告"
)
public
BaseResponse
<
Boolean
>
deleteById
(
@PathVariable
(
"id"
)
Integer
id
)
{
return
iEntrustService
.
deleteById
(
id
);
}
@PostMapping
(
"/{entrustId}"
)
@ApiOperation
(
"导出报告封面和首页"
)
public
void
getReportDetail
(
@PathVariable
(
"entrustId"
)
Integer
entrustId
,
...
...
@@ -132,29 +103,57 @@ public class ReportController {
beanParams
.
put
(
"methodNames"
,
moveFirst
(
rts
.
getMethodNames
()));
beanParams
.
put
(
"equipmentNames"
,
moveFirst
(
rts
.
getEquipmentNames
()));
//六元素导出
List
<
SixElementReport
>
list
=
iEntrustService
.
getSampleSixElementCheck
(
entrustId
);
//十元素1导出
List
<
TenElementReport
>
list1
=
iEntrustService
.
getTen1List
(
entrustId
);
beanParams
.
put
(
"list1"
,
list1
);
//十元素2导出
List
<
TenElementReport
>
list2
=
iEntrustService
.
getTen2List
(
entrustId
);
beanParams
.
put
(
"list2"
,
list2
);
list
.
forEach
(
this
::
initMapStr2AlongPro
);
List
<
SixElementReport
>
al2o3AndTio2List
=
list
.
stream
()
.
filter
(
arg
->
!
"-"
.
equals
(
arg
.
getAl2o3AndTio2
()))
.
collect
(
Collectors
.
toList
());
List
<
SixElementReport
>
al2o3SplitTio2List
=
list
.
stream
()
.
filter
(
arg
->
"-"
.
equals
(
arg
.
getAl2o3AndTio2
()))
.
collect
(
Collectors
.
toList
());
beanParams
.
put
(
"list1"
,
al2o3AndTio2List
);
beanParams
.
put
(
"list2"
,
al2o3SplitTio2List
);
//化学工业导出
List
<
IndustrialReport
>
list1
=
iEntrustService
.
getSampleIndustrialCheck
(
entrustId
);
list1
.
forEach
(
this
::
initMapStr2AlongPro
);
beanParams
.
put
(
"list3"
,
list1
);
List
<
IndustrialReport
>
list3
=
iEntrustService
.
getSampleIndustrialCheck
(
entrustId
);
beanParams
.
put
(
"list3"
,
list3
);
WordUtil
.
writeWordReport
(
rts
.
getProjectName
()
+
"(报告)"
,
"report_new.ftl"
,
beanParams
,
response
,
FileExt
.
EXCL
);
}
private
String
getFirstSet
(
Set
<
String
>
set
)
{
Iterator
<
String
>
iterator
=
set
.
iterator
();
if
(
iterator
.
hasNext
())
{
return
iterator
.
next
();
}
return
""
;
}
private
static
Set
<
String
>
moveFirst
(
Set
<
String
>
set
)
{
Set
<
String
>
newSet
=
new
HashSet
<>(
set
.
size
());
Iterator
<
String
>
iterator
=
set
.
iterator
();
if
(
iterator
.
hasNext
())
{
String
next
=
iterator
.
next
();
newSet
.
addAll
(
set
);
newSet
.
remove
(
next
);
return
newSet
;
}
return
null
;
}
private
String
set2String
(
Set
<
String
>
source
)
{
if
(
source
.
size
()
==
0
)
{
return
""
;
}
StringBuilder
strBuilder
=
new
StringBuilder
();
for
(
String
target
:
source
)
{
strBuilder
.
append
(
"、"
).
append
(
target
);
}
return
strBuilder
.
replace
(
0
,
1
,
""
).
toString
();
}
@PostMapping
(
"/upload"
)
@ApiOperation
(
"上传报告"
)
public
BaseResponse
<
Boolean
>
uploadReport
(
@RequestBody
SampleHandleEnclosureQuery
query
)
{
...
...
@@ -197,110 +196,5 @@ public class ReportController {
}
/**
* 将样品六元素检测Map转换成单独属性
*
* @param sixElement 带转换的六元素检测结果
* @return 已转换结果
*/
private
void
initMapStr2AlongPro
(
SixElementReport
sixElement
)
{
String
countResult
=
sixElement
.
getCountResults
();
List
<
SixElementReport
.
Element
>
list
=
JSON
.
parseArray
(
countResult
,
SixElementReport
.
Element
.
class
);
HashMap
<
String
,
String
>
countResultMap
=
new
HashMap
<>(
list
.
size
());
list
.
forEach
(
arg
->
countResultMap
.
put
(
arg
.
getName
(),
arg
.
getValue
()));
sixElement
.
setAl2o3
(
"-"
);
sixElement
.
setTio2
(
"-"
);
sixElement
.
setAl2o3AndTio2
(
"-"
);
//判断检测结果中六元素Al2O3是否包含TiO2
if
(
countResultMap
.
containsKey
(
SixElementKey
.
Al2O3AndTiO2
.
getKey
()))
{
sixElement
.
setAl2o3AndTio2
(
countResultMap
.
get
(
SixElementKey
.
Al2O3AndTiO2
.
getKey
()));
}
else
{
sixElement
.
setAl2o3
(
countResultMap
.
getOrDefault
(
SixElementKey
.
Al2O3
.
getKey
(),
"0"
));
sixElement
.
setTio2
(
countResultMap
.
getOrDefault
(
SixElementKey
.
TiO2
.
getKey
(),
"0"
));
}
sixElement
.
setCao
(
countResultMap
.
getOrDefault
(
SixElementKey
.
CaO
.
getKey
(),
"0"
));
sixElement
.
setCl
(
countResultMap
.
getOrDefault
(
SixElementKey
.
Cl
.
getKey
(),
"0"
));
sixElement
.
setFe2o3
(
countResultMap
.
getOrDefault
(
SixElementKey
.
Fe2O3
.
getKey
(),
"0"
));
sixElement
.
setLoi
(
countResultMap
.
getOrDefault
(
SixElementKey
.
LOI
.
getKey
(),
"0"
));
sixElement
.
setMgo
(
countResultMap
.
getOrDefault
(
SixElementKey
.
MgO
.
getKey
(),
"0"
));
sixElement
.
setSio2
(
countResultMap
.
getOrDefault
(
SixElementKey
.
SiO2
.
getKey
(),
"0"
));
sixElement
.
setSo3
(
countResultMap
.
getOrDefault
(
SixElementKey
.
SO3
.
getKey
(),
"0"
));
}
private
String
getFirstSet
(
Set
<
String
>
set
)
{
Iterator
<
String
>
iterator
=
set
.
iterator
();
if
(
iterator
.
hasNext
())
{
return
iterator
.
next
();
}
return
""
;
}
private
static
Set
<
String
>
moveFirst
(
Set
<
String
>
set
)
{
Set
<
String
>
newSet
=
new
HashSet
<>(
set
.
size
());
Iterator
<
String
>
iterator
=
set
.
iterator
();
if
(
iterator
.
hasNext
())
{
String
next
=
iterator
.
next
();
newSet
.
addAll
(
set
);
newSet
.
remove
(
next
);
return
newSet
;
}
return
null
;
}
private
void
initMapStr2AlongPro
(
IndustrialReport
industrialReport
)
{
String
countResult
=
industrialReport
.
getCountResults
();
List
<
SixElementReport
.
Element
>
list
=
JSON
.
parseArray
(
countResult
,
SixElementReport
.
Element
.
class
);
HashMap
<
String
,
String
>
countResultMap
=
new
HashMap
<>(
list
.
size
());
list
.
forEach
(
arg
->
countResultMap
.
put
(
arg
.
getName
(),
arg
.
getValue
()));
industrialReport
.
setAad
(
countResultMap
.
getOrDefault
(
IndustrialElementKey
.
Aad
.
getKey
(),
"0"
));
industrialReport
.
setJz
(
countResultMap
.
getOrDefault
(
IndustrialElementKey
.
JZ
.
getKey
(),
"0"
));
industrialReport
.
setMad
(
countResultMap
.
getOrDefault
(
IndustrialElementKey
.
Mad
.
getKey
(),
"0"
));
industrialReport
.
setMjkg
(
countResultMap
.
getOrDefault
(
IndustrialElementKey
.
QnetAdMJkg
.
getKey
(),
"0"
));
industrialReport
.
setStad
(
countResultMap
.
getOrDefault
(
IndustrialElementKey
.
StAd
.
getKey
(),
"0"
));
industrialReport
.
setVad
(
countResultMap
.
getOrDefault
(
IndustrialElementKey
.
Vad
.
getKey
(),
"0"
));
}
private
String
set2String
(
Set
<
String
>
source
)
{
if
(
source
.
size
()
==
0
)
{
return
""
;
}
StringBuilder
strBuilder
=
new
StringBuilder
();
for
(
String
target
:
source
)
{
strBuilder
.
append
(
"、"
).
append
(
target
);
}
return
strBuilder
.
replace
(
0
,
1
,
""
).
toString
();
}
private
String
set2StringN
(
Set
<
String
>
source
)
{
if
(
source
.
size
()
==
0
)
{
return
""
;
}
StringBuilder
strBuilder
=
new
StringBuilder
();
for
(
String
target
:
source
)
{
strBuilder
.
append
(
" "
).
append
(
target
);
}
return
strBuilder
.
replace
(
0
,
5
,
""
).
toString
();
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/entity/EntrustReport.java
View file @
eef8b87b
...
...
@@ -29,16 +29,31 @@ public class EntrustReport {
*/
private
Integer
clientId
;
/**
* 样品id
*/
private
Integer
sampleId
;
/**
* 项目id
*/
private
Integer
entrustId
;
/**
* 项目类型
*/
private
String
projectType
;
//8888888888888888888888888888888888888888888888888
/**
* 样品id
*/
private
Integer
sampleId
;
/**
* 检测项目ids
*/
...
...
@@ -84,10 +99,6 @@ public class EntrustReport {
*/
private
String
entrustCode
;
/**
* 项目类型
*/
private
String
projectType
;
/**
* 样品创建时间
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/entity/Sample.java
View file @
eef8b87b
...
...
@@ -13,6 +13,7 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.apache.commons.lang3.StringUtils
;
/**
* <p>
...
...
@@ -122,4 +123,33 @@ public class Sample implements Serializable {
@ApiModelProperty
(
"样品是否来自国外 (0来自国内,1来自国外)"
)
private
Integer
isForeign
;
/**
* 将样品重量换算成公斤(kg)
* 样品重量计量单位(1微克,2毫克,3克,4千克,5吨)
* @param weight
* @param weightType
* @return
*/
public
static
String
weight2Kg
(
String
weight
,
Integer
weightType
){
String
result
=
""
;
if
(
StringUtils
.
isNotBlank
(
weight
)){
if
(
weightType
==
1
){
result
=
new
BigDecimal
(
weight
).
divide
(
new
BigDecimal
(
1000000000
)).
toString
();
}
else
if
(
weightType
==
2
){
result
=
new
BigDecimal
(
weight
).
divide
(
new
BigDecimal
(
1000000
)).
toString
();
}
else
if
(
weightType
==
3
){
result
=
new
BigDecimal
(
weight
).
divide
(
new
BigDecimal
(
1000
)).
toString
();
}
else
if
(
weightType
==
4
){
result
=
weight
;
}
else
if
(
weightType
==
5
){
result
=
new
BigDecimal
(
weight
).
multiply
(
new
BigDecimal
(
1000
)).
toString
();
}
else
{
result
=
""
;
}
}
return
result
;
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/SampleCheckMapper.java
View file @
eef8b87b
...
...
@@ -2,11 +2,12 @@ package cn.wise.sc.cement.business.mapper;
import
cn.wise.sc.cement.business.entity.SampleCheck
;
import
cn.wise.sc.cement.business.model.IndustrialReport
;
import
cn.wise.sc.cement.business.model.
Six
ElementReport
;
import
cn.wise.sc.cement.business.model.
Ten
ElementReport
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.Set
;
/**
* <p>
...
...
@@ -19,12 +20,12 @@ import java.util.List;
public
interface
SampleCheckMapper
extends
BaseMapper
<
SampleCheck
>
{
/**
* 获取样品
六元素
检测结果
* 获取样品
十元素1
检测结果
*
* @param entrustId 项目id
* @return SixElementReport
*/
List
<
SixElementReport
>
getSampleSixElementCheck
(
@Param
(
"entrustId"
)
Integer
entrustId
);
List
<
TenElementReport
>
getSampleElementCheck
(
@Param
(
"entrustId"
)
Integer
entrustId
,
@Param
(
"teamNames"
)
Set
<
String
>
teamNames
);
/**
* 获取样品工业检测结果
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/EntrustMapper.xml
View file @
eef8b87b
...
...
@@ -23,6 +23,9 @@
<if
test=
"params.clientName != null and params.clientName != ''"
>
and c.name like concat('%', #{params.clientName}, '%')
</if>
<if
test=
"params.clientId != null"
>
and e.client_id = #{params.clientId}
</if>
<if
test=
"params.projectName != null and params.projectName != ''"
>
and p.name like concat('%', #{params.projectName}, '%')
</if>
...
...
@@ -327,9 +330,7 @@
</where>
</sql>
<select
id=
"getReportDetail"
resultType=
"cn.wise.sc.cement.business.entity.EntrustReport"
>
<!-- <select id="getReportDetail" resultType="cn.wise.sc.cement.business.entity.EntrustReport">
SELECT e.id,e.project_name,e.send_name,e.client_id,e.entrust_code,e.project_type,sscct.* FROM entrust e
RIGHT JOIN
(SELECT id,entrust_id,team_ids,method_numbers,name,scct.check_id,
...
...
@@ -342,6 +343,25 @@
ON s.id = scct.sample_id) sscct
ON sscct.entrust_id = e.id
WHERE e.id IS NOT NULL
</select>-->
<select
id=
"getReportDetail"
resultType=
"cn.wise.sc.cement.business.entity.EntrustReport"
>
SELECT e.id,e.project_name,e.send_name,e.client_id,e.entrust_code,e.project_type,s_tab.*
FROM entrust e
RIGHT JOIN
(
SELECT s.id,s.entrust_id,s.team_ids,s.method_numbers,s.name,s.create_time,
sd_tab.check_id,sd_tab.equipment_name,sd_tab.user_id,sd_tab.equipment_id
FROM sample s
RIGHT JOIN(
SELECT sd.id,sd.check_id,sd.sample_id,sd.user_id,
sde.equipment_id,sde.equipment_name FROM sample_distribution sd
left JOIN sample_distribution_equipment sde ON sde.distribution_id = sd.id where sd.entrust_id = 90
)sd_tab
ON s.id = sd_tab.sample_id
) s_tab
ON s_tab.entrust_id = e.id
WHERE e.id IS NOT NULL
</select>
<select
id=
"getQualityDetail"
resultType=
"cn.wise.sc.cement.business.entity.QualityDetail"
>
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/PlanTrainingMapper.xml
View file @
eef8b87b
...
...
@@ -45,7 +45,7 @@
<select
id=
"exportList"
resultType=
"java.util.HashMap"
>
SELECT
IF(ISNULL(pt.id.name),'',pt.id)
as 序号,
(@i:=@i+1)
as 序号,
IF(ISNULL(pt.plan_object),'',pt.plan_object) as 培训对象,
IF(ISNULL(pt.objective),'',pt.objective) as 培训目的,
IF(ISNULL(pt.content),'',pt.content) as 培训内容,
...
...
@@ -55,6 +55,7 @@
IF(ISNULL(pt.assessment),'',pt.assessment) as 考核人,
IF(ISNULL(pt.implementation),'',pt.implementation) as 实施情况
from plan_training pt
(@i:=@i+1) as 序号,
<include
refid=
"where"
/>
ORDER BY pt.id ASC
</select>
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/SampleCheckMapper.xml
View file @
eef8b87b
...
...
@@ -2,18 +2,20 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.wise.sc.cement.business.mapper.SampleCheckMapper"
>
<select
id=
"getSampleSixElementCheck"
resultType=
"cn.wise.sc.cement.business.model.SixElementReport"
>
SELECT * FROM (SELECT count_results,entrust_id,team_group_name,sct.sample_id,sc.id FROM sample_check sc
LEFT JOIN
(SELECT check_id,sample_id FROM sample_check_team) sct
ON sct.check_id = sc.id
WHERE sample_id IS NOT NULL AND sc.team_group_name = '六元素' ) sscct
RIGHT JOIN
(SELECT cement_code,sample_code,sample_form,`name` as sample_name,parallel_code,weight,id
FROM sample) s
ON s.id = sscct.sample_id AND entrust_id = #{entrustId}
WHERE count_results IS NOT NULL AND s.parallel_code = cement_code;
<select
id=
"getSampleElementCheck"
resultType=
"cn.wise.sc.cement.business.model.TenElementReport"
>
select s.id,s.name as sampleName,s.sample_form as sampleForm,s.sample_code as sampleCode,s.weight as weight,
s.weight_type as weightType,s.cement_code as cementCode,
t.name as teamName,IF(ISNULL(sdc.last_result),'—',sdc.last_result) as lastResult
from sample_distribution sd
left join team t on t.id = sd.team_id
left join sample_distribution_check sdc on sdc.id = sd.check_id
left join sample s on s.id = sd.sample_id
where sd.entrust_id = #{entrustId} and sd.check_id is not null and s.cement_code = s.parallel_code
and t.name in
<foreach
collection=
"teamNames"
open=
"("
close=
")"
item=
"teamNames"
separator=
","
>
#{teamNames}
</foreach>
group by s.id, sdc.id,t.name
</select>
<select
id=
"getSampleIndustrialCheck"
resultType=
"cn.wise.sc.cement.business.model.IndustrialReport"
>
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/model/
Six
ElementKey.java
→
cement-business/src/main/java/cn/wise/sc/cement/business/model/
Ten
ElementKey.java
View file @
eef8b87b
package
cn
.
wise
.
sc
.
cement
.
business
.
model
;
/**
* @description:
六
元素检测结果中的key
* @description:
十
元素检测结果中的key
* @author: qh
* @create: 2020-10-15 14:03
**/
public
enum
Six
ElementKey
{
public
enum
Ten
ElementKey
{
//
六
元素key
//
十
元素key
LOI
(
"L.O.I"
),
SiO2
(
"SiO
2
"
),
Al2O3
(
"Al2O3
"
),
TiO2
(
"TiO2
"
),
SiO2
(
"SiO
<sub>2</sub>
"
),
Al2O3
AndTiO2
(
"Al<sub>2</sub>O<sub>3</sub>+TiO<sub>2</sub>
"
),
Fe2O3
(
"Fe<sub>2</sub>O<sub>3</sub>
"
),
CaO
(
"CaO"
),
MgO
(
"MgO"
),
SO3
(
"So3"
),
Cl
(
"Cl"
),
Fe2O3
(
"Fe2O3"
),
Al2O3AndTiO2
(
"Al2O3+TiO2"
);
K2O
(
"K<sub>2</sub>O"
),
Na2O
(
"Na<sub>2</sub>O"
),
SO3
(
"SO<sub>3</sub>"
),
Cl
(
"Cl<sup>-</sup>"
),
FSiO2
(
"f-SiO<sub>2</sub>"
),
Al2O3
(
"Al<sub>2</sub>O<sub>3</sub>"
),
TiO2
(
"TiO<sub>2</sub>"
),
MnO
(
"MnO"
),
;
private
String
key
;
Six
ElementKey
(
String
key
)
{
Ten
ElementKey
(
String
key
)
{
this
.
key
=
key
;
}
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/model/
Six
ElementReport.java
→
cement-business/src/main/java/cn/wise/sc/cement/business/model/
Ten
ElementReport.java
View file @
eef8b87b
package
cn
.
wise
.
sc
.
cement
.
business
.
model
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.apache.commons.lang3.StringUtils
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @description:
六
元素检测报告
* @author:
qh
* @description:
十
元素检测报告
* @author:
ztw
* @create: 2020-10-15 12:24
**/
@Data
public
class
Six
ElementReport
implements
Serializable
{
public
class
Ten
ElementReport
implements
Serializable
{
private
static
final
long
serialVersionUID
=
42L
;
/**
* 样品id
*/
private
Integer
id
;
/**
* 样品名称
*/
...
...
@@ -34,38 +42,45 @@ public class SixElementReport implements Serializable {
*/
private
String
weight
;
/**
* 样品重量计量单位(1微克,2毫克,3克,4千克,5吨)
*/
private
Integer
weightType
;
/**
* 本所编号
*/
private
String
cementCode
;
/**
*
校核数据
*
检测项名称
*/
private
String
countResults
;
private
String
teamName
;
//下面为六元素
/**
* 最终结果
*/
private
String
lastResult
;
//下面为十元素1 十元素2共有的
private
String
loi
=
""
;
private
String
sio2
=
""
;
private
String
fe2o3
=
""
;
private
String
cao
=
""
;
private
String
mgo
=
""
;
private
String
k2o
=
""
;
private
String
na2o
=
""
;
private
String
so3
=
""
;
private
String
cl
=
""
;
//情况一:Al2O3(含TiO3)
//下面为十元素1
private
String
al2o3AndTio2
=
""
;
private
String
fsio2
=
""
;
//
情况二:Al2O3和TiO3单独分开
private
String
al2o3
=
""
;
private
String
tio2
=
""
;
//
下面为十元素2
private
String
al2o3
=
""
;
private
String
tio2
=
""
;
private
String
mno
=
""
;
@Data
public
static
class
Element
implements
Serializable
{
private
String
name
;
private
String
value
;
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/IEntrustService.java
View file @
eef8b87b
package
cn
.
wise
.
sc
.
cement
.
business
.
service
;
import
cn.wise.sc.cement.business.entity.*
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.IndustrialReport
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.model.ReportDetailVo
;
import
cn.wise.sc.cement.business.model.SixElementReport
;
import
cn.wise.sc.cement.business.model.*
;
import
cn.wise.sc.cement.business.model.query.*
;
import
cn.wise.sc.cement.business.model.vo.*
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
...
...
@@ -123,47 +119,30 @@ public interface IEntrustService extends IService<Entrust> {
BaseResponse
<
String
>
makePublicEnclosure
(
Integer
isPublic
,
Integer
id
,
Integer
type
);
//委托单详情
BaseResponse
<
EntrustVo
>
getBaseDtail
(
Integer
id
);
//报告
BaseResponse
<
IPage
<
EntrustVo
>>
getReportPage
(
PageQuery
pageQuery
,
String
startDate
,
String
endDate
,
Integer
clientId
,
String
projectName
,
String
projectCode
);
BaseResponse
<
Boolean
>
deleteById
(
Integer
id
);
ReportDetailVo
getReportDetail
(
Integer
entrustId
);
BaseResponse
<
EntrustVo
>
getBaseDtailClient
(
Integer
id
);
BaseResponse
<
IPage
<
EntrustVo
>>
getQualityPage
(
PageQuery
pageQuery
,
String
startDate
,
String
endDate
,
Integer
clientId
,
String
projectName
,
String
projectCode
);
BaseResponse
<
List
<
SampleHandleVo
>>
getSampleHandleDtail
(
Integer
id
);
QualityDetailVo
getQualityDetail
(
Integer
entrustI
d
);
BaseResponse
<
List
<
SampleVo
>>
getSampleCheckDetail
(
Integer
i
d
);
void
export
(
String
startDate
,
String
endDate
,
Integer
status
,
Integer
clientId
,
String
projectName
,
String
projectCode
,
String
fileName
,
HttpServletResponse
response
);
BaseResponse
<
List
<
SampleVo
>>
getSampleCheckDtail
(
Integer
id
);
void
exportConsignation
(
Integer
cycle
,
String
startDate
,
String
endDate
,
Integer
clientId
,
String
clientName
,
String
fileName
,
HttpServletResponse
response
);
BaseResponse
<
EntrustVo
>
getBaseDtail
(
Integer
id
);
//检测报告
BaseResponse
<
IPage
<
EntrustVo
>>
getReportPage
(
PageQuery
pageQuery
,
String
startDate
,
String
endDate
,
Integer
clientId
,
String
projectName
,
String
projectCode
);
BaseResponse
<
EntrustVo
>
getBaseDtailClient
(
Integer
i
d
);
ReportDetailVo
getReportDetail
(
Integer
entrustI
d
);
BaseResponse
<
List
<
SampleHandleVo
>>
getSampleHandleDtail
(
Integer
i
d
);
List
<
TenElementReport
>
getTen1List
(
Integer
entrustI
d
);
BaseResponse
<
List
<
SampleVo
>>
getSampleCheckDetail
(
Integer
i
d
);
List
<
TenElementReport
>
getTen2List
(
Integer
entrustI
d
);
BaseResponse
<
List
<
SampleVo
>>
getSampleCheckDtail
(
Integer
id
);
/**
* 查询六元素的检测结果
*
* @param entrustId 委托id
* @return 六元素校核
*/
List
<
SixElementReport
>
getSampleSixElementCheck
(
Integer
entrustId
);
/**
* 查询工业特性
...
...
@@ -173,13 +152,24 @@ public interface IEntrustService extends IService<Entrust> {
*/
List
<
IndustrialReport
>
getSampleIndustrialCheck
(
Integer
entrustId
);
/**
* 导出样品流转单
* @param entrustId
* @return
*/
BaseResponse
<
Map
<
String
,
Object
>>
getSampleFlowList
(
Integer
entrustId
);
//质量管理
BaseResponse
<
IPage
<
EntrustVo
>>
getQualityPage
(
PageQuery
pageQuery
,
String
startDate
,
String
endDate
,
Integer
clientId
,
String
projectName
,
String
projectCode
);
QualityDetailVo
getQualityDetail
(
Integer
entrustId
);
//导出
void
export
(
String
startDate
,
String
endDate
,
Integer
status
,
Integer
clientId
,
String
projectName
,
String
projectCode
,
String
fileName
,
HttpServletResponse
response
);
BaseResponse
<
Map
<
String
,
Object
>>
getSampleFlowList
(
Integer
entrustId
);
void
exportSampleLabel
(
Integer
entrustId
,
String
fileName
,
HttpServletResponse
response
);
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/service/IPlanTrainingService.java
View file @
eef8b87b
...
...
@@ -87,7 +87,6 @@ public interface IPlanTrainingService extends IService<PlanTraining> {
/**
* 培训计划导出
*
* @param objective 培训目的
* @param filename 文件名
* @param response
*/
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/EntrustServiceImpl.java
View file @
eef8b87b
This diff is collapsed.
Click to expand it.
cement-business/src/main/resources/templates/report_new.ftl
View file @
eef8b87b
...
...
@@ -3829,7 +3829,7 @@
ss:Name=
"_FilterDatabase"
/></Cell>
<Cell
ss:StyleID=
"s127"
><ss:Data
ss:Type=
"String"
xmlns=
"http://www.w3.org/TR/REC-html40"
><Font
html:Color=
"#FF0000"
>
共
</Font><Font
html:Face=
"宋体"
x:CharSet=
"134"
html:Color=
"#FF0000"
>
3
</Font><Font
html:Face=
"宋体"
x:CharSet=
"134"
html:Color=
"#FF0000"
>
9
</Font><Font
html:Color=
"#FF0000"
>
页
</Font></ss:Data><NamedCell
ss:Name=
"_FilterDatabase"
/></Cell>
<Cell
ss:StyleID=
"s128"
><ss:Data
ss:Type=
"String"
xmlns=
"http://www.w3.org/TR/REC-html40"
>
第
<Font
html:Face=
"宋体"
...
...
@@ -4054,11 +4054,9 @@
<Cell
ss:MergeDown=
"8"
ss:StyleID=
"s187"
><Data
ss:Type=
"String"
>
主要仪器设备(编号)
</Data><NamedCell
ss:Name=
"_FilterDatabase"
/></Cell>
<Cell
ss:StyleID=
"s178"
>
<
#if !firstEquipment??>
<ss:Data
ss:Type=
"String"
xmlns=
"http://www.w3.org/TR/REC-html40"
>
<Font
html:Size=
"12"
>
${firstEquipment}
</Font><Font
html:Face=
"Times New Roman"
x:Family=
"Roman"
html:Size=
"12"
>
</Font></ss:Data>
<
/#if>
<NamedCell
ss:Name=
"_FilterDatabase"
/></Cell>
<Cell
ss:Index=
"4"
ss:StyleID=
"s562"
><NamedCell
ss:Name=
"_FilterDatabase"
/></Cell>
...
...
@@ -4068,7 +4066,7 @@
<Cell
ss:StyleID=
"s122"
/>
<Cell
ss:StyleID=
"s122"
/>
</Row>
<
#
if !equipmentNames??
>
<
#
--
<
#if equipmentNames??>--
>
<
#list equipmentNames as item>
<Row
ss:AutoFitHeight=
"0"
ss:Height=
"18"
>
<Cell
ss:Index=
"2"
ss:StyleID=
"s179"
>
...
...
@@ -4082,9 +4080,8 @@
<Cell
ss:Index=
"11"
ss:StyleID=
"s173"
/>
</Row>
<
/#list>
<
/#if>
<
#if !equipmentNames??
&&
equipmentNames?size lte 8>
<
#list 1..(8-(quipmentNames?size)) as i>
<
#--
<
/#if>-->
<
#if equipmentNames?size lte 8>
<Row
ss:AutoFitHeight=
"0"
ss:Height=
"18"
>
<Cell
ss:Index=
"2"
ss:StyleID=
"s179"
><NamedCell
ss:Name=
"_FilterDatabase"
/></Cell>
<Cell
ss:Index=
"4"
ss:StyleID=
"s563"
><NamedCell
ss:Name=
"_FilterDatabase"
/></Cell>
...
...
@@ -4093,10 +4090,7 @@
<Cell
ss:StyleID=
"s122"
/>
<Cell
ss:StyleID=
"s122"
/>
</Row>
<
/#list>
<
/#if>
<
#if equipmentNames??>
<
#list 1..8 as i>
<
#list 1..(7-equipmentNames?size) as i>
<Row
ss:AutoFitHeight=
"0"
ss:Height=
"18"
>
<Cell
ss:Index=
"2"
ss:StyleID=
"s179"
><NamedCell
ss:Name=
"_FilterDatabase"
/></Cell>
<Cell
ss:Index=
"4"
ss:StyleID=
"s563"
><NamedCell
ss:Name=
"_FilterDatabase"
/></Cell>
...
...
@@ -4106,9 +4100,15 @@
<Cell
ss:StyleID=
"s122"
/>
</Row>
<
/#list>
<Row
ss:AutoFitHeight=
"0"
ss:Height=
"18"
>
<Cell
ss:Index=
"2"
ss:StyleID=
"s179"
><NamedCell
ss:Name=
"_FilterDatabase"
/></Cell>
<Cell
ss:Index=
"4"
ss:StyleID=
"s563"
><NamedCell
ss:Name=
"_FilterDatabase"
/></Cell>
<Cell
ss:Index=
"8"
ss:StyleID=
"s122"
><NamedCell
ss:Name=
"_FilterDatabase"
/></Cell>
<Cell
ss:StyleID=
"s122"
/>
<Cell
ss:StyleID=
"s122"
/>
<Cell
ss:StyleID=
"s122"
/>
</Row>
<
/#if>
<Row
ss:AutoFitHeight=
"0"
ss:Height=
"18"
ss:StyleID=
"s107"
>
<Cell
ss:StyleID=
"s195"
><Data
ss:Type=
"String"
>
项目名称
</Data><NamedCell
ss:Name=
"_FilterDatabase"
/></Cell>
...
...
@@ -4248,7 +4248,7 @@
<Cell
ss:MergeAcross=
"15"
ss:StyleID=
"s223"
><NamedCell
ss:Name=
"Print_Area"
/></Cell>
</Row>
<Row
ss:AutoFitHeight=
"0"
ss:Height=
"43.5"
>
<Cell
ss:MergeAcross=
"15"
ss:StyleID=
"s227"
><Data
ss:Type=
"String"
>
检 测 报 告
1
</Data><NamedCell
<Cell
ss:MergeAcross=
"15"
ss:StyleID=
"s227"
><Data
ss:Type=
"String"
>
检 测 报 告
</Data><NamedCell
ss:Name=
"Print_Area"
/></Cell>
</Row>
<Row
ss:AutoFitHeight=
"0"
ss:Height=
"15"
>
...
...
@@ -4272,7 +4272,7 @@
<Cell
ss:StyleID=
"s63"
><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s63"
><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s63"
><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s290"
ss:Formula=
""
><Data
ss:Type=
"String"
>
共
3
页
</Data><NamedCell
<Cell
ss:StyleID=
"s290"
ss:Formula=
""
><Data
ss:Type=
"String"
>
共
9
页
</Data><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s291"
><Data
ss:Type=
"String"
>
第2页
</Data><NamedCell
ss:Name=
"Print_Area"
/></Cell>
...
...
@@ -4357,15 +4357,15 @@
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s261"
><Data
ss:Type=
"String"
>
${item.mgo}
</Data><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s248"
><Data
ss:Type=
"String"
>
—
</Data><NamedCell
<Cell
ss:StyleID=
"s248"
><Data
ss:Type=
"String"
>
${item.k2o}
</Data><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s248"
><Data
ss:Type=
"String"
>
—
</Data><NamedCell
<Cell
ss:StyleID=
"s248"
><Data
ss:Type=
"String"
>
${item.na2o}
</Data><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s261"
><Data
ss:Type=
"String"
>
${item.so3}
</Data><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s262"
><Data
ss:Type=
"String"
>
${item.cl}
</Data><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s248"
><Data
ss:Type=
"String"
>
—
</Data><NamedCell
<Cell
ss:StyleID=
"s248"
><Data
ss:Type=
"String"
>
${item.fsio2}
</Data><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s259"
/>
</Row>
...
...
@@ -6222,7 +6222,7 @@
<Cell
ss:MergeAcross=
"16"
ss:StyleID=
"s223"
><NamedCell
ss:Name=
"Print_Area"
/></Cell>
</Row>
<Row
ss:AutoFitHeight=
"0"
ss:Height=
"43.5"
>
<Cell
ss:MergeAcross=
"15"
ss:StyleID=
"s227"
><Data
ss:Type=
"String"
>
检 测 报 告
1
</Data><NamedCell
<Cell
ss:MergeAcross=
"15"
ss:StyleID=
"s227"
><Data
ss:Type=
"String"
>
检 测 报 告
</Data><NamedCell
ss:Name=
"Print_Area"
/></Cell>
</Row>
<Row
ss:AutoFitHeight=
"0"
ss:Height=
"15"
>
...
...
@@ -6247,9 +6247,9 @@
<Cell
ss:StyleID=
"s63"
><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s425"
><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s63"
><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s290"
ss:Formula=
"=首页!R[-2]C[-13]"
><Data
ss:Type=
"String"
>
共
2
页
</Data><NamedCell
<Cell
ss:StyleID=
"s290"
ss:Formula=
"=首页!R[-2]C[-13]"
><Data
ss:Type=
"String"
>
共
9
页
</Data><NamedCell
ss:Name=
"Print_Area"
/></Cell>
<Cell
ss:StyleID=
"s291"
><Data
ss:Type=
"String"
>
第
3
页
</Data><NamedCell
<Cell
ss:StyleID=
"s291"
><Data
ss:Type=
"String"
>
第
9
页
</Data><NamedCell
ss:Name=
"Print_Area"
/></Cell>
</Row>
<Row
ss:AutoFitHeight=
"0"
ss:Height=
"25.5"
>
...
...
@@ -6315,11 +6315,11 @@
<Cell
ss:StyleID=
"s264"
><Data
ss:Type=
"String"
>
${item.cao}
</Data></Cell>
<Cell
ss:StyleID=
"s264"
><Data
ss:Type=
"String"
>
${item.mgo}
</Data></Cell>
<Cell
ss:StyleID=
"s264"
><Data
ss:Type=
"String"
>
${item.tio2}
</Data></Cell>
<Cell
ss:StyleID=
"s264"
><Data
ss:Type=
"String"
>
-
</Data></Cell>
<Cell
ss:StyleID=
"s264"
><Data
ss:Type=
"String"
>
-
</Data></Cell>
<Cell
ss:StyleID=
"s264"
><Data
ss:Type=
"String"
>
${item.k2o}
</Data></Cell>
<Cell
ss:StyleID=
"s264"
><Data
ss:Type=
"String"
>
${item.na2o}
</Data></Cell>
<Cell
ss:StyleID=
"s264"
><Data
ss:Type=
"String"
>
${item.so3}
</Data></Cell>
<Cell
ss:StyleID=
"s265"
><Data
ss:Type=
"String"
>
${item.cl}
</Data></Cell>
<Cell
ss:StyleID=
"s248"
><Data
ss:Type=
"String"
>
-
</Data></Cell>
<Cell
ss:StyleID=
"s248"
><Data
ss:Type=
"String"
>
${item.mno}
</Data></Cell>
</Row>
<
/#list>
<Row
ss:AutoFitHeight=
"0"
ss:Height=
"25.5"
ss:StyleID=
"s223"
>
...
...
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