opt: 联调测试优化
This commit is contained in:
@@ -7,6 +7,7 @@ import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpStatus;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -488,7 +489,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
schBaseVehiclematerialgroup.setMaterial_id(connectorDto.getProductID());
|
||||
schBaseVehiclematerialgroup.setMaterial_qty(connectorDto.getCurrentqty());
|
||||
schBaseVehiclematerialgroup.setRegion_code(connectorDto.getNextOperation());
|
||||
schBaseVehiclematerialgroup.setExtend(connectorDto.toString());
|
||||
schBaseVehiclematerialgroup.setExtend(JSON.toJSONString(connectorDto));
|
||||
schBaseVehiclematerialgroup.setOrder_code(connectorDto.getProductionOrder());
|
||||
iSchBaseVehiclematerialgroupService.create(schBaseVehiclematerialgroup);
|
||||
taskService.update(Wrappers.lambdaUpdate(SchBaseTask.class).eq(SchBaseTask::getTask_code, schBaseTask.getTask_code())
|
||||
|
||||
@@ -12,4 +12,11 @@ public interface WmsToConnectorService {
|
||||
* @param json
|
||||
*/
|
||||
AcsResponse feedAgvTaskStatus(JSONObject json);
|
||||
|
||||
/**
|
||||
* 反馈放货完成
|
||||
* @param json
|
||||
* @return
|
||||
*/
|
||||
AcsResponse feedAgvFinishTask(JSONObject json);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package org.nl.wms.ext.connector.service.dto;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
@@ -17,44 +19,54 @@ public class ConnectorDto {
|
||||
/**
|
||||
* 任务号
|
||||
*/
|
||||
@SerializedName("jobname")
|
||||
private String Jobname;
|
||||
|
||||
/**
|
||||
* 下料小车托盘号
|
||||
*/
|
||||
@SerializedName("palletID")
|
||||
private String PalletID;
|
||||
|
||||
/**
|
||||
* 物料号
|
||||
*/
|
||||
@SerializedName("productID")
|
||||
private String ProductID;
|
||||
/**
|
||||
* 装载数量
|
||||
*/
|
||||
@SerializedName("currentqty")
|
||||
private Integer Currentqty;
|
||||
/**
|
||||
* X尺寸
|
||||
*/
|
||||
@SerializedName("sizeX")
|
||||
private String SizeX;
|
||||
/**
|
||||
* Y尺寸
|
||||
*/
|
||||
@SerializedName("sizeY")
|
||||
private String SizeY;
|
||||
/**
|
||||
* 角度
|
||||
*/
|
||||
@SerializedName("angle")
|
||||
private String Angle;
|
||||
/**
|
||||
* 厚度
|
||||
*/
|
||||
@SerializedName("thickness")
|
||||
private String Thickness;
|
||||
/**
|
||||
* X坐标
|
||||
*/
|
||||
@SerializedName("positionX")
|
||||
private String PositionX;
|
||||
/**
|
||||
* Y坐标
|
||||
*/
|
||||
@SerializedName("positionY")
|
||||
private String PositionY;
|
||||
/**
|
||||
* 载具号
|
||||
@@ -63,17 +75,21 @@ public class ConnectorDto {
|
||||
/**
|
||||
* 工单
|
||||
*/
|
||||
@SerializedName("productionOrder")
|
||||
private String ProductionOrder;
|
||||
/**
|
||||
* JOBFinishFlag
|
||||
*/
|
||||
@SerializedName("finished")
|
||||
private String Finished;
|
||||
/**
|
||||
* 下一道工序
|
||||
*/
|
||||
@SerializedName("nextOperation")
|
||||
private String NextOperation;
|
||||
/**
|
||||
* 截至时间
|
||||
*/
|
||||
@SerializedName("dueDate")
|
||||
private String DueDate;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.ext.connector.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.wms.ext.acs.service.dto.to.wms.AcsResponse;
|
||||
@@ -18,8 +19,20 @@ public class WmsToConnectorServiceImpl implements WmsToConnectorService {
|
||||
|
||||
@Override
|
||||
public AcsResponse feedAgvTaskStatus(JSONObject json) {
|
||||
String api = "api/iot/agvtask";
|
||||
AcsResponse acsResponse = ConnectorUtil.notifyConnector2(api, json);
|
||||
String api = "/iot/agvarrive";
|
||||
JSONArray objects = new JSONArray();
|
||||
objects.add(json);
|
||||
AcsResponse acsResponse = ConnectorUtil.notifyConnector2(api, objects);
|
||||
return acsResponse;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public AcsResponse feedAgvFinishTask(JSONObject json) {
|
||||
String api = "/iot/agvfinish";
|
||||
JSONArray objects = new JSONArray();
|
||||
objects.add(json);
|
||||
AcsResponse acsResponse = ConnectorUtil.notifyConnector2(api, objects);
|
||||
return acsResponse;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package org.nl.wms.ext.handheld.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.logging.annotation.Log;
|
||||
import org.nl.wms.ext.handheld.service.HandheldService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @author LENOVO
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "手持")
|
||||
@RequestMapping("/api/")
|
||||
@Slf4j
|
||||
@SaIgnore
|
||||
public class HandheldController {
|
||||
|
||||
@Autowired
|
||||
private HandheldService handheldService;
|
||||
|
||||
@PostMapping("/task")
|
||||
@Log("手持创建去地面点位任务")
|
||||
@ApiOperation("手持创建去地面点位任务")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> applyGroundTask(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(handheldService.applyTask(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/emptyVehicle")
|
||||
@Log("呼叫地面空载具点位")
|
||||
@ApiOperation("呼叫地面空载具点位")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> applyEmptyVehicle(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(handheldService.applyEmptyVehicle(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package org.nl.wms.ext.handheld.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
/**
|
||||
* @author LENOVO
|
||||
*/
|
||||
public interface HandheldService {
|
||||
|
||||
|
||||
/**
|
||||
* 手持申请去地面点位任务
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
Object applyTask(JSONObject param);
|
||||
|
||||
|
||||
/**
|
||||
* 手持呼叫空载具地面点位
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
Object applyEmptyVehicle(JSONObject param);
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
package org.nl.wms.ext.handheld.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import nl.basjes.shaded.org.springframework.util.Assert;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.wms.ext.handheld.service.HandheldService;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||
import org.nl.wms.sch.task_manage.task.TaskFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author LENOVO
|
||||
*/
|
||||
@Service
|
||||
public class HandheldServiceImpl implements HandheldService {
|
||||
|
||||
@Autowired
|
||||
private ISchBasePointService iSchBasePointService;
|
||||
|
||||
@Autowired
|
||||
private TaskFactory taskFactory;
|
||||
|
||||
|
||||
@Override
|
||||
public Object applyTask(JSONObject param) {
|
||||
Assert.noNullElements(new Object[]{param.getString("device_code"), param.getString("vehicle_list")
|
||||
, param.getString("vehicle_type")}, "参数不能为空!");
|
||||
String vehicle_list = param.getString("vehicle_list");
|
||||
String region_code = param.getString("region_code");
|
||||
|
||||
String device_code = param.getString("device_code");
|
||||
String vehicle_type = param.getString("vehicle_type");
|
||||
SchBasePoint schBasePoint = iSchBasePointService.selectByPointCode(device_code);
|
||||
boolean equals = StrUtil.equals(schBasePoint.getPoint_type(), vehicle_type);
|
||||
if (ObjectUtil.isEmpty(schBasePoint) || !equals) throw new BadRequestException("设备点位不存在!");
|
||||
AbstractTask connectorTask = taskFactory.getTask("HHTask");
|
||||
// 准备参数:设备编码
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("device_code", device_code);
|
||||
jo.put("config_code", "HHTask");
|
||||
jo.put("create_mode", GeneralDefinition.AUTO_CREATION);
|
||||
jo.put("vehicle_qty", BeanUtil.toBean(vehicle_list, List.class).size());
|
||||
jo.put("vehicles", BeanUtil.toBean(vehicle_list, List.class));
|
||||
jo.put("vehicle_type", vehicle_type);
|
||||
jo.put("ext_data", param);
|
||||
connectorTask.apply(jo);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object applyEmptyVehicle(JSONObject param) {
|
||||
Assert.noNullElements(new Object[]{param.getString("device_code"), param.getString("vehicle_type")}, "参数不能为空!");
|
||||
String device_code = param.getString("device_code");
|
||||
String vehicle_type = param.getString("vehicle_type");
|
||||
SchBasePoint schBasePoint = iSchBasePointService.selectByPointCode(device_code);
|
||||
boolean equals = StrUtil.equals(schBasePoint.getPoint_type(), vehicle_type);
|
||||
if (ObjectUtil.isEmpty(schBasePoint) || !equals) throw new BadRequestException("设备点位不存在!");
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.logging.annotation.Log;
|
||||
import org.nl.wms.ext.connector.service.dto.ConnectorDto;
|
||||
import org.nl.wms.ext.sorting.service.SortingService;
|
||||
import org.nl.wms.sch.point.service.dto.PointMaterialInfo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -34,11 +35,12 @@ public class SortingController {
|
||||
Map map = sortingService.createAgvTask(jsonObject);
|
||||
return new ResponseEntity(map, HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/jobs")
|
||||
@Log("查询物料列表")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> getMaterialList(String Jobname){
|
||||
List<PointMaterialInfo> structList = sortingService.getStructList(Jobname);
|
||||
public ResponseEntity<Object> getMaterialList(@RequestParam String Jobname){
|
||||
List<ConnectorDto> structList = sortingService.getStructList(Jobname);
|
||||
return new ResponseEntity(structList, HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.nl.wms.ext.sorting.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.wms.ext.connector.service.dto.ConnectorDto;
|
||||
import org.nl.wms.sch.point.service.dto.PointMaterialInfo;
|
||||
|
||||
import java.util.List;
|
||||
@@ -18,5 +19,5 @@ public interface SortingService {
|
||||
*/
|
||||
Map createAgvTask(JSONObject jsonObject);
|
||||
|
||||
List<PointMaterialInfo> getStructList(String jobName);
|
||||
List<ConnectorDto> getStructList(String jobName);
|
||||
}
|
||||
|
||||
@@ -1,14 +1,20 @@
|
||||
package org.nl.wms.ext.sorting.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.json.JSONArray;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.google.gson.Gson;
|
||||
import org.nl.common.enums.region.RegionEnum;
|
||||
import org.nl.config.IdUtil;
|
||||
import org.nl.config.MapOf;
|
||||
import org.nl.wms.ext.connector.service.dto.ConnectorDto;
|
||||
import org.nl.wms.ext.sorting.enums.SortingEnum;
|
||||
import org.nl.wms.ext.sorting.service.SortingService;
|
||||
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.point.service.dto.PointMaterialInfo;
|
||||
@@ -20,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -39,6 +46,8 @@ public class SortingServiceImpl implements SortingService {
|
||||
private SortingSNTTask sortingSNTTask;
|
||||
@Autowired
|
||||
private ISchBasePointService iSchBasePointService;
|
||||
@Autowired
|
||||
private ISchBaseVehiclematerialgroupService iSchBaseVehiclematerialgroupService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -90,8 +99,16 @@ public class SortingServiceImpl implements SortingService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PointMaterialInfo> getStructList(String jobName) {
|
||||
List<PointMaterialInfo> structList = iSchBasePointService.getStructList(RegionEnum.ZDFJ.getRegion_code(), "1");
|
||||
return structList;
|
||||
public List<ConnectorDto> getStructList(String jobName) {
|
||||
List<SchBaseVehiclematerialgroup> list = iSchBaseVehiclematerialgroupService.list(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class)
|
||||
.eq(SchBaseVehiclematerialgroup::getJob_name, jobName));
|
||||
List<ConnectorDto> connectors = new ArrayList<>();
|
||||
for (SchBaseVehiclematerialgroup schBaseVehiclematerialgroup : list) {
|
||||
Gson gson = new Gson();
|
||||
ConnectorDto connectorDto = gson.fromJson(schBaseVehiclematerialgroup.getExtend(), ConnectorDto.class);
|
||||
connectors.add(connectorDto);
|
||||
}
|
||||
// List<PointMaterialInfo> structList = iSchBasePointService.getStructList(RegionEnum.ZDFJ.getRegion_code(), "1");
|
||||
return connectors;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
||||
import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -64,4 +65,6 @@ public interface ISchBaseVehiclematerialgroupService extends IService<SchBaseVeh
|
||||
* @param data
|
||||
*/
|
||||
void updateByVehicleCode(String vehicle_code, String data);
|
||||
|
||||
List selectByJobName(String jobName);
|
||||
}
|
||||
|
||||
@@ -136,4 +136,9 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
|
||||
.set(SchBaseVehiclematerialgroup::getExtend, data));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List selectByJobName(String jobName) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
||||
* @param start_device_code
|
||||
* @return
|
||||
*/
|
||||
SchBasePoint selectByPointCode(String start_device_code);
|
||||
SchBasePoint selectByPointCode(String device_code);
|
||||
|
||||
/**
|
||||
* 查询二次分配的虚拟站点
|
||||
@@ -118,4 +118,10 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
||||
*/
|
||||
SchBasePoint selectByNextWaitPoint(String device_code,String vehicleCode);
|
||||
|
||||
/**
|
||||
* 根据托盘类型查询
|
||||
* @param vehicle_type
|
||||
* @return
|
||||
*/
|
||||
SchBasePoint selectByVehicleQty(String config_code, String vehicle_type);
|
||||
}
|
||||
|
||||
@@ -335,6 +335,18 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SchBasePoint selectByVehicleQty(String config_code, String vehicle_type) {
|
||||
Assert.noNullElements(new Object[]{config_code, vehicle_type}, "载具类型不能为空!");
|
||||
|
||||
List<SchBasePoint> schBasePoints = pointMapper.selectList(Wrappers.lambdaQuery(SchBasePoint.class).eq(SchBasePoint::getIs_lock, false)
|
||||
.isNotNull(SchBasePoint::getVehicle_code)
|
||||
.eq(SchBasePoint::getRegion_code, config_code)
|
||||
.eq(SchBasePoint::getPoint_status, GoodsEnum.EMPTY_PALLETS.getValue())
|
||||
.eq(SchBasePoint::getCan_vehicle_type, vehicle_type));
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PointMaterialInfo> getStructList(String region_code, String vehicle_type) {
|
||||
List<PointMaterialInfo> structList = pointMapper.getStructList(region_code, vehicle_type);
|
||||
|
||||
@@ -86,7 +86,7 @@ public class ConnectorUtil {
|
||||
return AcsResponse.requestRefuse("未连接ACS!");
|
||||
}
|
||||
String url = connectorUrl + api;
|
||||
log.info("下发acs任务的参数为:{}", JSON.toJSONString(object));
|
||||
log.info("反馈connector到达取货点的参数为:{},接口路径:{}", JSON.toJSONString(object),url);
|
||||
AcsResponse resultForAcs;
|
||||
try {
|
||||
String resultMsg = HttpRequest.post(url)
|
||||
@@ -94,6 +94,7 @@ public class ConnectorUtil {
|
||||
.execute().body();
|
||||
result = JSONObject.parseObject(resultMsg);
|
||||
resultForAcs = JSONObject.toJavaObject(result, AcsResponse.class);
|
||||
log.info("反馈connector到达取货点的响应参数为:{}", result);
|
||||
} catch (Exception e) {
|
||||
String msg = e.getMessage();
|
||||
//网络不通
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
package org.nl.wms.sch.task_manage.task.tasks.cnt;
|
||||
package org.nl.wms.sch.task_manage.task.tasks.connector;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.enums.GoodsEnum;
|
||||
@@ -11,13 +10,11 @@ import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.system.service.notice.ISysNoticeService;
|
||||
import org.nl.wms.ext.acs.service.dto.to.BaseResponse;
|
||||
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||
import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
|
||||
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||
import org.nl.wms.sch.task_manage.enums.NoticeTypeEnum;
|
||||
@@ -29,9 +26,7 @@ import org.nl.wms.util.TaskUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Component(value = "CNTTask")
|
||||
@@ -1,8 +1,7 @@
|
||||
package org.nl.wms.sch.task_manage.task.tasks.cnt;
|
||||
package org.nl.wms.sch.task_manage.task.tasks.connector;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.enums.GoodsEnum;
|
||||
@@ -11,13 +10,11 @@ import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.system.service.notice.ISysNoticeService;
|
||||
import org.nl.wms.ext.acs.service.dto.to.BaseResponse;
|
||||
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||
import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||
import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig;
|
||||
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||
import org.nl.wms.sch.task_manage.GeneralDefinition;
|
||||
import org.nl.wms.sch.task_manage.enums.NoticeTypeEnum;
|
||||
@@ -0,0 +1,104 @@
|
||||
package org.nl.wms.sch.task_manage.task.tasks.handheld;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.common.enums.GoodsEnum;
|
||||
import org.nl.common.enums.region.RegionEnum;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.system.service.notice.ISysNoticeService;
|
||||
import org.nl.wms.ext.acs.service.dto.to.BaseResponse;
|
||||
import org.nl.wms.sch.group.service.ISchBaseVehiclematerialgroupService;
|
||||
import org.nl.wms.sch.point.service.ISchBasePointService;
|
||||
import org.nl.wms.sch.point.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch.task.service.ISchBaseTaskService;
|
||||
import org.nl.wms.sch.task.service.ISchBaseTaskconfigService;
|
||||
import org.nl.wms.sch.task.service.dao.SchBaseTask;
|
||||
import org.nl.wms.sch.task_manage.AbstractTask;
|
||||
import org.nl.wms.sch.task_manage.enums.NoticeTypeEnum;
|
||||
import org.nl.wms.sch.task_manage.task.core.TaskStatus;
|
||||
import org.nl.wms.sch.task_manage.task.core.TaskType;
|
||||
import org.nl.wms.util.PointUtils;
|
||||
import org.nl.wms.util.TaskUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author LENOVO
|
||||
*/
|
||||
@Component("HHTask")
|
||||
public class HHTask extends AbstractTask {
|
||||
|
||||
|
||||
private static final String TASK_CONFIG_CODE = "HHTask";
|
||||
@Autowired
|
||||
private ISchBasePointService pointService;
|
||||
@Autowired
|
||||
private ISchBaseTaskService taskService;
|
||||
@Autowired
|
||||
private ISchBaseTaskconfigService taskConfigService;
|
||||
@Autowired
|
||||
private ISysNoticeService noticeService;
|
||||
@Autowired
|
||||
private ISchBasePointService schBasePointService;
|
||||
@Autowired
|
||||
private ISchBaseVehiclematerialgroupService schBaseVehiclematerialgroupService;
|
||||
|
||||
@Override
|
||||
protected void create() throws BadRequestException {
|
||||
// 获取任务
|
||||
List<SchBaseTask> tasks = taskService.findTasksByTaskStatus(TASK_CONFIG_CODE, TaskStatus.APPLY);
|
||||
// 配置信息
|
||||
for (SchBaseTask task : tasks) {
|
||||
TaskUtils.setUpdateByAcs(task);
|
||||
// 查询终点
|
||||
SchBasePoint schBasePoint = schBasePointService.selectByVehicleQty(RegionEnum.TRUBEND_SHELVES_3_1_1.getRegion_code(),task.getVehicle_type());
|
||||
if (TaskType.CARRY_TASK.getValue().equals(task.getTask_type())) {
|
||||
schBasePoint = schBasePointService.selectByRegionCode(RegionEnum.TRUBEND_SHELVES_3_1_1.getRegion_code(), task.getVehicle_code());
|
||||
} else if (TaskType.REASSIGN_TASK.getValue().equals(task.getTask_type())) {
|
||||
schBasePoint = schBasePointService.selectByReassign(RegionEnum.TRUBEND_SHELVES_3_1_1.getRegion_code(), task.getVehicle_code());
|
||||
}
|
||||
if (ObjectUtil.isEmpty(schBasePoint)) {
|
||||
task.setRemark("未找到所需点位!");
|
||||
taskService.updateById(task);
|
||||
// 消息通知
|
||||
noticeService.createNotice("未找到所需点位!", TASK_CONFIG_CODE + task.getTask_code(),
|
||||
NoticeTypeEnum.WARN.getCode());
|
||||
continue;
|
||||
}
|
||||
|
||||
// 设置终点并修改创建成功状态
|
||||
task.setPoint_code2(schBasePoint.getPoint_code());
|
||||
task.setVehicle_type(schBasePoint.getCan_vehicle_type());
|
||||
task.setRemark("");
|
||||
task.setTask_status(TaskStatus.CREATED.getCode());
|
||||
taskService.updateById(task);
|
||||
|
||||
schBasePoint.setIng_task_code(task.getTask_code());
|
||||
schBasePoint.setPoint_status(GoodsEnum.IN_STOCK.getValue());
|
||||
PointUtils.setUpdateByAcs(schBasePoint);
|
||||
pointService.updateById(schBasePoint);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void updateStatus(String task_code, TaskStatus status) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forceFinish(String task_code) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancel(String task_code) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void feedbackTaskState(JSONObject param, SchBaseTask schBaseTask, BaseResponse result) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@
|
||||
<property name="log.charset" value="utf-8"/>
|
||||
<property name="log.pattern"
|
||||
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
|
||||
|
||||
@@ -16,6 +17,7 @@
|
||||
</encoder>
|
||||
</appender>
|
||||
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!-- 按照每天生成日志文件 -->
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
@@ -108,32 +110,46 @@
|
||||
</logger>
|
||||
</springProfile>
|
||||
<springProfile name="prod">
|
||||
<root level="info">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<root level="debug">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</root>
|
||||
<logger name="jdbc" level="ERROR" additivity="true">
|
||||
<logger name="org.springframework" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.springframework" level="ERROR" additivity="true">
|
||||
<logger name="org.hibernate.SQL" level="DEBUG" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.hibernate" level="ERROR" additivity="true">
|
||||
<logger name="org.apache" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.quartz" level="ERROR" additivity="true">
|
||||
<logger name="org.hibernate" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="com.google" level="ERROR" additivity="true">
|
||||
<logger name="io.netty" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.redisson" level="ERROR" additivity="true">
|
||||
<logger name="jdbc" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.nl.modules.wql" level="ERROR" additivity="true">
|
||||
<logger name="io.lettuce" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.springframework.data" level="ERROR" additivity="true">
|
||||
<logger name="com.fasterxml" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.quartz" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="com.google" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="springfox" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="log4jdbc" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="nl.basjes" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
</springProfile>
|
||||
|
||||
Reference in New Issue
Block a user