no message

main
HUOJIN\92525 2024-07-16 10:40:06 +08:00
parent 39f401c032
commit 76040e56a0
24 changed files with 49 additions and 257 deletions

View File

@ -5,22 +5,15 @@ import com.youchain.annotation.Log;
import com.youchain.appupdate.ReturnJson.ReturnTaskVo;
import com.youchain.appupdate.inputJson.*;
import com.youchain.basicdata.service.StockService;
import com.youchain.businessdata.service.TaskService;
import com.youchain.exception.handler.ApiResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Set;
import static org.springframework.http.HttpStatus.BAD_REQUEST;
import static org.springframework.http.HttpStatus.OK;
@RestController
@RequiredArgsConstructor

View File

@ -10,7 +10,6 @@ import com.youchain.businessdata.service.impl.AsnDetailServiceImpl;
import com.youchain.businessdata.service.impl.InventoryServiceImpl;
import com.youchain.businessdata.service.impl.PickDetailServiceImpl;
import com.youchain.businessdata.service.impl.TaskServiceImpl;
import com.youchain.utils.AreaNameDic;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;

View File

@ -29,7 +29,6 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
/**

View File

@ -20,8 +20,6 @@ import com.youchain.basicdata.domain.Area;
import com.youchain.basicdata.service.AreaService;
import com.youchain.basicdata.service.dto.AreaDto;
import com.youchain.basicdata.service.dto.AreaQueryCriteria;
import com.youchain.basicdata.service.dto.ItemDto;
import com.youchain.basicdata.service.dto.ItemQueryCriteria;
import com.youchain.utils.UserUtils;
import org.springframework.data.domain.Pageable;
import lombok.RequiredArgsConstructor;

View File

@ -19,8 +19,6 @@ import com.youchain.annotation.Log;
import com.youchain.basicdata.domain.Box;
import com.youchain.basicdata.service.BoxService;
import com.youchain.basicdata.service.dto.BoxQueryCriteria;
import com.youchain.exception.handler.ApiError;
import com.youchain.utils.CodeUtils;
import com.youchain.utils.UserUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.domain.Pageable;
@ -33,7 +31,6 @@ import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import static org.springframework.http.HttpStatus.BAD_REQUEST;
import static org.springframework.http.HttpStatus.OK;
/**

View File

@ -19,7 +19,6 @@ import com.youchain.annotation.Log;
import com.youchain.basicdata.domain.CarReg;
import com.youchain.basicdata.service.CarRegService;
import com.youchain.basicdata.service.dto.CarRegQueryCriteria;
import com.youchain.utils.UserUtils;
import org.springframework.data.domain.Pageable;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;

View File

@ -15,31 +15,12 @@
*/
package com.youchain.basicdata.rest;
import cn.hutool.poi.excel.BigExcelWriter;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import com.youchain.annotation.AnonymousAccess;
import com.youchain.annotation.Log;
import com.youchain.basicdata.domain.Area;
import com.youchain.basicdata.domain.Item;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.domain.StockType;
import com.youchain.basicdata.service.ItemService;
import com.youchain.basicdata.service.StockTypeService;
import com.youchain.basicdata.service.dto.ItemDto;
import com.youchain.basicdata.service.dto.ItemQueryCriteria;
import com.youchain.basicdata.service.dto.StockTypeQueryCriteria;
import com.youchain.config.FileProperties;
import com.youchain.config.thread.ThreadPoolExecutorUtil;
import com.youchain.exception.handler.ApiError;
import com.youchain.exception.handler.ApiResult;
import com.youchain.modules.system.domain.Dept;
import com.youchain.modules.system.domain.DictDetail;
import com.youchain.modules.system.service.DictDetailService;
import com.youchain.modules.system.service.DictService;
import com.youchain.modules.system.service.dto.DictDetailDto;
import com.youchain.modules.system.service.dto.DictDto;
import com.youchain.modules.system.service.dto.DictQueryCriteria;
import com.youchain.utils.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.domain.Pageable;
@ -51,18 +32,9 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import javax.servlet.http.HttpServletResponse;
import javax.transaction.Transactional;
import static org.springframework.http.HttpStatus.BAD_REQUEST;
import static org.springframework.http.HttpStatus.OK;
/**
* @author houjianlan

View File

@ -16,7 +16,6 @@
package com.youchain.basicdata.service.impl;
import com.youchain.basicdata.domain.Area;
import com.youchain.basicdata.domain.Item;
import com.youchain.utils.FileUtil;
import com.youchain.utils.PageUtil;
import com.youchain.utils.QueryHelp;

View File

@ -15,26 +15,9 @@
*/
package com.youchain.basicdata.service.impl;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.youchain.Netty.NettyUtils;
import com.youchain.basicdata.domain.Box;
import com.youchain.basicdata.domain.Item;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.domain.Stock;
import com.youchain.basicdata.service.ItemService;
import com.youchain.basicdata.service.PointService;
import com.youchain.basicdata.service.StockService;
import com.youchain.basicdata.service.dto.ItemDto;
import com.youchain.basicdata.service.dto.PointDto;
import com.youchain.businessdata.domain.*;
import com.youchain.businessdata.service.*;
import com.youchain.exception.handler.ApiResult;
import com.youchain.modules.system.repository.DictRepository;
import com.youchain.modules.system.service.DictService;
import com.youchain.modules.system.service.dto.DictDto;
import com.youchain.modules.system.service.dto.DictQueryCriteria;
import com.youchain.utils.*;
import lombok.RequiredArgsConstructor;
import com.youchain.basicdata.repository.BoxRepository;
@ -43,21 +26,17 @@ import com.youchain.basicdata.service.dto.BoxDto;
import com.youchain.basicdata.service.dto.BoxQueryCriteria;
import com.youchain.basicdata.service.mapstruct.BoxMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.sql.Timestamp;
import java.util.*;
import java.io.IOException;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.servlet.http.HttpServletResponse;
import static org.springframework.http.HttpStatus.BAD_REQUEST;
/**
* @author huojin
@ -73,19 +52,7 @@ public class BoxServiceImpl implements BoxService {
private final BoxRepository boxRepository;
private final BoxMapper boxMapper;
private final EntityManager entityManager;
private final PointService pointService;
private final StockService stockService;
private final ItemService itemService;
private final AsnDetailService asnDetailService;
private final ItemKeyService itemKeyService;
private final AgvTaskService agvTaskService;
private final TaskService taskService;
private final InventoryService inventoryService;
private final PickDetailService pickDetailService;
private final DictRepository dictRepository;
private final RedisUtils redisUtils;
private final DictService dictService;
@Override
public Map<String, Object> queryAll(BoxQueryCriteria criteria, Pageable pageable) {
Page<Box> page = boxRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);

View File

@ -17,10 +17,7 @@ package com.youchain.basicdata.service.impl;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import com.youchain.basicdata.domain.Area;
import com.youchain.basicdata.domain.Item;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.service.dto.ItemSmallDto;
import com.youchain.config.FileProperties;
import com.youchain.config.thread.ThreadPoolExecutorUtil;
import com.youchain.modules.system.domain.Dept;

View File

@ -16,7 +16,6 @@
package com.youchain.businessdata.rest;
import com.youchain.annotation.Log;
import com.youchain.basicdata.domain.Point;
import com.youchain.businessdata.domain.*;
import com.youchain.businessdata.service.CountDetailService;
import com.youchain.businessdata.service.CountPlanService;
@ -24,8 +23,6 @@ import com.youchain.businessdata.service.CountRecordService;
import com.youchain.businessdata.service.InventoryService;
import com.youchain.businessdata.service.dto.CountDetailQueryCriteria;
import com.youchain.exception.handler.ApiError;
import com.youchain.exception.handler.ApiResult;
import com.youchain.utils.BaseStatus;
import com.youchain.utils.BizStatus;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.domain.Pageable;

View File

@ -21,7 +21,6 @@ import com.youchain.businessdata.service.CountPlanService;
import com.youchain.businessdata.service.dto.CountPlanQueryCriteria;
import com.youchain.utils.BizStatus;
import com.youchain.utils.CodeUtils;
import com.youchain.utils.SecurityUtils;
import com.youchain.utils.UserUtils;
import org.springframework.data.domain.Pageable;
import lombok.RequiredArgsConstructor;

View File

@ -16,30 +16,19 @@
package com.youchain.businessdata.rest;
import com.youchain.annotation.Log;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.domain.Stock;
import com.youchain.businessdata.domain.CountDetail;
import com.youchain.businessdata.domain.CountRecord;
import com.youchain.businessdata.domain.Inventory;
import com.youchain.businessdata.domain.ItemKey;
import com.youchain.businessdata.service.CountRecordService;
import com.youchain.businessdata.service.dto.CountDetailQueryCriteria;
import com.youchain.businessdata.service.dto.CountRecordQueryCriteria;
import com.youchain.modules.system.domain.Dept;
import com.youchain.utils.BizStatus;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.domain.Pageable;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import java.io.IOException;
import java.util.List;
import javax.persistence.Query;
import javax.servlet.http.HttpServletResponse;
/**

View File

@ -15,17 +15,11 @@
*/
package com.youchain.businessdata.rest;
import com.alibaba.fastjson.JSON;
import com.youchain.annotation.Log;
import com.youchain.basicdata.domain.Item;
import com.youchain.businessdata.domain.ItemKey;
import com.youchain.businessdata.service.ItemKeyService;
import com.youchain.businessdata.service.dto.ItemKeyDto;
import com.youchain.businessdata.service.dto.ItemKeyQueryCriteria;
import com.youchain.businessdata.service.mapstruct.ItemKeyMapper;
import com.youchain.exception.handler.ApiError;
import com.youchain.modules.system.domain.Dept;
import com.youchain.utils.UserUtils;
import org.springframework.data.domain.Pageable;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
@ -34,14 +28,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import java.beans.Transient;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import static org.springframework.http.HttpStatus.BAD_REQUEST;
/**
* @website https://eladmin.vip
* @author houjianlan

View File

@ -17,11 +17,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
import static org.springframework.http.HttpStatus.BAD_REQUEST;
import static org.springframework.http.HttpStatus.OK;

View File

@ -1,37 +1,22 @@
package com.youchain.businessdata.rest;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.youchain.annotation.AnonymousAccess;
import com.youchain.annotation.Log;
import com.youchain.appupdate.inputJson.ContainerIn;
import com.youchain.appupdate.inputJson.MissionStateCallback;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.domain.Stock;
import com.youchain.basicdata.service.PointService;
import com.youchain.businessdata.domain.AgvTask;
import com.youchain.businessdata.domain.Task;
import com.youchain.businessdata.service.AgvTaskService;
import com.youchain.businessdata.service.TaskService;
import com.youchain.businessdata.service.dto.AgvTaskDto;
import com.youchain.exception.handler.ApiResult;
import com.youchain.utils.BaseStatus;
import com.youchain.utils.BizStatus;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import static org.springframework.http.HttpStatus.BAD_REQUEST;
import static org.springframework.http.HttpStatus.OK;
@RestController

View File

@ -16,32 +16,18 @@
package com.youchain.businessdata.rest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.youchain.annotation.AnonymousAccess;
import com.youchain.annotation.Log;
import com.youchain.basicdata.domain.Box;
import com.youchain.basicdata.domain.Item;
import com.youchain.basicdata.service.ItemService;
import com.youchain.businessdata.ReturnJson.RPTaskList;
import com.youchain.businessdata.domain.Inventory;
import com.youchain.businessdata.domain.PickDetail;
import com.youchain.businessdata.domain.Task;
import com.youchain.businessdata.inputJson.IPPickDetail;
import com.youchain.businessdata.inputJson.IScanPut;
import com.youchain.businessdata.service.InventoryLogService;
import com.youchain.businessdata.service.PickDetailService;
import com.youchain.businessdata.service.TaskService;
import com.youchain.businessdata.service.dto.PickDetailDto;
import com.youchain.businessdata.service.dto.PickDetailQueryCriteria;
import com.youchain.businessdata.service.dto.TaskDto;
import com.youchain.businessdata.service.dto.TaskQueryCriteria;
import com.youchain.exception.handler.ApiError;
import com.youchain.exception.handler.ApiResult;
import com.youchain.utils.BizStatus;
import com.youchain.utils.HttpUtils;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.engine.spi.EntityEntryFactory;
import org.springframework.data.domain.Pageable;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
@ -52,12 +38,10 @@ import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import javax.transaction.Transactional;
import static org.springframework.http.HttpStatus.BAD_REQUEST;

View File

@ -132,7 +132,5 @@ public interface TaskService {
*/
void pickBarBack(long taskId, double pickedQuantity) throws Exception;
Task createTask(Item item, ItemKey itemKey, AsnDetail asnDetail, Stock stock, Point point);
List<Task> getAgvTaskList(Long agvTaskId);
}

