add 新增需求
This commit is contained in:
@@ -291,8 +291,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
data = feedBackStatus(data, index, 2, inst, task, 2, false);
|
data = feedBackStatus(data, index, 2, inst, task, 2, false);
|
||||||
|
actionFinishRequest2(task,device_code);
|
||||||
} else if (device_code.contains("_02")) {
|
} else if (device_code.contains("_02")) {
|
||||||
data = feedBackStatus(data, index, 2, inst, task, 2, false);
|
data = feedBackStatus(data, index, 2, inst, task, 2, false);
|
||||||
|
actionFinishRequest2(task,device_code);
|
||||||
} else {
|
} else {
|
||||||
CompletableFuture.runAsync(() -> {
|
CompletableFuture.runAsync(() -> {
|
||||||
try {
|
try {
|
||||||
@@ -315,15 +317,18 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
data = feedBackStatus(data, index, 2, inst, task, 2, false);
|
data = feedBackStatus(data, index, 2, inst, task, 2, false);
|
||||||
|
actionFinishRequest2(task,device_code);
|
||||||
}
|
}
|
||||||
} else if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
|
} else if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
|
||||||
try {
|
try {
|
||||||
data = feedBackStatus(data, index, 2, inst, task, 1, false);
|
data = feedBackStatus(data, index, 2, inst, task, 1, false);
|
||||||
|
actionFinishRequest2(task,device_code);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.info("取货完成反馈AGV状态失败:{}", e.getMessage());
|
log.info("取货完成反馈AGV状态失败:{}", e.getMessage());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
|
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
|
||||||
|
actionFinishRequest2(task,device_code);
|
||||||
}
|
}
|
||||||
//到达放货等待点
|
//到达放货等待点
|
||||||
//(需要WCS反馈)
|
//(需要WCS反馈)
|
||||||
@@ -633,4 +638,13 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void actionFinishRequest2(TaskDto task,String device_code){
|
||||||
|
String hasWms = paramService.findByCode("hasWms").getValue();
|
||||||
|
if (StrUtil.isNotEmpty(hasWms) && "1".equals(hasWms)) {
|
||||||
|
JSONObject jo = new JSONObject();
|
||||||
|
jo.put("task_code", task.getTask_code());
|
||||||
|
jo.put("device_code", device_code);
|
||||||
|
HttpResponse httpResponse = acsToWmsService.actionFinishRequest2(jo);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,11 +85,10 @@ public class WmsToAcsController {
|
|||||||
@Log(value = "WMS查询设备DB值")
|
@Log(value = "WMS查询设备DB值")
|
||||||
@ApiOperation("WMS查询设备DB值")
|
@ApiOperation("WMS查询设备DB值")
|
||||||
@SaIgnore
|
@SaIgnore
|
||||||
public ResponseEntity<Object> queryDeviceDBValue(@RequestBody String whereJson){
|
public ResponseEntity<Object> queryDeviceDBValue(@RequestBody String whereJson) {
|
||||||
return new ResponseEntity<>(wmstoacsService.queryDeviceDBValue(whereJson), HttpStatus.OK);
|
return new ResponseEntity<>(wmstoacsService.queryDeviceDBValue(whereJson), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("/putPlusPullAction")
|
@PostMapping("/putPlusPullAction")
|
||||||
@Log(value = "WMS下发插拔轴动作")
|
@Log(value = "WMS下发插拔轴动作")
|
||||||
@ApiOperation("WMS下发插拔轴动作")
|
@ApiOperation("WMS下发插拔轴动作")
|
||||||
|
|||||||
@@ -134,4 +134,6 @@ public interface AcsToWmsService {
|
|||||||
* 任务阶段反馈最新点位
|
* 任务阶段反馈最新点位
|
||||||
*/
|
*/
|
||||||
String feedbackState(BaseRequest request);
|
String feedbackState(BaseRequest request);
|
||||||
|
|
||||||
|
HttpResponse actionFinishRequest2(JSONObject jsonObject);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import org.nl.acs.ext.wms.service.AcsToWmsService;
|
|||||||
import org.nl.acs.log.service.DeviceExecuteLogService;
|
import org.nl.acs.log.service.DeviceExecuteLogService;
|
||||||
import org.nl.acs.task.service.TaskService;
|
import org.nl.acs.task.service.TaskService;
|
||||||
import org.nl.acs.task.service.dto.TaskDto;
|
import org.nl.acs.task.service.dto.TaskDto;
|
||||||
import org.nl.config.SpringContextHolder;
|
|
||||||
import org.nl.system.service.lucene.LuceneExecuteLogService;
|
import org.nl.system.service.lucene.LuceneExecuteLogService;
|
||||||
import org.nl.system.service.lucene.dto.LuceneLogDto;
|
import org.nl.system.service.lucene.dto.LuceneLogDto;
|
||||||
import org.nl.system.service.param.ISysParamService;
|
import org.nl.system.service.param.ISysParamService;
|
||||||
@@ -562,6 +561,36 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HttpResponse actionFinishRequest2(JSONObject from) {
|
||||||
|
String wmsUrl = paramService.findByCode(AcsConfig.WMSURL).getValue();
|
||||||
|
AddressDto addressDto = addressService.findByCode("actionFinishRequest2");
|
||||||
|
String methods_url = addressDto.getMethods_url();
|
||||||
|
String url = wmsUrl + methods_url;
|
||||||
|
HttpResponse result = null;
|
||||||
|
log.info("actionFinishRequest2----请求参数{}", from);
|
||||||
|
try {
|
||||||
|
result = HttpRequest.post(url)
|
||||||
|
.body(String.valueOf(from))
|
||||||
|
.execute();
|
||||||
|
LuceneLogDto reqlogDto = LuceneLogDto.builder()
|
||||||
|
.device_code(from.getString("device_code"))
|
||||||
|
.task_code(from.getString("task_code"))
|
||||||
|
.status_code(StrUtil.toString(result.getStatus()))
|
||||||
|
.requestparam("请求参数:"+ from)
|
||||||
|
.responseparam("响应参数:"+result.body())
|
||||||
|
.content(result.body())
|
||||||
|
.method("actionFinishRequest2")
|
||||||
|
.build();
|
||||||
|
luceneExecuteLogService.interfaceExecuteLog(reqlogDto);
|
||||||
|
log.info("actionFinishRequest2----返回参数{}", result);
|
||||||
|
} catch (Exception e) {
|
||||||
|
String msg = e.getMessage();
|
||||||
|
log.info("actionFinishRequest2----报错{}", msg);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String applyTask(BaseRequest requestParam) {
|
public String applyTask(BaseRequest requestParam) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -542,6 +542,12 @@
|
|||||||
<artifactId>lucene-analyzers-common</artifactId>
|
<artifactId>lucene-analyzers-common</artifactId>
|
||||||
<version>${lucene.version}</version>
|
<version>${lucene.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!--redisson-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.redisson</groupId>
|
||||||
|
<artifactId>redisson-spring-boot-starter</artifactId>
|
||||||
|
<version>3.16.4</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.magese</groupId>
|
<groupId>com.github.magese</groupId>
|
||||||
<artifactId>ik-analyzer</artifactId>
|
<artifactId>ik-analyzer</artifactId>
|
||||||
|
|||||||
@@ -118,5 +118,11 @@ public class AcsToWmsController {
|
|||||||
public ResponseEntity<Object> feedTaskStatus(@RequestBody JSONObject param) {
|
public ResponseEntity<Object> feedTaskStatus(@RequestBody JSONObject param) {
|
||||||
return new ResponseEntity<>(acsToWmsService.feedTaskStatus(param), HttpStatus.OK);
|
return new ResponseEntity<>(acsToWmsService.feedTaskStatus(param), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
@PostMapping("/actionFinishRequest2")
|
||||||
|
@SaIgnore
|
||||||
|
public ResponseEntity<Object> actionFinishRequest2(@RequestBody JSONObject jo) {
|
||||||
|
return new ResponseEntity<>(acsToWmsService.actionFinishRequest2(jo), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,4 +49,11 @@ public interface AcsToWmsService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Object feedTaskStatus(JSONObject param);
|
Object feedTaskStatus(JSONObject param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 二楼取货完成请求
|
||||||
|
* @param param /
|
||||||
|
* @return /
|
||||||
|
*/
|
||||||
|
JSONObject actionFinishRequest2(JSONObject param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package org.nl.wms.ext.acs.service.impl;
|
|||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.lang.Assert;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
@@ -330,6 +331,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -377,7 +379,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object feedTaskStatus(JSONObject param) {
|
public Object feedTaskStatus(JSONObject param) {
|
||||||
if (ObjectUtil.isNotEmpty(param)) {
|
// String pickupcomplete= param.getString("pickupcomplete");
|
||||||
|
// if (ObjectUtil.isNotEmpty(param)&&pickupcomplete.equals("0")) {
|
||||||
|
if (ObjectUtil.isNotEmpty(param)) {
|
||||||
String task_code = param.getString("task_code");
|
String task_code = param.getString("task_code");
|
||||||
String task_status = param.getString("task_status");
|
String task_status = param.getString("task_status");
|
||||||
if (StrUtil.isEmpty(task_code) || StrUtil.isEmpty(task_status)) {
|
if (StrUtil.isEmpty(task_code) || StrUtil.isEmpty(task_status)) {
|
||||||
@@ -398,11 +402,25 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
AbstractTask connectorTask = taskFactory.getTask(schBaseTask.getConfig_code());
|
AbstractTask connectorTask = taskFactory.getTask(schBaseTask.getConfig_code());
|
||||||
connectorTask.forceFinish(schBaseTask.getTask_code());
|
connectorTask.forceFinish(schBaseTask.getTask_code());
|
||||||
break;
|
break;
|
||||||
|
case "3":
|
||||||
|
//任务取消
|
||||||
|
taskService.update(Wrappers.lambdaUpdate(SchBaseTask.class)
|
||||||
|
.set(SchBaseTask::getTask_status, TaskStatus.CANCELED.getCode())
|
||||||
|
.eq(SchBaseTask::getTask_code, task_code));
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
// else{
|
||||||
|
// String task_code = param.getString("task_code");
|
||||||
|
// SchBaseTask schBaseTask = taskService.getOne(Wrappers.lambdaQuery(SchBaseTask.class)
|
||||||
|
// .eq(SchBaseTask::getTask_code, task_code).in(SchBaseTask::getTask_status, TaskStatus.EXECUTING.getCode(), TaskStatus.ISSUED.getCode()));
|
||||||
|
// if (ObjectUtil.isEmpty(schBaseTask)) throw new BadRequestException("任务不存在!task_code:" + task_code);
|
||||||
|
// taskService.update(Wrappers.lambdaUpdate(SchBaseTask.class)
|
||||||
|
// .eq(SchBaseTask::getTask_code, task_code)
|
||||||
|
// .set(SchBaseTask::getIs_pickup, "1"));
|
||||||
|
// }
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -682,5 +700,25 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JSONObject actionFinishRequest2(JSONObject param) {
|
||||||
|
String taskCode = param.getString("task_code");
|
||||||
|
String deviceCode = param.getString("device_code");
|
||||||
|
Assert.notBlank(taskCode, "任务编码不能为空");
|
||||||
|
SchBaseTask task = taskService.getByCode(taskCode);
|
||||||
|
SchBasePoint schBasePoint=pointService.getByCode(deviceCode);
|
||||||
|
if (ObjectUtil.isNotEmpty(schBasePoint)) {
|
||||||
|
PointUtils.updateByIngTaskCode(schBasePoint);
|
||||||
|
pointService.update(Wrappers.lambdaUpdate(SchBasePoint.class)
|
||||||
|
.eq(SchBasePoint::getPoint_code, deviceCode)
|
||||||
|
.set(SchBasePoint::getIs_lock, false)
|
||||||
|
.set(SchBasePoint::getVehicle_code, null)
|
||||||
|
.set(SchBasePoint::getPoint_status, GoodsEnum.OUT_OF_STOCK.getValue()));
|
||||||
|
}
|
||||||
|
JSONObject result = new JSONObject();
|
||||||
|
result.put("status", org.springframework.http.HttpStatus.OK.value());
|
||||||
|
result.put("message", "取货完成请求成功!");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,12 +28,15 @@ import org.nl.wms.sch.task_manage.AbstractTask;
|
|||||||
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||||
import org.nl.wms.sch.task_manage.task.ConnectorUtil;
|
import org.nl.wms.sch.task_manage.task.ConnectorUtil;
|
||||||
import org.nl.wms.sch.task_manage.task.TaskFactory;
|
import org.nl.wms.sch.task_manage.task.TaskFactory;
|
||||||
|
import org.redisson.api.RLock;
|
||||||
|
import org.redisson.api.RedissonClient;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@@ -50,6 +53,8 @@ public class ConnectorToWmsServiceImpl implements ConnectorToWmsService {
|
|||||||
private TaskFactory taskFactory;
|
private TaskFactory taskFactory;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISchBaseVehiclematerialgroupService iSchBaseVehiclematerialgroupService;
|
private ISchBaseVehiclematerialgroupService iSchBaseVehiclematerialgroupService;
|
||||||
|
@Autowired
|
||||||
|
private RedissonClient redissonClient;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map createTaskByConnector(JSONArray jsonArray) {
|
public Map createTaskByConnector(JSONArray jsonArray) {
|
||||||
@@ -89,30 +94,43 @@ public class ConnectorToWmsServiceImpl implements ConnectorToWmsService {
|
|||||||
} else if (schBasePoint.getIs_lock()) {
|
} else if (schBasePoint.getIs_lock()) {
|
||||||
map1.put("task_code", task_code);
|
map1.put("task_code", task_code);
|
||||||
map1.put("status", HttpStatus.HTTP_INTERNAL_ERROR);
|
map1.put("status", HttpStatus.HTTP_INTERNAL_ERROR);
|
||||||
map1.put("message", start_device_code + "该设备正在执行任务!");
|
map1.put("message", start_device_code + "·!");
|
||||||
log.info(start_device_code + "该设备正在执行任务!");
|
log.info(start_device_code + "该设备正在执行任务!");
|
||||||
return map1;
|
return map1;
|
||||||
}
|
}
|
||||||
//TODO:固定的载具类型,根据载具类型来决定终点
|
//TODO:固定的载具类型,根据载具类型来决定终点
|
||||||
String task_type = data.getString("task_type");
|
String tasktype ="CNTTask";
|
||||||
String is_empty = data.getString("is_empty");
|
RLock lock = redissonClient.getLock(tasktype);
|
||||||
String remark = data.getString("remark");
|
boolean tryLock = lock.tryLock(10, TimeUnit.SECONDS);
|
||||||
String params = data.getString("params");
|
try {
|
||||||
task_type = "1".equals(task_type) ? "1" : "2";
|
if (tryLock) {
|
||||||
AbstractTask connectorTask = taskFactory.getTask("CNTTask");
|
String task_type = data.getString("task_type");
|
||||||
// 准备参数:设备编码
|
String is_empty = data.getString("is_empty");
|
||||||
JSONObject param = new JSONObject();
|
String remark = data.getString("remark");
|
||||||
param.put("device_code", start_device_code);
|
String params = data.getString("params");
|
||||||
param.put("config_code", "CNTTask");
|
task_type = "1".equals(task_type) ? "1" : "2";
|
||||||
param.put("create_mode", GeneralDefinition.AUTO_CREATION);
|
AbstractTask connectorTask = taskFactory.getTask("CNTTask");
|
||||||
param.put("vehicle_code", vehicle_code);
|
// 准备参数:设备编码
|
||||||
param.put("task_type", task_type);
|
JSONObject param = new JSONObject();
|
||||||
param.put("task_code", task_code);
|
param.put("device_code", start_device_code);
|
||||||
param.put("remark", remark);
|
param.put("config_code", "CNTTask");
|
||||||
param.put("ext_data", data);
|
param.put("create_mode", GeneralDefinition.AUTO_CREATION);
|
||||||
connectorTask.apply(param);
|
param.put("vehicle_code", vehicle_code);
|
||||||
schBasePoint.setIs_lock(true);
|
param.put("task_type", task_type);
|
||||||
schBasePointService.updateById(schBasePoint);
|
param.put("task_code", task_code);
|
||||||
|
param.put("remark", remark);
|
||||||
|
param.put("ext_data", data);
|
||||||
|
connectorTask.apply(param);
|
||||||
|
schBasePoint.setIs_lock(true);
|
||||||
|
schBasePointService.updateById(schBasePoint);
|
||||||
|
} else {
|
||||||
|
throw new BadRequestException("其他设备占用锁,等待结束!");
|
||||||
|
}
|
||||||
|
}finally{
|
||||||
|
if (tryLock) {
|
||||||
|
lock.unlock();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
map.put("status", HttpStatus.HTTP_OK);
|
map.put("status", HttpStatus.HTTP_OK);
|
||||||
map.put("message", "操作成功!");
|
map.put("message", "操作成功!");
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.common.base.TableDataInfo;
|
import org.nl.common.base.TableDataInfo;
|
||||||
|
import org.nl.common.enums.GoodsEnum;
|
||||||
import org.nl.common.enums.VehicleTypeEnum;
|
import org.nl.common.enums.VehicleTypeEnum;
|
||||||
import org.nl.common.enums.region.RegionEnum;
|
import org.nl.common.enums.region.RegionEnum;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
@@ -244,11 +245,23 @@ public class FabController {
|
|||||||
if (REGION_CODE.get("内部加工").equals(materInfo.getPoint_code())) {
|
if (REGION_CODE.get("内部加工").equals(materInfo.getPoint_code())) {
|
||||||
List<SendVehicleVo> mater = materInfo.getMater();
|
List<SendVehicleVo> mater = materInfo.getMater();
|
||||||
if (CollUtil.isEmpty(mater)) throw new BadRequestException("物料信息为空,请确认!");
|
if (CollUtil.isEmpty(mater)) throw new BadRequestException("物料信息为空,请确认!");
|
||||||
|
SchBasePoint schBasePoint = iSchBasePointService.selectGroundByRegionCode(RegionEnum.NBJG.getRegion_code(), GoodsEnum.OUT_OF_STOCK.getValue());
|
||||||
|
if (ObjectUtil.isEmpty(schBasePoint)) {
|
||||||
|
throw new BadRequestException("仓库收货区域点位已满请清理");
|
||||||
|
}
|
||||||
toJSON.put("material_info", mater);
|
toJSON.put("material_info", mater);
|
||||||
toJSON.put("region_code", RegionEnum.NBJG.getRegion_code());
|
toJSON.put("region_code", RegionEnum.NBJG.getRegion_code());
|
||||||
} else if (REGION_CODE.get("外协加工").equals(materInfo.getPoint_code())) {
|
} else if (REGION_CODE.get("外协加工").equals(materInfo.getPoint_code())) {
|
||||||
|
SchBasePoint schBasePoint = iSchBasePointService.selectGroundByRegionCode(RegionEnum.WXJG.getRegion_code(), GoodsEnum.OUT_OF_STOCK.getValue());
|
||||||
|
if (ObjectUtil.isEmpty(schBasePoint)) {
|
||||||
|
throw new BadRequestException("外协加工区域点位已满请清理");
|
||||||
|
}
|
||||||
toJSON.put("region_code", RegionEnum.WXJG.getRegion_code());
|
toJSON.put("region_code", RegionEnum.WXJG.getRegion_code());
|
||||||
} else if (REGION_CODE.get("内部过道").equals(materInfo.getPoint_code())) {
|
} else if (REGION_CODE.get("内部过道").equals(materInfo.getPoint_code())) {
|
||||||
|
SchBasePoint schBasePoint = iSchBasePointService.selectGroundByRegionCode(RegionEnum.NBGD.getRegion_code(), GoodsEnum.OUT_OF_STOCK.getValue());
|
||||||
|
if (ObjectUtil.isEmpty(schBasePoint)) {
|
||||||
|
throw new BadRequestException("内部过道区域点位已满请清理");
|
||||||
|
}
|
||||||
toJSON.put("region_code", RegionEnum.NBGD.getRegion_code());
|
toJSON.put("region_code", RegionEnum.NBGD.getRegion_code());
|
||||||
} else if (REGION_CODE.get("其他加工").equals(materInfo.getPoint_code())) {
|
} else if (REGION_CODE.get("其他加工").equals(materInfo.getPoint_code())) {
|
||||||
toJSON.put("region_code", RegionEnum.QTJG.getRegion_code());
|
toJSON.put("region_code", RegionEnum.QTJG.getRegion_code());
|
||||||
|
|||||||
@@ -141,16 +141,32 @@ public class HandheldController {
|
|||||||
return new ResponseEntity<>(handheldService.selectPointByRegion(regionCode),HttpStatus.OK);
|
return new ResponseEntity<>(handheldService.selectPointByRegion(regionCode),HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/createPointInPointTask")
|
@PostMapping("/deletevehiclemessage")
|
||||||
@Log("创建点对点任务")
|
@Log("根据点位删除点位所在的载具信息")
|
||||||
public ResponseEntity<Object> createPointTask(String regionCode) {
|
public ResponseEntity<Object> deletevehiclemessage(String pointCode) {
|
||||||
return new ResponseEntity<>(handheldService.selectPointByRegion(regionCode), HttpStatus.OK);
|
return new ResponseEntity<>(handheldService.deletevehiclemessage(pointCode),HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/selectMaterialAndJpg")
|
@PostMapping("/createPointInPointTask")
|
||||||
|
@Log("创建点对点任务")
|
||||||
|
public ResponseEntity<Object> createPointTask(String pointCode) {
|
||||||
|
return new ResponseEntity<>(handheldService.selectPointByRegion(pointCode), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/selectMaterialAndJpg")
|
||||||
@Log("查询托盘物料信息")
|
@Log("查询托盘物料信息")
|
||||||
public ResponseEntity<Object> selectMaterialAndJpg(String pointCode) {
|
public ResponseEntity<Object> selectMaterialAndJpg(String pointCode) {
|
||||||
return new ResponseEntity<>(handheldService.selectMaterialAndJpg(pointCode), HttpStatus.OK);
|
return new ResponseEntity<>(handheldService.selectMaterialAndJpg(pointCode), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
@PostMapping("/getLlddw")
|
||||||
|
@Log("查询料笼对接位点位状态")
|
||||||
|
public ResponseEntity<Object> getLlddw() {
|
||||||
|
return new ResponseEntity<>(handheldService.getLlddw(), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
@PostMapping("/fillUpEmpty")
|
||||||
|
@Log("料笼对接位点位变成空载具")
|
||||||
|
public ResponseEntity<Object> fillUpEmpty(@RequestBody JSONObject json) {
|
||||||
|
handheldService.fillUpEmpty(json);
|
||||||
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -120,4 +120,12 @@ public interface HandheldService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
JSONObject selectMaterialAndJpg(String pointCode);
|
JSONObject selectMaterialAndJpg(String pointCode);
|
||||||
|
/**
|
||||||
|
* 根据点位删除点位所在的载具信息
|
||||||
|
* @param pointCode
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
JSONObject deletevehiclemessage(String pointCode);
|
||||||
|
List<JSONObject> getLlddw();
|
||||||
|
void fillUpEmpty(JSONObject json);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,8 +27,10 @@ import org.nl.wms.ext.connector.service.WmsToConnectorService;
|
|||||||
import org.nl.wms.ext.handheld.service.HandheldService;
|
import org.nl.wms.ext.handheld.service.HandheldService;
|
||||||
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||||
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
||||||
|
import org.nl.wms.sch.group.service.dao.mapper.SchBaseVehiclematerialgroupMapper;
|
||||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||||
|
import org.nl.wms.sch.point.service.dao.mapper.SchBasePointMapper;
|
||||||
import org.nl.wms.sch.region.service.ISchBaseRegionService;
|
import org.nl.wms.sch.region.service.ISchBaseRegionService;
|
||||||
import org.nl.wms.sch.region.service.dao.SchBaseRegion;
|
import org.nl.wms.sch.region.service.dao.SchBaseRegion;
|
||||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||||
@@ -73,6 +75,10 @@ public class HandheldServiceImpl implements HandheldService {
|
|||||||
private RedisUtils redisUtils;
|
private RedisUtils redisUtils;
|
||||||
@Autowired
|
@Autowired
|
||||||
private WmsToAcsService wmsToAcsService;
|
private WmsToAcsService wmsToAcsService;
|
||||||
|
@Autowired
|
||||||
|
private SchBaseVehiclematerialgroupMapper vehiclematerialgroupMapper;
|
||||||
|
@Autowired
|
||||||
|
private SchBasePointMapper schBasePointMapper;
|
||||||
static final Map<String, String> STATUS = MapOf.of("释放", "0", "锁定", "1");
|
static final Map<String, String> STATUS = MapOf.of("释放", "0", "锁定", "1");
|
||||||
|
|
||||||
|
|
||||||
@@ -126,6 +132,7 @@ public class HandheldServiceImpl implements HandheldService {
|
|||||||
.set(SchBasePoint::getIs_lock, true));
|
.set(SchBasePoint::getIs_lock, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 内部过道送托盘
|
* 内部过道送托盘
|
||||||
*/
|
*/
|
||||||
@@ -241,7 +248,6 @@ public class HandheldServiceImpl implements HandheldService {
|
|||||||
public Object applyEmptyVehicle(JSONObject param) {
|
public Object applyEmptyVehicle(JSONObject param) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void cageBlankingTask(JSONObject param) {
|
public void cageBlankingTask(JSONObject param) {
|
||||||
@@ -660,6 +666,9 @@ public class HandheldServiceImpl implements HandheldService {
|
|||||||
keys.add(MapOf.of("material_id", item.get("material_id"), "material_path", item.get("material_path")));
|
keys.add(MapOf.of("material_id", item.get("material_id"), "material_path", item.get("material_path")));
|
||||||
});
|
});
|
||||||
JSONObject json = new JSONObject();
|
JSONObject json = new JSONObject();
|
||||||
|
Map<String, String> map = new HashMap<>();
|
||||||
|
map.put("vehicle_code", schBasePoint.getVehicle_code());
|
||||||
|
keys.add(map);
|
||||||
json.put("vehiclePath", maps.get(0).get("vehicle_path"));
|
json.put("vehiclePath", maps.get(0).get("vehicle_path"));
|
||||||
json.put("materialList", keys);
|
json.put("materialList", keys);
|
||||||
return json;
|
return json;
|
||||||
@@ -667,4 +676,34 @@ public class HandheldServiceImpl implements HandheldService {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JSONObject deletevehiclemessage(String pointCode) {
|
||||||
|
if (StrUtil.isEmpty(pointCode)) {
|
||||||
|
throw new BadRequestException("当前点位不能为空!");
|
||||||
|
}
|
||||||
|
SchBasePoint schBasePoint = iSchBasePointService.selectByPointCode(pointCode);
|
||||||
|
String vehicle_code=schBasePoint.getVehicle_code();
|
||||||
|
List<SchBaseVehiclematerialgroup> schBaseVehiclematerialgroup=iSchBaseVehiclematerialgroupService.selectByVehicleCode(vehicle_code);
|
||||||
|
iSchBasePointService.update(Wrappers.lambdaUpdate(schBasePoint)
|
||||||
|
.set(SchBasePoint::getPoint_status, "0")
|
||||||
|
.set(SchBasePoint::getVehicle_code, null));
|
||||||
|
for (SchBaseVehiclematerialgroup item : schBaseVehiclematerialgroup) {
|
||||||
|
String group_id = item.getGroup_id();
|
||||||
|
vehiclematerialgroupMapper.deleteById(group_id);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public List<JSONObject> getLlddw(){
|
||||||
|
return schBasePointMapper.getLlddw();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void fillUpEmpty(JSONObject json) {
|
||||||
|
String pointCode=json.getString("point_code");
|
||||||
|
SchBasePoint schBasePoint = iSchBasePointService.selectByPointCode(pointCode);
|
||||||
|
iSchBasePointService.update(Wrappers.lambdaUpdate(SchBasePoint.class)
|
||||||
|
.eq(SchBasePoint::getPoint_code,pointCode)
|
||||||
|
.set(SchBasePoint::getPoint_status, "1"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,4 +97,11 @@ public class SchBaseVehiclematerialgroupController {
|
|||||||
public ResponseEntity<Object> createTask(@RequestBody JSONObject entity){
|
public ResponseEntity<Object> createTask(@RequestBody JSONObject entity){
|
||||||
return new ResponseEntity<>(schBaseVehiclematerialgroupService.createTask(entity), HttpStatus.OK);
|
return new ResponseEntity<>(schBaseVehiclematerialgroupService.createTask(entity), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/fixnextstyle")
|
||||||
|
@Log("修改下道工序")
|
||||||
|
@ApiOperation("修改下道工序")
|
||||||
|
public ResponseEntity<Object> fixnextstyle(@RequestBody JSONObject entity){
|
||||||
|
return new ResponseEntity<>(schBaseVehiclematerialgroupService.fixnextstyle(entity), HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
import org.nl.wms.ext.fab.service.dto.SendVehicleVo;
|
import org.nl.wms.ext.fab.service.dto.SendVehicleVo;
|
||||||
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
||||||
import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery;
|
import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery;
|
||||||
|
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -45,6 +46,7 @@ public interface ISchBaseVehiclematerialgroupService extends IService<SchBaseVeh
|
|||||||
*/
|
*/
|
||||||
void deleteAll(Set<String> ids);
|
void deleteAll(Set<String> ids);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据载具编码返回数据
|
* 根据载具编码返回数据
|
||||||
* @param entity
|
* @param entity
|
||||||
@@ -96,6 +98,13 @@ public interface ISchBaseVehiclematerialgroupService extends IService<SchBaseVeh
|
|||||||
*/
|
*/
|
||||||
Object createTask(JSONObject entity);
|
Object createTask(JSONObject entity);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改下道工序
|
||||||
|
* @param entity
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Object fixnextstyle(JSONObject entity);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询物料路径是空的
|
* 查询物料路径是空的
|
||||||
*/
|
*/
|
||||||
@@ -114,4 +123,12 @@ public interface ISchBaseVehiclematerialgroupService extends IService<SchBaseVeh
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
String selectDueDateByVehicleCode(SendVehicleVo sendVehicleVo);
|
String selectDueDateByVehicleCode(SendVehicleVo sendVehicleVo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据点载具编码查询
|
||||||
|
*
|
||||||
|
* @param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<SchBaseVehiclematerialgroup> selectByVehicleCode(String vehicle_code);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,4 +32,6 @@ public interface SchBaseVehiclematerialgroupMapper extends BaseMapper<SchBaseVeh
|
|||||||
List<String> selectMaterialPathByIsEmpty();
|
List<String> selectMaterialPathByIsEmpty();
|
||||||
|
|
||||||
String selectDueDateByVehicleCode(@Param("sendVehicle") SendVehicleVo sendVehicleVo);
|
String selectDueDateByVehicleCode(@Param("sendVehicle") SendVehicleVo sendVehicleVo);
|
||||||
|
|
||||||
|
String selectRegioncodeByVehicleCode(String vehicle_code);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,6 +48,7 @@
|
|||||||
<if test="vehicle_type != null">
|
<if test="vehicle_type != null">
|
||||||
AND vg.vehicle_type = #{vehicle_type}
|
AND vg.vehicle_type = #{vehicle_type}
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
AND vg.group_bind_material_status = '2'
|
AND vg.group_bind_material_status = '2'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -71,6 +72,7 @@
|
|||||||
ROW_NUMBER() OVER (PARTITION BY vg.vehicle_code ORDER BY vg.due_date) AS rn
|
ROW_NUMBER() OVER (PARTITION BY vg.vehicle_code ORDER BY vg.due_date) AS rn
|
||||||
FROM
|
FROM
|
||||||
sch_base_vehiclematerialgroup vg
|
sch_base_vehiclematerialgroup vg
|
||||||
|
LEFT JOIN sch_base_point po ON vg.vehicle_code = po.vehicle_code
|
||||||
<where>
|
<where>
|
||||||
<if test="query.vehicle_code != null">
|
<if test="query.vehicle_code != null">
|
||||||
AND vg.vehicle_code LIKE CONCAT('%', #{query.vehicle_code}, '%')
|
AND vg.vehicle_code LIKE CONCAT('%', #{query.vehicle_code}, '%')
|
||||||
@@ -161,6 +163,11 @@
|
|||||||
WHERE sbv.material_id = #{sendVehicle.material_code}
|
WHERE sbv.material_id = #{sendVehicle.material_code}
|
||||||
AND sbv.order_code = #{sendVehicle.order_code} limit 1
|
AND sbv.order_code = #{sendVehicle.order_code} limit 1
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectRegioncodeByVehicleCode" resultType="java.lang.String">
|
||||||
|
SELECT sbv.region_code
|
||||||
|
FROM sch_base_vehiclematerialgroup sbv
|
||||||
|
WHERE sbv.vehicle_code = #{vehicle_code}
|
||||||
|
</select>
|
||||||
<select id="selectOrders" resultType="java.util.Map">
|
<select id="selectOrders" resultType="java.util.Map">
|
||||||
SELECT
|
SELECT
|
||||||
sbv.order_code,
|
sbv.order_code,
|
||||||
|
|||||||
@@ -68,7 +68,6 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SchBaseVehiclematerialgroupMapper vehiclematerialgroupMapper;
|
private SchBaseVehiclematerialgroupMapper vehiclematerialgroupMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMdBaseMaterialService iMdBaseMaterialService;
|
private IMdBaseMaterialService iMdBaseMaterialService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -106,6 +105,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
if (ObjectUtil.isNotEmpty(one)) {
|
if (ObjectUtil.isNotEmpty(one)) {
|
||||||
item.setTheLocation(one.getPoint_name());
|
item.setTheLocation(one.getPoint_name());
|
||||||
}
|
}
|
||||||
|
|
||||||
List<SchBaseVehiclematerialgroup> schBaseVehiclematerialgroups = vehiclematerialgroupMapper.selectList(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class)
|
List<SchBaseVehiclematerialgroup> schBaseVehiclematerialgroups = vehiclematerialgroupMapper.selectList(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class)
|
||||||
.eq(SchBaseVehiclematerialgroup::getVehicle_code, item.getVehicle_code())
|
.eq(SchBaseVehiclematerialgroup::getVehicle_code, item.getVehicle_code())
|
||||||
.ne(SchBaseVehiclematerialgroup::getGroup_id, item.getGroup_id()));
|
.ne(SchBaseVehiclematerialgroup::getGroup_id, item.getGroup_id()));
|
||||||
@@ -120,6 +120,7 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
return schBaseVehiclematerialgroupIPage;
|
return schBaseVehiclematerialgroupIPage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void create(SchBaseVehiclematerialgroup entity) {
|
public void create(SchBaseVehiclematerialgroup entity) {
|
||||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||||
@@ -144,6 +145,9 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
throw new BadRequestException("托盘号不存在");
|
throw new BadRequestException("托盘号不存在");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(entity.getRegion_code().equals("111-100")){
|
||||||
|
entity.setRegion_code("");
|
||||||
|
}
|
||||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||||
String nickName = SecurityUtils.getCurrentNickName();
|
String nickName = SecurityUtils.getCurrentNickName();
|
||||||
String now = DateUtil.now();
|
String now = DateUtil.now();
|
||||||
@@ -214,7 +218,6 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
})).collect(Collectors.toList());
|
})).collect(Collectors.toList());
|
||||||
return maps;
|
return maps;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SchBaseVehiclematerialgroup> selectByVehicleCode(JSONObject entity) {
|
public List<SchBaseVehiclematerialgroup> selectByVehicleCode(JSONObject entity) {
|
||||||
List<SchBaseVehiclematerialgroup> schBaseVehiclematerialgroups = vehiclematerialgroupMapper.selectList(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class)
|
List<SchBaseVehiclematerialgroup> schBaseVehiclematerialgroups = vehiclematerialgroupMapper.selectList(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class)
|
||||||
@@ -251,6 +254,15 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
.set(SchBaseVehiclematerialgroup::getIs_delete, true));
|
.set(SchBaseVehiclematerialgroup::getIs_delete, true));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public Object fixnextstyle(JSONObject entity) {
|
||||||
|
String vehicle_code=entity.getString("vehicle_code");
|
||||||
|
String region_code=entity.getString("region_name");
|
||||||
|
this.update(Wrappers.lambdaUpdate(SchBaseVehiclematerialgroup.class)
|
||||||
|
.eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicle_code)
|
||||||
|
.set(SchBaseVehiclematerialgroup::getRegion_code, region_code));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> selectMaterialPathIsEmpty() {
|
public List<String> selectMaterialPathIsEmpty() {
|
||||||
@@ -318,4 +330,10 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
|||||||
return timestamp;
|
return timestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SchBaseVehiclematerialgroup> selectByVehicleCode(String vehicle_code) {
|
||||||
|
List<SchBaseVehiclematerialgroup> schBaseVehiclematerialgroups = vehiclematerialgroupMapper.selectList(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class)
|
||||||
|
.eq(SchBaseVehiclematerialgroup::getVehicle_code, vehicle_code));
|
||||||
|
return schBaseVehiclematerialgroups;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,6 +65,8 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
|||||||
*/
|
*/
|
||||||
List<SchBasePoint> getPointList(SchBasePoint region);
|
List<SchBasePoint> getPointList(SchBasePoint region);
|
||||||
|
|
||||||
|
SchBasePoint getByCode(String device_code);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更改固化室点位状态
|
* 更改固化室点位状态
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -25,7 +25,9 @@ public interface SchBasePointMapper extends BaseMapper<SchBasePoint> {
|
|||||||
|
|
||||||
SchBasePoint selectByIdLock(String id);
|
SchBasePoint selectByIdLock(String id);
|
||||||
|
|
||||||
List<OrderMater> getStructList(@Param("region_code") String region_code, @Param("vehicle_type")String vehicle_type,@Param("due_date")String due_date);
|
List<OrderMater> getStructList(@Param("region_code") String region_code, @Param("due_date")String due_date);
|
||||||
|
|
||||||
|
List<OrderMater> getStructList1(@Param("region_code") String region_code,@Param("due_date")String due_date);
|
||||||
|
|
||||||
List<String> selectByRegionCode(@Param("region_code") String region_code);
|
List<String> selectByRegionCode(@Param("region_code") String region_code);
|
||||||
|
|
||||||
@@ -37,4 +39,5 @@ public interface SchBasePointMapper extends BaseMapper<SchBasePoint> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<JSONObject> selectPointByRegion(String regionCode);
|
List<JSONObject> selectPointByRegion(String regionCode);
|
||||||
|
List<JSONObject> getLlddw();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,9 +40,6 @@
|
|||||||
AND sch_base_point.vehicle_code IS NOT NULL
|
AND sch_base_point.vehicle_code IS NOT NULL
|
||||||
AND sch_base_point.point_status = '2'
|
AND sch_base_point.point_status = '2'
|
||||||
AND sch_base_vehiclematerialgroup.is_delete = FALSE
|
AND sch_base_vehiclematerialgroup.is_delete = FALSE
|
||||||
<if test="vehicle_type != null and vehicle_type != ''">
|
|
||||||
AND sch_base_point.can_vehicle_type = #{vehicle_type}
|
|
||||||
</if>
|
|
||||||
<if test="due_date != null and due_date != ''">
|
<if test="due_date != null and due_date != ''">
|
||||||
AND #{due_date} > sch_base_vehiclematerialgroup.due_date
|
AND #{due_date} > sch_base_vehiclematerialgroup.due_date
|
||||||
</if>
|
</if>
|
||||||
@@ -57,6 +54,37 @@
|
|||||||
AND sch_base_vehiclematerialgroup.due_date IS NULL
|
AND sch_base_vehiclematerialgroup.due_date IS NULL
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getStructList1" resultType="org.nl.wms.ext.fab.service.dto.OrderMater">
|
||||||
|
SELECT
|
||||||
|
sch_base_point.point_code,
|
||||||
|
sch_base_point.vehicle_code,
|
||||||
|
sch_base_vehiclematerialgroup.material_id,
|
||||||
|
sch_base_vehiclematerialgroup.material_qty,
|
||||||
|
sch_base_vehiclematerialgroup.region_code,
|
||||||
|
sch_base_vehiclematerialgroup.order_code,
|
||||||
|
sch_base_vehiclematerialgroup.due_date,
|
||||||
|
sch_base_vehiclematerialgroup.has_work,
|
||||||
|
sch_base_vehiclematerialgroup.create_time,
|
||||||
|
sch_base_vehiclematerialgroup.priority
|
||||||
|
FROM
|
||||||
|
sch_base_point
|
||||||
|
INNER JOIN sch_base_vehiclematerialgroup
|
||||||
|
ON sch_base_point.vehicle_code = sch_base_vehiclematerialgroup.vehicle_code
|
||||||
|
WHERE
|
||||||
|
is_lock = FALSE
|
||||||
|
AND sch_base_point.vehicle_code IS NOT NULL
|
||||||
|
AND sch_base_point.point_status = '2'
|
||||||
|
AND sch_base_vehiclematerialgroup.is_delete = FALSE
|
||||||
|
<if test="due_date != null and due_date != ''">
|
||||||
|
AND #{due_date} > sch_base_vehiclematerialgroup.due_date
|
||||||
|
</if>
|
||||||
|
<if test="region_code != null and region_code != ''">
|
||||||
|
AND sch_base_vehiclematerialgroup.region_code = #{region_code}
|
||||||
|
</if>
|
||||||
|
<if test="due_date == null">
|
||||||
|
AND sch_base_vehiclematerialgroup.due_date IS NULL
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="selectByRegionCode" resultType="java.lang.String">
|
<select id="selectByRegionCode" resultType="java.lang.String">
|
||||||
select sbp.point_code
|
select sbp.point_code
|
||||||
@@ -71,13 +99,19 @@
|
|||||||
and region_code = 'GZQ'
|
and region_code = 'GZQ'
|
||||||
and region_points is not null
|
and region_points is not null
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectPointByRegion" resultType="com.alibaba.fastjson.JSONObject"
|
<select id="selectPointByRegion" resultType="com.alibaba.fastjson.JSONObject"
|
||||||
parameterType="java.lang.String">
|
parameterType="java.lang.String">
|
||||||
select point_code, point_name, point_status
|
select point_code, point_name, point_status
|
||||||
from sch_base_point
|
from sch_base_point
|
||||||
where region_code = #{regionCode}
|
where region_code = #{regionCode}
|
||||||
AND is_used = true
|
AND is_used = true
|
||||||
|
</select>
|
||||||
|
<select id="getLlddw" resultType="com.alibaba.fastjson.JSONObject">
|
||||||
|
select sbp.point_code, sbp.point_status
|
||||||
|
from sch_base_point sbp
|
||||||
|
WHERE sbp.point_code LIKE 'LLDDW%'
|
||||||
|
and sbp.row_num = '1'
|
||||||
|
ORDER BY sbp.block_num ASC;
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -219,6 +219,12 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
|||||||
.eq(ObjectUtil.isNotEmpty(region.getPoint_type()), SchBasePoint::getPoint_type, region.getPoint_type())
|
.eq(ObjectUtil.isNotEmpty(region.getPoint_type()), SchBasePoint::getPoint_type, region.getPoint_type())
|
||||||
.orderByAsc(SchBasePoint::getPoint_code));
|
.orderByAsc(SchBasePoint::getPoint_code));
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public SchBasePoint getByCode(String device_code) {
|
||||||
|
LambdaQueryWrapper<SchBasePoint> lam = new QueryWrapper<SchBasePoint>().lambda();
|
||||||
|
lam.eq(SchBasePoint::getPoint_code, device_code);
|
||||||
|
return this.getOne(lam);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateStatus(JSONObject jsonObject) {
|
public void updateStatus(JSONObject jsonObject) {
|
||||||
@@ -530,7 +536,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
|||||||
s = null;
|
s = null;
|
||||||
}
|
}
|
||||||
List<OrderMater> collect = null;
|
List<OrderMater> collect = null;
|
||||||
List<OrderMater> structList = pointMapper.getStructList(regionCode, null, s);
|
List<OrderMater> structList = pointMapper.getStructList(regionCode, s);
|
||||||
if ("1".equals(last_regionCode)) {
|
if ("1".equals(last_regionCode)) {
|
||||||
collect = structList.stream().collect(Collectors.groupingBy(
|
collect = structList.stream().collect(Collectors.groupingBy(
|
||||||
OrderMater::getVehicle_code,
|
OrderMater::getVehicle_code,
|
||||||
@@ -638,9 +644,20 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
|||||||
.eq(SchBasePoint::getPoint_code, pointCode));
|
.eq(SchBasePoint::getPoint_code, pointCode));
|
||||||
List<OrderMater> structList=null;
|
List<OrderMater> structList=null;
|
||||||
if(schBasePoint.getPoint_code().equals("13-01-01")||schBasePoint.getPoint_code().equals("13-01-04")){
|
if(schBasePoint.getPoint_code().equals("13-01-01")||schBasePoint.getPoint_code().equals("13-01-04")){
|
||||||
structList = pointMapper.getStructList(null, "G01", s);
|
structList = pointMapper.getStructList(null, s);
|
||||||
}else{
|
} else if(schBasePoint.getPoint_code().equals("QTJGDJW01")||schBasePoint.getPoint_code().equals("QTJGDJW02")){
|
||||||
structList = pointMapper.getStructList(schBasePoint.getRegion_code(), "G01", s);
|
String[] regionlist = {"111-06", "111-12", "111-13", "111-14", "111-15", "111-22", "111-23", "111-24", "111-26"};
|
||||||
|
for (int i = 0; i <regionlist.length; i++) {
|
||||||
|
List<OrderMater> structList1=null;
|
||||||
|
structList1 = pointMapper.getStructList1(regionlist[i], s);
|
||||||
|
if (structList == null) {
|
||||||
|
structList = new ArrayList<>();
|
||||||
|
}
|
||||||
|
structList.addAll(structList1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
structList = pointMapper.getStructList(schBasePoint.getRegion_code(),s);
|
||||||
}
|
}
|
||||||
List<OrderMater> collect = structList.stream().collect(Collectors.groupingBy(
|
List<OrderMater> collect = structList.stream().collect(Collectors.groupingBy(
|
||||||
OrderMater::getVehicle_code,
|
OrderMater::getVehicle_code,
|
||||||
|
|||||||
@@ -143,5 +143,6 @@ public class SchBaseTask implements Serializable {
|
|||||||
private String start_wait_point;
|
private String start_wait_point;
|
||||||
@ApiModelProperty(value = "放货等待点")
|
@ApiModelProperty(value = "放货等待点")
|
||||||
private String next_wait_point;
|
private String next_wait_point;
|
||||||
|
private String startcode_name;
|
||||||
|
private String finishcode_name;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,5 +8,7 @@ import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
|||||||
* @date 2023-05-15
|
* @date 2023-05-15
|
||||||
**/
|
**/
|
||||||
public interface SchBaseTaskMapper extends BaseMapper<SchBaseTask> {
|
public interface SchBaseTaskMapper extends BaseMapper<SchBaseTask> {
|
||||||
|
//根据点位编码得到点位名称
|
||||||
|
String getdevicename(String point_code);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskMapper">
|
<mapper namespace="org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskMapper">
|
||||||
|
<select id="getdevicename" resultType="java.lang.String">
|
||||||
|
SELECT point_name
|
||||||
|
FROM sch_base_point
|
||||||
|
WHERE point_code = #{point_code}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -104,6 +104,14 @@ public class SchBaseTaskServiceImpl extends ServiceImpl<SchBaseTaskMapper, SchBa
|
|||||||
lam.orderByDesc(SchBaseTask::getUpdate_time);
|
lam.orderByDesc(SchBaseTask::getUpdate_time);
|
||||||
IPage<SchBaseTask> pages = new Page<>(page.getPage() + 1, page.getSize());
|
IPage<SchBaseTask> pages = new Page<>(page.getPage() + 1, page.getSize());
|
||||||
schBaseTaskMapper.selectPage(pages, lam);
|
schBaseTaskMapper.selectPage(pages, lam);
|
||||||
|
// 遍历结果,手动添加 startcode_name 和 finishcode_name 字段
|
||||||
|
for (SchBaseTask task : pages.getRecords()) {
|
||||||
|
// 假设 getStartCodeName() 和 getFinishCodeName() 是你根据 task 的代码来查询名称的逻辑
|
||||||
|
String startCodeName = schBaseTaskMapper.getdevicename(task.getPoint_code1());
|
||||||
|
String finishCodeName = schBaseTaskMapper.getdevicename(task.getPoint_code2());
|
||||||
|
task.setStartcode_name(startCodeName);
|
||||||
|
task.setFinishcode_name(finishCodeName);
|
||||||
|
}
|
||||||
return pages;
|
return pages;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ import org.nl.wms.sch.task_manage.AcsTaskDto;
|
|||||||
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -172,7 +175,11 @@ public class ConnectorUtil {
|
|||||||
schBaseVehiclematerialgroup.setRegion_code(connectorDto.getNextOperation());
|
schBaseVehiclematerialgroup.setRegion_code(connectorDto.getNextOperation());
|
||||||
schBaseVehiclematerialgroup.setExtend(JSON.toJSONString(connectorDto));
|
schBaseVehiclematerialgroup.setExtend(JSON.toJSONString(connectorDto));
|
||||||
schBaseVehiclematerialgroup.setOrder_code(connectorDto.getProductionOrder());
|
schBaseVehiclematerialgroup.setOrder_code(connectorDto.getProductionOrder());
|
||||||
schBaseVehiclematerialgroup.setDue_date(connectorDto.getDueDate());
|
if(connectorDto.getDue_date()==null){
|
||||||
|
LocalDateTime currentDateTime = LocalDateTime.now();
|
||||||
|
schBaseVehiclematerialgroup.setDue_date(currentDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
||||||
|
}else{
|
||||||
|
schBaseVehiclematerialgroup.setDue_date(connectorDto.getDue_date());}
|
||||||
schBaseVehiclematerialgroup.setPriority(connectorDto.getPriority());
|
schBaseVehiclematerialgroup.setPriority(connectorDto.getPriority());
|
||||||
schBaseVehiclematerialgroup.setCreate_name(connectorDto.getCreate_name());
|
schBaseVehiclematerialgroup.setCreate_name(connectorDto.getCreate_name());
|
||||||
return schBaseVehiclematerialgroup;
|
return schBaseVehiclematerialgroup;
|
||||||
|
|||||||
@@ -70,9 +70,9 @@ public class CNTTask extends AbstractTask {
|
|||||||
tasks = tasks.stream().sorted(numericSuffixComparator).collect(Collectors.toList());
|
tasks = tasks.stream().sorted(numericSuffixComparator).collect(Collectors.toList());
|
||||||
for (SchBaseTask task : tasks) {
|
for (SchBaseTask task : tasks) {
|
||||||
SchBasePoint schBasePoint = null;
|
SchBasePoint schBasePoint = null;
|
||||||
if(CollUtil.contains(Arrays.asList(CUSTOMIZE_POINT),task.getPoint_code1())){
|
// if(CollUtil.contains(Arrays.asList(CUSTOMIZE_POINT),task.getPoint_code1())){
|
||||||
schBasePoint = precedencePoint();
|
// schBasePoint = precedencePoint();
|
||||||
}
|
// }
|
||||||
if (ObjectUtil.isEmpty(schBasePoint) && TaskType.CARRY_TASK.getValue().equals(task.getTask_type())) {
|
if (ObjectUtil.isEmpty(schBasePoint) && TaskType.CARRY_TASK.getValue().equals(task.getTask_type())) {
|
||||||
schBasePoint = schBasePointService.selectByRegionCode(RegionEnum.LAG_ROBOT_BEANDING_CELL.getRegion_code(), task.getVehicle_code(), "1");
|
schBasePoint = schBasePointService.selectByRegionCode(RegionEnum.LAG_ROBOT_BEANDING_CELL.getRegion_code(), task.getVehicle_code(), "1");
|
||||||
}
|
}
|
||||||
@@ -101,12 +101,14 @@ public class CNTTask extends AbstractTask {
|
|||||||
if (task.getPoint_code1().endsWith("1") || task.getPoint_code1().endsWith("3") || task.getPoint_code1().endsWith("5")) {
|
if (task.getPoint_code1().endsWith("1") || task.getPoint_code1().endsWith("3") || task.getPoint_code1().endsWith("5")) {
|
||||||
task.setAcs_trace_id("4");
|
task.setAcs_trace_id("4");
|
||||||
} else {
|
} else {
|
||||||
if(task.getPoint_code1().endsWith("2")){
|
if (task.getPoint_code1().startsWith("CY")) {
|
||||||
updateTaskStop("2","1", task);
|
if (task.getPoint_code1().endsWith("2")) {
|
||||||
} else if(task.getPoint_code1().endsWith("4")){
|
updateTaskStop("2", "1", task);
|
||||||
updateTaskStop("4","3", task);
|
} else if (task.getPoint_code1().endsWith("4")) {
|
||||||
} else if(task.getPoint_code1().endsWith("6")){
|
updateTaskStop("4", "3", task);
|
||||||
updateTaskStop("6","5", task);
|
} else if (task.getPoint_code1().endsWith("6")) {
|
||||||
|
updateTaskStop("6", "5", task);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TaskUtils.setUpdateByAcs(task);
|
TaskUtils.setUpdateByAcs(task);
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ public class PcOperationSMTTask extends AbstractTask {
|
|||||||
schBaseVehiclematerialgroup.setPoint_code(schBasePoint.getPoint_code());
|
schBaseVehiclematerialgroup.setPoint_code(schBasePoint.getPoint_code());
|
||||||
schBaseVehiclematerialgroup.setMaterial_id(smv.getMaterial_code());
|
schBaseVehiclematerialgroup.setMaterial_id(smv.getMaterial_code());
|
||||||
schBaseVehiclematerialgroup.setMaterial_qty(smv.getMaterial_qty());
|
schBaseVehiclematerialgroup.setMaterial_qty(smv.getMaterial_qty());
|
||||||
schBaseVehiclematerialgroup.setRegion_code(smv.getRegion_code());
|
schBaseVehiclematerialgroup.setRegion_code(sendMaterVo.getRegion_code());
|
||||||
schBaseVehiclematerialgroup.setOrder_code(smv.getOrder_code());
|
schBaseVehiclematerialgroup.setOrder_code(smv.getOrder_code());
|
||||||
schBaseVehiclematerialgroup.setDue_date(smv.getDue_date());
|
schBaseVehiclematerialgroup.setDue_date(smv.getDue_date());
|
||||||
schBaseVehiclematerialgroup.setPriority(smv.getPriority());
|
schBaseVehiclematerialgroup.setPriority(smv.getPriority());
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import org.nl.wms.ext.fab.service.dto.SendVehicleVo;
|
|||||||
import org.nl.wms.ext.wms.service.LmsToWmsService;
|
import org.nl.wms.ext.wms.service.LmsToWmsService;
|
||||||
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||||
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
||||||
|
import org.nl.wms.sch.group.service.dao.mapper.SchBaseVehiclematerialgroupMapper;
|
||||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||||
@@ -83,6 +84,8 @@ public class ProcessingSMTTask extends AbstractTask {
|
|||||||
private LmsToWmsService lmsToWmsService;
|
private LmsToWmsService lmsToWmsService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SysParamServiceImpl sysParamService;
|
private SysParamServiceImpl sysParamService;
|
||||||
|
@Autowired
|
||||||
|
private SchBaseVehiclematerialgroupMapper vehiclematerialgroupMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void create() throws BadRequestException {
|
protected void create() throws BadRequestException {
|
||||||
@@ -170,6 +173,8 @@ public class ProcessingSMTTask extends AbstractTask {
|
|||||||
cn.hutool.json.JSONObject jsonObject2 = JSONUtil.parseObj(taskObj.getRequest_param());
|
cn.hutool.json.JSONObject jsonObject2 = JSONUtil.parseObj(taskObj.getRequest_param());
|
||||||
String region_code = jsonObject2.getStr("region_code");
|
String region_code = jsonObject2.getStr("region_code");
|
||||||
JSONArray materials = jsonObject2.getJSONArray("material");
|
JSONArray materials = jsonObject2.getJSONArray("material");
|
||||||
|
String vehicle_code=taskObj.getVehicle_code();
|
||||||
|
String region_code1=vehiclematerialgroupMapper.selectRegioncodeByVehicleCode(vehicle_code);
|
||||||
if (CollUtil.isEmpty(materials)) {
|
if (CollUtil.isEmpty(materials)) {
|
||||||
materials = jsonObject2.getJSONArray("mater");
|
materials = jsonObject2.getJSONArray("mater");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
<div v-if="e.type === '0'" class="button" @click="showPop('CACHE', e)">缓存物料</div>
|
<div v-if="e.type === '0'" class="button" @click="showPop('CACHE', e)">缓存物料</div>
|
||||||
<div v-if="e.type === '0'" class="button" @click="showPop('PALLET', e)">当前托盘</div>
|
<div v-if="e.type === '0'" class="button" @click="showPop('PALLET', e)">当前托盘</div>
|
||||||
<div v-if="e.type === '0'" class="button" @click="showPop('BACK', e)">回库</div>
|
<div v-if="e.type === '0'" class="button" @click="showPop('BACK', e)">回库</div>
|
||||||
|
<div v-if="e.type === '0'" class="button" @click="showPop('DELETE', e)">组盘删除</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-show="type === 'IN'" class="pop-wraper pop-wraper-2" :class="{'popshow': show, 'pophide': !show}">
|
<div v-show="type === 'IN'" class="pop-wraper pop-wraper-2" :class="{'popshow': show, 'pophide': !show}">
|
||||||
@@ -252,6 +253,10 @@
|
|||||||
height="100%"
|
height="100%"
|
||||||
@current-change="handleCurrentChange1"
|
@current-change="handleCurrentChange1"
|
||||||
>
|
>
|
||||||
|
<el-table-column
|
||||||
|
prop="vehicle_code"
|
||||||
|
label="托盘编码"
|
||||||
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="material_id"
|
prop="material_id"
|
||||||
label="图纸查看"
|
label="图纸查看"
|
||||||
@@ -328,7 +333,7 @@ export default {
|
|||||||
value: '',
|
value: '',
|
||||||
options: [{ value: 'G01', label: 'G01' }, { value: 'R01', label: 'R01' }, { value: 'R02', label: 'R02' }, { value: 'R03', label: 'R03' }, { value: 'S04', label: 'S04' }, { value: 'S06', label: 'S06' }],
|
options: [{ value: 'G01', label: 'G01' }, { value: 'R01', label: 'R01' }, { value: 'R02', label: 'R02' }, { value: 'R03', label: 'R03' }, { value: 'S04', label: 'S04' }, { value: 'S06', label: 'S06' }],
|
||||||
value1: '',
|
value1: '',
|
||||||
options1: [{ value: '1', label: '货架' }, { value: '2', label: '内部' }, { value: '3', label: '外协' }, { value: '4', label: '内部过道' }, { value: '5', label: '其他加工' }],
|
options1: [{ value: '1', label: '货架' }, { value: '2', label: '仓库收货区' }, { value: '3', label: '外协' }, { value: '4', label: '内部过道' }, { value: '5', label: '精加工' }],
|
||||||
value2: '',
|
value2: '',
|
||||||
options2: [],
|
options2: [],
|
||||||
vcode: '',
|
vcode: '',
|
||||||
@@ -420,6 +425,23 @@ export default {
|
|||||||
this.show = true
|
this.show = true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
else if (type === 'DELETE') {
|
||||||
|
this.$confirm('确定要删除吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
// 用户点击“确定”,执行隐藏操作
|
||||||
|
this.show = false;
|
||||||
|
console.log("进入方法")
|
||||||
|
console.log(this.popData)
|
||||||
|
crudProduceScreen.deletevehiclemessage( this.popData.device_code )
|
||||||
|
}).catch(() => {
|
||||||
|
// 用户点击“取消”,不执行任何操作
|
||||||
|
console.log('用户取消了操作');
|
||||||
|
});
|
||||||
|
this.show = true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
handleCurrentChange(val) {
|
handleCurrentChange(val) {
|
||||||
this.imgSrc = ''
|
this.imgSrc = ''
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ export function loginOut(data) {
|
|||||||
export function selectMaterialAndJpg(code) {
|
export function selectMaterialAndJpg(code) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/handheld/selectMaterialAndJpg?pointCode=' + code,
|
url: 'api/handheld/selectMaterialAndJpg?pointCode=' + code,
|
||||||
method: 'get'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,6 +124,14 @@ export function selectCacheTask(data) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
//15.组盘删除
|
||||||
authLogin, getUserOrDevice, deviceInLogin, regionOrder, fabMaterial, callMater, callEmp, fabOrders, sendMater, sendVehicle, getPointVehicle, loginOut, selectMaterialAndJpg, selectCacheTask
|
export function deletevehiclemessage(code) {
|
||||||
|
return request({
|
||||||
|
url: 'api/handheld/deletevehiclemessage?pointCode=' + code,
|
||||||
|
method: 'post'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
authLogin, getUserOrDevice, deviceInLogin, regionOrder, fabMaterial, callMater, callEmp, fabOrders, sendMater, sendVehicle, getPointVehicle, loginOut, selectMaterialAndJpg, selectCacheTask, deletevehiclemessage
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -161,7 +161,7 @@
|
|||||||
title="创建任务"
|
title="创建任务"
|
||||||
:visible.sync="dialogVisible"
|
:visible.sync="dialogVisible"
|
||||||
width="350px"
|
width="350px"
|
||||||
:style="{ 'max-height': '80vh', overflowY: 'auto' }"
|
:style="{ 'max-height': '40vh', overflowY: 'auto' }"
|
||||||
@close="resetForm"
|
@close="resetForm"
|
||||||
>
|
>
|
||||||
<el-form ref="taskForm" :model="newTask" width="200px">
|
<el-form ref="taskForm" :model="newTask" width="200px">
|
||||||
@@ -189,6 +189,38 @@
|
|||||||
<el-button type="primary" @click="submitTask">确 定</el-button>
|
<el-button type="primary" @click="submitTask">确 定</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<el-dialog
|
||||||
|
title="修改下道工序"
|
||||||
|
:visible.sync="dialogVisible2"
|
||||||
|
width="350px"
|
||||||
|
:style="{ 'max-height': '40vh', overflowY: 'auto' }"
|
||||||
|
@close="resetForm1"
|
||||||
|
>
|
||||||
|
<el-form ref="taskForm" :model="newTask1" width="200px">
|
||||||
|
<el-form-item label="下道工序" :rules="[{ required: true, message: '请输入下道工序', trigger: 'blur' }]">
|
||||||
|
<el-select
|
||||||
|
v-model="newTask1.region_name"
|
||||||
|
size="mini"
|
||||||
|
placeholder="下道工序"
|
||||||
|
class="filter-item"
|
||||||
|
style="width: 240px;"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in regionList"
|
||||||
|
:key="item.region_code"
|
||||||
|
:label="item.region_name"
|
||||||
|
:value="item.region_code"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="dialogVisible2 = false">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="submitFix">确 定</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
<!--表格渲染-->
|
<!--表格渲染-->
|
||||||
<el-table
|
<el-table
|
||||||
ref="table"
|
ref="table"
|
||||||
@@ -236,7 +268,7 @@
|
|||||||
<el-table-column prop="daybetween" label="入库天数" :min-width="flexWidth('daybetween',crud.data,'入库天数')" />
|
<el-table-column prop="daybetween" label="入库天数" :min-width="flexWidth('daybetween',crud.data,'入库天数')" />
|
||||||
<el-table-column v-if="false" prop="update_name" label="修改人" :min-width="flexWidth('update_name',crud.data,'修改人')" />
|
<el-table-column v-if="false" prop="update_name" label="修改人" :min-width="flexWidth('update_name',crud.data,'修改人')" />
|
||||||
<el-table-column v-if="false" prop="update_time" label="修改时间" :min-width="flexWidth('update_time',crud.data,'修改时间')" />
|
<el-table-column v-if="false" prop="update_time" label="修改时间" :min-width="flexWidth('update_time',crud.data,'修改时间')" />
|
||||||
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
<el-table-column v-permission="[]" label="操作" width="240px" align="center" fixed="right">
|
||||||
<!-- <template slot-scope="scope">
|
<!-- <template slot-scope="scope">
|
||||||
<udOperation
|
<udOperation
|
||||||
:data="scope.row"
|
:data="scope.row"
|
||||||
@@ -252,6 +284,14 @@
|
|||||||
>
|
>
|
||||||
创建任务
|
创建任务
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="!!scope.row.has_work && scope.row.theLocation != null"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-plus"
|
||||||
|
@click="fixnextstyle(scope.row)"
|
||||||
|
>
|
||||||
|
修改下道工序
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -352,10 +392,16 @@ export default {
|
|||||||
workOrderDialog: false,
|
workOrderDialog: false,
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
dialogVisible1: false,
|
dialogVisible1: false,
|
||||||
|
dialogVisible2: false,
|
||||||
newTask: {
|
newTask: {
|
||||||
point_code2: '',
|
point_code2: '',
|
||||||
vehicle_code: '',
|
vehicle_code: '',
|
||||||
point_code1: ''
|
point_code1: ''
|
||||||
|
},
|
||||||
|
newTask1: {
|
||||||
|
region_code: '',
|
||||||
|
region_name: '',
|
||||||
|
vehicle_code: ''
|
||||||
},
|
},
|
||||||
errGif: errGif,
|
errGif: errGif,
|
||||||
materialFile: ''
|
materialFile: ''
|
||||||
@@ -435,10 +481,18 @@ export default {
|
|||||||
this.newTask.vehicle_code = tree.vehicle_code
|
this.newTask.vehicle_code = tree.vehicle_code
|
||||||
this.dialogVisible = true // 打开对话框
|
this.dialogVisible = true // 打开对话框
|
||||||
},
|
},
|
||||||
|
fixnextstyle(tree) {
|
||||||
|
this.newTask1.vehicle_code = tree.vehicle_code
|
||||||
|
this.dialogVisible2 = true // 打开对话框
|
||||||
|
},
|
||||||
resetForm() {
|
resetForm() {
|
||||||
// 在对话框关闭时重置表单
|
// 在对话框关闭时重置表单
|
||||||
this.newTask.point_code2 = ''
|
this.newTask.point_code2 = ''
|
||||||
},
|
},
|
||||||
|
resetForm1() {
|
||||||
|
// 在对话框关闭时重置表单
|
||||||
|
this.newTask1.region_name = ''
|
||||||
|
},
|
||||||
cleanFrom() {
|
cleanFrom() {
|
||||||
// 在对话框关闭时重置表单
|
// 在对话框关闭时重置表单
|
||||||
this.newTask.point_code2 = ''
|
this.newTask.point_code2 = ''
|
||||||
@@ -458,6 +512,21 @@ export default {
|
|||||||
console.error('表单验证失败')
|
console.error('表单验证失败')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
submitFix() {
|
||||||
|
this.$refs.taskForm.validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
crudSchBaseVehiclematerialgroup.fixnextstyle(this.newTask1).then(res => {
|
||||||
|
console.log(res)
|
||||||
|
this.$notify({ type: 'success', message: '修改下道工序成功!' })
|
||||||
|
this.dialogVisible2 = false // 只在成功后关闭对话框
|
||||||
|
}).catch(error => {
|
||||||
|
console.error('修改下道工序失败:', error)
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
console.error('表单验证失败')
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,5 +54,12 @@ export function selectMaterialFile(groupId) {
|
|||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
export function fixnextstyle(data) {
|
||||||
|
return request({
|
||||||
|
url: 'api/schBaseVehiclematerialgroup/fixnextstyle',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export default { add, edit, del, getGroup, selectByVehicle, createTask, selectMaterialFile }
|
export default { add, edit, del, getGroup, selectByVehicle, createTask, selectMaterialFile, fixnextstyle }
|
||||||
|
|||||||
@@ -231,7 +231,7 @@
|
|||||||
<el-form-item label="载具编码" prop="vehicle_code">
|
<el-form-item label="载具编码" prop="vehicle_code">
|
||||||
<el-input v-model="form.vehicle_code" clearable style="width: 370px;" />
|
<el-input v-model="form.vehicle_code" clearable style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!--<el-form-item label="允许载具类型" prop="can_vehicle_type">
|
<el-form-item label="允许载具类型" prop="can_vehicle_type">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.can_vehicle_type"
|
v-model="form.can_vehicle_type"
|
||||||
size="mini"
|
size="mini"
|
||||||
@@ -246,7 +246,7 @@
|
|||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>-->
|
</el-form-item>
|
||||||
<el-form-item label="点位状态" prop="point_status">
|
<el-form-item label="点位状态" prop="point_status">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.point_status"
|
v-model="form.point_status"
|
||||||
@@ -298,11 +298,11 @@
|
|||||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column v-if="false" prop="workshop_code" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')" />
|
<el-table-column v-if="false" prop="workshop_code" label="车间编码" :min-width="flexWidth('workshop_code',crud.data,'车间编码')" />
|
||||||
<el-table-column prop="point_code" label="点位编码" :min-width="flexWidth('point_code',crud.data,'点位编码')" />
|
<!-- <el-table-column prop="point_code" label="点位编码" :min-width="flexWidth('point_code',crud.data,'点位编码')" /> -->
|
||||||
<el-table-column prop="point_name" label="点位名称" :min-width="flexWidth('point_name',crud.data,'点位名称')" />
|
<el-table-column prop="point_name" label="点位名称" :min-width="flexWidth('point_name',crud.data,'点位名称')" />
|
||||||
<el-table-column prop="region_code" label="区域编码" :min-width="flexWidth('region_code',crud.data,'区域编码')" />
|
<!-- <el-table-column prop="region_code" label="区域编码" :min-width="flexWidth('region_code',crud.data,'区域编码')" /> -->
|
||||||
<el-table-column prop="region_name" label="区域名称" :min-width="flexWidth('region_name',crud.data,'区域名称')" />
|
<el-table-column prop="region_name" label="区域名称" :min-width="flexWidth('region_name',crud.data,'区域名称')" />
|
||||||
<el-table-column prop="point_type_name" label="点位类型" :min-width="flexWidth('point_type_name',crud.data,'点位类型')" />
|
<!-- <el-table-column prop="point_type_name" label="点位类型" :min-width="flexWidth('point_type_name',crud.data,'点位类型')" /> -->
|
||||||
<el-table-column prop="point_status" label="点位状态" :min-width="flexWidth('point_status',crud.data,'点位类型')">
|
<el-table-column prop="point_status" label="点位状态" :min-width="flexWidth('point_status',crud.data,'点位类型')">
|
||||||
<template v-slot="scope">
|
<template v-slot="scope">
|
||||||
{{ dict.label.point_status[scope.row.point_status] || '未知' }}
|
{{ dict.label.point_status[scope.row.point_status] || '未知' }}
|
||||||
@@ -335,16 +335,11 @@
|
|||||||
{{ scope.row.is_auto?'是':'否' }}
|
{{ scope.row.is_auto?'是':'否' }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />
|
|
||||||
<el-table-column prop="is_used" label="是否启用" :min-width="flexWidth('is_used',crud.data,'是否启用')">
|
<el-table-column prop="is_used" label="是否启用" :min-width="flexWidth('is_used',crud.data,'是否启用')">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ scope.row.is_used?'是':'否' }}
|
{{ scope.row.is_used?'是':'否' }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="create_name" label="创建人" :min-width="flexWidth('create_name',crud.data,'创建人')" />
|
|
||||||
<el-table-column prop="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')" />
|
|
||||||
<el-table-column prop="update_name" label="修改人" :min-width="flexWidth('update_name',crud.data,'修改人')" />
|
|
||||||
<el-table-column prop="update_time" label="修改时间" :min-width="flexWidth('update_time',crud.data,'修改时间')" />
|
|
||||||
<!-- <el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
<!-- <el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<udOperation
|
<udOperation
|
||||||
|
|||||||
@@ -99,6 +99,12 @@
|
|||||||
<el-form-item label="配置编码">
|
<el-form-item label="配置编码">
|
||||||
<el-input v-model="form.config_code" style="width: 240px;" />
|
<el-input v-model="form.config_code" style="width: 240px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="起点">
|
||||||
|
<el-input v-model="form.startcode_name" style="width: 240px;" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="终点">
|
||||||
|
<el-input v-model="form.finishcode_name" style="width: 240px;" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="点位1">
|
<el-form-item label="点位1">
|
||||||
<el-input v-model="form.point_code1" style="width: 240px;" />
|
<el-input v-model="form.point_code1" style="width: 240px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -185,6 +191,8 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="remark" label="提示信息" :min-width="flexWidth('remark',crud.data,'提示信息')" />
|
<el-table-column prop="remark" label="提示信息" :min-width="flexWidth('remark',crud.data,'提示信息')" />
|
||||||
<el-table-column prop="config_code" label="配置编码" :min-width="flexWidth('config_code',crud.data,'配置编码')" />
|
<el-table-column prop="config_code" label="配置编码" :min-width="flexWidth('config_code',crud.data,'配置编码')" />
|
||||||
|
<el-table-column prop="startcode_name" label="起点" :min-width="flexWidth('startcode_name',crud.data,'起点')" />
|
||||||
|
<el-table-column prop="finishcode_name" label="终点" :min-width="flexWidth('startcode_name',crud.data,'终点')" />
|
||||||
<el-table-column prop="point_code1" label="点位1" :min-width="flexWidth('point_code1',crud.data,'点位1')" />
|
<el-table-column prop="point_code1" label="点位1" :min-width="flexWidth('point_code1',crud.data,'点位1')" />
|
||||||
<el-table-column prop="point_code2" label="点位2" :min-width="flexWidth('point_code2',crud.data,'点位2')" />
|
<el-table-column prop="point_code2" label="点位2" :min-width="flexWidth('point_code2',crud.data,'点位2')" />
|
||||||
<el-table-column prop="request_param" label="请求参数" :min-width="150">
|
<el-table-column prop="request_param" label="请求参数" :min-width="150">
|
||||||
@@ -271,6 +279,8 @@ const defaultForm = {
|
|||||||
config_code: null,
|
config_code: null,
|
||||||
point_code1: null,
|
point_code1: null,
|
||||||
point_code2: null,
|
point_code2: null,
|
||||||
|
startcode_name: null,
|
||||||
|
finishcode_name: null,
|
||||||
point_code3: null,
|
point_code3: null,
|
||||||
point_code4: null,
|
point_code4: null,
|
||||||
start_wait_point: null,
|
start_wait_point: null,
|
||||||
|
|||||||
Reference in New Issue
Block a user