Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
indicators
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhangkb
indicators
Commits
0d89c998
Commit
0d89c998
authored
Jan 07, 2021
by
hzc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
测试
parent
820c3e7b
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
162 additions
and
10 deletions
+162
-10
DataEnterCtrl.java
...com/keymobile/indicators/api/hytobacco/DataEnterCtrl.java
+1
-1
ExcelTempCtrl.java
...com/keymobile/indicators/api/hytobacco/ExcelTempCtrl.java
+104
-2
TaskCtrl.java
...java/com/keymobile/indicators/api/hytobacco/TaskCtrl.java
+13
-1
TaskService.java
...m/keymobile/indicators/service/dataenter/TaskService.java
+7
-0
TaskServiceImpl.java
...le/indicators/service/dataenter/impl/TaskServiceImpl.java
+35
-1
IndicatorsReportService.java
...le/indicators/service/report/IndicatorsReportService.java
+2
-5
No files found.
src/main/java/com/keymobile/indicators/api/hytobacco/DataEnterCtrl.java
View file @
0d89c998
...
@@ -125,7 +125,7 @@ public class DataEnterCtrl {
...
@@ -125,7 +125,7 @@ public class DataEnterCtrl {
//查询精确值
//查询精确值
List
<
TaskIndValue
>
indLastCorrectValues
=
null
;
List
<
TaskIndValue
>
indLastCorrectValues
=
null
;
if
(
oldValues
.
get
(
0
).
getIndLastCorrectValue
()==
null
){
if
(
oldValues
.
get
(
0
).
getIndLastCorrectValue
()==
null
){
indLastCorrectValues
=
taskService
.
find
IndLastCorrectValues
(
sameTermValutTime
,
indIds
);
indLastCorrectValues
=
taskService
.
find
DefaultValues
(
sameTermValueTimeStr
,
valueTimeStr
,
indIds
);
}
}
list
=
genernateEditObjects
(
task
,
oldValues
,
null
,
indLastCorrectValues
,
objs
,
groupObj
.
getObjType
());
list
=
genernateEditObjects
(
task
,
oldValues
,
null
,
indLastCorrectValues
,
objs
,
groupObj
.
getObjType
());
...
...
src/main/java/com/keymobile/indicators/api/hytobacco/ExcelTempCtrl.java
View file @
0d89c998
package
com
.
keymobile
.
indicators
.
api
.
hytobacco
;
package
com
.
keymobile
.
indicators
.
api
.
hytobacco
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.support.ExcelTypeEnum
;
import
com.alibaba.excel.support.ExcelTypeEnum
;
import
com.alibaba.excel.write.builder.ExcelWriterBuilder
;
import
com.alibaba.excel.write.builder.ExcelWriterBuilder
;
import
com.alibaba.excel.write.builder.ExcelWriterSheetBuilder
;
import
com.alibaba.excel.write.merge.OnceAbsoluteMergeStrategy
;
import
com.alibaba.excel.write.merge.OnceAbsoluteMergeStrategy
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.keymobile.indicators.constant.Constants
;
import
com.keymobile.indicators.constant.Constants
;
...
@@ -15,6 +18,7 @@ import com.keymobile.indicators.service.SystemAuthService;
...
@@ -15,6 +18,7 @@ import com.keymobile.indicators.service.SystemAuthService;
import
com.keymobile.indicators.service.dataenter.ExcelTemplateService
;
import
com.keymobile.indicators.service.dataenter.ExcelTemplateService
;
import
com.keymobile.indicators.service.dataenter.TaskRuleGroupObjService
;
import
com.keymobile.indicators.service.dataenter.TaskRuleGroupObjService
;
import
com.keymobile.indicators.service.dataenter.TaskService
;
import
com.keymobile.indicators.service.dataenter.TaskService
;
import
com.keymobile.indicators.utils.DateUtils
;
import
com.keymobile.indicators.utils.SystemUserUtil
;
import
com.keymobile.indicators.utils.SystemUserUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
...
@@ -184,6 +188,7 @@ public class ExcelTempCtrl {
...
@@ -184,6 +188,7 @@ public class ExcelTempCtrl {
List
<
ExcelIndicator
>
inds
=
template
.
getInds
();
List
<
ExcelIndicator
>
inds
=
template
.
getInds
();
List
<
ExcelObj
>
objs
=
template
.
getObjs
();
List
<
ExcelObj
>
objs
=
template
.
getObjs
();
String
fileName
=
URLEncoder
.
encode
(
template
.
getName
(),
"UTF-8"
);
String
fileName
=
URLEncoder
.
encode
(
template
.
getName
(),
"UTF-8"
);
List
<
List
<
String
>>
datas
=
new
ArrayList
<>();
List
<
List
<
String
>>
datas
=
new
ArrayList
<>();
boolean
hasSameTerm
=
false
;
boolean
hasSameTerm
=
false
;
//需要同期?
//需要同期?
...
@@ -255,8 +260,19 @@ public class ExcelTempCtrl {
...
@@ -255,8 +260,19 @@ public class ExcelTempCtrl {
writerBuilder
.
registerWriteHandler
(
mergeStrategy
);
writerBuilder
.
registerWriteHandler
(
mergeStrategy
);
}
}
}
}
writerBuilder
.
excelType
(
ExcelTypeEnum
.
XLSX
).
head
(
headers
)
ExcelWriter
build
=
writerBuilder
.
build
();
.
autoCloseStream
(
false
).
sheet
(
"数据填报"
).
doWrite
(
datas
);
//EasyExcel.writerSheet()
// writerBuilder.excelType(ExcelTypeEnum.XLSX).head(headers)
// .autoCloseStream(false).sheet(0,"数据填报").doWrite(datas);
WriteSheet
one
=
EasyExcel
.
writerSheet
(
0
,
"数据填报"
).
head
(
headers
).
build
();
Map
<
String
,
List
<
List
<
String
>>>
towDataMap
=
getTwoData
(
template
);
List
<
List
<
String
>>
headers2
=
towDataMap
.
get
(
"headers"
);
WriteSheet
two
=
EasyExcel
.
writerSheet
(
1
,
"同期精确值"
).
head
(
headers2
).
build
();
build
.
write
(
datas
,
one
);
build
.
write
(
towDataMap
.
get
(
"datas"
),
two
);
build
.
finish
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"生成excel模板出错"
,
e
);
log
.
error
(
"生成excel模板出错"
,
e
);
response
.
reset
();
response
.
reset
();
...
@@ -270,4 +286,90 @@ public class ExcelTempCtrl {
...
@@ -270,4 +286,90 @@ public class ExcelTempCtrl {
}
}
}
}
private
Map
<
String
,
List
<
List
<
String
>>>
getTwoData
(
ExcelTemplate
template
)
{
List
<
ExcelIndicator
>
inds
=
template
.
getInds
();
List
<
ExcelObj
>
objs
=
template
.
getObjs
();
Task
task
=
taskService
.
getById
(
template
.
getTaskId
(),
true
,
false
);
List
<
TaskIndicator
>
taskIndicators
=
task
.
getIndicators
();
String
valueTime
=
task
.
getValueTime
();
String
sameTermValutTime
=
DateUtils
.
getSameTermValueTime
(
valueTime
);
// 2020-09 转成成 202009
String
valueTimeStr
=
valueTime
.
replace
(
"-"
,
""
);
String
sameTermValueTimeStr
=
sameTermValutTime
.
replace
(
"-"
,
""
);
List
<
String
>
indIds
=
new
ArrayList
<>();
for
(
TaskIndicator
indicator
:
taskIndicators
)
{
indIds
.
add
(
indicator
.
getIndId
());
}
List
<
TaskIndValue
>
indLastCorrectValues
=
taskService
.
findDefaultValues
(
sameTermValueTimeStr
,
valueTimeStr
,
indIds
);
List
<
List
<
String
>>
datas
=
new
ArrayList
<>();
List
<
List
<
String
>>
headers
=
new
ArrayList
<>();
if
(
template
.
getCtype
()
==
1
)
{
// 列类型:1、指标 2 考核对象
List
<
String
>
column1
=
new
ArrayList
<>();
column1
.
add
(
""
);
headers
.
add
(
column1
);
for
(
ExcelIndicator
indicator
:
inds
)
{
List
<
String
>
header
=
new
ArrayList
<>();
headers
.
add
(
header
);
header
.
add
(
indicator
.
getIndName
());
// header.add("本期");
}
for
(
ExcelObj
obj
:
objs
)
{
List
<
String
>
data
=
new
ArrayList
<>();
data
.
add
(
obj
.
getObjName
());
if
(
indLastCorrectValues
!=
null
&&
indLastCorrectValues
.
size
()>
0
){
for
(
ExcelIndicator
indicator
:
inds
)
{
for
(
TaskIndValue
old
:
indLastCorrectValues
)
{
if
(
old
.
getIndId
().
equals
(
indicator
.
getIndId
())
&&
old
.
getObjId
().
equals
(
obj
.
getObjId
()))
{
//保存同期的精确值 2021-1-4 hzc
data
.
add
(
old
.
getIndValue
());
break
;
}
}
}
}
datas
.
add
(
data
);
}
}
else
{
int
i
=
1
;
for
(
ExcelIndicator
indicator
:
inds
)
{
List
<
String
>
data
=
new
ArrayList
<>();
datas
.
add
(
data
);
data
.
add
(
indicator
.
getIndName
());
if
(
indLastCorrectValues
!=
null
&&
indLastCorrectValues
.
size
()>
0
){
for
(
ExcelObj
obj
:
objs
)
{
for
(
TaskIndValue
old
:
indLastCorrectValues
)
{
if
(
old
.
getIndId
().
equals
(
indicator
.
getIndId
())
&&
old
.
getObjId
().
equals
(
obj
.
getObjId
()))
{
//保存同期的精确值 2021-1-4 hzc
data
.
add
(
old
.
getIndValue
());
break
;
}
}
}
}
}
List
<
String
>
column1
=
new
ArrayList
<>();
column1
.
add
(
""
);
headers
.
add
(
column1
);
for
(
ExcelObj
obj
:
objs
)
{
List
<
String
>
header
=
new
ArrayList
<>();
header
.
add
(
obj
.
getObjName
());
headers
.
add
(
header
);
// header.add("本期");
}
}
Map
<
String
,
List
<
List
<
String
>>>
map
=
new
HashMap
<>();
map
.
put
(
"headers"
,
headers
);
map
.
put
(
"datas"
,
datas
);
return
map
;
}
}
}
src/main/java/com/keymobile/indicators/api/hytobacco/TaskCtrl.java
View file @
0d89c998
...
@@ -179,6 +179,18 @@ public class TaskCtrl {
...
@@ -179,6 +179,18 @@ public class TaskCtrl {
}
}
return
result
;
return
result
;
}
}
/**
* 确认的数据重新确认一遍)修改后数据变化方便数据的统一
* @Param []
* @Date 2021/1/5 11:03
* @Author hzc
**/
@ApiOperation
(
" 确认的数据重新确认一遍"
)
@GetMapping
(
"passTask"
)
public
String
passTask
(){
taskService
.
passTask
();
return
"开始重新确认"
;
}
}
}
src/main/java/com/keymobile/indicators/service/dataenter/TaskService.java
View file @
0d89c998
...
@@ -213,4 +213,11 @@ public interface TaskService {
...
@@ -213,4 +213,11 @@ public interface TaskService {
* @Author hzc
* @Author hzc
**/
**/
List
<
TaskIndValue
>
findIndLastCorrectValues
(
String
valueTime
,
List
<
String
>
indIds
);
List
<
TaskIndValue
>
findIndLastCorrectValues
(
String
valueTime
,
List
<
String
>
indIds
);
/**
* 确认的数据重新确认一遍)修改后数据变化方便数据的统一
* @Param []
* @Date 2021/1/5 11:03
* @Author hzc
**/
Result
passTask
();
}
}
src/main/java/com/keymobile/indicators/service/dataenter/impl/TaskServiceImpl.java
View file @
0d89c998
...
@@ -13,6 +13,7 @@ import com.keymobile.indicators.model.entity.dataenter.*;
...
@@ -13,6 +13,7 @@ import com.keymobile.indicators.model.entity.dataenter.*;
import
com.keymobile.indicators.model.entity.indicators.BaseIndDef
;
import
com.keymobile.indicators.model.entity.indicators.BaseIndDef
;
import
com.keymobile.indicators.model.entity.indicators.IndicatorsData
;
import
com.keymobile.indicators.model.entity.indicators.IndicatorsData
;
import
com.keymobile.indicators.model.mapper.indicators.*
;
import
com.keymobile.indicators.model.mapper.indicators.*
;
import
com.keymobile.indicators.model.mapper.indmapper.IndicatorsDataMapper
;
import
com.keymobile.indicators.result.Result
;
import
com.keymobile.indicators.result.Result
;
import
com.keymobile.indicators.service.ConfigInfoService
;
import
com.keymobile.indicators.service.ConfigInfoService
;
import
com.keymobile.indicators.service.NoticeInfoService
;
import
com.keymobile.indicators.service.NoticeInfoService
;
...
@@ -79,7 +80,8 @@ public class TaskServiceImpl implements TaskService {
...
@@ -79,7 +80,8 @@ public class TaskServiceImpl implements TaskService {
@Autowired
@Autowired
private
TaskRuleTargetRolesMapper
taskRuleTargetRolesMapper
;
private
TaskRuleTargetRolesMapper
taskRuleTargetRolesMapper
;
@Autowired
private
IndicatorsDataMapper
indicatorsDataMapper
;
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Task
createTask
(
Task
task
)
{
public
Task
createTask
(
Task
task
)
{
...
@@ -875,6 +877,38 @@ public class TaskServiceImpl implements TaskService {
...
@@ -875,6 +877,38 @@ public class TaskServiceImpl implements TaskService {
}
}
/**
/**
* 确认的数据重新确认一遍)修改后数据变化方便数据的统一
* @Param []
* @Date 2021/1/5 11:03
* @Author hzc
**/
@Async
@Override
public
Result
passTask
()
{
QueryAllTaskParam
param
=
new
QueryAllTaskParam
();
List
<
Integer
>
status
=
new
ArrayList
<>();
status
.
add
(
Constants
.
APPLY_STATE_OK_PASSED
);
param
.
setStatusArr
(
status
);
List
<
Task
>
allTask
=
this
.
findAllTask
(
param
);
log
.
info
(
"========开始重新确认数据=需要确认任务数:{}"
,
allTask
.
size
());
int
i
=
1
;
long
time
=
System
.
currentTimeMillis
();
for
(
Task
task
:
allTask
)
{
log
.
info
(
"第{}条==开始确认:{}"
,
i
++,
task
);
List
<
IndicatorsData
>
datas
=
createCountIndValues
(
task
);
if
(
CollectionUtils
.
isNotEmpty
(
datas
))
{
for
(
IndicatorsData
data
:
datas
)
{
indicatorsDataMapper
.
deleteData
(
data
.
getDateMark
(),
data
.
getIndId
(),
data
.
getDim1
(),
data
.
getDim2
(),
data
.
getCode
());
}
indicatorsDataMapper
.
batchCreateIndData
(
datas
);
}
}
time
=
(
System
.
currentTimeMillis
()
-
time
)/
1000
;
log
.
info
(
"===重新确认完成=:{}秒,完成确认任务数:{}"
,
time
,
allTask
.
size
());
return
null
;
}
/**
* 获取关联的数据项和子数据项
* 获取关联的数据项和子数据项
* @param ruleId
* @param ruleId
* @param parentIndId
* @param parentIndId
...
...
src/main/java/com/keymobile/indicators/service/report/IndicatorsReportService.java
View file @
0d89c998
...
@@ -836,6 +836,7 @@ public class IndicatorsReportService {
...
@@ -836,6 +836,7 @@ public class IndicatorsReportService {
//添加对标单元目录
//添加对标单元目录
paramMap
.
put
(
"compareCatalog"
,
compareCatalog
);
paramMap
.
put
(
"compareCatalog"
,
compareCatalog
);
paramMap
.
put
(
"compareObjs"
,
compareObjs
);
paramMap
.
put
(
"compareObjs"
,
compareObjs
);
paramMap
.
put
(
"dateMark"
,
dateMark
);
List
<
DriveIndCalResultDef
>
sameCalDatas
=
driveIndCalResultDefMapper
List
<
DriveIndCalResultDef
>
sameCalDatas
=
driveIndCalResultDefMapper
.
findByIndIdAndDateAndCompareObjIn
(
paramMap
);
.
findByIndIdAndDateAndCompareObjIn
(
paramMap
);
if
(!
sameCalDatas
.
isEmpty
())
{
if
(!
sameCalDatas
.
isEmpty
())
{
...
@@ -1097,11 +1098,7 @@ public class IndicatorsReportService {
...
@@ -1097,11 +1098,7 @@ public class IndicatorsReportService {
}
}
}
}
}
}
if
(
"1"
.
equals
(
driveIndDef
.
getGrowCalType
()))
{
//差比
resultRank
=
CalculateUtils
.
rankValue
(
rankMap
,
indRule
);
resultRank
=
CalculateUtils
.
rankValue
(
rankMap
,
indRule
);
}
else
{
//差值
resultRank
=
CalculateUtils
.
rankValue
(
rankMap
,
indRule
);
}
resultRank
=
CalculateUtils
.
sortMapByValue
(
resultRank
,
0
);
//按照value从小到大排序
resultRank
=
CalculateUtils
.
sortMapByValue
(
resultRank
,
0
);
//按照value从小到大排序
}
}
}
}
...
...
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