Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
huazheng-project-flink
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
huazheng
huazheng-project-flink
Commits
bbbb0a87
提交
bbbb0a87
authored
12月 26, 2020
作者:
guofeng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
vbak数据问题修复
上级
03054b82
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
85 行增加
和
34 行删除
+85
-34
pom.xml
pom.xml
+5
-5
CheckUpdateServiceImpl.java
...roject/greenplum/service/impl/CheckUpdateServiceImpl.java
+10
-0
JobServiceImpl.java
...azheng/project/greenplum/service/impl/JobServiceImpl.java
+8
-0
SapMapper.java
...main/java/com/huazheng/project/hana/mapper/SapMapper.java
+5
-0
hana.sql
src/main/resources/devtools/dev/hana.sql
+26
-9
cdc权限
src/main/resources/devtools/doc/设计问题/cdc权限
+4
-0
重置更新计数器.txt
src/main/resources/devtools/doc/重置更新计数器.txt
+9
-2
SapMapper_hana.xml
src/main/resources/mapper/hana/SapMapper_hana.xml
+18
-18
没有找到文件。
pom.xml
浏览文件 @
bbbb0a87
...
...
@@ -233,11 +233,11 @@ under the License.
<!-- <version>2.2.4.RELEASE</version> -->
<!-- </dependency> -->
<dependency>
<groupId>
org.springframework.data
</groupId>
<artifactId>
spring-data-redis
</artifactId>
<version>
2.3.3.RELEASE
</version>
</dependency>
<dependency>
<groupId>
org.springframework.data
</groupId>
<artifactId>
spring-data-redis
</artifactId>
<version>
2.3.3.RELEASE
</version>
</dependency>
<dependency>
...
...
src/main/java/com/huazheng/project/greenplum/service/impl/CheckUpdateServiceImpl.java
浏览文件 @
bbbb0a87
...
...
@@ -3,6 +3,7 @@ package com.huazheng.project.greenplum.service.impl;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.Future
;
...
...
@@ -1717,6 +1718,15 @@ public class CheckUpdateServiceImpl {
}
slist
.
forEach
(
source
->
{
// 遍历要检查的数据
Map
<
String
,
Object
>
joinItem
=
sapMapper
.
selectVbak4Join
(
source
);
if
(
joinItem
!=
null
)
{
// join的查询替代方式
Object
object
=
joinItem
.
get
(
"pernr"
);
if
(
object
!=
null
)
{
source
.
setPernr
(
object
.
toString
());
}
}
Vbak
target
=
gpMapper
.
selectVbak
(
source
);
// 根据主键查询源库中的数据
String
operator
=
"none"
;
Long
srowids
=
source
.
getRowids
();
...
...
src/main/java/com/huazheng/project/greenplum/service/impl/JobServiceImpl.java
浏览文件 @
bbbb0a87
...
...
@@ -5,6 +5,7 @@ import java.io.StringWriter;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.io.ClassPathResource
;
...
...
@@ -1120,6 +1121,13 @@ public class JobServiceImpl {
List
<
Vbak
>
list
=
sapMapper
.
selectVbakNew
(
vbak
);
if
(!
list
.
isEmpty
())
{
list
.
forEach
(
item
->
{
Map
<
String
,
Object
>
joinItem
=
sapMapper
.
selectVbak4Join
(
item
);
if
(
joinItem
!=
null
)
{
// join的查询替代方式
Object
object
=
joinItem
.
get
(
"pernr"
);
if
(
object
!=
null
)
{
item
.
setPernr
(
object
.
toString
());
}
}
String
erdat
=
item
.
getErdat
();
String
erzet
=
item
.
getErzet
();
if
(
"00000000"
.
equals
(
erdat
))
{
...
...
src/main/java/com/huazheng/project/hana/mapper/SapMapper.java
浏览文件 @
bbbb0a87
package
com
.
huazheng
.
project
.
hana
.
mapper
;
import
java.util.List
;
import
java.util.Map
;
import
com.huazheng.project.hana.model.Afko
;
import
com.huazheng.project.hana.model.Afpo
;
...
...
@@ -161,4 +162,8 @@ public interface SapMapper {
public
Mkpf
selectMkpfById
(
Mkpf
target
);
public
Afru
selectAfruById
(
Afru
target
);
public
Aufm
selectAufmById
(
Aufm
target
);
// vbak修改join连接后的子查询
public
Map
<
String
,
Object
>
selectVbak4Join
(
Vbak
target
);
}
src/main/resources/devtools/dev/hana.sql
浏览文件 @
bbbb0a87
select
count
(
1
)
from
sapabap1
.
kna1
where
updat
=
'00000000'
union
all
select
count
(
1
)
from
sapabap1
.
kna1
where
updat
!=
'00000000'
union
all
select
count
(
1
)
from
sapabap1
.
kna1
where
updat
is
null
;
select
count
(
1
)
from
sapabap1
.
vbak
where
mandt
=
'800'
and
audat
=
'20201212'
;
select
audat
,
count
(
1
)
from
sapabap1
.
vbak
where
audat
>=
'20201207'
and
audat
<=
'20201215'
group
by
audat
order
by
audat
desc
limit
100
;
select
"$rowid$"
from
sapabap1
.
vbak
where
mandt
=
'800'
and
vbeln
=
'0010078342'
;
select
top
20
"$rowid$"
as
rowids
,
mandt
,
pwerk
,
aufnr
,
reason
from
sapabap1
.
Zpo_edit
where
"$rowid$"
>
'20593'
and
mandt
=
'800'
order
by
"$rowid$"
;
a
.
vbeln
,
a
.
mandt
,
a
.
vbtyp
,
a
.
audat
,
a
.
waerk
,
a
.
kalsm
,
a
.
ctlpc
,
a
.
kunnr
,
a
.
bukrs_vf
,
a
.
bstnk
,
a
.
bname
,
a
.
telf1
,
a
.
netwr
,
a
.
vkbur
,
a
.
knumv
,
a
.
vkorg
,
a
.
vtweg
,
a
.
kkber
,
a
.
auart
,
a
.
aedat
,
b
.
pernr
,
a
.
erdat
,
a
.
erzet
,
a
.
spart
from
${
hana_user
}
.
vbak
a
left
join
(
)
b
on
a
.
vbeln
=
b
.
vbeln
where
"$rowid$"
&
gt
;
#
{
rowids
}
and
a
.
mandt
=
'800'
order
by
"$rowid$"
select
count
(
1
)
from
sapabap1
.
Zpo_edit
where
mandt
=
'800'
;
select
*
from
sapdev
.
vbap
limit
10
;
select
q
.
vbeln
,
r
.
pernr
from
${
hana_user
}
.
vbap
q
left
join
(
select
vbeln
,
posnr
,
pernr
from
${
hana_user
}
.
vbpa
where
mandt
=
'800'
and
pernr
!=
'00000000'
group
by
vbeln
,
posnr
,
pernr
)
r
on
q
.
vbeln
=
r
.
vbeln
and
q
.
posnr
=
r
.
posnr
where
q
.
mandt
=
'800'
and
r
.
pernr
is
not
null
and
a
.
vbeln
=
'111'
group
by
q
.
vbeln
,
r
.
pernr
\ No newline at end of file
src/main/resources/devtools/doc/设计问题/cdc权限
0 → 100644
浏览文件 @
bbbb0a87
CREATE USER 'roma'@'%' IDENTIFIED BY 'password';
CREATE USER 'roma'@'%' IDENTIFIED BY 'password';
GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'roma'@'%';
\ No newline at end of file
src/main/resources/devtools/doc/重置更新计数器.txt
浏览文件 @
bbbb0a87
updat
e vbap set hashresult = null;
updat
e vbap set hashresult = null;
...
...
@@ -15,7 +15,14 @@ com.huazheng.project.greenplum.service.impl.GPServiceImpl.sinkSysSAPreturnNo(Sys
发送端
"huazheng:SysSAPreturnNo:sendcount", "huazheng:SysSAPreturnNo:rowids", "huazheng:list:SysSAPreturnNo"
watch -n 1 redis-cli -n 1 --raw mget "huazheng:SysSAPreturnNo:sendcount", "huazheng:SysSAPreturnNo:rowids", "huazheng:list:SysSAPreturnNo"
watch -n 1 redis-cli -n 1 --raw mget "huazheng:Vbak:sendcount", "huazheng:Vbak:rowids", "huazheng:Vbak:sendcount"
接收端
"huazheng:SysSAPreturnNo:sendcount", "", "huazheng:list:SysSAPreturnNo", "huazheng:SysSAPreturnNo:receivecount"
redis-cli -n 1 --raw set "huazheng:Vbak:rowids" 107902
src/main/resources/mapper/hana/SapMapper_hana.xml
浏览文件 @
bbbb0a87
...
...
@@ -275,17 +275,9 @@
<select
id=
"selectVbakNew"
parameterType=
"Vbak"
resultType=
"Vbak"
>
select top 20 "$rowid$" as rowids,
a.vbeln, a.mandt, a.vbtyp, a.audat, a.waerk, a.kalsm, a.ctlpc, a.kunnr, a.bukrs_vf, a.bstnk,
a.bname, a.telf1, a.netwr, a.vkbur, a.knumv, a.vkorg, a.vtweg, a.kkber, a.auart, a.aedat,
b.pernr,
a.bname, a.telf1, a.netwr, a.vkbur, a.knumv, a.vkorg, a.vtweg, a.kkber, a.auart, a.aedat,
a.erdat, a.erzet, a.spart
from ${hana_user}.vbak a
left join (
select q.vbeln,r.pernr from ${hana_user}.vbap q
left join (
select vbeln,posnr,pernr from ${hana_user}.vbpa where mandt = '800' and pernr != '00000000' group by vbeln,posnr,pernr
) r on q.vbeln = r.vbeln and q.posnr = r.posnr
where q.mandt = '800' and r.pernr is not null
group by q.vbeln,r.pernr
) b on a.vbeln = b.vbeln
where "$rowid$"
>
#{rowids} and a.mandt = '800'
order by "$rowid$"
</select>
...
...
@@ -379,17 +371,9 @@
<select
id=
"selectVbakCheckByUpdate"
parameterType=
"Vbak"
resultType=
"Vbak"
>
select top 20 a."$rowid$" as rowids,
a.vbeln, a.mandt, a.vbtyp, a.audat, a.waerk, a.kalsm, a.ctlpc, a.kunnr, a.bukrs_vf, a.bstnk,
a.bname, a.telf1, a.netwr, a.vkbur, a.knumv, a.vkorg, a.vtweg, a.kkber, a.auart, a.aedat,
b.pernr,
a.bname, a.telf1, a.netwr, a.vkbur, a.knumv, a.vkorg, a.vtweg, a.kkber, a.auart, a.aedat,
a.erdat, a.erzet, a.spart
from ${hana_user}.vbak a
left join (
select q.vbeln,r.pernr from ${hana_user}.vbap q
left join (
select vbeln,posnr,pernr from ${hana_user}.vbpa where mandt = '800' and pernr != '00000000' group by vbeln,posnr,pernr
) r on q.vbeln = r.vbeln and q.posnr = r.posnr
where q.mandt = '800' and r.pernr is not null
group by q.vbeln,r.pernr
) b on a.vbeln = b.vbeln
where "$rowid$"
>
#{rowids} and a.aedat != '00000000' and a.aedat = CURRENT_DATE and a.mandt = '800'
order by "$rowid$"
</select>
...
...
@@ -798,4 +782,20 @@
where mblnr = #{mblnr} and mandt = #{mandt} and mjahr = #{mjahr} and zeile = #{zeile}
</select>
<!-- vbak修改join连接后的子查询 -->
<select
id=
"selectVbak4Join"
parameterType=
"Vbak"
resultType=
"map"
>
select top 1 q.vbeln,r.pernr from ${hana_user}.vbap q
left join (
select vbeln,posnr,pernr from ${hana_user}.vbpa where mandt = '800' and pernr != '00000000' group by vbeln,posnr,pernr
) r on q.vbeln = r.vbeln and q.posnr = r.posnr
where q.mandt = '800' and r.pernr is not null and q.vbeln = #{vbeln}
group by q.vbeln,r.pernr
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论