提交 e3c0e580 作者: guofeng

调整rowids排序乱序问题

上级 bf5ab9e3
......@@ -215,12 +215,12 @@ public interface GPMapper {
public void updateLikp(Likp element);
public List<Likp> selectLikpCheck(Likp build);
@Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.bukrs+','+#p0.belnr+','+#p0.gjahr", unless="#result == null")
// @Cacheable(key = "#root.method.name+':'+#p0.mandt+','+#p0.bukrs+','+#p0.belnr+','+#p0.gjahr", unless="#result == null")
public Bkpf selectBkpf(Bkpf bkpf); // 查询替代删除
public void insertBkpf(Bkpf element);
@CacheEvict(key = "'selectBkpf'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.belnr+','+#p0.gjahr")
// @CacheEvict(key = "'selectBkpf'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.belnr+','+#p0.gjahr")
public void deleteBkpf(Bkpf item);
@CacheEvict(key = "'selectBkpf'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.belnr+','+#p0.gjahr")
// @CacheEvict(key = "'selectBkpf'+':'+#p0.mandt+','+#p0.bukrs+','+#p0.belnr+','+#p0.gjahr")
public void updateBkpf(Bkpf element);
public List<Bkpf> selectBkpfCheck(Bkpf build);
......
......@@ -15,6 +15,7 @@ import com.huazheng.project.hana.model.Afko;
import com.huazheng.project.hana.model.Afpo;
import com.huazheng.project.hana.model.Aufk;
import com.huazheng.project.hana.model.Bkpf;
import com.huazheng.project.hana.model.Kna1;
import cn.hutool.core.thread.ThreadUtil;
import lombok.extern.log4j.Log4j2;
......@@ -165,4 +166,35 @@ public class CheckDeleteServiceImpl {
}
}
public void selectKna1CheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Kna1:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Kna1:rowNum");
Kna1 build = Kna1.builder().rowNum(rowNum).build();
List<Kna1> list = gpMapper.selectKna1Check(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:Kna1:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Kna1 source = sapMapper.selectKna1ById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteKna1(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Kna1:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectKna1checkDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Kna1:rowNum", getErrorInfoFromException(e));
}
}
}
......@@ -16,6 +16,7 @@ import com.huazheng.project.hana.model.Afko;
import com.huazheng.project.hana.model.Afpo;
import com.huazheng.project.hana.model.Aufk;
import com.huazheng.project.hana.model.Bkpf;
import com.huazheng.project.hana.model.Kna1;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.thread.ThreadUtil;
......@@ -79,6 +80,14 @@ public class CheckUpdateServiceImpl {
source.setErdat1(date);
source.setErdat2(date);
}
String aedat = source.getAedat();
if ("00000000".equals(aedat)) {
source.setAedat(null);
} else {
Date date = DateUtil.parse(aedat, "yyyyMMdd");
String format = DateUtil.format(date, "yyyy-MM-dd");
source.setAedat(format);
}
// ===============================
while (true) {
try {
......@@ -190,6 +199,24 @@ public class CheckUpdateServiceImpl {
String thash = target.getHashResult(); // 数仓中数据的hash结果
if (!shash.equals(thash)) { // 如果hash结果不一致
source.setHashResult(shash);
// ===============================
String aedat = source.getAedat();
if ("00000000".equals(aedat)) {
source.setAedat(null);
} else {
Date date = DateUtil.parse(aedat, "yyyyMMdd");
String format = DateUtil.format(date, "yyyy-MM-dd");
source.setAedat(format);
}
String cpudt = source.getCpudt();
String cputm = source.getCputm();
if ("00000000".equals(cpudt)) {
source.setCpudt_cputm(null);
} else {
Date date = DateUtil.parse(cpudt+cputm, "yyyyMMddHHmmss");
source.setCpudt_cputm(date);
}
// ===============================
while (true) {
try {
gpMapper.updateBkpf(source); // 更新数据到数仓中
......@@ -211,4 +238,60 @@ public class CheckUpdateServiceImpl {
}
}
public void selectKna1CheckByUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:Kna1:rowids", "0");
Long rowids = Long.parseLong(opsForValue.get("huazheng:checkUpdate:Kna1:rowids"));
Kna1 build = Kna1.builder().rowids(rowids).build();
List<Kna1> slist = sapMapper.selectKna1CheckUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkUpdate:Kna1:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(target -> { // 遍历要检查的数据,去目标库中查询数据
Kna1 source = gpMapper.selectKna1(target);
String operator = "none";
Long srowids = source.getRowids();
if (target != null) {
source.setRowids(null);
String shash = SecureUtil.md5(JSONUtil.toJsonStr(source)); // 源库中数据的hash结果
String thash = target.getHashResult(); // 数仓中数据的hash结果
if (!shash.equals(thash)) { // 如果hash结果不一致
source.setHashResult(shash);
// ===============================
String updat = source.getUpdat();
if ("00000000".equals(updat)) {
source.setUpdat(null);
} else {
Date date = DateUtil.parse(updat, "yyyyMMdd");
String format = DateUtil.format(date, "yyyy-MM-dd");
source.setUpdat(format);
}
// ===============================
while (true) {
try {
gpMapper.updateKna1(source); // 更新数据到数仓中
break;
} catch (RuntimeException e) {
log.error(e.getMessage());ThreadUtil.safeSleep(500);
}
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:Kna1:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectKna1checkUpdate --> rowids:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:Kna1:rowids", getErrorInfoFromException(e));
}
}
}
......@@ -934,7 +934,6 @@ public class DeleteUpdateJobServiceImpl {
public void checkJob4() {
// selectKonvCheck(); // 21 注释掉
selectKna1Check(); // 18
selectKnkkCheck(); // 19
selectKnvvCheck(); // 20
selectLipsCheck(); // 23
......@@ -963,48 +962,7 @@ public class DeleteUpdateJobServiceImpl {
selectAuspCheck();
selectKnvpCheck();
}
private void selectKna1Check() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:check:Kna1:rowNum", "0");
String rowNum = opsForValue.get("huazheng:check:Kna1:rowNum");
Kna1 build = Kna1.builder().rowNum(rowNum).build();
List<Kna1> list = gpMapper.selectKna1Check(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:check:Kna1:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Kna1 source = sapMapper.selectKna1ById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteKna1(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.updateKna1(source); // 更新数据到数仓中
break;
} catch (RuntimeException e) {
log.error(e.getMessage());ThreadUtil.safeSleep(500);
}
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:check:Kna1:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectKna1Check --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkError:Kna1:rowNum", getErrorInfoFromException(e));
}
}
// 计数器复位删除1
private void selectKnkkCheck() {
try {
......@@ -1506,6 +1464,14 @@ public class DeleteUpdateJobServiceImpl {
if (!shash.equals(thash)) { // 如果hash结果不一致
source.setHashResult(shash);
// ===============================
String wadat_ist = source.getWadat_ist();
String lfuhr = source.getLfuhr();
if ("00000000".equals(wadat_ist)) {
source.setWadat_ist2lfuhr(null);
} else {
Date date = DateUtil.parse(wadat_ist+lfuhr, "yyyyMMddHHmmss");
source.setWadat_ist2lfuhr(date);
}
source.setErdat1(caDate(source.getErdat())); // 日期00000000格式转换,已处理异常
source.setWadat_ist1(caDate(source.getWadat_ist())); // 日期00000000格式转换,已处理异常
// ===============================
......@@ -1554,6 +1520,14 @@ public class DeleteUpdateJobServiceImpl {
if (!shash.equals(thash)) { // 如果hash结果不一致
source.setHashResult(shash);
// ===============================
String wadat_ist = source.getWadat_ist();
String lfuhr = source.getLfuhr();
if ("00000000".equals(wadat_ist)) {
source.setWadat_ist2lfuhr(null);
} else {
Date date = DateUtil.parse(wadat_ist+lfuhr, "yyyyMMddHHmmss");
source.setWadat_ist2lfuhr(date);
}
source.setErdat1(caDate(source.getErdat())); // 日期00000000格式转换,已处理异常
source.setWadat_ist1(caDate(source.getWadat_ist())); // 日期00000000格式转换,已处理异常
// ===============================
......@@ -2183,6 +2157,14 @@ public class DeleteUpdateJobServiceImpl {
source.setHashResult(shash);
// ===============================
source.setAudat1(caDate(source.getAudat())); // 日期00000000格式转换,已处理异常
String erdat = source.getErdat();
String erzet = source.getErzet();
if ("00000000".equals(erdat)) {
source.setErdat2erzet(null);
} else {
Date date = DateUtil.parse(erdat+erzet, "yyyyMMddHHmmss");
source.setErdat2erzet(date);
}
// ===============================
while (true) {
try {
......
......@@ -2171,6 +2171,12 @@ public class GPServiceImpl {
public void processBkpf(Bkpf data, Collector<Bkpf> out) {
try {
if (data.getMandt().equals("800") //
&& data.getBukrs().equals("1000") //
&& data.getBelnr().equals("4900108167") //
&& data.getGjahr().equals("2019")) {
System.out.println();
}
Bkpf exist = gpMapper.selectBkpf(data);
if (exist != null) {
data.setExist(true); // 已经在库
......
......@@ -3,6 +3,7 @@ package com.huazheng.project.greenplum.service.impl;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -73,6 +74,7 @@ import com.huazheng.project.mysql.model.HandoverTask;
import com.huazheng.project.mysql.model.TransformHistoryNode;
import com.huazheng.project.mysql.model.TransformNewNode;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.extern.log4j.Log4j2;
......@@ -471,6 +473,14 @@ public class JobServiceImpl {
List<Likp> list = sapMapper.selectLikpNew(likp);
if (!list.isEmpty()) {
list.forEach(item -> {
String wadat_ist = item.getWadat_ist();
String lfuhr = item.getLfuhr();
if ("00000000".equals(wadat_ist)) {
item.setWadat_ist2lfuhr(null);
} else {
Date date = DateUtil.parse(wadat_ist+lfuhr, "yyyyMMddHHmmss");
item.setWadat_ist2lfuhr(date);
}
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
......@@ -597,6 +607,22 @@ public class JobServiceImpl {
List<Bkpf> list = sapMapper.selectBkpfNew(bkpf);
if (!list.isEmpty()) {
list.forEach(item -> {
String aedat = item.getAedat();
if ("00000000".equals(aedat)) {
item.setAedat(null);
} else {
Date date = DateUtil.parse(aedat, "yyyyMMdd");
String format = DateUtil.format(date, "yyyy-MM-dd");
item.setAedat(format);
}
String cpudt = item.getCpudt();
String cputm = item.getCputm();
if ("00000000".equals(cpudt)) {
item.setCpudt_cputm(null);
} else {
Date date = DateUtil.parse(cpudt+cputm, "yyyyMMddHHmmss");
item.setCpudt_cputm(date);
}
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
......@@ -880,6 +906,14 @@ public class JobServiceImpl {
List<Kna1> list = sapMapper.selectKna1New(kna1);
if (!list.isEmpty()) {
list.forEach(item -> {
String updat = item.getUpdat();
if ("00000000".equals(updat)) {
item.setUpdat(null);
} else {
Date date = DateUtil.parse(updat, "yyyyMMdd");
String format = DateUtil.format(date, "yyyy-MM-dd");
item.setUpdat(format);
}
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
......@@ -1055,6 +1089,14 @@ public class JobServiceImpl {
List<Vbak> list = sapMapper.selectVbakNew(vbak);
if (!list.isEmpty()) {
list.forEach(item -> {
String erdat = item.getErdat();
String erzet = item.getErzet();
if ("00000000".equals(erdat)) {
item.setErdat2erzet(null);
} else {
Date date = DateUtil.parse(erdat+erzet, "yyyyMMddHHmmss");
item.setErdat2erzet(date);
}
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
......@@ -1080,6 +1122,14 @@ public class JobServiceImpl {
List<Aufk> list = sapMapper.selectAufkNew(aufk);
if (!list.isEmpty()) {
list.forEach(item -> {
String aedat = item.getAedat();
if ("00000000".equals(aedat)) {
item.setAedat(null);
} else {
Date date = DateUtil.parse(aedat, "yyyyMMdd");
String format = DateUtil.format(date, "yyyy-MM-dd");
item.setAedat(format);
}
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
......
......@@ -100,7 +100,7 @@ public interface SapMapper {
public Afko cascadeAfkoByAufk(Aufk aufk);
public Afpo cascadeAfpoByAufk(Aufk aufk);
public List<Bkpf> selectBkpfCheckByUpdate(Bkpf bkpf);
public List<Kna1> selectKna1CheckUpdate(Kna1 kna1);
// ......
public Bkpf selectBkpfById(Bkpf target);
......
......@@ -3,10 +3,6 @@ package com.huazheng.project.hana.model;
import java.io.Serializable;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
......@@ -48,9 +44,9 @@ public class Aufk implements Serializable {
private Date erdat1; // 转换 erdat 创建日期yyyy-MM-dd
private Date erdat2; // 转换 erdat 创建日期yyyy-MM-dd hh:mm:ss
@DateTimeFormat(pattern="yyyy-MM-dd") // 页面写入数据库时格式化
@JSONField(format="yyyy-MM-dd") // 数据库导出页面时json格式化
private Date aedat; // 更改订单主文件日期
// @DateTimeFormat(pattern="yyyy-MM-dd") // 页面写入数据库时格式化
// @JSONField(format="yyyy-MM-dd") // 数据库导出页面时json格式化
private String aedat; // 更改订单主文件日期
private Vbap vbap;
......
......@@ -37,9 +37,9 @@ public class Bkpf implements Serializable {
@JSONField(format="yyyy-MM-dd") // 数据库导出页面时json格式化
private String cpudt; // 会计凭证输入日期
private String cputm; // 输入时间
@DateTimeFormat(pattern="yyyy-MM-dd") // 页面写入数据库时格式化
@JSONField(format="yyyy-MM-dd") // 数据库导出页面时json格式化
private Date aedat; // 上次根据事务修改凭证的日期
// @DateTimeFormat(pattern="yyyy-MM-dd") // 页面写入数据库时格式化
// @JSONField(format="yyyy-MM-dd") // 数据库导出页面时json格式化
private String aedat; // 上次根据事务修改凭证的日期
private String upddt; // 上次凭证更新日期
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") // 页面写入数据库时格式化
......
......@@ -27,6 +27,10 @@ public class Kna1 implements Serializable {
private String ktokd; // 客户帐户组
// @DateTimeFormat(pattern="yyyyMMdd") // 页面写入数据库时格式化
// @JSONField(format="yyyyMMdd") // 数据库导出页面时json格式化
private String updat; //
private Vbap vbap;
private Long rowids; // sap那边的rowid
......
select count(1) from sapabap1.bkpf where aedat = '00000000' union all
select count(1) from sapabap1.bkpf where aedat != '00000000' union all
select count(1) from sapabap1.bkpf where aedat is null;
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.bkpf where aedat = '20201121';
select count(1) from sapabap1.Bkpf where aedat = '00000000' and mandt = '800' union all
select count(1) from sapabap1.Bkpf where aedat != '00000000' and mandt = '800';
select top 20 "$rowid$" as rowids,
select top 20 "$rowid$" as rowids,
mandt, bukrs, belnr, gjahr, blart, bldat, budat, monat, cpudt, cputm,
case aedat when '00000000' then null else to_date(aedat) end as aedat, upddt,
(to_date(cpudt)||' '||to_time(cputm)) as cpudt_cputm
from sapabap1.Bkpf
where "$rowid$" > '4526721' and mandt = '800'
order by "$rowid$"
\ No newline at end of file
where "$rowid$" > '2702057' and mandt = '800'
order by "$rowid$";
select top 20 "$rowid$" as rowids,
mandt, bukrs, belnr, gjahr, blart, bldat, budat, monat, cpudt, cputm,
case aedat when '00000000' then null else to_date(aedat) end as aedat, upddt,
(to_date(cpudt)||' '||to_time(cputm)) as cpudt_cputm
from sapabap1.Bkpf
where "$rowid$" > '2702306' and mandt = '800'
order by "$rowid$";
select top 20 "$rowid$" as rowids,
mandt, bukrs, belnr, gjahr, blart, bldat, budat, monat, cpudt, cputm,
case aedat when '00000000' then null else to_date(aedat) end as aedat, upddt,
(to_date(cpudt)||' '||to_time(cputm)) as cpudt_cputm
from sapabap1.Bkpf
where "$rowid$" > '2702607' and mandt = '800'
order by "$rowid$";
select top 20 "$rowid$" as rowids,
mandt, bukrs, belnr, gjahr, blart, bldat, budat, monat, cpudt, cputm, upddt
,aedat
,(cpudt||cputm) as cpudt_cputm
from sapabap1.Bkpf
where "$rowid$" > '2702607' and mandt = '800'
order by "$rowid$";
select top 20 "$rowid$" as rowids,
vbeln, mandt, erdat, wadat_ist, ctlpc, kunnr, aedat,lfuhr,
case wadat_ist when '00000000' then null else (to_date(wadat_ist)||' '||to_time(lfuhr)) end as wadat_ist2lfuhr
from sapabap1.likp
where "$rowid$" > '10' AND MANDT = '800'
order by "$rowid$"
......@@ -12,3 +12,4 @@ alter table kna1 add column hashResult text;
alter table kna1 add column rowNum serial;
alter table kna1 add column ktokd text;
alter table kna1 add column updat date;
......@@ -545,14 +545,14 @@
select * from kna1 where kunnr = #{kunnr} and mandt = #{mandt}
</select>
<insert id="insertKna1" parameterType="com.huazheng.project.hana.model.Kna1">
insert into kna1 (kunnr, name1, name2, mandt, ktokd, hashResult) values(#{kunnr}, #{name1}, #{name2}, #{mandt}, #{ktokd}, #{hashResult})
insert into kna1 (kunnr, name1, name2, mandt, ktokd, updat, hashResult) values(#{kunnr}, #{name1}, #{name2}, #{mandt}, #{ktokd}, #{updat}, #{hashResult})
</insert>
<delete id="deleteKna1" parameterType="com.huazheng.project.hana.model.Kna1">
delete from kna1 where kunnr = #{kunnr} and mandt = #{mandt}
</delete>
<update id="updateKna1" parameterType="com.huazheng.project.hana.model.Kna1">
update Kna1 set
kunnr = #{kunnr}, name1 = #{name1}, name2 = #{name2}, mandt = #{mandt}, ktokd = #{ktokd}, hashResult = #{hashResult}
kunnr = #{kunnr}, name1 = #{name1}, name2 = #{name2}, mandt = #{mandt}, ktokd = #{ktokd}, updat = #{updat}, hashResult = #{hashResult}
where kunnr = #{kunnr} and mandt = #{mandt}
</update>
<select id="selectKna1Check" parameterType="com.huazheng.project.hana.model.Kna1" resultType="com.huazheng.project.hana.model.Kna1">
......
......@@ -107,8 +107,7 @@
</select>
<select id="selectLikpNew" parameterType="Likp" resultType="Likp">
select top 20 "$rowid$" as rowids,
vbeln, mandt, erdat, wadat_ist, ctlpc, kunnr, aedat,lfuhr,
case wadat_ist when '00000000' then null else (to_date(wadat_ist)||' '||to_time(lfuhr)) end as wadat_ist2lfuhr
vbeln, mandt, erdat, wadat_ist, ctlpc, kunnr, aedat,lfuhr
from ${hana_user}.likp
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
......@@ -160,7 +159,7 @@
</select>
<select id="selectKna1New" parameterType="Kna1" resultType="Kna1">
select top 20 "$rowid$" as rowids,
kunnr, name1, name2, mandt, ktokd
kunnr, name1, name2, mandt, ktokd, updat
from ${hana_user}.Kna1
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
......@@ -182,8 +181,7 @@
<select id="selectBkpfNew" parameterType="Bkpf" resultType="Bkpf">
select top 20 "$rowid$" as rowids,
mandt, bukrs, belnr, gjahr, blart, bldat, budat, monat, cpudt, cputm,
case aedat when '00000000' then null else to_date(aedat) end as aedat, upddt,
(to_date(cpudt)||' '||to_time(cputm)) as cpudt_cputm
aedat, upddt
from ${hana_user}.Bkpf
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
......@@ -278,7 +276,6 @@
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,
case a.erdat when '00000000' then null else (to_date(a.erdat)||' '||to_time(a.erzet)) end as erdat2erzet,
a.erdat, a.erzet, a.spart
from ${hana_user}.vbak a
left join (
......@@ -295,7 +292,7 @@
<select id="selectAufkNew" parameterType="Aufk" resultType="Aufk">
select top 20 "$rowid$" as rowids,
kdauf,kdpos,mandt,aufnr,erdat,erfzeit,ernam,aenam,bukrs,loekz,auart,werks,
case aedat when '00000000' then null else to_date(aedat) end as aedat
aedat
from ${hana_user}.aufk
where "$rowid$" &gt; #{rowids} ${hana_mandt}
order by "$rowid$"
......@@ -334,8 +331,7 @@
</select>
<select id="selectLikpCheckByUpdate" parameterType="Likp" resultType="Likp">
select top 20 "$rowid$" as rowids,
vbeln, mandt, erdat, wadat_ist, ctlpc, kunnr, aedat,lfuhr,
case wadat_ist when '00000000' then null else (to_date(wadat_ist)||' '||to_time(lfuhr)) end as wadat_ist2lfuhr
vbeln, mandt, erdat, wadat_ist, ctlpc, kunnr, aedat,lfuhr
from ${hana_user}.likp
where "$rowid$" &gt;#{rowids} and aedat != '00000000' ${hana_mandt}
order by "$rowid$"
......@@ -359,7 +355,6 @@
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,
case a.erdat when '00000000' then null else (to_date(a.erdat)||' '||to_time(a.erzet)) end as erdat2erzet,
a.erdat, a.erzet, a.spart
from ${hana_user}.vbak a
left join (
......@@ -401,7 +396,7 @@
<select id="selectAufkCheckByUpdate" parameterType="Aufk" resultType="Aufk">
select top 20 "$rowid$" as rowids,
kdauf,kdpos,mandt,aufnr,erdat,erfzeit,ernam,aenam,bukrs,loekz,auart,werks,
case aedat when '00000000' then null else to_date(aedat) end as aedat
aedat
from ${hana_user}.aufk
where "$rowid$" &gt; #{rowids} and aedat != '00000000' and aedat = CURRENT_DATE ${hana_mandt}
order by "$rowid$"
......@@ -423,13 +418,18 @@
<select id="selectBkpfCheckByUpdate" parameterType="Bkpf" resultType="Bkpf">
select top 20 "$rowid$" as rowids,
mandt, bukrs, belnr, gjahr, blart, bldat, budat, monat, cpudt, cputm,
case aedat when '00000000' then null else to_date(aedat) end as aedat, upddt,
(to_date(cpudt)||' '||to_time(cputm)) as cpudt_cputm
aedat, upddt
from ${hana_user}.Bkpf
where "$rowid$" &gt; #{rowids} and aedat != '00000000' and aedat = CURRENT_DATE ${hana_mandt}
order by "$rowid$"
</select>
<select id="selectKna1CheckUpdate" parameterType="Kna1" resultType="Kna1">
select top 20 "$rowid$" as rowids,
kunnr, name1, name2, mandt, ktokd, updat
from ${hana_user}.Kna1
where "$rowid$" &gt; #{rowids} and updat != '00000000' and updat = CURRENT_DATE ${hana_mandt}
order by "$rowid$"
</select>
......@@ -450,12 +450,12 @@
</select>
<select id="selectAufkById" parameterType="Aufk" resultType="Aufk">
select kdauf,kdpos,mandt,aufnr,erdat,erfzeit,ernam,aenam,bukrs,loekz,auart,werks,
case aedat when '00000000' then null else to_date(aedat) end as aedat
aedat
from ${hana_user}.aufk
where mandt = #{mandt} and aufnr = #{aufnr}
</select>
<select id="selectKna1ById" parameterType="Kna1" resultType="Kna1">
select kunnr, name1, name2, mandt, ktokd
select kunnr, name1, name2, mandt, ktokd, updat
from ${hana_user}.kna1
where kunnr = #{kunnr} and mandt = #{mandt}
</select>
......@@ -511,19 +511,17 @@
</select>
<select id="selectLikpById" parameterType="Likp" resultType="Likp">
select
vbeln, mandt, erdat, wadat_ist, ctlpc, kunnr, aedat,lfuhr,
case wadat_ist when '00000000' then null else (to_date(wadat_ist)||' '||to_time(lfuhr)) end as wadat_ist2lfuhr
vbeln, mandt, erdat, wadat_ist, ctlpc, kunnr, aedat,lfuhr
from ${hana_user}.likp
where vbeln = #{vbeln} and mandt = #{mandt}
</select>
<select id="selectBkpfById" parameterType="Bkpf" resultType="Bkpf">
select
mandt, bukrs, belnr, gjahr, blart, bldat, budat,monat,cpudt, cputm,
case aedat when '00000000' then null else to_date(aedat) end as aedat,upddt,
(to_date(cpudt)||' '||to_time(cputm)) as cpudt_cputm
select mandt, bukrs, belnr, gjahr, blart, bldat, budat,monat,cpudt, cputm,
aedat, upddt
from ${hana_user}.Bkpf
where mandt = #{mandt} and bukrs = #{bukrs} and belnr = #{belnr} and gjahr = #{gjahr}
</select>
<select id="selectLipsById" parameterType="Lips" resultType="Lips">
select
vbeln, posnr, vgbel, vgpos, mandt, matnr, matkl, arktx, werks, lgort,
......@@ -583,7 +581,6 @@
select
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,
case a.erdat when '00000000' then null else (to_date(a.erdat)||' '||to_time(a.erzet)) end as erdat2erzet,
a.erdat, a.erzet, a.spart
from ${hana_user}.vbak a
left join (
......
......@@ -800,6 +800,15 @@
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkUpdateServiceImpl" />
<property name="targetMethod" value="selectKna1CheckByUpdate" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<!-- 删除流程 -->
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
......@@ -838,6 +847,15 @@
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
<property name="targetMethod" value="selectKna1CheckByDelete" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
</list>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论