This commit is contained in:
zhouz
2024-06-26 21:49:24 +08:00
48 changed files with 2299 additions and 707 deletions

View File

@@ -94,4 +94,11 @@ public class StructattrController {
public ResponseEntity<Object> unLockPoint(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(structattrService.unLockPoint(whereJson), HttpStatus.OK);
}
@PostMapping("/tunConfirm")
@Log("二期禁用巷道")
public ResponseEntity<Object> tunConfirm(@RequestBody JSONObject json) {
structattrService.tunConfirm(json);
return new ResponseEntity<>(HttpStatus.OK);
}
}

View File

@@ -98,4 +98,13 @@ public interface StructattrService {
* @return
*/
JSONObject unLockPoint(JSONObject whereJson);
/**
* 二期禁用巷道
* @param json {
* block_num 巷道
* is_used: 0-禁用1-启用
* }
*/
void tunConfirm(JSONObject json);
}

View File

@@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
import org.nl.common.utils.MapOf;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
@@ -513,4 +514,17 @@ public class StructattrServiceImpl implements StructattrService {
return null;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void tunConfirm(JSONObject json) {
WQLObject tab = WQLObject.getWQLObject("st_ivt_structattr");
// 将这一巷道的所有仓位都禁用
JSONObject param = new JSONObject();
param.put("is_used", json.getString("is_used"));
tab.update(param,"sect_id = '"+IOSEnum.SECT_ID.code("二期主存区")+"' AND block_num = '"+json.getString("block_num")+"' AND is_delete = '0'");
}
}

View File

@@ -1779,21 +1779,29 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
.filter(r -> PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位").equals(r.getPoint_status())
&& PackageInfoIvtEnum.IVT_STATUS.code("空载具").equals(r.getIvt_status()))
.sorted(Comparator.comparing(BstIvtPackageinfoivt::getSort_seq).reversed()).collect(Collectors.toList());
//空载具缓存位有空载具
//空载具缓存位有空载具,桁架取空载具从外到里取空载具,升序
if (CollectionUtils.isNotEmpty(kzjPointList)) {
jo.put("point_code3", kzjPointList.get(0).getPoint_code());
//终点为输送线点位
jo.put("point_code4", whereJson.getString("device_code"));
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"));
} else {
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
//空载具缓存位缺少空载具,下发一个确定终点的空载具缓存位->输送线任务
// 创建前先判断是否有已创建相同任务
List<SchBaseTask> existTaskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))
.eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode())
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("")));
List<SchBaseTask> existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"));
if (CollectionUtils.isEmpty(existTaskList)) {
jo.put("point_code3", kzjPointList.get(0).getPoint_code());
//终点为输送线点位
jo.put("point_code4", whereJson.getString("device_code"));
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"));
jo.put("is_send", true);
mzhcwTask.createTask(jo);
}
} else {
//如果空载具缓存位确少空载具,创建输送线->满轴缓存位两个点任务
List<SchBaseTask> existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
if (CollectionUtils.isEmpty(existTaskList)) {
jo.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
jo.put("is_send", true);
mzhcwTask.createTask(jo);
}
//空载具缓存位缺少空载具,下发一个确定终点的空载具缓存位->输送线任务
List<SchBaseTask> existTasks = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
if (CollectionUtils.isEmpty(existTasks)) {
JSONObject jo1 = new JSONObject();
//创建确定终点任务
jo1.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
@@ -1804,27 +1812,24 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
ssxDjwTask.createTask(jo1);
}
}
jo.put("is_send", true);
mzhcwTask.createTask(jo);
result.put("status", HttpStatus.OK.value());
result.put("message", "反馈成功!");
} else {
// 如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发;
// 创建前先判断是否有已创建相同任务
List<SchBaseTask> existTaskList = taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
.eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))
.eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode()).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("")));
//如果有就不创建,没有就创建
if (CollectionUtils.isEmpty(existTaskList)) {
//只确定起点NBJ1002
JSONObject jo2 = new JSONObject();
jo2.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
jo2.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
jo2.put("point_code1", "NBJ1002");
jo.put("task_status", TaskStatusEnum.SURE_START.getCode());
jo2.put("is_send", false);
mzhcwTask.createTask(jo2);
}
// List<SchBaseTask> existTaskList = getExistTasks(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
// //如果有就不创建,没有就创建
// if (CollectionUtils.isEmpty(existTaskList)) {
// //只确定起点NBJ1002
// JSONObject jo2 = new JSONObject();
// jo2.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
// jo2.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"));
// jo2.put("point_code1", "NBJ1002");
// jo.put("task_status", TaskStatusEnum.SURE_START.getCode());
// jo2.put("is_send", false);
// mzhcwTask.createTask(jo2);
// }
result.put("status", HttpStatus.BAD_REQUEST.value());
result.put("message", "满轴缓存位暂无空位!");
}
} else {
log.info("二楼到一楼,成品子卷到达一楼输送线,异常,任务正在创建中");
@@ -1839,6 +1844,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
return result;
}
private List<SchBaseTask> getExistTasks(String taskType) {
return taskService.list(new LambdaUpdateWrapper<SchBaseTask>()
.eq(SchBaseTask::getTask_type, taskType)
.lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode())
.eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("")));
}
@Override
@Transactional(rollbackFor = Exception.class)
@@ -1948,7 +1960,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
log.info("applySendOutTwo输入参数---------------------------------------------" + whereJson.toString());
JSONObject result = new JSONObject();
try{
try {
// 校验是否是二次分配
if (ObjectUtil.isEmpty(whereJson.getString("task_code"))) {
// 第一次申请

View File

@@ -1,6 +1,7 @@
package org.nl.wms.sch.rest;
import cn.dev33.satoken.annotation.SaIgnore;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
@@ -69,6 +70,7 @@ public class TaskController {
@PutMapping("/operation")
@Log("任务操作")
@SaIgnore
public ResponseEntity<Object> update(@RequestBody Map<String, Object> map) {
taskService.operation(map);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);