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
6ed334c1
Commit
6ed334c1
authored
Nov 05, 2020
by
mengbali153
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master' into master
parents
c86a51f8
a992516f
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
2333 additions
and
532 deletions
+2333
-532
EntrustController.java
...wise/sc/cement/business/controller/EntrustController.java
+9
-8
NormProductionController.java
.../cement/business/controller/NormProductionController.java
+46
-11
PrecipriceController.java
...e/sc/cement/business/controller/PrecipriceController.java
+215
-0
QualityController.java
...wise/sc/cement/business/controller/QualityController.java
+1
-1
ReportController.java
.../wise/sc/cement/business/controller/ReportController.java
+53
-0
SysApprovalController.java
.../sc/cement/business/controller/SysApprovalController.java
+26
-0
SysGroupController.java
...ise/sc/cement/business/controller/SysGroupController.java
+11
-0
SysPostController.java
...wise/sc/cement/business/controller/SysPostController.java
+11
-0
EntityEnclosure.java
...va/cn/wise/sc/cement/business/entity/EntityEnclosure.java
+1
-0
Preciprice.java
...in/java/cn/wise/sc/cement/business/entity/Preciprice.java
+143
-0
TokenFilter.java
...n/java/cn/wise/sc/cement/business/filter/TokenFilter.java
+1
-1
EquipmentUseMapper.java
...cn/wise/sc/cement/business/mapper/EquipmentUseMapper.java
+8
-0
PrecipriceMapper.java
...a/cn/wise/sc/cement/business/mapper/PrecipriceMapper.java
+16
-0
SampleDistributionMapper.java
...e/sc/cement/business/mapper/SampleDistributionMapper.java
+3
-0
SysGroupMapper.java
...ava/cn/wise/sc/cement/business/mapper/SysGroupMapper.java
+2
-0
SysUserMapper.java
...java/cn/wise/sc/cement/business/mapper/SysUserMapper.java
+13
-0
EquipmentUseMapper.xml
...wise/sc/cement/business/mapper/xml/EquipmentUseMapper.xml
+8
-0
PrecipriceMapper.xml
...n/wise/sc/cement/business/mapper/xml/PrecipriceMapper.xml
+5
-0
SampleDistributionMapper.xml
...c/cement/business/mapper/xml/SampleDistributionMapper.xml
+14
-0
SysRoleMapper.xml
...a/cn/wise/sc/cement/business/mapper/xml/SysRoleMapper.xml
+1
-0
SysUserMapper.xml
...a/cn/wise/sc/cement/business/mapper/xml/SysUserMapper.xml
+5
-0
FileExt.java
...c/main/java/cn/wise/sc/cement/business/model/FileExt.java
+2
-1
UserQuery.java
...ava/cn/wise/sc/cement/business/model/query/UserQuery.java
+3
-0
EntrustVo.java
...n/java/cn/wise/sc/cement/business/model/vo/EntrustVo.java
+13
-0
IPrecipriceService.java
...n/wise/sc/cement/business/service/IPrecipriceService.java
+99
-0
EntrustServiceImpl.java
...e/sc/cement/business/service/impl/EntrustServiceImpl.java
+134
-31
NormProductionServiceImpl.java
...ment/business/service/impl/NormProductionServiceImpl.java
+5
-10
PrecipriceServiceImpl.java
...c/cement/business/service/impl/PrecipriceServiceImpl.java
+691
-0
SysRoleServiceImpl.java
...e/sc/cement/business/service/impl/SysRoleServiceImpl.java
+6
-0
UserServiceImpl.java
...wise/sc/cement/business/service/impl/UserServiceImpl.java
+36
-0
WeiXinService.java
...n/wise/sc/cement/business/service/impl/WeiXinService.java
+6
-1
CheckCountUtil.java
.../java/cn/wise/sc/cement/business/util/CheckCountUtil.java
+732
-459
PageUtil.java
...c/main/java/cn/wise/sc/cement/business/util/PageUtil.java
+4
-0
Global.java
...n/java/cn/wise/sc/cement/business/util/weixin/Global.java
+7
-7
application.yml
cement-business/src/main/resources/application.yml
+1
-1
fastdfs-client.properties
cement-business/src/main/resources/fastdfs-client.properties
+1
-1
entrust2.ftl
cement-business/src/main/resources/templates/entrust2.ftl
+1
-0
No files found.
cement-business/src/main/java/cn/wise/sc/cement/business/controller/EntrustController.java
View file @
6ed334c1
...
...
@@ -118,18 +118,19 @@ public class EntrustController {
@ApiOperation
(
"导出委托单"
)
public
void
getReportDetail
(
@PathVariable
(
"entrustId"
)
Integer
entrustId
,
HttpServletResponse
response
)
{
EntrustVo
entrustVo
=
entrustService
.
getDetailCapacity
(
entrustId
).
getData
();
// EntrustVo entrustVo = entrustService.getDetailCapacity(entrustId).getData();
EntrustVo
entrustVo
=
entrustService
.
getBaseDtail
(
entrustId
).
getData
();
if
(
entrustVo
==
null
)
{
return
;
}
Map
<
String
,
Object
>
beanParams
=
new
HashMap
<>(
7
);
beanParams
.
put
(
"clientName"
,
entrustVo
.
getClientName
());
beanParams
.
put
(
"entrustCode"
,
entrustVo
.
getEntrustCode
());
beanParams
.
put
(
"userName"
,
entrustVo
.
getUserName
());
beanParams
.
put
(
"userPhone"
,
entrustVo
.
getUserPhone
());
beanParams
.
put
(
"userFax"
,
entrustVo
.
getUserFax
());
beanParams
.
put
(
"projectName"
,
entrustVo
.
getProjectName
());
beanParams
.
put
(
"sampleNum"
,
entrustVo
.
getSampleNum
());
beanParams
.
put
(
"clientName"
,
entrustVo
.
getClientName
()
==
null
?
""
:
entrustVo
.
getClientName
()
);
beanParams
.
put
(
"entrustCode"
,
entrustVo
.
getEntrustCode
()
==
null
?
""
:
entrustVo
.
getEntrustCode
()
);
beanParams
.
put
(
"userName"
,
entrustVo
.
getUserName
()
==
null
?
""
:
entrustVo
.
getUserName
()
);
beanParams
.
put
(
"userPhone"
,
entrustVo
.
getUserPhone
()
==
null
?
""
:
entrustVo
.
getUserPhone
()
);
beanParams
.
put
(
"userFax"
,
entrustVo
.
getUserFax
()
==
null
?
""
:
entrustVo
.
getUserFax
()
);
beanParams
.
put
(
"projectName"
,
entrustVo
.
getProjectName
()
==
null
?
""
:
entrustVo
.
getProjectName
()
);
beanParams
.
put
(
"sampleNum"
,
entrustVo
.
getSampleNum
()
==
null
?
""
:
entrustVo
.
getSampleNum
()
);
//获取委托单样品列表(不包含平行样)
List
<
SampleVo
>
sampleList
=
new
ArrayList
<>(
entrustVo
.
getSampleList
().
size
());
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/controller/NormProductionController.java
View file @
6ed334c1
package
cn
.
wise
.
sc
.
cement
.
business
.
controller
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.wise.sc.cement.business.entity.NormProduction
;
import
cn.wise.sc.cement.business.entity.NormProductionStatistics
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.LoginUser
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.model.vo.NormProductionVo
;
import
cn.wise.sc.cement.business.model.vo.ProductionVo
;
import
cn.wise.sc.cement.business.model.vo.WorkloadStatisticsVo
;
import
cn.wise.sc.cement.business.service.INonStandardValueService
;
import
cn.wise.sc.cement.business.service.INormProductionService
;
import
cn.wise.sc.cement.business.service.IPrecipriceService
;
import
cn.wise.sc.cement.business.service.ISysUserService
;
import
cn.wise.sc.cement.business.util.PageUtil
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.Assert
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -29,6 +37,7 @@ import java.util.Date;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* <p>
...
...
@@ -45,9 +54,18 @@ public class NormProductionController {
final
INormProductionService
iNormProductionService
;
final
IPrecipriceService
iPrecipriceService
;
final
INonStandardValueService
inonStandardValueService
;
final
ISysUserService
iSysUserService
;
public
NormProductionController
(
INormProductionService
iNormProductionService
)
{
public
NormProductionController
(
INormProductionService
iNormProductionService
,
IPrecipriceService
iPrecipriceService
,
INonStandardValueService
inonStandardValueService
,
ISysUserService
iSysUserService
)
{
this
.
iNormProductionService
=
iNormProductionService
;
this
.
iPrecipriceService
=
iPrecipriceService
;
this
.
inonStandardValueService
=
inonStandardValueService
;
this
.
iSysUserService
=
iSysUserService
;
}
@PostMapping
(
"/create"
)
...
...
@@ -93,6 +111,7 @@ public class NormProductionController {
return
iNormProductionService
.
activeOrForbidden
(
id
);
}
@GetMapping
(
"/statistics"
)
@ApiOperation
(
"标准产值统计"
)
public
BaseResponse
<
Page
<
NormProductionStatistics
>>
normProductionStatistics
(
String
start
,
String
end
,
String
name
,
Integer
groupId
,
PageQuery
pageQuery
)
{
...
...
@@ -105,7 +124,7 @@ public class NormProductionController {
}
//将list拆分成分页
BaseResponse
<
List
<
NormProductionStatistics
>>
baseResponse
=
i
NormProduction
Service
BaseResponse
<
List
<
NormProductionStatistics
>>
baseResponse
=
i
Preciprice
Service
.
normProductionStatistics
(
startTime
,
endTime
,
name
,
groupId
);
if
(
baseResponse
.
getCode
()
==
200
)
{
List
<
NormProductionStatistics
>
data
=
baseResponse
.
getData
();
...
...
@@ -114,25 +133,32 @@ public class NormProductionController {
return
BaseResponse
.
okData
(
rts
);
}
}
return
BaseResponse
.
errorMsg
(
"没有找到相关数据!"
);
return
BaseResponse
.
okData
(
null
);
}
@GetMapping
(
"/statistics/detail"
)
@ApiOperation
(
"标准产值详情"
)
public
BaseResponse
<
Page
<
NormProduction
.
NormProductionDetail
>>
normProductionDetails
(
Integer
userId
,
String
start
,
String
end
,
PageQuery
pageQuery
)
{
Assert
.
notNull
(
userId
,
"用户id是必填的!"
);
Long
startTime
=
null
;
Long
endTime
=
null
;
if
(
StrUtil
.
isNotBlank
(
start
)
&&
StrUtil
.
isNotBlank
(
end
))
{
startTime
=
DateUtil
.
parseDate
(
start
).
getTime
();
endTime
=
DateUtil
.
parseDate
(
end
).
getTime
();
}
List
<
NormProduction
.
NormProductionDetail
>
data
=
iNormProductionService
.
normProductionDetails
(
userId
,
startTime
,
endTime
);
if
(
data
.
size
()
!=
0
)
{
Page
<
NormProduction
.
NormProductionDetail
>
rts
=
PageUtil
.
listConvertToPage
(
data
,
pageQuery
);
List
<
NormProduction
.
NormProductionDetail
>
data
=
iPrecipriceService
.
normProductionDetails
(
userId
,
startTime
,
endTime
);
List
<
NormProduction
.
NormProductionDetail
>
collect
=
data
.
stream
()
.
filter
(
arg
->
arg
.
getUserId
().
intValue
()
==
userId
)
.
collect
(
Collectors
.
toList
());
if
(
collect
.
size
()
!=
0
)
{
Page
<
NormProduction
.
NormProductionDetail
>
rts
=
PageUtil
.
listConvertToPage
(
collect
,
pageQuery
);
return
BaseResponse
.
okData
(
rts
);
}
return
BaseResponse
.
errorMsg
(
"没有找到相关数据!"
);
return
BaseResponse
.
okData
(
null
);
}
@GetMapping
(
"/total/production"
)
...
...
@@ -146,8 +172,8 @@ public class NormProductionController {
endTime
=
DateUtil
.
parseDate
(
end
).
getTime
();
}
List
<
ProductionVo
>
rts
=
i
NormProduction
Service
.
production
(
name
,
startTime
,
endTime
,
groupId
);
if
(!
rts
.
isEmpty
(
))
{
List
<
ProductionVo
>
rts
=
i
Preciprice
Service
.
production
(
name
,
startTime
,
endTime
,
groupId
);
if
(!
CollectionUtil
.
isEmpty
(
rts
))
{
Set
<
Integer
>
ids
=
new
HashSet
<>();
for
(
ProductionVo
productionVo
:
rts
)
{
Integer
groupId1
=
productionVo
.
getGroupId
();
...
...
@@ -207,7 +233,7 @@ public class NormProductionController {
startTime
=
DateUtil
.
parseDate
(
start
).
getTime
();
endTime
=
DateUtil
.
parseDate
(
end
).
getTime
();
}
i
NormProduction
Service
.
exportNormProductionDetail
(
userId
,
startTime
,
endTime
,
response
);
i
Preciprice
Service
.
exportNormProductionDetail
(
userId
,
startTime
,
endTime
,
response
);
}
@PostMapping
(
"/export/total/production"
)
...
...
@@ -228,6 +254,15 @@ public class NormProductionController {
@ApiOperation
(
"工作量统计"
)
public
BaseResponse
<
List
<
WorkloadStatisticsVo
>>
workloadStatistics
(
String
start
,
String
end
,
Integer
userId
)
{
LoginUser
loginUser
=
iSysUserService
.
getLoginUser
();
if
(
BeanUtil
.
isEmpty
(
loginUser
)){
return
BaseResponse
.
errorMsg
(
"请登录!"
);
}
if
(!
loginUser
.
getRoleList
().
getName
().
equals
(
"系统管理员"
))
{
userId
=
loginUser
.
getId
();
}
Date
startTime
=
null
;
Date
endTime
=
DateUtil
.
date
();
if
(
StrUtil
.
isNotBlank
(
start
)
&&
StrUtil
.
isNotBlank
(
end
))
{
...
...
@@ -235,7 +270,7 @@ public class NormProductionController {
endTime
=
DateUtil
.
parseDate
(
end
);
}
return
BaseResponse
.
okData
(
i
NormProduction
Service
.
workloadStatistics
(
startTime
,
endTime
,
userId
));
return
BaseResponse
.
okData
(
i
Preciprice
Service
.
workloadStatistics
(
startTime
,
endTime
,
userId
));
}
}
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/controller/PrecipriceController.java
0 → 100644
View file @
6ed334c1
package
cn
.
wise
.
sc
.
cement
.
business
.
controller
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.wise.sc.cement.business.entity.NormProduction
;
import
cn.wise.sc.cement.business.entity.NormProductionStatistics
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.model.vo.NormProductionVo
;
import
cn.wise.sc.cement.business.model.vo.ProductionVo
;
import
cn.wise.sc.cement.business.model.vo.WorkloadStatisticsVo
;
import
cn.wise.sc.cement.business.service.INonStandardValueService
;
import
cn.wise.sc.cement.business.service.INormProductionService
;
import
cn.wise.sc.cement.business.service.IPrecipriceService
;
import
cn.wise.sc.cement.business.util.PageUtil
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* <p>
* 前端控制器
* </p>
*
* @author ztw
* @since 2020-11-02
*/
@RestController
@Api
(
hidden
=
true
)
@RequestMapping
(
"/business/preciprice"
)
public
class
PrecipriceController
{
@Autowired
IPrecipriceService
iNormProductionService
;
@Autowired
INonStandardValueService
inonStandardValueService
;
@GetMapping
(
"/ddd"
)
@ApiOperation
(
"aaa"
)
public
void
add
(){
iNormProductionService
.
createPreciprice
(
1
,
1
,
1
,
1
,
1
);
}
@GetMapping
(
"/statistics"
)
@ApiOperation
(
"标准产值统计"
)
public
BaseResponse
<
Page
<
NormProductionStatistics
>>
normProductionStatistics
(
String
start
,
String
end
,
String
name
,
Integer
groupId
,
PageQuery
pageQuery
)
{
Long
startTime
=
null
;
Long
endTime
=
null
;
if
(
StrUtil
.
isNotBlank
(
start
)
&&
StrUtil
.
isNotBlank
(
end
))
{
startTime
=
DateUtil
.
parseDate
(
start
).
getTime
();
endTime
=
DateUtil
.
parseDate
(
end
).
getTime
();
}
//将list拆分成分页
BaseResponse
<
List
<
NormProductionStatistics
>>
baseResponse
=
iNormProductionService
.
normProductionStatistics
(
startTime
,
endTime
,
name
,
groupId
);
if
(
baseResponse
.
getCode
()
==
200
)
{
List
<
NormProductionStatistics
>
data
=
baseResponse
.
getData
();
if
(
data
.
size
()
!=
0
)
{
Page
<
NormProductionStatistics
>
rts
=
PageUtil
.
listConvertToPage
(
data
,
pageQuery
);
return
BaseResponse
.
okData
(
rts
);
}
}
return
BaseResponse
.
okData
(
null
);
}
@GetMapping
(
"/statistics/detail"
)
@ApiOperation
(
"标准产值详情"
)
public
BaseResponse
<
Page
<
NormProduction
.
NormProductionDetail
>>
normProductionDetails
(
Integer
userId
,
String
start
,
String
end
,
PageQuery
pageQuery
)
{
Long
startTime
=
null
;
Long
endTime
=
null
;
if
(
StrUtil
.
isNotBlank
(
start
)
&&
StrUtil
.
isNotBlank
(
end
))
{
startTime
=
DateUtil
.
parseDate
(
start
).
getTime
();
endTime
=
DateUtil
.
parseDate
(
end
).
getTime
();
}
List
<
NormProduction
.
NormProductionDetail
>
data
=
iNormProductionService
.
normProductionDetails
(
userId
,
startTime
,
endTime
);
List
<
NormProduction
.
NormProductionDetail
>
collect
=
data
.
stream
()
.
filter
(
arg
->
arg
.
getUserId
().
intValue
()
==
userId
)
.
collect
(
Collectors
.
toList
());
if
(
collect
.
size
()
!=
0
)
{
Page
<
NormProduction
.
NormProductionDetail
>
rts
=
PageUtil
.
listConvertToPage
(
collect
,
pageQuery
);
return
BaseResponse
.
okData
(
rts
);
}
return
BaseResponse
.
okData
(
null
);
}
@GetMapping
(
"/total/production"
)
@ApiOperation
(
"总产值统计"
)
public
BaseResponse
<
Page
<
ProductionVo
>>
production
(
PageQuery
pageQuery
,
String
name
,
String
start
,
String
end
,
Integer
groupId
)
{
Long
startTime
=
null
;
Long
endTime
=
null
;
if
(
StrUtil
.
isNotBlank
(
start
)
&&
StrUtil
.
isNotBlank
(
end
))
{
startTime
=
DateUtil
.
parseDate
(
start
).
getTime
();
endTime
=
DateUtil
.
parseDate
(
end
).
getTime
();
}
List
<
ProductionVo
>
rts
=
iNormProductionService
.
production
(
name
,
startTime
,
endTime
,
groupId
);
if
(!
CollectionUtil
.
isEmpty
(
rts
))
{
Set
<
Integer
>
ids
=
new
HashSet
<>();
for
(
ProductionVo
productionVo
:
rts
)
{
Integer
groupId1
=
productionVo
.
getGroupId
();
ids
.
add
(
groupId1
);
}
List
<
ProductionVo
>
newRts
=
new
ArrayList
<>();
for
(
Integer
groupId1
:
ids
)
{
ProductionVo
finalNormProduction
=
new
ProductionVo
();
for
(
ProductionVo
productionVo
:
rts
)
{
if
(
productionVo
.
getGroupId
().
intValue
()
==
groupId1
)
{
finalNormProduction
.
setUserId
(
productionVo
.
getUserId
());
finalNormProduction
.
setUserName
(
productionVo
.
getUserName
());
finalNormProduction
.
setAccount
(
productionVo
.
getAccount
());
finalNormProduction
.
setPositionId
(
productionVo
.
getPositionId
());
finalNormProduction
.
setPosition
(
productionVo
.
getPosition
());
finalNormProduction
.
setTime
(
productionVo
.
getTime
());
finalNormProduction
.
setGroupId
(
productionVo
.
getGroupId
());
finalNormProduction
.
setGroupName
(
productionVo
.
getGroupName
());
Double
newFinalValue
=
productionVo
.
getProductionTotalValue
()
+
finalNormProduction
.
getProductionTotalValue
();
finalNormProduction
.
setProductionTotalValue
(
newFinalValue
);
Double
newNonProductionValue
=
productionVo
.
getNonProductionValue
()
+
finalNormProduction
.
getNonProductionValue
();
finalNormProduction
.
setNonProductionValue
(
newNonProductionValue
);
Double
newProductionValue
=
productionVo
.
getProductionValue
()
+
finalNormProduction
.
getProductionValue
();
finalNormProduction
.
setProductionValue
(
newProductionValue
);
}
}
newRts
.
add
(
finalNormProduction
);
}
rts
=
newRts
;
}
return
BaseResponse
.
okData
(
PageUtil
.
listConvertToPage
(
rts
,
pageQuery
));
}
@PostMapping
(
"/export/statistics"
)
@ApiOperation
(
"导出标准产值列表"
)
public
void
exportNormProductionStatistics
(
String
start
,
String
end
,
String
name
,
Integer
groupId
,
HttpServletResponse
response
)
{
Long
startTime
=
null
;
Long
endTime
=
null
;
if
(
StrUtil
.
isNotBlank
(
start
)
&&
StrUtil
.
isNotBlank
(
end
))
{
startTime
=
DateUtil
.
parseDate
(
start
).
getTime
();
endTime
=
DateUtil
.
parseDate
(
end
).
getTime
();
}
iNormProductionService
.
exportNormProductionStatistics
(
startTime
,
endTime
,
name
,
groupId
,
response
);
}
@PostMapping
(
"/export/statistics/detail"
)
@ApiOperation
(
"导出个人标准产值详情列表"
)
public
void
exportNormProductionDetails
(
Integer
userId
,
String
start
,
String
end
,
HttpServletResponse
response
)
{
Long
startTime
=
null
;
Long
endTime
=
null
;
if
(
StrUtil
.
isNotBlank
(
start
)
&&
StrUtil
.
isNotBlank
(
end
))
{
startTime
=
DateUtil
.
parseDate
(
start
).
getTime
();
endTime
=
DateUtil
.
parseDate
(
end
).
getTime
();
}
iNormProductionService
.
exportNormProductionDetail
(
userId
,
startTime
,
endTime
,
response
);
}
@PostMapping
(
"/export/total/production"
)
@ApiOperation
(
"导出总产值"
)
public
void
exportProduction
(
String
name
,
String
start
,
String
end
,
Integer
groupId
,
HttpServletResponse
response
)
{
Long
startTime
=
null
;
Long
endTime
=
null
;
if
(
StrUtil
.
isNotBlank
(
start
)
&&
StrUtil
.
isNotBlank
(
end
))
{
startTime
=
DateUtil
.
parseDate
(
start
).
getTime
();
endTime
=
DateUtil
.
parseDate
(
end
).
getTime
();
}
iNormProductionService
.
exportProduction
(
name
,
startTime
,
endTime
,
groupId
,
response
);
}
@GetMapping
(
"/workload/statistics"
)
@ApiOperation
(
"工作量统计"
)
public
BaseResponse
<
List
<
WorkloadStatisticsVo
>>
workloadStatistics
(
String
start
,
String
end
,
Integer
userId
)
{
Date
startTime
=
null
;
Date
endTime
=
DateUtil
.
date
();
if
(
StrUtil
.
isNotBlank
(
start
)
&&
StrUtil
.
isNotBlank
(
end
))
{
startTime
=
DateUtil
.
parseDate
(
start
);
endTime
=
DateUtil
.
parseDate
(
end
);
}
return
BaseResponse
.
okData
(
iNormProductionService
.
workloadStatistics
(
startTime
,
endTime
,
userId
));
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/controller/QualityController.java
View file @
6ed334c1
...
...
@@ -61,7 +61,7 @@ public class QualityController {
List
<
EntrustVo
>
records
=
baseResponse
.
getData
().
getRecords
();
if
(
records
.
size
()
==
0
)
{
return
BaseResponse
.
errorMsg
(
"没找到相关数据!"
);
return
BaseResponse
.
okData
(
null
);
}
List
<
Integer
>
projectIds
=
records
.
stream
().
map
(
EntrustVo:
:
getId
).
collect
(
Collectors
.
toList
());
Set
<
Integer
>
qualityApplyIds
=
iQualityApplyService
.
selectQualityApplyStatusByProIds
(
projectIds
);
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/controller/ReportController.java
View file @
6ed334c1
package
cn
.
wise
.
sc
.
cement
.
business
.
controller
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.wise.sc.cement.business.entity.EntityEnclosure
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.FileExt
;
import
cn.wise.sc.cement.business.model.IndustrialElementKey
;
...
...
@@ -8,25 +10,33 @@ 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
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
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.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
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
import
java.time.LocalDateTime
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -47,6 +57,8 @@ public class ReportController {
final
IEntrustService
iEntrustService
;
@Autowired
IEntityEnclosureService
iEntityEnclosureService
;
public
ReportController
(
IEntrustService
iEntrustService
)
{
this
.
iEntrustService
=
iEntrustService
;
...
...
@@ -129,6 +141,45 @@ public class ReportController {
}
@PostMapping
(
"/upload"
)
@ApiOperation
(
"上传报告"
)
public
BaseResponse
<
Boolean
>
uploadReport
(
@RequestBody
SampleHandleEnclosureQuery
query
){
Assert
.
notNull
(
query
.
getId
(),
"委托id不能为空!"
);
QueryWrapper
<
EntityEnclosure
>
qw
=
new
QueryWrapper
();
qw
.
eq
(
"entity_type"
,
5
);
qw
.
eq
(
"entity_id"
,
query
.
getId
());
if
(
FileExt
.
EXCL
.
getName
().
equals
(
query
.
getExtName
())
||
FileExt
.
EXCLX
.
getName
().
equals
(
query
.
getExtName
())){
EntityEnclosure
one
=
iEntityEnclosureService
.
getOne
(
qw
);
if
(
BeanUtil
.
isEmpty
(
one
)){
EntityEnclosure
entityEnclosure
=
new
EntityEnclosure
();
entityEnclosure
.
setEntityId
(
query
.
getId
());
entityEnclosure
.
setExtName
(
query
.
getExtName
());
entityEnclosure
.
setCreateTime
(
LocalDateTime
.
now
());
entityEnclosure
.
setUpdateTime
(
LocalDateTime
.
now
());
entityEnclosure
.
setEnclosureUrl
(
query
.
getEnclosureUrl
());
entityEnclosure
.
setAlias
(
query
.
getAlias
());
entityEnclosure
.
setEntityType
(
5
);
iEntityEnclosureService
.
save
(
entityEnclosure
);
return
BaseResponse
.
okData
(
true
);
}
else
{
one
.
setAlias
(
query
.
getAlias
());
one
.
setEnclosureUrl
(
query
.
getEnclosureUrl
());
one
.
setExtName
(
query
.
getExtName
());
one
.
setUpdateTime
(
LocalDateTime
.
now
());
iEntityEnclosureService
.
updateById
(
one
);
return
BaseResponse
.
okData
(
true
);
}
}
else
{
return
BaseResponse
.
errorMsg
(
"文件类型只能是excel!"
);
}
}
/**
* 将样品六元素检测Map转换成单独属性
*
...
...
@@ -202,4 +253,6 @@ public class ReportController {
return
strBuilder
.
replace
(
0
,
5
,
""
).
toString
();
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/controller/SysApprovalController.java
View file @
6ed334c1
...
...
@@ -5,6 +5,7 @@ import cn.wise.sc.cement.business.entity.SysGroup;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.service.ISysApprovalService
;
import
cn.wise.sc.cement.business.service.ISysDictionaryService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.slf4j.Logger
;
...
...
@@ -29,6 +30,8 @@ public class SysApprovalController {
@Autowired
private
ISysApprovalService
approvalService
;
@Autowired
private
ISysDictionaryService
dictionaryService
;
@ApiOperation
(
value
=
"审批分页列表"
)
@GetMapping
(
"/getPage"
)
...
...
@@ -78,5 +81,28 @@ public class SysApprovalController {
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
@ApiOperation
(
value
=
"删除审批"
)
@PostMapping
(
"/delete/{id}"
)
public
BaseResponse
delete
(
@PathVariable
Integer
id
)
{
try
{
approvalService
.
removeById
(
id
);
return
BaseResponse
.
okData
(
"删除成功"
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"删除审批{}"
,
e
);
}
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
@ApiOperation
(
value
=
"获取审批流程列表"
)
@GetMapping
(
"/getSampleFormList"
)
public
BaseResponse
getSampleFormList
()
{
try
{
return
dictionaryService
.
getContent
(
"审批流程"
);
}
catch
(
Exception
e
)
{
log
.
debug
(
"获取审批流程列表{}"
,
e
);
}
return
BaseResponse
.
errorMsg
(
"失败!"
);
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/controller/SysGroupController.java
View file @
6ed334c1
...
...
@@ -7,6 +7,9 @@ import cn.wise.sc.cement.business.model.BaseResponse;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.model.query.RoleQuery
;
import
cn.wise.sc.cement.business.service.ISysGroupService
;
import
cn.wise.sc.cement.business.service.ISysUserService
;
import
cn.wise.sc.cement.business.wrapper.page.Query
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
...
...
@@ -35,6 +38,8 @@ public class SysGroupController {
@Autowired
private
ISysGroupService
groupService
;
@Autowired
private
ISysUserService
userService
;
@ApiOperation
(
value
=
"工作组分页列表"
)
@GetMapping
(
"/getPage"
)
...
...
@@ -100,6 +105,12 @@ public class SysGroupController {
@PostMapping
(
"/delete/{id}"
)
public
BaseResponse
delete
(
@PathVariable
Integer
id
)
{
try
{
QueryWrapper
<
SysUser
>
sysUserQueryWrapper
=
new
QueryWrapper
<>();
sysUserQueryWrapper
.
eq
(
"group_id"
,
id
);
Integer
conunts
=
userService
.
count
(
sysUserQueryWrapper
);
if
(
conunts
!=
0
&&
conunts
>
0
)
{
return
BaseResponse
.
errorMsg
(
conunts
+
"个用户正在使用!"
);
}
groupService
.
removeById
(
id
);
return
BaseResponse
.
okData
(
"删除成功"
);
}
catch
(
Exception
e
)
{
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/controller/SysPostController.java
View file @
6ed334c1
...
...
@@ -2,10 +2,13 @@ package cn.wise.sc.cement.business.controller;
import
cn.wise.sc.cement.business.entity.SysGroup
;
import
cn.wise.sc.cement.business.entity.SysPost
;
import
cn.wise.sc.cement.business.entity.SysUser
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.model.query.PostQuery
;
import
cn.wise.sc.cement.business.service.ISysPostService
;
import
cn.wise.sc.cement.business.service.ISysUserService
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
...
...
@@ -34,6 +37,8 @@ public class SysPostController {
@Autowired
private
ISysPostService
postService
;
@Autowired
private
ISysUserService
userService
;
@ApiOperation
(
value
=
"职务分页列表"
)
@ApiImplicitParams
(
value
=
{
...
...
@@ -102,6 +107,12 @@ public class SysPostController {
@PostMapping
(
"/delete/{id}"
)
public
BaseResponse
delete
(
@PathVariable
Integer
id
)
{
try
{
QueryWrapper
<
SysUser
>
sysUserQueryWrapper
=
new
QueryWrapper
<>();
sysUserQueryWrapper
.
eq
(
"post_id"
,
id
);
Integer
conunts
=
userService
.
count
(
sysUserQueryWrapper
);
if
(
conunts
!=
0
&&
conunts
>
0
)
{
return
BaseResponse
.
errorMsg
(
conunts
+
"个用户正在使用!"
);
}
postService
.
removeById
(
id
);
return
BaseResponse
.
okData
(
"删除成功"
);
}
catch
(
Exception
e
)
{
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/entity/EntityEnclosure.java
View file @
6ed334c1
...
...
@@ -64,6 +64,7 @@ public class EntityEnclosure implements Serializable {
int
HEAD
=
0
;
int
EQUIPMENT_TEST
=
3
;
int
STANDARD_SAMPLE
=
4
;
int
ENTRUST_REPORT
=
5
;
}
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/entity/Preciprice.java
0 → 100644
View file @
6ed334c1
package
cn
.
wise
.
sc
.
cement
.
business
.
entity
;
import
java.math.BigDecimal
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* <p>
*
* </p>
*
* @author ztw
* @since 2020-11-02
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
public
class
Preciprice
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
/**
* 样品名字
*/
private
String
sampleName
;
private
Integer
sex
;
/**
* 用户id
*/
private
Integer
userId
;
/**
* 样品id
*/
private
Integer
sampleId
;
/**
* 检测/处理Id
*/
private
Integer
targetId
;
/**
* 检测:1 处理:0
*/
private
Integer
type
;
/**
* 工值
*/
private
BigDecimal
preciprice
;
/**
* 考核占比
*/
private
BigDecimal
assessRate
;
/**
* 分析占比
*/
private
BigDecimal
analyseRate
;
/**
* 分样占比
*/
private
BigDecimal
separateRate
;
/**
* 报出分析结果
*/
private
BigDecimal
reportedAnalyseResult
;
/**
* 定额工日
*/
private
BigDecimal
quotaDay
;
/**
* 建议系数
*/
private
BigDecimal
coefficient
;
/**
* 考核工值
*/
private
BigDecimal
assessValue
;
/**
* 报结果占比
*/
private
BigDecimal
reportedResultRate
;
/**
* 时间
*/
private
long
createTime
;
/**
* 项目id
*/
private
Integer
entrustId
;
/**
* 项目id
*/
private
String
entrustName
;
/**
* 项目编号
*/
private
String
entrustCode
;
/**
* 账号
*/
private
String
account
;
/**
* 职位
*/
private
String
position
;
/**
* 部门id
*/
private
Integer
groupId
;
private
String
userName
;
/**
* 检测组名
*/
private
String
groupTeamName
;
}
cement-business/src/main/java/cn/wise/sc/cement/business/filter/TokenFilter.java
View file @
6ed334c1
...
...
@@ -25,7 +25,7 @@ import org.springframework.web.filter.OncePerRequestFilter;
@Component
public
class
TokenFilter
extends
OncePerRequestFilter
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
"
WeiXinService
"
);
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
"
TokenFilter
"
);
public
static
final
String
TOKEN_KEY
=
"Authorization"
;
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/EquipmentUseMapper.java
View file @
6ed334c1
...
...
@@ -10,6 +10,7 @@ import org.apache.ibatis.annotations.Param;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
/**
* <p>
...
...
@@ -32,4 +33,11 @@ public interface EquipmentUseMapper extends BaseMapper<EquipmentUse> {
* @return list
*/
List
<
String
>
getEquipmentNamesByProjectId
(
@Param
(
"param"
)
Integer
entrustId
);
/**
* 根据设备ids获取使用到的设备名字
* @param ids 设备id
* @return list
*/
List
<
String
>
getEquipmentNamesByEquipmentIds
(
@Param
(
"params"
)
Set
<
Integer
>
ids
);
}
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/PrecipriceMapper.java
0 → 100644
View file @
6ed334c1
package
cn
.
wise
.
sc
.
cement
.
business
.
mapper
;
import
cn.wise.sc.cement.business.entity.Preciprice
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author ztw
* @since 2020-11-02
*/
public
interface
PrecipriceMapper
extends
BaseMapper
<
Preciprice
>
{
}
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/SampleDistributionMapper.java
View file @
6ed334c1
...
...
@@ -31,6 +31,9 @@ public interface SampleDistributionMapper extends BaseMapper<SampleDistribution>
List
<
SampleDistributionTeamVo
>
getDistributionTeamList
(
@Param
(
"sampleId"
)
Integer
sampleId
,
@Param
(
"userId"
)
Integer
userId
);
List
<
SampleDistributionTeamVo
>
getDistributionTeamGroupList
(
@Param
(
"sampleId"
)
Integer
sampleId
,
@Param
(
"userId"
)
Integer
userId
);
List
<
SampleCheckGroupVo
>
getSampleCheckGroupList
(
@Param
(
"sampleId"
)
Integer
sampleId
);
List
<
EntrustSample
>
getEntrustSample
();
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/SysGroupMapper.java
View file @
6ed334c1
...
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
java.util.Map
;
...
...
@@ -21,4 +22,5 @@ public interface SysGroupMapper extends BaseMapper<SysGroup> {
IPage
<
GroupVo
>
getPage
(
@Param
(
"page"
)
Page
page
);
}
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/SysUserMapper.java
View file @
6ed334c1
...
...
@@ -5,6 +5,7 @@ import cn.wise.sc.cement.business.model.vo.UserVo;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.apache.ibatis.annotations.Delete
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
...
...
@@ -26,4 +27,16 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
// List<Map<String,Object>> exportList(@Param("params") Map<String,Object> params);
@Delete
(
"delete from sys_role_user where user_id = #{userId}"
)
int
deleteUserRole
(
Integer
userId
);
int
saveUserRoles
(
@Param
(
"userId"
)
Integer
userId
,
@Param
(
"roleId"
)
Integer
roleId
);
}
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/EquipmentUseMapper.xml
View file @
6ed334c1
...
...
@@ -52,5 +52,13 @@
WHERE eu.id IS NOT NULL
</select>
<select
id=
"getEquipmentNamesByEquipmentIds"
resultType=
"java.lang.String"
>
SELECT CONCAT(`name`,' (',`code`,')') FROM equipment
where id in
<foreach
collection=
"params"
open=
"("
close=
")"
item=
"id"
separator=
","
>
#{id}
</foreach>
</select>
</mapper>
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/PrecipriceMapper.xml
0 → 100644
View file @
6ed334c1
<?xml version="1.0" encoding="UTF-8"?>
<!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.PrecipriceMapper"
>
</mapper>
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/SampleDistributionMapper.xml
View file @
6ed334c1
...
...
@@ -75,6 +75,20 @@
order by t.id asc
</select>
<select
id=
"getDistributionTeamGroupList"
resultType=
"cn.wise.sc.cement.business.model.vo.SampleDistributionTeamVo"
>
select su.id as userId,
t.team_group_id as teamGroupId
from sample_distribution t
left join sys_user su on su.id = t.user_id
left join team s on s.id = t.team_id
left join team_group tg on tg.id = t.team_group_id
where t.sample_id = #{sampleId}
<if
test=
"userId != null"
>
and t.user_id = #{userId}
</if>
group by t.team_group_id
</select>
<select
id=
"getSampleCheckGroupList"
resultType=
"cn.wise.sc.cement.business.model.vo.SampleCheckGroupVo"
>
select sd.team_group_id as teamGroupId, tg.name as teamGroupName,
sd.user_id as userId, su.name as userName
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/SysRoleMapper.xml
View file @
6ed334c1
...
...
@@ -11,4 +11,5 @@
</insert>
</mapper>
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/xml/SysUserMapper.xml
View file @
6ed334c1
...
...
@@ -38,6 +38,11 @@
where su.id = #{id}
</select>
<insert
id=
"saveUserRoles"
>
insert into sys_role_user(role_id, user_id) values
(#{roleId}, #{userId})
</insert>
<!-- <select id="exportList" resultType="java.util.HashMap">-->
<!-- SELECT-->
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/model/FileExt.java
View file @
6ed334c1
...
...
@@ -10,7 +10,8 @@ public enum FileExt {
//office后缀名
DOC
(
".doc"
),
EXCL
(
".xls"
);
EXCL
(
".xls"
),
EXCLX
(
".xlsx"
);
private
String
name
;
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/model/query/UserQuery.java
View file @
6ed334c1
...
...
@@ -68,4 +68,7 @@ public class UserQuery {
@ApiModelProperty
(
"备注"
)
private
String
remark
;
@ApiModelProperty
(
"角色id"
)
private
Integer
roleId
;
}
cement-business/src/main/java/cn/wise/sc/cement/business/model/vo/EntrustVo.java
View file @
6ed334c1
...
...
@@ -126,4 +126,17 @@ public class EntrustVo {
@ApiModelProperty
(
"评审意见"
)
private
String
opinion
;
@ApiModelProperty
(
"文件名"
)
private
String
alias
;
@ApiModelProperty
(
"扩展名"
)
private
String
extName
;
@ApiModelProperty
(
"路径"
)
private
String
enclosureUrl
;
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/IPrecipriceService.java
0 → 100644
View file @
6ed334c1
package
cn
.
wise
.
sc
.
cement
.
business
.
service
;
import
cn.wise.sc.cement.business.entity.NormProduction
;
import
cn.wise.sc.cement.business.entity.NormProductionStatistics
;
import
cn.wise.sc.cement.business.entity.Preciprice
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.model.vo.NormProductionVo
;
import
cn.wise.sc.cement.business.model.vo.ProductionVo
;
import
cn.wise.sc.cement.business.model.vo.WorkloadStatisticsVo
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.Date
;
import
java.util.List
;
/**
* <p>
* 服务类
* </p>
*
* @author ztw
* @since 2020-11-02
*/
public
interface
IPrecipriceService
extends
IService
<
Preciprice
>
{
boolean
createPreciprice
(
final
Integer
userId
,
final
Integer
entrustId
,
final
Integer
targetId
,
final
Integer
type
,
final
Integer
sampleId
);
/**
* 标准产值统计
*
* @param start 开始时间
* @param end 结束时间
* @param groupId 部门id
* @return BaseResponse
*/
BaseResponse
<
List
<
NormProductionStatistics
>>
normProductionStatistics
(
Long
start
,
Long
end
,
String
name
,
Integer
groupId
);
/**
* 标准产值统计 单人详情
*
* @param userId 用户id
* @param start 开始时间
* @param end 结束时间
* @return 详细信息
*/
List
<
NormProduction
.
NormProductionDetail
>
normProductionDetails
(
Integer
userId
,
Long
start
,
Long
end
);
/**
* 总产值统计
*
* @param name 用户
* @param start 开始时间
* @param end 结束时间
* @return 详细信息
*/
List
<
ProductionVo
>
production
(
String
name
,
Long
start
,
Long
end
,
Integer
groupId
);
/**
* 导出标准统计
* @param start 开始时间
* @param end 结束时间
* @param name 人员名字
* @param groupId 部门id
* @param response 响应体
*/
void
exportNormProductionStatistics
(
Long
start
,
Long
end
,
String
name
,
Integer
groupId
,
HttpServletResponse
response
);
/**
* 导出个人标准产值详情列表
* @param userId 用户id
* @param startTime 开始时间
* @param endTime 结束时间
* @param response 响应体
*/
void
exportNormProductionDetail
(
Integer
userId
,
Long
startTime
,
Long
endTime
,
HttpServletResponse
response
);
/**
* 导出产值总统计列表
* @param name 名字检索
* @param startTime 开始时间
* @param endTime 结束时间
* @param response 响应体
*/
void
exportProduction
(
String
name
,
Long
startTime
,
Long
endTime
,
Integer
groupId
,
HttpServletResponse
response
);
/**
* 统计工作量
* @param startTime 开始时间
* @param endTime 结束时间
* @return 统计对象
*/
List
<
WorkloadStatisticsVo
>
workloadStatistics
(
Date
startTime
,
Date
endTime
,
Integer
userId
);
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/EntrustServiceImpl.java
View file @
6ed334c1
...
...
@@ -27,11 +27,14 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.sun.org.apache.xpath.internal.operations.Bool
;
import
lombok.Data
;
import
net.bytebuddy.description.field.FieldDescription
;
import
org.apache.commons.io.filefilter.FalseFileFilter
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
...
...
@@ -114,8 +117,12 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
private
ISysUserMessageService
userMessageService
;
@Autowired
private
WeiXinService
weiXinService
;
@Autowired
private
INormProductionService
iNormProductionService
;
@Autowired
private
IPrecipriceService
iPrecipriceService
;
@Resource
private
EntityEnclosureMapper
entityEnclosureMapper
;
/**
* 委托分页
*
...
...
@@ -181,6 +188,19 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
entrustVo
.
setCheckTeam
(
checkTeam
);
entrustVo
.
setCheckMethodNumber
(
sampleTmp
.
getMethodNumbers
());
}
//查询报告,如果有上传的委托报告,用户可已进行下载
QueryWrapper
<
EntityEnclosure
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
eq
(
"entity_type"
,
EntityEnclosure
.
EntityType
.
ENTRUST_REPORT
);
wrapper
.
eq
(
"entity_id"
,
entrustVo
.
getId
());
wrapper
.
eq
(
"is_deleted"
,
1
);
List
<
EntityEnclosure
>
entityEnclosureList
=
entityEnclosureMapper
.
selectList
(
wrapper
);
if
(
entityEnclosureList
!=
null
&&
entityEnclosureList
.
size
()>
0
){
EntityEnclosure
entityEnclosure
=
entityEnclosureList
.
get
(
0
);
entrustVo
.
setAlias
(
entityEnclosure
.
getAlias
());
entrustVo
.
setEnclosureUrl
(
entityEnclosure
.
getEnclosureUrl
());
entrustVo
.
setExtName
(
entityEnclosure
.
getExtName
());
}
}
}
pages
.
setRecords
(
list
);
...
...
@@ -265,8 +285,10 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
for
(
String
teamId
:
teamIdS
)
{
Team
team
=
teamMapper
.
selectById
(
Integer
.
valueOf
(
teamId
));
if
(
team
!=
null
)
{
charge
=
charge
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
?
team
.
getCharge
()
:
(
charge
.
add
(
team
.
getCharge
()));
teamNameList
.
add
(
team
.
getName
());
if
(!
teamNameList
.
contains
(
teamId
)){
charge
=
charge
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
?
team
.
getCharge
()
:
(
charge
.
add
(
team
.
getCharge
()));
teamNameList
.
add
(
team
.
getName
());
}
}
}
//选择Mg必须选择Ca;选择Al必须选择Fe
...
...
@@ -287,6 +309,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
sampleTmpList
.
add
(
sampleTmp
);
}
sampleTmpService
.
saveBatch
(
sampleTmpList
);
}
else
{
return
BaseResponse
.
errorMsg
(
"样品及检测项不可为空"
);
}
logsService
.
saveLog
(
SysLogs
.
ObjType
.
ENTRUST_LOG
,
entrust
.
getId
(),
"提交了委托单"
,
null
);
//消息推送
...
...
@@ -567,6 +591,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
}
}
sampleVo
.
setTeamName
(
teamName
);
sampleVo
.
setSampleDistributionTeamVoList
(
sampleNoDistributionTeamVoList
);
sampleVoList
.
add
(
sampleVo
);
}
}
...
...
@@ -807,6 +832,10 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if
(
StringUtils
.
isEmpty
(
sampleQuery
.
getCementCode
()))
{
return
BaseResponse
.
errorMsg
(
"本所编号不能为空"
);
}
String
regex
=
"[0-9]{2}\\-[0-9]{4}"
;
if
(!
sampleQuery
.
getCementCode
().
matches
(
regex
)
||
sampleQuery
.
getCementCode
().
length
()
!=
getMaxCementCode
().
getData
().
length
()){
return
BaseResponse
.
errorMsg
(
"本所编号格式不符合规范"
);
}
//前端传入的本所编号
Integer
cementCodeInteger
=
commonService
.
getIntegerCode
(
sampleQuery
.
getCementCode
());
if
(
cementCodeInteger
<=
integerMaxCode
)
{
...
...
@@ -942,6 +971,15 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
.
setStatus
(
0
)
.
setAlias
(
handle
.
getName
());
sampleHandleEnclosureList
.
add
(
sampleHandleEnclosure
);
//获取产值信息
QueryWrapper
<
NormProduction
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"assess_id"
,
handle
.
getId
());
queryWrapper
.
eq
(
"type"
,
0
);
queryWrapper
.
eq
(
"status"
,
1
);
NormProduction
normProduction
=
iNormProductionService
.
getOne
(
queryWrapper
);
if
(
normProduction
==
null
){
return
BaseResponse
.
errorMsg
(
"联系管理员.配置产值信息!"
);
}
}
sampleHandleEnclosureService
.
saveBatch
(
sampleHandleEnclosureList
);
}
...
...
@@ -1191,7 +1229,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
* @param ids
* @return
*/
@Transactional
@Transactional
(
rollbackFor
=
Exception
.
class
,
propagation
=
Propagation
.
NESTED
)
@Override
public
BaseResponse
<
String
>
finishHandle
(
Integer
[]
ids
)
{
LoginUser
loginUser
=
userService
.
getLoginUser
();
...
...
@@ -1225,6 +1263,20 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if
(
entrust
==
null
)
{
return
BaseResponse
.
errorMsg
(
"委托信息错误"
);
}
//计算产值
if
(
sampleHandle
.
getContent
()
!=
null
)
{
String
[]
handIdS
=
sampleHandle
.
getContent
().
split
(
"、"
);
String
illMessage
=
""
;
for
(
String
handleId
:
handIdS
)
{
try
{
iPrecipriceService
.
createPreciprice
(
sampleHandle
.
getUserId
(),
entrust
.
getId
(),
Integer
.
valueOf
(
handleId
),
0
,
sample
.
getId
());
}
catch
(
Exception
e
){
System
.
out
.
println
(
e
.
getMessage
());
return
BaseResponse
.
errorMsg
(
e
.
getMessage
());
}
}
}
QueryWrapper
<
SampleHandle
>
sampleHandleWrapper
=
new
QueryWrapper
<>();
sampleHandleWrapper
.
eq
(
"sample_id"
,
sample
.
getId
());
sampleHandleWrapper
.
ne
(
"status"
,
2
);
...
...
@@ -1315,6 +1367,16 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
.
setStatus
(
0
)
.
setCreateTime
(
LocalDateTime
.
now
());
sampleDistributionList
.
add
(
sampleDistribution
);
//获取产值信息
QueryWrapper
<
NormProduction
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"assess_id"
,
distributionTeamQuery
.
getTeamGroupId
());
queryWrapper
.
eq
(
"type"
,
1
);
queryWrapper
.
eq
(
"status"
,
1
);
NormProduction
normProduction
=
iNormProductionService
.
getOne
(
queryWrapper
);
if
(
normProduction
==
null
){
return
BaseResponse
.
errorMsg
(
"联系管理员.配置产值信息!"
);
}
//消息推送
BaseResponse
wrapper
=
userMessageService
.
sendMessage
(
distributionTeamQuery
.
getUserId
(),
"您有一条样品检测信息等待接受"
,
entrust
.
getId
(),
SysUserMessage
.
MessageType
.
ENTRUST
);
if
(
wrapper
.
getCode
()
!=
200
){
...
...
@@ -1539,6 +1601,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return
BaseResponse
.
errorMsg
(
"参数错误"
);
}
Entrust
entrust
=
null
;
//样品计算过产值的List
List
<
Integer
>
sampleIdS
=
new
ArrayList
<>();
for
(
Integer
id
:
ids
)
{
SampleDistribution
distribution
=
distributionMapper
.
selectById
(
id
);
if
(
distribution
==
null
)
{
...
...
@@ -1572,11 +1636,26 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
entrust
.
setStatus
(
6
);
}
entrustMapper
.
updateById
(
entrust
);
//计算产值
if
(!
sampleIdS
.
contains
(
sample
.
getId
())){
List
<
SampleDistributionTeamVo
>
sampleDistributionTeamGroupVoList
=
distributionMapper
.
getDistributionTeamGroupList
(
sample
.
getId
(),
loginUser
.
getId
());
if
(
sampleDistributionTeamGroupVoList
!=
null
&&
sampleDistributionTeamGroupVoList
.
size
()
>
0
)
{
for
(
SampleDistributionTeamVo
sdVo
:
sampleDistributionTeamGroupVoList
)
{
try
{
iPrecipriceService
.
createPreciprice
(
sdVo
.
getUserId
(),
entrust
.
getId
(),
sdVo
.
getTeamGroupId
(),
1
,
sample
.
getId
());
}
catch
(
Exception
e
){
return
BaseResponse
.
errorMsg
(
e
.
getMessage
());
}
}
}
sampleIdS
.
add
(
sample
.
getId
());
}
}
}
if
(
entrust
==
null
)
{
return
BaseResponse
.
errorMsg
(
"委托信息错误"
);
}
logsService
.
saveLog
(
SysLogs
.
ObjType
.
ENTRUST_LOG
,
entrust
.
getId
(),
"完成检测项目任务"
,
null
);
return
BaseResponse
.
okMsg
(
"已完成检测项目任务"
);
}
...
...
@@ -2079,23 +2158,23 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
}
}
//计算平行样的平均值 最大误差值
Map
<
String
,
Map
<
String
,
String
>>
mapResult
=
CheckCountUtil
.
countParallelAvgError
(
groupMap
);
if
(
mapResult
!=
null
){
Map
<
String
,
String
>
countResults
=
mapResult
.
get
(
"countResults"
);
JSONArray
countResults_jsonArray
=
commonService
.
mapToJSONArray
(
countResults
);
String
countResults_String
=
JSON
.
toJSON
(
countResults_jsonArray
).
toString
();
System
.
out
.
println
(
countResults_String
);
Map
<
String
,
String
>
countError
=
mapResult
.
get
(
"countError"
);
JSONArray
countError_jsonArray
=
commonService
.
mapToJSONArray
(
countError
);
String
countError_String
=
JSON
.
toJSON
(
countError_jsonArray
).
toString
();
System
.
out
.
println
(
countError_String
);
check
.
setCountResults
(
countResults_String
);
check
.
setCountError
(
countError_String
);
sampleCheckMapper
.
updateById
(
check
);
countResultMap
.
put
(
"countResults"
,
countResults_String
);
countResultMap
.
put
(
"countError"
,
countError_String
);
}
Map
<
String
,
Map
<
String
,
String
>>
mapResult
=
CheckCountUtil
.
countParallelAvgError
(
groupMap
);
if
(
mapResult
!=
null
){
Map
<
String
,
String
>
countResults
=
mapResult
.
get
(
"countResults"
);
JSONArray
countResults_jsonArray
=
commonService
.
mapToJSONArray
(
countResults
);
String
countResults_String
=
JSON
.
toJSON
(
countResults_jsonArray
).
toString
();
System
.
out
.
println
(
countResults_String
);
Map
<
String
,
String
>
countError
=
mapResult
.
get
(
"countError"
);
JSONArray
countError_jsonArray
=
commonService
.
mapToJSONArray
(
countError
);
String
countError_String
=
JSON
.
toJSON
(
countError_jsonArray
).
toString
();
System
.
out
.
println
(
countError_String
);
check
.
setCountResults
(
countResults_String
);
check
.
setCountError
(
countError_String
);
sampleCheckMapper
.
updateById
(
check
);
countResultMap
.
put
(
"countResults"
,
countResults_String
);
countResultMap
.
put
(
"countError"
,
countError_String
);
}
}
Boolean
ret
=
true
;
//全部校核计算完成
List
<
SampleCheckGroupVo
>
sampleCheckGroupVoList
=
distributionMapper
.
getSampleCheckGroupList
(
query
.
getSampleList
().
get
(
0
).
getSmapleId
());
for
(
SampleCheckGroupVo
groupVo
:
sampleCheckGroupVoList
){
...
...
@@ -2328,6 +2407,19 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
entrustVo
.
setCheckTeam
(
checkTeam
);
entrustVo
.
setCheckMethodNumber
(
sampleTmp
.
getMethodNumbers
());
}
//查询报告,如果有上传的委托报告,用户可已进行下载
QueryWrapper
<
EntityEnclosure
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
eq
(
"entity_type"
,
EntityEnclosure
.
EntityType
.
ENTRUST_REPORT
);
wrapper
.
eq
(
"entity_id"
,
entrustVo
.
getId
());
wrapper
.
eq
(
"is_deleted"
,
1
);
List
<
EntityEnclosure
>
entityEnclosureList
=
entityEnclosureMapper
.
selectList
(
wrapper
);
if
(
entityEnclosureList
!=
null
&&
entityEnclosureList
.
size
()>
0
){
EntityEnclosure
entityEnclosure
=
entityEnclosureList
.
get
(
0
);
entrustVo
.
setAlias
(
entityEnclosure
.
getAlias
());
entrustVo
.
setEnclosureUrl
(
entityEnclosure
.
getEnclosureUrl
());
entrustVo
.
setExtName
(
entityEnclosure
.
getExtName
());
}
}
}
pages
.
setRecords
(
list
);
...
...
@@ -2550,17 +2642,25 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
private
String
mapStringToMap
(
String
str
)
{
str
=
str
.
substring
(
1
,
str
.
length
()
-
1
);
String
[]
strs
=
str
.
split
(
","
);
Map
<
String
,
String
>
map
=
new
HashMap
<>(
strs
.
length
);
for
(
String
string
:
strs
)
{
String
key
=
string
.
split
(
":"
)[
0
];
String
value
=
string
.
split
(
":"
)[
1
];
map
.
put
(
key
,
value
);
}
List
<
MapObj
>
mapObjs
=
JSON
.
parseArray
(
str
,
MapObj
.
class
);
Map
<
String
,
String
>
map
=
new
HashMap
<>();
mapObjs
.
forEach
(
arg
->
map
.
put
(
arg
.
getName
(),
arg
.
getValue
()));
return
JSON
.
toJSONString
(
map
);
}
@Data
public
static
class
MapObj
{
String
name
;
String
value
;
}
/**
* 根据样品检测列表获取报告管理首页
*
...
...
@@ -2586,7 +2686,10 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
rts
.
setSampleNames
(
new
HashSet
<>(
source
.
size
()));
rts
.
setMethodNames
(
new
HashSet
<>(
source
.
size
()));
rts
.
setTeamNames
(
new
HashSet
<>(
source
.
size
()));
Set
<
Integer
>
equipmentIds
=
new
HashSet
<>(
source
.
size
());
source
.
forEach
(
arg
->
{
equipmentIds
.
add
(
arg
.
getEquipmentId
());
//获取使用的设备id
//关联检测项目
if
(
StrUtil
.
isNotBlank
(
arg
.
getTeamName
()))
{
String
[]
teamSplits
=
arg
.
getTeamName
().
split
(
"、"
);
...
...
@@ -2610,7 +2713,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
rts
.
setSampleNum
(
rts
.
getSampleNames
().
size
());
//关联仪器名字 去重
List
<
String
>
equipmentNames
=
equipmentUseMapper
.
getEquipmentNamesBy
ProjectId
(
firstReportDetail
.
getEntrustId
()
);
List
<
String
>
equipmentNames
=
equipmentUseMapper
.
getEquipmentNamesBy
EquipmentIds
(
equipmentIds
);
equipmentNames
.
forEach
(
arg
->
rts
.
getEquipmentNames
().
add
(
arg
));
//关联送样单位名字
...
...
@@ -2722,7 +2825,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
}
else
if
(
j
==
10
)
{
obj
=
checkMethodStr
;
}
else
{
obj
=
m
.
get
(
headers
[
j
])
.
toString
()
;
obj
=
m
.
get
(
headers
[
j
])
!=
null
?
m
.
get
(
headers
[
j
]).
toString
()
:
""
;
//如果序号带小数点 去除.0,保留整数
if
(
j
==
0
)
{
obj
=
obj
.
split
(
"\\."
)[
0
];
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/NormProductionServiceImpl.java
View file @
6ed334c1
...
...
@@ -250,7 +250,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
normProductionDetails
(
null
,
start
,
end
);
if
(
normProductionDetails
.
size
()
==
0
)
{
BaseResponse
<
List
<
NormProductionStatistics
>>
rts
=
BaseResponse
.
errorMsg
(
"没找到相关数据!"
);
BaseResponse
<
List
<
NormProductionStatistics
>>
rts
=
BaseResponse
.
okData
(
null
);
rts
.
setData
(
new
ArrayList
<>());
return
rts
;
}
...
...
@@ -285,6 +285,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
continue
;
}
if
(
sysGroup
==
null
)
{
log
.
debug
(
"用户分组未设置!关联用户部门失败!"
);
continue
;
}
NormProductionStatistics
productionStatistics
=
new
NormProductionStatistics
();
...
...
@@ -346,22 +347,13 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
* 1.获取处理派发表数据,获取标准产值配置,查询处理项。
* */
//获取标准产值数据
QueryWrapper
<
SampleDistribution
>
qwDis
=
new
QueryWrapper
<>();
QueryWrapper
<
SampleHandle
>
qwHan
=
new
QueryWrapper
<>();
QueryWrapper
<
SampleCheckTeam
>
qwCT
=
new
QueryWrapper
<>();
Map
<
String
,
Object
>
params
=
new
HashMap
<>(
2
);
if
(
userId
!=
null
&&
userId
>
0
)
{
qwDis
.
eq
(
"user_id"
,
userId
);
qwHan
.
eq
(
"user_id"
,
userId
);
qwCT
.
eq
(
"user_id"
,
userId
);
params
.
put
(
"user_id"
,
userId
);
}
if
(
start
!=
null
&&
end
!=
null
)
{
DateTime
startTime
=
DateUtil
.
date
(
start
);
DateTime
endTime
=
DateUtil
.
date
(
end
);
qwDis
.
between
(
"finish_time"
,
startTime
,
endTime
);
qwHan
.
between
(
"finish_time"
,
startTime
,
endTime
);
qwCT
.
between
(
"finish_time"
,
startTime
,
endTime
);
params
.
put
(
"start_time"
,
DateUtil
.
format
(
startTime
,
"yyyy-MM-dd"
));
params
.
put
(
"end_time"
,
DateUtil
.
format
(
endTime
,
"yyyy-MM-dd"
));
}
...
...
@@ -444,6 +436,9 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
//处理非标准产值没有用名职位信息
QueryWrapper
<
SysUser
>
qw
=
new
QueryWrapper
<>();
qw
.
in
(
"id"
,
userIds
);
if
(
CollectionUtil
.
isEmpty
(
userIds
)){
return
null
;
}
List
<
SysUser
>
users
=
iSysUserService
.
list
(
qw
);
List
<
SysPost
>
sysPosts
=
iSysPostService
.
list
();
List
<
SysGroup
>
sysGroups
=
iSysGroupService
.
list
();
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/PrecipriceServiceImpl.java
0 → 100644
View file @
6ed334c1
package
cn
.
wise
.
sc
.
cement
.
business
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.wise.sc.cement.business.entity.Entrust
;
import
cn.wise.sc.cement.business.entity.Handle
;
import
cn.wise.sc.cement.business.entity.NonStandardApply
;
import
cn.wise.sc.cement.business.entity.NonStandardValue
;
import
cn.wise.sc.cement.business.entity.NormProduction
;
import
cn.wise.sc.cement.business.entity.NormProductionStatistics
;
import
cn.wise.sc.cement.business.entity.Preciprice
;
import
cn.wise.sc.cement.business.entity.Sample
;
import
cn.wise.sc.cement.business.entity.SampleDistribution
;
import
cn.wise.sc.cement.business.entity.SysGroup
;
import
cn.wise.sc.cement.business.entity.SysPost
;
import
cn.wise.sc.cement.business.entity.SysUser
;
import
cn.wise.sc.cement.business.entity.TeamGroup
;
import
cn.wise.sc.cement.business.mapper.EntrustMapper
;
import
cn.wise.sc.cement.business.mapper.PrecipriceMapper
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.LoginUser
;
import
cn.wise.sc.cement.business.model.vo.ProductionVo
;
import
cn.wise.sc.cement.business.model.vo.WorkloadStatisticsVo
;
import
cn.wise.sc.cement.business.service.IEntrustService
;
import
cn.wise.sc.cement.business.service.IHandleService
;
import
cn.wise.sc.cement.business.service.INonStandardApplyService
;
import
cn.wise.sc.cement.business.service.INonStandardValueService
;
import
cn.wise.sc.cement.business.service.INormProductionService
;
import
cn.wise.sc.cement.business.service.IPrecipriceService
;
import
cn.wise.sc.cement.business.service.ISampleDistributionService
;
import
cn.wise.sc.cement.business.service.ISampleService
;
import
cn.wise.sc.cement.business.service.ISysGroupService
;
import
cn.wise.sc.cement.business.service.ISysPostService
;
import
cn.wise.sc.cement.business.service.ISysUserService
;
import
cn.wise.sc.cement.business.service.ITeamGroupService
;
import
cn.wise.sc.cement.business.util.ExcelUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.Assert
;
import
javax.servlet.http.HttpServletResponse
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.time.Instant
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* <p>
* 服务实现类
* </p>
*
* @author ztw
* @since 2020-11-02
*/
@Service
public
class
PrecipriceServiceImpl
extends
ServiceImpl
<
PrecipriceMapper
,
Preciprice
>
implements
IPrecipriceService
{
final
EntrustMapper
iEntrustService
;
final
ISampleService
iSampleService
;
final
INormProductionService
iNormProductionService
;
final
ISysUserService
iSysUserService
;
final
ISysGroupService
iSysGroupService
;
final
ITeamGroupService
iTeamGroupService
;
final
IHandleService
iHandleService
;
final
ISysPostService
iSysPostService
;
final
INonStandardValueService
iNonStandardValueService
;
final
INonStandardApplyService
iNonStandardApplyService
;
final
ISampleDistributionService
iSampleDistributionService
;
public
PrecipriceServiceImpl
(
EntrustMapper
iEntrustService
,
ISampleService
iSampleService
,
INormProductionService
iNormProductionService
,
ISysUserService
iSysUserService
,
ISysGroupService
iSysGroupService
,
ITeamGroupService
iTeamGroupService
,
IHandleService
iHandleService
,
ISysPostService
iSysPostService
,
INonStandardValueService
iNonStandardValueService
,
INonStandardApplyService
iNonStandardApplyService
,
ISampleDistributionService
iSampleDistributionService
)
{
this
.
iEntrustService
=
iEntrustService
;
this
.
iSampleService
=
iSampleService
;
this
.
iNormProductionService
=
iNormProductionService
;
this
.
iSysUserService
=
iSysUserService
;
this
.
iSysGroupService
=
iSysGroupService
;
this
.
iTeamGroupService
=
iTeamGroupService
;
this
.
iHandleService
=
iHandleService
;
this
.
iSysPostService
=
iSysPostService
;
this
.
iNonStandardValueService
=
iNonStandardValueService
;
this
.
iNonStandardApplyService
=
iNonStandardApplyService
;
this
.
iSampleDistributionService
=
iSampleDistributionService
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
,
propagation
=
Propagation
.
NESTED
)
public
boolean
createPreciprice
(
final
Integer
userId
,
final
Integer
entrustId
,
final
Integer
targetId
,
final
Integer
type
,
final
Integer
sampleId
)
{
Assert
.
notNull
(
userId
,
"用户id不能为空!"
);
Assert
.
notNull
(
entrustId
,
"项目id不能为空!"
);
Assert
.
notNull
(
targetId
,
"处理项id不能为空!"
);
Assert
.
notNull
(
sampleId
,
"样品id不能为空!"
);
Assert
.
notNull
(
type
,
"处理项类型不能为空!"
);
//获取项目编号和名字
Entrust
entrust
=
iEntrustService
.
selectById
(
entrustId
);
if
(
BeanUtil
.
isEmpty
(
entrust
))
{
log
.
debug
(
"产值记录新增失败,项目没找到!"
);
throw
new
IllegalArgumentException
(
"无效的项目id!"
);
}
Preciprice
preciprice
=
new
Preciprice
();
preciprice
.
setEntrustId
(
entrust
.
getId
());
preciprice
.
setEntrustCode
(
entrust
.
getEntrustCode
());
preciprice
.
setEntrustName
(
entrust
.
getProjectName
());
//获取样品信息
Sample
sample
=
iSampleService
.
getById
(
sampleId
);
if
(
BeanUtil
.
isEmpty
(
sample
))
{
log
.
debug
(
"产值记录新增失败,项目没找到!"
);
throw
new
IllegalArgumentException
(
"无效的项目id!"
);
}
preciprice
.
setSampleId
(
sample
.
getId
());
preciprice
.
setSampleName
(
sample
.
getName
());
//获取产值信息
QueryWrapper
<
NormProduction
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"assess_id"
,
targetId
);
queryWrapper
.
eq
(
"type"
,
type
);
queryWrapper
.
eq
(
"status"
,
1
);
NormProduction
normProduction
=
iNormProductionService
.
getOne
(
queryWrapper
);
if
(
BeanUtil
.
isEmpty
(
normProduction
))
{
log
.
debug
(
"产值记录新增失败,产值信息没找到!"
);
throw
new
IllegalArgumentException
(
"联系管理员.配置产值信息!"
);
}
preciprice
.
setAnalyseRate
(
BigDecimal
.
valueOf
(
normProduction
.
getAnalyseRate
()));
preciprice
.
setAssessRate
(
BigDecimal
.
valueOf
(
normProduction
.
getAssessId
()));
preciprice
.
setAssessValue
(
BigDecimal
.
valueOf
(
normProduction
.
getAssessValue
()));
preciprice
.
setReportedAnalyseResult
(
BigDecimal
.
valueOf
(
normProduction
.
getReportedAnalyseResult
()));
preciprice
.
setReportedResultRate
(
BigDecimal
.
valueOf
(
normProduction
.
getReportedResultRate
()));
preciprice
.
setCoefficient
(
BigDecimal
.
valueOf
(
normProduction
.
getCoefficient
()));
preciprice
.
setCreateTime
(
DateUtil
.
date
().
getTime
());
preciprice
.
setSeparateRate
(
BigDecimal
.
valueOf
(
normProduction
.
getSeparateRate
()));
preciprice
.
setQuotaDay
(
BigDecimal
.
valueOf
(
normProduction
.
getQuotaDay
()));
if
(
type
==
1
)
{
preciprice
.
setPreciprice
(
calculateWorkTimeCoefficient
(
normProduction
,
normProduction
.
getAnalyseRate
()));
}
else
{
preciprice
.
setPreciprice
(
calculateWorkTimeCoefficient
(
normProduction
,
normProduction
.
getAnalyseRate
()));
}
//获取用户职位和账号
SysUser
sysUser
=
iSysUserService
.
getById
(
userId
);
if
(
BeanUtil
.
isEmpty
(
sysUser
))
{
log
.
debug
(
"产值记录新增失败,用户没找到!"
);
throw
new
IllegalArgumentException
(
"无效的用户id!"
);
}
preciprice
.
setUserId
(
sysUser
.
getId
());
preciprice
.
setUserName
(
sysUser
.
getName
());
preciprice
.
setSex
(
sysUser
.
getSex
());
SysGroup
sysGroup
=
iSysGroupService
.
getById
(
sysUser
.
getGroupId
());
if
(
BeanUtil
.
isEmpty
(
sysGroup
))
{
log
.
debug
(
"产值记录新增失败,用户所在部门未找到!"
);
throw
new
IllegalArgumentException
(
"用户所在部门需要设置!"
);
}
preciprice
.
setPosition
(
sysGroup
.
getName
());
preciprice
.
setGroupId
(
sysGroup
.
getId
());
//获取检测组名
if
(
type
==
1
)
{
TeamGroup
teamGroup
=
iTeamGroupService
.
getById
(
targetId
);
preciprice
.
setGroupTeamName
(
teamGroup
.
getName
());
}
else
{
Handle
handle
=
iHandleService
.
getById
(
targetId
);
preciprice
.
setGroupTeamName
(
handle
.
getName
());
}
preciprice
.
setTargetId
(
targetId
);
preciprice
.
setType
(
type
);
try
{
return
this
.
save
(
preciprice
);
}
catch
(
Exception
e
)
{
log
.
error
(
"添加产值记录失败!"
);
return
false
;
}
}
@Override
public
BaseResponse
<
List
<
NormProductionStatistics
>>
normProductionStatistics
(
Long
start
,
Long
end
,
String
name
,
Integer
groupId
)
{
//曲解、心有灵犀、捧着、不争论、心态口才策略
//统计分样处理的详情
List
<
NormProduction
.
NormProductionDetail
>
normProductionDetails
=
normProductionDetails
(
null
,
start
,
end
);
if
(
normProductionDetails
.
size
()
==
0
)
{
BaseResponse
<
List
<
NormProductionStatistics
>>
rts
=
BaseResponse
.
okData
(
null
);
rts
.
setData
(
new
ArrayList
<>());
return
rts
;
}
//
Map
<
Integer
,
BigDecimal
>
coefficientMap
=
new
HashMap
<>(
normProductionDetails
.
size
());
normProductionDetails
.
forEach
(
arg
->
{
Integer
userId
=
arg
.
getUserId
();
//不存在 添加
if
(!
coefficientMap
.
containsKey
(
userId
))
{
coefficientMap
.
put
(
userId
,
arg
.
getWorkTimeCoefficient
());
}
else
{
BigDecimal
bigDecimal
=
coefficientMap
.
get
(
userId
);
BigDecimal
newWorkTime
=
arg
.
getWorkTimeCoefficient
().
add
(
bigDecimal
);
coefficientMap
.
put
(
userId
,
newWorkTime
);
}
});
List
<
NormProductionStatistics
>
rts
=
new
ArrayList
<>();
Set
<
Integer
>
userIds
=
coefficientMap
.
keySet
();
QueryWrapper
<
SysUser
>
qw
=
new
QueryWrapper
<>();
qw
.
in
(
"id"
,
userIds
);
List
<
SysUser
>
users
=
iSysUserService
.
list
(
qw
);
List
<
SysPost
>
sysPosts
=
iSysPostService
.
list
();
List
<
SysGroup
>
sysGroups
=
iSysGroupService
.
list
();
for
(
Integer
userId
:
coefficientMap
.
keySet
())
{
SysUser
sysUser
=
users
.
stream
()
.
filter
(
arg
->
arg
.
getId
().
intValue
()
==
userId
)
.
findFirst
().
orElse
(
null
);
SysGroup
sysGroup
=
sysGroups
.
stream
().
filter
(
arg
->
arg
.
getId
().
intValue
()
==
userId
)
.
findFirst
().
orElse
(
null
);
if
(
sysUser
==
null
)
{
continue
;
}
if
(
sysGroup
==
null
)
{
log
.
debug
(
"用户分组未设置!关联用户部门失败!"
);
continue
;
}
NormProductionStatistics
productionStatistics
=
new
NormProductionStatistics
();
productionStatistics
.
setAccount
(
sysUser
.
getUsername
());
productionStatistics
.
setCoefficient
(
coefficientMap
.
get
(
userId
).
doubleValue
());
productionStatistics
.
setTime
(
"/"
);
productionStatistics
.
setCount
(
normProductionDetails
.
stream
()
.
filter
(
arg
->
arg
.
getUserId
().
intValue
()
==
sysUser
.
getId
())
.
count
());
productionStatistics
.
setPosition
(
sysUser
.
getQualifications
());
if
(
start
!=
null
&&
end
!=
null
)
{
DateTime
startTime
=
DateUtil
.
date
(
start
);
DateTime
endTime
=
DateUtil
.
date
(
end
);
productionStatistics
.
setTime
(
startTime
.
toDateStr
()
+
"-"
+
endTime
.
toDateStr
());
}
productionStatistics
.
setSex
(
sysUser
.
getSex
()
==
0
?
"女"
:
"男"
);
productionStatistics
.
setUserId
(
sysUser
.
getId
()
+
""
);
productionStatistics
.
setUserName
(
sysUser
.
getName
());
productionStatistics
.
setGroupId
(
sysUser
.
getGroupId
());
productionStatistics
.
setGroupName
(
sysGroup
.
getName
());
SysPost
sysPost
=
sysPosts
.
stream
()
.
filter
(
arg
->
arg
.
getId
().
intValue
()
==
sysUser
.
getPostId
()).
findFirst
().
orElse
(
null
);
productionStatistics
.
setPosition
(
sysPost
==
null
?
"职务一"
:
sysPost
.
getName
());
productionStatistics
.
setGroupName
(
sysGroup
.
getName
());
rts
.
add
(
productionStatistics
);
}
//过滤名字
if
(
StrUtil
.
isNotBlank
(
name
))
{
List
<
NormProductionStatistics
>
collect
=
rts
.
stream
().
filter
(
arg
->
arg
.
getUserName
().
contains
(
name
)).
collect
(
Collectors
.
toList
());
return
BaseResponse
.
okData
(
collect
);
}
//过滤部门id
if
(
groupId
!=
null
)
{
List
<
NormProductionStatistics
>
collect
=
rts
.
stream
().
filter
(
arg
->
arg
.
getGroupId
().
equals
(
groupId
)).
collect
(
Collectors
.
toList
());
return
BaseResponse
.
okData
(
collect
);
}
return
BaseResponse
.
okData
(
rts
);
}
@Override
public
List
<
NormProduction
.
NormProductionDetail
>
normProductionDetails
(
Integer
userId
,
Long
startTime
,
Long
endTime
)
{
QueryWrapper
<
Preciprice
>
qw
=
new
QueryWrapper
<>();
if
(!
BeanUtil
.
isEmpty
(
startTime
))
{
qw
.
gt
(
"create_time"
,
startTime
);
}
if
(!
BeanUtil
.
isEmpty
(
endTime
))
{
qw
.
le
(
"create_time"
,
endTime
);
}
if
(!
BeanUtil
.
isEmpty
(
userId
))
{
qw
.
like
(
"user_id"
,
userId
);
}
List
<
Preciprice
>
list
=
this
.
list
(
qw
);
List
<
NormProduction
.
NormProductionDetail
>
rts
=
new
ArrayList
<>(
list
.
size
());
for
(
Preciprice
preciprice
:
list
)
{
NormProduction
.
NormProductionDetail
detail
=
preciprice2NormDetail
(
preciprice
);
rts
.
add
(
detail
);
}
return
rts
;
}
@Override
public
List
<
ProductionVo
>
production
(
String
name
,
Long
start
,
Long
end
,
Integer
groupId
)
{
Date
startDate
=
null
;
Date
endDate
=
new
Date
();
if
(
start
!=
null
&&
start
!=
0
)
{
startDate
=
DateUtil
.
date
(
start
);
}
if
(
end
!=
null
&&
end
!=
0
)
{
endDate
=
DateUtil
.
date
(
end
);
}
//非标准产值
List
<
NonStandardValue
>
nonStandardValues
=
iNonStandardValueService
.
nonValue
(
startDate
,
endDate
,
groupId
).
getData
();
//标准产值
List
<
NormProductionStatistics
>
productionStatistics
=
this
.
normProductionStatistics
(
start
,
end
,
name
,
groupId
).
getData
();
//以userId找关系
Set
<
String
>
userIds
=
new
HashSet
<>();
nonStandardValues
.
forEach
(
arg
->
userIds
.
add
(
arg
.
getUserId
()
+
""
));
productionStatistics
.
forEach
(
arg
->
userIds
.
add
(
arg
.
getUserId
()));
List
<
ProductionVo
>
rts
=
new
ArrayList
<>(
userIds
.
size
());
userIds
.
forEach
(
arg
->
{
ProductionVo
productionVo
=
new
ProductionVo
();
productionVo
.
setUserId
(
arg
);
//找到标准准产值里面的数据
productionStatistics
.
forEach
(
opt
->
{
if
(
opt
.
getUserId
().
equals
(
arg
))
{
productionVo
.
setProductionValue
(
opt
.
getCoefficient
());
productionVo
.
setUserName
(
opt
.
getUserName
());
productionVo
.
setPosition
(
opt
.
getPosition
());
productionVo
.
setAccount
(
opt
.
getAccount
());
productionVo
.
setGroupId
(
opt
.
getGroupId
());
productionVo
.
setGroupName
(
opt
.
getGroupName
());
}
});
//找到标准产值里面的数据
nonStandardValues
.
forEach
(
opt
->
{
if
(
arg
.
equals
(
opt
.
getUserId
()
+
""
))
{
productionVo
.
setNonProductionValue
(
opt
.
getFinalValue
());
}
});
rts
.
add
(
productionVo
);
});
//处理非标准产值没有用名职位信息
QueryWrapper
<
SysUser
>
qw
=
new
QueryWrapper
<>();
qw
.
in
(
"id"
,
userIds
);
if
(
CollectionUtil
.
isEmpty
(
userIds
))
{
return
null
;
}
List
<
SysUser
>
users
=
iSysUserService
.
list
(
qw
);
List
<
SysPost
>
sysPosts
=
iSysPostService
.
list
();
List
<
SysGroup
>
sysGroups
=
iSysGroupService
.
list
();
Date
finalStartDate
=
startDate
;
Date
finalEndDate
=
endDate
;
rts
.
forEach
(
arg
->
{
arg
.
setTime
(
finalStartDate
==
null
?
"/"
:
DateUtil
.
format
(
finalStartDate
,
"yyyy-MM-dd"
)
+
"--"
+
DateUtil
.
format
(
finalEndDate
,
"yyyy-MM-dd"
));
if
(
StrUtil
.
isBlank
(
arg
.
getUserName
()))
{
//关联用户信息
users
.
stream
().
filter
(
opt
->
arg
.
getUserId
().
equals
(
opt
.
getId
()
+
""
)).
findFirst
()
.
ifPresent
(
opt
->
{
arg
.
setUserName
(
opt
.
getName
());
arg
.
setAccount
(
opt
.
getUsername
());
arg
.
setPositionId
(
opt
.
getPostId
());
arg
.
setGroupId
(
opt
.
getGroupId
());
});
//关联职务
sysPosts
.
stream
().
filter
(
opt
->
arg
.
getPositionId
().
intValue
()
==
opt
.
getId
())
.
findFirst
()
.
ifPresent
(
opt
->
arg
.
setPosition
(
opt
.
getName
()));
sysGroups
.
stream
().
filter
(
opt
->
arg
.
getGroupId
().
intValue
()
==
opt
.
getId
())
.
findFirst
()
.
ifPresent
(
opt
->
arg
.
setGroupName
(
opt
.
getName
()));
}
arg
.
setProductionTotalValue
(
arg
.
getNonProductionValue
()
+
arg
.
getProductionValue
());
});
//过滤名字
if
(
StrUtil
.
isNotBlank
(
name
))
{
return
rts
.
stream
().
filter
(
arg
->
arg
.
getUserName
().
contains
(
name
))
.
collect
(
Collectors
.
toList
());
}
//过滤部门id
if
(
groupId
!=
null
)
{
return
rts
.
stream
().
filter
(
arg
->
arg
.
getGroupId
().
equals
(
groupId
))
.
collect
(
Collectors
.
toList
());
}
return
rts
;
}
@Override
public
void
exportNormProductionStatistics
(
Long
start
,
Long
end
,
String
name
,
Integer
groupId
,
HttpServletResponse
response
)
{
BaseResponse
<
List
<
NormProductionStatistics
>>
listBaseResponse
=
normProductionStatistics
(
start
,
end
,
name
,
groupId
);
if
(
listBaseResponse
.
getCode
()
==
200
)
{
List
<
NormProductionStatistics
>
data
=
listBaseResponse
.
getData
();
if
(
CollectionUtil
.
isNotEmpty
(
data
))
{
String
[]
headers
=
new
String
[
10
];
headers
[
0
]
=
"用户编号"
;
headers
[
1
]
=
"用户名"
;
headers
[
2
]
=
"账号"
;
headers
[
3
]
=
"性别"
;
headers
[
4
]
=
"职务"
;
headers
[
5
]
=
"统计时间"
;
headers
[
6
]
=
"检测项目数"
;
headers
[
7
]
=
"产值绩效"
;
headers
[
8
]
=
"部门id"
;
headers
[
9
]
=
"部门名"
;
List
<
Object
[]>
exportData
=
new
ArrayList
<>(
data
.
size
());
for
(
NormProductionStatistics
productionStatistics
:
data
)
{
Object
[]
objs
=
new
Object
[
10
];
objs
[
0
]
=
productionStatistics
.
getUserId
();
objs
[
1
]
=
productionStatistics
.
getUserName
();
objs
[
2
]
=
productionStatistics
.
getAccount
();
objs
[
3
]
=
productionStatistics
.
getSex
();
objs
[
4
]
=
productionStatistics
.
getPosition
();
objs
[
5
]
=
productionStatistics
.
getTime
();
objs
[
6
]
=
productionStatistics
.
getCount
();
objs
[
7
]
=
productionStatistics
.
getCoefficient
();
objs
[
8
]
=
productionStatistics
.
getGroupId
();
objs
[
9
]
=
productionStatistics
.
getGroupName
();
exportData
.
add
(
objs
);
}
ExcelUtil
.
excelExport
(
"标准产值统计"
,
headers
,
exportData
,
response
);
}
}
}
@Override
public
void
exportNormProductionDetail
(
Integer
userId
,
Long
startTime
,
Long
endTime
,
HttpServletResponse
response
)
{
List
<
NormProduction
.
NormProductionDetail
>
normProductionDetails
=
normProductionDetails
(
userId
,
startTime
,
endTime
);
if
(
CollectionUtil
.
isNotEmpty
(
normProductionDetails
))
{
String
[]
headers
=
new
String
[
13
];
headers
[
0
]
=
"序号"
;
headers
[
1
]
=
"名字"
;
headers
[
2
]
=
"检测项目"
;
headers
[
3
]
=
"所属项目"
;
headers
[
4
]
=
"项目编号"
;
headers
[
5
]
=
"检测时间"
;
headers
[
6
]
=
"分析占比"
;
headers
[
7
]
=
"分样占比"
;
headers
[
8
]
=
"校核占比"
;
headers
[
9
]
=
"报结果占比"
;
headers
[
10
]
=
"合计"
;
List
<
Object
[]>
exportData
=
new
ArrayList
<>(
normProductionDetails
.
size
());
int
count
=
0
;
DateTimeFormatter
timeFormatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy年MM月dd日 hh:mm:ss"
);
for
(
NormProduction
.
NormProductionDetail
target
:
normProductionDetails
)
{
Object
[]
objs
=
new
Object
[
13
];
objs
[
0
]
=
count
++;
objs
[
1
]
=
target
.
getUserName
();
objs
[
2
]
=
target
.
getGroupTeamName
();
objs
[
3
]
=
target
.
getProjectName
();
objs
[
4
]
=
target
.
getEntrustCode
();
objs
[
5
]
=
target
.
getCheckTime
()
==
null
?
"/"
:
target
.
getCheckTime
().
format
(
timeFormatter
);
objs
[
6
]
=
target
.
getAnalyseRate
();
objs
[
7
]
=
target
.
getSeparateRate
();
objs
[
8
]
=
target
.
getAssessRate
();
objs
[
9
]
=
target
.
getReportedResultRate
();
objs
[
10
]
=
target
.
getWorkTimeCoefficient
();
exportData
.
add
(
objs
);
}
ExcelUtil
.
excelExport
(
"标准产值详情—"
+
normProductionDetails
.
get
(
0
).
getUserName
(),
headers
,
exportData
,
response
);
}
}
@Override
public
void
exportProduction
(
String
name
,
Long
startTime
,
Long
endTime
,
Integer
groupId
,
HttpServletResponse
response
)
{
List
<
ProductionVo
>
data
=
production
(
name
,
startTime
,
endTime
,
groupId
);
if
(
CollectionUtil
.
isNotEmpty
(
data
))
{
String
[]
headers
=
new
String
[
10
];
headers
[
0
]
=
"序号"
;
headers
[
1
]
=
"姓名"
;
headers
[
2
]
=
"账户"
;
headers
[
3
]
=
"职务"
;
headers
[
4
]
=
"统计时间"
;
headers
[
5
]
=
"标准产值"
;
headers
[
6
]
=
"非标准产值"
;
headers
[
7
]
=
"产值统计"
;
headers
[
8
]
=
"部门id"
;
headers
[
9
]
=
"部门名"
;
List
<
Object
[]>
exportData
=
new
ArrayList
<>(
data
.
size
());
int
count
=
0
;
for
(
ProductionVo
target
:
data
)
{
Object
[]
objs
=
new
Object
[
10
];
objs
[
0
]
=
count
++;
objs
[
1
]
=
target
.
getUserName
();
objs
[
2
]
=
target
.
getAccount
();
objs
[
3
]
=
target
.
getPosition
();
objs
[
4
]
=
target
.
getTime
();
objs
[
5
]
=
target
.
getProductionValue
();
objs
[
6
]
=
target
.
getNonProductionValue
();
objs
[
7
]
=
target
.
getProductionTotalValue
();
objs
[
8
]
=
target
.
getGroupId
();
objs
[
9
]
=
target
.
getGroupName
();
exportData
.
add
(
objs
);
}
ExcelUtil
.
excelExport
(
"产值统计"
,
headers
,
exportData
,
response
);
}
}
@Override
public
List
<
WorkloadStatisticsVo
>
workloadStatistics
(
Date
startTime
,
Date
endTime
,
Integer
userId
)
{
long
start
=
getDefaultStart
(
startTime
==
null
?
0
:
startTime
.
getTime
());
long
end
=
getDefaultEnd
(
endTime
.
getTime
());
Map
<
String
,
Integer
>
map1
=
initMonthMoneyMap
(
start
,
end
);
Map
<
String
,
Integer
>
map2
=
initMonthMoneyMap
(
start
,
end
);
QueryWrapper
<
SampleDistribution
>
qw
=
new
QueryWrapper
<>();
if
(
startTime
!=
null
)
{
qw
.
ge
(
"finish_time"
,
DateUtil
.
format
(
DateUtil
.
date
(
start
),
"yyyy-MM-dd"
));
}
if
(
userId
!=
null
&&
userId
!=
0
)
{
qw
.
eq
(
"user_id"
,
userId
);
}
qw
.
le
(
"finish_time"
,
DateUtil
.
format
(
DateUtil
.
date
(
end
),
"yyyy-MM-dd"
));
qw
.
eq
(
"status"
,
2
);
List
<
SampleDistribution
>
sampleDistributions
=
iSampleDistributionService
.
list
(
qw
);
QueryWrapper
<
NonStandardApply
>
qwA
=
new
QueryWrapper
<>();
if
(
startTime
!=
null
)
{
qwA
.
ge
(
"start_time"
,
DateUtil
.
format
(
DateUtil
.
date
(
start
),
"yyyy-MM-dd"
));
}
if
(
userId
!=
null
&&
userId
!=
0
)
{
qwA
.
eq
(
"user_id"
,
userId
);
}
qwA
.
le
(
"start_time"
,
DateUtil
.
format
(
DateUtil
.
date
(
end
),
"yyyy-MM-dd"
));
qwA
.
eq
(
"status"
,
2
);
List
<
NonStandardApply
>
nonStandardApplies
=
iNonStandardApplyService
.
list
(
qwA
);
for
(
SampleDistribution
sampleDistribution
:
sampleDistributions
)
{
addCount
(
sampleDistribution
.
getFinishTime
(),
map1
);
}
for
(
NonStandardApply
nonStandardApply
:
nonStandardApplies
)
{
addCount
(
nonStandardApply
.
getStartTime
(),
map2
);
}
WorkloadStatisticsVo
workloadStatisticsVo
=
new
WorkloadStatisticsVo
();
workloadStatisticsVo
.
setType
(
0
);
workloadStatisticsVo
.
setMap
(
map1
);
WorkloadStatisticsVo
workloadStatisticsVo2
=
new
WorkloadStatisticsVo
();
workloadStatisticsVo2
.
setType
(
1
);
workloadStatisticsVo2
.
setMap
(
map2
);
List
<
WorkloadStatisticsVo
>
rts
=
new
ArrayList
<>(
2
);
rts
.
add
(
workloadStatisticsVo
);
rts
.
add
(
workloadStatisticsVo2
);
return
rts
;
}
private
NormProduction
.
NormProductionDetail
preciprice2NormDetail
(
Preciprice
preciprice
)
{
NormProduction
.
NormProductionDetail
rts
=
new
NormProduction
.
NormProductionDetail
();
BeanUtil
.
copyProperties
(
preciprice
,
rts
);
rts
.
setAssessId
(
preciprice
.
getTargetId
());
rts
.
setWorkTimeCoefficient
(
preciprice
.
getPreciprice
());
rts
.
setCheckTime
(
getDateTimeOfTimestamp
(
preciprice
.
getCreateTime
()));
return
rts
;
}
public
static
LocalDateTime
getDateTimeOfTimestamp
(
long
timestamp
)
{
Instant
instant
=
Instant
.
ofEpochMilli
(
timestamp
);
ZoneId
zone
=
ZoneId
.
systemDefault
();
return
LocalDateTime
.
ofInstant
(
instant
,
zone
);
}
private
NormProductionStatistics
preciprice2NormProductionStatistics
(
Preciprice
preciprice
)
{
NormProductionStatistics
rts
=
new
NormProductionStatistics
();
rts
.
setPosition
(
preciprice
.
getPosition
());
rts
.
setUserName
(
preciprice
.
getUserName
());
rts
.
setUserId
(
preciprice
.
getUserId
()
+
""
);
rts
.
setSex
(
preciprice
.
getSex
()
==
1
?
"男"
:
"女"
);
rts
.
setAccount
(
preciprice
.
getAccount
());
rts
.
setCoefficient
(
preciprice
.
getCoefficient
().
doubleValue
());
rts
.
setGroupId
(
preciprice
.
getGroupId
());
rts
.
setGroupName
(
preciprice
.
getPosition
());
return
rts
;
}
private
<
M
,
T
>
IPage
<
T
>
copyPage
(
IPage
<
M
>
page
,
List
<
T
>
target
)
{
IPage
<
T
>
rts
=
new
Page
<>();
rts
.
setCurrent
(
page
.
getCurrent
());
rts
.
setRecords
(
target
);
rts
.
setSize
(
page
.
getSize
());
rts
.
setPages
(
page
.
getPages
());
rts
.
setTotal
(
page
.
getTotal
());
return
rts
;
}
private
void
addCount
(
LocalDateTime
date
,
Map
<
String
,
Integer
>
map
)
{
Date
nextDate
=
DateUtil
.
endOfMonth
(
asDate
(
date
));
map
.
put
(
nextDate
.
getMonth
()
+
1
+
""
,
map
.
get
(
nextDate
.
getMonth
()
+
1
+
""
)
+
1
);
}
private
void
addCount
(
LocalDate
date
,
Map
<
String
,
Integer
>
map
)
{
Date
nextDate
=
DateUtil
.
endOfMonth
(
asDate
(
date
));
map
.
put
(
nextDate
.
getMonth
()
+
1
+
""
,
map
.
get
(
nextDate
.
getMonth
()
+
1
+
""
)
+
1
);
}
private
static
Date
asDate
(
LocalDate
localDate
)
{
return
Date
.
from
(
localDate
.
atStartOfDay
().
atZone
(
ZoneId
.
systemDefault
()).
toInstant
());
}
private
static
Date
asDate
(
LocalDateTime
localDateTime
)
{
return
Date
.
from
(
localDateTime
.
atZone
(
ZoneId
.
systemDefault
()).
toInstant
());
}
private
Map
<
String
,
Integer
>
initMonthMoneyMap
(
long
start
,
long
end
)
{
Map
<
String
,
Integer
>
map
=
new
LinkedHashMap
();
for
(
long
i
=
start
;
i
<=
end
;
i
=
DateUtil
.
offsetMonth
(
DateUtil
.
date
(
i
),
1
).
getTime
())
{
map
.
put
(
DateUtil
.
endOfMonth
(
DateUtil
.
date
(
i
)).
getMonth
()
+
1
+
""
,
0
);
}
return
map
;
}
private
static
long
getDefaultStart
(
long
start
)
{
//如果没传时间进来 默认开始时间是今天开始时间
if
(
start
==
0
)
{
start
=
System
.
currentTimeMillis
();
start
=
DateUtil
.
beginOfYear
(
DateUtil
.
date
(
start
)).
getTime
();
}
return
start
;
}
private
static
long
getDefaultEnd
(
long
end
)
{
//如果没传时间进来 默认开始时间是今天开始时间
if
(
end
==
0
)
{
end
=
System
.
currentTimeMillis
();
end
=
DateUtil
.
endOfYear
(
DateUtil
.
date
(
end
)).
getTime
();
}
return
end
;
}
/**
* 计算标准产值的工时标准系数 plan
* 额定工日*建议系数/报出对应分析结果*考核工值*分析占比
*
* @param normProduction 标准产值配置对象 如:六元素
* @param rate 具体的操作占比 如:统计分析 85%
* @return BigDecimal
*/
private
BigDecimal
calculateWorkTimeCoefficient
(
NormProduction
normProduction
,
Double
rate
)
{
//计算出工时标准系数:
//额定工日*建议系数/报出对应分析结果*考核工值*分析占比
BigDecimal
quotaDayBig
=
BigDecimal
.
valueOf
(
normProduction
.
getQuotaDay
());
BigDecimal
coefficientBig
=
BigDecimal
.
valueOf
(
normProduction
.
getCoefficient
());
BigDecimal
reportedAnalyseRtsBig
=
BigDecimal
.
valueOf
(
normProduction
.
getReportedAnalyseResult
());
BigDecimal
assessValueBig
=
BigDecimal
.
valueOf
(
normProduction
.
getAssessValue
());
BigDecimal
analyseRateBig
=
BigDecimal
.
valueOf
(
rate
);
return
quotaDayBig
.
multiply
(
coefficientBig
)
.
divide
(
reportedAnalyseRtsBig
,
6
,
RoundingMode
.
HALF_DOWN
)
.
multiply
(
assessValueBig
).
multiply
(
analyseRateBig
)
.
setScale
(
6
,
RoundingMode
.
HALF_DOWN
);
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/SysRoleServiceImpl.java
View file @
6ed334c1
...
...
@@ -93,6 +93,9 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
@Override
@Transactional
public
BaseResponse
<
SysRole
>
update
(
RoleQuery
query
)
{
if
(
query
.
getId
()
==
1
){
return
BaseResponse
.
errorMsg
(
"系统管理员角色不允许修改!"
);
}
if
(
StringUtils
.
isEmpty
(
query
.
getName
()))
{
return
BaseResponse
.
errorMsg
(
"角色名称不能为空!"
);
}
...
...
@@ -138,6 +141,9 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
@Override
@Transactional
public
BaseResponse
<
String
>
delete
(
Integer
id
)
{
if
(
id
==
1
){
return
BaseResponse
.
errorMsg
(
"系统管理员角色不允许删除!"
);
}
SysRole
role
=
roleMapper
.
selectById
(
id
);
if
(
role
==
null
)
{
return
BaseResponse
.
errorMsg
(
"角色不存在!"
);
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/UserServiceImpl.java
View file @
6ed334c1
...
...
@@ -2,9 +2,11 @@ package cn.wise.sc.cement.business.service.impl;
import
cn.wise.sc.cement.business.entity.Project
;
import
cn.wise.sc.cement.business.entity.SysPermission
;
import
cn.wise.sc.cement.business.entity.SysRole
;
import
cn.wise.sc.cement.business.entity.SysUser
;
import
cn.wise.sc.cement.business.exception.BusinessExceptionEnum
;
import
cn.wise.sc.cement.business.mapper.SysPermissionMapper
;
import
cn.wise.sc.cement.business.mapper.SysRoleMapper
;
import
cn.wise.sc.cement.business.mapper.SysUserMapper
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.LoginUser
;
...
...
@@ -56,6 +58,8 @@ public class UserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impleme
RedisUtil
redisUtil
;
@Resource
private
SysPermissionMapper
permissionMapper
;
@Resource
private
SysRoleMapper
roleMapper
;
/**
* 当前登录用户
...
...
@@ -75,6 +79,8 @@ public class UserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impleme
LoginUser
loginUser
=
new
LoginUser
();
BeanUtils
.
copyProperties
(
sysUser
,
loginUser
);
List
<
SysPermission
>
permissionList
=
permissionMapper
.
listByUserId
(
loginUser
.
getId
());
SysRole
sysRole
=
roleMapper
.
byUserId
(
sysUser
.
getId
());
loginUser
.
setRoleList
(
sysRole
);
loginUser
.
setPermissions
(
permissionList
);
return
loginUser
;
}
catch
(
Exception
e
)
{
...
...
@@ -114,6 +120,9 @@ public class UserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impleme
if
(
StringUtils
.
isEmpty
(
query
.
getPhone
()))
{
return
BaseResponse
.
errorMsg
(
"手机号码不可为空!"
);
}
if
(
query
.
getRoleId
()
==
null
){
return
BaseResponse
.
errorMsg
(
"请选择角色信息!"
);
}
QueryWrapper
<
SysUser
>
qw
=
new
QueryWrapper
<>();
qw
.
eq
(
"phone"
,
query
.
getPhone
());
int
count
=
userMapper
.
selectCount
(
qw
);
...
...
@@ -124,6 +133,8 @@ public class UserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impleme
BeanUtils
.
copyProperties
(
query
,
user
);
user
.
setStatus
(
1
).
setIsDelete
(
1
).
setCreateTime
(
LocalDateTime
.
now
());
userMapper
.
insert
(
user
);
saveUserRoles
(
user
.
getId
(),
query
.
getRoleId
());
return
BaseResponse
.
okData
(
user
);
}
...
...
@@ -136,9 +147,15 @@ public class UserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impleme
@Override
@Transactional
public
BaseResponse
<
SysUser
>
update
(
UserQuery
query
)
{
if
(
query
.
getId
()
==
1
){
return
BaseResponse
.
errorMsg
(
"不允许更改系统管理员信息!"
);
}
if
(
StringUtils
.
isEmpty
(
query
.
getPhone
()))
{
return
BaseResponse
.
errorMsg
(
"手机号码不可为空!"
);
}
if
(
query
.
getRoleId
()
==
null
){
return
BaseResponse
.
errorMsg
(
"请选择角色信息!"
);
}
QueryWrapper
<
SysUser
>
qw
=
new
QueryWrapper
<>();
qw
.
eq
(
"phone"
,
query
.
getPhone
());
qw
.
ne
(
"id"
,
query
.
getId
());
...
...
@@ -150,9 +167,25 @@ public class UserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impleme
BeanUtils
.
copyProperties
(
query
,
user
);
user
.
setId
(
query
.
getId
());
userMapper
.
updateById
(
user
);
saveUserRoles
(
user
.
getId
(),
query
.
getRoleId
());
return
BaseResponse
.
okData
(
user
);
}
/**
* 保存用户和角色信息
* @param userId
* @param roleId
*/
private
void
saveUserRoles
(
Integer
userId
,
Integer
roleId
)
{
if
(
userId
!=
null
)
{
userMapper
.
deleteUserRole
(
userId
);
if
(
roleId
!=
null
)
{
userMapper
.
saveUserRoles
(
userId
,
roleId
);
}
}
}
/**
* 禁用启用
*
...
...
@@ -163,6 +196,9 @@ public class UserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impleme
@Override
@Transactional
public
BaseResponse
<
String
>
status
(
Integer
status
,
Integer
id
)
{
if
(
id
==
1
){
return
BaseResponse
.
errorMsg
(
"不允许更改系统管理员状态!"
);
}
if
(
status
==
null
||
id
==
null
)
{
return
BaseResponse
.
errorMsg
(
"参数错误!"
);
}
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/WeiXinService.java
View file @
6ed334c1
package
cn
.
wise
.
sc
.
cement
.
business
.
service
.
impl
;
import
cn.hutool.core.util.NumberUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.wise.sc.cement.business.entity.SysUser
;
import
cn.wise.sc.cement.business.model.BaseResponse
;
...
...
@@ -21,6 +22,8 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
@Service
public
class
WeiXinService
{
...
...
@@ -232,6 +235,8 @@ public class WeiXinService {
}
public
static
void
main
(
String
[]
args
)
{
BigDecimal
bigDecimal
=
NumberUtil
.
toBigDecimal
(
StrUtil
.
trim
(
"111 "
));
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/util/CheckCountUtil.java
View file @
6ed334c1
package
cn
.
wise
.
sc
.
cement
.
business
.
util
;
import
com.sun.org.apache.bcel.internal.generic.RETURN
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.http.cookie.SM
;
import
org.apache.poi.hssf.usermodel.HSSFWorkbook
;
import
org.apache.poi.ss.formula.functions.T
;
import
org.apache.poi.ss.usermodel.*
;
...
...
@@ -31,7 +33,7 @@ public class CheckCountUtil {
//object 转成 BigDecimal
public
static
BigDecimal
getBigDecimal
(
Object
value
)
{
BigDecimal
ret
=
null
;
if
(
value
!=
null
)
{
if
(
value
!=
null
&&
!
value
.
equals
(
""
)
)
{
if
(
value
instanceof
BigDecimal
)
{
ret
=
(
BigDecimal
)
value
;
}
else
if
(
value
instanceof
String
)
{
...
...
@@ -56,222 +58,331 @@ public class CheckCountUtil {
public
static
String
checkCount
(
String
name
,
Map
<
String
,
String
>
resultMap
)
{
BigDecimal
endResult
=
null
;
if
(
name
.
equals
(
"L.O.I"
)){
//样重m1—保留4位⼩数
BigDecimal
m1
=
getBigDecimal
(
resultMap
.
get
(
"样重m1"
)).
setScale
(
4
,
BigDecimal
.
ROUND_HALF_UP
);
//空堝重m2—保留4位⼩数
BigDecimal
m2
=
getBigDecimal
(
resultMap
.
get
(
"空堝重m2"
)).
setScale
(
4
,
BigDecimal
.
ROUND_HALF_UP
);
//烧后重m3—保留4位⼩数
BigDecimal
m3
=
getBigDecimal
(
resultMap
.
get
(
"烧后重m3"
)).
setScale
(
4
,
BigDecimal
.
ROUND_HALF_UP
);
//计算的核心公式结果
BigDecimal
countResult
=
(
m1
.
add
(
m2
).
subtract
(
m3
)).
divide
(
m1
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
.
multiply
(
param100
));
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
multiply
(
param100
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
multiply
(
param100
).
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重m1"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"空堝重m2"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"烧后重m3"
))){
//样重m1—保留4位⼩数
BigDecimal
m1
=
getBigDecimal
(
resultMap
.
get
(
"样重m1"
).
trim
()).
setScale
(
4
,
BigDecimal
.
ROUND_HALF_UP
);
//空堝重m2—保留4位⼩数
BigDecimal
m2
=
getBigDecimal
(
resultMap
.
get
(
"空堝重m2"
).
trim
()).
setScale
(
4
,
BigDecimal
.
ROUND_HALF_UP
);
//烧后重m3—保留4位⼩数
BigDecimal
m3
=
getBigDecimal
(
resultMap
.
get
(
"烧后重m3"
).
trim
()).
setScale
(
4
,
BigDecimal
.
ROUND_HALF_UP
);
//计算的核心公式结果
BigDecimal
countResult
=
(
m1
.
add
(
m2
).
subtract
(
m3
)).
divide
(
m1
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
.
multiply
(
param100
));
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
multiply
(
param100
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
multiply
(
param100
).
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
}
else
if
(
name
.
equals
(
"SiO2"
)){
//毫升数
BigDecimal
VSiO2
=
getBigDecimal
(
resultMap
.
get
(
"VSiO2"
));
//滴定度
BigDecimal
TSiO2
=
getBigDecimal
(
resultMap
.
get
(
"TSiO2"
));
//样m
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
));
//计算的核心公式结果
BigDecimal
countResult
=
VSiO2
.
multiply
(
TSiO2
).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"VSiO2"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"TSiO2"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重m"
))){
//毫升数
BigDecimal
VSiO2
=
getBigDecimal
(
resultMap
.
get
(
"VSiO2"
).
trim
());
//滴定度
BigDecimal
TSiO2
=
getBigDecimal
(
resultMap
.
get
(
"TSiO2"
).
trim
());
//样m
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
VSiO2
.
multiply
(
TSiO2
).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
}
else
if
(
name
.
equals
(
"Al2O3+TiO2"
)){
BigDecimal
TAl2O3
=
getBigDecimal
(
resultMap
.
get
(
"TAl2O3"
));
BigDecimal
VAl2O3
=
getBigDecimal
(
resultMap
.
get
(
"VAl2O3"
));
BigDecimal
K
=
getBigDecimal
(
resultMap
.
get
(
"K"
));
BigDecimal
VCuSO4_I
=
getBigDecimal
(
resultMap
.
get
(
"VCuSO4(I)"
));
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
));
//计算的核心公式结果
BigDecimal
countResult
=
TAl2O3
.
multiply
(
VAl2O3
.
subtract
(
K
.
multiply
(
VCuSO4_I
))).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"TAl2O3"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"VAl2O3"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"K"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"VCuSO4(I)"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重m"
))
){
BigDecimal
TAl2O3
=
getBigDecimal
(
resultMap
.
get
(
"TAl2O3"
).
trim
());
BigDecimal
VAl2O3
=
getBigDecimal
(
resultMap
.
get
(
"VAl2O3"
).
trim
());
BigDecimal
K
=
getBigDecimal
(
resultMap
.
get
(
"K"
).
trim
());
BigDecimal
VCuSO4_I
=
getBigDecimal
(
resultMap
.
get
(
"VCuSO4(I)"
).
trim
());
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
TAl2O3
.
multiply
(
VAl2O3
.
subtract
(
K
.
multiply
(
VCuSO4_I
))).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
}
else
if
(
name
.
equals
(
"Al2O3"
)){
BigDecimal
TAl2O3
=
getBigDecimal
(
resultMap
.
get
(
"TAl2O3"
));
BigDecimal
VAl2O3
=
getBigDecimal
(
resultMap
.
get
(
"VAl2O3"
));
BigDecimal
K
=
getBigDecimal
(
resultMap
.
get
(
"K"
));
BigDecimal
VCuSO4_I
=
getBigDecimal
(
resultMap
.
get
(
"VCuSO4(I)"
));
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
));
BigDecimal
VCuSO4_II
=
getBigDecimal
(
resultMap
.
get
(
"VCuSO4(II)"
));
//计算的核心公式结果
BigDecimal
countResult
=
TAl2O3
.
multiply
(
VAl2O3
.
subtract
(
K
.
multiply
(
VCuSO4_I
.
add
(
VCuSO4_II
)))).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"TAl2O3"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"VAl2O3"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"K"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"VCuSO4(I)"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重m"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"VCuSO4(II)"
))
){
BigDecimal
TAl2O3
=
getBigDecimal
(
resultMap
.
get
(
"TAl2O3"
).
trim
());
BigDecimal
VAl2O3
=
getBigDecimal
(
resultMap
.
get
(
"VAl2O3"
).
trim
());
BigDecimal
K
=
getBigDecimal
(
resultMap
.
get
(
"K"
).
trim
());
BigDecimal
VCuSO4_I
=
getBigDecimal
(
resultMap
.
get
(
"VCuSO4(I)"
).
trim
());
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
).
trim
());
BigDecimal
VCuSO4_II
=
getBigDecimal
(
resultMap
.
get
(
"VCuSO4(II)"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
TAl2O3
.
multiply
(
VAl2O3
.
subtract
(
K
.
multiply
(
VCuSO4_I
.
add
(
VCuSO4_II
)))).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
}
else
if
(
name
.
equals
(
"Fe2O3"
)){
BigDecimal
TFe2O3
=
getBigDecimal
(
resultMap
.
get
(
"TFe2O3"
));
BigDecimal
VF2O3
=
getBigDecimal
(
resultMap
.
get
(
"VF2O3"
));
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
));
//计算的核心公式结果
BigDecimal
countResult
=
TFe2O3
.
multiply
(
VF2O3
).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"TFe2O3"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"VF2O3"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重m"
))
){
BigDecimal
TFe2O3
=
getBigDecimal
(
resultMap
.
get
(
"TFe2O3"
).
trim
());
BigDecimal
VF2O3
=
getBigDecimal
(
resultMap
.
get
(
"VF2O3"
).
trim
());
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
TFe2O3
.
multiply
(
VF2O3
).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
}
else
if
(
name
.
equals
(
"CaO"
)){
BigDecimal
TCaO
=
getBigDecimal
(
resultMap
.
get
(
"TCaO"
));
BigDecimal
VCaO
=
getBigDecimal
(
resultMap
.
get
(
"VCaO"
));
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
));
//计算的核心公式结果
BigDecimal
countResult
=
TCaO
.
multiply
(
VCaO
).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"TCaO"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"VCaO"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重m"
))
){
BigDecimal
TCaO
=
getBigDecimal
(
resultMap
.
get
(
"TCaO"
).
trim
());
BigDecimal
VCaO
=
getBigDecimal
(
resultMap
.
get
(
"VCaO"
).
trim
());
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
TCaO
.
multiply
(
VCaO
).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
}
else
if
(
name
.
equals
(
"MgO"
)){
BigDecimal
TMgO
=
getBigDecimal
(
resultMap
.
get
(
"TMgO"
));
BigDecimal
VMgO
=
getBigDecimal
(
resultMap
.
get
(
"VMgO"
));
BigDecimal
VCaO
=
getBigDecimal
(
resultMap
.
get
(
"VCaO"
));
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
));
//计算的核心公式结果
BigDecimal
countResult
=
TMgO
.
multiply
(
VMgO
.
subtract
(
VCaO
)).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"TMgO"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"VMgO"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"VCaO"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重m"
))
){
BigDecimal
TMgO
=
getBigDecimal
(
resultMap
.
get
(
"TMgO"
).
trim
());
BigDecimal
VMgO
=
getBigDecimal
(
resultMap
.
get
(
"VMgO"
).
trim
());
BigDecimal
VCaO
=
getBigDecimal
(
resultMap
.
get
(
"VCaO"
).
trim
());
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
TMgO
.
multiply
(
VMgO
.
subtract
(
VCaO
)).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
}
else
if
(
name
.
equals
(
"TiO2"
)){
BigDecimal
TTiO2
=
getBigDecimal
(
resultMap
.
get
(
"TTiO2"
));
BigDecimal
VCuSO4_II
=
getBigDecimal
(
resultMap
.
get
(
"VCuSO4(II)"
));
BigDecimal
K
=
getBigDecimal
(
resultMap
.
get
(
"K"
));
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
));
//计算的核心公式结果
BigDecimal
countResult
=
TTiO2
.
multiply
(
VCuSO4_II
).
multiply
(
K
).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"TTiO2"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"VCuSO4(II)"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"K"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重m"
))
){
BigDecimal
TTiO2
=
getBigDecimal
(
resultMap
.
get
(
"TTiO2"
).
trim
());
BigDecimal
VCuSO4_II
=
getBigDecimal
(
resultMap
.
get
(
"VCuSO4(II)"
).
trim
());
BigDecimal
K
=
getBigDecimal
(
resultMap
.
get
(
"K"
).
trim
());
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
TTiO2
.
multiply
(
VCuSO4_II
).
multiply
(
K
).
divide
(
m
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
}
else
if
(
name
.
equals
(
"重量法_SO3"
)){
BigDecimal
m2
=
getBigDecimal
(
resultMap
.
get
(
"烧重m2"
));
BigDecimal
m1
=
getBigDecimal
(
resultMap
.
get
(
"埚重m1"
));
BigDecimal
m3
=
getBigDecimal
(
resultMap
.
get
(
"空白m3"
));
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
));
//计算的核心公式结果
BigDecimal
countResult
=
m2
.
subtract
(
m1
).
subtract
(
m3
).
divide
(
m
,
4
).
multiply
(
new
BigDecimal
(
0.343
));
endResult
=
countResult
.
multiply
(
param100
).
setScale
(
4
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"烧重m2"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"埚重m1"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"空白m3"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重m"
))
){
BigDecimal
m2
=
getBigDecimal
(
resultMap
.
get
(
"烧重m2"
).
trim
());
BigDecimal
m1
=
getBigDecimal
(
resultMap
.
get
(
"埚重m1"
).
trim
());
BigDecimal
m3
=
getBigDecimal
(
resultMap
.
get
(
"空白m3"
).
trim
());
BigDecimal
m
=
getBigDecimal
(
resultMap
.
get
(
"样重m"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
m2
.
subtract
(
m1
).
subtract
(
m3
).
divide
(
m
,
4
).
multiply
(
new
BigDecimal
(
0.343
));
endResult
=
countResult
.
multiply
(
param100
).
setScale
(
4
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
else
if
(
name
.
equals
(
"K2O"
)){
BigDecimal
CK2O
=
getBigDecimal
(
resultMap
.
get
(
"CK2O"
));
BigDecimal
V
=
getBigDecimal
(
resultMap
.
get
(
"V"
));
BigDecimal
AK2O
=
getBigDecimal
(
resultMap
.
get
(
"AK2O"
));
BigDecimal
mR20
=
getBigDecimal
(
resultMap
.
get
(
"样重R2O"
));
//计算的核心公式结果
BigDecimal
countResult
=
CK2O
.
multiply
(
V
).
multiply
(
AK2O
).
divide
(
mR20
,
4
).
divide
(
param10000
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"CK2O"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"V"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"AK2O"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重R2O"
))
){
BigDecimal
CK2O
=
getBigDecimal
(
resultMap
.
get
(
"CK2O"
).
trim
());
BigDecimal
V
=
getBigDecimal
(
resultMap
.
get
(
"V"
).
trim
());
BigDecimal
AK2O
=
getBigDecimal
(
resultMap
.
get
(
"AK2O"
).
trim
());
BigDecimal
mR20
=
getBigDecimal
(
resultMap
.
get
(
"样重R2O"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
CK2O
.
multiply
(
V
).
multiply
(
AK2O
).
divide
(
mR20
,
4
).
divide
(
param10000
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
}
else
if
(
name
.
equals
(
"Na2O"
)){
BigDecimal
CNa2O
=
getBigDecimal
(
resultMap
.
get
(
"CNa2O"
));
BigDecimal
V
=
getBigDecimal
(
resultMap
.
get
(
"V"
));
BigDecimal
ANa2O
=
getBigDecimal
(
resultMap
.
get
(
"ANa2O"
));
BigDecimal
mR20
=
getBigDecimal
(
resultMap
.
get
(
"样重R2O"
));
//计算的核心公式结果
BigDecimal
countResult
=
CNa2O
.
multiply
(
V
).
multiply
(
ANa2O
).
divide
(
mR20
,
4
).
divide
(
param10000
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"CNa2O"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"V"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"ANa2O"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重R2O"
))
){
BigDecimal
CNa2O
=
getBigDecimal
(
resultMap
.
get
(
"CNa2O"
).
trim
());
BigDecimal
V
=
getBigDecimal
(
resultMap
.
get
(
"V"
).
trim
());
BigDecimal
ANa2O
=
getBigDecimal
(
resultMap
.
get
(
"ANa2O"
).
trim
());
BigDecimal
mR20
=
getBigDecimal
(
resultMap
.
get
(
"样重R2O"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
CNa2O
.
multiply
(
V
).
multiply
(
ANa2O
).
divide
(
mR20
,
4
).
divide
(
param10000
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
}
else
if
(
name
.
equals
(
"MnO"
)){
BigDecimal
CMnO
=
getBigDecimal
(
resultMap
.
get
(
"CMnO"
));
BigDecimal
V
=
getBigDecimal
(
resultMap
.
get
(
"V"
));
BigDecimal
AMnO
=
getBigDecimal
(
resultMap
.
get
(
"AMnO"
));
BigDecimal
mR20
=
getBigDecimal
(
resultMap
.
get
(
"样重R2O"
));
//计算的核心公式结果
BigDecimal
countResult
=
CMnO
.
multiply
(
V
).
multiply
(
AMnO
).
divide
(
mR20
,
4
).
divide
(
param10000
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"CMnO"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"V"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"AMnO"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重R2O"
))
){
BigDecimal
CMnO
=
getBigDecimal
(
resultMap
.
get
(
"CMnO"
).
trim
());
BigDecimal
V
=
getBigDecimal
(
resultMap
.
get
(
"V"
).
trim
());
BigDecimal
AMnO
=
getBigDecimal
(
resultMap
.
get
(
"AMnO"
).
trim
());
BigDecimal
mR20
=
getBigDecimal
(
resultMap
.
get
(
"样重R2O"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
CMnO
.
multiply
(
V
).
multiply
(
AMnO
).
divide
(
mR20
,
4
).
divide
(
param10000
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
}
else
if
(
name
.
equals
(
"Cl"
)){
BigDecimal
T
=
getBigDecimal
(
resultMap
.
get
(
"T"
));
BigDecimal
V2
=
getBigDecimal
(
resultMap
.
get
(
"V2"
));
BigDecimal
V1
=
getBigDecimal
(
resultMap
.
get
(
"V1"
));
BigDecimal
mCl
=
getBigDecimal
(
resultMap
.
get
(
"样重Cl"
));
//计算的核心公式结果
BigDecimal
countResult
=
T
.
multiply
(
V2
.
subtract
(
V1
)).
divide
(
mCl
,
4
).
divide
(
param10
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param1000
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
3
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
3
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"T"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"V2"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"V1"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重Cl"
))
){
BigDecimal
T
=
getBigDecimal
(
resultMap
.
get
(
"T"
).
trim
());
BigDecimal
V2
=
getBigDecimal
(
resultMap
.
get
(
"V2"
).
trim
());
BigDecimal
V1
=
getBigDecimal
(
resultMap
.
get
(
"V1"
).
trim
());
BigDecimal
mCl
=
getBigDecimal
(
resultMap
.
get
(
"样重Cl"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
T
.
multiply
(
V2
.
subtract
(
V1
)).
divide
(
mCl
,
4
).
divide
(
param10
,
4
);
BigDecimal
result1
=
countResult
.
multiply
(
param1000
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
endResult
=
countResult
.
setScale
(
3
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
endResult
=
countResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
3
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
}
else
if
(
name
.
equals
(
"Mad1"
)){
BigDecimal
YZ_M1
=
getBigDecimal
(
resultMap
.
get
(
"样重M1"
));
BigDecimal
MZ_M1
=
getBigDecimal
(
resultMap
.
get
(
"皿重M1"
));
BigDecimal
SZ_M1
=
getBigDecimal
(
resultMap
.
get
(
"烧重M1"
));
//计算的核心公式结果
BigDecimal
countResult
=
YZ_M1
.
add
(
MZ_M1
).
subtract
(
SZ_M1
).
divide
(
YZ_M1
,
4
);
endResult
=
countResult
.
multiply
(
param100
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重M1"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"皿重M1"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"烧重M1"
))
){
BigDecimal
YZ_M1
=
getBigDecimal
(
resultMap
.
get
(
"样重M1"
).
trim
());
BigDecimal
MZ_M1
=
getBigDecimal
(
resultMap
.
get
(
"皿重M1"
).
trim
());
BigDecimal
SZ_M1
=
getBigDecimal
(
resultMap
.
get
(
"烧重M1"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
YZ_M1
.
add
(
MZ_M1
).
subtract
(
SZ_M1
).
divide
(
YZ_M1
,
4
);
endResult
=
countResult
.
multiply
(
param100
);
}
}
else
if
(
name
.
equals
(
"Mad2"
)){
BigDecimal
YZ_M2
=
getBigDecimal
(
resultMap
.
get
(
"样重M2"
));
BigDecimal
MZ_M2
=
getBigDecimal
(
resultMap
.
get
(
"皿重M2"
));
BigDecimal
SZ_M2
=
getBigDecimal
(
resultMap
.
get
(
"烧重M2"
));
//计算的核心公式结果
BigDecimal
countResult
=
YZ_M2
.
add
(
MZ_M2
).
subtract
(
SZ_M2
).
divide
(
YZ_M2
,
4
);
endResult
=
countResult
.
multiply
(
param100
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重M2"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"皿重M2"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"烧重M2"
))
){
BigDecimal
YZ_M2
=
getBigDecimal
(
resultMap
.
get
(
"样重M2"
).
trim
());
BigDecimal
MZ_M2
=
getBigDecimal
(
resultMap
.
get
(
"皿重M2"
).
trim
());
BigDecimal
SZ_M2
=
getBigDecimal
(
resultMap
.
get
(
"烧重M2"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
YZ_M2
.
add
(
MZ_M2
).
subtract
(
SZ_M2
).
divide
(
YZ_M2
,
4
);
endResult
=
countResult
.
multiply
(
param100
);
}
}
else
if
(
name
.
equals
(
"Aad1"
)){
BigDecimal
SZ_A1
=
getBigDecimal
(
resultMap
.
get
(
"烧重A1"
));
BigDecimal
MZ_A1
=
getBigDecimal
(
resultMap
.
get
(
"皿重A1"
));
BigDecimal
YZ_A1
=
getBigDecimal
(
resultMap
.
get
(
"样重A1"
));
//计算的核心公式结果
BigDecimal
countResult
=
SZ_A1
.
subtract
(
MZ_A1
).
divide
(
YZ_A1
,
4
);
endResult
=
countResult
.
multiply
(
param100
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"烧重A1"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"皿重A1"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重A1"
))
){
BigDecimal
SZ_A1
=
getBigDecimal
(
resultMap
.
get
(
"烧重A1"
).
trim
());
BigDecimal
MZ_A1
=
getBigDecimal
(
resultMap
.
get
(
"皿重A1"
).
trim
());
BigDecimal
YZ_A1
=
getBigDecimal
(
resultMap
.
get
(
"样重A1"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
SZ_A1
.
subtract
(
MZ_A1
).
divide
(
YZ_A1
,
4
);
endResult
=
countResult
.
multiply
(
param100
);
}
}
else
if
(
name
.
equals
(
"Aad2"
)){
BigDecimal
SZ_A2
=
getBigDecimal
(
resultMap
.
get
(
"烧重A2"
));
BigDecimal
MZ_A2
=
getBigDecimal
(
resultMap
.
get
(
"皿重A2"
));
BigDecimal
YZ_A2
=
getBigDecimal
(
resultMap
.
get
(
"样重A2"
));
//计算的核心公式结果
BigDecimal
countResult
=
SZ_A2
.
subtract
(
MZ_A2
).
divide
(
YZ_A2
,
4
);
endResult
=
countResult
.
multiply
(
param100
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"烧重A2"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"皿重A2"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重A2"
))
){
BigDecimal
SZ_A2
=
getBigDecimal
(
resultMap
.
get
(
"烧重A2"
).
trim
());
BigDecimal
MZ_A2
=
getBigDecimal
(
resultMap
.
get
(
"皿重A2"
).
trim
());
BigDecimal
YZ_A2
=
getBigDecimal
(
resultMap
.
get
(
"样重A2"
).
trim
());
//计算的核心公式结果
BigDecimal
countResult
=
SZ_A2
.
subtract
(
MZ_A2
).
divide
(
YZ_A2
,
4
);
endResult
=
countResult
.
multiply
(
param100
);
}
}
else
if
(
name
.
equals
(
"焦渣"
)){
endResult
=
getBigDecimal
(
resultMap
.
get
(
"焦渣特征"
));
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"焦渣特征"
))
){
endResult
=
getBigDecimal
(
resultMap
.
get
(
"焦渣特征"
).
trim
());
}
}
else
if
(
name
.
equals
(
"St,ad"
)){
endResult
=
getBigDecimal
(
resultMap
.
get
(
"显示值"
));
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"显示值"
))
){
endResult
=
getBigDecimal
(
resultMap
.
get
(
"显示值"
).
trim
());
}
}
return
endResult
.
toString
();
return
endResult
==
null
?
""
:
endResult
.
toString
();
}
/**
...
...
@@ -281,25 +392,30 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countSO3
(
Map
<
String
,
String
>
resultMap
,
Map
<
String
,
String
>
countMap
)
{
BigDecimal
weightSO3
=
getBigDecimal
(
countMap
.
get
(
"重量法_SO3"
));
BigDecimal
displaySO3
=
getBigDecimal
(
resultMap
.
get
(
"显示值"
));
BigDecimal
mSO3
=
getBigDecimal
(
resultMap
.
get
(
"样重SO3"
));
BigDecimal
elseResult
=
displaySO3
.
multiply
(
new
BigDecimal
(
2.5
));
BigDecimal
countResult
=
weightSO3
.
compareTo
(
new
BigDecimal
(
0
))==
1
?
weightSO3:
elseResult
;
BigDecimal
result1
=
countResult
.
multiply
(
param1000
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
BigDecimal
count
=
null
;
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
BigDecimal
jsResult
=
weightSO3
.
compareTo
(
new
BigDecimal
(
0
))==
1
?
weightSO3:
elseResult
.
multiply
(
mSO3
).
divide
(
mSO3
,
4
);
count
=
jsResult
.
setScale
(
3
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
BigDecimal
osResult
=
weightSO3
.
compareTo
(
new
BigDecimal
(
0
))==
1
?
weightSO3:
elseResult
.
multiply
(
mSO3
).
divide
(
mSO3
,
4
);
count
=
osResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
3
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"重量法_SO3"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"显示值"
))&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"样重SO3"
))
){
BigDecimal
weightSO3
=
getBigDecimal
(
countMap
.
get
(
"重量法_SO3"
));
BigDecimal
displaySO3
=
getBigDecimal
(
resultMap
.
get
(
"显示值"
).
trim
());
BigDecimal
mSO3
=
getBigDecimal
(
resultMap
.
get
(
"样重SO3"
).
trim
());
BigDecimal
elseResult
=
displaySO3
.
multiply
(
new
BigDecimal
(
2.5
));
BigDecimal
countResult
=
weightSO3
.
compareTo
(
new
BigDecimal
(
0
))==
1
?
weightSO3:
elseResult
;
BigDecimal
result1
=
countResult
.
multiply
(
param1000
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
BigDecimal
jsResult
=
weightSO3
.
compareTo
(
new
BigDecimal
(
0
))==
1
?
weightSO3:
elseResult
.
multiply
(
mSO3
).
divide
(
mSO3
,
4
);
count
=
jsResult
.
setScale
(
3
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
BigDecimal
osResult
=
weightSO3
.
compareTo
(
new
BigDecimal
(
0
))==
1
?
weightSO3:
elseResult
.
multiply
(
mSO3
).
divide
(
mSO3
,
4
);
count
=
osResult
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
3
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
return
count
.
toString
();
return
count
==
null
?
""
:
count
.
toString
();
}
/**
...
...
@@ -308,20 +424,20 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countHL
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
count
=
new
BigDecimal
(
0
);
List
<
String
>
list
=
new
ArrayList
<>();
list
.
add
(
countMap
.
get
(
"L.O.I"
));
list
.
add
(
countMap
.
get
(
"SiO2"
));
list
.
add
(
StringUtils
.
isEmpty
(
countMap
.
get
(
"L.O.I"
))?
"0"
:
countMap
.
get
(
"L.O.I"
));
list
.
add
(
StringUtils
.
isEmpty
(
countMap
.
get
(
"SiO2"
))?
"0"
:
countMap
.
get
(
"SiO2"
));
// list.add(countMap.get("Al2O3+TiO2"));
list
.
add
(
countMap
.
get
(
"Al2O3"
));
list
.
add
(
countMap
.
get
(
"Fe2O3"
));
list
.
add
(
countMap
.
get
(
"CaO"
));
list
.
add
(
countMap
.
get
(
"MgO"
));
list
.
add
(
countMap
.
get
(
"TiO2"
));
list
.
add
(
countMap
.
get
(
"K2O"
));
list
.
add
(
countMap
.
get
(
"Na2O"
));
list
.
add
(
countMap
.
get
(
"MnO"
));
list
.
add
(
countMap
.
get
(
"SO3"
));
BigDecimal
count
=
new
BigDecimal
(
0
);
list
.
add
(
StringUtils
.
isEmpty
(
countMap
.
get
(
"Al2O3"
))?
"0"
:
countMap
.
get
(
"Al2O3"
));
list
.
add
(
StringUtils
.
isEmpty
(
countMap
.
get
(
"Fe2O3"
))?
"0"
:
countMap
.
get
(
"Fe2O3"
));
list
.
add
(
StringUtils
.
isEmpty
(
countMap
.
get
(
"CaO"
))?
"0"
:
countMap
.
get
(
"CaO"
));
list
.
add
(
StringUtils
.
isEmpty
(
countMap
.
get
(
"MgO"
))?
"0"
:
countMap
.
get
(
"MgO"
));
list
.
add
(
StringUtils
.
isEmpty
(
countMap
.
get
(
"TiO2"
))?
"0"
:
countMap
.
get
(
"TiO2"
));
list
.
add
(
StringUtils
.
isEmpty
(
countMap
.
get
(
"K2O"
))?
"0"
:
countMap
.
get
(
"K2O"
));
list
.
add
(
StringUtils
.
isEmpty
(
countMap
.
get
(
"Na2O"
))?
"0"
:
countMap
.
get
(
"Na2O"
));
list
.
add
(
StringUtils
.
isEmpty
(
countMap
.
get
(
"MnO"
))?
"0"
:
countMap
.
get
(
"MnO"
));
list
.
add
(
StringUtils
.
isEmpty
(
countMap
.
get
(
"SO3"
))?
"0"
:
countMap
.
get
(
"SO3"
));
for
(
String
s:
list
)
{
count
=
count
.
add
(
new
BigDecimal
(
s
));
}
...
...
@@ -334,13 +450,19 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countKH
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
CaO
=
getBigDecimal
(
countMap
.
get
(
"Cao"
));
BigDecimal
Al2O3_TiO2
=
getBigDecimal
(
countMap
.
get
(
"Al2O3+TiO2"
));
BigDecimal
Fe2O3
=
getBigDecimal
(
countMap
.
get
(
"Fe2O3"
));
BigDecimal
SiO2
=
getBigDecimal
(
countMap
.
get
(
"SiO2"
));
BigDecimal
KH
=
CaO
.
subtract
(
new
BigDecimal
(
1.65
).
multiply
(
Al2O3_TiO2
)).
subtract
(
new
BigDecimal
(
0.35
).
multiply
(
Fe2O3
)).
divide
(
new
BigDecimal
(
2.8
),
4
).
divide
(
SiO2
,
4
);
return
KH
.
toString
();
BigDecimal
KH
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Cao"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Al2O3+TiO2"
))&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Fe2O3"
))&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"SiO2"
))
){
BigDecimal
CaO
=
getBigDecimal
(
countMap
.
get
(
"Cao"
));
BigDecimal
Al2O3_TiO2
=
getBigDecimal
(
countMap
.
get
(
"Al2O3+TiO2"
));
BigDecimal
Fe2O3
=
getBigDecimal
(
countMap
.
get
(
"Fe2O3"
));
BigDecimal
SiO2
=
getBigDecimal
(
countMap
.
get
(
"SiO2"
));
KH
=
CaO
.
subtract
(
new
BigDecimal
(
1.65
).
multiply
(
Al2O3_TiO2
)).
subtract
(
new
BigDecimal
(
0.35
).
multiply
(
Fe2O3
)).
divide
(
new
BigDecimal
(
2.8
),
4
).
divide
(
SiO2
,
4
);
}
return
KH
==
null
?
""
:
KH
.
toString
();
}
/**
...
...
@@ -349,11 +471,17 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countSM
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
SiO2
=
getBigDecimal
(
countMap
.
get
(
"SiO2"
));
BigDecimal
Al2O3_TiO2
=
getBigDecimal
(
countMap
.
get
(
"Al2O3+TiO2"
));
BigDecimal
Fe2O3
=
getBigDecimal
(
countMap
.
get
(
"Fe2O3"
));
BigDecimal
SM
=
SiO2
.
divide
(
Al2O3_TiO2
.
add
(
Fe2O3
),
4
);
return
SM
.
toString
();
BigDecimal
SM
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"SiO2"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Al2O3+TiO2"
))&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Fe2O3"
))
){
BigDecimal
SiO2
=
getBigDecimal
(
countMap
.
get
(
"SiO2"
));
BigDecimal
Al2O3_TiO2
=
getBigDecimal
(
countMap
.
get
(
"Al2O3+TiO2"
));
BigDecimal
Fe2O3
=
getBigDecimal
(
countMap
.
get
(
"Fe2O3"
));
SM
=
SiO2
.
divide
(
Al2O3_TiO2
.
add
(
Fe2O3
),
4
);
}
return
SM
==
null
?
""
:
SM
.
toString
();
}
/**
...
...
@@ -362,10 +490,15 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countAM
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
Al2O3_TiO2
=
getBigDecimal
(
countMap
.
get
(
"Al2O3+TiO2"
));
BigDecimal
Fe2O3
=
getBigDecimal
(
countMap
.
get
(
"Fe2O3"
));
BigDecimal
AM
=
Al2O3_TiO2
.
divide
(
Fe2O3
,
4
);
return
AM
.
toString
();
BigDecimal
AM
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Al2O3+TiO2"
))&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Fe2O3"
))
){
BigDecimal
Al2O3_TiO2
=
getBigDecimal
(
countMap
.
get
(
"Al2O3+TiO2"
));
BigDecimal
Fe2O3
=
getBigDecimal
(
countMap
.
get
(
"Fe2O3"
));
AM
=
Al2O3_TiO2
.
divide
(
Fe2O3
,
4
);
}
return
AM
==
null
?
""
:
AM
.
toString
();
}
/**
...
...
@@ -375,23 +508,32 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countBurnupLevel
(
Map
<
String
,
String
>
resultMap
,
Map
<
String
,
String
>
countMap
)
{
BigDecimal
fCaO_1450
=
getBigDecimal
(
resultMap
.
get
(
"fCaO_1450"
));
BigDecimal
KH
=
getBigDecimal
(
countMap
.
get
(
"KH"
));
BigDecimal
E
=
new
BigDecimal
(
45
).
multiply
(
KH
).
subtract
(
new
BigDecimal
(
37.4
));
BigDecimal
D
=
new
BigDecimal
(
35
).
multiply
(
KH
).
subtract
(
new
BigDecimal
(
29.3
));
BigDecimal
C
=
new
BigDecimal
(
26.25
).
multiply
(
KH
).
subtract
(
new
BigDecimal
(
22.15
));
BigDecimal
B
=
new
BigDecimal
(
18.75
).
multiply
(
KH
).
subtract
(
new
BigDecimal
(
16
));
if
(
fCaO_1450
.
compareTo
(
E
)
==
1
){
return
"E"
;
}
else
if
(
fCaO_1450
.
compareTo
(
D
)
==
1
){
return
"D"
;
}
else
if
(
fCaO_1450
.
compareTo
(
C
)
==
1
){
return
"C"
;
}
else
if
(
fCaO_1450
.
compareTo
(
B
)
==
1
){
return
"B"
;
}
else
{
return
"A"
;
String
endResult
=
""
;
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"fCaO_1450"
))&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"KH"
))
){
BigDecimal
fCaO_1450
=
getBigDecimal
(
resultMap
.
get
(
"fCaO_1450"
).
trim
());
BigDecimal
KH
=
getBigDecimal
(
countMap
.
get
(
"KH"
).
trim
());
BigDecimal
E
=
new
BigDecimal
(
45
).
multiply
(
KH
).
subtract
(
new
BigDecimal
(
37.4
));
BigDecimal
D
=
new
BigDecimal
(
35
).
multiply
(
KH
).
subtract
(
new
BigDecimal
(
29.3
));
BigDecimal
C
=
new
BigDecimal
(
26.25
).
multiply
(
KH
).
subtract
(
new
BigDecimal
(
22.15
));
BigDecimal
B
=
new
BigDecimal
(
18.75
).
multiply
(
KH
).
subtract
(
new
BigDecimal
(
16
));
if
(
fCaO_1450
.
compareTo
(
E
)
==
1
){
endResult
=
"E"
;
}
else
if
(
fCaO_1450
.
compareTo
(
D
)
==
1
){
endResult
=
"D"
;
}
else
if
(
fCaO_1450
.
compareTo
(
C
)
==
1
){
endResult
=
"C"
;
}
else
if
(
fCaO_1450
.
compareTo
(
B
)
==
1
){
endResult
=
"B"
;
}
else
{
endResult
=
"A"
;
}
}
return
endResult
;
}
/**
...
...
@@ -400,11 +542,17 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countBCMad
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
Mad1
=
getBigDecimal
(
countMap
.
get
(
"Mad1"
));
BigDecimal
Mad2
=
getBigDecimal
(
countMap
.
get
(
"Mad2"
));
//计算Mad1 和 Mad2 的平均值
BigDecimal
BC_Mad
=
Mad1
.
add
(
Mad2
).
divide
(
new
BigDecimal
(
2
),
4
);
return
BC_Mad
.
toString
();
BigDecimal
BC_Mad
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Mad1"
))&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Mad2"
))
){
BigDecimal
Mad1
=
getBigDecimal
(
countMap
.
get
(
"Mad1"
));
BigDecimal
Mad2
=
getBigDecimal
(
countMap
.
get
(
"Mad2"
));
//计算Mad1 和 Mad2 的平均值
BC_Mad
=
Mad1
.
add
(
Mad2
).
divide
(
new
BigDecimal
(
2
),
4
);
}
return
BC_Mad
==
null
?
""
:
BC_Mad
.
toString
();
}
/**
...
...
@@ -413,17 +561,21 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countMad
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
BC_Mad
=
getBigDecimal
(
countMap
.
get
(
"报出_Mad"
));
//判断奇偶数的最终值
BigDecimal
result1
=
BC_Mad
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
BigDecimal
Mad
=
null
;
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
Mad
=
BC_Mad
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
Mad
=
BC_Mad
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"报出_Mad"
))
){
BigDecimal
BC_Mad
=
getBigDecimal
(
countMap
.
get
(
"报出_Mad"
));
//判断奇偶数的最终值
BigDecimal
result1
=
BC_Mad
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
Mad
=
BC_Mad
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
Mad
=
BC_Mad
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
return
Mad
.
toString
();
return
Mad
==
null
?
""
:
Mad
.
toString
();
}
/**
...
...
@@ -432,11 +584,17 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countBCAad
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
Aad1
=
getBigDecimal
(
countMap
.
get
(
"Aad1"
));
BigDecimal
Aad2
=
getBigDecimal
(
countMap
.
get
(
"Aad2"
));
//计算Mad1 和 Mad2 的平均值
BigDecimal
BC_Aad
=
Aad1
.
add
(
Aad2
).
divide
(
new
BigDecimal
(
2
),
4
);
return
BC_Aad
.
toString
();
BigDecimal
BC_Aad
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Aad1"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Aad2"
))
){
BigDecimal
Aad1
=
getBigDecimal
(
countMap
.
get
(
"Aad1"
));
BigDecimal
Aad2
=
getBigDecimal
(
countMap
.
get
(
"Aad2"
));
//计算Mad1 和 Mad2 的平均值
BC_Aad
=
Aad1
.
add
(
Aad2
).
divide
(
new
BigDecimal
(
2
),
4
);
}
return
BC_Aad
==
null
?
""
:
BC_Aad
.
toString
();
}
/**
...
...
@@ -445,17 +603,20 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countAad
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
BC_Aad
=
getBigDecimal
(
countMap
.
get
(
"报出_Aad"
));
//判断奇偶数的最终值
BigDecimal
result1
=
BC_Aad
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
BigDecimal
Aad
=
null
;
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
Aad
=
BC_Aad
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
Aad
=
BC_Aad
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"报出_Aad"
))
){
BigDecimal
BC_Aad
=
getBigDecimal
(
countMap
.
get
(
"报出_Aad"
));
//判断奇偶数的最终值
BigDecimal
result1
=
BC_Aad
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
Aad
=
BC_Aad
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
Aad
=
BC_Aad
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
return
Aad
.
toString
();
return
Aad
==
null
?
""
:
Aad
.
toString
();
}
/**
...
...
@@ -465,14 +626,23 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countVad1
(
Map
<
String
,
String
>
resultMap
,
Map
<
String
,
String
>
countMap
)
{
BigDecimal
YZ_V1
=
getBigDecimal
(
resultMap
.
get
(
"样重V1"
));
BigDecimal
MZ_V1
=
getBigDecimal
(
resultMap
.
get
(
"皿重V1"
));
BigDecimal
SZ_V1
=
getBigDecimal
(
resultMap
.
get
(
"烧重V1"
));
BigDecimal
BC_Mad
=
getBigDecimal
(
countMap
.
get
(
"报出_Mad"
));
//计算的核心公式结果
BigDecimal
countResult
=
YZ_V1
.
add
(
MZ_V1
).
subtract
(
SZ_V1
).
divide
(
YZ_V1
,
4
);
BigDecimal
count
=
countResult
.
multiply
(
param100
).
subtract
(
BC_Mad
);
return
count
.
toString
();
BigDecimal
count
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"样重V1"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"皿重V1"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"烧重V1"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"报出_Mad"
))
){
BigDecimal
YZ_V1
=
getBigDecimal
(
resultMap
.
get
(
"样重V1"
).
trim
());
BigDecimal
MZ_V1
=
getBigDecimal
(
resultMap
.
get
(
"皿重V1"
).
trim
());
BigDecimal
SZ_V1
=
getBigDecimal
(
resultMap
.
get
(
"烧重V1"
).
trim
());
BigDecimal
BC_Mad
=
getBigDecimal
(
countMap
.
get
(
"报出_Mad"
));
//计算的核心公式结果
BigDecimal
countResult
=
YZ_V1
.
add
(
MZ_V1
).
subtract
(
SZ_V1
).
divide
(
YZ_V1
,
4
);
count
=
countResult
.
multiply
(
param100
).
subtract
(
BC_Mad
);
}
return
count
==
null
?
""
:
count
.
toString
();
}
/**
...
...
@@ -482,14 +652,21 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countVad2
(
Map
<
String
,
String
>
resultMap
,
Map
<
String
,
String
>
countMap
)
{
BigDecimal
YZ_V2
=
getBigDecimal
(
resultMap
.
get
(
"样重V2"
));
BigDecimal
MZ_V2
=
getBigDecimal
(
resultMap
.
get
(
"皿重V2"
));
BigDecimal
SZ_V2
=
getBigDecimal
(
resultMap
.
get
(
"烧重V2"
));
BigDecimal
BC_Mad
=
getBigDecimal
(
countMap
.
get
(
"报出_Mad"
));
//计算的核心公式结果
BigDecimal
countResult
=
YZ_V2
.
add
(
MZ_V2
).
subtract
(
SZ_V2
).
divide
(
YZ_V2
,
4
);
BigDecimal
count
=
countResult
.
multiply
(
param100
).
subtract
(
BC_Mad
);
return
count
.
toString
();
BigDecimal
count
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"样重V2"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"皿重V2"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"烧重V2"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"报出_Mad"
))
){
BigDecimal
YZ_V2
=
getBigDecimal
(
resultMap
.
get
(
"样重V2"
));
BigDecimal
MZ_V2
=
getBigDecimal
(
resultMap
.
get
(
"皿重V2"
));
BigDecimal
SZ_V2
=
getBigDecimal
(
resultMap
.
get
(
"烧重V2"
));
BigDecimal
BC_Mad
=
getBigDecimal
(
countMap
.
get
(
"报出_Mad"
));
//计算的核心公式结果
BigDecimal
countResult
=
YZ_V2
.
add
(
MZ_V2
).
subtract
(
SZ_V2
).
divide
(
YZ_V2
,
4
);
count
=
countResult
.
multiply
(
param100
).
subtract
(
BC_Mad
);
}
return
count
==
null
?
""
:
count
.
toString
();
}
/**
...
...
@@ -498,11 +675,16 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countBCVad
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
Vad1
=
getBigDecimal
(
countMap
.
get
(
"Vad1"
));
BigDecimal
Vad2
=
getBigDecimal
(
countMap
.
get
(
"Vad2"
));
//计算Vad1 和 Vad2 的平均值
BigDecimal
BC_Vad
=
Vad1
.
add
(
Vad2
).
divide
(
new
BigDecimal
(
2
),
4
);
return
BC_Vad
.
toString
();
BigDecimal
BC_Vad
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Vad1"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Vad2"
))
){
BigDecimal
Vad1
=
getBigDecimal
(
countMap
.
get
(
"Vad1"
));
BigDecimal
Vad2
=
getBigDecimal
(
countMap
.
get
(
"Vad2"
));
//计算Vad1 和 Vad2 的平均值
BC_Vad
=
Vad1
.
add
(
Vad2
).
divide
(
new
BigDecimal
(
2
),
4
);
}
return
BC_Vad
==
null
?
""
:
BC_Vad
.
toString
();
}
/**
...
...
@@ -511,17 +693,21 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countVad
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
BC_Vad
=
getBigDecimal
(
countMap
.
get
(
"报出_Vad"
));
//判断奇偶数的最终值
BigDecimal
result1
=
BC_Vad
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
BigDecimal
Vad
=
null
;
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
Vad
=
BC_Vad
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
Vad
=
BC_Vad
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"报出_Vad"
))
){
BigDecimal
BC_Vad
=
getBigDecimal
(
countMap
.
get
(
"报出_Vad"
));
//判断奇偶数的最终值
BigDecimal
result1
=
BC_Vad
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
Vad
=
BC_Vad
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
Vad
=
BC_Vad
.
subtract
(
new
BigDecimal
(
0.00000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
return
Vad
.
toString
();
return
Vad
==
null
?
""
:
Vad
.
toString
();
}
/**
...
...
@@ -530,11 +716,17 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countVdaf
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
Vad
=
getBigDecimal
(
countMap
.
get
(
"Vad"
));
BigDecimal
Mad
=
getBigDecimal
(
countMap
.
get
(
"Mad"
));
BigDecimal
Aad
=
getBigDecimal
(
countMap
.
get
(
"Aad"
));
BigDecimal
Vdaf
=
Vad
.
multiply
(
param100
).
multiply
(
param100
.
subtract
(
Mad
).
subtract
(
Aad
));
return
Vdaf
.
toString
();
BigDecimal
Vdaf
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Vad"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Mad"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Aad"
))
){
BigDecimal
Vad
=
getBigDecimal
(
countMap
.
get
(
"Vad"
));
BigDecimal
Mad
=
getBigDecimal
(
countMap
.
get
(
"Mad"
));
BigDecimal
Aad
=
getBigDecimal
(
countMap
.
get
(
"Aad"
));
Vdaf
=
Vad
.
multiply
(
param100
).
multiply
(
param100
.
subtract
(
Mad
).
subtract
(
Aad
));
}
return
Vdaf
==
null
?
""
:
Vdaf
.
toString
();
}
/**
...
...
@@ -543,16 +735,21 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countK1_
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
Vdaf
=
getBigDecimal
(
countMap
.
get
(
"Vdaf"
));
BigDecimal
K1_
=
Vdaf
.
compareTo
(
new
BigDecimal
(
62
))==
1
?
new
BigDecimal
(
61.5
):(
Vdaf
.
compareTo
(
new
BigDecimal
(
56
))==
1
?
new
BigDecimal
(
63
):(
Vdaf
.
compareTo
(
new
BigDecimal
(
49
))==
1
?
new
BigDecimal
(
65
):(
Vdaf
.
compareTo
(
new
BigDecimal
(
45
))==
1
?
new
BigDecimal
(
67
):(
Vdaf
.
compareTo
(
new
BigDecimal
(
37
))==
1
?
new
BigDecimal
(
68.5
):
new
BigDecimal
(
0
)
))));
return
K1_
.
toString
();
BigDecimal
K1_
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Vdaf"
))
){
BigDecimal
Vdaf
=
getBigDecimal
(
countMap
.
get
(
"Vdaf"
));
K1_
=
Vdaf
.
compareTo
(
new
BigDecimal
(
62
))==
1
?
new
BigDecimal
(
61.5
):(
Vdaf
.
compareTo
(
new
BigDecimal
(
56
))==
1
?
new
BigDecimal
(
63
):(
Vdaf
.
compareTo
(
new
BigDecimal
(
49
))==
1
?
new
BigDecimal
(
65
):(
Vdaf
.
compareTo
(
new
BigDecimal
(
45
))==
1
?
new
BigDecimal
(
67
):(
Vdaf
.
compareTo
(
new
BigDecimal
(
37
))==
1
?
new
BigDecimal
(
68.5
):
new
BigDecimal
(
0
)
))));
}
return
K1_
==
null
?
""
:
K1_
.
toString
();
}
/**
...
...
@@ -562,43 +759,47 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countK
(
Map
<
String
,
String
>
resultMap
,
Map
<
String
,
String
>
countMap
)
{
String
JZTZ
=
resultMap
.
get
(
"焦渣特征"
);
BigDecimal
Vdaf
=
getBigDecimal
(
countMap
.
get
(
"Vdaf"
));
//获取焦渣特征序号对应的值
Map
<
String
,
String
>
map
=
JZTZCountUtil
.
getJZTZ
(
Vdaf
);
String
count
=
""
;
if
(
JZTZ
.
equals
(
"1"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"1.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"2"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"2.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"3"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"3.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"4"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"4.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"5.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"6"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"6.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"7"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"7.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"8"
)){
count
=
map
.
get
(
JZTZ
);
}
else
{
count
=
"false"
;
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"焦渣特征"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Vdaf"
))
){
String
JZTZ
=
resultMap
.
get
(
"焦渣特征"
).
trim
();
BigDecimal
Vdaf
=
getBigDecimal
(
countMap
.
get
(
"Vdaf"
));
//获取焦渣特征序号对应的值
Map
<
String
,
String
>
map
=
JZTZCountUtil
.
getJZTZ
(
Vdaf
);
if
(
JZTZ
.
equals
(
"1"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"1.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"2"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"2.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"3"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"3.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"4"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"4.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"5.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"6"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"6.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"7"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"7.5"
)){
count
=
map
.
get
(
JZTZ
);
}
else
if
(
JZTZ
.
equals
(
"8"
)){
count
=
map
.
get
(
JZTZ
);
}
else
{
count
=
"false"
;
}
}
return
count
;
...
...
@@ -610,9 +811,13 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countVdafPD
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
Vdaf
=
getBigDecimal
(
countMap
.
get
(
"Vdaf"
));
Integer
VdafPD
=
Vdaf
.
compareTo
(
new
BigDecimal
(
35
))==-
1
?
1
:
0
;
return
VdafPD
.
toString
();
Integer
VdafPD
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Vdaf"
))
){
BigDecimal
Vdaf
=
getBigDecimal
(
countMap
.
get
(
"Vdaf"
));
VdafPD
=
Vdaf
.
compareTo
(
new
BigDecimal
(
35
))==-
1
?
1
:
0
;
}
return
VdafPD
==
null
?
""
:
VdafPD
.
toString
();
}
/**
...
...
@@ -621,9 +826,13 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countMadPD
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
BC_Mad
=
getBigDecimal
(
countMap
.
get
(
"报出_Mad"
));
Integer
MadPD
=
BC_Mad
.
compareTo
(
new
BigDecimal
(
3
))==
1
?
1
:
0
;
return
MadPD
.
toString
();
Integer
MadPD
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"报出_Mad"
))
){
BigDecimal
BC_Mad
=
getBigDecimal
(
countMap
.
get
(
"报出_Mad"
));
MadPD
=
BC_Mad
.
compareTo
(
new
BigDecimal
(
3
))==
1
?
1
:
0
;
}
return
MadPD
==
null
?
""
:
MadPD
.
toString
();
}
/**
...
...
@@ -632,10 +841,15 @@ public class CheckCountUtil {
* @return
*/
public
static
String
count40Mad0Or1
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
VdafPD
=
getBigDecimal
(
countMap
.
get
(
"Vdaf判断"
));
BigDecimal
MadPD
=
getBigDecimal
(
countMap
.
get
(
"Mad判断"
));
BigDecimal
count
=
VdafPD
.
multiply
(
MadPD
);
return
count
.
toString
();
BigDecimal
count
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Vdaf判断"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Mad判断"
))
){
BigDecimal
VdafPD
=
getBigDecimal
(
countMap
.
get
(
"Vdaf判断"
));
BigDecimal
MadPD
=
getBigDecimal
(
countMap
.
get
(
"Mad判断"
));
count
=
VdafPD
.
multiply
(
MadPD
);
}
return
count
==
null
?
""
:
count
.
toString
();
}
/**
...
...
@@ -644,10 +858,15 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countAd
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
BC_Aad
=
getBigDecimal
(
countMap
.
get
(
"报出_Aad"
));
BigDecimal
BC_Mad
=
getBigDecimal
(
countMap
.
get
(
"报出_Mad"
));
BigDecimal
count
=
BC_Aad
.
multiply
(
param100
).
divide
(
param100
.
subtract
(
BC_Mad
),
4
);
return
count
.
toString
();
BigDecimal
count
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"报出_Aad"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"报出_Mad"
))
){
BigDecimal
BC_Aad
=
getBigDecimal
(
countMap
.
get
(
"报出_Aad"
));
BigDecimal
BC_Mad
=
getBigDecimal
(
countMap
.
get
(
"报出_Mad"
));
count
=
BC_Aad
.
multiply
(
param100
).
divide
(
param100
.
subtract
(
BC_Mad
),
4
);
}
return
count
==
null
?
""
:
count
.
toString
();
}
/**
...
...
@@ -656,23 +875,32 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countAdXS
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
Ad
=
getBigDecimal
(
countMap
.
get
(
"Ad"
));
BigDecimal
count
=
Ad
.
compareTo
(
new
BigDecimal
(
20
))==
1
?
new
BigDecimal
(
0.1
):
new
BigDecimal
(
0
);
return
count
.
toString
();
BigDecimal
count
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Ad"
))
){
BigDecimal
Ad
=
getBigDecimal
(
countMap
.
get
(
"Ad"
));
count
=
Ad
.
compareTo
(
new
BigDecimal
(
20
))==
1
?
new
BigDecimal
(
0.1
):
new
BigDecimal
(
0
);
}
return
count
==
null
?
""
:
count
.
toString
();
}
public
static
String
countVdafXS
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
Ad
=
getBigDecimal
(
countMap
.
get
(
"Ad"
));
Double
count
=
Ad
.
compareTo
(
new
BigDecimal
(
30
))==
1
?
0.8
:(
Ad
.
compareTo
(
new
BigDecimal
(
25
))==
1
?
0.85
:(
Ad
.
compareTo
(
new
BigDecimal
(
20
))==
1
?
0.95
:(
Ad
.
compareTo
(
new
BigDecimal
(
15
))==
1
?
0.8
:(
Ad
.
compareTo
(
new
BigDecimal
(
10
))==
1
?
0.9
:
0.95
))));
return
count
.
toString
();
Double
count
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Ad"
))
){
BigDecimal
Ad
=
getBigDecimal
(
countMap
.
get
(
"Ad"
));
count
=
Ad
.
compareTo
(
new
BigDecimal
(
30
))==
1
?
0.8
:(
Ad
.
compareTo
(
new
BigDecimal
(
25
))==
1
?
0.85
:(
Ad
.
compareTo
(
new
BigDecimal
(
20
))==
1
?
0.95
:(
Ad
.
compareTo
(
new
BigDecimal
(
15
))==
1
?
0.8
:(
Ad
.
compareTo
(
new
BigDecimal
(
10
))==
1
?
0.9
:
0.95
))));
}
return
count
==
null
?
""
:
count
.
toString
();
}
/**
...
...
@@ -681,12 +909,20 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countV_daf
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
VdafXS
=
getBigDecimal
(
countMap
.
get
(
"Vdaf系数0.8~0.95"
));
BigDecimal
Vdaf
=
getBigDecimal
(
countMap
.
get
(
"Vdaf"
));
BigDecimal
AdXS
=
getBigDecimal
(
countMap
.
get
(
"Ad系数0.1或0"
));
BigDecimal
Ad
=
getBigDecimal
(
countMap
.
get
(
"Ad"
));
BigDecimal
count
=
VdafXS
.
multiply
(
Vdaf
).
subtract
(
AdXS
.
multiply
(
Ad
));
return
count
.
toString
();
BigDecimal
count
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Vdaf系数0.8~0.95"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Vdaf"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Ad系数0.1或0"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"Ad"
))
){
BigDecimal
VdafXS
=
getBigDecimal
(
countMap
.
get
(
"Vdaf系数0.8~0.95"
));
BigDecimal
Vdaf
=
getBigDecimal
(
countMap
.
get
(
"Vdaf"
));
BigDecimal
AdXS
=
getBigDecimal
(
countMap
.
get
(
"Ad系数0.1或0"
));
BigDecimal
Ad
=
getBigDecimal
(
countMap
.
get
(
"Ad"
));
count
=
VdafXS
.
multiply
(
Vdaf
).
subtract
(
AdXS
.
multiply
(
Ad
));
}
return
count
==
null
?
""
:
count
.
toString
();
}
/**
...
...
@@ -695,14 +931,19 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countK0_
(
Map
<
String
,
String
>
countMap
)
{
BigDecimal
V_daf
=
getBigDecimal
(
countMap
.
get
(
"V,daf"
));
BigDecimal
count
=
V_daf
.
compareTo
(
new
BigDecimal
(
8
))==
1
?
new
BigDecimal
(
8500
):(
V_daf
.
compareTo
(
new
BigDecimal
(
5.5
))==
1
?
new
BigDecimal
(
8400
):(
V_daf
.
compareTo
(
new
BigDecimal
(
3
))==
1
?
new
BigDecimal
(
8300
):
new
BigDecimal
(
8200
)
));
return
count
.
toString
();
BigDecimal
count
=
null
;
if
(
StringUtils
.
isNotBlank
(
countMap
.
get
(
"V,daf"
))
){
BigDecimal
V_daf
=
getBigDecimal
(
countMap
.
get
(
"V,daf"
));
count
=
V_daf
.
compareTo
(
new
BigDecimal
(
8
))==
1
?
new
BigDecimal
(
8500
):(
V_daf
.
compareTo
(
new
BigDecimal
(
5.5
))==
1
?
new
BigDecimal
(
8400
):(
V_daf
.
compareTo
(
new
BigDecimal
(
3
))==
1
?
new
BigDecimal
(
8300
):
new
BigDecimal
(
8200
)
));
}
return
count
==
null
?
""
:
count
.
toString
();
}
/**
...
...
@@ -711,29 +952,41 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countQnet_adMJ_kg
(
Map
<
String
,
String
>
resultMap
,
Map
<
String
,
String
>
countMap
)
{
BigDecimal
YWH_123
=
getBigDecimal
(
resultMap
.
get
(
"烟无褐123"
));
BigDecimal
K1_
=
getBigDecimal
(
countMap
.
get
(
"K1,"
));
BigDecimal
BC_Mad
=
getBigDecimal
(
countMap
.
get
(
"报出_Mad"
));
BigDecimal
BC_Aad
=
getBigDecimal
(
countMap
.
get
(
"报出_Aad"
));
BigDecimal
BC_Vad
=
getBigDecimal
(
countMap
.
get
(
"报出_Vad"
));
BigDecimal
K
=
getBigDecimal
(
countMap
.
get
(
"K"
));
BigDecimal
_40Mad_0_1
=
getBigDecimal
(
countMap
.
get
(
"40Mad 0或1"
));
BigDecimal
K0_
=
getBigDecimal
(
countMap
.
get
(
"K0,"
));
BigDecimal
value
=
null
;
if
(
YWH_123
.
compareTo
(
new
BigDecimal
(
3
))==
0
){
value
=
param100
.
multiply
(
K1_
).
subtract
(
K1_
.
add
(
new
BigDecimal
(
6
)).
multiply
(
BC_Mad
.
add
(
BC_Aad
)))
.
subtract
(
BC_Vad
);
}
else
if
(
YWH_123
.
compareTo
(
new
BigDecimal
(
1
))==
0
){
value
=
param100
.
multiply
(
K
).
subtract
(
K
.
add
(
new
BigDecimal
(
6
)).
multiply
(
BC_Mad
.
add
(
BC_Aad
)))
.
subtract
(
new
BigDecimal
(
3
).
multiply
(
BC_Vad
))
.
subtract
(
new
BigDecimal
(
40
).
multiply
(
BC_Mad
).
multiply
(
_40Mad_0_1
));
}
else
if
(
YWH_123
.
compareTo
(
new
BigDecimal
(
2
))==
0
){
value
=
K0_
.
subtract
(
new
BigDecimal
(
86
).
multiply
(
BC_Mad
))
.
subtract
(
new
BigDecimal
(
92
).
multiply
(
BC_Aad
))
.
subtract
(
new
BigDecimal
(
24
).
multiply
(
BC_Vad
));
}
BigDecimal
count
=
value
.
multiply
(
new
BigDecimal
(
4.1816
)).
divide
(
param1000
,
4
);
return
count
.
toString
();
BigDecimal
count
=
null
;
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"烟无褐123"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"K1,"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"报出_Mad"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"报出_Aad"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"报出_Vad"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"K"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"40Mad 0或1"
))
&&
StringUtils
.
isNotBlank
(
countMap
.
get
(
"K0,"
))
){
BigDecimal
YWH_123
=
getBigDecimal
(
resultMap
.
get
(
"烟无褐123"
).
trim
());
BigDecimal
K1_
=
getBigDecimal
(
countMap
.
get
(
"K1,"
));
BigDecimal
BC_Mad
=
getBigDecimal
(
countMap
.
get
(
"报出_Mad"
));
BigDecimal
BC_Aad
=
getBigDecimal
(
countMap
.
get
(
"报出_Aad"
));
BigDecimal
BC_Vad
=
getBigDecimal
(
countMap
.
get
(
"报出_Vad"
));
BigDecimal
K
=
getBigDecimal
(
countMap
.
get
(
"K"
));
BigDecimal
_40Mad_0_1
=
getBigDecimal
(
countMap
.
get
(
"40Mad 0或1"
));
BigDecimal
K0_
=
getBigDecimal
(
countMap
.
get
(
"K0,"
));
BigDecimal
value
=
null
;
if
(
YWH_123
.
compareTo
(
new
BigDecimal
(
3
))==
0
){
value
=
param100
.
multiply
(
K1_
).
subtract
(
K1_
.
add
(
new
BigDecimal
(
6
)).
multiply
(
BC_Mad
.
add
(
BC_Aad
)))
.
subtract
(
BC_Vad
);
}
else
if
(
YWH_123
.
compareTo
(
new
BigDecimal
(
1
))==
0
){
value
=
param100
.
multiply
(
K
).
subtract
(
K
.
add
(
new
BigDecimal
(
6
)).
multiply
(
BC_Mad
.
add
(
BC_Aad
)))
.
subtract
(
new
BigDecimal
(
3
).
multiply
(
BC_Vad
))
.
subtract
(
new
BigDecimal
(
40
).
multiply
(
BC_Mad
).
multiply
(
_40Mad_0_1
));
}
else
if
(
YWH_123
.
compareTo
(
new
BigDecimal
(
2
))==
0
){
value
=
K0_
.
subtract
(
new
BigDecimal
(
86
).
multiply
(
BC_Mad
))
.
subtract
(
new
BigDecimal
(
92
).
multiply
(
BC_Aad
))
.
subtract
(
new
BigDecimal
(
24
).
multiply
(
BC_Vad
));
}
count
=
value
.
multiply
(
new
BigDecimal
(
4.1816
)).
divide
(
param1000
,
4
);
}
return
count
==
null
?
""
:
count
.
toString
();
}
/**
...
...
@@ -742,18 +995,24 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countYMXGrade
(
Map
<
String
,
String
>
resultMap
)
{
BigDecimal
YMX_kWh_t
=
getBigDecimal
(
resultMap
.
get
(
"易磨性(kWh/t)"
));
if
(
YMX_kWh_t
.
compareTo
(
new
BigDecimal
(
18
))==
1
){
return
"E"
;
}
else
if
(
YMX_kWh_t
.
compareTo
(
new
BigDecimal
(
13
))==
1
){
return
"D"
;
}
else
if
(
YMX_kWh_t
.
compareTo
(
new
BigDecimal
(
10
))==
1
){
return
"C"
;
}
else
if
(
YMX_kWh_t
.
compareTo
(
new
BigDecimal
(
8
))==
1
){
return
"B"
;
}
else
{
return
"A"
;
String
count
=
""
;
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"易磨性(kWh/t)"
))
){
BigDecimal
YMX_kWh_t
=
getBigDecimal
(
resultMap
.
get
(
"易磨性(kWh/t)"
));
if
(
YMX_kWh_t
.
compareTo
(
new
BigDecimal
(
18
))==
1
){
count
=
"E"
;
}
else
if
(
YMX_kWh_t
.
compareTo
(
new
BigDecimal
(
13
))==
1
){
count
=
"D"
;
}
else
if
(
YMX_kWh_t
.
compareTo
(
new
BigDecimal
(
10
))==
1
){
count
=
"C"
;
}
else
if
(
YMX_kWh_t
.
compareTo
(
new
BigDecimal
(
8
))==
1
){
count
=
"B"
;
}
else
{
count
=
"A"
;
}
}
return
count
;
}
/**
...
...
@@ -762,24 +1021,34 @@ public class CheckCountUtil {
* @return
*/
public
static
String
countYMXCode
(
Map
<
String
,
String
>
resultMap
)
{
Double
G
=
Double
.
valueOf
(
resultMap
.
get
(
"G"
));
Double
P80
=
Double
.
valueOf
(
resultMap
.
get
(
"P80"
));
Double
F80
=
Double
.
valueOf
(
resultMap
.
get
(
"F80"
));
BigDecimal
YMX_kWh_t
=
getBigDecimal
(
resultMap
.
get
(
"易磨性(kWh/t)"
));
BigDecimal
YMX_MJ_t
=
getBigDecimal
(
resultMap
.
get
(
"易磨性(MJ/t)"
));
Double
countResult
=
Math
.
pow
(
80
,
0.23
)*
Math
.
pow
(
G
,
0.82
)*(
10
/(
Math
.
pow
(
P80
,
0.5
)-
10
/
Math
.
pow
(
F80
,
0.5
)));
BigDecimal
result1
=
new
BigDecimal
(
countResult
);
BigDecimal
value1
=
new
BigDecimal
(
176.2
).
divide
(
result1
,
4
).
subtract
(
new
BigDecimal
(
3.6
).
multiply
(
new
BigDecimal
(
P80
))).
abs
();
BigDecimal
value2
=
YMX_MJ_t
.
divide
(
YMX_kWh_t
,
4
);
if
(
value1
.
compareTo
(
new
BigDecimal
(
0.5
)
)
==
-
1
&&
value2
.
compareTo
(
new
BigDecimal
(
3.5
))
==
1
&&
value2
.
compareTo
(
new
BigDecimal
(
3.7
))
==
-
1
){
return
"OK"
;
}
else
{
return
"出错了"
;
String
count
=
""
;
if
(
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"G"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"P80"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"F80"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"易磨性(kWh/t)"
))
&&
StringUtils
.
isNotBlank
(
resultMap
.
get
(
"易磨性(MJ/t)"
))
){
Double
G
=
Double
.
valueOf
(
resultMap
.
get
(
"G"
).
trim
());
Double
P80
=
Double
.
valueOf
(
resultMap
.
get
(
"P80"
).
trim
());
Double
F80
=
Double
.
valueOf
(
resultMap
.
get
(
"F80"
).
trim
());
BigDecimal
YMX_kWh_t
=
getBigDecimal
(
resultMap
.
get
(
"易磨性(kWh/t)"
).
trim
());
BigDecimal
YMX_MJ_t
=
getBigDecimal
(
resultMap
.
get
(
"易磨性(MJ/t)"
).
trim
());
Double
countResult
=
Math
.
pow
(
80
,
0.23
)*
Math
.
pow
(
G
,
0.82
)*(
10
/(
Math
.
pow
(
P80
,
0.5
)-
10
/
Math
.
pow
(
F80
,
0.5
)));
BigDecimal
result1
=
new
BigDecimal
(
countResult
);
BigDecimal
value1
=
new
BigDecimal
(
176.2
).
divide
(
result1
,
4
).
subtract
(
new
BigDecimal
(
3.6
).
multiply
(
new
BigDecimal
(
P80
))).
abs
();
BigDecimal
value2
=
YMX_MJ_t
.
divide
(
YMX_kWh_t
,
4
);
if
(
value1
.
compareTo
(
new
BigDecimal
(
0.5
)
)
==
-
1
&&
value2
.
compareTo
(
new
BigDecimal
(
3.5
))
==
1
&&
value2
.
compareTo
(
new
BigDecimal
(
3.7
))
==
-
1
){
count
=
"OK"
;
}
else
{
count
=
"出错了"
;
}
}
return
count
;
}
/**
...
...
@@ -824,20 +1093,24 @@ public class CheckCountUtil {
minNum
=
minNum
==
null
?
valBD:
(
valBD
.
compareTo
(
minNum
)
==
-
1
?
valBD:
minNum
);
}
//平均值
BigDecimal
aveCount
=
resultSum
.
divide
(
new
BigDecimal
(
values
.
length
),
2
);
BigDecimal
result1
=
aveCount
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
BigDecimal
ResultsValue
=
null
;
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
ResultsValue
=
aveCount
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
ResultsValue
=
aveCount
.
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
if
(
resultSum
!=
null
){
BigDecimal
aveCount
=
resultSum
.
divide
(
new
BigDecimal
(
values
.
length
),
2
);
BigDecimal
result1
=
aveCount
.
multiply
(
param100
);
int
resultInt1
=
result1
.
setScale
(
0
,
BigDecimal
.
ROUND_DOWN
).
intValue
();
if
((
resultInt1
&
1
)
==
1
){
//如果结果为奇数
ResultsValue
=
aveCount
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
else
{
ResultsValue
=
aveCount
.
subtract
(
new
BigDecimal
(
0.0000000001
)).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
}
//最大误差值
BigDecimal
errorValue
=
maxNum
.
subtract
(
minNum
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);;
countResults
.
put
(
entry
.
getKey
(),
ResultsValue
.
toString
());
countError
.
put
(
entry
.
getKey
(),
errorValue
.
toString
());
BigDecimal
errorValue
=
null
;
if
(
maxNum
!=
null
&&
minNum
!=
null
){
errorValue
=
maxNum
.
subtract
(
minNum
).
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
}
countResults
.
put
(
entry
.
getKey
(),
ResultsValue
==
null
?
""
:
ResultsValue
.
toString
());
countError
.
put
(
entry
.
getKey
(),
errorValue
==
null
?
""
:
errorValue
.
toString
());
}
map
.
put
(
"countResults"
,
countResults
);
map
.
put
(
"countError"
,
countError
);
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/util/PageUtil.java
View file @
6ed334c1
package
cn
.
wise
.
sc
.
cement
.
business
.
util
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
...
...
@@ -13,6 +14,9 @@ import java.util.List;
public
class
PageUtil
{
public
static
<
T
>
Page
<
T
>
listConvertToPage
(
List
<
T
>
list
,
PageQuery
pageQuery
)
{
if
(
CollectionUtil
.
isEmpty
(
list
)){
return
null
;
}
int
start
=
pageQuery
.
getPageNo
()
>
0
?
pageQuery
.
getPageNo
()
:
1
;
int
pageSize
=
pageQuery
.
getPageSize
()
>
0
?
pageQuery
.
getPageSize
()
:
10
;
int
end
=
Math
.
min
((
start
*
pageSize
),
list
.
size
());
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/util/weixin/Global.java
View file @
6ed334c1
...
...
@@ -10,22 +10,22 @@ package cn.wise.sc.cement.business.util.weixin;
public
interface
Global
{
//企业应用的id,整型。可在应用的设置页面查看
public
final
static
int
agentId
=
1000002
;
//企业ID
public
final
static
String
corpId
=
"ww348f91b2573c1867"
;
//企业应用的id,整型。可在应用的设置页面查看
public
final
static
int
agentId
=
1000002
;
public
final
static
int
agentIdPC
=
1000003
;
//应用的凭证密钥
public
final
static
String
agentSecret
=
"gFa_7XvXtCaoeAYERzjRwwz_OTJkJfgBb8weOKjmI3o"
;
public
final
static
String
agentSecretPC
=
"itCLYcwl9ggA9VfZam_iz96Ikp9StDFfVr4Adb0yY7A"
;
//编译后的回调地址
public
final
static
String
backUrl
=
"https%3a%2f%2fprogram.oxogroup.com%2flab-system"
;
//实验室管理系统链接
public
final
static
String
systemUrl
=
"<a href=\"https://open.weixin.qq.com/connect/oauth2/authorize?appid="
+
corpId
+
"&redirect_uri="
+
backUrl
+
"%2f&response_type=code&scope=snsapi_base&state=#wechat_redirect\">天津院实验室管理系统"
+
"</a>,"
;
//应用的凭证密钥PC
public
final
static
String
agentSecretPC
=
"itCLYcwl9ggA9VfZam_iz96Ikp9StDFfVr4Adb0yY7A"
;
public
final
static
String
systemUrl
=
"<a href=\"https://open.weixin.qq.com/connect/oauth2/authorize?appid="
+
corpId
+
"&redirect_uri="
+
backUrl
+
"%2f&response_type=code&scope=snsapi_base&state=#wechat_redirect\">天津院实验室管理系统"
+
"</a>,"
;
/**
* 微信公众平台,获取AccessToken的接口地址,Https请求方式:GET
...
...
cement-business/src/main/resources/application.yml
View file @
6ed334c1
...
...
@@ -8,7 +8,7 @@ spring:
datasource
:
# 192.168.110.85 admin!@#123
url
:
jdbc:mysql://192.168.110.85:3306/sinoma_tcdri?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false
#
url: jdbc:mysql://81.68.92.175:3306/sinoma_tcdri?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false
#
url: jdbc:mysql://81.68.92.175:3306/sinoma_tcdri?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false
username
:
root
password
:
admin!@#123
driverClassName
:
com.mysql.cj.jdbc.Driver
...
...
cement-business/src/main/resources/fastdfs-client.properties
View file @
6ed334c1
...
...
@@ -4,7 +4,7 @@ fastdfs.charset=UTF-8
fastdfs.http.tracker_http_port
=
8888
fastdfs.http.anti_steal_token
=
no
fastdfs.http.secret_key
=
FastDFS1234567890
fastdfs.tracker_servers
=
192.168.110.85
:22122
fastdfs.tracker_servers
=
localhost
:22122
#fastdfs.tracker_servers=localhost:22122
cement-business/src/main/resources/templates/entrust2.ftl
View file @
6ed334c1
...
...
@@ -2126,6 +2126,7 @@
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:tcPr>
<w:tcW
w:w=
"1754"
w:type=
"dxa"
/>
...
...
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