opt: 优化定时清理源头已删除单据
This commit is contained in:
@@ -34,6 +34,10 @@ public interface EasOutInBillDetailMapper extends BaseMapper<EasOutInBillDetail>
|
|||||||
|
|
||||||
@DS("oracle_eas")
|
@DS("oracle_eas")
|
||||||
List<EasOutInBillDetail> selectPageWithInventory();
|
List<EasOutInBillDetail> selectPageWithInventory();
|
||||||
|
@DS("oracle_eas")
|
||||||
|
Set<String> selectEasIds();
|
||||||
|
@DS("mysql_srm")
|
||||||
|
Set<String> selectSrmIds();
|
||||||
|
|
||||||
@DS("mysql_srm")
|
@DS("mysql_srm")
|
||||||
List<EasOutInBillDetail> selectSrmPageWithInventory();
|
List<EasOutInBillDetail> selectSrmPageWithInventory();
|
||||||
|
|||||||
@@ -25,7 +25,10 @@ public interface EasOutInBillMapper extends BaseMapper<EasOutInBill> {
|
|||||||
List<EasOutInBillDetail> getSrmBills();
|
List<EasOutInBillDetail> getSrmBills();
|
||||||
|
|
||||||
//AND STR_TO_DATE( cjsj, '%Y-%m-%d' ) >= CURDATE() - INTERVAL 1 MONTH;
|
//AND STR_TO_DATE( cjsj, '%Y-%m-%d' ) >= CURDATE() - INTERVAL 1 MONTH;
|
||||||
List<String> queryExistBills();
|
Set<String> queryExistBills();
|
||||||
|
Set<String> queryLocalBills();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
List<EasOutInBillDto> queryBillList(@Param("ids") Set<String> ids);
|
List<EasOutInBillDto> queryBillList(@Param("ids") Set<String> ids);
|
||||||
|
|
||||||
|
|||||||
@@ -9,12 +9,26 @@
|
|||||||
WHERE DJZT = '提交'
|
WHERE DJZT = '提交'
|
||||||
AND TO_DATE(cjsj, 'YYYY-MM-DD') >= TRUNC(SYSDATE) - INTERVAL '91' DAY(3)
|
AND TO_DATE(cjsj, 'YYYY-MM-DD') >= TRUNC(SYSDATE) - INTERVAL '91' DAY(3)
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectEasIds" resultType="java.lang.String">
|
||||||
|
SELECT
|
||||||
|
FLID
|
||||||
|
FROM
|
||||||
|
EAS_NOBLE.V_UC_OUTINBILL
|
||||||
|
WHERE DJZT = '提交'
|
||||||
|
AND TO_DATE(cjsj, 'YYYY-MM-DD') >= TRUNC(SYSDATE) - INTERVAL '7' DAY(3)
|
||||||
|
</select>
|
||||||
<select id="selectSrmPageWithInventory" resultType="org.nl.wms.database.eas.dao.EasOutInBillDetail">
|
<select id="selectSrmPageWithInventory" resultType="org.nl.wms.database.eas.dao.EasOutInBillDetail">
|
||||||
SELECT
|
SELECT
|
||||||
*
|
*
|
||||||
FROM V_WMS_INBILL_THIRD
|
FROM V_WMS_INBILL_THIRD
|
||||||
WHERE DJZT='未入库' AND CJSJ >= DATE_SUB(CURDATE(), INTERVAL 91 DAY)
|
WHERE DJZT='未入库' AND CJSJ >= DATE_SUB(CURDATE(), INTERVAL 91 DAY)
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectSrmIds" resultType="java.lang.String">
|
||||||
|
SELECT
|
||||||
|
FLID
|
||||||
|
FROM V_WMS_INBILL_THIRD
|
||||||
|
WHERE DJZT='未入库' AND CJSJ >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
|
||||||
|
</select>
|
||||||
<select id="selectByConditions" resultType="org.nl.wms.database.eas.dao.InventoryInfo">
|
<select id="selectByConditions" resultType="org.nl.wms.database.eas.dao.InventoryInfo">
|
||||||
SELECT
|
SELECT
|
||||||
stono as zzbm,
|
stono as zzbm,
|
||||||
|
|||||||
@@ -33,9 +33,18 @@
|
|||||||
|
|
||||||
<select id="queryExistBills" resultType="java.lang.String">
|
<select id="queryExistBills" resultType="java.lang.String">
|
||||||
SELECT
|
SELECT
|
||||||
djid
|
DJID
|
||||||
FROM
|
FROM
|
||||||
eas_out_in_bill
|
EAS_OUT_IN_BILL
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="queryLocalBills" resultType="java.lang.String">
|
||||||
|
SELECT
|
||||||
|
FLID
|
||||||
|
FROM
|
||||||
|
EAS_OUT_IN_BILL_DETAIL
|
||||||
|
WHERE
|
||||||
|
djzt = '提交'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getBillsCount" resultType="org.nl.wms.database.eas.dao.HomeBillCounts">
|
<select id="getBillsCount" resultType="org.nl.wms.database.eas.dao.HomeBillCounts">
|
||||||
|
|||||||
@@ -64,13 +64,18 @@ public interface IeasOutInBillService extends IService<EasOutInBill> {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询本地的出入库单据
|
||||||
|
* @return List<EasOutInBill>
|
||||||
|
*/
|
||||||
|
Set<String> queryExistBills();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询本地未提交的出入库单据
|
* 查询本地未提交的出入库单据
|
||||||
* @return List<EasOutInBill>
|
* @return List<EasOutInBill>
|
||||||
*/
|
*/
|
||||||
List<String> queryExistBills();
|
Set<String> queryLocalBills();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -78,11 +78,9 @@ public class EasOutInBillServiceImpl extends ServiceImpl<EasOutInBillMapper, Eas
|
|||||||
JSONArray jsonArray = new JSONArray();
|
JSONArray jsonArray = new JSONArray();
|
||||||
JSONObject version= new JSONObject();
|
JSONObject version= new JSONObject();
|
||||||
// 获取静态文件的路径
|
// 获取静态文件的路径
|
||||||
String staticFilePath = Objects.requireNonNull(getClass().getClassLoader().getResource("sq.apk")).getPath();
|
String downloadUrl = "http://10.10.188.45:8011/app.apk";
|
||||||
// 构建下载链接
|
|
||||||
String downloadUrl = "http://localhost/download/" + staticFilePath;
|
|
||||||
version.put("url", downloadUrl); // 将下载链接放入JSON对象中
|
version.put("url", downloadUrl); // 将下载链接放入JSON对象中
|
||||||
version.put("versionName", "1.0.0");
|
version.put("versionName", "1.0.1");
|
||||||
jsonArray.add(version);
|
jsonArray.add(version);
|
||||||
return jsonArray;
|
return jsonArray;
|
||||||
}
|
}
|
||||||
@@ -141,13 +139,20 @@ public class EasOutInBillServiceImpl extends ServiceImpl<EasOutInBillMapper, Eas
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询本地未提交的出入库单据
|
* 查询本地的出入库单据
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<String> queryExistBills() {
|
public Set<String> queryExistBills() {
|
||||||
return easOutInBillMapper.queryExistBills();
|
return easOutInBillMapper.queryExistBills();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询本地未提交的出入库单据
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Set<String> queryLocalBills() {
|
||||||
|
return easOutInBillMapper.queryLocalBills();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建
|
* 创建
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public class EasBillSchedule {
|
|||||||
List<EasOutInBillDetail> srmOutInBillDetails = easOutInBillDetailMapper.selectSrmPageWithInventory();
|
List<EasOutInBillDetail> srmOutInBillDetails = easOutInBillDetailMapper.selectSrmPageWithInventory();
|
||||||
if (CollectionUtils.isNotEmpty(easOutInBillDetails) || CollectionUtils.isNotEmpty(srmOutInBillDetails)) {
|
if (CollectionUtils.isNotEmpty(easOutInBillDetails) || CollectionUtils.isNotEmpty(srmOutInBillDetails)) {
|
||||||
// 查询已存在的单据
|
// 查询已存在的单据
|
||||||
Set<String> existingIds = new HashSet<>(easOutInBillService.queryExistBills());
|
Set<String> existingIds = easOutInBillService.queryExistBills();
|
||||||
// 过滤出需要插入的新单据,并根据来源设置 ID
|
// 过滤出需要插入的新单据,并根据来源设置 ID
|
||||||
List<EasOutInBillDetail> insertEasBills = easOutInBillDetails.stream()
|
List<EasOutInBillDetail> insertEasBills = easOutInBillDetails.stream()
|
||||||
.filter(bill -> !existingIds.contains(bill.getDjid()))
|
.filter(bill -> !existingIds.contains(bill.getDjid()))
|
||||||
@@ -117,6 +117,32 @@ public class EasBillSchedule {
|
|||||||
//System.out.println("1task-首页及头部信息推送-sendHomeInfoTask-花费时间----------------------------------------------------------------****************************************************************= totalTime = " + stopWatch.getTotalTimeMillis());
|
//System.out.println("1task-首页及头部信息推送-sendHomeInfoTask-花费时间----------------------------------------------------------------****************************************************************= totalTime = " + stopWatch.getTotalTimeMillis());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 定时删除源头已删除单据
|
||||||
|
*/
|
||||||
|
@Async("taskExecutor")
|
||||||
|
@Scheduled(cron = "0/180 * * * * *")
|
||||||
|
public void autoDeleteBill() {
|
||||||
|
// 获取eas视图查询未提交的单据
|
||||||
|
Set<String> easIds = easOutInBillDetailMapper.selectEasIds();
|
||||||
|
// 获取srm视图查询未提交的单据
|
||||||
|
Set<String> srmIds = easOutInBillDetailMapper.selectSrmIds();
|
||||||
|
if (CollectionUtils.isNotEmpty(easIds) || CollectionUtils.isNotEmpty(srmIds)) {
|
||||||
|
// 查询已存在的单据
|
||||||
|
Set<String> existingIds = easOutInBillService.queryLocalBills();
|
||||||
|
easIds.addAll(srmIds);
|
||||||
|
// 需要删除的ID集合
|
||||||
|
Set<String> idsToDelete = existingIds.stream()
|
||||||
|
.filter(r -> !easIds.contains(r))
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
if (CollectionUtils.isNotEmpty(idsToDelete)) {
|
||||||
|
LambdaQueryWrapper<EasOutInBillDetail> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.in(EasOutInBillDetail::getFlid, idsToDelete);
|
||||||
|
easOutInBillDetailMapper.delete(queryWrapper);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 定时清空单据
|
* 定时清空单据
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user