Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
huazheng-project-flink
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
huazheng
huazheng-project-flink
Commits
673c3993
提交
673c3993
authored
3月 03, 2021
作者:
think
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
表tshjuhzddmx加DingDanSL、WuLiaoBM、WuLiaoMS字段
上级
935cc2e5
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
87 行增加
和
6 行删除
+87
-6
GPMapper.java
.../java/com/huazheng/project/greenplum/mapper/GPMapper.java
+1
-0
DeleteUpdateJobServiceImpl.java
...ct/greenplum/service/impl/DeleteUpdateJobServiceImpl.java
+58
-0
TShuJuHzddmx.java
.../java/com/huazheng/project/mssql2/model/TShuJuHzddmx.java
+4
-0
华正项目-数据库表设计20210303.xlsx
src/main/resources/devtools/doc/华正项目-数据库表设计20210303.xlsx
+0
-0
TShuJuHZDDMX.sql
src/main/resources/devtools/table/mssql2/TShuJuHZDDMX.sql
+4
-0
GPMapper_greenplum.xml
src/main/resources/mapper/greenplum/GPMapper_greenplum.xml
+7
-3
HzcrmMapper_mssql2.xml
src/main/resources/mapper/mssql2/HzcrmMapper_mssql2.xml
+3
-3
spring-init.xml
src/main/resources/spring-init.xml
+10
-0
没有找到文件。
src/main/java/com/huazheng/project/greenplum/mapper/GPMapper.java
浏览文件 @
673c3993
...
...
@@ -707,6 +707,7 @@ public interface GPMapper {
@CacheEvict
(
key
=
"'selectTShuJuHzddmx'+':'+#p0.id"
)
public
void
deleteTShuJuHzddmx
(
TShuJuHzddmx
item
);
public
List
<
TShuJuHzddmx
>
selectTShuJuHzddmxCheck
(
TShuJuHzddmx
build
);
public
Long
selectTShuJuHzddmxMaxRowNum
();
...
...
src/main/java/com/huazheng/project/greenplum/service/impl/DeleteUpdateJobServiceImpl.java
浏览文件 @
673c3993
...
...
@@ -45,6 +45,7 @@ import com.huazheng.project.mssql2.model.SysSAPreturnNo;
import
com.huazheng.project.mssql2.model.TKeHu
;
import
com.huazheng.project.mssql2.model.TKeHuXiaoShouZZ
;
import
com.huazheng.project.mssql2.model.TKeHuXiaoShouZZYeWuY
;
import
com.huazheng.project.mssql2.model.TShuJuHzddmx
;
import
com.huazheng.project.mssql2.model.TWuLiaoDB
;
import
com.huazheng.project.mssql3.mapper.Cinderellaw2Mapper
;
import
com.huazheng.project.mssql3.model.PersonComp
;
...
...
@@ -1792,4 +1793,61 @@ public class DeleteUpdateJobServiceImpl {
}
}
public
void
selectTShuJuHzddmxCheck
()
{
try
{
ValueOperations
<
String
,
String
>
opsForValue
=
redis1Template
.
opsForValue
();
opsForValue
.
setIfAbsent
(
"huazheng:check:TShuJuHzddmx:rowNum"
,
"0"
);
String
rowNum
=
opsForValue
.
get
(
"huazheng:check:TShuJuHzddmx:rowNum"
);
// 一次性任务的终止位
if
(
redis1Template
.
hasKey
(
"huazheng:check:TShuJuHzddmx:stopNum"
)
==
false
)
{
// 查询最大计数器
String
maxRowNum
=
gpMapper
.
selectTShuJuHzddmxMaxRowNum
().
toString
();
opsForValue
.
setIfAbsent
(
"huazheng:check:TShuJuHzddmx:stopNum"
,
maxRowNum
);
}
Long
stopNum
=
Long
.
parseLong
(
opsForValue
.
get
(
"huazheng:check:TShuJuHzddmx:stopNum"
));
if
(
stopNum
<
Long
.
parseLong
(
rowNum
))
{
JobKey
jobKey
=
JobKey
.
jobKey
(
"selectTShuJuHzddmxCheck_once"
,
"DEFAULT"
);
// 删除任务
quartzScheduler
.
deleteJob
(
jobKey
);
return
;
}
TShuJuHzddmx
build
=
TShuJuHzddmx
.
builder
().
rowNum
(
rowNum
).
build
();
List
<
TShuJuHzddmx
>
list
=
gpMapper
.
selectTShuJuHzddmxCheck
(
build
);
// 从数仓中查询一组数据
if
(
list
.
size
()
==
0
)
{
JobKey
jobKey
=
JobKey
.
jobKey
(
"selectTShuJuHzddmxCheck_once"
,
"DEFAULT"
);
// 删除任务
quartzScheduler
.
deleteJob
(
jobKey
);
return
;
}
list
.
forEach
(
target
->
{
// 遍历要检查的数据
TShuJuHzddmx
source
=
hzcrmMapper
.
selectTShuJuHzddmxById
(
target
);
// 根据主键查询源库中的数据
String
operator
=
"none"
;
if
(
source
==
null
)
{
// 如果源库中没有数据
gpMapper
.
deleteTShuJuHzddmx
(
target
);
// 删除数仓中的数据
operator
=
"delete"
;
}
else
{
// 源库中有数据
String
shash
=
SecureUtil
.
md5
(
JSONUtil
.
toJsonStr
(
source
));
// 源库中数据的hash结果
String
thash
=
target
.
getHashResult
();
// 数仓中数据的hash结果
if
(!
shash
.
equals
(
thash
))
{
// 如果hash结果不一致
source
.
setHashResult
(
shash
);
while
(
true
)
{
try
{
gpMapper
.
updateTShuJuHzddmx
(
source
);
// 更新数据到数仓中
break
;
}
catch
(
RuntimeException
e
)
{
log
.
error
(
e
.
getMessage
());
ThreadUtil
.
safeSleep
(
500
);
}
}
ThreadUtil
.
safeSleep
(
500
);
}
}
redis1Template
.
opsForValue
().
set
(
"huazheng:check:TShuJuHzddmx:rowNum"
,
target
.
getRowNum
());
if
(!
operator
.
equals
(
"none"
))
{
log
.
info
(
String
.
format
(
"selectTShuJuHzddmxCheck --> rowNum:%s, operator:%s"
,
target
.
getRowNum
(),
operator
));
}
});
}
catch
(
Exception
e
)
{
redis1Template
.
opsForValue
().
set
(
"huazheng:checkError:TShuJuHzddmx:rowNum"
,
getErrorInfoFromException
(
e
));
}
}
}
src/main/java/com/huazheng/project/mssql2/model/TShuJuHzddmx.java
浏览文件 @
673c3993
...
...
@@ -41,6 +41,10 @@ public class TShuJuHzddmx implements Serializable {
@JSONField
(
format
=
"yyyy-MM-dd HH:mm:ss"
)
// 数据库导出页面时json格式化
private
String
ShanChuSJ
;
// 删除时间
private
String
DingDanSL
;
//订单数量
private
String
WuLiaoBM
;
//物料编码
private
String
WuLiaoMS
;
//物料描述
private
Long
rowids
;
// sap那边的rowid
private
boolean
exist
;
// 用于标记,不是字段
...
...
src/main/resources/devtools/doc/华正项目-数据库表设计20210
218
.xlsx
→
src/main/resources/devtools/doc/华正项目-数据库表设计20210
303
.xlsx
浏览文件 @
673c3993
No preview for this file type
src/main/resources/devtools/table/mssql2/TShuJuHZDDMX.sql
浏览文件 @
673c3993
...
...
@@ -13,3 +13,7 @@ Distributed by (id);
alter
table
TShuJuHZDDMX
add
column
hashResult
text
;
alter
table
TShuJuHZDDMX
add
column
rowNum
serial
;
alter
table
TShuJuHZDDMX
add
column
DingDanSL
text
;
alter
table
TShuJuHZDDMX
add
column
WuLiaoBM
text
;
alter
table
TShuJuHZDDMX
add
column
WuLiaoMS
text
;
src/main/resources/mapper/greenplum/GPMapper_greenplum.xml
浏览文件 @
673c3993
...
...
@@ -422,8 +422,8 @@
select * from TShuJuHzddmx where id = #{id}
</select>
<insert
id=
"insertTShuJuHzddmx"
parameterType=
"com.huazheng.project.mssql2.model.TShuJuHzddmx"
>
insert into TShuJuHzddmx (id,DingDan,HangXiangM,DanJia,ChuangJianSJ,GengXinSJ,ShanChuSJ,hashResult)
values(#{id},#{DingDan},#{HangXiangM},#{DanJia},#{ChuangJianSJ},#{GengXinSJ},#{ShanChuSJ},#{hashResult})
insert into TShuJuHzddmx (id,DingDan,HangXiangM,DanJia,ChuangJianSJ,GengXinSJ,ShanChuSJ,
DingDanSL,WuLiaoBM,WuLiaoMS,
hashResult)
values(#{id},#{DingDan},#{HangXiangM},#{DanJia},#{ChuangJianSJ},#{GengXinSJ},#{ShanChuSJ},#{
DingDanSL},#{WuLiaoBM},#{WuLiaoMS},#{
hashResult})
</insert>
<delete
id=
"deleteTShuJuHzddmx"
parameterType=
"com.huazheng.project.mssql2.model.TShuJuHzddmx"
>
delete from TShuJuHzddmx where id = #{id}
...
...
@@ -431,12 +431,16 @@
<update
id=
"updateTShuJuHzddmx"
parameterType=
"com.huazheng.project.mssql2.model.TShuJuHzddmx"
>
update TShuJuHzddmx set
DingDan=#{DingDan},HangXiangM=#{HangXiangM},DanJia=#{DanJia},
ChuangJianSJ=#{ChuangJianSJ},GengXinSJ=#{GengXinSJ},ShanChuSJ=#{ShanChuSJ},hashResult=#{hashResult}
ChuangJianSJ=#{ChuangJianSJ},GengXinSJ=#{GengXinSJ},ShanChuSJ=#{ShanChuSJ},
DingDanSL=#{DingDanSL},WuLiaoBM=#{WuLiaoBM},WuLiaoMS=#{WuLiaoMS},
hashResult=#{hashResult}
where id = #{id}
</update>
<select
id=
"selectTShuJuHzddmxCheck"
parameterType=
"com.huazheng.project.mssql2.model.TShuJuHzddmx"
resultType=
"com.huazheng.project.mssql2.model.TShuJuHzddmx"
>
select * from TShuJuHzddmx where rownum
>
#{rowNum} order by rownum limit 20
</select>
<select
id=
"selectTShuJuHzddmxMaxRowNum"
resultType=
"long"
>
select max(rowNum) from TShuJuHzddmx
</select>
...
...
src/main/resources/mapper/mssql2/HzcrmMapper_mssql2.xml
浏览文件 @
673c3993
...
...
@@ -27,19 +27,19 @@
<select
id=
"selectTShuJuHzddmxNew"
parameterType=
"TShuJuHzddmx"
resultType=
"TShuJuHzddmx"
>
select top 20 a.* from (
select id as rowids,
id,DingDan,HangXiangM,DanJia,ChuangJianSJ,GengXinSJ,ShanChuSJ
id,DingDan,HangXiangM,DanJia,ChuangJianSJ,GengXinSJ,ShanChuSJ
,DingDanSL,WuLiaoBM,WuLiaoMS
from T_ShuJuHZDDMX
) a where a.rowids
>
#{rowids}
</select>
<select
id=
"selectTShuJuHzddmxCheckByUpdate"
parameterType=
"TShuJuHzddmx"
resultType=
"TShuJuHzddmx"
>
select top 20
id,DingDan,HangXiangM,DanJia,ChuangJianSJ,GengXinSJ,ShanChuSJ
id,DingDan,HangXiangM,DanJia,ChuangJianSJ,GengXinSJ,ShanChuSJ
,DingDanSL,WuLiaoBM,WuLiaoMS
from T_ShuJuHZDDMX
where id
>
#{id}
and GengXinSJ is not null and CONVERT(varchar(10),GengXinSJ,120) = CONVERT(varchar(10),GETDATE(),120)
</select>
<select
id=
"selectTShuJuHzddmxById"
parameterType=
"TShuJuHzddmx"
resultType=
"TShuJuHzddmx"
>
select id,DingDan,HangXiangM,DanJia,ChuangJianSJ,GengXinSJ,ShanChuSJ from T_ShuJuHZDDMX
select id,DingDan,HangXiangM,DanJia,ChuangJianSJ,GengXinSJ,ShanChuSJ
,DingDanSL,WuLiaoBM,WuLiaoMS
from T_ShuJuHZDDMX
</select>
...
...
src/main/resources/spring-init.xml
浏览文件 @
673c3993
...
...
@@ -1655,6 +1655,16 @@
</property>
<property
name=
"cronExpression"
value=
"* * * * * ?"
/>
</bean>
<bean
class=
"org.springframework.scheduling.quartz.CronTriggerFactoryBean"
>
<property
name=
"jobDetail"
>
<bean
parent=
"methodJobDetail"
>
<property
name=
"name"
value=
"selectTShuJuHzddmxCheck_once"
/>
<property
name=
"targetObject"
ref=
"deleteUpdateJobServiceImpl"
/>
<property
name=
"targetMethod"
value=
"selectTShuJuHzddmxCheck"
/>
</bean>
</property>
<property
name=
"cronExpression"
value=
"* * * * * ?"
/>
</bean>
</list>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论