Commit 450ac22c 张少辉

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

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