出库单添加是否AGV出库业务类型,目标点位

main
bbl\baobl 2024-03-12 13:08:41 +08:00
parent 774009ed54
commit 12803c1095
11 changed files with 202 additions and 115 deletions

View File

@ -16,6 +16,7 @@
package com.youchain.businessdata.domain; package com.youchain.businessdata.domain;
import com.youchain.base.BaseEntity; import com.youchain.base.BaseEntity;
import com.youchain.basicdata.domain.BillType;
import lombok.Data; import lombok.Data;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -46,13 +47,14 @@ public class Pick extends BaseEntity implements Serializable {
@ApiModelProperty(value = "仓库ID") @ApiModelProperty(value = "仓库ID")
private Long deptId; private Long deptId;
@Column(name = "`bill_type_id`") @OneToOne
@JoinColumn(name = "bill_type_id")
@ApiModelProperty(value = "单据类型ID") @ApiModelProperty(value = "单据类型ID")
private String billTypeId; private BillType billType;
@Column(name = "`order_origin`") @Column(name = "`order_origin`")
@ApiModelProperty(value = "订单来源") @ApiModelProperty(value = "订单来源")
private Long orderOrigin; private String orderOrigin;
@Column(name = "`priority`") @Column(name = "`priority`")
@ApiModelProperty(value = "优先级") @ApiModelProperty(value = "优先级")
@ -84,11 +86,11 @@ public class Pick extends BaseEntity implements Serializable {
@Column(name = "`dispatch_date`") @Column(name = "`dispatch_date`")
@ApiModelProperty(value = "发货时间") @ApiModelProperty(value = "发货时间")
private Long dispatchDate; private Timestamp dispatchDate;
@Column(name = "`er_time`") @Column(name = "`er_time`")
@ApiModelProperty(value = "操作时间") @ApiModelProperty(value = "操作时间")
private Long erTime; private Timestamp erTime;
@Column(name = "`create_by`") @Column(name = "`create_by`")
@ApiModelProperty(value = "创建人") @ApiModelProperty(value = "创建人")

View File

@ -45,9 +45,10 @@ public class PickDetail extends BaseEntity implements Serializable {
@ApiModelProperty(value = "ID") @ApiModelProperty(value = "ID")
private Long id; private Long id;
@Column(name = "`pick_id`") @OneToOne
@JoinColumn(name = "`pick_id`")
@ApiModelProperty(value = "订单序号") @ApiModelProperty(value = "订单序号")
private Long pickId; private Pick pick;
@OneToOne @OneToOne
@JoinColumn(name = "`item_id`",nullable = false) @JoinColumn(name = "`item_id`",nullable = false)
@ -96,23 +97,23 @@ public class PickDetail extends BaseEntity implements Serializable {
private String remark; private String remark;
@Column(name = "`prop_c1`") @Column(name = "`prop_c1`")
@ApiModelProperty(value = "批次号") @ApiModelProperty(value = "中标批次名称")
private String propC1; private String propC1;
@Column(name = "`prop_c2`") @Column(name = "`prop_c2`")
@ApiModelProperty(value = "序列号") @ApiModelProperty(value = "成品物料编码")
private String propC2; private String propC2;
@Column(name = "`prop_c3`") @Column(name = "`prop_c3`")
@ApiModelProperty(value = "属性3") @ApiModelProperty(value = "序列号")
private String propC3; private String propC3;
@Column(name = "`prop_c4`") @Column(name = "`prop_c4`")
@ApiModelProperty(value = "属性4") @ApiModelProperty(value = "出库方式")
private String propC4; private String propC4;
@Column(name = "`prop_c5`") @Column(name = "`prop_c5`")
@ApiModelProperty(value = "属性5") @ApiModelProperty(value = "目标点位")
private String propC5; private String propC5;
@Column(name = "`prop_c6`") @Column(name = "`prop_c6`")

View File

@ -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 " + " 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) "WHERE b.name = '前桶' and a.create_time > :time ", nativeQuery = true)
List<PickDetail> queryOutQHAllData(String time); 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);
} }

View File

@ -16,8 +16,12 @@
package com.youchain.businessdata.repository; package com.youchain.businessdata.repository;
import com.youchain.businessdata.domain.Pick; 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.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
/** /**
* @website https://eladmin.vip * @website https://eladmin.vip
@ -25,4 +29,6 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
* @date 2024-03-11 * @date 2024-03-11
**/ **/
public interface PickRepository extends JpaRepository<Pick, Long>, JpaSpecificationExecutor<Pick> { public interface PickRepository extends JpaRepository<Pick, Long>, JpaSpecificationExecutor<Pick> {
@Query(value = "select p from Pick p where p.relatedBill2=?1")
Pick findByCode(String relatedBill2);
} }

View File