View File

@ -18,9 +18,7 @@ package com.youchain.businessdata.service.impl;
import com.youchain.basicdata.domain.Item;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.domain.Stock;
import com.youchain.basicdata.repository.StockRepository;
import com.youchain.businessdata.domain.AsnDetail;
import com.youchain.businessdata.service.TaskService;
import com.youchain.modules.quartz.utils.TimeNumberUtils;
import com.youchain.utils.*;
import lombok.RequiredArgsConstructor;
@ -38,7 +36,6 @@ import java.sql.Timestamp;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import javax.persistence.EntityManager;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.LinkedHashMap;

View File

@ -15,9 +15,6 @@
*/
package com.youchain.businessdata.service.impl;
import com.youchain.basicdata.domain.BigItem;
import com.youchain.basicdata.domain.Item;
import com.youchain.businessdata.domain.Gd;
import com.youchain.businessdata.domain.GdDetail;
import com.youchain.modules.system.service.DeptService;
import com.youchain.utils.*;

View File

@ -15,8 +15,7 @@
*/
package com.youchain.businessdata.service.impl;
import cn.hutool.core.date.DateTime;
import com.alibaba.fastjson.JSON;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.domain.Stock;
import com.youchain.businessdata.domain.InventoryLog;
@ -34,7 +33,6 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.sql.Date;
import java.sql.Timestamp;
import java.util.*;
import java.io.IOException;

