no message

main
暴炳林 2024-10-18 15:17:56 +08:00
parent 47deab07bc
commit 28286abf32
10 changed files with 134 additions and 29 deletions

View File

@ -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));
}

View File

@ -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<Point> 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<Point> 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));
}
}

View File

@ -35,6 +35,8 @@ public interface PointRepository extends JpaRepository<Point, Long>, JpaSpecific
public List<Point> 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<Point> findByAll();
/*@Query(value = "SELECT p.* FROM base_point p WHERE p.code=?1", nativeQuery = true)
List<Point> findByCodes(String code);*/
}

View File

@ -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<Object> getPointList(@RequestBody(required = false) String type) {
return new ResponseEntity<>(pointService.getPointList(type), HttpStatus.OK);
public ResponseEntity<Object> getPointList(@RequestBody(required = false) String data) {
System.out.println(data);
Pageable pageable=Pageable.ofSize(10);
PointQueryCriteria criteria=new PointQueryCriteria();
criteria.setCode(data);
Page<Point> page = pointRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
List<PointDto> pointDto = pointMapper.toDto(page.getContent());
return new ResponseEntity<>(pointDto, HttpStatus.OK);
}
@GetMapping(value = "/queryPointList")

View File

@ -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<Object> queryWorkPoint(WorkPointQueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(workPointService.queryAll(criteria,pageable),HttpStatus.OK);
Map<String,Object> 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<Object> 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<Object> updateWorkPoint(@Validated @RequestBody WorkPoint resources){
workPointService.update(resources);
// workPointRepository.save(resources);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}

View File

@ -59,6 +59,8 @@ public class PointDto implements Serializable {
/** 仓库ID */
private DeptSmallDto dept;
private WorkPointSmallDto workPointDown;
private WorkPointSmallDto workPointUp;
/** 容器 */
private Stock stock;

View File

@ -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<PointDto> upPoint;
/** 下料接驳口数 */
private Integer downNumber;
/** 下料接驳口 */
private Point downPoint;
private List<PointDto> downPoint;
/** 接驳口车辆数 */
private Integer agvNumber;

View File

@ -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;
}

View File

@ -61,7 +61,7 @@ public class PointServiceImpl implements PointService {
@Override
public List<PointDto> getPointList(String type) {
List<Point> pointList = null;
List<Point> 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);
}

View File

@ -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<String,Object> queryAll(WorkPointQueryCriteria criteria, Pageable pageable){
Page<WorkPoint> page = workPointRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
return PageUtil.toPage(page.map(workPointMapper::toDto));
Map<String,Object> 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);
}
}