@ -127,20 +127,12 @@ public class PickDetailController {
@AnonymousAccess @AnonymousAccess
public synchronized ResponseEntity<Object> allocate(@RequestBody Long[] ids) throws Exception { public synchronized ResponseEntity<Object> allocate(@RequestBody Long[] ids) throws Exception {
List<Long> pickDetailIds = Arrays.asList(ids); List<Long> pickDetailIds = Arrays.asList(ids);
if (pickDetailIds.size() > 0) { ApiResult apiResult=pickDetailService.allocate(ids);
try { /*for (Long id : pickDetailIds) {
for (Long id : pickDetailIds) { PickDetailDto pickDetailDto = pickDetailService.findById(id);
PickDetailDto pickDetailDto = pickDetailService.findById(id); pickDetailService.allocate(id, pickDetailDto.getOrderQty());
pickDetailService.allocate(id, pickDetailDto.getOrderQty()); }*/
} return new ResponseEntity<>(apiResult, HttpStatus.valueOf(apiResult.getStatus()));
} 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);
} }
@PostMapping("/cancelAllocate") @PostMapping("/cancelAllocate")

View File

@ -90,7 +90,7 @@ public interface PickDetailService {
/** /**
* *
*/ */
void allocate(long id,double quantity) throws Exception; ApiResult allocate(Long[] ids);
/** /**
* *

View File

@ -17,6 +17,7 @@ package com.youchain.businessdata.service.dto;
import com.youchain.basicdata.service.dto.ItemDto; import com.youchain.basicdata.service.dto.ItemDto;
import com.youchain.basicdata.service.dto.ItemSmallDto; import com.youchain.basicdata.service.dto.ItemSmallDto;
import com.youchain.businessdata.domain.Pick;
import com.youchain.modules.system.domain.Dept; import com.youchain.modules.system.domain.Dept;
import lombok.Data; import lombok.Data;
import java.sql.Timestamp; import java.sql.Timestamp;
@ -35,7 +36,7 @@ public class PickDetailDto implements Serializable {
private Long id; private Long id;
/** 订单序号 */ /** 订单序号 */
private Long pickId; private Pick pick;
/** 物料序号 */ /** 物料序号 */
private ItemDto item; private ItemDto item;

View File

@ -15,6 +15,7 @@
*/ */
package com.youchain.businessdata.service.dto; package com.youchain.businessdata.service.dto;
import com.youchain.basicdata.domain.BillType;
import lombok.Data; import lombok.Data;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.io.Serializable; import java.io.Serializable;
@ -35,10 +36,10 @@ public class PickDto implements Serializable {
private Long deptId; private Long deptId;
/** 单据类型ID */ /** 单据类型ID */
private String billTypeId; private BillType billType;
/** 订单来源 */ /** 订单来源 */
private Long orderOrigin; private String orderOrigin;
/** 优先级 */ /** 优先级 */
private Long priority; private Long priority;
@ -62,10 +63,10 @@ public class PickDto implements Serializable {
private String address; private String address;
/** 发货时间 */ /** 发货时间 */
private Long dispatchDate; private Timestamp dispatchDate;
/** 操作时间 */ /** 操作时间 */
private Long erTime; private Timestamp erTime;
/** 创建人 */ /** 创建人 */
private String createBy; private String createBy;

View File

@ -17,27 +17,20 @@ package com.youchain.businessdata.service.impl;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.youchain.basicdata.domain.Box; import com.youchain.basicdata.domain.*;
import com.youchain.basicdata.domain.Item; import com.youchain.basicdata.repository.BillTypeRepository;
import com.youchain.basicdata.domain.Point;
import com.youchain.basicdata.domain.Stock;
import com.youchain.basicdata.repository.BoxRepository; import com.youchain.basicdata.repository.BoxRepository;
import com.youchain.basicdata.repository.ItemRepository;
import com.youchain.basicdata.repository.StockRepository; import com.youchain.basicdata.repository.StockRepository;
import com.youchain.basicdata.service.ItemService; import com.youchain.basicdata.service.ItemService;
import com.youchain.basicdata.service.PointService; import com.youchain.basicdata.service.PointService;
import com.youchain.basicdata.service.dto.ItemDto; import com.youchain.basicdata.service.dto.ItemDto;
import com.youchain.businessdata.domain.AgvTask; import com.youchain.businessdata.domain.*;
import com.youchain.businessdata.domain.Inventory; import com.youchain.businessdata.repository.*;
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.exception.handler.ApiResult; import com.youchain.exception.handler.ApiResult;
import com.youchain.modules.system.domain.Dept; import com.youchain.modules.system.domain.Dept;
import com.youchain.utils.*; import com.youchain.utils.*;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import com.youchain.businessdata.repository.PickDetailRepository;
import com.youchain.businessdata.service.PickDetailService; import com.youchain.businessdata.service.PickDetailService;
import com.youchain.businessdata.service.dto.PickDetailDto; import com.youchain.businessdata.service.dto.PickDetailDto;
import com.youchain.businessdata.service.dto.PickDetailQueryCriteria; 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.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import java.sql.Timestamp;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.io.IOException; import java.io.IOException;
@ -66,10 +60,13 @@ import static org.springframework.http.HttpStatus.BAD_REQUEST;
**/ **/
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@Transactional
public class PickDetailServiceImpl implements PickDetailService { public class PickDetailServiceImpl implements PickDetailService {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH");
private final PickDetailRepository pickDetailRepository; private final PickDetailRepository pickDetailRepository;
private final PickRepository pickRepository;
private final PickDetailMapper pickDetailMapper; private final PickDetailMapper pickDetailMapper;
private final BillTypeRepository billTypeRepository;
private final InventoryRepository inventoryRepository; private final InventoryRepository inventoryRepository;
private final BoxRepository boxRepository; private final BoxRepository boxRepository;
private final AgvTaskRepository agvTaskRepository; private final AgvTaskRepository agvTaskRepository;
@ -77,6 +74,7 @@ public class PickDetailServiceImpl implements PickDetailService {
private final ItemService itemService; private final ItemService itemService;
private final PointService pointService; private final PointService pointService;
private final StockRepository stockRepository; private final StockRepository stockRepository;
private final ItemRepository itemRepository;
private final EntityManager entityMapper; private final EntityManager entityMapper;
@Override @Override
@ -144,70 +142,79 @@ public class PickDetailServiceImpl implements PickDetailService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public synchronized void allocate(long id, double quantity) throws Exception { public ApiResult allocate(Long[] ids) {
PickDetailDto pickDetailDto = findById(id); for (int i = 0; i < ids.length; i++) {
PickDetail pd = toEntity(pickDetailDto);//Dto转实体 Long id=ids[i];
ItemDto itemDto = pickDetailDto.getItem(); PickDetail pickDetail=pickDetailRepository.getById(id);
Item item = itemService.toEntity(itemDto); if (pickDetail.getPropC4().equals(BizStatus.AGV_PT)){
Dept dept = item.getDept();//仓库 //AGV出库
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 { Double quantity=pickDetail.getOrderQty();
throw new RuntimeException("已分配,请勿重复操作!"); 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 @Override
@ -414,12 +421,72 @@ public class PickDetailServiceImpl implements PickDetailService {
public ApiResult importPtApi(JSONObject jsonObject) { public ApiResult importPtApi(JSONObject jsonObject) {
JSONArray orders=jsonObject.getJSONArray("order"); JSONArray orders=jsonObject.getJSONArray("order");
for (int i = 0; i < orders.size(); i++) { for (int i = 0; i < orders.size(); i++) {
PickDetail pickDetail = new PickDetail();
JSONObject order=orders.getJSONObject(i); 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);
} }
} }

View File

@ -16,10 +16,9 @@
package com.youchain.businessdata.service.impl; package com.youchain.businessdata.service.impl;
import com.youchain.businessdata.domain.Pick; import com.youchain.businessdata.domain.Pick;
import com.youchain.utils.FileUtil; import com.youchain.businessdata.domain.PickDetail;
import com.youchain.utils.PageUtil; import com.youchain.businessdata.repository.PickDetailRepository;
import com.youchain.utils.QueryHelp; import com.youchain.utils.*;
import com.youchain.utils.ValidationUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import com.youchain.businessdata.repository.PickRepository; import com.youchain.businessdata.repository.PickRepository;
import com.youchain.businessdata.service.PickService; import com.youchain.businessdata.service.PickService;
@ -48,6 +47,7 @@ import java.util.LinkedHashMap;
public class PickServiceImpl implements PickService { public class PickServiceImpl implements PickService {
private final PickRepository pickRepository; private final PickRepository pickRepository;
private final PickDetailRepository pickDetailRepository;
private final PickMapper pickMapper; private final PickMapper pickMapper;
@Override @Override
@ -87,6 +87,11 @@ public class PickServiceImpl implements PickService {
@Override @Override
public void deleteAll(Long[] ids) { public void deleteAll(Long[] ids) {
for (Long id : 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); pickRepository.deleteById(id);
} }
} }
@ -96,8 +101,7 @@ public class PickServiceImpl implements PickService {
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
for (PickDto pick : all) { for (PickDto pick : all) {
Map<String,Object> map = new LinkedHashMap<>(); Map<String,Object> map = new LinkedHashMap<>();
map.put("仓库ID", pick.getDeptId()); map.put("单据类型", pick.getBillType().getName());
map.put("单据类型ID", pick.getBillTypeId());
map.put("订单来源", pick.getOrderOrigin()); map.put("订单来源", pick.getOrderOrigin());
map.put("优先级", pick.getPriority()); map.put("优先级", pick.getPriority());
map.put("货主", pick.getOwner()); map.put("货主", pick.getOwner());

View File

@ -216,4 +216,13 @@ public interface BizStatus {
String AGV_C="AGV_C"; String AGV_C="AGV_C";
/** 半成品入库*/ /** 半成品入库*/
String SMGS="SMGS"; 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";
} }