设备修改

parent 86789f0a
......@@ -566,6 +566,8 @@ public class SwaggerMapParamConfig {
return "回退版本请求参数";
case "getSceneVersion":
return "获取场景文件数字请求参数";
case "deleteAllScenesByUser":
return "删除用户所有场景请求参数";
default:
return "请求参数";
}
......
......@@ -121,6 +121,47 @@ public class LanuchController {
return result ? R.ok(true) : R.ok(false, "删除场景失败");
}
/**
* 删除用户下所有场景
*/
@PostMapping("/deleteAllScenesByUser")
@Operation(summary = "删除用户下所有场景")
public R<Boolean> deleteAllScenesByUser(@RequestBody Map<String, String> params) {
String userId = params.get("userId");
if (userId == null || userId.isEmpty()) {
return R.failed("用户ID不能为空");
}
// 查询该用户的所有场景
List<ProdSceneConfig> scenes = prodSceneConfigService.lambdaQuery()
.eq(ProdSceneConfig::getCreateUser, userId)
.list();
boolean hasDeletionFailure = false;
String failureMessage = "";
// 逐个删除场景
for (ProdSceneConfig scene : scenes) {
try {
boolean result = prodSceneConfigService.deleteSceneById(scene.getSceneId());
if (!result) {
hasDeletionFailure = true;
failureMessage += "场景ID " + scene.getSceneId() + " 删除失败; ";
}
} catch (Exception e) {
hasDeletionFailure = true;
failureMessage += "场景ID " + scene.getSceneId() + " 删除异常: " + e.getMessage() + "; ";
}
}
if (hasDeletionFailure) {
return R.ok(false, failureMessage);
}
return R.ok(true, "成功删除用户 " + userId + " 下的 " + scenes.size() + " 个场景");
}
/**
* 获取用户所有场景
*/
......
......@@ -36,26 +36,20 @@ public class ChromosomeDataController {
@PathVariable String entityName,
@RequestBody Paged paged) {
try {
// 获取sceneId(文件实体需要,数据库实体可选)
String sceneId = paged.getCondition("sceneId") != null ?
paged.getCondition("sceneId").getFieldValue() : null;
// 文件实体必须要有sceneId
if (isFileEntity(entityName) && (sceneId == null || sceneId.isEmpty())) {
return R.failed("文件实体查询时sceneId不能为空");
return R.ok(null);
}
Map<String, Object> result = chromosomeDataService.queryChromosomeDataWithConditions(
sceneId, entityName, paged);
return R.ok(result);
} catch (Exception e) {
// 检查是否是场景文件不存在的异常
if (e.getMessage() != null && e.getMessage().contains("未找到场景ID为") && e.getMessage().contains("的Chromosome数据")) {
return R.ok(null);
}
return R.failed("查询失败: " + e.getMessage());
}
}
/**
......@@ -114,25 +108,18 @@ public class ChromosomeDataController {
@PathVariable String entityName,
@RequestParam String id) {
try {
// 文件实体必须要有sceneId
if (isFileEntity(entityName) && (sceneId == null || sceneId.isEmpty())) {
return R.failed("文件实体查询时sceneId不能为空");
}
Object result = chromosomeDataService.queryChromosomeDataById(sceneId, entityName, id);
if (result != null) {
return R.ok(result);
} else {
return R.failed("未找到ID为 " + id + " 的数据");
}
} catch (Exception e) {
// 检查是否是场景文件不存在的异常
if (e.getMessage() != null && e.getMessage().contains("未找到场景ID为") && e.getMessage().contains("的Chromosome数据")) {
return R.ok(null);
}
return R.failed("查询失败: " + e.getMessage());
}
return R.ok(result);
}
......
......@@ -638,6 +638,7 @@ public class ResourceGanttController {
taskVO.setDuration(0); //
taskVO.setEquipId(machine.getId());
taskVO.setEquipCode(machine.getCode());
taskVO.setShopId(machine.getId());
taskVO.setShopName(resourceGanttVO.getShopName());
taskVO.setStatus(0); // 默认值
......
......@@ -76,7 +76,8 @@ public class TaskVO {
@Schema(description = "设备ID")
private long equipId;
@Schema(description = "设备编码")
private String equipCode;
@Schema(description = "车间ID")
private long shopId;
......
......@@ -19,6 +19,7 @@ public class Order {
private String materialCode;
private String serie;
private Integer routingId;
private String routingCode;
private double quantity = 100; // 100个
private double sYQuantity;
private LocalDateTime startDate;
......
......@@ -34,7 +34,8 @@ public class KpiCalculator {
.mapToDouble(Machine::getRate)
.max()
.orElse(0);
addKpi(kpiMetrics,"最大设备利用率", machineMaxRate, "实际工作时间/计划工作时间 最大", 0, 1);
addKpi(kpiMetrics,"最大设备利用率", Math.round(machineMaxRate * 100.0) / 100.0, "实际工作时间/计划工作时间 最大", 0, 1);
//最小设备利用率
double machineMinRate = chromosome.getMachines().stream()
.mapToDouble(Machine::getRate)
......
......@@ -321,6 +321,7 @@ if(routingIds.size()==0)
order.setRoutingId(headers1.getId());
order.setRoutingCode(headers1.getCode());
ProdLaunchOrder prodOrderMain= convertToLaunchOrder(order,"");
List<RoutingDetailEquip> finalRoutingDetailEquips = routingDetailEquips;
......
......@@ -165,7 +165,7 @@ public class DatabaseQueryService {
}
}
throw new RuntimeException("未找到ID为 " + id + " 的数据");
return null; // 找不到数据时返回null而不是抛出异常
}
/**
......
......@@ -288,6 +288,7 @@ public class LanuchServiceImpl implements LanuchService {
dispatch.setOpe(entry1.getRoutingDetailName());
dispatch.setRoutingDetailId(entry1.getRoutingDetailId());
dispatch.setStatus(12L);
// 添加到列表中
dispatches.add(dispatch);
}
......@@ -360,6 +361,7 @@ public class LanuchServiceImpl implements LanuchService {
launchOrder.setCreateUser(String.valueOf(order.getCreatoruserid()));
launchOrder.setMaterialCode(order.getMmcode());
launchOrder.setEndDate(order.getDeliverytime());
launchOrder.setStartDate(order.getBegintime());
try {
launchOrder.setOrderPriority(Integer.valueOf(order.getPrioritry()));
......
......@@ -940,6 +940,7 @@ private GlobalParam InitGlobalParam()
order.setOrderCode(lo.getOrderCode());
order.setOrderId(lo.getOrderId());
order.setRoutingId(lo.getRoutingId());
order.setRoutingCode(lo.getRoutingCode());
order.setMaterialId(lo.getMaterialId());
order.setStartDate(lo.getStartDate());
order.setDueDate(lo.getEndDate());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment