add:1.增加点位一键解锁功能;
2.增加组盘解绑、重新绑定功能;
This commit is contained in:
@@ -1,29 +1,32 @@
|
|||||||
package org.nl.wms.sch.group.service.impl;
|
package org.nl.wms.sch.group.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.nl.common.domain.query.PageQuery;
|
import org.nl.common.domain.query.PageQuery;
|
||||||
import org.nl.common.exception.BadRequestException;
|
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
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.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.group.service.dto.SchBaseVehiclematerialgroupQuery;
|
||||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -41,6 +44,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISchBasePointService pointService;
|
private ISchBasePointService pointService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<SchBaseVehiclematerialgroup> queryAll(SchBaseVehiclematerialgroupQuery whereJson, PageQuery page){
|
public IPage<SchBaseVehiclematerialgroup> queryAll(SchBaseVehiclematerialgroupQuery whereJson, PageQuery page){
|
||||||
IPage<SchBaseVehiclematerialgroup> pages = new Page<>(page.getPage() + 1, page.getSize());
|
IPage<SchBaseVehiclematerialgroup> pages = new Page<>(page.getPage() + 1, page.getSize());
|
||||||
@@ -53,8 +57,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||||
String nickName = SecurityUtils.getCurrentNickName();
|
String nickName = SecurityUtils.getCurrentNickName();
|
||||||
String now = DateUtil.now();
|
String now = DateUtil.now();
|
||||||
if(StringUtils.isNotBlank(entity.getPoint_code()))
|
if (StringUtils.isNotBlank(entity.getPoint_code())) {
|
||||||
{
|
|
||||||
entity.setRegion_code(pointService.getById(entity.getPoint_code()).getRegion_code());
|
entity.setRegion_code(pointService.getById(entity.getPoint_code()).getRegion_code());
|
||||||
}
|
}
|
||||||
entity.setGroup_id(IdUtil.getSnowflake(1,1).nextIdStr());
|
entity.setGroup_id(IdUtil.getSnowflake(1,1).nextIdStr());
|
||||||
@@ -68,6 +71,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void update(SchBaseVehiclematerialgroup entity) {
|
public void update(SchBaseVehiclematerialgroup entity) {
|
||||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||||
String nickName = SecurityUtils.getCurrentNickName();
|
String nickName = SecurityUtils.getCurrentNickName();
|
||||||
@@ -76,8 +80,23 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
entity.setUpdate_name(nickName);
|
entity.setUpdate_name(nickName);
|
||||||
entity.setUpdate_time(now);
|
entity.setUpdate_time(now);
|
||||||
vehiclematerialgroupMapper.updateById(entity);
|
vehiclematerialgroupMapper.updateById(entity);
|
||||||
|
List<SchBasePoint> schBasePointList = pointService.list(new LambdaQueryWrapper<SchBasePoint>().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<SchBasePoint> updateWrapper = new LambdaUpdateWrapper<SchBasePoint>().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
|
@Override
|
||||||
public void deleteAll(Set<String> ids) {
|
public void deleteAll(Set<String> ids) {
|
||||||
// 真删除
|
// 真删除
|
||||||
|
|||||||
@@ -65,6 +65,15 @@ public class SchBasePointController {
|
|||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Log("解锁点位")
|
||||||
|
@PostMapping("/unlockPoint")
|
||||||
|
@ApiOperation("解锁点位")
|
||||||
|
public ResponseEntity<Object> unlockPoint(@RequestBody JSONObject jsonObject) {
|
||||||
|
schBasePointService.unlockPoint(jsonObject);
|
||||||
|
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Log("启动与禁用")
|
@Log("启动与禁用")
|
||||||
@PostMapping("/changeUsed")
|
@PostMapping("/changeUsed")
|
||||||
@ApiOperation("启动与禁用")
|
@ApiOperation("启动与禁用")
|
||||||
|
|||||||
@@ -49,6 +49,13 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
|||||||
*/
|
*/
|
||||||
void changeUsed(JSONObject jsonObject);
|
void changeUsed(JSONObject jsonObject);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 解锁点位
|
||||||
|
* @param jsonObject
|
||||||
|
*/
|
||||||
|
void unlockPoint(JSONObject jsonObject);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取点位
|
* 获取点位
|
||||||
* @param region
|
* @param region
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONArray;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.conditions.update.UpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
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.domain.query.PageQuery;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
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.ISchBasePointService;
|
||||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||||
import org.nl.wms.sch.point.service.dao.mapper.SchBasePointMapper;
|
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.SchBaseRegion;
|
||||||
import org.nl.wms.sch.region.service.dao.mapper.SchBaseRegionMapper;
|
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.sch.task_manage.enums.PointStatusEnum;
|
||||||
import org.nl.wms.util.PointUtils;
|
import org.nl.wms.util.PointUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -33,10 +38,10 @@ import java.util.Set;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 服务实现
|
* @author lyd
|
||||||
* @author lyd
|
* @description 服务实现
|
||||||
* @date 2023-05-15
|
* @date 2023-05-15
|
||||||
**/
|
**/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, SchBasePoint> implements ISchBasePointService {
|
public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, SchBasePoint> implements ISchBasePointService {
|
||||||
@@ -47,8 +52,11 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SchBaseRegionMapper regionMapper;
|
private SchBaseRegionMapper regionMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SchBaseVehiclematerialgroupServiceImpl groupServiceImpl;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<SchBasePoint> queryAll(Map whereJson, PageQuery page){
|
public IPage<SchBasePoint> queryAll(Map whereJson, PageQuery page) {
|
||||||
String blurry = ObjectUtil.isNotEmpty(whereJson.get("blurry")) ? whereJson.get("blurry").toString() : null;
|
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 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;
|
String region_code = ObjectUtil.isNotEmpty(whereJson.get("region_code")) ? whereJson.get("region_code").toString() : null;
|
||||||
@@ -178,12 +186,51 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
|||||||
pointMapper.batchChangeUsed(pointCodes, used);
|
pointMapper.batchChangeUsed(pointCodes, used);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void unlockPoint(JSONObject jsonObject) {
|
||||||
|
// 不可能为空
|
||||||
|
JSONArray data = jsonObject.getJSONArray("data");
|
||||||
|
Boolean used = jsonObject.getBoolean("used");
|
||||||
|
Assert.notNull(data, "数据为空!");
|
||||||
|
Assert.notNull(used, "数据为空!");
|
||||||
|
List<SchBasePoint> schBasePoints = JSONArray.parseArray(JSONArray.toJSONString(data), SchBasePoint.class);
|
||||||
|
// 获取所有组盘标识
|
||||||
|
List<String> vehicleCodes = schBasePoints.stream()
|
||||||
|
.map(SchBasePoint::getVehicle_code)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
List<SchBaseVehiclematerialgroup> groupList = groupServiceImpl.list(new LambdaQueryWrapper<SchBaseVehiclematerialgroup>().in(SchBaseVehiclematerialgroup::getVehicle_code, vehicleCodes));
|
||||||
|
if (ObjectUtil.isNotEmpty(groupList)) {
|
||||||
|
List<String> 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<SchBaseVehiclematerialgroup> updateWrapper = new LambdaUpdateWrapper<SchBaseVehiclematerialgroup>().in(SchBaseVehiclematerialgroup::getGroup_id, groupIds);
|
||||||
|
updateWrapper.set(SchBaseVehiclematerialgroup::getGroup_bind_material_status, GroupBindMaterialStatusEnum.UNBOUND.getValue());
|
||||||
|
groupServiceImpl.update(updateWrapper);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 获取所有pointCode
|
||||||
|
List<String> pointCodes = schBasePoints.stream()
|
||||||
|
.map(SchBasePoint::getPoint_code)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (ObjectUtil.isNotEmpty(pointCodes)) {
|
||||||
|
LambdaUpdateWrapper<SchBasePoint> updateWrapper = new LambdaUpdateWrapper<SchBasePoint>().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
|
@Override
|
||||||
public List<SchBasePoint> getPointList(SchBasePoint region) {
|
public List<SchBasePoint> getPointList(SchBasePoint region) {
|
||||||
if (ObjectUtil.isEmpty(region)) return this.list();
|
if (ObjectUtil.isEmpty(region)) return this.list();
|
||||||
return pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>()
|
return pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>()
|
||||||
.eq(SchBasePoint::getRegion_code, region.getRegion_code())
|
.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));
|
.orderByAsc(SchBasePoint::getPoint_code));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user