Commit 450ac22c 张少辉

1.自动抛送odn增加库别信息

1 个父辈 6573a566
...@@ -946,6 +946,7 @@ public class StoragePosManagerImpl implements IStoragePosManager { ...@@ -946,6 +946,7 @@ public class StoragePosManagerImpl implements IStoragePosManager {
@Override @Override
public void updateBindOdnBarcode(String orderNo) { public void updateBindOdnBarcode(String orderNo) {
try {
Criteria criteria = Criteria.where("barcode.odn").is(orderNo); Criteria criteria = Criteria.where("barcode.odn").is(orderNo);
List<StoragePos> storagePosList = storagePosDao.findByQuery(new Query(criteria)); List<StoragePos> storagePosList = storagePosDao.findByQuery(new Query(criteria));
if (storagePosList != null && !storagePosList.isEmpty()){ if (storagePosList != null && !storagePosList.isEmpty()){
...@@ -961,5 +962,8 @@ public class StoragePosManagerImpl implements IStoragePosManager { ...@@ -961,5 +962,8 @@ public class StoragePosManagerImpl implements IStoragePosManager {
} }
} }
} }
}catch (Exception e){
e.printStackTrace();
}
} }
} }
...@@ -10,5 +10,6 @@ public class PnPriorityMt extends BasePo { ...@@ -10,5 +10,6 @@ public class PnPriorityMt extends BasePo {
private int priority; private int priority;
private String modelFamily; private String modelFamily;
private int checkOutNum; private int checkOutNum;
private String warehouse;
//private int inventoryNum; //private int inventoryNum;
} }
...@@ -18,6 +18,8 @@ public class PnPriorityMtDto implements Serializable { ...@@ -18,6 +18,8 @@ public class PnPriorityMtDto implements Serializable {
private int priority; private int priority;
private String warehouse;
//机种 //机种
private String modelFamily; private String modelFamily;
......
...@@ -65,20 +65,20 @@ public class AutoDispatchInventoryController { ...@@ -65,20 +65,20 @@ public class AutoDispatchInventoryController {
private IAutoStoOdnManager autoStoOdnManager; private IAutoStoOdnManager autoStoOdnManager;
@Scheduled(fixedRate = 1000 * 60 * 30) @Scheduled(fixedRate = 1000 * 60 * 1)
private void autoSend(){ private void autoSend() {
Boolean dispath = dataCache.getCache(Constants.CACHE_AutoDispatchInventory); Boolean dispath = dataCache.getCache(Constants.CACHE_AutoDispatchInventory);
if (dispath == null){ if (dispath == null) {
dispath = false; dispath = false;
} }
if (!dispath){ if (!dispath) {
log.info("【自动出库】自动派发未开启,直接退出"); log.info("【自动出库】自动派发未开启,直接退出");
return; return;
} }
log.info("【自动出库】开始执行自动派发任务"); log.info("【自动出库】开始执行自动派发任务");
List<PnPriorityMt> pnPriorityMtList = pnPriorityMtManager.findByQuery(new Query()); List<PnPriorityMt> pnPriorityMtList = pnPriorityMtManager.findByQuery(new Query());
if (pnPriorityMtList == null || pnPriorityMtList.isEmpty()){ if (pnPriorityMtList == null || pnPriorityMtList.isEmpty()) {
log.info("【自动出库】未查询到任何优先级料号配置,退出"); log.info("【自动出库】未查询到任何优先级料号配置,退出");
return; return;
} }
...@@ -94,13 +94,18 @@ public class AutoDispatchInventoryController { ...@@ -94,13 +94,18 @@ public class AutoDispatchInventoryController {
int needNum = 0; int needNum = 0;
int count = 0; int count = 0;
int checkOutNum = mt.getCheckOutNum(); int checkOutNum = mt.getCheckOutNum();
String warehouse = mt.getWarehouse();
String modelFamily = mt.getModelFamily();
log.info("=================================================="); log.info("==================================================");
log.info("【自动出库】开始处理料号:{},需求数量:{}", partNumber, checkOutNum); log.info("【自动出库】开始处理料号:{},需求数量:{}", partNumber, checkOutNum);
//判断有没有已经抛送过了 //判断有没有已经抛送过了
Query query = new Query(Criteria.where("barcode.partNumber").is(partNumber).and("barcode.odn").exists(true).ne("")); Query query = new Query(Criteria.where("barcode.partNumber").is(partNumber)
.and("barcode.warehouseCode").is(warehouse)
.and("barcode.modelFamily").is(modelFamily)
.and("barcode.odn").exists(true).ne(""));
StoragePos oldPos = storagePosManager.findOne(query); StoragePos oldPos = storagePosManager.findOne(query);
if (oldPos != null){ if (oldPos != null) {
log.info("【自动出库】料号{}已抛送过,ODN:{},跳过", partNumber, oldPos.getBarcode().getOdn()); log.info("【自动出库】料号{}已抛送过,ODN:{},跳过", partNumber, oldPos.getBarcode().getOdn());
continue; continue;
} }
...@@ -119,9 +124,9 @@ public class AutoDispatchInventoryController { ...@@ -119,9 +124,9 @@ public class AutoDispatchInventoryController {
AutoStoRequest autoStoRequest = new AutoStoRequest(); AutoStoRequest autoStoRequest = new AutoStoRequest();
List<StoragePos> autoStoPosList = new ArrayList<>(); List<StoragePos> autoStoPosList = new ArrayList<>();
while (needNum < checkOutNum && count < 20){ while (needNum < checkOutNum && count < 20) {
StoragePos pos = storagePosManager.findPartNumberInStorages(storageIdList, partNumber, excludeOutPosIds, checkOutType); StoragePos pos = storagePosManager.findPartNumberInStorages(storageIdList, partNumber, excludeOutPosIds, checkOutType);
if (pos == null){ if (pos == null) {
log.info("【自动出库】料号{}未找到可用库位,退出分配", partNumber); log.info("【自动出库】料号{}未找到可用库位,退出分配", partNumber);
break; break;
} }
...@@ -134,9 +139,24 @@ public class AutoDispatchInventoryController { ...@@ -134,9 +139,24 @@ public class AutoDispatchInventoryController {
excludeOutPosIds.add(pos.getId()); excludeOutPosIds.add(pos.getId());
continue; continue;
} }
//判断库别和机种是否一样
String warehouseCode = barcode.getWarehouseCode();
if (StringUtils.isNotEmpty(warehouseCode)) {
if (!warehouseCode.equals(warehouse)) {
excludeOutPosIds.add(pos.getId());
continue;
}
}
String barcodeModelFamily = barcode.getModelFamily();
if (StringUtils.isNotEmpty(barcodeModelFamily)) {
if (!barcodeModelFamily.equals(modelFamily)) {
excludeOutPosIds.add(pos.getId());
continue;
}
}
String keyId = autoStoRequest.getKey_id(); String keyId = autoStoRequest.getKey_id();
if (StringUtils.isEmpty(keyId)){ if (StringUtils.isEmpty(keyId)) {
keyId = UUID.randomUUID().toString(); keyId = UUID.randomUUID().toString();
autoStoRequest.setKey_id(keyId); autoStoRequest.setKey_id(keyId);
log.info("【自动出库】生成请求ID:{}", keyId); log.info("【自动出库】生成请求ID:{}", keyId);
...@@ -164,7 +184,7 @@ public class AutoDispatchInventoryController { ...@@ -164,7 +184,7 @@ public class AutoDispatchInventoryController {
} }
int qty = autoStoRequest.getQty(); int qty = autoStoRequest.getQty();
if (qty <= 0){ if (qty <= 0) {
log.warn("【自动出库】料号{}未选中任何库存,跳过接口调用", partNumber); log.warn("【自动出库】料号{}未选中任何库存,跳过接口调用", partNumber);
continue; continue;
} }
......
...@@ -115,6 +115,7 @@ public class PnPriorityMtController { ...@@ -115,6 +115,7 @@ public class PnPriorityMtController {
headerList.add(Arrays.asList("id")); headerList.add(Arrays.asList("id"));
headerList.add(Arrays.asList("料号")); headerList.add(Arrays.asList("料号"));
headerList.add(Arrays.asList("机种")); headerList.add(Arrays.asList("机种"));
headerList.add(Arrays.asList("库别"));
headerList.add(Arrays.asList("出库数量")); headerList.add(Arrays.asList("出库数量"));
headerList.add(Arrays.asList("优先级")); headerList.add(Arrays.asList("优先级"));
headerList.add(Arrays.asList("创建时间")); headerList.add(Arrays.asList("创建时间"));
...@@ -131,6 +132,7 @@ public class PnPriorityMtController { ...@@ -131,6 +132,7 @@ public class PnPriorityMtController {
data.add(pnPriorityMt.getId()); data.add(pnPriorityMt.getId());
data.add(pnPriorityMt.getPartNumber()); data.add(pnPriorityMt.getPartNumber());
data.add(pnPriorityMt.getModelFamily()); data.add(pnPriorityMt.getModelFamily());
data.add(pnPriorityMt.getWarehouse());
data.add(pnPriorityMt.getCheckOutNum()); data.add(pnPriorityMt.getCheckOutNum());
data.add(pnPriorityMt.getPriority()); data.add(pnPriorityMt.getPriority());
data.add(pnPriorityMt.getCreateDate()); data.add(pnPriorityMt.getCreateDate());
...@@ -185,6 +187,7 @@ public class PnPriorityMtController { ...@@ -185,6 +187,7 @@ public class PnPriorityMtController {
try { try {
csvRead = CsvReader.newReader(fileURL, "料号", "料号"); csvRead = CsvReader.newReader(fileURL, "料号", "料号");
int partNumberIndex = csvRead.getIndex("料号", "料号"); int partNumberIndex = csvRead.getIndex("料号", "料号");
int warehouseIndex = csvRead.getIndex("库别", "库别");
int modelIndex = csvRead.getIndex("机种", "机种"); int modelIndex = csvRead.getIndex("机种", "机种");
int checkOutIndex = csvRead.getIndex("出库数量", "出库数量"); int checkOutIndex = csvRead.getIndex("出库数量", "出库数量");
int priorityIndex = csvRead.getIndex("优先级", "优先级"); int priorityIndex = csvRead.getIndex("优先级", "优先级");
...@@ -201,6 +204,10 @@ public class PnPriorityMtController { ...@@ -201,6 +204,10 @@ public class PnPriorityMtController {
if (StringUtils.isEmpty(modelValue)) { if (StringUtils.isEmpty(modelValue)) {
continue; continue;
} }
String warehouseValue = lineValues[warehouseIndex];
if (StringUtils.isEmpty(warehouseValue)) {
continue;
}
String priorityValue = lineValues[priorityIndex]; String priorityValue = lineValues[priorityIndex];
if (StringUtils.isEmpty(priorityValue)){ if (StringUtils.isEmpty(priorityValue)){
continue; continue;
...@@ -218,6 +225,7 @@ public class PnPriorityMtController { ...@@ -218,6 +225,7 @@ public class PnPriorityMtController {
mt.setCheckOutNum(checkOutNum); mt.setCheckOutNum(checkOutNum);
mt.setModelFamily(modelValue); mt.setModelFamily(modelValue);
mt.setCheckOutNum(checkOutNum); mt.setCheckOutNum(checkOutNum);
mt.setWarehouse(warehouseValue);
resultList.add(mt); resultList.add(mt);
} }
} catch (Exception ex) { } catch (Exception ex) {
...@@ -239,12 +247,14 @@ public class PnPriorityMtController { ...@@ -239,12 +247,14 @@ public class PnPriorityMtController {
List<String> titles = new ArrayList<>(); List<String> titles = new ArrayList<>();
titles.add("料号"); titles.add("料号");
titles.add("机种"); titles.add("机种");
titles.add("库别");
titles.add("出库数量"); titles.add("出库数量");
titles.add("优先级"); titles.add("优先级");
for (int i = 1; i <= 10; i++) { for (int i = 1; i <= 10; i++) {
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("料号", "料号" + i); map.put("料号", "料号" + i);
map.put("机种", "机种" + i); map.put("机种", "机种" + i);
map.put("库别", "库别" + i);
map.put("出库数量", i); map.put("出库数量", i);
map.put("优先级", i); map.put("优先级", i);
maps.add(map); maps.add(map);
......
...@@ -19,8 +19,8 @@ spring: ...@@ -19,8 +19,8 @@ spring:
backup-mongodb: backup-mongodb:
host: 10.68.27.128 # 主机地址 host: 10.68.27.128 # 主机地址
port: 27017 # 端口 port: 8001 # 端口
database: 8001 # 数据库 database: wipsmf # 数据库
username: neotel username: neotel
password: neotel password: neotel
......
...@@ -105,5 +105,5 @@ app: ...@@ -105,5 +105,5 @@ app:
type: "" type: ""
menu: menu:
show: odnShipment show: shipPnMaint
hide: hide:
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!