View File

@ -18,13 +18,12 @@ package com.youchain.businessdata.service.impl;
import com.youchain.basicdata.domain.Item;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.domain.Stock;
import com.youchain.basicdata.service.ItemService;
import com.youchain.basicdata.service.PointService;
import com.youchain.basicdata.repository.PointRepository;
import com.youchain.basicdata.service.dto.ItemDto;
import com.youchain.basicdata.service.mapstruct.ItemMapper;
import com.youchain.businessdata.domain.*;
import com.youchain.businessdata.repository.*;
import com.youchain.businessdata.service.InventoryService;
import com.youchain.businessdata.service.TaskService;
import com.youchain.businessdata.service.dto.InventoryDto;
import com.youchain.modules.quartz.utils.TimeNumberUtils;
import com.youchain.modules.system.domain.Dept;
@ -61,9 +60,8 @@ public class PickDetailServiceImpl implements PickDetailService {
private final InventoryService inventoryService;
private final TaskRepository taskRepository;
private final AgvTaskRepository agvTaskRepository;
private final TaskService taskService;
private final ItemService itemService;
private final PointService pointService;
private final ItemMapper itemMapper;
private final PointRepository pointRepository;
private final LogService logService;
private final EntityManager entityMapper;
private final PickDetailMapper pickDetailMapper;
@ -139,7 +137,7 @@ public class PickDetailServiceImpl implements PickDetailService {
PickDetailDto pickDetailDto = findById(id);
PickDetail pd = toEntity(pickDetailDto);//Dto转实体
ItemDto itemDto = pickDetailDto.getItem();
Item item = itemService.toEntity(itemDto);
Item item = itemMapper.toEntity(itemDto);
Dept dept = item.getDept();//仓库
Pick pick = pd.getPick();
@ -155,6 +153,10 @@ public class PickDetailServiceImpl implements PickDetailService {
double allocateQty = 0;
double unQty = quantity;//未分配数量
for (Inventory inv : inventoryList) {
//判断托盘是否有任务
if (taskRepository.existsByStock(inv.getStockCode()) >= 1) {
return pick.getCode() + "出库单;" + item.getCode() + "的" + inv.getStockCode() + "托盘有任务,请先完成任务!";
}
Point startPoint = inv.getPoint();//起始点位
if (unQty == 0) {
break;
@ -163,10 +165,7 @@ public class PickDetailServiceImpl implements PickDetailService {
if (allocateQty <= 0) {
continue;
}
//判断托盘是否有任务
if (taskRepository.existsByStock(inv.getStockCode()) >= 1) {
return pick.getCode() + "出库单;" + item.getCode() + "的" + inv.getStockCode() + "托盘有任务,请先完成任务!";
}
if (unQty < allocateQty) {
allocateQty = unQty;
}
@ -177,38 +176,42 @@ public class PickDetailServiceImpl implements PickDetailService {
pd.setAllocatedQty(pd.getAllocatedQty() + allocateQty);
pickDetailRepository.save(pd);
Task task = new Task();
task.setTaskType(BizStatus.PICK);
task.setItem(item);
task.setItemKey(inv.getItemKey());
task.setPickDetail(pd);
task.setBillCode(pd.getPo());
task.setSrcStock(inv.getStock());
task.setDstStock(inv.getStock());
task.setSrcPoint(startPoint);
task.setDstPoint(endPoint);
task.setSrcStockCode(inv.getStock().getCode());
task.setSrcPointCode(startPoint.getCode());
task.setDstPointCode(endPoint.getCode());
task.setInvStatus(inv.getStatus());
task.setTaskStatus(BizStatus.OPEN);
task.setPlanQty(allocateQty);
task.setInventory(inv);
task.setDept(dept);
taskService.create(task);
/** 生成Task任务 */
createTask(inv, pd, allocateQty, item, startPoint, endPoint, dept);
}
return pick.getCode() + "出库单;" + item.getCode() + "分配成功!";
}
private void createTask(Inventory inv, PickDetail pd, double allocateQty, Item item, Point startPoint, Point endPoint, Dept dept) {
Task task = new Task();
task.setTaskType(BizStatus.PICK);
task.setItem(item);
task.setItemKey(inv.getItemKey());
task.setPickDetail(pd);
task.setBillCode(pd.getPo());
task.setSrcStock(inv.getStock());
task.setDstStock(inv.getStock());
task.setSrcPoint(startPoint);
task.setDstPoint(endPoint);
task.setSrcStockCode(inv.getStock().getCode());
task.setSrcPointCode(startPoint.getCode());
task.setDstPointCode(endPoint.getCode());
task.setInvStatus(inv.getStatus());
task.setTaskStatus(BizStatus.OPEN);
task.setPlanQty(allocateQty);
task.setInventory(inv);
task.setDept(dept);
taskRepository.save(task);
}
@Override
@Transactional(rollbackFor = Exception.class)
public synchronized void allocateAll(long id, Point endPoint, String areaCode) throws Exception {
PickDetailDto pickDetailDto = findById(id);
PickDetail pd = toEntity(pickDetailDto);//Dto转实体
ItemDto itemDto = pickDetailDto.getItem();
Item item = itemService.toEntity(itemDto);
Item item = itemMapper.toEntity(itemDto);
Dept dept = item.getDept();//仓库
List<Inventory> Inventorys = inventoryService.findByItemIdAndAreaCode(item.getId(), item.getGoodType());
if (Inventorys.size() > 0) {
@ -232,27 +235,8 @@ public class PickDetailServiceImpl implements PickDetailService {
AgvTask agvTask = new AgvTask(BizStatus.PICK, stock.getCode(), startPoint.getCode(), endPoint.getCode(), BizStatus.OPEN, "");
agvTaskRepository.save(agvTask);
//生成Task
Task task = new Task();
task.setItem(item);
task.setItemKey(inv.getItemKey());
task.setPickDetail(pd);
task.setBillCode(pd.getPo());
task.setSrcStock(inv.getStock());
task.setDstStock(inv.getStock());
task.setSrcPoint(startPoint);
task.setDstPoint(endPoint);
task.setSrcStockCode(inv.getStock().getCode());
task.setSrcPointCode(startPoint.getCode());
task.setDstPointCode(endPoint.getCode());
task.setInvStatus(inv.getStatus());
task.setTaskStatus(BizStatus.OPEN);
task.setPlanQty(inv.getQuantity());
task.setInventory(inv);
task.setDept(dept);
task.setAgvTask(agvTask);
task.setTaskType(BizStatus.PICK);
taskService.create(task);
//生成Task任务
createTask(inv, pd, inv.getQuantity(), item, startPoint, endPoint, dept);
}
}
@ -262,7 +246,7 @@ public class PickDetailServiceImpl implements PickDetailService {
PickDetailDto pickDetailDto = findById(id);
PickDetail pd = toEntity(pickDetailDto);
List<Task> Tasks = taskService.findByPickNotAllTask(id);
List<Task> Tasks = taskRepository.findByPickNotAllTask(id);
for (Task task : Tasks) {
//根据Taskz找到对应的库存
InventoryDto inventoryDto = inventoryService.findById(task.getInventory().getId());
@ -271,7 +255,7 @@ public class PickDetailServiceImpl implements PickDetailService {
inventoryService.update(inv);
//删除Task
taskService.delete(task);
taskRepository.delete(task);
pd.setAllocatedQty(pd.getAllocatedQty() - quantity);
if (pd.getAllocatedQty() == 0) {
@ -351,11 +335,12 @@ public class PickDetailServiceImpl implements PickDetailService {
//目标库位
Point endPoint = null;
if (pick.getPoint() == null) {
endPoint = pointService.findByCode(null, BaseStatus.FREE, BaseStatus.BOX, AreaNameDic.FBQ, null, null);
if (endPoint == null) {
List<Point> pointList = pointRepository.findByCode(null, BaseStatus.FREE, BaseStatus.BOX, AreaNameDic.FBQ, null, null);
if (pointList.isEmpty()) {
logService.saveLogInfo(pick.getCode(), pick.getCode(), "/pick/allocatePick", "分配失败,翻包区没有空闲点位!", "出库单分配", 200, "info");
throw new IllegalArgumentException(pick.getCode() + "分配失败,翻包区没有空闲点位!");
}
endPoint = pointList.get(0);
} else {
endPoint = pick.getPoint();
}
@ -406,7 +391,7 @@ public class PickDetailServiceImpl implements PickDetailService {
pickRepository.save(pick);
endPoint.setStatus(BaseStatus.USED);
pointService.update(endPoint);
pointRepository.save(endPoint);
}
}

View File

@ -15,44 +15,15 @@
*/
package com.youchain.businessdata.service.impl;
import com.alibaba.fastjson.JSON;
import com.youchain.basicdata.domain.Item;
import com.youchain.basicdata.domain.Stock;
import com.youchain.basicdata.repository.StockRepository;
import com.youchain.businessdata.ReturnJson.RPTaskList;
import com.youchain.businessdata.domain.Inventory;
import com.youchain.businessdata.domain.ItemKey;
import com.youchain.businessdata.domain.PickDetail;
import com.youchain.businessdata.domain.Task;
import com.youchain.businessdata.inputJson.IPTask;
import com.youchain.businessdata.repository.InventoryRepository;
import com.youchain.businessdata.repository.PickDetailRepository;
import com.youchain.businessdata.repository.TaskRepository;
import com.youchain.businessdata.service.InventoryLogService;
import com.youchain.businessdata.service.ScreenMdService;
import com.youchain.businessdata.service.TaskService;
import com.youchain.businessdata.service.dto.TaskDto;
import com.youchain.businessdata.service.dto.TaskQueryCriteria;
import com.youchain.businessdata.service.mapstruct.TaskMapper;
import com.youchain.modules.system.domain.Dept;
import com.youchain.utils.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.hibernate.SQLQuery;
import org.hibernate.transform.AliasToEntityMapResultTransformer;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* @author houjianlan

View File

@ -16,10 +16,8 @@
package com.youchain.businessdata.service.impl;
import com.youchain.basicdata.domain.Item;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.domain.Stock;
import com.youchain.basicdata.repository.StockRepository;
import com.youchain.basicdata.service.PointService;
import com.youchain.businessdata.domain.*;
import com.youchain.businessdata.repository.*;
import com.youchain.businessdata.service.InventoryLogService;
@ -38,7 +36,6 @@ import org.springframework.data.domain.Pageable;
import java.util.*;
import java.io.IOException;
import javax.persistence.EntityManager;
import javax.servlet.http.HttpServletResponse;
/**
@ -232,15 +229,6 @@ public class TaskServiceImpl implements TaskService {
}
}
@Override
public Task createTask(Item item, ItemKey itemKey, AsnDetail asnDetail, Stock stock, Point point) {
Task task = new Task(item, itemKey, asnDetail.getOrderNumber(), BizStatus.ASN, asnDetail,
null, null, null, stock, stock, null, point, stock.getCode(),
stock.getCode(), null, point.getCode(), null, BizStatus.RECEIVED,
asnDetail.getOrderQty(), null, null, item.getDept(), null);
create(task);
return task;
}
@Override
public List<Task> getAgvTaskList(Long agvTaskId) {