Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
dataC_api
Project
Project
Details
Activity
Releases
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
高宇
dataC_api
Commits
efa15a92
Commit
efa15a92
authored
May 16, 2024
by
高宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.月度信息
parent
bf72e4fc
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
108 additions
and
32 deletions
+108
-32
Jnsp7xtmDqsjController.java
...t/bus/jnsp7xtmdqsj/controller/Jnsp7xtmDqsjController.java
+5
-1
Jnsp7xtmDqsjRepository.java
.../rcisoft/bus/jnsp7xtmdqsj/dao/Jnsp7xtmDqsjRepository.java
+7
-1
Jnsp7xtmDqsjPageHandleDto.java
...isoft/bus/jnsp7xtmdqsj/dto/Jnsp7xtmDqsjPageHandleDto.java
+29
-0
Jnsp7xtmDqsjServiceImpl.java
...us/jnsp7xtmdqsj/service/impl/Jnsp7xtmDqsjServiceImpl.java
+51
-28
application-dev-conf.yml
src/main/resources/application-dev-conf.yml
+3
-1
Jnsp7xtmDqsjMapper.xml
...ces/mapper/bus/jnsp7xtmdqsj/mapper/Jnsp7xtmDqsjMapper.xml
+13
-1
No files found.
src/main/java/org/rcisoft/bus/jnsp7xtmdqsj/controller/Jnsp7xtmDqsjController.java
View file @
efa15a92
...
@@ -31,6 +31,8 @@ import org.rcisoft.bus.jnsp7xtmdqsj.entity.Jnsp7xtmDqsj;
...
@@ -31,6 +31,8 @@ import org.rcisoft.bus.jnsp7xtmdqsj.entity.Jnsp7xtmDqsj;
import
org.rcisoft.bus.jnsp7xtmdqsj.service.Jnsp7xtmDqsjService
;
import
org.rcisoft.bus.jnsp7xtmdqsj.service.Jnsp7xtmDqsjService
;
import
java.util.List
;
import
java.util.List
;
import
java.util.concurrent.locks.Lock
;
import
java.util.concurrent.locks.ReentrantLock
;
/**
/**
* Created by cy on 2024年5月14日 上午10:20:48.
* Created by cy on 2024年5月14日 上午10:20:48.
...
@@ -43,6 +45,8 @@ public class Jnsp7xtmDqsjController extends CyPaginationController<Jnsp7xtmDqsj>
...
@@ -43,6 +45,8 @@ public class Jnsp7xtmDqsjController extends CyPaginationController<Jnsp7xtmDqsj>
@Autowired
@Autowired
private
Jnsp7xtmDqsjService
jnsp7xtmDqsjServiceImpl
;
private
Jnsp7xtmDqsjService
jnsp7xtmDqsjServiceImpl
;
//@PreAuthorize("@cyPerm.hasPerm('sys:p7xtmDqsj:add')")
//@PreAuthorize("@cyPerm.hasPerm('sys:p7xtmDqsj:add')")
@CyOpeLogAnno
(
title
=
"system-Jnsp7xtmDqsj管理-新增Jnsp7xtmDqsj"
,
businessType
=
CyLogTypeEnum
.
INSERT
)
@CyOpeLogAnno
(
title
=
"system-Jnsp7xtmDqsj管理-新增Jnsp7xtmDqsj"
,
businessType
=
CyLogTypeEnum
.
INSERT
)
@ApiOperation
(
value
=
"添加Jnsp7xtmDqsj"
,
notes
=
"添加Jnsp7xtmDqsj"
)
@ApiOperation
(
value
=
"添加Jnsp7xtmDqsj"
,
notes
=
"添加Jnsp7xtmDqsj"
)
...
@@ -156,7 +160,7 @@ public class Jnsp7xtmDqsjController extends CyPaginationController<Jnsp7xtmDqsj>
...
@@ -156,7 +160,7 @@ public class Jnsp7xtmDqsjController extends CyPaginationController<Jnsp7xtmDqsj>
TaskInfo
taskInfo
=
jnsp7xtmDqsjServiceImpl
.
addTaskInfo
();
TaskInfo
taskInfo
=
jnsp7xtmDqsjServiceImpl
.
addTaskInfo
();
//service2
//service2
jnsp7xtmDqsjServiceImpl
.
monthlyTablePull
(
taskInfo
.
getTackId
());
jnsp7xtmDqsjServiceImpl
.
monthlyTablePull
(
taskInfo
.
getTackId
());
return
CyResultGenUtil
.
builder
(
new
CyPersistModel
(
1
),
return
CyResultGenUtil
.
builder
(
jnsp7xtmDqsjServiceImpl
.
monthlyTablePull
(
taskInfo
.
getTackId
()
),
CyMessCons
.
MESSAGE_ALERT_SUCCESS
,
CyMessCons
.
MESSAGE_ALERT_SUCCESS
,
CyMessCons
.
MESSAGE_ALERT_ERROR
,
CyMessCons
.
MESSAGE_ALERT_ERROR
,
taskInfo
);
taskInfo
);
...
...
src/main/java/org/rcisoft/bus/jnsp7xtmdqsj/dao/Jnsp7xtmDqsjRepository.java
View file @
efa15a92
...
@@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.*;
...
@@ -4,6 +4,7 @@ import org.apache.ibatis.annotations.*;
import
org.apache.ibatis.mapping.ResultSetType
;
import
org.apache.ibatis.mapping.ResultSetType
;
import
org.apache.ibatis.session.ResultHandler
;
import
org.apache.ibatis.session.ResultHandler
;
import
org.rcisoft.bus.jnsp7xtm.vo.Jnsp7xtmVo
;
import
org.rcisoft.bus.jnsp7xtm.vo.Jnsp7xtmVo
;
import
org.rcisoft.bus.jnsp7xtmdqsj.dto.Jnsp7xtmDqsjPageHandleDto
;
import
org.rcisoft.core.mapper.CyBaseMapper
;
import
org.rcisoft.core.mapper.CyBaseMapper
;
import
org.rcisoft.bus.jnsp7xtmdqsj.entity.Jnsp7xtmDqsj
;
import
org.rcisoft.bus.jnsp7xtmdqsj.entity.Jnsp7xtmDqsj
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
...
@@ -42,12 +43,17 @@ public interface Jnsp7xtmDqsjRepository extends CyBaseMapper<Jnsp7xtmDqsj> {
...
@@ -42,12 +43,17 @@ public interface Jnsp7xtmDqsjRepository extends CyBaseMapper<Jnsp7xtmDqsj> {
/**
/**
* 流式查询Jnsp7xtmVo
* 流式查询Jnsp7xtmVo
* **/
* **/
void
streamQuery
(
@Param
(
"handler"
)
ResultHandler
<
Jnsp7xtmVo
>
handler
);
void
streamQuery
(
ResultHandler
<
Jnsp7xtmVo
>
handler
,
@Param
(
"entity"
)
Jnsp7xtmDqsjPageHandleDto
jnsp7xtmDqsjPageHandleDto
);
/**
/**
* 批量添加 Jnsp7xtmDqsj
* 批量添加 Jnsp7xtmDqsj
* **/
* **/
void
batchAddJnsp7xtmDqsj
(
@Param
(
"list"
)
List
<
Jnsp7xtmDqsj
>
list
);
void
batchAddJnsp7xtmDqsj
(
@Param
(
"list"
)
List
<
Jnsp7xtmDqsj
>
list
);
/**
* 查询Jnsp7xtmVo的总数
* **/
Integer
queryTotalJnsp7xtmDqs
();
}
}
src/main/java/org/rcisoft/bus/jnsp7xtmdqsj/dto/Jnsp7xtmDqsjPageHandleDto.java
0 → 100644
View file @
efa15a92
package
org
.
rcisoft
.
bus
.
jnsp7xtmdqsj
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author: gy
* @Date: 2024/5/16 13:23
* @Description:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
Jnsp7xtmDqsjPageHandleDto
{
// 总数
private
Integer
total
;
// 当前页
private
Integer
page
;
// 页长度
private
Integer
rows
;
}
src/main/java/org/rcisoft/bus/jnsp7xtmdqsj/service/impl/Jnsp7xtmDqsjServiceImpl.java
View file @
efa15a92
...
@@ -22,6 +22,7 @@ import org.rcisoft.bus.jnsp7xtm.entity.Jnsp7xtm;
...
@@ -22,6 +22,7 @@ import org.rcisoft.bus.jnsp7xtm.entity.Jnsp7xtm;
import
org.rcisoft.bus.jnsp7xtm.enums.ColTransitionEnum
;
import
org.rcisoft.bus.jnsp7xtm.enums.ColTransitionEnum
;
import
org.rcisoft.bus.jnsp7xtm.enums.Jnsp7xtmDqsjType
;
import
org.rcisoft.bus.jnsp7xtm.enums.Jnsp7xtmDqsjType
;
import
org.rcisoft.bus.jnsp7xtm.vo.Jnsp7xtmVo
;
import
org.rcisoft.bus.jnsp7xtm.vo.Jnsp7xtmVo
;
import
org.rcisoft.bus.jnsp7xtmdqsj.dto.Jnsp7xtmDqsjPageHandleDto
;
import
org.rcisoft.bus.taskinfo.dao.TaskInfoRepository
;
import
org.rcisoft.bus.taskinfo.dao.TaskInfoRepository
;
import
org.rcisoft.bus.taskinfo.entity.TaskInfo
;
import
org.rcisoft.bus.taskinfo.entity.TaskInfo
;
import
org.rcisoft.core.exception.CyServiceException
;
import
org.rcisoft.core.exception.CyServiceException
;
...
@@ -75,6 +76,9 @@ public class Jnsp7xtmDqsjServiceImpl extends ServiceImpl<Jnsp7xtmDqsjRepository,
...
@@ -75,6 +76,9 @@ public class Jnsp7xtmDqsjServiceImpl extends ServiceImpl<Jnsp7xtmDqsjRepository,
@Value
(
"${jnsp7xtmDqsj.batchAddPagesize}"
)
@Value
(
"${jnsp7xtmDqsj.batchAddPagesize}"
)
private
Integer
batchInsertSize
;
private
Integer
batchInsertSize
;
@Value
(
"${jnsp7xtmDqsj.pageQuestSize}"
)
private
Integer
pageQuerySize
;
@Value
(
"${jnsp7xtmDqsj.shema}"
)
@Value
(
"${jnsp7xtmDqsj.shema}"
)
private
String
shema
;
private
String
shema
;
...
@@ -197,35 +201,24 @@ public class Jnsp7xtmDqsjServiceImpl extends ServiceImpl<Jnsp7xtmDqsjRepository,
...
@@ -197,35 +201,24 @@ public class Jnsp7xtmDqsjServiceImpl extends ServiceImpl<Jnsp7xtmDqsjRepository,
* 月度表拉取
* 月度表拉取
* **/
* **/
@Override
@Override
@Async
@Transactional
(
propagation
=
Propagation
.
REQUIRED
,
isolation
=
Isolation
.
DEFAULT
)
@Transactional
(
propagation
=
Propagation
.
REQUIRED
,
isolation
=
Isolation
.
DEFAULT
)
public
CyPersistModel
monthlyTablePull
(
String
taskId
)
{
public
CyPersistModel
monthlyTablePull
(
String
taskId
)
{
try
{
try
{
if
(
monthlyTablePullLock
.
tryLock
(
1000
,
TimeUnit
.
MILLISECONDS
))
{
if
(
monthlyTablePullLock
.
tryLock
(
1000
,
TimeUnit
.
MILLISECONDS
))
{
try
{
try
{
// 创建并启动计时器
// 创建并启动计时器
Stopwatch
stopwatch
=
Stopwatch
.
createStarted
();
Stopwatch
stopwatch
=
Stopwatch
.
createStarted
();
// 获取全部数据
// 获取数据的总数
List
<
Jnsp7xtmDqsj
>
addList
=
new
ArrayList
<>();
Integer
total
=
baseMapper
.
queryTotalJnsp7xtmDqs
();
// khdm is not null && pn is not null
Integer
pageNumber
=
1
;
baseMapper
.
streamQuery
(
resultContext
->
{
if
(
total
>=
pageQuerySize
)
{
Jnsp7xtmVo
resultObject
=
resultContext
.
getResultObject
();
pageNumber
=
(
int
)
Math
.
ceil
((
double
)
total
/
pageQuerySize
);
Jnsp7xtmDqsj
jnsp7xtmDqsj
=
Jnsp7xtmDqsj
.
generateJnsp7xtmDqsj
(
resultObject
);
}
addList
.
add
(
jnsp7xtmDqsj
);
for
(
int
i
=
1
;
i
<=
pageNumber
;
i
++)
{
if
(
addList
.
size
()
>
batchInsertSize
)
{
Jnsp7xtmDqsjPageHandleDto
jnsp7xtmDqsjPageHandleDto
=
Jnsp7xtmDqsjPageHandleDto
.
builder
().
page
(
i
).
rows
(
pageQuerySize
).
build
();
baseMapper
.
batchAddJnsp7xtmDqsj
(
addList
);
addJnsp7xtmDqsjByPage
(
jnsp7xtmDqsjPageHandleDto
);
addList
.
clear
();
}
}
});
if
(
CollectionUtil
.
isNotEmpty
(
addList
))
baseMapper
.
batchAddJnsp7xtmDqsj
(
addList
);
// 停止计时器
stopwatch
.
stop
();
QueryWrapper
<
TaskInfo
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"tack_id"
,
taskId
);
TaskInfo
taskInfo
=
taskInfoRepository
.
selectOne
(
queryWrapper
);
taskInfo
.
setStatus
(
"1"
);
taskInfoRepository
.
updateById
(
taskInfo
);
log
.
info
(
"查询耗时秒"
+
stopwatch
.
elapsed
().
getSeconds
());
log
.
info
(
"查询耗时秒"
+
stopwatch
.
elapsed
().
getSeconds
());
log
.
info
(
"查询耗时毫秒"
+
stopwatch
.
elapsed
(
TimeUnit
.
MILLISECONDS
));
log
.
info
(
"查询耗时毫秒"
+
stopwatch
.
elapsed
(
TimeUnit
.
MILLISECONDS
));
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -244,16 +237,46 @@ public class Jnsp7xtmDqsjServiceImpl extends ServiceImpl<Jnsp7xtmDqsjRepository,
...
@@ -244,16 +237,46 @@ public class Jnsp7xtmDqsjServiceImpl extends ServiceImpl<Jnsp7xtmDqsjRepository,
return
new
CyPersistModel
(
1
);
return
new
CyPersistModel
(
1
);
}
}
public
void
addJnsp7xtmDqsjByPage
(
Jnsp7xtmDqsjPageHandleDto
jnsp7xtmDqsjPageHandleDto
)
{
log
.
info
(
"页数: {}"
,
jnsp7xtmDqsjPageHandleDto
.
getPage
());
List
<
Jnsp7xtmDqsj
>
addList
=
new
ArrayList
<>();
baseMapper
.
streamQuery
(
resultContext
->
{
Jnsp7xtmVo
resultObject
=
resultContext
.
getResultObject
();
Jnsp7xtmDqsj
jnsp7xtmDqsj
=
Jnsp7xtmDqsj
.
generateJnsp7xtmDqsj
(
resultObject
);
addList
.
add
(
jnsp7xtmDqsj
);
if
(
addList
.
size
()
>
batchInsertSize
)
{
log
.
info
(
"addList"
,
addList
);
baseMapper
.
batchAddJnsp7xtmDqsj
(
addList
);
addList
.
clear
();
}
},
jnsp7xtmDqsjPageHandleDto
);
if
(
CollectionUtil
.
isNotEmpty
(
addList
))
baseMapper
.
batchAddJnsp7xtmDqsj
(
addList
);
}
/**添加任务**/
/**添加任务**/
@Override
@Override
public
TaskInfo
addTaskInfo
()
{
public
TaskInfo
addTaskInfo
()
{
TaskInfo
taskInfo
=
new
TaskInfo
();
TaskInfo
taskInfo
=
new
TaskInfo
();
taskInfo
.
setStatus
(
"0"
);
try
{
taskInfo
.
setType
(
Jnsp7xtmDqsjType
.
JNSP7XTMDDQS
.
getCode
());
if
(
monthlyTablePullLock
.
tryLock
(
1000
,
TimeUnit
.
MILLISECONDS
))
{
taskInfo
.
setFlag
(
"1"
);
try
{
// 生成uuid
taskInfo
.
setStatus
(
"0"
);
taskInfo
.
setTackId
(
CyIdGenUtil
.
uuid
());
taskInfo
.
setTackId
(
CyIdGenUtil
.
uuid
());
taskInfoRepository
.
insert
(
taskInfo
);
taskInfoRepository
.
insert
(
taskInfo
);
return
taskInfo
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
new
CyServiceException
(
501
,
"数据同步异常"
);
}
finally
{
monthlyTablePullLock
.
unlock
();
}
}
else
{
throw
new
CyServiceException
(
501
,
"该功能使用频繁,请稍后重试"
);
}
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
return
taskInfo
;
return
taskInfo
;
}
}
...
...
src/main/resources/application-dev-conf.yml
View file @
efa15a92
...
@@ -130,7 +130,9 @@ jnsp7xtm:
...
@@ -130,7 +130,9 @@ jnsp7xtm:
pageSize
:
20
pageSize
:
20
jnsp7xtmDqsj
:
jnsp7xtmDqsj
:
# 每次查询分页的长度
pageQuestSize
:
5000
# 每次添加到数据库的长度
# 每次添加到数据库的长度
batchAddPagesize
:
5
0
batchAddPagesize
:
3
0
# service 要重置的数据库
# service 要重置的数据库
shema
:
'
demo.dbo'
shema
:
'
demo.dbo'
src/main/resources/mapper/bus/jnsp7xtmdqsj/mapper/Jnsp7xtmDqsjMapper.xml
View file @
efa15a92
...
@@ -401,7 +401,19 @@
...
@@ -401,7 +401,19 @@
where
where
jnsp.khdm is not null
jnsp.khdm is not null
and jnsp.pn is not null
and jnsp.pn is not null
ORDER BY jnsp.khdm
OFFSET (#{entity.page} - 1) * #{entity.rows} ROWS
FETCH NEXT #{entity.rows} ROWS ONLY
</select>
<select
id=
"queryTotalJnsp7xtmDqs"
resultType=
"java.lang.Integer"
>
SELECT
count(*)
FROM
jnsp7xtm jnsp left JOIN b_customer cust on jnsp.khdm = cust.cust_code and cust.del_flag = '0'
left join b_pn_sypn bps on bps.pn = jnsp.pn and bps.del_flag = '0'
where
jnsp.khdm is not null
and jnsp.pn is not null
</select>
</select>
</mapper>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment