fix: 手持下料查询

This commit is contained in:
2024-07-19 19:01:13 +08:00
parent d59e5d22a1
commit ee6c444b49
4 changed files with 96 additions and 6 deletions

View File

@@ -127,4 +127,10 @@ public class SlitterPdaController {
public ResponseEntity<Object> unBindSlitterSubVolumeInfo(@RequestBody JSONObject param) {
return new ResponseEntity<>(slitterDevices.unBindSlitterSubVolumeInfo(param), HttpStatus.OK);
}
@PostMapping("/querySlitterDeviceSubVolumeInfos")
@Log("查询手持查询设备对应的子卷数据")
@SaIgnore
public ResponseEntity<Object> querySlitterDeviceSubVolumeInfos(@RequestBody JSONObject param) {
return new ResponseEntity<>(slitterDevices.querySlitterDeviceSubVolumeInfos(param), HttpStatus.OK);
}
}

View File

@@ -214,4 +214,11 @@ public interface SlitterService {
* @return /
*/
JSONObject unBindSlitterSubVolumeInfo(JSONObject param);
/**
* 查询手持查询设备对应的子卷数据
* @param param /
* @return /
*/
JSONObject querySlitterDeviceSubVolumeInfos(JSONObject param);
}

View File

@@ -341,7 +341,7 @@ public class SlitterServiceImpl implements SlitterService {
String qzzNo = resourceName.substring(0, 2)
+ resourceName.substring(resourceName.length() - 2)
+ demoPlan.getSplit_group()
+ TaskUtils.getDateTime("MMddHHmmss") + "-"
+ TaskUtils.getDateTime("yyMMddHHmmss") + "-"
+ demoPlan.getUp_or_down();
plans.forEach(plan -> {
plan.setIs_child_tz_ok(SlitterConstant.SLITTER_YES);
@@ -1150,7 +1150,7 @@ public class SlitterServiceImpl implements SlitterService {
String qzzNo = resourceName.substring(0, 2)
+ resourceName.substring(resourceName.length() - 2)
+ demoPlan.getSplit_group()
+ TaskUtils.getDateTime("MMddHHmmss") + "-"
+ TaskUtils.getDateTime("yyMMddHHmmss") + "-"
+ demoPlan.getUp_or_down();
plans.forEach(p -> {
p.setQzzno(qzzNo);
@@ -1211,11 +1211,15 @@ public class SlitterServiceImpl implements SlitterService {
String qzzNo = resourceName.substring(0, 2)
+ resourceName.substring(resourceName.length() - 2)
+ demoPlan.getSplit_group()
+ TaskUtils.getDateTime("MMddHHmmss") + "-"
+ TaskUtils.getDateTime("yyMMddHHmmss") + "-"
+ demoPlan.getUp_or_down();
plans.forEach(p -> {
p.setQzzno(qzzNo);
p.setStatus("03");
if (pointCode.getPoint_type().equals("1")) {
p.setStatus("01");
} else {
p.setStatus("03");
}
TaskUtils.updateOptMessageBySlitterPlan(p);
});
if (pointCode1.endsWith("A")) {
@@ -1289,7 +1293,7 @@ public class SlitterServiceImpl implements SlitterService {
String qzzNo = resourceName.substring(0, 2)
+ resourceName.substring(resourceName.length() - 2)
+ demoPlan.getSplit_group()
+ TaskUtils.getDateTime("MMddHHmmss") + "-"
+ TaskUtils.getDateTime("yyMMddHHmmss") + "-"
+ demoPlan.getUp_or_down();
if (ObjectUtil.isNotEmpty(demoPlan.getQzzno())) {
qzzNo = demoPlan.getQzzno();
@@ -1329,4 +1333,77 @@ public class SlitterServiceImpl implements SlitterService {
res.put("message", "子卷信息清除成功!");
return res;
}
@Override
public JSONObject querySlitterDeviceSubVolumeInfos(JSONObject param) {
// param: device
log.info("查询分切机数据的输入参数为:{}", param);
JSONObject res = new JSONObject();
JSONObject data = new JSONObject();
res.put("status", HttpStatus.HTTP_OK);
res.put("data", data);
// param: device_code
String device_code = param.getString("device_code");
String msg = "";
StIvtCutpointivt deviceCode = cutpointivtService.getPintByExtCode(device_code, false);
String upQzzno = deviceCode.getUp_qzzno();
String downQzzno = deviceCode.getDown_qzzno();
if (ObjectUtil.isNotEmpty(upQzzno)) {
List<PdmBiSlittingproductionplan> byQzzNo = slittingproductionplanService.getByQzzNo(upQzzno);
if (byQzzNo.size() == 0) {
msg = "上轴对应的数据错误!";
} else {
String collect = byQzzNo
.stream()
.map(PdmBiSlittingproductionplan::getQzzno)
.collect(Collectors.joining(","));
data.put("up", collect);
}
} else {
msg = "上轴无子卷信息!";
}
if (ObjectUtil.isNotEmpty(downQzzno)) {
List<PdmBiSlittingproductionplan> byQzzNo = slittingproductionplanService.getByQzzNo(downQzzno);
if (byQzzNo.size() == 0) {
msg = msg + "下轴对应的数据错误!";
} else {
String collect = byQzzNo
.stream()
.map(PdmBiSlittingproductionplan::getQzzno)
.collect(Collectors.joining(","));
data.put("down", collect);
}
} else {
msg = msg + "下轴无子卷信息!";
}
String area = deviceCode.getProduct_area();
// 获取当前分切机的下一组分切计划(最多四条分切计划)
// hint: 获取到的分切可能是不同组的但具有一定时间顺序
List<PdmBiSlittingproductionplan> timePlans = slittingproductionplanService.list(
new LambdaQueryWrapper<PdmBiSlittingproductionplan>()
.eq(PdmBiSlittingproductionplan::getResource_name, deviceCode.getExt_code())
.eq(PdmBiSlittingproductionplan::getStatus, "03")
.eq(PdmBiSlittingproductionplan::getIs_delete, "0")
.orderByAsc(PdmBiSlittingproductionplan::getUpdate_time));
log.info("获取下一组分切计划:{}", timePlans);
if (timePlans.size() > 0) {
// 寻找备好轴的对接点位
List<BstIvtCutpointivt> cutPointList = slitterMapper.getReadyShaftPoint(deviceCode.getExt_code());
if (cutPointList.size() == 0) {
msg = msg + "没有套好轴的位置!";
} else {
// 找到该分切计划的点位
BstIvtCutpointivt newCutPoint = cutPointList.get(0);
String collect = timePlans.stream()
.map(PdmBiSlittingproductionplan::getQzzno)
.filter(ObjectUtil::isNotEmpty)
.collect(Collectors.joining(","));
msg = msg + "下一趟子卷号[" + collect + "]准备的气胀轴位置[" + newCutPoint.getPoint_code() + "]";
}
} else {
msg = msg + " 没有套好轴的下一趟分切计划!";
}
data.put("msg", msg);
return res;
}
}

View File

@@ -1012,7 +1012,7 @@ public class MesToLmsServiceImpl implements MesToLmsService {
String qzzNO = resourceName.substring(0, 2)
+ resourceName.substring(resourceName.length() - 2)
+ plan_jo.getString("split_group")
+ TaskUtils.getDateTime("MMddHHmmss") + "-"
+ TaskUtils.getDateTime("yyMMddHHmmss") + "-"
+ plan_jo.getString("up_or_down");
//赋值完成后,将气胀轴编号给绑定到分切机上
if (plan_jo.getString("up_or_down").equals("1")) {