提交 17551679 作者: guofeng

调整job任务顺序

上级 592eb581
......@@ -81,40 +81,25 @@ public class CheckDeleteServiceImpl {
selectAfpoCheckByDelete();
selectBkpfCheckByDelete();
selectKna1CheckByDelete();
selectLikpCheckByDelete();
selectLipsCheckByDelete();
selectPa0002CheckByDelete();
selectVbakCheckByDelete();
selectVbrkCheckByDelete();
selectZsd06CheckByDelete();
selectZsdfhzlCheckByDelete();
selectMaraCheckByDelete();
selectAuspCheckByDelete();
selectKnvvCheckByDelete();
selectVbrpCheckByDelete();
selectKonvCheckByDelete();
selectMaktCheckByDelete();
selectVbukCheckByDelete();
selectZpoeditCheckByDelete();
selectBsadCheckByDelete();
selectBsidCheckByDelete();
selectVbapCheckByDelete();
selectVbepCheckByDelete();
selectVbpaCheckByDelete();
selectZmdpcCheckByDelete();
selectSalesContractProcessCheckByDelete();
selectSalesForecastProcessCheckByDelete();
selectSampleApplicationProcessCheckByDelete();
selectSampleClosingProcessCheckByDelete();
selectHandoverCheckByDelete();
selectHandoverTaskCheckByDelete();
selectTransformHistoryNodeCheckByDelete();
selectTransformNewNodeCheckByDelete();
selectSalesContractProcessMXCheckByDelete();
selectSalesForecastProcessMXCheckByDelete();
selectSampleApplicationProcessMingXiCheckByDelete();
selectSampleClosingProcessMingXiCheckByDelete();
selectSysSAPreturnNoCheckByDelete();
}
public void selectAufkCheckByDelete() {
......@@ -265,66 +250,7 @@ public class CheckDeleteServiceImpl {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Kna1:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectLikpCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Likp:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Likp:rowNum");
Likp build = Likp.builder().rowNum(rowNum).build();
List<Likp> list = gpMapper.selectLikpCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkDelete:Likp:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Likp source = sapMapper.selectLikpById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteLikp(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Likp:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectLikpcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Likp:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectLipsCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Lips:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Lips:rowNum");
Lips build = Lips.builder().rowNum(rowNum).build();
List<Lips> list = gpMapper.selectLipsCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkDelete:Lips:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Lips source = sapMapper.selectLipsById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteLips(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Lips:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectLipscheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Lips:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectPa0002CheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
......@@ -355,66 +281,8 @@ public class CheckDeleteServiceImpl {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Pa0002:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectVbakCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Vbak:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Vbak:rowNum");
Vbak build = Vbak.builder().rowNum(rowNum).build();
List<Vbak> list = gpMapper.selectVbakCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:Vbak:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Vbak source = sapMapper.selectVbakById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteVbak(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Vbak:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectVbakcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Vbak:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectVbrkCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Vbrk:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Vbrk:rowNum");
Vbrk build = Vbrk.builder().rowNum(rowNum).build();
List<Vbrk> list = gpMapper.selectVbrkCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkDelete:Vbrk:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Vbrk source = sapMapper.selectVbrkById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteVbrk(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Vbrk:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectVbrkcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Vbrk:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectZsd06CheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
......@@ -578,36 +446,7 @@ public class CheckDeleteServiceImpl {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Knvv:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectVbrpCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Vbrp:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Vbrp:rowNum");
Vbrp build = Vbrp.builder().rowNum(rowNum).build();
List<Vbrp> list = gpMapper.selectVbrpCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:Vbrp:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Vbrp source = sapMapper.selectVbrpById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteVbrp(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Vbrp:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectVbrpcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Vbrp:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectKonvCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
......@@ -783,180 +622,243 @@ public class CheckDeleteServiceImpl {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Bsid:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectVbapCheckByDelete() {
public void selectZmdpcCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Vbap:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Vbap:rowNum");
Vbap build = Vbap.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:Zmdpc:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Zmdpc:rowNum");
Zmdpc build = Zmdpc.builder().rowNum(rowNum).build();
List<Vbap> list = gpMapper.selectVbapCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkDelete:Vbap:rowNum", "0"); // 计数器复位
List<Zmdpc> list = gpMapper.selectZmdpcCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:Zmdpc:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Vbap source = sapMapper.selectVbapById(target); // 根据主键查询源库中的数据
Zmdpc source = sapMapper.selectZmdpcById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteVbap(target); // 删除数仓中的数据
gpMapper.deleteVbapAdv(target);
gpMapper.deleteZmdpc(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Vbap:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:Zmdpc:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectVbapcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectZmdpccheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Vbap:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:Zmdpc:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectVbepCheckByDelete() {
public void selectSalesForecastProcessCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Vbep:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Vbep:rowNum");
Vbep build = Vbep.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:SalesForecastProcess:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:SalesForecastProcess:rowNum");
SalesForecastProcess build = SalesForecastProcess.builder().rowNum(rowNum).build();
List<Vbep> list = gpMapper.selectVbepCheck(build); // 从数仓中查询一组数据
List<SalesForecastProcess> list = gpMapper.selectSalesForecastProcessCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:Vbep:rowNum", "0"); // 计数器复位
redis1Template.opsForValue().set("huazheng:checkDelete:SalesForecastProcess:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Vbep source = sapMapper.selectVbepById(target); // 根据主键查询源库中的数据
SalesForecastProcess source = crmMapper.selectSalesForecastProcessById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteVbep(target); // 删除数仓中的数据
gpMapper.deleteSalesForecastProcess(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Vbep:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:SalesForecastProcess:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectVbepcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectSalesForecastProcesscheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Vbep:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:SalesForecastProcess:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectVbpaCheckByDelete() {
public void selectHandoverCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Vbpa:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Vbpa:rowNum");
Vbpa build = Vbpa.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:Handover:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Handover:rowNum");
Handover build = Handover.builder().rowNum(rowNum).build();
List<Vbpa> list = gpMapper.selectVbpaCheck(build); // 从数仓中查询一组数据
List<Handover> list = gpMapper.selectHandoverCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:Vbpa:rowNum", "0"); // 计数器复位
redis1Template.opsForValue().set("huazheng:checkDelete:Handover:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Vbpa source = sapMapper.selectVbpaById(target); // 根据主键查询源库中的数据
Handover source = tmsMapper.selectHandoverById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteVbpa(target); // 删除数仓中的数据
gpMapper.deleteHandover(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Vbpa:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:Handover:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectVbpacheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectHandovercheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Vbpa:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:Handover:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectZmdpcCheckByDelete() {
public void selectHandoverTaskCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Zmdpc:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Zmdpc:rowNum");
Zmdpc build = Zmdpc.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:HandoverTask:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:HandoverTask:rowNum");
HandoverTask build = HandoverTask.builder().rowNum(rowNum).build();
List<Zmdpc> list = gpMapper.selectZmdpcCheck(build); // 从数仓中查询一组数据
List<HandoverTask> list = gpMapper.selectHandoverTaskCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:Zmdpc:rowNum", "0"); // 计数器复位
redis1Template.opsForValue().set("huazheng:checkDelete:HandoverTask:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Zmdpc source = sapMapper.selectZmdpcById(target); // 根据主键查询源库中的数据
HandoverTask source = tmsMapper.selectHandoverTaskById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteZmdpc(target); // 删除数仓中的数据
gpMapper.deleteHandoverTask(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Zmdpc:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:HandoverTask:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectZmdpccheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectHandoverTaskcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Zmdpc:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:HandoverTask:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSalesContractProcessCheckByDelete() {
public void selectTransformHistoryNodeCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:SalesContractProcess:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:SalesContractProcess:rowNum");
SalesContractProcess build = SalesContractProcess.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:TransformHistoryNode:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:TransformHistoryNode:rowNum");
TransformHistoryNode build = TransformHistoryNode.builder().rowNum(rowNum).build();
List<SalesContractProcess> list = gpMapper.selectSalesContractProcessCheck(build); // 从数仓中查询一组数据
List<TransformHistoryNode> list = gpMapper.selectTransformHistoryNodeCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:SalesContractProcess:rowNum", "0"); // 计数器复位
redis1Template.opsForValue().set("huazheng:checkDelete:TransformHistoryNode:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
SalesContractProcess source = crmMapper.selectSalesContractProcessById(target); // 根据主键查询源库中的数据
TransformHistoryNode source = tmsMapper.selectTransformHistoryNodeById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteSalesContractProcess(target); // 删除数仓中的数据
gpMapper.deleteTransformHistoryNode(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:SalesContractProcess:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:TransformHistoryNode:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectSalesContractProcesscheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectTransformHistoryNodecheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:SalesContractProcess:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:TransformHistoryNode:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSalesForecastProcessCheckByDelete() {
public void selectTransformNewNodeCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:SalesForecastProcess:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:SalesForecastProcess:rowNum");
SalesForecastProcess build = SalesForecastProcess.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:TransformNewNode:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:TransformNewNode:rowNum");
TransformNewNode build = TransformNewNode.builder().rowNum(rowNum).build();
List<SalesForecastProcess> list = gpMapper.selectSalesForecastProcessCheck(build); // 从数仓中查询一组数据
List<TransformNewNode> list = gpMapper.selectTransformNewNodeCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:SalesForecastProcess:rowNum", "0"); // 计数器复位
redis1Template.opsForValue().set("huazheng:checkDelete:TransformNewNode:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
SalesForecastProcess source = crmMapper.selectSalesForecastProcessById(target); // 根据主键查询源库中的数据
TransformNewNode source = tmsMapper.selectTransformNewNodeById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteSalesForecastProcess(target); // 删除数仓中的数据
gpMapper.deleteTransformNewNode(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:SalesForecastProcess:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:TransformNewNode:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectSalesForecastProcesscheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectTransformNewNodecheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:SalesForecastProcess:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:TransformNewNode:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSalesForecastProcessMXCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:SalesForecastProcessMX:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:SalesForecastProcessMX:rowNum");
SalesForecastProcessMX build = SalesForecastProcessMX.builder().rowNum(rowNum).build();
List<SalesForecastProcessMX> list = gpMapper.selectSalesForecastProcessMXCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:SalesForecastProcessMX:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
SalesForecastProcessMX source = crmMapper.selectSalesForecastProcessMXById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteSalesForecastProcessMX(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:SalesForecastProcessMX:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectSalesForecastProcessMXcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:SalesForecastProcessMX:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
// 独立的
public void selectSalesContractProcessCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:SalesContractProcess:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:SalesContractProcess:rowNum");
SalesContractProcess build = SalesContractProcess.builder().rowNum(rowNum).build();
List<SalesContractProcess> list = gpMapper.selectSalesContractProcessCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:SalesContractProcess:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
SalesContractProcess source = crmMapper.selectSalesContractProcessById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteSalesContractProcess(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:SalesContractProcess:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectSalesContractProcesscheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:SalesContractProcess:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSampleApplicationProcessCheckByDelete() {
......@@ -1017,241 +919,333 @@ public class CheckDeleteServiceImpl {
redis1Template.opsForValue().set("huazheng:checkDeleteError:SampleClosingProcess:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectHandoverCheckByDelete() {
public void selectSalesContractProcessMXCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Handover:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Handover:rowNum");
Handover build = Handover.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:SalesContractProcessMX:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:SalesContractProcessMX:rowNum");
SalesContractProcessMX build = SalesContractProcessMX.builder().rowNum(rowNum).build();
List<Handover> list = gpMapper.selectHandoverCheck(build); // 从数仓中查询一组数据
List<SalesContractProcessMX> list = gpMapper.selectSalesContractProcessMXCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:Handover:rowNum", "0"); // 计数器复位
redis1Template.opsForValue().set("huazheng:checkDelete:SalesContractProcessMX:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Handover source = tmsMapper.selectHandoverById(target); // 根据主键查询源库中的数据
SalesContractProcessMX source = crmMapper.selectSalesContractProcessMXById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteHandover(target); // 删除数仓中的数据
gpMapper.deleteSalesContractProcessMX(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Handover:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:SalesContractProcessMX:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectHandovercheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectSalesContractProcessMXcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Handover:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:SalesContractProcessMX:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectHandoverTaskCheckByDelete() {
public void selectSampleApplicationProcessMingXiCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:HandoverTask:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:HandoverTask:rowNum");
HandoverTask build = HandoverTask.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:SampleApplicationProcessMingXi:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:SampleApplicationProcessMingXi:rowNum");
SampleApplicationProcessMingXi build = SampleApplicationProcessMingXi.builder().rowNum(rowNum).build();
List<HandoverTask> list = gpMapper.selectHandoverTaskCheck(build); // 从数仓中查询一组数据
List<SampleApplicationProcessMingXi> list = gpMapper.selectSampleApplicationProcessMingXiCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:HandoverTask:rowNum", "0"); // 计数器复位
redis1Template.opsForValue().set("huazheng:checkDelete:SampleApplicationProcessMingXi:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
HandoverTask source = tmsMapper.selectHandoverTaskById(target); // 根据主键查询源库中的数据
SampleApplicationProcessMingXi source = crmMapper.selectSampleApplicationProcessMingXiById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteHandoverTask(target); // 删除数仓中的数据
gpMapper.deleteSampleApplicationProcessMingXi(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:HandoverTask:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:SampleApplicationProcessMingXi:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectHandoverTaskcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectSampleApplicationProcessMingXicheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:HandoverTask:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:SampleApplicationProcessMingXi:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectTransformHistoryNodeCheckByDelete() {
public void selectSampleClosingProcessMingXiCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:TransformHistoryNode:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:TransformHistoryNode:rowNum");
TransformHistoryNode build = TransformHistoryNode.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:SampleClosingProcessMingXi:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:SampleClosingProcessMingXi:rowNum");
SampleClosingProcessMingXi build = SampleClosingProcessMingXi.builder().rowNum(rowNum).build();
List<TransformHistoryNode> list = gpMapper.selectTransformHistoryNodeCheck(build); // 从数仓中查询一组数据
List<SampleClosingProcessMingXi> list = gpMapper.selectSampleClosingProcessMingXiCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:TransformHistoryNode:rowNum", "0"); // 计数器复位
redis1Template.opsForValue().set("huazheng:checkDelete:SampleClosingProcessMingXi:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
TransformHistoryNode source = tmsMapper.selectTransformHistoryNodeById(target); // 根据主键查询源库中的数据
SampleClosingProcessMingXi source = crmMapper.selectSampleClosingProcessMingXiById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteTransformHistoryNode(target); // 删除数仓中的数据
gpMapper.deleteSampleClosingProcessMingXi(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:TransformHistoryNode:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:SampleClosingProcessMingXi:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectTransformHistoryNodecheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectSampleClosingProcessMingXicheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:TransformHistoryNode:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:SampleClosingProcessMingXi:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectTransformNewNodeCheckByDelete() {
// 独立的
public void selectLikpCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:TransformNewNode:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:TransformNewNode:rowNum");
TransformNewNode build = TransformNewNode.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:Likp:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Likp:rowNum");
Likp build = Likp.builder().rowNum(rowNum).build();
List<TransformNewNode> list = gpMapper.selectTransformNewNodeCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:TransformNewNode:rowNum", "0"); // 计数器复位
List<Likp> list = gpMapper.selectLikpCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkDelete:Likp:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
TransformNewNode source = tmsMapper.selectTransformNewNodeById(target); // 根据主键查询源库中的数据
Likp source = sapMapper.selectLikpById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteTransformNewNode(target); // 删除数仓中的数据
gpMapper.deleteLikp(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:TransformNewNode:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:Likp:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectTransformNewNodecheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectLikpcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:TransformNewNode:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:Likp:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectLipsCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Lips:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Lips:rowNum");
Lips build = Lips.builder().rowNum(rowNum).build();
public void selectSalesContractProcessMXCheckByDelete() {
List<Lips> list = gpMapper.selectLipsCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkDelete:Lips:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Lips source = sapMapper.selectLipsById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteLips(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Lips:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectLipscheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Lips:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectVbakCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:SalesContractProcessMX:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:SalesContractProcessMX:rowNum");
SalesContractProcessMX build = SalesContractProcessMX.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:Vbak:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Vbak:rowNum");
Vbak build = Vbak.builder().rowNum(rowNum).build();
List<SalesContractProcessMX> list = gpMapper.selectSalesContractProcessMXCheck(build); // 从数仓中查询一组数据
List<Vbak> list = gpMapper.selectVbakCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:SalesContractProcessMX:rowNum", "0"); // 计数器复位
redis1Template.opsForValue().set("huazheng:checkDelete:Vbak:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
SalesContractProcessMX source = crmMapper.selectSalesContractProcessMXById(target); // 根据主键查询源库中的数据
Vbak source = sapMapper.selectVbakById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteSalesContractProcessMX(target); // 删除数仓中的数据
gpMapper.deleteVbak(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:SalesContractProcessMX:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:Vbak:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectSalesContractProcessMXcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectVbakcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:SalesContractProcessMX:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:Vbak:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSalesForecastProcessMXCheckByDelete() {
public void selectVbapCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:SalesForecastProcessMX:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:SalesForecastProcessMX:rowNum");
SalesForecastProcessMX build = SalesForecastProcessMX.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:Vbap:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Vbap:rowNum");
Vbap build = Vbap.builder().rowNum(rowNum).build();
List<SalesForecastProcessMX> list = gpMapper.selectSalesForecastProcessMXCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:SalesForecastProcessMX:rowNum", "0"); // 计数器复位
List<Vbap> list = gpMapper.selectVbapCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkDelete:Vbap:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
SalesForecastProcessMX source = crmMapper.selectSalesForecastProcessMXById(target); // 根据主键查询源库中的数据
Vbap source = sapMapper.selectVbapById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteSalesForecastProcessMX(target); // 删除数仓中的数据
gpMapper.deleteVbap(target); // 删除数仓中的数据
gpMapper.deleteVbapAdv(target);
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:SalesForecastProcessMX:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:Vbap:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectSalesForecastProcessMXcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectVbapcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:SalesForecastProcessMX:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:Vbap:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSampleApplicationProcessMingXiCheckByDelete() {
public void selectVbepCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:SampleApplicationProcessMingXi:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:SampleApplicationProcessMingXi:rowNum");
SampleApplicationProcessMingXi build = SampleApplicationProcessMingXi.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:Vbep:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Vbep:rowNum");
Vbep build = Vbep.builder().rowNum(rowNum).build();
List<SampleApplicationProcessMingXi> list = gpMapper.selectSampleApplicationProcessMingXiCheck(build); // 从数仓中查询一组数据
List<Vbep> list = gpMapper.selectVbepCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:SampleApplicationProcessMingXi:rowNum", "0"); // 计数器复位
redis1Template.opsForValue().set("huazheng:checkDelete:Vbep:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
SampleApplicationProcessMingXi source = crmMapper.selectSampleApplicationProcessMingXiById(target); // 根据主键查询源库中的数据
Vbep source = sapMapper.selectVbepById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteSampleApplicationProcessMingXi(target); // 删除数仓中的数据
gpMapper.deleteVbep(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:SampleApplicationProcessMingXi:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:Vbep:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectSampleApplicationProcessMingXicheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectVbepcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:SampleApplicationProcessMingXi:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:Vbep:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSampleClosingProcessMingXiCheckByDelete() {
public void selectVbpaCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:SampleClosingProcessMingXi:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:SampleClosingProcessMingXi:rowNum");
SampleClosingProcessMingXi build = SampleClosingProcessMingXi.builder().rowNum(rowNum).build();
opsForValue.setIfAbsent("huazheng:checkDelete:Vbpa:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Vbpa:rowNum");
Vbpa build = Vbpa.builder().rowNum(rowNum).build();
List<SampleClosingProcessMingXi> list = gpMapper.selectSampleClosingProcessMingXiCheck(build); // 从数仓中查询一组数据
List<Vbpa> list = gpMapper.selectVbpaCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:SampleClosingProcessMingXi:rowNum", "0"); // 计数器复位
redis1Template.opsForValue().set("huazheng:checkDelete:Vbpa:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
SampleClosingProcessMingXi source = crmMapper.selectSampleClosingProcessMingXiById(target); // 根据主键查询源库中的数据
Vbpa source = sapMapper.selectVbpaById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteSampleClosingProcessMingXi(target); // 删除数仓中的数据
gpMapper.deleteVbpa(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:SampleClosingProcessMingXi:rowNum", target.getRowNum());
redis1Template.opsForValue().set("huazheng:checkDelete:Vbpa:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectSampleClosingProcessMingXicheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
log.info(String.format("selectVbpacheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:SampleClosingProcessMingXi:rowNum", SomeUtils.getErrorInfoFromException(e));
redis1Template.opsForValue().set("huazheng:checkDeleteError:Vbpa:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectVbrkCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Vbrk:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Vbrk:rowNum");
Vbrk build = Vbrk.builder().rowNum(rowNum).build();
List<Vbrk> list = gpMapper.selectVbrkCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkDelete:Vbrk:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Vbrk source = sapMapper.selectVbrkById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteVbrk(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Vbrk:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectVbrkcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Vbrk:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectVbrpCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkDelete:Vbrp:rowNum", "0");
String rowNum = opsForValue.get("huazheng:checkDelete:Vbrp:rowNum");
Vbrp build = Vbrp.builder().rowNum(rowNum).build();
List<Vbrp> list = gpMapper.selectVbrpCheck(build); // 从数仓中查询一组数据
if (list.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkDelete:Vbrp:rowNum", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
list.forEach(target -> { // 遍历要检查的数据
Vbrp source = sapMapper.selectVbrpById(target); // 根据主键查询源库中的数据
String operator = "none";
if (source == null) { // 如果源库中没有数据
gpMapper.deleteVbrp(target); // 删除数仓中的数据
operator = "delete";
}
redis1Template.opsForValue().set("huazheng:checkDelete:Vbrp:rowNum", target.getRowNum());
if (!operator.equals("none")) {
log.info(String.format("selectVbrpcheckDelete --> rowNum:%s, operator:%s", target.getRowNum(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkDeleteError:Vbrp:rowNum", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSysSAPreturnNoCheckByDelete() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
......
......@@ -94,18 +94,11 @@ public class CheckUpdateServiceImpl {
selectAufkCheckByUpdate();
selectBkpfCheckByUpdate();
selectKna1CheckByUpdate();
selectLikpCheckUpdate();
selectLipsCheckUpdate();
selectPa0002CheckUpdate();
selectVbakCheckUpdate();
selectVbrkCheckUpdate();
selectZsd06CheckUpdate();
selectZsdfhzlCheckUpdate();
selectMaraCheckUpdate();
selectSalesContractProcessCheckUpdate();
selectSalesForecastProcessCheckUpdate();
selectSampleApplicationProcessCheckUpdate();
selectSampleClosingProcessCheckUpdate();
selectHandoverCheckUpdate();
selectHandoverTaskCheckUpdate();
selectTransformHistoryNodeCheckUpdate();
......@@ -337,128 +330,7 @@ public class CheckUpdateServiceImpl {
redis1Template.opsForValue().set("huazheng:checkUpdateError:Kna1:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectLikpCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:Likp:rowids", "0");
Long rowids = Long.parseLong(opsForValue.get("huazheng:checkUpdate:Likp:rowids"));
Likp build = Likp.builder().rowids(rowids).build();
List<Likp> slist = sapMapper.selectLikpCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkUpdate:Likp:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
Likp target = gpMapper.selectLikp(source); // 根据主键查询源库中的数据
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 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(SomeUtils.caDate(source.getErdat())); // 日期00000000格式转换,已处理异常
source.setWadat_ist1(SomeUtils.caDate(source.getWadat_ist())); // 日期00000000格式转换,已处理异常
// ===============================
while (true) {
try {
gpMapper.updateLikp(source); // 更新数据到数仓中
operator = "update";
break;
} catch (RuntimeException e) {
log.error(e.getMessage());
ThreadUtil.safeSleep(500);
}
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:Likp:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectLikpcheckUpdate --> rowNum:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:Likp:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectLipsCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:Lips:rowids", "0");
Long rowids = Long.parseLong(opsForValue.get("huazheng:checkUpdate:Lips:rowids"));
Lips build = Lips.builder().rowids(rowids).build();
List<Lips> slist = sapMapper.selectLipsCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkUpdate:Lips:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
Lips target = gpMapper.selectLips(source); // 根据主键查询源库中的数据
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);
// ===============================
if (source.getErdat() != null && source.getErzet() != null) {
String erdat2 = new StringBuffer(source.getErdat()).insert(4, "-").insert(7, "-").toString();
String erzet2 = new StringBuffer(source.getErzet()).insert(2, ":").insert(5, ":").toString();
String dateStr = erdat2 + " " + erzet2;
Date date = DateUtil.parse(dateStr);
source.setErdat1(date);
source.setErdat2(date);
}
// ===============================
while (true) {
try {
gpMapper.updateLips(source); // 更新数据到数仓中
operator = "update";
break;
} catch (RuntimeException e) {
log.error(e.getMessage());
ThreadUtil.safeSleep(500);
}
}
// 级联更新业务
List<Vbuk> sVbukList = sapMapper.cascadeVbukByLips(source); // 级联查询源库afko表
for (Vbuk sVbuk : sVbukList) {
Vbuk tVbuk = gpMapper.selectVbuk(sVbuk); // 查询目标库中afko表
cascadeVbukCheckByUpdate(sVbuk, tVbuk); // 级联更新afko表
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:Lips:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectLipscheckUpdate --> rowids:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:Lips:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectPa0002CheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
......@@ -513,124 +385,7 @@ public class CheckUpdateServiceImpl {
redis1Template.opsForValue().set("huazheng:checkUpdateError:Pa0002:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectVbakCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:Vbak:rowids", "0");
Long rowids = Long.parseLong(opsForValue.get("huazheng:checkUpdate:Vbak:rowids"));
Vbak build = Vbak.builder().rowids(rowids).build();
List<Vbak> slist = sapMapper.selectVbakCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkUpdate:Vbak:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
Vbak target = gpMapper.selectVbak(source); // 根据主键查询源库中的数据
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);
// ===============================
source.setAudat1(SomeUtils.caDate(source.getAudat())); // 日期00000000格式转换,已处理异常
// ===============================
while (true) {
try {
gpMapper.updateVbak(source); // 更新数据到数仓中
operator = "update";
break;
} catch (RuntimeException e) {
log.error(e.getMessage());
ThreadUtil.safeSleep(500);
}
}
// 级联更新业务
List<Konv> sKonvList = sapMapper.cascadeKonvByVbak(source); // 级联查询源库afko表
for (Konv sKonv : sKonvList) {
Konv tKonv = gpMapper.selectKonv(sKonv); // 查询目标库中afko表
cascadeKonvCheckByUpdate(sKonv, tKonv); // 级联更新afko表
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:Vbak:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectVbakcheckUpdate --> rowids:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:Vbak:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectVbrkCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:Vbrk:rowids", "0");
Long rowids = Long.parseLong(opsForValue.get("huazheng:checkUpdate:Vbrk:rowids"));
Vbrk build = Vbrk.builder().rowids(rowids).build();
List<Vbrk> slist = sapMapper.selectVbrkCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkUpdate:Vbrk:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
Vbrk target = gpMapper.selectVbrk(source); // 根据主键查询源库中的数据
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);
// ===============================
if (source.getFkdat() != null) {
String erdat2 = new StringBuffer(source.getFkdat()).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
source.setFkdat1(date);
}
// ===============================
while (true) {
try {
gpMapper.updateVbrk(source); // 更新数据到数仓中
operator = "update";
break;
} catch (RuntimeException e) {
log.error(e.getMessage());
ThreadUtil.safeSleep(500);
}
}
// 级联更新业务
List<Vbrp> sVbrpList = sapMapper.cascadeVbrpByVbrk(source); // 级联查询源库afko表
for (Vbrp sVbrp : sVbrpList) {
Vbrp tVbrp = gpMapper.selectVbrp(sVbrp); // 查询目标库中afko表
cascadeVbrpCheckByUpdate(sVbrp, tVbrp); // 级联更新afko表
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:Vbrk:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectVbrkcheckUpdate --> rowids:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:Vbrk:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectZsd06CheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
......@@ -1177,71 +932,22 @@ public class CheckUpdateServiceImpl {
}
}
public void selectSalesContractProcessCheckUpdate() {
public void selectSalesForecastProcessCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:SalesContractProcess:rowids", "0");
String rowids = opsForValue.get("huazheng:checkUpdate:SalesContractProcess:rowids");
SalesContractProcess build = SalesContractProcess.builder().id(rowids).build();
opsForValue.setIfAbsent("huazheng:checkUpdate:SalesForecastProcess:rowids", "0");
String rowids = opsForValue.get("huazheng:checkUpdate:SalesForecastProcess:rowids");
SalesForecastProcess build = SalesForecastProcess.builder().id(rowids).build();
List<SalesContractProcess> slist = crmMapper.selectSalesContractProcessCheckByUpdate(build); // 从数仓中查询一组数据
List<SalesForecastProcess> slist = crmMapper.selectSalesForecastProcessCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkUpdate:SalesContractProcess:rowids", "0"); // 计数器复位
redis1Template.opsForValue().set("huazheng:checkUpdate:SalesForecastProcess:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
SalesContractProcess target = gpMapper.selectSalesContractProcess(source); // 根据主键查询源库中的数据
String operator = "none";
String srowids = source.getId();
if (target != null) {
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.updateSalesContractProcess(source); // 更新数据到数仓中
break;
} catch (RuntimeException e) {
log.error(e.getMessage());ThreadUtil.safeSleep(500);
}
}
// 级联更新业务
List<SalesContractProcessMX> sSalesContractProcessMXList = crmMapper.cascadeSalesContractProcessMXBySalesContractProcess(source); // 级联查询源库afko表
for (SalesContractProcessMX sSalesContractProcessMX : sSalesContractProcessMXList) {
SalesContractProcessMX tSalesContractProcessMX = gpMapper.selectSalesContractProcessMX(sSalesContractProcessMX); // 查询目标库中afko表
cascadeSalesContractProcessMXCheckByUpdate(sSalesContractProcessMX, tSalesContractProcessMX); // 级联更新afko表
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:SalesContractProcess:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectSalesContractProcesscheckUpdate --> rowids:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:SalesContractProcess:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSalesForecastProcessCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:SalesForecastProcess:rowids", "0");
String rowids = opsForValue.get("huazheng:checkUpdate:SalesForecastProcess:rowids");
SalesForecastProcess build = SalesForecastProcess.builder().id(rowids).build();
List<SalesForecastProcess> slist = crmMapper.selectSalesForecastProcessCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkUpdate:SalesForecastProcess:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
SalesForecastProcess target = gpMapper.selectSalesForecastProcess(source); // 根据主键查询源库中的数据
SalesForecastProcess target = gpMapper.selectSalesForecastProcess(source); // 根据主键查询源库中的数据
String operator = "none";
String srowids = source.getId();
if (target != null) {
......@@ -1295,119 +1001,7 @@ public class CheckUpdateServiceImpl {
redis1Template.opsForValue().set("huazheng:checkUpdateError:SalesForecastProcess:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSampleApplicationProcessCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:SampleApplicationProcess:rowids", "0");
String rowids = opsForValue.get("huazheng:checkUpdate:SampleApplicationProcess:rowids");
SampleApplicationProcess build = SampleApplicationProcess.builder().id(rowids).build();
List<SampleApplicationProcess> slist = crmMapper.selectSampleApplicationProcessCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkUpdate:SampleApplicationProcess:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
SampleApplicationProcess target = gpMapper.selectSampleApplicationProcess(source); // 根据主键查询源库中的数据
String operator = "none";
String srowids = source.getId();
if (target != null) {
String shash = SecureUtil.md5(JSONUtil.toJsonStr(source)); // 源库中数据的hash结果
String thash = target.getHashResult(); // 数仓中数据的hash结果
if (!shash.equals(thash)) { // 如果hash结果不一致
source.setHashResult(shash);
// ===============================
String pcbcs = source.getPCBCS();
String chanPinYY = source.getChanPinYY();
if (StrUtil.isBlank(pcbcs) || StrUtil.isBlank(chanPinYY)) {
source.setPCBCS2chanPinYY(null);
}
// ===============================
while (true) {
try {
gpMapper.updateSampleApplicationProcess(source); // 更新数据到数仓中
break;
} catch (RuntimeException e) {
log.error(e.getMessage());ThreadUtil.safeSleep(500);
}
}
// 级联更新业务
List<SampleApplicationProcessMingXi> sSampleApplicationProcessMingXiList = crmMapper.cascadeSampleApplicationProcessMingXiBySampleApplicationProcess(source); // 级联查询源库afko表
for (SampleApplicationProcessMingXi sSampleApplicationProcessMingXi : sSampleApplicationProcessMingXiList) {
SampleApplicationProcessMingXi tSampleApplicationProcessMingXi = gpMapper.selectSampleApplicationProcessMingXi(sSampleApplicationProcessMingXi); // 查询目标库中afko表
cascadeSampleApplicationProcessMingXiCheckByUpdate(sSampleApplicationProcessMingXi, tSampleApplicationProcessMingXi); // 级联更新afko表
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:SampleApplicationProcess:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectSampleApplicationProcesscheckUpdate --> rowids:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:SampleApplicationProcess:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSampleClosingProcessCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:SampleClosingProcess:rowids", "0");
String rowids = opsForValue.get("huazheng:checkUpdate:SampleClosingProcess:rowids");
SampleClosingProcess build = SampleClosingProcess.builder().id(rowids).build();
List<SampleClosingProcess> slist = crmMapper.selectSampleClosingProcessCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkUpdate:SampleClosingProcess:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
SampleClosingProcess target = gpMapper.selectSampleClosingProcess(source); // 根据主键查询源库中的数据
String operator = "none";
String srowids = source.getId();
if (target != null) {
String shash = SecureUtil.md5(JSONUtil.toJsonStr(source)); // 源库中数据的hash结果
String thash = target.getHashResult(); // 数仓中数据的hash结果
if (!shash.equals(thash)) { // 如果hash结果不一致
source.setHashResult(shash);
// ===============================
if (NumberUtil.isNumber(source.getYangPinSQSLH())) {
int yangPinSQSLHi = Integer.parseInt(source.getYangPinSQSLH());
source.setYangPinSQSLHi(yangPinSQSLHi);
}
// ===============================
while (true) {
try {
gpMapper.updateSampleClosingProcess(source); // 更新数据到数仓中
break;
} catch (RuntimeException e) {
log.error(e.getMessage());ThreadUtil.safeSleep(500);
}
}
// 级联更新业务
List<SampleClosingProcessMingXi> sSampleClosingProcessMingXiList = crmMapper.cascadeSampleClosingProcessMingXiBySampleClosingProcess(source); // 级联查询源库afko表
for (SampleClosingProcessMingXi sSampleClosingProcessMingXi : sSampleClosingProcessMingXiList) {
SampleClosingProcessMingXi tSampleClosingProcessMingXi = gpMapper.selectSampleClosingProcessMingXi(sSampleClosingProcessMingXi); // 查询目标库中afko表
cascadeSampleClosingProcessMingXiCheckByUpdate(sSampleClosingProcessMingXi, tSampleClosingProcessMingXi); // 级联更新afko表
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:SampleClosingProcess:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectSampleClosingProcesscheckUpdate --> rowids:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:SampleClosingProcess:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
// 所属selectSalesContractProcessCheckUpdate的级联
private void cascadeSalesContractProcessMXCheckByUpdate(SalesContractProcessMX source, SalesContractProcessMX target) {
......@@ -1678,6 +1272,7 @@ public class CheckUpdateServiceImpl {
}
}
// 独立的
public void selectVbapCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
......@@ -1981,4 +1576,410 @@ public class CheckUpdateServiceImpl {
}
}
// 独立的
public void selectLikpCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:Likp:rowids", "0");
Long rowids = Long.parseLong(opsForValue.get("huazheng:checkUpdate:Likp:rowids"));
Likp build = Likp.builder().rowids(rowids).build();
List<Likp> slist = sapMapper.selectLikpCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkUpdate:Likp:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
Likp target = gpMapper.selectLikp(source); // 根据主键查询源库中的数据
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 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(SomeUtils.caDate(source.getErdat())); // 日期00000000格式转换,已处理异常
source.setWadat_ist1(SomeUtils.caDate(source.getWadat_ist())); // 日期00000000格式转换,已处理异常
// ===============================
while (true) {
try {
gpMapper.updateLikp(source); // 更新数据到数仓中
operator = "update";
break;
} catch (RuntimeException e) {
log.error(e.getMessage());
ThreadUtil.safeSleep(500);
}
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:Likp:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectLikpcheckUpdate --> rowNum:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:Likp:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectLipsCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:Lips:rowids", "0");
Long rowids = Long.parseLong(opsForValue.get("huazheng:checkUpdate:Lips:rowids"));
Lips build = Lips.builder().rowids(rowids).build();
List<Lips> slist = sapMapper.selectLipsCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkUpdate:Lips:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
Lips target = gpMapper.selectLips(source); // 根据主键查询源库中的数据
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);
// ===============================
if (source.getErdat() != null && source.getErzet() != null) {
String erdat2 = new StringBuffer(source.getErdat()).insert(4, "-").insert(7, "-").toString();
String erzet2 = new StringBuffer(source.getErzet()).insert(2, ":").insert(5, ":").toString();
String dateStr = erdat2 + " " + erzet2;
Date date = DateUtil.parse(dateStr);
source.setErdat1(date);
source.setErdat2(date);
}
// ===============================
while (true) {
try {
gpMapper.updateLips(source); // 更新数据到数仓中
operator = "update";
break;
} catch (RuntimeException e) {
log.error(e.getMessage());
ThreadUtil.safeSleep(500);
}
}
// 级联更新业务
List<Vbuk> sVbukList = sapMapper.cascadeVbukByLips(source); // 级联查询源库afko表
for (Vbuk sVbuk : sVbukList) {
Vbuk tVbuk = gpMapper.selectVbuk(sVbuk); // 查询目标库中afko表
cascadeVbukCheckByUpdate(sVbuk, tVbuk); // 级联更新afko表
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:Lips:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectLipscheckUpdate --> rowids:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:Lips:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectVbakCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:Vbak:rowids", "0");
Long rowids = Long.parseLong(opsForValue.get("huazheng:checkUpdate:Vbak:rowids"));
Vbak build = Vbak.builder().rowids(rowids).build();
List<Vbak> slist = sapMapper.selectVbakCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkUpdate:Vbak:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
Vbak target = gpMapper.selectVbak(source); // 根据主键查询源库中的数据
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);
// ===============================
source.setAudat1(SomeUtils.caDate(source.getAudat())); // 日期00000000格式转换,已处理异常
// ===============================
while (true) {
try {
gpMapper.updateVbak(source); // 更新数据到数仓中
operator = "update";
break;
} catch (RuntimeException e) {
log.error(e.getMessage());
ThreadUtil.safeSleep(500);
}
}
// 级联更新业务
List<Konv> sKonvList = sapMapper.cascadeKonvByVbak(source); // 级联查询源库afko表
for (Konv sKonv : sKonvList) {
Konv tKonv = gpMapper.selectKonv(sKonv); // 查询目标库中afko表
cascadeKonvCheckByUpdate(sKonv, tKonv); // 级联更新afko表
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:Vbak:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectVbakcheckUpdate --> rowids:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:Vbak:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectVbrkCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:Vbrk:rowids", "0");
Long rowids = Long.parseLong(opsForValue.get("huazheng:checkUpdate:Vbrk:rowids"));
Vbrk build = Vbrk.builder().rowids(rowids).build();
List<Vbrk> slist = sapMapper.selectVbrkCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) { // rowid已完成,则转为由更新时间字段开始同步
redis1Template.opsForValue().set("huazheng:checkUpdate:Vbrk:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
Vbrk target = gpMapper.selectVbrk(source); // 根据主键查询源库中的数据
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);
// ===============================
if (source.getFkdat() != null) {
String erdat2 = new StringBuffer(source.getFkdat()).insert(4, "-").insert(7, "-").toString();
Date date = DateUtil.parse(erdat2);
source.setFkdat1(date);
}
// ===============================
while (true) {
try {
gpMapper.updateVbrk(source); // 更新数据到数仓中
operator = "update";
break;
} catch (RuntimeException e) {
log.error(e.getMessage());
ThreadUtil.safeSleep(500);
}
}
// 级联更新业务
List<Vbrp> sVbrpList = sapMapper.cascadeVbrpByVbrk(source); // 级联查询源库afko表
for (Vbrp sVbrp : sVbrpList) {
Vbrp tVbrp = gpMapper.selectVbrp(sVbrp); // 查询目标库中afko表
cascadeVbrpCheckByUpdate(sVbrp, tVbrp); // 级联更新afko表
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:Vbrk:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectVbrkcheckUpdate --> rowids:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:Vbrk:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSalesContractProcessCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:SalesContractProcess:rowids", "0");
String rowids = opsForValue.get("huazheng:checkUpdate:SalesContractProcess:rowids");
SalesContractProcess build = SalesContractProcess.builder().id(rowids).build();
List<SalesContractProcess> slist = crmMapper.selectSalesContractProcessCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkUpdate:SalesContractProcess:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
SalesContractProcess target = gpMapper.selectSalesContractProcess(source); // 根据主键查询源库中的数据
String operator = "none";
String srowids = source.getId();
if (target != null) {
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.updateSalesContractProcess(source); // 更新数据到数仓中
break;
} catch (RuntimeException e) {
log.error(e.getMessage());ThreadUtil.safeSleep(500);
}
}
// 级联更新业务
List<SalesContractProcessMX> sSalesContractProcessMXList = crmMapper.cascadeSalesContractProcessMXBySalesContractProcess(source); // 级联查询源库afko表
for (SalesContractProcessMX sSalesContractProcessMX : sSalesContractProcessMXList) {
SalesContractProcessMX tSalesContractProcessMX = gpMapper.selectSalesContractProcessMX(sSalesContractProcessMX); // 查询目标库中afko表
cascadeSalesContractProcessMXCheckByUpdate(sSalesContractProcessMX, tSalesContractProcessMX); // 级联更新afko表
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:SalesContractProcess:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectSalesContractProcesscheckUpdate --> rowids:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:SalesContractProcess:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSampleApplicationProcessCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:SampleApplicationProcess:rowids", "0");
String rowids = opsForValue.get("huazheng:checkUpdate:SampleApplicationProcess:rowids");
SampleApplicationProcess build = SampleApplicationProcess.builder().id(rowids).build();
List<SampleApplicationProcess> slist = crmMapper.selectSampleApplicationProcessCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkUpdate:SampleApplicationProcess:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
SampleApplicationProcess target = gpMapper.selectSampleApplicationProcess(source); // 根据主键查询源库中的数据
String operator = "none";
String srowids = source.getId();
if (target != null) {
String shash = SecureUtil.md5(JSONUtil.toJsonStr(source)); // 源库中数据的hash结果
String thash = target.getHashResult(); // 数仓中数据的hash结果
if (!shash.equals(thash)) { // 如果hash结果不一致
source.setHashResult(shash);
// ===============================
String pcbcs = source.getPCBCS();
String chanPinYY = source.getChanPinYY();
if (StrUtil.isBlank(pcbcs) || StrUtil.isBlank(chanPinYY)) {
source.setPCBCS2chanPinYY(null);
}
// ===============================
while (true) {
try {
gpMapper.updateSampleApplicationProcess(source); // 更新数据到数仓中
break;
} catch (RuntimeException e) {
log.error(e.getMessage());ThreadUtil.safeSleep(500);
}
}
// 级联更新业务
List<SampleApplicationProcessMingXi> sSampleApplicationProcessMingXiList = crmMapper.cascadeSampleApplicationProcessMingXiBySampleApplicationProcess(source); // 级联查询源库afko表
for (SampleApplicationProcessMingXi sSampleApplicationProcessMingXi : sSampleApplicationProcessMingXiList) {
SampleApplicationProcessMingXi tSampleApplicationProcessMingXi = gpMapper.selectSampleApplicationProcessMingXi(sSampleApplicationProcessMingXi); // 查询目标库中afko表
cascadeSampleApplicationProcessMingXiCheckByUpdate(sSampleApplicationProcessMingXi, tSampleApplicationProcessMingXi); // 级联更新afko表
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:SampleApplicationProcess:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectSampleApplicationProcesscheckUpdate --> rowids:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:SampleApplicationProcess:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
public void selectSampleClosingProcessCheckUpdate() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:checkUpdate:SampleClosingProcess:rowids", "0");
String rowids = opsForValue.get("huazheng:checkUpdate:SampleClosingProcess:rowids");
SampleClosingProcess build = SampleClosingProcess.builder().id(rowids).build();
List<SampleClosingProcess> slist = crmMapper.selectSampleClosingProcessCheckByUpdate(build); // 从数仓中查询一组数据
if (slist.size() == 0) {
redis1Template.opsForValue().set("huazheng:checkUpdate:SampleClosingProcess:rowids", "0"); // 计数器复位
ThreadUtil.sleep(1000); // 没有数据了,休眠一下
}
slist.forEach(source -> { // 遍历要检查的数据
SampleClosingProcess target = gpMapper.selectSampleClosingProcess(source); // 根据主键查询源库中的数据
String operator = "none";
String srowids = source.getId();
if (target != null) {
String shash = SecureUtil.md5(JSONUtil.toJsonStr(source)); // 源库中数据的hash结果
String thash = target.getHashResult(); // 数仓中数据的hash结果
if (!shash.equals(thash)) { // 如果hash结果不一致
source.setHashResult(shash);
// ===============================
if (NumberUtil.isNumber(source.getYangPinSQSLH())) {
int yangPinSQSLHi = Integer.parseInt(source.getYangPinSQSLH());
source.setYangPinSQSLHi(yangPinSQSLHi);
}
// ===============================
while (true) {
try {
gpMapper.updateSampleClosingProcess(source); // 更新数据到数仓中
break;
} catch (RuntimeException e) {
log.error(e.getMessage());ThreadUtil.safeSleep(500);
}
}
// 级联更新业务
List<SampleClosingProcessMingXi> sSampleClosingProcessMingXiList = crmMapper.cascadeSampleClosingProcessMingXiBySampleClosingProcess(source); // 级联查询源库afko表
for (SampleClosingProcessMingXi sSampleClosingProcessMingXi : sSampleClosingProcessMingXiList) {
SampleClosingProcessMingXi tSampleClosingProcessMingXi = gpMapper.selectSampleClosingProcessMingXi(sSampleClosingProcessMingXi); // 查询目标库中afko表
cascadeSampleClosingProcessMingXiCheckByUpdate(sSampleClosingProcessMingXi, tSampleClosingProcessMingXi); // 级联更新afko表
}
ThreadUtil.safeSleep(500);
}
}
redis1Template.opsForValue().set("huazheng:checkUpdate:SampleClosingProcess:rowids", srowids.toString());
if (!operator.equals("none")) {
log.info(String.format("selectSampleClosingProcesscheckUpdate --> rowids:%s, operator:%s", srowids.toString(), operator));
}
});
} catch (Exception e) {
redis1Template.opsForValue().set("huazheng:checkUpdateError:SampleClosingProcess:rowids", SomeUtils.getErrorInfoFromException(e));
}
}
}
......@@ -789,10 +789,10 @@ public class DeleteUpdateJobServiceImpl {
}
public void checkJob8() {
selectTasksCheck();
selectPersonCompCheck();
}
private void selectTasksCheck() {
//独立的
public void selectTasksCheck() {
try {
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:check:Tasks:rowNum", "0");
......
......@@ -110,31 +110,23 @@ public class JobServiceImpl {
// ===================== sapMapper rowids =====================
public void checkJob1() {
selectVbapNew();
selectBsidNew();
selectBsadNew();
selectPa0002New();
selectVbpaNew();
selectTvkbtNew();
selectAufmNew();
selectVbrkNew();
selectVbrpNew();
selectS066New();
selectS067New();
selectVbukNew();
selectLikpNew();
selectKonvNew();
selectLipsNew();
selectAfkoNew();
selectAfpoNew();
selectAfvcNew();
selectAuspNew();
selectAfruNew();
selectTspatNew();
selectZpoeditNew();
selectMkpfNew();
selectVbepNew();
selectT023tNew();
selectKna1New();
selectKnvvNew();
......@@ -143,37 +135,13 @@ public class JobServiceImpl {
selectMaktNew();
selectZsd06New();
selectZmdpcNew();
selectVbakNew();
selectAufkNew();
selectT001wNew();
selectMskaNew();
selectZsdfhzlNew();
selectKnvpNew();
}
private void selectVbapNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:vbap:sendcount", "huazheng:vbap:rowids", "huazheng:list:vbap");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:vbap:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:vbap:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:vbap:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:vbap:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:vbap:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:vbap:rowids"); // 标记rowids
Vbap vbap = Vbap.builder().rowids(Long.valueOf(rowids)).build();
List<Vbap> list = sapMapper.selectVbapNew(vbap);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
selectBkpfNew();
selectMsegNew();
}
private void selectBsidNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
......@@ -250,31 +218,6 @@ public class JobServiceImpl {
}
}
}
private void selectVbpaNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbpa:sendcount", "huazheng:Vbpa:rowids", "huazheng:list:Vbpa");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbpa:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbpa:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbpa:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbpa:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbpa:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbpa:rowids"); // 标记id
Vbpa vbpa = Vbpa.builder().rowids(Long.valueOf(rowids)).build();
List<Vbpa> list = sapMapper.selectVbpaNew(vbpa);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectTvkbtNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
......@@ -325,56 +268,6 @@ public class JobServiceImpl {
}
}
}
private void selectVbrkNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbrk:sendcount", "huazheng:Vbrk:rowids", "huazheng:list:Vbrk");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbrk:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbrk:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbrk:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbrk:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbrk:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbrk:rowids"); // 标记id
Vbrk vbrk = Vbrk.builder().rowids(Long.valueOf(rowids)).build();
List<Vbrk> list = sapMapper.selectVbrkNew(vbrk);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectVbrpNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbrp:sendcount", "huazheng:Vbrp:rowids", "huazheng:list:Vbrp");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbrp:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbrp:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbrp:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbrp:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbrp:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbrp:rowids"); // 标记id
Vbrp vbrp = Vbrp.builder().rowids(Long.valueOf(rowids)).build();
List<Vbrp> list = sapMapper.selectVbrpNew(vbrp);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectS066New() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
......@@ -450,39 +343,6 @@ public class JobServiceImpl {
}
}
}
private void selectLikpNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Likp:sendcount", "huazheng:Likp:rowids", "huazheng:list:Likp");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Likp:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Likp:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Likp:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Likp:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Likp:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Likp:rowids"); // 标记id
Likp likp = Likp.builder().rowids(Long.valueOf(rowids)).build();
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);
});
}
}
}
private void selectKonvNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
......@@ -508,31 +368,6 @@ public class JobServiceImpl {
}
}
}
private void selectLipsNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Lips:sendcount", "huazheng:Lips:rowids", "huazheng:list:Lips");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Lips:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Lips:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Lips:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Lips:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Lips:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Lips:rowids"); // 标记id
Lips lips = Lips.builder().rowids(Long.valueOf(rowids)).build();
List<Lips> list = sapMapper.selectLipsNew(lips);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectAfkoNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
......@@ -583,47 +418,6 @@ public class JobServiceImpl {
}
}
}
public void selectBkpfNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Bkpf:sendcount", "huazheng:Bkpf:rowids", "huazheng:list:Bkpf");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Bkpf:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Bkpf:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Bkpf:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Bkpf:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Bkpf:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Bkpf:rowids"); // 标记id
Bkpf bkpf = Bkpf.builder().rowids(Long.valueOf(rowids)).build();
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);
});
}
}
}
private void selectKnvpNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
......@@ -749,31 +543,6 @@ public class JobServiceImpl {
}
}
}
public void selectMsegNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Mseg:sendcount", "huazheng:Mseg:rowids", "huazheng:list:Mseg");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Mseg:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Mseg:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Mseg:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Mseg:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Mseg:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Mseg:rowids"); // 标记id
Mseg mseg = Mseg.builder().rowids(Long.valueOf(rowids)).build();
List<Mseg> list = sapMapper.selectMsegNew(mseg);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectAuspNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
......@@ -824,31 +593,6 @@ public class JobServiceImpl {
}
}
}
private void selectVbepNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbep:sendcount", "huazheng:Vbep:rowids", "huazheng:list:Vbep");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbep:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbep:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbep:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbep:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbep:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbep:rowids"); // 标记id
Vbep vbep = Vbep.builder().rowids(Long.valueOf(rowids)).build();
List<Vbep> list = sapMapper.selectVbepNew(vbep);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
private void selectT023tNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
......@@ -1057,51 +801,18 @@ public class JobServiceImpl {
}
}
}
private void selectVbakNew() {
private void selectAufkNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbak:sendcount", "huazheng:Vbak:rowids", "huazheng:list:Vbak");
List<String> keys = Arrays.asList("huazheng:Aufk:sendcount", "huazheng:Aufk:rowids", "huazheng:list:Aufk");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbak:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbak:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbak:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbak:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbak:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbak:rowids"); // 标记id
Vbak vbak = Vbak.builder().rowids(Long.valueOf(rowids)).build();
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);
});
}
}
}
private void selectAufkNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Aufk:sendcount", "huazheng:Aufk:rowids", "huazheng:list:Aufk");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Aufk:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Aufk:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Aufk:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Aufk:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Aufk:receivecount"));
opsForValue.setIfAbsent("huazheng:Aufk:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Aufk:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Aufk:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Aufk:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Aufk:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Aufk:rowids"); // 标记id
Aufk aufk = Aufk.builder().rowids(Long.valueOf(rowids)).build();
......@@ -1198,16 +909,293 @@ public class JobServiceImpl {
}
}
}
private void selectBkpfNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Bkpf:sendcount", "huazheng:Bkpf:rowids", "huazheng:list:Bkpf");
// ===================== crmMapper rowids =====================
public void checkJob2() {
selectSalesForecastProcessNew();
selectSalesContractProcessNew();
selectSampleApplicationProcessNew();
selectSampleApplicationProcessMingXiNew();
selectSampleClosingProcessNew();
selectSampleClosingProcessMingXiNew();
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Bkpf:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Bkpf:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Bkpf:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Bkpf:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Bkpf:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Bkpf:rowids"); // 标记id
Bkpf bkpf = Bkpf.builder().rowids(Long.valueOf(rowids)).build();
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);
});
}
}
}
private void selectMsegNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Mseg:sendcount", "huazheng:Mseg:rowids", "huazheng:list:Mseg");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Mseg:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Mseg:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Mseg:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Mseg:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Mseg:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Mseg:rowids"); // 标记id
Mseg mseg = Mseg.builder().rowids(Long.valueOf(rowids)).build();
List<Mseg> list = sapMapper.selectMsegNew(mseg);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
// 独立的
public void selectVbepNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbep:sendcount", "huazheng:Vbep:rowids", "huazheng:list:Vbep");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbep:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbep:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbep:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbep:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbep:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbep:rowids"); // 标记id
Vbep vbep = Vbep.builder().rowids(Long.valueOf(rowids)).build();
List<Vbep> list = sapMapper.selectVbepNew(vbep);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
public void selectVbapNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:vbap:sendcount", "huazheng:vbap:rowids", "huazheng:list:vbap");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:vbap:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:vbap:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:vbap:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:vbap:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:vbap:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:vbap:rowids"); // 标记rowids
Vbap vbap = Vbap.builder().rowids(Long.valueOf(rowids)).build();
List<Vbap> list = sapMapper.selectVbapNew(vbap);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
public void selectVbpaNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbpa:sendcount", "huazheng:Vbpa:rowids", "huazheng:list:Vbpa");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbpa:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbpa:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbpa:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbpa:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbpa:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbpa:rowids"); // 标记id
Vbpa vbpa = Vbpa.builder().rowids(Long.valueOf(rowids)).build();
List<Vbpa> list = sapMapper.selectVbpaNew(vbpa);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
public void selectVbrkNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbrk:sendcount", "huazheng:Vbrk:rowids", "huazheng:list:Vbrk");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbrk:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbrk:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbrk:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbrk:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbrk:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbrk:rowids"); // 标记id
Vbrk vbrk = Vbrk.builder().rowids(Long.valueOf(rowids)).build();
List<Vbrk> list = sapMapper.selectVbrkNew(vbrk);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
public void selectVbrpNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbrp:sendcount", "huazheng:Vbrp:rowids", "huazheng:list:Vbrp");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbrp:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbrp:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbrp:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbrp:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbrp:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbrp:rowids"); // 标记id
Vbrp vbrp = Vbrp.builder().rowids(Long.valueOf(rowids)).build();
List<Vbrp> list = sapMapper.selectVbrpNew(vbrp);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
public void selectVbakNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Vbak:sendcount", "huazheng:Vbak:rowids", "huazheng:list:Vbak");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Vbak:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbak:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Vbak:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Vbak:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Vbak:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Vbak:rowids"); // 标记id
Vbak vbak = Vbak.builder().rowids(Long.valueOf(rowids)).build();
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);
});
}
}
}
public void selectLikpNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Likp:sendcount", "huazheng:Likp:rowids", "huazheng:list:Likp");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Likp:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Likp:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Likp:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Likp:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Likp:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Likp:rowids"); // 标记id
Likp likp = Likp.builder().rowids(Long.valueOf(rowids)).build();
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);
});
}
}
}
public void selectLipsNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
List<String> keys = Arrays.asList("huazheng:Lips:sendcount", "huazheng:Lips:rowids", "huazheng:list:Lips");
ValueOperations<String, String> opsForValue = redis1Template.opsForValue();
opsForValue.setIfAbsent("huazheng:Lips:sendcount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Lips:receivecount", "0"); // 不存在则创建,存在则么有操作
opsForValue.setIfAbsent("huazheng:Lips:rowids", "0"); // 不存在则创建,存在则么有操作
Long sendcount = Long.valueOf(opsForValue.get("huazheng:Lips:sendcount"));
Long receivecount = Long.valueOf(opsForValue.get("huazheng:Lips:receivecount"));
if (sendcount - receivecount <= 20) { // 如果发送数和消费数的差小于5则往队列中写数据
String rowids = opsForValue.get("huazheng:Lips:rowids"); // 标记id
Lips lips = Lips.builder().rowids(Long.valueOf(rowids)).build();
List<Lips> list = sapMapper.selectLipsNew(lips);
if (!list.isEmpty()) {
list.forEach(item -> {
JSONObject json = JSONUtil.parseObj(item, false);
String execute = redis1Template.execute(script, keys, item.getRowids().toString(), json.toString());
log.info("标记时间回写 --> " + execute);
});
}
}
}
// ===================== crmMapper rowids =====================
// 独立的
public void selectSalesForecastProcessNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
......@@ -1471,9 +1459,8 @@ public class JobServiceImpl {
public void checkJob4() {
selectTKeHuXiaoShouZZYeWuYNew();
selectTKeHuNew();
selectSysSAPreturnNoNew();
}
public void selectTKeHuXiaoShouZZYeWuYNew() {
private void selectTKeHuXiaoShouZZYeWuYNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
......@@ -1498,7 +1485,7 @@ public class JobServiceImpl {
}
}
}
public void selectTKeHuNew() {
private void selectTKeHuNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
script.setScriptSource(new ResourceScriptSource(new ClassPathResource("luascript/vbap4send.lua")));
......@@ -1523,6 +1510,8 @@ public class JobServiceImpl {
}
}
}
// 独立的
public void selectSysSAPreturnNoNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
......@@ -1550,9 +1539,7 @@ public class JobServiceImpl {
}
// ===================== ultimusDBMapper rowids =====================
public void checkJob5() {
selectTasksNew();
}
// 独立的
public void selectTasksNew() {
DefaultRedisScript<String> script = new DefaultRedisScript<String>();
script.setResultType(String.class);
......
......@@ -556,7 +556,7 @@
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="checkJob2" />
<property name="targetMethod" value="checkJob3" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
......@@ -565,16 +565,141 @@
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="checkJob3" />
<property name="targetMethod" value="checkJob4" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="checkJob4" />
<property name="targetMethod" value="selectVbepNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectVbapNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectVbpaNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectVbrkNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectVbrpNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectVbakNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectLikpNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectLipsNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectTasksNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectSysSAPreturnNoNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectSalesForecastProcessNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectSalesContractProcessNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectSampleApplicationProcessNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectSampleApplicationProcessMingXiNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
......@@ -583,7 +708,7 @@
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="checkJob5" />
<property name="targetMethod" value="selectSampleClosingProcessNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
......@@ -592,12 +717,17 @@
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectMsegNew" />
<property name="targetMethod" value="selectSampleClosingProcessMingXiNew" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<!-- ========================== 更新流程job ========================== -->
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
......@@ -671,24 +801,23 @@
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<!-- ========================== 独立的任务 ========================== -->
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="deleteUpdateJobServiceImpl" />
<property name="targetMethod" value="selectKnkkCheckUpdate" />
<property name="targetMethod" value="selectTasksCheck" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean>
<!-- 新增流程 -->
<!-- ========================== 独立的任务 ========================== -->
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="jobServiceImpl" />
<property name="targetMethod" value="selectBkpfNew" />
<property name="targetObject" ref="deleteUpdateJobServiceImpl" />
<property name="targetMethod" value="selectKnkkCheckUpdate" />
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
......@@ -722,7 +851,7 @@
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkUpdateServiceImpl" />
......@@ -730,8 +859,8 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkUpdateServiceImpl" />
......@@ -739,7 +868,7 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
......@@ -749,7 +878,7 @@
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkUpdateServiceImpl" />
......@@ -757,8 +886,8 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkUpdateServiceImpl" />
......@@ -766,7 +895,7 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
......@@ -795,7 +924,7 @@
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkUpdateServiceImpl" />
......@@ -803,7 +932,7 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
......@@ -813,7 +942,7 @@
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkUpdateServiceImpl" />
......@@ -821,8 +950,8 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkUpdateServiceImpl" />
......@@ -830,7 +959,7 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
......@@ -869,7 +998,7 @@
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkUpdateServiceImpl" />
......@@ -877,7 +1006,7 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
......@@ -927,7 +1056,7 @@
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -935,8 +1064,8 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -944,7 +1073,7 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
......@@ -954,7 +1083,7 @@
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -962,8 +1091,8 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -971,7 +1100,7 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
......@@ -1017,7 +1146,7 @@
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -1025,7 +1154,7 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
......@@ -1081,7 +1210,7 @@
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -1089,7 +1218,7 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
......@@ -1099,7 +1228,7 @@
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -1107,8 +1236,8 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -1116,7 +1245,7 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
......@@ -1155,7 +1284,7 @@
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -1163,7 +1292,7 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
......@@ -1173,7 +1302,7 @@
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -1181,8 +1310,8 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -1190,9 +1319,9 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -1200,9 +1329,9 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -1210,8 +1339,8 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
</bean>
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -1219,7 +1348,7 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
......@@ -1229,7 +1358,7 @@
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
<!-- <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<bean parent="methodJobDetail">
<property name="targetObject" ref="checkDeleteServiceImpl" />
......@@ -1237,7 +1366,7 @@
</bean>
</property>
<property name="cronExpression" value="* * * * * ?" />
</bean> -->
</bean>
<!-- 以上66个任务 -->
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论