|
@@ -27,6 +27,7 @@ import com.github.zuihou.business.edgeLibrary.entity.StockInfo;
|
|
|
import com.github.zuihou.business.edgeLibrary.entity.StockLog;
|
|
|
import com.github.zuihou.business.edgeLibrary.entity.Storge;
|
|
|
import com.github.zuihou.business.edgeLibrary.service.StockInfoService;
|
|
|
+import com.github.zuihou.business.edgeLibrary.service.StockLogService;
|
|
|
import com.github.zuihou.business.edgeLibrary.service.StorgeService;
|
|
|
import com.github.zuihou.business.externalApi.dto.ManualInfo;
|
|
|
import com.github.zuihou.business.operationManagementCenter.dao.*;
|
|
@@ -202,6 +203,9 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
|
|
|
@Autowired
|
|
|
private TrayService trayService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private StockLogService stockLogService;
|
|
|
+
|
|
|
//总控IP
|
|
|
private String ZK_ip = "192.168.1.41";
|
|
|
|
|
@@ -2417,8 +2421,6 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
|
|
|
task.getProcedureId()));
|
|
|
// 毛料出库
|
|
|
if (meterialList != null && meterialList.size() > 0) {
|
|
|
-
|
|
|
- //List<StockInfo> trayList = stockInfoService.list(new LbqWrapper<StockInfo>().eq(StockInfo::getStorgeId, ));
|
|
|
R<String> ckresult = stockInfoService.meterialStockOut(meterialList.get(0),
|
|
|
Long.parseLong(srcStorgeId), task.getCompleteBatchNo());
|
|
|
|
|
@@ -2462,7 +2464,8 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
|
|
|
}
|
|
|
return result;
|
|
|
|
|
|
- } else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_METERIAL_CRK.equals(stockType)) {//出入库
|
|
|
+ }
|
|
|
+ else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_METERIAL_CRK.equals(stockType)) {//出入库
|
|
|
List<BomProcedureMeterial> meterialList =
|
|
|
bomProcedureMeterialService.list(Wraps.<BomProcedureMeterial>lbQ().eq(BomProcedureMeterial::getProcedureId,
|
|
|
task.getProcedureId()));
|
|
@@ -2478,9 +2481,9 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
|
|
|
}
|
|
|
return ckresult;
|
|
|
}
|
|
|
- } else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_TRAY_CRK.equals(stockType)) {//机器人放子盘夹具到上下料站
|
|
|
-// List<BomProcedureTray> trayList = procedureTrayService.list(Wraps.<BomProcedureTray>lbQ().eq
|
|
|
-// (BomProcedureTray::getId,task.ge()));
|
|
|
+ }
|
|
|
+ else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_TRAY_CRK.equals(stockType)) {
|
|
|
+ //机器人放子盘夹具到上下料站
|
|
|
List<BomProcedureTray> trayList =
|
|
|
procedureTrayService.list(Wraps.<BomProcedureTray>lbQ().eq(BomProcedureTray::getProcedureId,
|
|
|
task.getProcedureId()).orderByAsc(BomProcedureTray::getBizType));
|
|
@@ -2497,7 +2500,10 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- } else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_ALL_CRK.equals(stockType)) {//托盘夹具、原料一起出库
|
|
|
+ }
|
|
|
+ else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_ALL_CRK.equals(stockType)) {
|
|
|
+ /*
|
|
|
+ //托盘夹具、原料一起出库
|
|
|
List<BomProcedureMeterial> meterialList =
|
|
|
bomProcedureMeterialService.list(Wraps.<BomProcedureMeterial>lbQ().eq(BomProcedureMeterial::getProcedureId,
|
|
|
task.getProcedureId()));
|
|
@@ -2524,8 +2530,29 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
|
|
|
result.getData(), task.getCompleteBatchNo());
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- } else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_PLATE_CRK.equals(stockType)) {//托板出入库
|
|
|
+ } */
|
|
|
+ List<StockInfo> stockInfoList = stockInfoService.list(new LbqWrapper<StockInfo>().eq(StockInfo::getStorgeId,srcStorgeId).in(StockInfo::getGoodsType, new String[]{"1","2", "4"}));
|
|
|
+ if(stockInfoList.size()==0) return R.fail("库位数据为空");
|
|
|
+ if(stockInfoList.size() > 3){
|
|
|
+ // 解决库位混乱 保持数据正确性迁移
|
|
|
+ IPage<StockLog> page = new Page<StockLog>(1L, 3L);
|
|
|
+ LbqWrapper<StockLog> wrapper = new LbqWrapper<StockLog>();
|
|
|
+ wrapper.eq(StockLog::getStorgeId, srcStorgeId).eq(StockLog::getCompleteBatchNo, task.getCompleteBatchNo()).orderByDesc(StockLog::getId);
|
|
|
+ IPage ipage = stockLogService.pageLog(page, wrapper);
|
|
|
+ List<StockLog> stockLogList = ipage.getRecords();
|
|
|
+ List unicodeList = stockLogList.stream().map(StockLog::getUniqueCode).collect(Collectors.toList());
|
|
|
+ stockInfoList = stockInfoList.stream().filter(item -> unicodeList.contains(item.getUniqueCode())).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
+ //批量更新库位位置 从起点->终点
|
|
|
+ UpdateWrapper<StockInfo> updateWrapper = new UpdateWrapper<StockInfo>();
|
|
|
+ Long[] ids = stockInfoList.stream().map(StockInfo::getId).toArray(Long[]::new);
|
|
|
+ updateWrapper.lambda().set(StockInfo::getStorgeId, targetStorgeId).in(StockInfo::getId, ids);
|
|
|
+ stockInfoService.update(null, updateWrapper);
|
|
|
+
|
|
|
+ }
|
|
|
+ else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_PLATE_CRK.equals(stockType)) {
|
|
|
+ //托板出入库
|
|
|
//WMS只要把原材料入库
|
|
|
R<StockInfo> ckresult = stockInfoService.plateStockOut(Long.parseLong(srcStorgeId),
|
|
|
task.getCompleteBatchNo());
|
|
@@ -2536,7 +2563,9 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
|
|
|
return rkresult;
|
|
|
}
|
|
|
return R.success("");
|
|
|
- } else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_ALL_CRK_WITH_PLATE.equals(stockType)) {//托板出入库
|
|
|
+ }
|
|
|
+ else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_ALL_CRK_WITH_PLATE.equals(stockType)) {
|
|
|
+ //托板出入库
|
|
|
List<BomProcedureMeterial> meterialList =
|
|
|
bomProcedureMeterialService.list(Wraps.<BomProcedureMeterial>lbQ().eq(BomProcedureMeterial::getProcedureId,
|
|
|
task.getProcedureId()));
|
|
@@ -2573,15 +2602,21 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
|
|
|
return rkresultStock;
|
|
|
}
|
|
|
return R.success("");
|
|
|
- } else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_HAND_CK.equals(stockType)) {//手抓出库
|
|
|
+ }
|
|
|
+ else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_HAND_CK.equals(stockType)) {
|
|
|
+ //手抓出库
|
|
|
//WMS只要把原材料入库
|
|
|
R<String> ckresult = stockInfoService.handStockOut();
|
|
|
return ckresult;
|
|
|
- } else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_HAND_RK.equals(stockType)) {//手抓入库
|
|
|
+ }
|
|
|
+ else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_HAND_RK.equals(stockType)) {
|
|
|
+ //手抓入库
|
|
|
//WMS只要把原材料入库
|
|
|
R<String> rkresult = stockInfoService.handStockIn(task.getCompleteBatchNo());
|
|
|
return rkresult;
|
|
|
- } else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_METERIAL_JIAJU_RK.equals(stockType)) {//原材料和夹具入库
|
|
|
+ }
|
|
|
+ else if (DemoLineConstant.DEMOLINE_STOCK_TYPE_METERIAL_JIAJU_RK.equals(stockType)) {
|
|
|
+ //原材料和夹具入库
|
|
|
List<BomProcedureMeterial> meterialList =
|
|
|
bomProcedureMeterialService.list(Wraps.<BomProcedureMeterial>lbQ().eq(BomProcedureMeterial::getProcedureId,
|
|
|
task.getProcedureId()));
|
|
@@ -2606,7 +2641,8 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
- }else if (DemoLineConstant.DEMOLINE_CUT_TOOL_CRK.equals(stockType)){
|
|
|
+ }
|
|
|
+ else if (DemoLineConstant.DEMOLINE_CUT_TOOL_CRK.equals(stockType)){
|
|
|
//刀具出入库处理
|
|
|
targetStorgeId = callBackJson.getString("targetPostion");
|
|
|
String locationNo = callBackJson.getString("locationNo"); //起始刀位号
|
|
@@ -2634,7 +2670,6 @@ public class TaskNodeServiceImpl extends SuperServiceImpl<TaskNodeMapper, TaskNo
|
|
|
throw new RuntimeException(e);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
cuttingTool.setDeviceId(0L).setCutterNo(0L);
|
|
|
cuttingToolService.updateById(cuttingTool);
|
|
|
//刀具出库移动到目的位
|