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
85fccdfc
Commit
85fccdfc
authored
Jul 15, 2020
by
zhangkb
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'hy-tobacco' of
ssh://132.232.112.242:7022/zhangkb/indicators
into hy-tobacco
parents
954bc3a0
8d31d352
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
456 additions
and
60 deletions
+456
-60
ConfigInfoCtrl.java
...om/keymobile/indicators/api/hytobacco/ConfigInfoCtrl.java
+1
-1
DataEnterCtrl.java
...com/keymobile/indicators/api/hytobacco/DataEnterCtrl.java
+35
-29
NoticeInfoCtrl.java
...om/keymobile/indicators/api/hytobacco/NoticeInfoCtrl.java
+71
-0
TaskCtrl.java
...java/com/keymobile/indicators/api/hytobacco/TaskCtrl.java
+11
-6
NoticeInfo.java
...ava/com/keymobile/indicators/model/entity/NoticeInfo.java
+30
-0
Task.java
...com/keymobile/indicators/model/entity/dataenter/Task.java
+5
-0
TaskIndValue.java
...obile/indicators/model/entity/dataenter/TaskIndValue.java
+7
-0
NoticeInfoMapper.java
.../indicators/model/mapper/indicators/NoticeInfoMapper.java
+54
-0
NoticeInfoService.java
...a/com/keymobile/indicators/service/NoticeInfoService.java
+50
-0
TaskService.java
...m/keymobile/indicators/service/dataenter/TaskService.java
+3
-2
TaskServiceImpl.java
...le/indicators/service/dataenter/impl/TaskServiceImpl.java
+56
-15
NoticeInfoServiceImpl.java
...mobile/indicators/service/impl/NoticeInfoServiceImpl.java
+41
-0
DateUtils.java
src/main/java/com/keymobile/indicators/utils/DateUtils.java
+24
-1
NoticeInfoMapper.xml
src/main/resources/mybatis/mapping/NoticeInfoMapper.xml
+58
-0
TaskIndicatorValueMapper.xml
...in/resources/mybatis/mapping/TaskIndicatorValueMapper.xml
+10
-6
No files found.
src/main/java/com/keymobile/indicators/api/
indicators
/ConfigInfoCtrl.java
→
src/main/java/com/keymobile/indicators/api/
hytobacco
/ConfigInfoCtrl.java
View file @
85fccdfc
package
com
.
keymobile
.
indicators
.
api
.
indicators
;
package
com
.
keymobile
.
indicators
.
api
.
hytobacco
;
import
com.keymobile.indicators.constant.Constants
;
import
com.keymobile.indicators.constant.Constants
;
import
com.keymobile.indicators.model.entity.ConfigInfo
;
import
com.keymobile.indicators.model.entity.ConfigInfo
;
...
...
src/main/java/com/keymobile/indicators/api/hytobacco/DataEnterCtrl.java
View file @
85fccdfc
package
com
.
keymobile
.
indicators
.
api
.
hytobacco
;
package
com
.
keymobile
.
indicators
.
api
.
hytobacco
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.keymobile.indicators.constant.Constants
;
import
com.keymobile.indicators.constant.Constants
;
import
com.keymobile.indicators.model.entity.AuthModel
;
import
com.keymobile.indicators.model.entity.AuthModel
;
...
@@ -53,7 +52,7 @@ public class DataEnterCtrl {
...
@@ -53,7 +52,7 @@ public class DataEnterCtrl {
@ApiOperation
(
"获取需要在线填报的数据项(填报任务点击)"
)
@ApiOperation
(
"获取需要在线填报的数据项(填报任务点击)"
)
@GetMapping
(
"findToEdit"
)
@GetMapping
(
"findToEdit"
)
public
List
<
TaskIndValue
>
findToEdit
(
@RequestParam
(
"taskId"
)
String
taskId
)
{
public
List
<
TaskIndValue
>
findToEdit
(
@RequestParam
(
"taskId"
)
String
taskId
)
throws
Exception
{
List
<
TaskIndValue
>
list
=
new
ArrayList
<>();
List
<
TaskIndValue
>
list
=
new
ArrayList
<>();
Task
task
=
taskService
.
getById
(
taskId
,
true
,
false
);
Task
task
=
taskService
.
getById
(
taskId
,
true
,
false
);
String
userId
=
SystemUserUtil
.
getCurrentUserId
();
String
userId
=
SystemUserUtil
.
getCurrentUserId
();
...
@@ -87,10 +86,15 @@ public class DataEnterCtrl {
...
@@ -87,10 +86,15 @@ public class DataEnterCtrl {
for
(
TaskIndicator
indicator
:
taskIndicators
)
{
for
(
TaskIndicator
indicator
:
taskIndicators
)
{
indIds
.
add
(
indicator
.
getIndId
());
indIds
.
add
(
indicator
.
getIndId
());
}
}
List
<
TaskIndValue
>
defaultValues
=
taskService
.
findDefaultValues
(
task
.
getValueTime
(),
indIds
);
String
valueTime
=
task
.
getValueTime
();
list
=
genernateEditObjects
(
task
,
defaultValues
,
objs
,
groupObj
.
getObjType
());
String
sameTermValutTime
=
DateUtils
.
getSameTermValueTime
(
valueTime
);
List
<
TaskIndValue
>
defaultValues
=
taskService
.
findDefaultValues
(
valueTime
.
replace
(
"-"
,
""
),
indIds
);
List
<
TaskIndValue
>
defaultLastValueValues
=
taskService
.
findDefaultValues
(
sameTermValutTime
.
replace
(
"-"
,
""
),
indIds
);
list
=
genernateEditObjects
(
task
,
defaultValues
,
defaultLastValueValues
,
objs
,
groupObj
.
getObjType
());
}
else
{
}
else
{
list
=
genernateEditObjects
(
task
,
oldValues
,
objs
,
groupObj
.
getObjType
());
list
=
genernateEditObjects
(
task
,
oldValues
,
null
,
objs
,
groupObj
.
getObjType
());
}
}
}
}
}
}
...
@@ -123,7 +127,7 @@ public class DataEnterCtrl {
...
@@ -123,7 +127,7 @@ public class DataEnterCtrl {
* @param objType
* @param objType
* @return
* @return
*/
*/
private
List
<
TaskIndValue
>
genernateEditObjects
(
Task
task
,
List
<
TaskIndValue
>
oldValues
,
private
List
<
TaskIndValue
>
genernateEditObjects
(
Task
task
,
List
<
TaskIndValue
>
oldValues
,
List
<
TaskIndValue
>
oldLastValues
,
List
<
AuthModel
>
objs
,
Integer
objType
)
{
List
<
AuthModel
>
objs
,
Integer
objType
)
{
List
<
TaskIndValue
>
list
=
new
ArrayList
<>();
List
<
TaskIndValue
>
list
=
new
ArrayList
<>();
List
<
TaskIndicator
>
taskIndicators
=
task
.
getIndicators
();
List
<
TaskIndicator
>
taskIndicators
=
task
.
getIndicators
();
...
@@ -143,14 +147,28 @@ public class DataEnterCtrl {
...
@@ -143,14 +147,28 @@ public class DataEnterCtrl {
value
.
setObjId
(
obj
.
getId
());
value
.
setObjId
(
obj
.
getId
());
value
.
setObjName
(
obj
.
getName
());
value
.
setObjName
(
obj
.
getName
());
value
.
setObjType
(
objType
);
value
.
setObjType
(
objType
);
for
(
TaskIndValue
old
:
oldValues
)
{
for
(
TaskIndValue
old
:
oldValues
)
{
if
(
old
.
getIndId
().
equals
(
value
.
getIndId
())
if
(
old
.
getIndId
().
equals
(
value
.
getIndId
())
&&
old
.
getObjType
().
equals
(
value
.
getObjType
())
//
&& old.getObjType().equals(value.getObjType())
&&
old
.
getObjId
().
equals
(
value
.
getObjId
()))
{
&&
old
.
getObjId
().
equals
(
value
.
getObjId
()))
{
value
.
setIndValue
(
old
.
getIndValue
());
value
.
setIndValue
(
old
.
getIndValue
());
//已经填好的值
value
.
setIndLastValue
(
old
.
getIndValue
());
break
;
break
;
}
}
}
}
//同期值
if
(
oldLastValues
!=
null
)
{
for
(
TaskIndValue
old
:
oldLastValues
)
{
if
(
old
.
getIndId
().
equals
(
value
.
getIndId
())
// && old.getObjType().equals(value.getObjType())
&&
old
.
getObjId
().
equals
(
value
.
getObjId
()))
{
value
.
setIndLastValue
(
old
.
getIndValue
());
break
;
}
}
}
list
.
add
(
value
);
list
.
add
(
value
);
}
}
// }
// }
...
@@ -202,7 +220,7 @@ public class DataEnterCtrl {
...
@@ -202,7 +220,7 @@ public class DataEnterCtrl {
Task
task
=
taskService
.
getById
(
taskId
,
true
,
false
);
Task
task
=
taskService
.
getById
(
taskId
,
true
,
false
);
if
(
template
.
getNeedSameTerm
()
!=
null
&&
template
.
getNeedSameTerm
())
{
if
(
template
.
getNeedSameTerm
()
!=
null
&&
template
.
getNeedSameTerm
())
{
hasSameTerm
=
true
;
hasSameTerm
=
true
;
sameTermValutTime
=
getSameTermValueTime
(
task
.
getValueTime
());
sameTermValutTime
=
DateUtils
.
getSameTermValueTime
(
task
.
getValueTime
());
}
}
StringBuilder
sb
=
new
StringBuilder
();
StringBuilder
sb
=
new
StringBuilder
();
List
<
TaskIndValue
>
taskIndValues
=
new
ArrayList
<>();
List
<
TaskIndValue
>
taskIndValues
=
new
ArrayList
<>();
...
@@ -224,9 +242,10 @@ public class DataEnterCtrl {
...
@@ -224,9 +242,10 @@ public class DataEnterCtrl {
taskId
,
task
.
getValueTime
(),
userId
,
now
);
taskId
,
task
.
getValueTime
(),
userId
,
now
);
taskIndValues
.
add
(
value
);
taskIndValues
.
add
(
value
);
if
(
hasSameTerm
)
{
if
(
hasSameTerm
)
{
TaskIndValue
value2
=
this
.
doGenTaskIndValue
(
val2
,
obj
,
ind
,
template
.
getId
(),
// TaskIndValue value2 = this.doGenTaskIndValue(val2, obj, ind, template.getId(),
taskId
,
sameTermValutTime
,
userId
,
now
);
// taskId, sameTermValutTime, userId, now);
taskIndValues
.
add
(
value2
);
// taskIndValues.add(value2);
value
.
setIndLastValue
(
val2
);
start
++;
start
++;
}
}
}
}
...
@@ -249,10 +268,11 @@ public class DataEnterCtrl {
...
@@ -249,10 +268,11 @@ public class DataEnterCtrl {
XSSFRow
row2
=
sheet
.
getRow
(
t
+
1
);
XSSFRow
row2
=
sheet
.
getRow
(
t
+
1
);
startRow
++;
startRow
++;
String
val2
=
ExcelUtil
.
getXSSFCellValue
(
row2
.
getCell
(
startColumn
+
j
));
String
val2
=
ExcelUtil
.
getXSSFCellValue
(
row2
.
getCell
(
startColumn
+
j
));
TaskIndValue
value2
=
this
.
doGenTaskIndValue
(
val2
,
obj
,
ind
,
template
.
getId
(),
// TaskIndValue value2 = this.doGenTaskIndValue(val2, obj, ind, template.getId(),
taskId
,
sameTermValutTime
,
userId
,
now
);
// taskId, sameTermValutTime, userId, now);
// taskIndValues.add(value2);
value
.
setIndLastValue
(
val2
);
startRow
--;
startRow
--;
taskIndValues
.
add
(
value2
);
}
}
}
}
startRow
++;
startRow
++;
...
@@ -266,21 +286,7 @@ public class DataEnterCtrl {
...
@@ -266,21 +286,7 @@ public class DataEnterCtrl {
return
result
;
return
result
;
}
}
/**
* 获取同期时间
* @param valueTime
* @return
* @throws Exception
*/
private
String
getSameTermValueTime
(
String
valueTime
)
throws
Exception
{
String
format
=
"yyyy-MM"
;
Date
date
=
DateUtils
.
getDate
(
valueTime
,
format
);
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
calendar
.
add
(
Calendar
.
YEAR
,
-
1
);
date
=
calendar
.
getTime
();
return
DateUtils
.
formatDate
(
date
,
format
);
}
/**
/**
* 生成指标值对象
* 生成指标值对象
...
...
src/main/java/com/keymobile/indicators/api/hytobacco/NoticeInfoCtrl.java
0 → 100644
View file @
85fccdfc
package
com
.
keymobile
.
indicators
.
api
.
hytobacco
;
import
com.keymobile.indicators.model.entity.NoticeInfo
;
import
com.keymobile.indicators.result.Result
;
import
com.keymobile.indicators.service.NoticeInfoService
;
import
com.keymobile.indicators.utils.SystemUserUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.util.List
;
@RestController
@RequestMapping
(
"/notice"
)
@Api
(
value
=
"消息通知管理"
,
tags
=
{
"消息通知管理接口"
})
public
class
NoticeInfoCtrl
{
@Autowired
private
NoticeInfoService
noticeInfoService
;
@ApiOperation
(
"根据条件搜索我的通知信息"
)
@GetMapping
(
"find"
)
public
Page
<
NoticeInfo
>
find
(
@ApiParam
(
"关键字搜索(标题)"
)
@RequestParam
(
value
=
"keyword"
,
required
=
false
)
String
keyword
,
@ApiParam
(
"页码,从1开始"
)
@RequestParam
(
"pageNo"
)
int
pageNo
,
@ApiParam
(
"每页条数"
)
@RequestParam
(
"pageSize"
)
int
pageSize
)
{
PageRequest
request
=
PageRequest
.
of
(
pageNo
,
pageSize
);
List
<
NoticeInfo
>
list
=
new
ArrayList
<>();
long
total
=
noticeInfoService
.
findByPageCount
(
keyword
,
null
,
SystemUserUtil
.
getCurrentUserId
());
if
(
total
>
0
)
{
list
=
noticeInfoService
.
findByPage
(
keyword
,
null
,
SystemUserUtil
.
getCurrentUserId
(),
request
.
getOffset
(),
pageSize
);
}
return
new
PageImpl
<>(
list
,
request
,
total
);
}
@ApiOperation
(
"我的未读消息总数"
)
@GetMapping
(
"findUnReadCount"
)
public
long
findUnReadCount
()
{
return
noticeInfoService
.
findByPageCount
(
null
,
false
,
SystemUserUtil
.
getCurrentUserId
());
}
@ApiOperation
(
"根据id获取消息内容"
)
@GetMapping
(
"getById"
)
public
NoticeInfo
getById
(
@RequestParam
(
"id"
)
Integer
id
)
{
return
noticeInfoService
.
getById
(
id
);
}
@ApiOperation
(
"根据id批量删除消息"
)
@PostMapping
(
"deleteByIds"
)
public
Result
deleteByIds
(
@RequestBody
List
<
Integer
>
ids
)
{
if
(
CollectionUtils
.
isNotEmpty
(
ids
))
{
noticeInfoService
.
deleteByIds
(
ids
);
}
return
Result
.
genOkResult
();
}
@ApiOperation
(
"根据id批量标记为已读"
)
@PostMapping
(
"updateToRead"
)
public
Result
updateToRead
(
@RequestBody
List
<
Integer
>
ids
)
{
if
(
CollectionUtils
.
isNotEmpty
(
ids
))
{
noticeInfoService
.
updateToRead
(
ids
);
}
return
Result
.
genOkResult
();
}
}
src/main/java/com/keymobile/indicators/api/hytobacco/TaskCtrl.java
View file @
85fccdfc
...
@@ -35,8 +35,6 @@ import java.util.List;
...
@@ -35,8 +35,6 @@ import java.util.List;
@RequestMapping
(
value
=
"/task"
)
@RequestMapping
(
value
=
"/task"
)
public
class
TaskCtrl
{
public
class
TaskCtrl
{
@Autowired
@Autowired
private
TaskService
taskService
;
private
TaskService
taskService
;
...
@@ -44,16 +42,23 @@ public class TaskCtrl {
...
@@ -44,16 +42,23 @@ public class TaskCtrl {
@ApiOperation
(
"(启动)根据规则生成相关填报任务"
)
@ApiOperation
(
"(启动)根据规则生成相关填报任务"
)
@GetMapping
(
"generateTaskByRule"
)
@GetMapping
(
"generateTaskByRule"
)
public
Result
generateTaskByRule
(
@ApiParam
(
"规则id"
)
@RequestParam
(
"ruleIds"
)
List
<
Integer
>
ruleIds
,
public
Result
generateTaskByRule
(
@ApiParam
(
"规则id"
)
@RequestParam
(
"ruleIds"
)
List
<
Integer
>
ruleIds
,
@ApiParam
(
"收数月份, 格式: 2020-03、2020-06、2020-09、2020-12"
)
@RequestParam
(
"valueTime"
)
String
valueTime
)
{
@ApiParam
(
"收数月份, 格式: 2020-03、2020-06、2020-09、2020-12"
)
@RequestParam
(
"valueTime"
)
String
valueTime
,
@ApiParam
(
"是否需要同期值"
)
@RequestParam
(
value
=
"needLast"
,
required
=
false
)
Boolean
needLast
)
{
Result
result
=
null
;
Result
result
=
null
;
boolean
need
=
true
;
if
(
needLast
!=
null
)
{
need
=
needLast
.
booleanValue
();
}
if
(
CollectionUtils
.
isNotEmpty
(
ruleIds
))
{
if
(
CollectionUtils
.
isNotEmpty
(
ruleIds
))
{
if
(
ruleIds
.
size
()
>
1
)
{
if
(
ruleIds
.
size
()
>
1
)
{
taskService
.
batchCreateTaskByRule
(
ruleIds
,
valueTime
);
taskService
.
batchCreateTaskByRule
(
ruleIds
,
valueTime
,
need
);
result
=
Result
.
genOkResult
(
"开始批量启动任务"
);
result
=
Result
.
genOkResult
(
"开始批量启动任务"
);
LogManager
.
logInfo
(
Constants
.
LOG_CONTEXT_API
,
"{}启动了批量任务数据时间为:{}的任务, ids为{}"
,
LogManager
.
logInfo
(
Constants
.
LOG_CONTEXT_API
,
"{}启动了批量任务数据时间为:{}的任务, ids为{}"
,
SystemUserUtil
.
getCurrentUser
(),
valueTime
,
ruleIds
);
SystemUserUtil
.
getCurrentUser
(),
valueTime
,
ruleIds
);
}
else
{
}
else
{
result
=
taskService
.
createTaskByRule
(
ruleIds
.
get
(
0
),
valueTime
);
result
=
taskService
.
createTaskByRule
(
ruleIds
.
get
(
0
),
valueTime
,
need
);
LogManager
.
logInfo
(
Constants
.
LOG_CONTEXT_API
,
"{}启动了数据时间为:{}的任务id为{}"
,
LogManager
.
logInfo
(
Constants
.
LOG_CONTEXT_API
,
"{}启动了数据时间为:{}的任务id为{}"
,
SystemUserUtil
.
getCurrentUser
(),
valueTime
,
ruleIds
);
SystemUserUtil
.
getCurrentUser
(),
valueTime
,
ruleIds
);
}
}
...
@@ -75,7 +80,7 @@ public class TaskCtrl {
...
@@ -75,7 +80,7 @@ public class TaskCtrl {
@PostMapping
(
"findMyTask"
)
@PostMapping
(
"findMyTask"
)
public
List
<
Task
>
findMyTask
(
@RequestBody
QueryAllTaskParam
param
)
{
public
List
<
Task
>
findMyTask
(
@RequestBody
QueryAllTaskParam
param
)
{
param
.
setUserId
(
SystemUserUtil
.
getCurrentUserId
());
param
.
setUserId
(
SystemUserUtil
.
getCurrentUserId
());
LogManager
.
logInfo
(
Constants
.
LOG_CONTEXT_API
,
"{}查询了我任务
:{}
"
,
LogManager
.
logInfo
(
Constants
.
LOG_CONTEXT_API
,
"{}查询了我任务
的
"
,
SystemUserUtil
.
getCurrentUser
());
SystemUserUtil
.
getCurrentUser
());
return
taskService
.
findAllTask
(
param
);
return
taskService
.
findAllTask
(
param
);
}
}
...
...
src/main/java/com/keymobile/indicators/model/entity/NoticeInfo.java
0 → 100644
View file @
85fccdfc
package
com
.
keymobile
.
indicators
.
model
.
entity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GenerationType
;
import
javax.persistence.Id
;
@Data
@ApiModel
(
"通知消息对象"
)
public
class
NoticeInfo
extends
BaseModel
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Integer
id
;
@ApiModelProperty
(
"通知标题"
)
private
String
title
;
@ApiModelProperty
(
"通知详细内容"
)
private
String
detail
;
@ApiModelProperty
(
"是否已读"
)
private
Boolean
isRead
;
@ApiModelProperty
(
"通知标题"
)
private
String
toUserId
;
}
src/main/java/com/keymobile/indicators/model/entity/dataenter/Task.java
View file @
85fccdfc
...
@@ -118,6 +118,11 @@ public class Task extends BaseModel {
...
@@ -118,6 +118,11 @@ public class Task extends BaseModel {
private
Boolean
needSum
;
private
Boolean
needSum
;
/**
/**
* 是否需要同期值
*/
private
Boolean
needLast
;
/**
* 任务状态:1、填报中 2、审批中 3、审核通过 4、驳回
* 任务状态:1、填报中 2、审批中 3、审核通过 4、驳回
*/
*/
private
Integer
status
;
private
Integer
status
;
...
...
src/main/java/com/keymobile/indicators/model/entity/dataenter/TaskIndValue.java
View file @
85fccdfc
...
@@ -6,6 +6,7 @@ import lombok.Data;
...
@@ -6,6 +6,7 @@ import lombok.Data;
import
javax.persistence.Id
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
javax.persistence.Table
;
import
javax.persistence.Transient
;
/**
/**
* 任务填报的数据项值
* 任务填报的数据项值
...
@@ -56,6 +57,12 @@ public class TaskIndValue extends BaseModel {
...
@@ -56,6 +57,12 @@ public class TaskIndValue extends BaseModel {
private
String
indValue
;
private
String
indValue
;
/**
/**
* 指标值
*/
@ApiModelProperty
(
"指标同期值"
)
private
String
indLastValue
;
/**
* 数据时间,例如2020-06表示二季度
* 数据时间,例如2020-06表示二季度
*/
*/
@ApiModelProperty
(
"数据时间"
)
@ApiModelProperty
(
"数据时间"
)
...
...
src/main/java/com/keymobile/indicators/model/mapper/indicators/NoticeInfoMapper.java
0 → 100644
View file @
85fccdfc
package
com
.
keymobile
.
indicators
.
model
.
mapper
.
indicators
;
import
com.keymobile.indicators.model.entity.NoticeInfo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.BaseMapper
;
import
java.util.List
;
@Mapper
public
interface
NoticeInfoMapper
extends
BaseMapper
<
NoticeInfo
>
{
/**
* 根据id获取
* @param id
* @return
*/
NoticeInfo
getById
(
Integer
id
);
/**
* 分页搜索
* @param keyword
* @param isRead
* @param userId
* @param start
* @param pageSizte
* @return
*/
List
<
NoticeInfo
>
findByPage
(
@Param
(
"keyword"
)
String
keyword
,
@Param
(
"isRead"
)
Boolean
isRead
,
@Param
(
"userId"
)
String
userId
,
@Param
(
"start"
)
long
start
,
@Param
(
"pageSize"
)
int
pageSizte
);
/**
* 搜索总数
* @param keyword
* @param isRead
* @param userId
* @return
*/
long
findByPageCount
(
@Param
(
"keyword"
)
String
keyword
,
@Param
(
"isRead"
)
Boolean
isRead
,
@Param
(
"userId"
)
String
userId
);
/**
* 标记为删除
* @param ids
*/
void
deleteByIds
(
@Param
(
"ids"
)
List
<
Integer
>
ids
);
/**
* 标记为已读
* @param ids
*/
void
updateToRead
(
@Param
(
"ids"
)
List
<
Integer
>
ids
);
}
src/main/java/com/keymobile/indicators/service/NoticeInfoService.java
0 → 100644
View file @
85fccdfc
package
com
.
keymobile
.
indicators
.
service
;
import
com.keymobile.indicators.model.entity.NoticeInfo
;
import
java.util.List
;
public
interface
NoticeInfoService
{
/**
* 根据id获取
* @param id
* @return
*/
NoticeInfo
getById
(
Integer
id
);
/**
* 分页搜索
* @param keyword
* @param isRead
* @param userId
* @param start
* @param pageSizte
* @return
*/
List
<
NoticeInfo
>
findByPage
(
String
keyword
,
Boolean
isRead
,
String
userId
,
long
start
,
int
pageSizte
);
/**
* 搜索总数
* @param keyword
* @param isRead
* @param userId
* @return
*/
long
findByPageCount
(
String
keyword
,
Boolean
isRead
,
String
userId
);
/**
* 标记为删除
* @param ids
*/
void
deleteByIds
(
List
<
Integer
>
ids
);
/**
* 标记为已读
* @param ids
*/
void
updateToRead
(
List
<
Integer
>
ids
);
}
src/main/java/com/keymobile/indicators/service/dataenter/TaskService.java
View file @
85fccdfc
...
@@ -175,10 +175,11 @@ public interface TaskService {
...
@@ -175,10 +175,11 @@ public interface TaskService {
* 批量启动任务
* 批量启动任务
* @param ruleIds
* @param ruleIds
* @param valueTime
* @param valueTime
* @param needLast
* @return
* @return
*/
*/
void
batchCreateTaskByRule
(
List
<
Integer
>
ruleIds
,
void
batchCreateTaskByRule
(
List
<
Integer
>
ruleIds
,
@ApiParam
(
"收数月份, 格式: 2020-03、2020-06、2020-09、2020-12"
)
String
valueTime
);
@ApiParam
(
"收数月份, 格式: 2020-03、2020-06、2020-09、2020-12"
)
String
valueTime
,
boolean
needLast
);
/**
/**
* 单个生成任务
* 单个生成任务
...
@@ -187,6 +188,6 @@ public interface TaskService {
...
@@ -187,6 +188,6 @@ public interface TaskService {
* @return
* @return
*/
*/
Result
createTaskByRule
(
Integer
ruleId
,
Result
createTaskByRule
(
Integer
ruleId
,
@ApiParam
(
"收数月份, 格式: 2020-03、2020-06、2020-09、2020-12"
)
String
valueTime
);
@ApiParam
(
"收数月份, 格式: 2020-03、2020-06、2020-09、2020-12"
)
String
valueTime
,
boolean
needLast
);
}
}
src/main/java/com/keymobile/indicators/service/dataenter/impl/TaskServiceImpl.java
View file @
85fccdfc
...
@@ -362,12 +362,18 @@ public class TaskServiceImpl implements TaskService {
...
@@ -362,12 +362,18 @@ public class TaskServiceImpl implements TaskService {
* 通过填报值计算出包含公式的数据项值
* 通过填报值计算出包含公式的数据项值
* @param task
* @param task
*/
*/
private
List
<
IndicatorsData
>
createCountIndValues
(
Task
task
)
{
private
List
<
IndicatorsData
>
createCountIndValues
(
Task
task
)
{
List
<
TaskIndicator
>
inds
=
taskIndicatorMapper
.
getByTaskId
(
task
.
getId
());
List
<
TaskIndicator
>
inds
=
taskIndicatorMapper
.
getByTaskId
(
task
.
getId
());
List
<
TaskIndValue
>
values
=
taskIndValueMapper
.
getByTaskId
(
task
.
getId
());
List
<
TaskIndValue
>
values
=
taskIndValueMapper
.
getByTaskId
(
task
.
getId
());
String
valueTime
=
task
.
getValueTime
().
replaceAll
(
"-"
,
""
);
String
valueTime
=
task
.
getValueTime
().
replaceAll
(
"-"
,
""
);
Integer
vt
=
Integer
.
parseInt
(
valueTime
);
Integer
vt
=
Integer
.
parseInt
(
valueTime
);
String
sameTermValutTime
=
DateUtils
.
getSameTermValueTime
(
task
.
getValueTime
());
Integer
lastVt
=
Integer
.
parseInt
(
sameTermValutTime
.
replaceAll
(
"-"
,
""
));
List
<
IndicatorsData
>
datas
=
new
ArrayList
<>();
List
<
IndicatorsData
>
datas
=
new
ArrayList
<>();
boolean
needLast
=
true
;
if
(
task
.
getNeedLast
()
!=
null
)
{
needLast
=
task
.
getNeedLast
();
}
for
(
TaskIndValue
value
:
values
)
{
for
(
TaskIndValue
value
:
values
)
{
IndicatorsData
data
=
new
IndicatorsData
();
IndicatorsData
data
=
new
IndicatorsData
();
data
.
setBatchNo
(
task
.
getId
());
data
.
setBatchNo
(
task
.
getId
());
...
@@ -381,6 +387,7 @@ public class TaskServiceImpl implements TaskService {
...
@@ -381,6 +387,7 @@ public class TaskServiceImpl implements TaskService {
data
.
setUnit
(
value
.
getIndUnit
());
data
.
setUnit
(
value
.
getIndUnit
());
data
.
setDim1Desc
(
value
.
getObjName
());
data
.
setDim1Desc
(
value
.
getObjName
());
datas
.
add
(
data
);
datas
.
add
(
data
);
generateIndData
(
task
,
vt
,
lastVt
,
value
,
needLast
,
datas
);
}
}
TaskRuleGroupObj
groupObj
=
taskRuleObjMapper
.
getById
(
task
.
getGroupId
());
TaskRuleGroupObj
groupObj
=
taskRuleObjMapper
.
getById
(
task
.
getGroupId
());
List
<
TaskIndicator
>
needSumInds
=
new
ArrayList
<>();
List
<
TaskIndicator
>
needSumInds
=
new
ArrayList
<>();
...
@@ -428,17 +435,7 @@ public class TaskServiceImpl implements TaskService {
...
@@ -428,17 +435,7 @@ public class TaskServiceImpl implements TaskService {
value
.
setTaskId
(
task
.
getId
());
value
.
setTaskId
(
task
.
getId
());
newValues
.
add
(
value
);
newValues
.
add
(
value
);
IndicatorsData
data
=
new
IndicatorsData
();
generateIndData
(
task
,
vt
,
lastVt
,
value
,
needLast
,
datas
);
data
.
setBatchNo
(
task
.
getId
());
data
.
setDataType
(
"double"
);
data
.
setDim2
(
vt
);
data
.
setDim1
(
value
.
getObjId
());
data
.
setDim1Desc
(
value
.
getObjName
());
data
.
setIndId
(
value
.
getIndId
());
data
.
setIndDesc
(
value
.
getIndName
());
data
.
setType
(
"1"
);
data
.
setUnit
(
value
.
getIndUnit
());
datas
.
add
(
data
);
}
}
}
}
taskIndValueMapper
.
batchInsert
(
newValues
);
taskIndValueMapper
.
batchInsert
(
newValues
);
...
@@ -449,6 +446,49 @@ public class TaskServiceImpl implements TaskService {
...
@@ -449,6 +446,49 @@ public class TaskServiceImpl implements TaskService {
return
datas
;
return
datas
;
}
}
/**
* 生成基本指标值
* @param task
* @param valueTime
* @param lastValueTime
* @param value
* @param needLast
* @param datas
*/
private
void
generateIndData
(
Task
task
,
Integer
valueTime
,
Integer
lastValueTime
,
TaskIndValue
value
,
boolean
needLast
,
List
<
IndicatorsData
>
datas
)
{
IndicatorsData
data
=
new
IndicatorsData
();
data
.
setBatchNo
(
task
.
getId
());
data
.
setDataType
(
"double"
);
data
.
setDim2
(
valueTime
);
data
.
setDim1
(
value
.
getObjId
());
data
.
setIndId
(
value
.
getIndId
());
data
.
setIndDesc
(
value
.
getIndName
());
data
.
setType
(
"1"
);
data
.
setValue
(
value
.
getIndValue
());
data
.
setUnit
(
value
.
getIndUnit
());
data
.
setDim1Desc
(
value
.
getObjName
());
datas
.
add
(
data
);
if
(
needLast
)
{
IndicatorsData
last
=
new
IndicatorsData
();
last
.
setBatchNo
(
task
.
getId
());
last
.
setDataType
(
"double"
);
last
.
setDim2
(
lastValueTime
);
last
.
setDim1
(
value
.
getObjId
());
last
.
setIndId
(
value
.
getIndId
());
last
.
setIndDesc
(
value
.
getIndName
());
last
.
setType
(
"1"
);
last
.
setValue
(
value
.
getIndLastValue
());
last
.
setUnit
(
value
.
getIndUnit
());
last
.
setDim1Desc
(
value
.
getObjName
());
datas
.
add
(
last
);
}
}
@Override
@Override
public
List
<
AuditRecord
>
findAuditRecordByTaskId
(
String
taskId
)
{
public
List
<
AuditRecord
>
findAuditRecordByTaskId
(
String
taskId
)
{
return
taskAuditRecordMapper
.
getByTaskId
(
taskId
);
return
taskAuditRecordMapper
.
getByTaskId
(
taskId
);
...
@@ -482,9 +522,9 @@ public class TaskServiceImpl implements TaskService {
...
@@ -482,9 +522,9 @@ public class TaskServiceImpl implements TaskService {
@Override
@Override
@Async
@Async
public
void
batchCreateTaskByRule
(
List
<
Integer
>
ruleIds
,
String
valueTime
)
{
public
void
batchCreateTaskByRule
(
List
<
Integer
>
ruleIds
,
String
valueTime
,
boolean
needLast
)
{
for
(
Integer
ruleId
:
ruleIds
)
{
for
(
Integer
ruleId
:
ruleIds
)
{
createTaskByRule
(
ruleId
,
valueTime
);
createTaskByRule
(
ruleId
,
valueTime
,
needLast
);
}
}
}
}
...
@@ -522,7 +562,7 @@ public class TaskServiceImpl implements TaskService {
...
@@ -522,7 +562,7 @@ public class TaskServiceImpl implements TaskService {
}
}
@Override
@Override
public
Result
createTaskByRule
(
Integer
ruleId
,
String
valueTime
)
{
public
Result
createTaskByRule
(
Integer
ruleId
,
String
valueTime
,
boolean
needLast
)
{
Result
result
=
null
;
Result
result
=
null
;
TaskRule
rule
=
taskRuleService
.
getById
(
ruleId
,
true
);
TaskRule
rule
=
taskRuleService
.
getById
(
ruleId
,
true
);
if
(
rule
!=
null
)
{
if
(
rule
!=
null
)
{
...
@@ -564,6 +604,7 @@ public class TaskServiceImpl implements TaskService {
...
@@ -564,6 +604,7 @@ public class TaskServiceImpl implements TaskService {
task
.
setId
(
IdWorker
.
getStrId
());
task
.
setId
(
IdWorker
.
getStrId
());
task
.
setValueTime
(
valueTime
);
task
.
setValueTime
(
valueTime
);
task
.
setCreateTime
(
now
);
task
.
setCreateTime
(
now
);
task
.
setNeedLast
(
needLast
);
task
.
setToRoleNames
(
rule
.
getToRoleNames
());
task
.
setToRoleNames
(
rule
.
getToRoleNames
());
task
.
setCreator
(
user
);
task
.
setCreator
(
user
);
task
.
setUpdateTime
(
now
);
task
.
setUpdateTime
(
now
);
...
...
src/main/java/com/keymobile/indicators/service/impl/NoticeInfoServiceImpl.java
0 → 100644
View file @
85fccdfc
package
com
.
keymobile
.
indicators
.
service
.
impl
;
import
com.keymobile.indicators.model.entity.NoticeInfo
;
import
com.keymobile.indicators.model.mapper.indicators.NoticeInfoMapper
;
import
com.keymobile.indicators.service.NoticeInfoService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
NoticeInfoServiceImpl
implements
NoticeInfoService
{
@Autowired
private
NoticeInfoMapper
noticeInfoMapper
;
@Override
public
NoticeInfo
getById
(
Integer
id
)
{
return
noticeInfoMapper
.
getById
(
id
);
}
@Override
public
List
<
NoticeInfo
>
findByPage
(
String
keyword
,
Boolean
isRead
,
String
userId
,
long
start
,
int
pageSizte
)
{
return
noticeInfoMapper
.
findByPage
(
keyword
,
isRead
,
userId
,
start
,
pageSizte
);
}
@Override
public
long
findByPageCount
(
String
keyword
,
Boolean
isRead
,
String
userId
)
{
return
noticeInfoMapper
.
findByPageCount
(
keyword
,
isRead
,
userId
);
}
@Override
public
void
deleteByIds
(
List
<
Integer
>
ids
)
{
noticeInfoMapper
.
deleteByIds
(
ids
);
}
@Override
public
void
updateToRead
(
List
<
Integer
>
ids
)
{
noticeInfoMapper
.
updateToRead
(
ids
);
}
}
src/main/java/com/keymobile/indicators/utils/DateUtils.java
View file @
85fccdfc
...
@@ -4,9 +4,10 @@ import java.text.SimpleDateFormat;
...
@@ -4,9 +4,10 @@ import java.text.SimpleDateFormat;
import
java.util.Calendar
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.Date
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.time.DateFormatUtils
;
import
org.apache.commons.lang3.time.DateFormatUtils
;
@Slf4j
public
class
DateUtils
{
public
class
DateUtils
{
private
static
final
String
PARSE_PATTERN_DD
=
"yyyy-MM-dd"
;
private
static
final
String
PARSE_PATTERN_DD
=
"yyyy-MM-dd"
;
...
@@ -46,4 +47,26 @@ public class DateUtils {
...
@@ -46,4 +47,26 @@ public class DateUtils {
c
.
add
(
Calendar
.
DATE
,
dates
);
c
.
add
(
Calendar
.
DATE
,
dates
);
return
c
.
getTime
();
return
c
.
getTime
();
}
}
/**
* 获取去年同期(YYYY-MM)
* @param valueTime
* @return
* @throws Exception
*/
public
static
String
getSameTermValueTime
(
String
valueTime
)
{
String
str
=
""
;
try
{
String
format
=
"yyyy-MM"
;
Date
date
=
DateUtils
.
getDate
(
valueTime
,
format
);
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
calendar
.
add
(
Calendar
.
YEAR
,
-
1
);
date
=
calendar
.
getTime
();
str
=
DateUtils
.
formatDate
(
date
,
format
);
}
catch
(
Exception
ex
)
{
log
.
error
(
"转换同期值出错:"
+
valueTime
,
ex
);
}
return
str
;
}
}
}
src/main/resources/mybatis/mapping/NoticeInfoMapper.xml
0 → 100644
View file @
85fccdfc
<?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=
"com.keymobile.indicators.model.mapper.indicators.NoticeInfoMapper"
>
<select
id=
"getById"
resultType=
"com.keymobile.indicators.model.entity.NoticeInfo"
>
select *
from notice_info
where id = #{id}
</select>
<select
id=
"findByPage"
resultType=
"com.keymobile.indicators.model.entity.NoticeInfo"
>
select *
from notice_info
<include
refid=
"findWhereSql"
></include>
order by is_read asc, create_time desc
limit #{start}, #{pageSize}
</select>
<select
id=
"findByPageCount"
resultType=
"long"
>
select count(id)
from notice_info
<include
refid=
"findWhereSql"
></include>
</select>
<sql
id=
"findWhereSql"
>
where state = 1
<if
test=
"keyword != null and keyword != ''"
>
and title like concat('%', #{keyword}, '%')
</if>
<if
test=
"userId != null and userId != ''"
>
and to_user = #{userId}
</if>
<if
test=
"isRead != null"
>
and is_read = #{isRead}
</if>
</sql>
<update
id=
"deleteByIds"
parameterType=
"list"
>
update notice_info
set
state = 3
where id in (
<foreach
collection=
"ids"
item=
"item"
separator=
","
>
#{item}
</foreach>
)
</update>
<update
id=
"updateToRead"
parameterType=
"list"
>
update notice_info
set
is_read = true
where id in (
<foreach
collection=
"ids"
item=
"item"
separator=
","
>
#{item}
</foreach>
)
</update>
</mapper>
\ No newline at end of file
src/main/resources/mybatis/mapping/TaskIndicatorValueMapper.xml
View file @
85fccdfc
...
@@ -67,11 +67,15 @@
...
@@ -67,11 +67,15 @@
order by ind_id asc
order by ind_id asc
</select>
</select>
<select
id=
"findDefaultValues"
parameterType=
"object"
resultType=
"com.keymobile.indicators.model.entity.dataenter.TaskIndValue"
>
<select
id=
"findDefaultValues"
parameterType=
"object"
select *
resultType=
"com.keymobile.indicators.model.entity.dataenter.TaskIndValue"
>
from data_enter_task_ind_val
select ind_id,
where value_time = #{valueTime} and state = 1
dim2 as value_time,
and status = 3
value as ind_value,
dim1 as obj_id,
dim1_desc as abj_name
from indi_data_def
where dim2 = #{valueTime}
<if
test=
"ids != null and ids.size() > 0"
>
<if
test=
"ids != null and ids.size() > 0"
>
and ind_id in (
and ind_id in (
<foreach
collection=
"ids"
item=
"indId"
separator=
","
>
<foreach
collection=
"ids"
item=
"indId"
separator=
","
>
...
@@ -79,7 +83,7 @@
...
@@ -79,7 +83,7 @@
</foreach>
</foreach>
)
)
</if>
</if>
order by
update_time
desc
order by
ind_id
desc
</select>
</select>
<update
id=
"updateTaskValueToPass"
parameterType=
"java.lang.String"
>
<update
id=
"updateTaskValueToPass"
parameterType=
"java.lang.String"
>
...
...
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