出库单添加是否AGV出库业务类型,目标点位
parent
774009ed54
commit
12803c1095
|
|
@ -16,6 +16,7 @@
|
|||
package com.youchain.businessdata.domain;
|
||||
|
||||
import com.youchain.base.BaseEntity;
|
||||
import com.youchain.basicdata.domain.BillType;
|
||||
import lombok.Data;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
|
@ -46,13 +47,14 @@ public class Pick extends BaseEntity implements Serializable {
|
|||
@ApiModelProperty(value = "仓库ID")
|
||||
private Long deptId;
|
||||
|
||||
@Column(name = "`bill_type_id`")
|
||||
@OneToOne
|
||||
@JoinColumn(name = "bill_type_id")
|
||||
@ApiModelProperty(value = "单据类型ID")
|
||||
private String billTypeId;
|
||||
private BillType billType;
|
||||
|
||||
@Column(name = "`order_origin`")
|
||||
@ApiModelProperty(value = "订单来源")
|
||||
private Long orderOrigin;
|
||||
private String orderOrigin;
|
||||
|
||||
@Column(name = "`priority`")
|
||||
@ApiModelProperty(value = "优先级")
|
||||
|
|
@ -84,11 +86,11 @@ public class Pick extends BaseEntity implements Serializable {
|
|||
|
||||
@Column(name = "`dispatch_date`")
|
||||
@ApiModelProperty(value = "发货时间")
|
||||
private Long dispatchDate;
|
||||
private Timestamp dispatchDate;
|
||||
|
||||
@Column(name = "`er_time`")
|
||||
@ApiModelProperty(value = "操作时间")
|
||||
private Long erTime;
|
||||
private Timestamp erTime;
|
||||
|
||||
@Column(name = "`create_by`")
|
||||
@ApiModelProperty(value = "创建人")
|
||||
|
|
|
|||
|
|
@ -45,9 +45,10 @@ public class PickDetail extends BaseEntity implements Serializable {
|
|||
@ApiModelProperty(value = "ID")
|
||||
private Long id;
|
||||
|
||||
@Column(name = "`pick_id`")
|
||||
@OneToOne
|
||||
@JoinColumn(name = "`pick_id`")
|
||||
@ApiModelProperty(value = "订单序号")
|
||||
private Long pickId;
|
||||
private Pick pick;
|
||||
|
||||
@OneToOne
|
||||
@JoinColumn(name = "`item_id`",nullable = false)
|
||||
|
|
@ -96,23 +97,23 @@ public class PickDetail extends BaseEntity implements Serializable {
|
|||
private String remark;
|
||||
|
||||
@Column(name = "`prop_c1`")
|
||||
@ApiModelProperty(value = "批次号")
|
||||
@ApiModelProperty(value = "中标批次名称")
|
||||
private String propC1;
|
||||
|
||||
@Column(name = "`prop_c2`")
|
||||
@ApiModelProperty(value = "序列号")
|
||||
@ApiModelProperty(value = "成品物料编码")
|
||||
private String propC2;
|
||||
|
||||
@Column(name = "`prop_c3`")
|
||||
@ApiModelProperty(value = "属性3")
|
||||
@ApiModelProperty(value = "序列号")
|
||||
private String propC3;
|
||||
|
||||
@Column(name = "`prop_c4`")
|
||||
@ApiModelProperty(value = "属性4")
|
||||
@ApiModelProperty(value = "出库方式")
|
||||
private String propC4;
|
||||
|
||||
@Column(name = "`prop_c5`")
|
||||
@ApiModelProperty(value = "属性5")
|
||||
@ApiModelProperty(value = "目标点位")
|
||||
private String propC5;
|
||||
|
||||
@Column(name = "`prop_c6`")
|
||||
|
|
|
|||
|
|
@ -52,4 +52,8 @@ public interface PickDetailRepository extends JpaRepository<PickDetail, Long>, J
|
|||
" UNION select a.* from data_pick_detail a INNER JOIN base_item b on a.item_id = b.id " +
|
||||
"WHERE b.name = '前桶' and a.create_time > :time ", nativeQuery = true)
|
||||
List<PickDetail> queryOutQHAllData(String time);
|
||||
@Query(value = "select pd from PickDetail pd where pd.pick.id=?1 and pd.lineNo=?2", nativeQuery = false)
|
||||
PickDetail findByPickAndLineNo(Long id, Long lineNo);
|
||||
@Query(value = "select pd from PickDetail pd where pd.pick.id=?1", nativeQuery = false)
|
||||
List<PickDetail> findByPick(Long id);
|
||||
}
|
||||
|
|
@ -16,8 +16,12 @@
|
|||
package com.youchain.businessdata.repository;
|
||||
|
||||
import com.youchain.businessdata.domain.Pick;
|
||||
import com.youchain.businessdata.domain.PickDetail;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @website https://eladmin.vip
|
||||
|
|
@ -25,4 +29,6 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
|||
* @date 2024-03-11
|
||||
**/
|
||||
public interface PickRepository extends JpaRepository<Pick, Long>, JpaSpecificationExecutor<Pick> {
|
||||
@Query(value = "select p from Pick p where p.relatedBill2=?1")
|
||||
Pick findByCode(String relatedBill2);
|
||||
}
|
||||
|
|
@ -127,20 +127,12 @@ public class PickDetailController {
|
|||
@AnonymousAccess
|
||||
public synchronized ResponseEntity<Object> allocate(@RequestBody Long[] ids) throws Exception {
|
||||
List<Long> pickDetailIds = Arrays.asList(ids);
|
||||
if (pickDetailIds.size() > 0) {
|
||||
try {
|
||||
for (Long id : pickDetailIds) {
|
||||
PickDetailDto pickDetailDto = pickDetailService.findById(id);
|
||||
pickDetailService.allocate(id, pickDetailDto.getOrderQty());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return new ResponseEntity(ApiResult.fail(BAD_REQUEST.value(), e.getMessage(), ""), HttpStatus.BAD_REQUEST);
|
||||
|
||||
}
|
||||
} else {
|
||||
return new ResponseEntity(ApiResult.fail(BAD_REQUEST.value(), "参数错误或者为null", ""), HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
ApiResult apiResult=pickDetailService.allocate(ids);
|
||||
/*for (Long id : pickDetailIds) {
|
||||
PickDetailDto pickDetailDto = pickDetailService.findById(id);
|
||||
pickDetailService.allocate(id, pickDetailDto.getOrderQty());
|
||||
}*/
|
||||
return new ResponseEntity<>(apiResult, HttpStatus.valueOf(apiResult.getStatus()));
|
||||
}
|
||||
|
||||
@PostMapping("/cancelAllocate")
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ public interface PickDetailService {
|
|||
/**
|
||||
* 分配
|
||||
*/
|
||||
void allocate(long id,double quantity) throws Exception;
|
||||
ApiResult allocate(Long[] ids);
|
||||
|
||||
/**
|
||||
* 整出分配
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ package com.youchain.businessdata.service.dto;
|
|||
|
||||
import com.youchain.basicdata.service.dto.ItemDto;
|
||||
import com.youchain.basicdata.service.dto.ItemSmallDto;
|
||||
import com.youchain.businessdata.domain.Pick;
|
||||
import com.youchain.modules.system.domain.Dept;
|
||||
import lombok.Data;
|
||||
import java.sql.Timestamp;
|
||||
|
|
@ -35,7 +36,7 @@ public class PickDetailDto implements Serializable {
|
|||
private Long id;
|
||||
|
||||
/** 订单序号 */
|
||||
private Long pickId;
|
||||
private Pick pick;
|
||||
|
||||
/** 物料序号 */
|
||||
private ItemDto item;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.youchain.businessdata.service.dto;
|
||||
|
||||
import com.youchain.basicdata.domain.BillType;
|
||||
import lombok.Data;
|
||||
import java.sql.Timestamp;
|
||||
import java.io.Serializable;
|
||||
|
|
@ -35,10 +36,10 @@ public class PickDto implements Serializable {
|
|||
private Long deptId;
|
||||
|
||||
/** 单据类型ID */
|
||||
private String billTypeId;
|
||||
private BillType billType;
|
||||
|
||||
/** 订单来源 */
|
||||
private Long orderOrigin;
|
||||
private String orderOrigin;
|
||||
|
||||
/** 优先级 */
|
||||
private Long priority;
|
||||
|
|
@ -62,10 +63,10 @@ public class PickDto implements Serializable {
|
|||
private String address;
|
||||
|
||||
/** 发货时间 */
|
||||
private Long dispatchDate;
|
||||
private Timestamp dispatchDate;
|
||||
|
||||
/** 操作时间 */
|
||||
private Long erTime;
|
||||
private Timestamp erTime;
|
||||
|
||||
/** 创建人 */
|
||||
private String createBy;
|
||||
|
|
|
|||
|
|
@ -17,27 +17,20 @@ package com.youchain.businessdata.service.impl;
|
|||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
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.domain.*;
|
||||
import com.youchain.basicdata.repository.BillTypeRepository;
|
||||
import com.youchain.basicdata.repository.BoxRepository;
|
||||
import com.youchain.basicdata.repository.ItemRepository;
|
||||
import com.youchain.basicdata.repository.StockRepository;
|
||||
import com.youchain.basicdata.service.ItemService;
|
||||
import com.youchain.basicdata.service.PointService;
|
||||
import com.youchain.basicdata.service.dto.ItemDto;
|
||||
import com.youchain.businessdata.domain.AgvTask;
|
||||
import com.youchain.businessdata.domain.Inventory;
|
||||
import com.youchain.businessdata.domain.PickDetail;
|
||||
import com.youchain.businessdata.domain.Task;
|
||||
import com.youchain.businessdata.repository.AgvTaskRepository;
|
||||
import com.youchain.businessdata.repository.InventoryRepository;
|
||||
import com.youchain.businessdata.repository.TaskRepository;
|
||||
import com.youchain.businessdata.domain.*;
|
||||
import com.youchain.businessdata.repository.*;
|
||||
import com.youchain.exception.handler.ApiResult;
|
||||
import com.youchain.modules.system.domain.Dept;
|
||||
import com.youchain.utils.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import com.youchain.businessdata.repository.PickDetailRepository;
|
||||
import com.youchain.businessdata.service.PickDetailService;
|
||||
import com.youchain.businessdata.service.dto.PickDetailDto;
|
||||
import com.youchain.businessdata.service.dto.PickDetailQueryCriteria;
|
||||
|
|
@ -49,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
|
@ -66,10 +60,13 @@ import static org.springframework.http.HttpStatus.BAD_REQUEST;
|
|||
**/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Transactional
|
||||
public class PickDetailServiceImpl implements PickDetailService {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH");
|
||||
private final PickDetailRepository pickDetailRepository;
|
||||
private final PickRepository pickRepository;
|
||||
private final PickDetailMapper pickDetailMapper;
|
||||
private final BillTypeRepository billTypeRepository;
|
||||
private final InventoryRepository inventoryRepository;
|
||||
private final BoxRepository boxRepository;
|
||||
private final AgvTaskRepository agvTaskRepository;
|
||||
|
|
@ -77,6 +74,7 @@ public class PickDetailServiceImpl implements PickDetailService {
|
|||
private final ItemService itemService;
|
||||
private final PointService pointService;
|
||||
private final StockRepository stockRepository;
|
||||
private final ItemRepository itemRepository;
|
||||
private final EntityManager entityMapper;
|
||||
|
||||
@Override
|
||||
|
|
@ -144,70 +142,79 @@ public class PickDetailServiceImpl implements PickDetailService {
|
|||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public synchronized void allocate(long id, double quantity) throws Exception {
|
||||
PickDetailDto pickDetailDto = findById(id);
|
||||
PickDetail pd = toEntity(pickDetailDto);//Dto转实体
|
||||
ItemDto itemDto = pickDetailDto.getItem();
|
||||
Item item = itemService.toEntity(itemDto);
|
||||
Dept dept = item.getDept();//仓库
|
||||
Box box = boxRepository.getBoxByItem(item.getId());
|
||||
Point endPoint = box.getPoint();//目标点位
|
||||
if (pd.getOrderQty() > pd.getAllocatedQty()) {
|
||||
List<Inventory> Inventorys = inventoryRepository.queryInventory(item.getId());
|
||||
if (Inventorys.size() > 0) {
|
||||
double allocateQty = 0;
|
||||
double unQty = quantity;//未分配数量
|
||||
for (Inventory inv : Inventorys) {
|
||||
Stock stock = inv.getStock();//容器
|
||||
Point startPoint = inv.getPoint();//起始点位
|
||||
if (unQty == 0) {
|
||||
break;
|
||||
}
|
||||
allocateQty = inv.getQuantity() - inv.getQueuedQty();//库存可用数量
|
||||
if (allocateQty <= 0) {
|
||||
continue;
|
||||
}
|
||||
if (unQty < allocateQty) {
|
||||
allocateQty = unQty;
|
||||
}
|
||||
inv.setQueuedQty(inv.getQueuedQty() + allocateQty);
|
||||
inventoryRepository.save(inv);
|
||||
unQty -= allocateQty;
|
||||
pd.setAllocatedQty(pd.getAllocatedQty() + allocateQty);
|
||||
if (pd.getOrderQty().equals(pd.getAllocatedQty())) {
|
||||
pd.setStatus(BizStatus.ALLOCATE);
|
||||
}
|
||||
pickDetailRepository.save(pd);
|
||||
|
||||
//生成搬运任务
|
||||
AgvTask agvTask = new AgvTask(BizStatus.PICK, stock.getCode(), startPoint.getCode(), endPoint.getCode(), BizStatus.OPEN, "01");
|
||||
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(allocateQty);
|
||||
task.setDept(dept);
|
||||
task.setAgvTask(agvTask);
|
||||
taskRepository.save(task);
|
||||
}
|
||||
public ApiResult allocate(Long[] ids) {
|
||||
for (int i = 0; i < ids.length; i++) {
|
||||
Long id=ids[i];
|
||||
PickDetail pickDetail=pickDetailRepository.getById(id);
|
||||
if (pickDetail.getPropC4().equals(BizStatus.AGV_PT)){
|
||||
//AGV出库
|
||||
}
|
||||
|
||||
} else {
|
||||
throw new RuntimeException("已分配,请勿重复操作!");
|
||||
}
|
||||
Double quantity=pickDetail.getOrderQty();
|
||||
PickDetail pd = pickDetailRepository.getById(id);//Dto转实体
|
||||
Item item = pd.getItem();
|
||||
Dept dept = item.getDept();//仓库
|
||||
|
||||
Box box = boxRepository.getBoxByItem(item.getId());
|
||||
|
||||
Point endPoint = box.getPoint();//目标点位
|
||||
if (pd.getOrderQty() > pd.getAllocatedQty()) {
|
||||
List<Inventory> Inventorys = inventoryRepository.queryInventory(item.getId());
|
||||
if (Inventorys.size() > 0) {
|
||||
double allocateQty = 0;
|
||||
double unQty = quantity;//未分配数量
|
||||
for (Inventory inv : Inventorys) {
|
||||
Stock stock = inv.getStock();//容器
|
||||
Point startPoint = inv.getPoint();//起始点位
|
||||
if (unQty == 0) {
|
||||
break;
|
||||
}
|
||||
allocateQty = inv.getQuantity() - inv.getQueuedQty();//库存可用数量
|
||||
if (allocateQty <= 0) {
|
||||
continue;
|
||||
}
|
||||
if (unQty < allocateQty) {
|
||||
allocateQty = unQty;
|
||||
}
|
||||
inv.setQueuedQty(inv.getQueuedQty() + allocateQty);
|
||||
inventoryRepository.save(inv);
|
||||
unQty -= allocateQty;
|
||||
pd.setAllocatedQty(pd.getAllocatedQty() + allocateQty);
|
||||
if (pd.getOrderQty().equals(pd.getAllocatedQty())) {
|
||||
pd.setStatus(BizStatus.ALLOCATE);
|
||||
}
|
||||
pickDetailRepository.save(pd);
|
||||
|
||||
//生成搬运任务
|
||||
AgvTask agvTask = new AgvTask(BizStatus.PICK, stock.getCode(), startPoint.getCode(), endPoint.getCode(), BizStatus.OPEN, "01");
|
||||
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(allocateQty);
|
||||
task.setDept(dept);
|
||||
task.setAgvTask(agvTask);
|
||||
taskRepository.save(task);
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
throw new RuntimeException("已分配,请勿重复操作!");
|
||||
}
|
||||
}
|
||||
return ApiResult.fail(200,"操作成功",null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -414,12 +421,72 @@ public class PickDetailServiceImpl implements PickDetailService {
|
|||
public ApiResult importPtApi(JSONObject jsonObject) {
|
||||
JSONArray orders=jsonObject.getJSONArray("order");
|
||||
for (int i = 0; i < orders.size(); i++) {
|
||||
PickDetail pickDetail = new PickDetail();
|
||||
|
||||
JSONObject order=orders.getJSONObject(i);
|
||||
|
||||
String orderId=order.getString("orderId");
|
||||
String erTime=order.getString("orderDate");//操作时间
|
||||
Timestamp er = Timestamp.valueOf(DateUtil.parseLocalDateTimeFormat(erTime, "yyyy-MM-dd HH:mm:ss"));
|
||||
String owner=order.getString("owner");//货主
|
||||
String orderType=order.getString("orderType");//订单类型
|
||||
List<BillType> billTypeList=billTypeRepository.findBySourceName(orderType);
|
||||
if (billTypeList.size()<1){
|
||||
return ApiResult.result(500,"单据类型错误",null);
|
||||
}
|
||||
BillType billType=billTypeList.get(0);
|
||||
String dispatchDate=order.getString("dispatchDate");//发货日期
|
||||
Timestamp dc = Timestamp.valueOf(DateUtil.parseLocalDateTimeFormat(dispatchDate, "yyyy-MM-dd HH:mm:ss"));
|
||||
Long priority=order.getLong("priority");//订单类型
|
||||
String address=order.getString("consolidationLoc");//地址
|
||||
Pick pick;
|
||||
pick = pickRepository.findByCode(orderId);
|
||||
if (pick==null){
|
||||
pick=new Pick();
|
||||
pick.setStatus(BizStatus.OPEN);
|
||||
}
|
||||
pick.setRelatedBill1(orderId);
|
||||
pick.setRelatedBill2(orderId);
|
||||
pick.setErTime(er);
|
||||
pick.setBillType(billType);
|
||||
pick.setDispatchDate(dc);
|
||||
pick.setOwner(owner);
|
||||
pick.setAddress(address);
|
||||
pick.setPriority(priority);
|
||||
pickRepository.save(pick);
|
||||
JSONArray orderLineArray=order.getJSONArray("orderLine");
|
||||
for (int j = 0; j < orderLineArray.size(); j++) {
|
||||
JSONObject orderLine=orderLineArray.getJSONObject(i);
|
||||
String lineNo=orderLine.getString("orderLineNumber");
|
||||
String itemCode=orderLine.getString("productId");
|
||||
String quantity=orderLine.getString("quantityOrdered");
|
||||
JSONArray attributeValueList=orderLine.getJSONArray("attributeValue");
|
||||
Map<String,Object> attributeValue=new HashMap<>();
|
||||
for (int k = 0; k < attributeValueList.size(); k++) {
|
||||
JSONObject at=attributeValueList.getJSONObject(k);
|
||||
attributeValue.put(at.getString("name"),at.getString("value"));
|
||||
}
|
||||
String propC1=attributeValue.get("ztBidName")+"";//中标批次名称
|
||||
String propC2=attributeValue.get("prodMtrlNo")+"";//成品物料编码
|
||||
String propC3=attributeValue.get("loadUnitId")+"";//序列号
|
||||
Item item=itemRepository.findByCode(itemCode);
|
||||
if (item==null){
|
||||
return ApiResult.result(500, itemCode+"物料不存在",null);
|
||||
}
|
||||
PickDetail pickDetail;
|
||||
pickDetail=pickDetailRepository.findByPickAndLineNo(pick.getId(),Long.valueOf(lineNo));
|
||||
if (pickDetail==null){
|
||||
pickDetail=new PickDetail();
|
||||
pickDetail.setStatus(BizStatus.OPEN);
|
||||
}
|
||||
pickDetail.setLineNo(Long.valueOf(lineNo));
|
||||
pickDetail.setItem(item);
|
||||
pickDetail.setOrderQty(Double.valueOf(quantity));
|
||||
pickDetail.setPropC1(propC1);
|
||||
pickDetail.setPropC2(propC2);
|
||||
pickDetail.setPropC3(propC3);
|
||||
pickDetail.setPick(pick);
|
||||
pickDetailRepository.save(pickDetail);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return ApiResult.result(200, "操作成功",null);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,10 +16,9 @@
|
|||
package com.youchain.businessdata.service.impl;
|
||||
|
||||
import com.youchain.businessdata.domain.Pick;
|
||||
import com.youchain.utils.FileUtil;
|
||||
import com.youchain.utils.PageUtil;
|
||||
import com.youchain.utils.QueryHelp;
|
||||
import com.youchain.utils.ValidationUtil;
|
||||
import com.youchain.businessdata.domain.PickDetail;
|
||||
import com.youchain.businessdata.repository.PickDetailRepository;
|
||||
import com.youchain.utils.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import com.youchain.businessdata.repository.PickRepository;
|
||||
import com.youchain.businessdata.service.PickService;
|
||||
|
|
@ -48,6 +47,7 @@ import java.util.LinkedHashMap;
|
|||
public class PickServiceImpl implements PickService {
|
||||
|
||||
private final PickRepository pickRepository;
|
||||
private final PickDetailRepository pickDetailRepository;
|
||||
private final PickMapper pickMapper;
|
||||
|
||||
@Override
|
||||
|
|
@ -87,6 +87,11 @@ public class PickServiceImpl implements PickService {
|
|||
@Override
|
||||
public void deleteAll(Long[] ids) {
|
||||
for (Long id : ids) {
|
||||
List<PickDetail> pickDetailList=pickDetailRepository.findByPick(id);
|
||||
for (int i = 0; i < pickDetailList.size(); i++) {
|
||||
PickDetail pickDetail=pickDetailList.get(i);
|
||||
pickDetailRepository.deleteById(pickDetail.getId());
|
||||
}
|
||||
pickRepository.deleteById(id);
|
||||
}
|
||||
}
|
||||
|
|
@ -96,8 +101,7 @@ public class PickServiceImpl implements PickService {
|
|||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (PickDto pick : all) {
|
||||
Map<String,Object> map = new LinkedHashMap<>();
|
||||
map.put("仓库ID", pick.getDeptId());
|
||||
map.put("单据类型ID", pick.getBillTypeId());
|
||||
map.put("单据类型", pick.getBillType().getName());
|
||||
map.put("订单来源", pick.getOrderOrigin());
|
||||
map.put("优先级", pick.getPriority());
|
||||
map.put("货主", pick.getOwner());
|
||||
|
|
|
|||
|
|
@ -216,4 +216,13 @@ public interface BizStatus {
|
|||
String AGV_C="AGV_C";
|
||||
/** 半成品入库*/
|
||||
String SMGS="SMGS";
|
||||
|
||||
/** AGV出库*/
|
||||
String AGV_PT="AGV_PT";
|
||||
/** 人工出库*/
|
||||
String RG_PT="RG_PT";
|
||||
/** AGV入库*/
|
||||
String AGV_ASN="AGV_ASN";
|
||||
/** 人工入库*/
|
||||
String RG_ASN="RG_ASN";
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue