workSequence规则替换,增加最大值以保证升序。

This commit is contained in:
梁州 2025-06-26 08:19:23 +08:00
parent 9d9519513d
commit c54ee29613

View File

@ -31,10 +31,13 @@ public class UploadDbsListener implements ReadListener<KateDbsExcelVo> {
private final String uploadUser;// 用户 private final String uploadUser;// 用户
private final Map<String, KateDBS> oldKateDBSMap;// 旧的DBS数据 private final Map<String, KateDBS> oldKateDBSMap;// 旧的DBS数据
private final Map<String, KateDBS> newKateDBSMap = new HashMap<>();// 新的DBS数据 private final Map<String, KateDBS> newKateDBSMap = new HashMap<>();// 新的DBS数据
private final int maxSequence;
public UploadDbsListener(KateDBSService kateDBSService, Map<String, KateDBS> oldKateDBSMap, String uploadUser) { public UploadDbsListener(KateDBSService kateDBSService, Map<String, KateDBS> oldKateDBSMap, String uploadUser) {
this.kateDBSService = kateDBSService; this.kateDBSService = kateDBSService;
this.oldKateDBSMap = oldKateDBSMap; this.oldKateDBSMap = oldKateDBSMap;
this.uploadUser = uploadUser; this.uploadUser = uploadUser;
// 获取最大序列号
maxSequence = oldKateDBSMap.values().stream().mapToInt(KateDBS::getWorkSequence).max().orElse(0);
} }
@Override @Override
@ -93,18 +96,20 @@ public class UploadDbsListener implements ReadListener<KateDbsExcelVo> {
if (oldKateDBSMap.containsKey(kateDbsExcelVo.getWorkOrder())) { if (oldKateDBSMap.containsKey(kateDbsExcelVo.getWorkOrder())) {
// 之前有 // 之前有
KateDBS oldKateDbs = oldKateDBSMap.get(kateDbsExcelVo.getWorkOrder()); KateDBS oldKateDbs = oldKateDBSMap.get(kateDbsExcelVo.getWorkOrder());
oldKateDbs.setWorkSequence(kateDbsExcelVo.getWorkSequence()); if (oldKateDbs.getDbsStatus() == 0) {
oldKateDbs.setMachineNo(kateDbsExcelVo.getMachineNo()); oldKateDbs.setWorkSequence(maxSequence + kateDbsExcelVo.getWorkSequence());
oldKateDbs.setPlanStartDate(kateDbsExcelVo.getPlanStartDate()); oldKateDbs.setMachineNo(kateDbsExcelVo.getMachineNo());
oldKateDbs.setLastUpdateTime(LocalDateTime.now()); oldKateDbs.setPlanStartDate(kateDbsExcelVo.getPlanStartDate());
oldKateDbs.setLastUpdateUser(uploadUser); oldKateDbs.setLastUpdateTime(LocalDateTime.now());
// 替换 oldKateDbs.setLastUpdateUser(uploadUser);
newKateDBSMap.put(kateDbsExcelVo.getWorkOrder(), oldKateDbs); // 替换
newKateDBSMap.put(kateDbsExcelVo.getWorkOrder(), oldKateDbs);
}
} else { } else {
// 之前没有 // 之前没有
KateDBS newKateDbs = new KateDBS(); KateDBS newKateDbs = new KateDBS();
newKateDbs.setDbsId(generateId("DBS_")); newKateDbs.setDbsId(generateId("DBS_"));
newKateDbs.setWorkSequence(kateDbsExcelVo.getWorkSequence()); newKateDbs.setWorkSequence(maxSequence + kateDbsExcelVo.getWorkSequence());
newKateDbs.setMachineNo(kateDbsExcelVo.getMachineNo()); newKateDbs.setMachineNo(kateDbsExcelVo.getMachineNo());
newKateDbs.setWorkOrder(kateDbsExcelVo.getWorkOrder()); newKateDbs.setWorkOrder(kateDbsExcelVo.getWorkOrder());
newKateDbs.setPlanStartDate(kateDbsExcelVo.getPlanStartDate()); newKateDbs.setPlanStartDate(kateDbsExcelVo.getPlanStartDate());