Merge remote-tracking branch 'origin/master_merge' into master_merge

This commit is contained in:
zhouz
2025-11-21 15:13:03 +08:00
3 changed files with 72 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
package org.nl.b_lms.bst.ivt.stockingivt.controller;
import cn.dev33.satoken.annotation.SaIgnore;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -75,6 +76,19 @@ public class BstIvtStockingivtController {
public ResponseEntity<Object> operateIvt(@RequestBody JSONObject param) {
return new ResponseEntity<>(bstIvtStockingivtService.operateIvt(param), HttpStatus.OK);
}
@Log("操作管芯托盘库存")
//@SaCheckPermission("@el.check('bstIvtStockingivt:del')")
@PostMapping("/callCheckTube")
public ResponseEntity<Object> callCheckTube(@RequestBody JSONObject param) {
return new ResponseEntity<>(bstIvtStockingivtService.callCheckTube(param), HttpStatus.OK);
}
@Log("操作管芯托盘库存")
@SaIgnore
//@SaCheckPermission("@el.check('bstIvtStockingivt:del')")
@PostMapping("/seePalletTube")
public ResponseEntity<Object> seePalletTube(@RequestBody JSONObject param) {
return new ResponseEntity<>(bstIvtStockingivtService.seePalletTube(param), HttpStatus.OK);
}
@Log("管芯托盘库存")
//@SaCheckPermission("@el.check('bstIvtStockingivt:del')")

View File

@@ -144,4 +144,8 @@ public interface IBstIvtStockingivtService extends IService<BstIvtStockingivt> {
List<BstIvtStockingivt> getMoveTaskPoints();
List<BstIvtStockingivt> getPointByVehicle(String vehicleCode, String pointCode);
JSONObject callCheckTube(JSONObject param);
JSONObject seePalletTube(JSONObject param);
}

View File

@@ -1,6 +1,7 @@
package org.nl.b_lms.bst.ivt.stockingivt.service.impl;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONArray;
import org.nl.common.utils.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
@@ -36,6 +37,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
* @author lyd
@@ -300,9 +302,25 @@ public class BstIvtStockingivtServiceImpl extends ServiceImpl<BstIvtStockingivtM
.eq(MdPbPapervehicle::getRow_num, row_num));
}
JSONObject result = new JSONObject();
result.put("status", HttpStatus.OK.value());
result.put("message", "操作成功!");
return result;
}
@Override
public JSONObject callCheckTube(JSONObject param) {
log.info("手持呼叫相机拍照检测: {}", param);
String vehicle_code = param.getString("vehicle_code");
//判断绑定的纸管是否在机械手范围内,如果存在的话把最新库存推送给电气
BstIvtStockingivt bstIvtStockingivt = bstIvtStockingivtMapper.selectOne(new LambdaQueryWrapper<BstIvtStockingivt>().eq(BstIvtStockingivt::getVehicle_code, vehicle_code));
if (bstIvtStockingivt != null && bstIvtStockingivt.getPoint_type().equals("1")) {
if (ObjectUtil.isEmpty(bstIvtStockingivt)) {
throw new BadRequestException("托盘:" + vehicle_code + " 不在点位上,请先绑定!");
}
if (!bstIvtStockingivt.getPoint_type().equals("1")) {
throw new BadRequestException("该站点" + bstIvtStockingivt.getPoint_code() + "不允许呼叫检测!");
}
if (bstIvtStockingivt != null) {
List<MdPbPapervehicle> list = papervehicleService.list(new LambdaQueryWrapper<MdPbPapervehicle>().eq(MdPbPapervehicle::getVehicle_code, vehicle_code));
JSONObject jo = new JSONObject();
SlitterTaskUtil.doSavePaperInfos(list, jo);
@@ -310,13 +328,47 @@ public class BstIvtStockingivtServiceImpl extends ServiceImpl<BstIvtStockingivtM
jo.put("device_code", bstIvtStockingivt.getPoint_code());
wmsToAcsService.getTubeMsg(jo);
}
JSONObject result = new JSONObject();
result.put("status", HttpStatus.OK.value());
result.put("message", "操作成功!");
return result;
}
@Override
public JSONObject seePalletTube(JSONObject param) {
JSONObject result = new JSONObject();
result.put("status", HttpStatus.OK.value());
result.put("message", "操作成功!");
String vehicle_code = param.getString("vehicle_code");
List<MdPbPapervehicle> list = papervehicleService.list(new LambdaQueryWrapper<MdPbPapervehicle>()
.eq(MdPbPapervehicle::getVehicle_code, vehicle_code)
.orderByAsc(MdPbPapervehicle::getRow_num));
if (list.size() == 0) {
result.put("flag", "1");
result.put("data", "LMS系统中该托盘没有管芯信息");
return result;
}
List<BstIvtStockingivt> bstIvtStockingivt = bstIvtStockingivtMapper.selectList(new LambdaQueryWrapper<BstIvtStockingivt>()
.eq(BstIvtStockingivt::getVehicle_code, vehicle_code));
if (bstIvtStockingivt.size() != 1) {
result.put("flag", "1");
result.put("data", bstIvtStockingivt.size() == 0 ? "LMS系统中该托盘没有绑定到点位上"
: "该托盘绑定到多个位置:" + bstIvtStockingivt.stream().map(BstIvtStockingivt::getPoint_code).collect(Collectors.joining(",")) + " 请确认!");
return result;
}
JSONArray arr = new JSONArray();
list.stream().forEach(l -> {
JSONObject paper = new JSONObject();
paper.put("row_num", l.getRow_num());
paper.put("number", l.getQty());
paper.put("tube", l.getMaterial_name());
arr.add(paper);
});
result.put("flag", "2");
result.put("data", arr);
return result;
}
@Override
public List<BhTubePointDto> getNeedPaperTubePoint(String pointType, String tube, String location) {
return bstIvtStockingivtMapper.getNeedPaperTubePoint(pointType, tube, location);