From cdc20511c7b0f7c4a7855acac0e4a760ffae904f Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Wed, 23 Oct 2024 15:27:58 +0800 Subject: [PATCH] =?UTF-8?q?add:1.=E5=A2=9E=E5=8A=A0=E7=82=B9=E4=BD=8D?= =?UTF-8?q?=E4=B8=80=E9=94=AE=E8=A7=A3=E9=94=81=E5=8A=9F=E8=83=BD=EF=BC=9B?= =?UTF-8?q?=20=20=20=20=202.=E5=A2=9E=E5=8A=A0=E7=BB=84=E7=9B=98=E8=A7=A3?= =?UTF-8?q?=E7=BB=91=E3=80=81=E9=87=8D=E6=96=B0=E7=BB=91=E5=AE=9A=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...chBaseVehiclematerialgroupServiceImpl.java | 31 ++++++++-- .../controller/SchBasePointController.java | 9 +++ .../point/service/ISchBasePointService.java | 7 +++ .../service/impl/SchBasePointServiceImpl.java | 61 ++++++++++++++++--- 4 files changed, 95 insertions(+), 13 deletions(-) diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java index e22ec65..1b3a5d2 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java @@ -1,29 +1,32 @@ package org.nl.wms.sch.group.service.impl; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.lang.Assert; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.nl.common.domain.query.PageQuery; -import org.nl.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService; -import org.nl.wms.sch.group.service.dao.mapper.SchBaseVehiclematerialgroupMapper; import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup; +import org.nl.wms.sch.group.service.dao.mapper.SchBaseVehiclematerialgroupMapper; import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery; import org.nl.wms.sch.point.service.ISchBasePointService; +import org.nl.wms.sch.point.service.dao.SchBasePoint; +import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum; +import org.nl.wms.sch.task_manage.enums.PointStatusEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; -import java.util.Map; import java.util.Set; /** @@ -41,6 +44,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl queryAll(SchBaseVehiclematerialgroupQuery whereJson, PageQuery page){ IPage pages = new Page<>(page.getPage() + 1, page.getSize()); @@ -53,8 +57,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl schBasePointList = pointService.list(new LambdaQueryWrapper().eq(SchBasePoint::getVehicle_code, entity.getVehicle_code()).orderByDesc(SchBasePoint::getCreate_time)); + if (ObjectUtil.isNotEmpty(schBasePointList)) { + if (StringUtils.isNotBlank(schBasePointList.get(0).getVehicle_code())) { + if (entity.getGroup_bind_material_status().equals(GroupBindMaterialStatusEnum.UNBOUND.getValue())) { + //解绑 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper().eq(SchBasePoint::getVehicle_code, schBasePointList.get(0).getVehicle_code()); + updateWrapper.set(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode()); + updateWrapper.set(SchBasePoint::getVehicle_qty, null); + updateWrapper.set(SchBasePoint::getVehicle_type, null); + updateWrapper.set(SchBasePoint::getVehicle_code, null); + pointService.update(updateWrapper); + } + } + } } + @Override public void deleteAll(Set ids) { // 真删除 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/controller/SchBasePointController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/controller/SchBasePointController.java index 041e1e2..f38d78f 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/controller/SchBasePointController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/controller/SchBasePointController.java @@ -65,6 +65,15 @@ public class SchBasePointController { return new ResponseEntity<>(HttpStatus.OK); } + @Log("解锁点位") + @PostMapping("/unlockPoint") + @ApiOperation("解锁点位") + public ResponseEntity unlockPoint(@RequestBody JSONObject jsonObject) { + schBasePointService.unlockPoint(jsonObject); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("启动与禁用") @PostMapping("/changeUsed") @ApiOperation("启动与禁用") diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/ISchBasePointService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/ISchBasePointService.java index 40cd21a..4ad7f7e 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/ISchBasePointService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/ISchBasePointService.java @@ -49,6 +49,13 @@ public interface ISchBasePointService extends IService { */ void changeUsed(JSONObject jsonObject); + /** + * 解锁点位 + * @param jsonObject + */ + void unlockPoint(JSONObject jsonObject); + + /** * 获取点位 * @param region diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java index fe788e5..c53c85c 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java @@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -15,17 +16,21 @@ import lombok.extern.slf4j.Slf4j; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; -import org.nl.system.service.dict.dao.Dict; +import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup; +import org.nl.wms.sch.group.service.impl.SchBaseVehiclematerialgroupServiceImpl; import org.nl.wms.sch.point.service.ISchBasePointService; import org.nl.wms.sch.point.service.dao.SchBasePoint; import org.nl.wms.sch.point.service.dao.mapper.SchBasePointMapper; import org.nl.wms.sch.region.service.dao.SchBaseRegion; import org.nl.wms.sch.region.service.dao.mapper.SchBaseRegionMapper; +import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum; import org.nl.wms.sch.task_manage.enums.PointStatusEnum; import org.nl.wms.util.PointUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -33,10 +38,10 @@ import java.util.Set; import java.util.stream.Collectors; /** -* @description 服务实现 -* @author lyd -* @date 2023-05-15 -**/ + * @author lyd + * @description 服务实现 + * @date 2023-05-15 + **/ @Slf4j @Service public class SchBasePointServiceImpl extends ServiceImpl implements ISchBasePointService { @@ -47,8 +52,11 @@ public class SchBasePointServiceImpl extends ServiceImpl queryAll(Map whereJson, PageQuery page){ + public IPage queryAll(Map whereJson, PageQuery page) { String blurry = ObjectUtil.isNotEmpty(whereJson.get("blurry")) ? whereJson.get("blurry").toString() : null; String workshop_code = ObjectUtil.isNotEmpty(whereJson.get("workshop_code")) ? whereJson.get("workshop_code").toString() : null; String region_code = ObjectUtil.isNotEmpty(whereJson.get("region_code")) ? whereJson.get("region_code").toString() : null; @@ -178,12 +186,51 @@ public class SchBasePointServiceImpl extends ServiceImpl schBasePoints = JSONArray.parseArray(JSONArray.toJSONString(data), SchBasePoint.class); + // 获取所有组盘标识 + List vehicleCodes = schBasePoints.stream() + .map(SchBasePoint::getVehicle_code) + .collect(Collectors.toList()); + List groupList = groupServiceImpl.list(new LambdaQueryWrapper().in(SchBaseVehiclematerialgroup::getVehicle_code, vehicleCodes)); + if (ObjectUtil.isNotEmpty(groupList)) { + List groupIds = groupList.stream().filter(r -> !r.getGroup_bind_material_status().equals(GroupBindMaterialStatusEnum.UNBOUND.getValue())) + .map(SchBaseVehiclematerialgroup::getGroup_id) + .collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(groupIds)) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper().in(SchBaseVehiclematerialgroup::getGroup_id, groupIds); + updateWrapper.set(SchBaseVehiclematerialgroup::getGroup_bind_material_status, GroupBindMaterialStatusEnum.UNBOUND.getValue()); + groupServiceImpl.update(updateWrapper); + } + } + // 获取所有pointCode + List pointCodes = schBasePoints.stream() + .map(SchBasePoint::getPoint_code) + .collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(pointCodes)) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper().in(SchBasePoint::getPoint_code, pointCodes); + updateWrapper.set(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode()); + updateWrapper.set(SchBasePoint::getVehicle_qty, null); + updateWrapper.set(SchBasePoint::getVehicle_type, null); + updateWrapper.set(SchBasePoint::getVehicle_code, null); + this.update(updateWrapper); + } + } + + @Override public List getPointList(SchBasePoint region) { if (ObjectUtil.isEmpty(region)) return this.list(); return pointMapper.selectList(new LambdaQueryWrapper() .eq(SchBasePoint::getRegion_code, region.getRegion_code()) - .eq(ObjectUtil.isNotEmpty(region.getPoint_type()),SchBasePoint::getPoint_type, region.getPoint_type()) + .eq(ObjectUtil.isNotEmpty(region.getPoint_type()), SchBasePoint::getPoint_type, region.getPoint_type()) .orderByAsc(SchBasePoint::getPoint_code)); }