From 28286abf32489f7701c9ad764b846efc045020b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9A=B4=E7=82=B3=E6=9E=97?= <15237758276@163.com> Date: Fri, 18 Oct 2024 15:17:56 +0800 Subject: [PATCH] no message --- .../com/youchain/basicdata/domain/Point.java | 29 +++++++++-- .../youchain/basicdata/domain/WorkPoint.java | 26 +++++----- .../basicdata/repository/PointRepository.java | 2 + .../basicdata/rest/PointController.java | 20 ++++++- .../basicdata/rest/WorkPointController.java | 12 ++++- .../basicdata/service/dto/PointDto.java | 4 +- .../basicdata/service/dto/WorkPointDto.java | 5 +- .../service/dto/WorkPointSmallDto.java | 9 ++++ .../service/impl/PointServiceImpl.java | 4 +- .../service/impl/WorkPointServiceImpl.java | 52 +++++++++++++++++-- 10 files changed, 134 insertions(+), 29 deletions(-) create mode 100644 youchain-system/src/main/java/com/youchain/basicdata/service/dto/WorkPointSmallDto.java diff --git a/youchain-system/src/main/java/com/youchain/basicdata/domain/Point.java b/youchain-system/src/main/java/com/youchain/basicdata/domain/Point.java index edda992..9dc3b7d 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/domain/Point.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/domain/Point.java @@ -15,14 +15,17 @@ */ package com.youchain.basicdata.domain; +import com.fasterxml.jackson.annotation.JsonBackReference; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.youchain.base.BaseEntity; import com.youchain.modules.system.domain.Dept; -import lombok.Data; import cn.hutool.core.bean.BeanUtil; import io.swagger.annotations.ApiModelProperty; import cn.hutool.core.bean.copier.CopyOptions; +import lombok.Getter; +import lombok.Setter; + import javax.persistence.*; -import java.sql.Timestamp; import java.io.Serializable; /** @@ -32,7 +35,8 @@ import java.io.Serializable; * @date 2023-07-26 **/ @Entity -@Data +@Getter +@Setter @Table(name="base_point") public class Point extends BaseEntity implements Serializable { @@ -122,7 +126,24 @@ public class Point extends BaseEntity implements Serializable { @OneToOne @JoinColumn(name = "`stock_id`") @ApiModelProperty(value = "容器") - private Stock stock; + private Stock stock; + // @OneToOne +// @JoinColumn(name = "point_id") +// @ApiModelProperty(value = "暂存库位") +// private Point point; + /** 下料*/ + @JsonIgnore + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "work_point_down_id") + @ApiModelProperty(value = "工作站下料口", hidden = true) + private WorkPoint workPointDown; + /** 上料*/ + @JsonIgnore + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "work_point_up_id") + @ApiModelProperty(value = "工作站上料口", hidden = true) + private WorkPoint workPointUp; + public void copy(Point source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); } diff --git a/youchain-system/src/main/java/com/youchain/basicdata/domain/WorkPoint.java b/youchain-system/src/main/java/com/youchain/basicdata/domain/WorkPoint.java index 7d9b329..41cd87c 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/domain/WorkPoint.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/domain/WorkPoint.java @@ -15,16 +15,20 @@ */ package com.youchain.basicdata.domain; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonManagedReference; import com.youchain.base.BaseEntity; import com.youchain.modules.system.domain.Dept; -import lombok.Data; +import lombok.*; import cn.hutool.core.bean.BeanUtil; import io.swagger.annotations.ApiModelProperty; import cn.hutool.core.bean.copier.CopyOptions; + import javax.persistence.*; import javax.validation.constraints.*; -import java.sql.Timestamp; import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; /** * @website https://eladmin.vip @@ -33,7 +37,8 @@ import java.io.Serializable; * @date 2024-09-26 **/ @Entity -@Data +@Setter +@Getter @Table(name="base_work_point") public class WorkPoint extends BaseEntity implements Serializable { @@ -62,21 +67,15 @@ public class WorkPoint extends BaseEntity implements Serializable { @ApiModelProperty(value = "上料接驳口数") private Integer upNumber; - @OneToOne - @JoinColumn(name = "up_point_id",nullable = false) - @ApiModelProperty(value = "上料料接驳口") - @NotNull - private Point upPoint; + @OneToMany(mappedBy = "workPointUp") + private List upPoint = new ArrayList<>(); @Column(name = "`down_number`") @ApiModelProperty(value = "下料接驳口数") private Integer downNumber; - @OneToOne - @JoinColumn(name = "down_point_id",nullable = false) - @ApiModelProperty(value = "下料接驳口") - @NotNull - private Point downPoint; + @OneToMany(mappedBy = "workPointDown") + private List downPoint = new ArrayList<>();; @Column(name = "`agv_number`") @ApiModelProperty(value = "接驳口车辆数") private Integer agvNumber; @@ -109,4 +108,5 @@ public class WorkPoint extends BaseEntity implements Serializable { public void copy(WorkPoint source){ BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); } + } diff --git a/youchain-system/src/main/java/com/youchain/basicdata/repository/PointRepository.java b/youchain-system/src/main/java/com/youchain/basicdata/repository/PointRepository.java index 5445172..b9abbef 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/repository/PointRepository.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/repository/PointRepository.java @@ -35,6 +35,8 @@ public interface PointRepository extends JpaRepository, JpaSpecific public List getPointList(String type); @Query(value = "SELECT p.* FROM base_point p WHERE p.code=?1", nativeQuery = true) Point findByCode(String code); + @Query(value = "SELECT p FROM Point p", nativeQuery = false) + List findByAll(); /*@Query(value = "SELECT p.* FROM base_point p WHERE p.code=?1", nativeQuery = true) List findByCodes(String code);*/ } \ No newline at end of file diff --git a/youchain-system/src/main/java/com/youchain/basicdata/rest/PointController.java b/youchain-system/src/main/java/com/youchain/basicdata/rest/PointController.java index cbd5de3..08ae995 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/rest/PointController.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/rest/PointController.java @@ -23,11 +23,16 @@ import com.youchain.annotation.AnonymousAccess; import com.youchain.annotation.Log; import com.youchain.basicdata.domain.Item; import com.youchain.basicdata.domain.Point; +import com.youchain.basicdata.domain.WorkPoint; import com.youchain.basicdata.repository.ItemRepository; +import com.youchain.basicdata.repository.PointRepository; import com.youchain.basicdata.service.AreaService; import com.youchain.basicdata.service.PointService; import com.youchain.basicdata.service.dto.PointDto; import com.youchain.basicdata.service.dto.PointQueryCriteria; +import com.youchain.basicdata.service.dto.WorkPointDto; +import com.youchain.basicdata.service.mapstruct.PointMapper; +import com.youchain.basicdata.service.mapstruct.WorkPointMapper; import com.youchain.businessdata.service.InventoryService; import com.youchain.businessdata.service.dto.InventoryDto; import com.youchain.businessdata.service.dto.InventoryQueryCriteria; @@ -35,8 +40,11 @@ import com.youchain.config.FileProperties; import com.youchain.exception.handler.ApiError; import com.youchain.modules.system.domain.Dept; import com.youchain.utils.FileUtil; +import com.youchain.utils.PageUtil; +import com.youchain.utils.QueryHelp; import com.youchain.utils.UserUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; @@ -67,8 +75,10 @@ import javax.servlet.http.HttpServletResponse; public class PointController { private final PointService pointService; + private final PointMapper pointMapper; private final AreaService areaService; + private final PointRepository pointRepository; private final FileProperties properties; private final ItemRepository itemRepository; @@ -156,8 +166,14 @@ public class PointController { @Log("加载point下拉框") @ApiOperation("加载point下拉框") @AnonymousAccess - public ResponseEntity getPointList(@RequestBody(required = false) String type) { - return new ResponseEntity<>(pointService.getPointList(type), HttpStatus.OK); + public ResponseEntity getPointList(@RequestBody(required = false) String data) { + System.out.println(data); + Pageable pageable=Pageable.ofSize(10); + PointQueryCriteria criteria=new PointQueryCriteria(); + criteria.setCode(data); + Page page = pointRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); + List pointDto = pointMapper.toDto(page.getContent()); + return new ResponseEntity<>(pointDto, HttpStatus.OK); } @GetMapping(value = "/queryPointList") diff --git a/youchain-system/src/main/java/com/youchain/basicdata/rest/WorkPointController.java b/youchain-system/src/main/java/com/youchain/basicdata/rest/WorkPointController.java index 3b398a1..aeae46d 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/rest/WorkPointController.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/rest/WorkPointController.java @@ -17,8 +17,10 @@ package com.youchain.basicdata.rest; import com.youchain.annotation.Log; import com.youchain.basicdata.domain.WorkPoint; +import com.youchain.basicdata.repository.WorkPointRepository; import com.youchain.basicdata.service.WorkPointService; import com.youchain.basicdata.service.dto.WorkPointQueryCriteria; +import com.youchain.exception.handler.ApiResult; import org.springframework.data.domain.Pageable; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; @@ -28,6 +30,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import io.swagger.annotations.*; import java.io.IOException; +import java.util.Map; import javax.servlet.http.HttpServletResponse; /** @@ -42,6 +45,7 @@ import javax.servlet.http.HttpServletResponse; public class WorkPointController { private final WorkPointService workPointService; + private final WorkPointRepository workPointRepository; @Log("导出数据") @ApiOperation("导出数据") @@ -56,7 +60,8 @@ public class WorkPointController { @ApiOperation("查询workPoint") @PreAuthorize("@el.check('workPoint:list')") public ResponseEntity queryWorkPoint(WorkPointQueryCriteria criteria, Pageable pageable){ - return new ResponseEntity<>(workPointService.queryAll(criteria,pageable),HttpStatus.OK); + Map map=workPointService.queryAll(criteria,pageable); + return new ResponseEntity<>(map,HttpStatus.OK); } @PostMapping @@ -64,7 +69,9 @@ public class WorkPointController { @ApiOperation("新增workPoint") @PreAuthorize("@el.check('workPoint:add')") public ResponseEntity createWorkPoint(@Validated @RequestBody WorkPoint resources){ - return new ResponseEntity<>(workPointService.create(resources),HttpStatus.CREATED); + workPointService.create(resources); + ApiResult apiResult=ApiResult.fail(200,"操作成功",null); + return new ResponseEntity<>(apiResult,HttpStatus.CREATED); } @PutMapping @@ -73,6 +80,7 @@ public class WorkPointController { @PreAuthorize("@el.check('workPoint:edit')") public ResponseEntity updateWorkPoint(@Validated @RequestBody WorkPoint resources){ workPointService.update(resources); +// workPointRepository.save(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/dto/PointDto.java b/youchain-system/src/main/java/com/youchain/basicdata/service/dto/PointDto.java index 6b7910d..cdebdee 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/dto/PointDto.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/dto/PointDto.java @@ -59,6 +59,8 @@ public class PointDto implements Serializable { /** 仓库ID */ private DeptSmallDto dept; + private WorkPointSmallDto workPointDown; + private WorkPointSmallDto workPointUp; /** 容器 */ private Stock stock; @@ -99,4 +101,4 @@ public class PointDto implements Serializable { /** 修改时间 */ private Timestamp updateTime; -} +} \ No newline at end of file diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/dto/WorkPointDto.java b/youchain-system/src/main/java/com/youchain/basicdata/service/dto/WorkPointDto.java index b69d157..074cb83 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/dto/WorkPointDto.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/dto/WorkPointDto.java @@ -21,6 +21,7 @@ import com.youchain.modules.system.domain.Dept; import lombok.Data; import java.sql.Timestamp; import java.io.Serializable; +import java.util.List; /** * @website https://eladmin.vip @@ -47,13 +48,13 @@ public class WorkPointDto implements Serializable { private Integer upNumber; /** 上料接驳口 */ - private Point upPoint; + private List upPoint; /** 下料接驳口数 */ private Integer downNumber; /** 下料接驳口 */ - private Point downPoint; + private List downPoint; /** 接驳口车辆数 */ private Integer agvNumber; diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/dto/WorkPointSmallDto.java b/youchain-system/src/main/java/com/youchain/basicdata/service/dto/WorkPointSmallDto.java new file mode 100644 index 0000000..1485b41 --- /dev/null +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/dto/WorkPointSmallDto.java @@ -0,0 +1,9 @@ +package com.youchain.basicdata.service.dto; + +import lombok.Data; + +import java.io.Serializable; +@Data +public class WorkPointSmallDto implements Serializable { + Long id; +} diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/PointServiceImpl.java b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/PointServiceImpl.java index a5ab2e8..1cb8b47 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/PointServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/PointServiceImpl.java @@ -61,7 +61,7 @@ public class PointServiceImpl implements PointService { @Override public List getPointList(String type) { - List pointList = null; + List pointList = new ArrayList<>(); // if (type.equals(null) || type.equals("1")) { // pointList = pointRepository.getPointList(BaseStatus.ZCKW); // } else @@ -74,7 +74,7 @@ public class PointServiceImpl implements PointService { } else if (type.equals("5")) {//ZZKW pointList = pointRepository.getPointList(BaseStatus.ZZKW); } else if (type.equals("0")) { - pointList=pointRepository.findAll(); + pointList=pointRepository.findByAll(); } return pointMapper.toDto(pointList); } diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/WorkPointServiceImpl.java b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/WorkPointServiceImpl.java index a9ded83..a434475 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/WorkPointServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/WorkPointServiceImpl.java @@ -15,7 +15,9 @@ */ package com.youchain.basicdata.service.impl; +import com.youchain.basicdata.domain.Point; import com.youchain.basicdata.domain.WorkPoint; +import com.youchain.basicdata.repository.PointRepository; import com.youchain.exception.EntityExistException; import com.youchain.utils.*; import lombok.RequiredArgsConstructor; @@ -46,12 +48,14 @@ import java.util.LinkedHashMap; public class WorkPointServiceImpl implements WorkPointService { private final WorkPointRepository workPointRepository; + private final PointRepository pointRepository; private final WorkPointMapper workPointMapper; @Override public Map queryAll(WorkPointQueryCriteria criteria, Pageable pageable){ Page page = workPointRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - return PageUtil.toPage(page.map(workPointMapper::toDto)); + Map map=PageUtil.toPage(page.map(workPointMapper::toDto)); + return map; } @Override @@ -74,11 +78,22 @@ public class WorkPointServiceImpl implements WorkPointService { throw new EntityExistException(WorkPoint.class,"code",resources.getCode()); } resources.setDept(UserUtils.getDept()); - return workPointMapper.toDto(workPointRepository.save(resources)); + WorkPoint workPoint = workPointRepository.save(resources); + /* 写入新上料点*/ + for (Point point:workPoint.getUpPoint()){ + point.setWorkPointUp(workPoint); + pointRepository.save(point); + } + /* 写入新下料点*/ + for (Point point:workPoint.getDownPoint()){ + point.setWorkPointDown(workPoint); + pointRepository.save(point); + } + return workPointMapper.toDto(workPoint); } @Override - @Transactional(rollbackFor = Exception.class) + @Transactional public void update(WorkPoint resources) { WorkPoint workPoint = workPointRepository.findById(resources.getId()).orElseGet(WorkPoint::new); ValidationUtil.isNull( workPoint.getId(),"WorkPoint","id",resources.getId()); @@ -87,13 +102,44 @@ public class WorkPointServiceImpl implements WorkPointService { if(workPoint1 != null && !workPoint1.getId().equals(workPoint.getId())){ throw new EntityExistException(WorkPoint.class,"code",resources.getCode()); } + /* 清空原下料点*/ + for (Point point:workPoint1.getDownPoint()){ + point.setWorkPointDown(null); + pointRepository.save(point); + } + /* 清空原上料点*/ + for (Point point:workPoint1.getUpPoint()){ + point.setWorkPointUp(null); + pointRepository.save(point); + } workPoint.copy(resources); workPointRepository.save(workPoint); + /* 写入新上料点*/ + for (Point point:workPoint.getUpPoint()){ + point.setWorkPointUp(workPoint); + pointRepository.save(point); + } + /* 写入新下料点*/ + for (Point point:workPoint.getDownPoint()){ + point.setWorkPointDown(workPoint); + pointRepository.save(point); + } } @Override public void deleteAll(Long[] ids) { for (Long id : ids) { + WorkPoint workPoint=workPointRepository.getById(id); + /* 清空原下料点*/ + for (Point point:workPoint.getDownPoint()){ + point.setWorkPointDown(null); + pointRepository.save(point); + } + /* 清空原上料点*/ + for (Point point:workPoint.getUpPoint()){ + point.setWorkPointUp(null); + pointRepository.save(point); + } workPointRepository.deleteById(id); } }