From cbe83089c3d3044a13bc38c7c4d94207fd22a741 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 19 三月 2025 19:56:51 +0800 Subject: [PATCH] #新增 1. ASN历史档逻辑处理 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java | 29 +++++++++++++++++++++++++---- 1 files changed, 25 insertions(+), 4 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java index 22980b3..d52fd62 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java @@ -1,6 +1,7 @@ package com.vincent.rsf.server.manager.service.impl; import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; @@ -11,6 +12,7 @@ import com.vincent.rsf.server.manager.entity.WarehouseAreas; import com.vincent.rsf.server.manager.mapper.LocMapper; import com.vincent.rsf.server.manager.entity.Loc; +import com.vincent.rsf.server.manager.mapper.LocTypeRelaMapper; import com.vincent.rsf.server.manager.service.LocService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vincent.rsf.server.manager.service.LocTypeRelaService; @@ -34,6 +36,9 @@ @Autowired private LocTypeRelaService locTypeRelaService; + + @Autowired + private LocTypeRelaMapper locTypeRelaMapper; @Override public R modifyLocs(LocModifyParams locs) { @@ -102,19 +107,35 @@ } @Override - @Transactional(rollbackFor = Exception.class) public boolean saveType(Loc loc) { + List<LocTypeRela> relas = new ArrayList<>(); - List<Long> lists = JSONArray.parseArray(loc.getTypeIds(), Long.class); - lists.forEach(id -> { + loc.getTypeIds().forEach(id -> { LocTypeRela typeRela = new LocTypeRela(); typeRela.setTypeId(id) .setLocId(loc.getId()); relas.add(typeRela); }); - if (!locTypeRelaService.saveBatch(relas)) { + if (!locTypeRelaService.saveOrUpdateBatch(relas)) { throw new CoolException("搴撲綅鍏宠仈鍏崇郴淇濆瓨鎴愬姛锛侊紒"); } return true; } + + @Override + public boolean updateLoc(Loc loc) { + locTypeRelaMapper.delete(new LambdaQueryWrapper<LocTypeRela>().eq(LocTypeRela::getLocId, loc.getId())); + + List<LocTypeRela> relas = new ArrayList<>(); + loc.getTypeIds().forEach(id -> { + LocTypeRela typeRela = new LocTypeRela(); + typeRela.setTypeId(id) + .setLocId(loc.getId()); + relas.add(typeRela); + }); + if (!locTypeRelaService.saveOrUpdateBatch(relas)) { + throw new CoolException("搴撲綅鍏宠仈鍏崇郴淇濆瓨鎴愬姛锛侊紒"); + } + return false; + } } -- Gitblit v1.9.1