常熟吴彦祖 3 days ago
parent
commit
0aa65d2064
  1. 28
      src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java

28
src/main/java/com/gaotao/modules/autoWareHourceHaian/service/impl/HaiAnPdaAutoWarehouseServiceImpl.java

@ -60,6 +60,7 @@ import com.gaotao.modules.trans.entity.TransNoControl;
import com.gaotao.modules.trans.service.TransNoControlService; import com.gaotao.modules.trans.service.TransNoControlService;
import org.apache.shiro.SecurityUtils; import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
@ -68,6 +69,7 @@ import org.springframework.util.StringUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
@ -105,6 +107,12 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe
@Autowired @Autowired
private HaiAnWcsApiService haiAnWcsApiService; private HaiAnWcsApiService haiAnWcsApiService;
/**
* 海安立库开关仅用于分拣清单测试特例判断接口真实外呼仍由HaiAnWcsApiServiceImpl统一控制 - rqrq
*/
@Value("${interface.haianWarehouse:false}")
private boolean haianWarehouseEnabled;
@Autowired @Autowired
private TransNoControlService transNoControlService; private TransNoControlService transNoControlService;
@ -375,6 +383,17 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe
try { try {
// 调用接口层查分拣清单入参site+locationCodeHTTP 是否外呼由接口层开关决定失败回退空列表不阻断 PDA - rqrq // 调用接口层查分拣清单入参site+locationCodeHTTP 是否外呼由接口层开关决定失败回退空列表不阻断 PDA - rqrq
String response = haiAnWcsApiService.queryAutoSortingInfo(queryRequest); String response = haiAnWcsApiService.queryAutoSortingInfo(queryRequest);
if (!haianWarehouseEnabled) {
// 立库未启用时临时返回固定标签供PDA分拣联调接口层仍已记录请求和短路响应测试结束后删除本分支 - rqrq
result.setRfidList(new ArrayList<String>(Arrays.asList(
"A552025100200000009",
"A552025100200000012",
"A552025100200000015"
)));
result.setMockMode(Boolean.TRUE);
result.setMessage("haianWarehouse=false,返回临时固定分拣清单");
return result;
}
ObjectMapper mapper = new ObjectMapper(); ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode = mapper.readTree(response); JsonNode rootNode = mapper.readTree(response);
List<String> rfidList = new ArrayList<String>(); List<String> rfidList = new ArrayList<String>();
@ -1214,8 +1233,8 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe
if ("Y".equals(palletInfo.getCallingFlag()) && !sortedSourcePallet) { if ("Y".equals(palletInfo.getCallingFlag()) && !sortedSourcePallet) {
throw new RuntimeException("栈板正在被调用,无法扫入"); throw new RuntimeException("栈板正在被调用,无法扫入");
} }
// 组盘入库/手工组盘以及分拣工作盘都要查 area.pack_able只有分拣页被分拣源盘跳过因为到站后 area 可能仍是立库禁盘区域 - rqrq
if (!sortedSourcePallet) {
// 人工分拣页的工作盘和被分拣源盘都跳过区域pack_able校验标签归属入库状态等其他校验继续执行 - rqrq
if (!HaiAnPdaSortFlagStaticData.isSortingScene(sortFlag) && !sortedSourcePallet) {
validatePackAbleForPalletOperation(site, palletInfo); validatePackAbleForPalletOperation(site, palletInfo);
} }
@ -1385,14 +1404,17 @@ public class HaiAnPdaAutoWarehouseServiceImpl implements HaiAnPdaAutoWarehouseSe
String partNo = request.getPartNo(); String partNo = request.getPartNo();
String createBy = request.getCreateBy(); String createBy = request.getCreateBy();
Integer wcsFlag = request.getWcsFlag() == null ? 1 : request.getWcsFlag(); Integer wcsFlag = request.getWcsFlag() == null ? 1 : request.getWcsFlag();
Integer sortFlag = request.getSortFlag();
if (!StringUtils.hasText(serialNo) || !StringUtils.hasText(originalPalletId) if (!StringUtils.hasText(serialNo) || !StringUtils.hasText(originalPalletId)
|| !StringUtils.hasText(originalPosition) || originalLayer == null || !StringUtils.hasText(partNo)) { || !StringUtils.hasText(originalPosition) || originalLayer == null || !StringUtils.hasText(partNo)) {
throw new RuntimeException("扫回参数不完整"); throw new RuntimeException("扫回参数不完整");
} }
HaiAnPalletInfoResult originalPalletInfo = loadRequiredPallet(site, originalPalletId); HaiAnPalletInfoResult originalPalletInfo = loadRequiredPallet(site, originalPalletId);
// 扫回本质是扫入原栈板需执行同样的pack_able权限校验 - rqrq
// 人工分拣扫回跳过区域pack_able校验普通业务调用仍保留原有区域权限校验 - rqrq
if (!HaiAnPdaSortFlagStaticData.isSortingScene(sortFlag)) {
validatePackAbleForPalletOperation(site, originalPalletInfo); validatePackAbleForPalletOperation(site, originalPalletInfo);
}
HaiAnHandlingUnitLabelRow labelInfo = haiAnPdaAutoWarehouseMapper.getHandlingUnitBySerialNo(serialNo); HaiAnHandlingUnitLabelRow labelInfo = haiAnPdaAutoWarehouseMapper.getHandlingUnitBySerialNo(serialNo);
if (labelInfo == null) { if (labelInfo == null) {

Loading…
Cancel
Save