no message
parent
211206994c
commit
ca22218b8a
|
|
@ -1,32 +0,0 @@
|
|||
package org.cpte.modules.constant.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum AsnOrderTypeEnum {
|
||||
PRODUCT(0, "成品入库"),
|
||||
|
||||
ACCESSORY(1, "配件入库"),
|
||||
|
||||
PRODUCT_UNPALLETIZE(2, "成品拆托入库"),
|
||||
|
||||
ACCESSORY_UNPALLETIZE(3, "配件拆托入库"),
|
||||
|
||||
|
||||
;
|
||||
|
||||
AsnOrderTypeEnum(Integer value, String desc) {
|
||||
this.value = value;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
/**
|
||||
* 值
|
||||
*/
|
||||
final Integer value;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
final String desc;
|
||||
}
|
||||
|
|
@ -22,6 +22,12 @@ public enum AsnTypeEnum {
|
|||
|
||||
PJC(3, "配件拆托入库"),
|
||||
|
||||
SC(4, "生产入库"),
|
||||
|
||||
WX(5, "维修入库"),
|
||||
|
||||
QC(6, "期初入库"),
|
||||
|
||||
|
||||
;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
|||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.cpte.modules.conveyorLine.request.ScanTrayRequest;
|
||||
import org.cpte.modules.conveyorLine.service.IConveyorLineService;
|
||||
|
|
@ -37,13 +38,12 @@ public class ConveyorLineController {
|
|||
@IgnoreAuth
|
||||
public TesResult scanTray(@RequestBody ScanTrayRequest scanTrayRequest) {
|
||||
try {
|
||||
Long errorCode = scanTrayRequest.getContent().getSignal().getErrorCode();
|
||||
if (errorCode == 0) {
|
||||
List<String> errorMsg = scanTrayRequest.getContent().getSignal().getErrorReason();
|
||||
if (CollectionUtils.isEmpty(errorMsg)) {
|
||||
iConveyorLineService.scanTray(scanTrayRequest);
|
||||
return TesResult.success();
|
||||
} else {
|
||||
iConveyorLineService.updateResMessageAsn(scanTrayRequest);
|
||||
List<String> errorMsg = scanTrayRequest.getContent().getSignal().getErrorReason();
|
||||
return TesResult.error(errorMsg.toString());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
|
|
|||
|
|
@ -76,9 +76,12 @@ public class IConveyorLineServiceImpl implements IConveyorLineService {
|
|||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateResMessageAsn(ScanTrayRequest scanTrayRequest) {
|
||||
ScanTrayData data= scanTrayProcessor.prepareScanTrayData(scanTrayRequest);
|
||||
ScanTrayData data = scanTrayProcessor.prepareScanTrayData(scanTrayRequest);
|
||||
Asn asn = data.getAsn();
|
||||
if (asn != null) {
|
||||
if (asn.getResMessage().equals("检测成功")) {
|
||||
return;
|
||||
}
|
||||
asn.setResMessage(scanTrayRequest.getContent().getSignal().getErrorReason().toString());
|
||||
asnMapper.updateById(asn);
|
||||
}
|
||||
|
|
@ -121,8 +124,8 @@ public class IConveyorLineServiceImpl implements IConveyorLineService {
|
|||
if (AgvStatusEnum.COMPLETED.getValue().equals(agvTask.getStatus())) {
|
||||
Object dateObj = redisUtil.get(CONVEYOR_LINE_KEY);
|
||||
if (dateObj != null) {
|
||||
String description = "工作站无入库任务";
|
||||
return cleanJsonObject(conveyorLine,description);
|
||||
String description = "工作站无入库任务";
|
||||
return cleanJsonObject(conveyorLine, description);
|
||||
} else {
|
||||
redisUtil.set(CONVEYOR_LINE_KEY, agvTask.getId());
|
||||
}
|
||||
|
|
@ -147,7 +150,7 @@ public class IConveyorLineServiceImpl implements IConveyorLineService {
|
|||
return jsonObject;
|
||||
}
|
||||
|
||||
private JSONObject cleanJsonObject(String conveyorLine, String description) {
|
||||
private JSONObject cleanJsonObject(String conveyorLine, String description) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("stockCode", "");
|
||||
jsonObject.put("taskType", "");
|
||||
|
|
|
|||
|
|
@ -1,8 +1,20 @@
|
|||
package org.cpte.modules.receive.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.cpte.modules.receive.entity.Asn;
|
||||
import org.cpte.modules.receive.entity.ReceiveRecord;
|
||||
|
||||
public interface ReceiveRecordMapper extends BaseMapper<ReceiveRecord> {
|
||||
import java.util.List;
|
||||
|
||||
public interface ReceiveRecordMapper extends BaseMapper<ReceiveRecord> {
|
||||
/**
|
||||
* 根据任务号查询入库单
|
||||
*
|
||||
* @param asnId 入库ID
|
||||
* @return List<ReceiveRecord>
|
||||
*/
|
||||
@Select("select * from data_receive_record where asn_id = #{asnId} ")
|
||||
List<ReceiveRecord> queryByAsnId(@Param("asnId") Long asnId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ public class AsnDetailServiceImpl extends ServiceImpl<AsnDetailMapper, AsnDetail
|
|||
public void processInboundTask(InboundRequest inboundRequest, Map<String, Item> itemMap, Point srcPoint, Stock stock) {
|
||||
//1.获取工作站
|
||||
Point station = null;
|
||||
if (AsnOrderTypeEnum.PRODUCT.getValue().equals(inboundRequest.getType()) && srcPoint != null) {
|
||||
if (AsnTypeEnum.CP.getValue().equals(inboundRequest.getType()) && srcPoint != null) {
|
||||
station = getStationPoint(inboundRequest.getType());
|
||||
}
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ public class AsnDetailServiceImpl extends ServiceImpl<AsnDetailMapper, AsnDetail
|
|||
stockService.bindStock(stock);
|
||||
|
||||
//4.成品入库,生成AGV任务
|
||||
if (AsnOrderTypeEnum.PRODUCT.getValue().equals(inboundRequest.getType()) && station != null) {
|
||||
if (AsnTypeEnum.CP.getValue().equals(inboundRequest.getType()) && station != null) {
|
||||
agvTaskService.createAgvTask(null,asnDetails.get(0).getItemId(),asn.getId(), stock.getStockCode(), srcPoint.getPointCode(), station.getPointCode(), null, BusinessTypeEnum.INBOUND.getValue(), 0, AgvVendorEnum.HIK.getValue());
|
||||
}
|
||||
}
|
||||
|
|
@ -121,7 +121,7 @@ public class AsnDetailServiceImpl extends ServiceImpl<AsnDetailMapper, AsnDetail
|
|||
*/
|
||||
private Point getStationPoint(Integer orderType) {
|
||||
Point dstPoint = null;
|
||||
if (AsnOrderTypeEnum.PRODUCT.getValue().equals(orderType)) {
|
||||
if (AsnTypeEnum.CP.getValue().equals(orderType)) {
|
||||
//1.获取入库输送线工作台点位为终点,均衡分配点位-轮询方式
|
||||
dstPoint = pointService.getWorkStationPoint(null, AreaTypeEnum.RK_DOCK.getValue(), GeneralConstant.RK_DOCK_TASK_INDEX);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,17 +10,12 @@ import org.cpte.modules.base.entity.Stock;
|
|||
import org.cpte.modules.base.service.IPointService;
|
||||
import org.cpte.modules.base.service.IStockService;
|
||||
import org.cpte.modules.constant.enums.AgvVendorEnum;
|
||||
import org.cpte.modules.constant.enums.AsnOrderTypeEnum;
|
||||
import org.cpte.modules.constant.enums.BusinessTypeEnum;
|
||||
import org.cpte.modules.saiWms.request.CallAgvRequest;
|
||||
import org.cpte.modules.saiWms.request.InboundRequest;
|
||||
import org.cpte.modules.saiWms.vo.CallData;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 呼叫AGV处理
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,33 +1,16 @@
|
|||
package org.cpte.modules.saiWms.service.processor;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.cpte.modules.base.entity.Item;
|
||||
import org.cpte.modules.base.entity.Point;
|
||||
import org.cpte.modules.base.entity.Stock;
|
||||
import org.cpte.modules.base.service.IItemService;
|
||||
import org.cpte.modules.base.service.IPointService;
|
||||
import org.cpte.modules.base.service.IStockService;
|
||||
import org.cpte.modules.constant.enums.AsnOrderTypeEnum;
|
||||
import org.cpte.modules.constant.enums.AsnStatusEnum;
|
||||
import org.cpte.modules.inventory.mapper.InventoryMapper;
|
||||
import org.cpte.modules.receive.entity.Asn;
|
||||
import org.cpte.modules.receive.entity.AsnDetail;
|
||||
import org.cpte.modules.receive.mapper.AsnDetailMapper;
|
||||
|
||||
import org.cpte.modules.receive.mapper.AsnMapper;
|
||||
import org.cpte.modules.receive.service.IAsnDetailService;
|
||||
import org.cpte.modules.receive.service.IAsnService;
|
||||
import org.cpte.modules.saiWms.request.InBoundCancelRequest;
|
||||
import org.cpte.modules.saiWms.request.InboundRequest;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 接收入库任务处理
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ public class InBoundTaskProcessor {
|
|||
*/
|
||||
private Point validateSrcPoint(Integer orderType, String srcPointCode) {
|
||||
Point srcPoint = null;
|
||||
if (AsnOrderTypeEnum.PRODUCT.getValue().equals(orderType) && StringUtils.isNotBlank(srcPointCode)) {
|
||||
if (AsnTypeEnum.CP.getValue().equals(orderType) && StringUtils.isNotBlank(srcPointCode)) {
|
||||
srcPoint = pointService.validatePoint(srcPointCode);
|
||||
}
|
||||
return srcPoint;
|
||||
|
|
|
|||
|
|
@ -11,18 +11,14 @@ import org.cpte.modules.base.service.IPointService;
|
|||
import org.cpte.modules.base.service.IStockService;
|
||||
import org.cpte.modules.constant.GeneralConstant;
|
||||
import org.cpte.modules.constant.enums.AreaTypeEnum;
|
||||
import org.cpte.modules.constant.enums.AsnOrderTypeEnum;
|
||||
import org.cpte.modules.constant.enums.AsnTypeEnum;
|
||||
import org.cpte.modules.constant.enums.PickTypeEnum;
|
||||
import org.cpte.modules.saiWms.request.OutboundRequest;
|
||||
import org.cpte.modules.shipping.entity.Pick;
|
||||
import org.cpte.modules.shipping.entity.PickDetail;
|
||||
import org.cpte.modules.shipping.mapper.PickMapper;
|
||||
import org.cpte.modules.shipping.service.IPickDetailService;
|
||||
import org.cpte.modules.shipping.service.IPickService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -187,7 +183,7 @@ public class OutBoundTaskProcessor {
|
|||
*/
|
||||
private Point validateSrcPoint(Integer orderType, String srcPointCode) {
|
||||
Point srcPoint = null;
|
||||
if (AsnOrderTypeEnum.PRODUCT.getValue().equals(orderType)) {
|
||||
if (AsnTypeEnum.CP.getValue().equals(orderType)) {
|
||||
srcPoint = pointService.validatePoint(srcPointCode);
|
||||
}
|
||||
return srcPoint;
|
||||
|
|
@ -201,7 +197,7 @@ public class OutBoundTaskProcessor {
|
|||
*/
|
||||
private Point getDstPoint(Integer orderType) {
|
||||
Point dstPoint = null;
|
||||
if (AsnOrderTypeEnum.PRODUCT.getValue().equals(orderType)) {
|
||||
if (AsnTypeEnum.CP.getValue().equals(orderType)) {
|
||||
//1.获取入库输送线工作台点位为终点,均衡分配点位-轮询方式
|
||||
dstPoint = pointService.getWorkStationPoint(null, AreaTypeEnum.RK_DOCK.getValue(), GeneralConstant.RK_DOCK_TASK_INDEX);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package org.cpte.modules.tesAgv.service.impl;
|
|||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.cpte.modules.agvTask.entity.AgvTask;
|
||||
import org.cpte.modules.agvTask.mapper.AgvTaskMapper;
|
||||
|
|
@ -16,7 +17,10 @@ import org.cpte.modules.constant.enums.AgvVendorEnum;
|
|||
import org.cpte.modules.constant.enums.BusinessTypeEnum;
|
||||
import org.cpte.modules.constant.enums.CommonStatusEnum;
|
||||
import org.cpte.modules.inventory.service.IInventoryService;
|
||||
import org.cpte.modules.inventory.service.impl.InventoryServiceImpl;
|
||||
import org.cpte.modules.receive.entity.AsnDetail;
|
||||
import org.cpte.modules.receive.entity.ReceiveRecord;
|
||||
import org.cpte.modules.receive.mapper.AsnDetailMapper;
|
||||
import org.cpte.modules.receive.service.IAsnDetailService;
|
||||
import org.cpte.modules.receive.service.IAsnService;
|
||||
import org.cpte.modules.shipping.entity.Task;
|
||||
import org.cpte.modules.shipping.mapper.TaskMapper;
|
||||
|
|
@ -46,6 +50,9 @@ public class ITesAgvServiceImpl implements ITesAgvService {
|
|||
@Autowired
|
||||
private PointMapper pointMapper;
|
||||
|
||||
@Autowired
|
||||
private AsnDetailMapper asnDetailMapper;
|
||||
|
||||
@Autowired
|
||||
private TaskMapper taskMapper;
|
||||
|
||||
|
|
@ -55,9 +62,6 @@ public class ITesAgvServiceImpl implements ITesAgvService {
|
|||
@Autowired
|
||||
private OpenApiMapper openApiMapper;
|
||||
|
||||
@Autowired
|
||||
private IPointService pointService;
|
||||
|
||||
@Autowired
|
||||
private IAsnService asnService;
|
||||
|
||||
|
|
@ -300,6 +304,14 @@ public class ITesAgvServiceImpl implements ITesAgvService {
|
|||
Point point = pointMapper.queryByPointCode(agvTask.getEndCode());
|
||||
point.setStatus(CommonStatusEnum.USED.getValue());
|
||||
pointMapper.updateById(point);
|
||||
List<AsnDetail> asnDetails= asnDetailMapper.selectByMainId(agvTask.getBusinessDetailId());
|
||||
for (AsnDetail asnDetail : asnDetails){
|
||||
asnDetail.setToPointId(point.getId());
|
||||
}
|
||||
if(CollectionUtils.isNotEmpty(asnDetails)){
|
||||
asnDetailMapper.updateById(asnDetails);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void outBoundAgvTask(AgvTask newAgvTask, AgvTask agvTask) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue