去掉Loki
This commit is contained in:
@@ -11,8 +11,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.modules.logging.annotation.Log;
|
||||
import org.nl.wms.ext.acs.service.AcsToWmsService;
|
||||
import org.nl.wms.log.LokiLog;
|
||||
import org.nl.wms.log.LokiLogType;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@@ -38,7 +37,7 @@ public class AcsToWmsController {
|
||||
@PostMapping("/status")
|
||||
@Log("ACS给WMS反馈任务状态")
|
||||
@ApiOperation("ACS给WMS反馈任务状态")
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> receiveTaskStatusAcs(@RequestBody String string) {
|
||||
return new ResponseEntity<>(acsToWmsService.receiveTaskStatusAcs(string), HttpStatus.OK);
|
||||
}
|
||||
@@ -46,7 +45,7 @@ public class AcsToWmsController {
|
||||
@PostMapping("/orderFinish")
|
||||
@Log("ACS给WMS下发工单完成状态")
|
||||
@ApiOperation("ACS给WMS下发工单完成状态")
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> orderFinish(@RequestBody String string) {
|
||||
return new ResponseEntity<>(acsToWmsService.orderFinish(string), HttpStatus.OK);
|
||||
}
|
||||
@@ -54,9 +53,7 @@ public class AcsToWmsController {
|
||||
@PostMapping("/apply")
|
||||
@Log("申请任务")
|
||||
@ApiOperation("申请任务")
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
// @SaCheckPermission("menu:list")
|
||||
// @SaIgnore
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> apply(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(acsToWmsService.apply(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@@ -64,7 +61,7 @@ public class AcsToWmsController {
|
||||
@PostMapping("/manipulatorApply")
|
||||
@Log("ACS机械手给WMS发送任务")
|
||||
@ApiOperation("ACS机械手给WMS发送任务")
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> manipulatorApply(@RequestBody JSONObject whereJson) {
|
||||
acsToWmsService.manipulatorApply(whereJson);
|
||||
JSONObject result = new JSONObject();
|
||||
@@ -76,7 +73,7 @@ public class AcsToWmsController {
|
||||
@PostMapping("/reverseGroup")
|
||||
@Log("入窑口反向组盘")
|
||||
@ApiOperation("入窑口反向组盘")
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> reverseGroup(@RequestBody JSONObject whereJson) {
|
||||
acsToWmsService.reverseGroup(whereJson);
|
||||
JSONObject result = new JSONObject();
|
||||
@@ -85,11 +82,11 @@ public class AcsToWmsController {
|
||||
return new ResponseEntity<>(result, HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@SaIgnore
|
||||
@PostMapping("/ispackage")
|
||||
@Log("ACS给WMS请求是否优先包装")
|
||||
@ApiOperation("ACS给WMS请求是否优先包装")
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
|
||||
public ResponseEntity<Object> ispackage(@RequestBody Map whereJson) {
|
||||
return new ResponseEntity<>(acsToWmsService.ispackage(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@@ -97,7 +94,7 @@ public class AcsToWmsController {
|
||||
@PostMapping("/getEmptyVehicle_code")
|
||||
@Log("获取空木托盘号")
|
||||
@ApiOperation("获取空木托盘号")
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> getEmptyVehicle_code(@RequestBody Map whereJson) {
|
||||
return new ResponseEntity<>(acsToWmsService.getEmptyVehicle_code(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@@ -105,7 +102,7 @@ public class AcsToWmsController {
|
||||
@PostMapping("/sureProduceTask")
|
||||
@Log("排产单确认")
|
||||
@ApiOperation("排产单确认")
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> sureProduceTask(@RequestBody Map whereJson) {
|
||||
return new ResponseEntity<>(acsToWmsService.sureWorkOrder(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@@ -113,7 +110,7 @@ public class AcsToWmsController {
|
||||
@PostMapping("/getDevicecodeByVehicletype")
|
||||
@Log("根据木托盘类型获取对应所在的点位")
|
||||
@ApiOperation("根据木托盘类型获取对应的点位")
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> getDevicecodeByVehicle_ype(@RequestBody Map whereJson) {
|
||||
return new ResponseEntity<>(acsToWmsService.getDeviceCodeByVehicleType(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@@ -121,7 +118,7 @@ public class AcsToWmsController {
|
||||
@PostMapping("/getVehicleInfoBycode")
|
||||
@Log("根据设备编码编码获取托盘信息")
|
||||
@ApiOperation("根据设备编码编码获取托盘信息")
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> getVehicleInfoByDevice_code(@RequestBody Map whereJson) {
|
||||
return new ResponseEntity<>(acsToWmsService.getVehicleInfoByDeviceCode(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@@ -130,7 +127,7 @@ public class AcsToWmsController {
|
||||
@Log("二次申请任务")
|
||||
@ApiOperation("二次申请任务")
|
||||
@SaCheckPermission("menu:list")
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> againApply(@RequestBody String task_id) {
|
||||
return new ResponseEntity<>(acsToWmsService.againApply(task_id), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ public interface AcsToWmsService {
|
||||
* @param whereJson 条件
|
||||
* @return JSONObject
|
||||
*/
|
||||
JSONObject apply(JSONObject whereJson);
|
||||
JSONObject apply(JSONObject whereJson) ;
|
||||
|
||||
/**
|
||||
* ACS机械手给WMS发送任务
|
||||
|
||||
@@ -10,17 +10,14 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.common.utils.SecurityUtils;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.SpringContextHolder;
|
||||
import org.nl.wms.basedata.service.dto.VehicleDto;
|
||||
import org.nl.wms.ext.acs.service.AcsToWmsService;
|
||||
import org.nl.wms.log.LokiLog;
|
||||
import org.nl.wms.log.LokiLogType;
|
||||
|
||||
import org.nl.wms.sch.manage.*;
|
||||
import org.nl.wms.sch.service.TaskService;
|
||||
import org.nl.wms.sch.tasks.PointUpdateUtil;
|
||||
import org.nl.wms.sch.tasks.callEmpty.FjCallEmptyVehicleTask;
|
||||
import org.nl.wms.sch.tasks.callEmpty.HnCallEmptyVehicleTask;
|
||||
import org.nl.wms.sch.tasks.callEmpty.YzjCallEmptyVehicleTask;
|
||||
@@ -29,7 +26,12 @@ import org.nl.wms.sch.tasks.callMaterial.YzjCallMaterialTask;
|
||||
import org.nl.wms.sch.tasks.sendEmpty.DpSendEmpVehicleTask;
|
||||
import org.nl.wms.sch.tasks.sendEmpty.FjSendEmpVehicleTask;
|
||||
import org.nl.wms.sch.tasks.sendEmpty.YzjSendEmpVehicleTask;
|
||||
import org.nl.wms.sch.tasks.sendMaterial.*;
|
||||
import org.nl.wms.sch.tasks.sendMaterial.FjSendMaterialTask;
|
||||
import org.nl.wms.sch.tasks.sendMaterial.HnSendMaterialTask;
|
||||
import org.nl.wms.sch.tasks.sendMaterial.SzSendMaterialTask;
|
||||
import org.nl.wms.sch.tasks.sendMaterial.YzjSendMaterialTask;
|
||||
import org.redisson.api.RLock;
|
||||
import org.redisson.api.RedissonClient;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -37,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@@ -44,6 +47,8 @@ import java.util.Map;
|
||||
public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
private final TaskService taskService;
|
||||
|
||||
private final RedissonClient redissonClient;
|
||||
|
||||
/**
|
||||
* task_id:任务标识
|
||||
* task_code:任务编码
|
||||
@@ -52,7 +57,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
* @param string 条件
|
||||
* @returnzss
|
||||
*/
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
|
||||
@Override
|
||||
public Map<String, Object> receiveTaskStatusAcs(String string) {
|
||||
JSONArray array = JSONArray.parseArray(string);
|
||||
@@ -121,7 +126,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
return result;
|
||||
}
|
||||
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
|
||||
@Override
|
||||
public String againApply(String task_id) {
|
||||
log.info("输入参数:" + task_id);
|
||||
@@ -145,13 +150,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
return point_code;
|
||||
}
|
||||
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
|
||||
@Override
|
||||
public Map<String, Object> receivePointStatusFromAcs(Map<String, String> jsonObject) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
|
||||
@Override
|
||||
public Map<String, Object> orderFinish(String string) {
|
||||
JSONObject orderJson = JSONObject.parseObject(string);
|
||||
@@ -174,7 +179,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
return result;
|
||||
}
|
||||
|
||||
@LokiLog(type = LokiLogType.ACS_TO_LMS)
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONObject apply(JSONObject whereJson) {
|
||||
@@ -185,141 +190,156 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
String weight = whereJson.getString("weight");
|
||||
String qty = whereJson.getString("qty");
|
||||
|
||||
if (ObjectUtil.isEmpty(type)) throw new BadRequestException("类型不能为空");
|
||||
if (ObjectUtil.isEmpty(point_code)) throw new BadRequestException("点位不能为空");
|
||||
RLock lock = redissonClient.getLock("acs_to_wms:" + type);
|
||||
boolean tryLock = false;
|
||||
try {
|
||||
tryLock = lock.tryLock(5, TimeUnit.SECONDS);
|
||||
if (tryLock) {
|
||||
if (ObjectUtil.isEmpty(type)) throw new BadRequestException("类型不能为空");
|
||||
if (ObjectUtil.isEmpty(point_code)) throw new BadRequestException("点位不能为空");
|
||||
|
||||
/**
|
||||
* 类型映射
|
||||
* 1: 送料入库
|
||||
* 2: 叫料出库
|
||||
* 3: 送空托盘
|
||||
* 4: 叫空托盘
|
||||
*/
|
||||
String regionId = WQLObject
|
||||
.getWQLObject("sch_base_point")
|
||||
.query("point_code = '" + point_code + "'")
|
||||
.uniqueResult(0)
|
||||
.getString("region_id");
|
||||
/**
|
||||
* 类型映射
|
||||
* 1: 送料入库
|
||||
* 2: 叫料出库
|
||||
* 3: 送空托盘
|
||||
* 4: 叫空托盘
|
||||
*/
|
||||
String regionId = WQLObject
|
||||
.getWQLObject("sch_base_point")
|
||||
.query("point_code = '" + point_code + "'")
|
||||
.uniqueResult(0)
|
||||
.getString("region_id");
|
||||
|
||||
RegionEnum regionEnum = RegionEnum.get(regionId);
|
||||
RegionEnum regionEnum = RegionEnum.get(regionId);
|
||||
|
||||
// 参数统一获取
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("vehicle_code", vehicle_code);
|
||||
param.put("is_full", is_full);
|
||||
param.put("weight", weight);
|
||||
param.put("qty", qty);
|
||||
// 参数统一获取
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("vehicle_code", vehicle_code);
|
||||
param.put("is_full", is_full);
|
||||
param.put("weight", weight);
|
||||
param.put("qty", qty);
|
||||
|
||||
/*
|
||||
* 根据type判断是什么业务类型:
|
||||
* 1.混碾机送料入库-困料货架
|
||||
* 2.混碾机呼叫空托盘
|
||||
* 3.压制机上料位叫料出库
|
||||
* 4.压制机上料位送空盅
|
||||
* 5.压制机满料入库
|
||||
* 6.压制机呼叫空钢托盘
|
||||
* 8.烧制送料入库
|
||||
* 9.分拣叫料出库
|
||||
* 10.分拣送空钢托盘
|
||||
* 11.分拣送料入库
|
||||
* 12.分拣呼叫木托盘
|
||||
* 13.叠盘区送空钢托盘
|
||||
*/
|
||||
switch (type) {
|
||||
case "1":
|
||||
switch (regionEnum) {
|
||||
case HNQ:
|
||||
// 1.混碾机送料入库:混碾机物料送到困料货架
|
||||
// 创建任务
|
||||
param.put("point_code1", point_code); // 起点
|
||||
SpringContextHolder.getBean(HnSendMaterialTask.class).createTask(param);
|
||||
/*
|
||||
* 根据type判断是什么业务类型:
|
||||
* 1.混碾机送料入库-困料货架
|
||||
* 2.混碾机呼叫空托盘
|
||||
* 3.压制机上料位叫料出库
|
||||
* 4.压制机上料位送空盅
|
||||
* 5.压制机满料入库
|
||||
* 6.压制机呼叫空钢托盘
|
||||
* 8.烧制送料入库
|
||||
* 9.分拣叫料出库
|
||||
* 10.分拣送空钢托盘
|
||||
* 11.分拣送料入库
|
||||
* 12.分拣呼叫木托盘
|
||||
* 13.叠盘区送空钢托盘
|
||||
*/
|
||||
switch (type) {
|
||||
case "1":
|
||||
switch (regionEnum) {
|
||||
case HNQ:
|
||||
// 1.混碾机送料入库:混碾机物料送到困料货架
|
||||
// 创建任务
|
||||
param.put("point_code1", point_code); // 起点
|
||||
SpringContextHolder.getBean(HnSendMaterialTask.class).createTask(param);
|
||||
break;
|
||||
case YZQ:
|
||||
// 5.压制机满料入库
|
||||
param.put("point_code1", point_code); // 起点
|
||||
param.put("group_id", whereJson.getString("group_id")); // 组盘标识 - 机械手过来的
|
||||
// 创建任务
|
||||
SpringContextHolder.getBean(YzjSendMaterialTask.class).createTask(param);
|
||||
break;
|
||||
case YQ:
|
||||
// 8.烧制送料入库
|
||||
param.put("point_code1", point_code); // 起点
|
||||
SpringContextHolder.getBean(SzSendMaterialTask.class).createTask(param);
|
||||
break;
|
||||
case ZDCDX:
|
||||
// 11.分拣送料入库
|
||||
param.put("point_code1", point_code); // 起点
|
||||
param.put("group_id", whereJson.getString("group_id")); // 组盘标识 - 机械手过来的
|
||||
SpringContextHolder.getBean(FjSendMaterialTask.class).createTask(param);
|
||||
break;
|
||||
default:
|
||||
throw new BadRequestException("ACS任务类型错误");
|
||||
}
|
||||
break;
|
||||
case YZQ:
|
||||
// 5.压制机满料入库
|
||||
param.put("point_code1", point_code); // 起点
|
||||
param.put("group_id", whereJson.getString("group_id")); // 组盘标识 - 机械手过来的
|
||||
// 创建任务
|
||||
SpringContextHolder.getBean(YzjSendMaterialTask.class).createTask(param);
|
||||
case "2":
|
||||
switch (regionEnum) {
|
||||
case YZQ:
|
||||
// 3.压制机叫料任务
|
||||
param.put("point_code2", point_code); // 终点
|
||||
// 创建任务
|
||||
SpringContextHolder.getBean(YzjCallMaterialTask.class).createTask(param);
|
||||
break;
|
||||
case ZDCDX:
|
||||
// 9.分拣叫料出库
|
||||
param.put("point_code2", point_code); // 终点
|
||||
SpringContextHolder.getBean(FjCallMaterialTask.class).createTask(param);
|
||||
break;
|
||||
default:
|
||||
throw new BadRequestException("ACS任务类型错误");
|
||||
}
|
||||
break;
|
||||
case YQ:
|
||||
// 8.烧制送料入库
|
||||
param.put("point_code1", point_code); // 起点
|
||||
SpringContextHolder.getBean(SzSendMaterialTask.class).createTask(param);
|
||||
case "3":
|
||||
switch (regionEnum) {
|
||||
case YZQ:
|
||||
// 4.压制机送空盅
|
||||
param.put("point_code1", point_code); // 起点
|
||||
// 创建任务
|
||||
SpringContextHolder.getBean(YzjSendEmpVehicleTask.class).createTask(param);
|
||||
break;
|
||||
case ZDCDX:
|
||||
// 10.分拣送钢托盘
|
||||
param.put("point_code1", point_code); // 起点
|
||||
SpringContextHolder.getBean(FjSendEmpVehicleTask.class).createTask(param);
|
||||
break;
|
||||
case KGTDPQ:
|
||||
// 13.叠盘区送空钢托盘
|
||||
param.put("point_code1", point_code); // 起点
|
||||
SpringContextHolder.getBean(DpSendEmpVehicleTask.class).createTask(param);
|
||||
break;
|
||||
default:
|
||||
throw new BadRequestException("ACS任务类型错误");
|
||||
}
|
||||
break;
|
||||
case ZDCDX:
|
||||
// 11.分拣送料入库
|
||||
param.put("point_code1", point_code); // 起点
|
||||
param.put("group_id", whereJson.getString("group_id")); // 组盘标识 - 机械手过来的
|
||||
SpringContextHolder.getBean(FjSendMaterialTask.class).createTask(param);
|
||||
case "4":
|
||||
switch (regionEnum) {
|
||||
case HNQ:
|
||||
// 2.混碾机呼叫空托盘
|
||||
param.put("point_code2", point_code); // 终点
|
||||
// 创建任务
|
||||
SpringContextHolder.getBean(HnCallEmptyVehicleTask.class).createTask(param);
|
||||
break;
|
||||
case YZQ:
|
||||
// 6.压制机呼叫空托盘
|
||||
param.put("point_code2", point_code); // 终点
|
||||
// 创建任务
|
||||
SpringContextHolder.getBean(YzjCallEmptyVehicleTask.class).createTask(param);
|
||||
break;
|
||||
case ZDCDX:
|
||||
// 12.分拣呼叫木托盘
|
||||
param.put("point_code2", point_code); // 起点
|
||||
SpringContextHolder.getBean(FjCallEmptyVehicleTask.class).createTask(param);
|
||||
break;
|
||||
default:
|
||||
throw new BadRequestException("ACS任务类型错误");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new BadRequestException("ACS任务类型错误");
|
||||
}
|
||||
break;
|
||||
case "2":
|
||||
switch (regionEnum) {
|
||||
case YZQ:
|
||||
// 3.压制机叫料任务
|
||||
param.put("point_code2", point_code); // 终点
|
||||
// 创建任务
|
||||
SpringContextHolder.getBean(YzjCallMaterialTask.class).createTask(param);
|
||||
break;
|
||||
case ZDCDX:
|
||||
// 9.分拣叫料出库
|
||||
param.put("point_code2", point_code); // 终点
|
||||
SpringContextHolder.getBean(FjCallMaterialTask.class).createTask(param);
|
||||
break;
|
||||
default:
|
||||
throw new BadRequestException("ACS任务类型错误");
|
||||
}
|
||||
break;
|
||||
case "3":
|
||||
switch (regionEnum) {
|
||||
case YZQ:
|
||||
// 4.压制机送空盅
|
||||
param.put("point_code1", point_code); // 起点
|
||||
// 创建任务
|
||||
SpringContextHolder.getBean(YzjSendEmpVehicleTask.class).createTask(param);
|
||||
break;
|
||||
case ZDCDX:
|
||||
// 10.分拣送钢托盘
|
||||
param.put("point_code1", point_code); // 起点
|
||||
SpringContextHolder.getBean(FjSendEmpVehicleTask.class).createTask(param);
|
||||
break;
|
||||
case KGTDPQ:
|
||||
// 13.叠盘区送空钢托盘
|
||||
param.put("point_code1", point_code); // 起点
|
||||
SpringContextHolder.getBean(DpSendEmpVehicleTask.class).createTask(param);
|
||||
break;
|
||||
default:
|
||||
throw new BadRequestException("ACS任务类型错误");
|
||||
}
|
||||
break;
|
||||
case "4":
|
||||
switch (regionEnum) {
|
||||
case HNQ:
|
||||
// 2.混碾机呼叫空托盘
|
||||
param.put("point_code2", point_code); // 终点
|
||||
// 创建任务
|
||||
SpringContextHolder.getBean(HnCallEmptyVehicleTask.class).createTask(param);
|
||||
break;
|
||||
case YZQ:
|
||||
// 6.压制机呼叫空托盘
|
||||
param.put("point_code2", point_code); // 终点
|
||||
// 创建任务
|
||||
SpringContextHolder.getBean(YzjCallEmptyVehicleTask.class).createTask(param);
|
||||
break;
|
||||
case ZDCDX:
|
||||
// 12.分拣呼叫木托盘
|
||||
param.put("point_code2", point_code); // 起点
|
||||
SpringContextHolder.getBean(FjCallEmptyVehicleTask.class).createTask(param);
|
||||
break;
|
||||
default:
|
||||
throw new BadRequestException("ACS任务类型错误");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
throw new BadRequestException("ACS任务类型错误");
|
||||
|
||||
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
if (tryLock) {
|
||||
lock.unlock();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -641,7 +661,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
||||
WQLObject workOrderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder");
|
||||
String point_code = (String) jsonObject.get("device_code");
|
||||
JSONObject point = pointTab.query("point_code = '" + point_code + "'").uniqueResult(0);
|
||||
if (ObjectUtil.isEmpty(point)) throw new BadRequestException("未找到点位编码为'"+ point_code +"'的点位信息");
|
||||
if (ObjectUtil.isEmpty(point)) throw new BadRequestException("未找到点位编码为'" + point_code + "'的点位信息");
|
||||
String group_id = point.getString("group_id");
|
||||
JSONObject vehicleObj2 = groupTab.query("group_id = '" + group_id + "' AND is_delete='0'").uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(vehicleObj2)) vehicleObj = vehicleObj2;
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
package org.nl.wms.log;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
/**
|
||||
* @author: lyd
|
||||
* @description: 自定义日志注解,用作LOKI日志分类
|
||||
* @Date: 2022/10/10
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ ElementType.METHOD})
|
||||
@Documented
|
||||
public @interface LokiLog {
|
||||
LokiLogType type() default LokiLogType.DEFAULT;
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
package org.nl.wms.log;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.Signature;
|
||||
import org.aspectj.lang.annotation.Around;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.aspectj.lang.annotation.Pointcut;
|
||||
import org.aspectj.lang.reflect.MethodSignature;
|
||||
import org.slf4j.MDC;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
|
||||
/**
|
||||
* @author: lyd
|
||||
* @description: 自定义日志切面:https://cloud.tencent.com/developer/article/1655923
|
||||
* @Date: 2022/10/10
|
||||
*/
|
||||
@Aspect
|
||||
@Slf4j
|
||||
@Component
|
||||
public class LokiLogAspect {
|
||||
/**
|
||||
* 切到所有OperatorLog注解修饰的方法
|
||||
*/
|
||||
@Pointcut("@annotation(org.nl.wms.log.LokiLog)")
|
||||
public void operatorLog() {
|
||||
// 空方法
|
||||
}
|
||||
|
||||
/**
|
||||
* 利用@Around环绕增强
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Around("operatorLog()")
|
||||
public synchronized Object around(ProceedingJoinPoint pjp) throws Throwable {
|
||||
// ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
||||
// HttpServletRequest request = attributes.getRequest();
|
||||
// HttpServletResponse response = attributes.getResponse();
|
||||
|
||||
Signature signature = pjp.getSignature();
|
||||
MethodSignature methodSignature = (MethodSignature) signature;
|
||||
Method method = methodSignature.getMethod();
|
||||
LokiLog lokiLog = method.getAnnotation(LokiLog.class);
|
||||
|
||||
// 获取描述信息
|
||||
LokiLogType logType = lokiLog.type();
|
||||
|
||||
MDC.put("log_file_type", logType.getDesc());
|
||||
log.info("输入参数:" + JSONObject.toJSONString(pjp.getArgs()));
|
||||
|
||||
Object proceed = pjp.proceed();
|
||||
|
||||
log.info("返回参数:" + JSONObject.toJSONString(proceed));
|
||||
MDC.remove("log_file_type");
|
||||
return proceed;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
package org.nl.wms.log;
|
||||
|
||||
/**
|
||||
* @author: lyd
|
||||
* @description:
|
||||
* @Date: 2022/10/11
|
||||
*/
|
||||
public enum LokiLogType {
|
||||
DEFAULT("默认"),
|
||||
LMS_TO_MES("LMS请求MES"),
|
||||
MES_TO_LMS("MES请求LMS"),
|
||||
LMS_TO_ACS("LMS请求ACS"),
|
||||
ACS_TO_LMS("ACS请求LMS");
|
||||
|
||||
private String desc;
|
||||
|
||||
LokiLogType(String desc) {
|
||||
this.desc=desc;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,10 +6,10 @@ spring:
|
||||
druid:
|
||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:lnsh_lms2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:lnsh_lms2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
# url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lnsh_lms2}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
|
||||
username: ${DB_USER:root}
|
||||
password: ${DB_PWD:P@ssw0rd}
|
||||
password: ${DB_PWD:Root.123456}
|
||||
# password: ${DB_PWD:12356}
|
||||
# 初始连接数
|
||||
initial-size: 5
|
||||
@@ -57,7 +57,17 @@ redis:
|
||||
database: ${REDIS_DB:15}
|
||||
host: ${REDIS_HOST:127.0.0.1}
|
||||
port: ${REDIS_PORT:6379}
|
||||
password: ${REDIS_PWD:}
|
||||
# password: ${REDIS_PWD:}
|
||||
redisson:
|
||||
config: |
|
||||
threads: 4
|
||||
nettyThreads: 4
|
||||
singleServerConfig:
|
||||
connectionMinimumIdleSize: 8
|
||||
connectionPoolSize: 8
|
||||
address: redis://127.0.0.1:6379
|
||||
idleConnectionTimeout: 10000
|
||||
timeout: 3000
|
||||
|
||||
# 登录相关配置
|
||||
login:
|
||||
|
||||
@@ -56,9 +56,18 @@ spring:
|
||||
database: ${REDIS_DB:15}
|
||||
host: ${REDIS_HOST:127.0.0.1}
|
||||
port: ${REDIS_PORT:6379}
|
||||
password: ${REDIS_PWD:}
|
||||
#连接超时时间
|
||||
timeout: 5000
|
||||
redisson:
|
||||
config: |
|
||||
threads: 4
|
||||
nettyThreads: 4
|
||||
singleServerConfig:
|
||||
connectionMinimumIdleSize: 8
|
||||
connectionPoolSize: 8
|
||||
address: redis://127.0.0.1:6379
|
||||
idleConnectionTimeout: 10000
|
||||
timeout: 3000
|
||||
# 登录相关配置
|
||||
login:
|
||||
# 登录缓存
|
||||
|
||||
@@ -14,10 +14,6 @@ https://juejin.cn/post/6844903775631572999
|
||||
<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"/>
|
||||
<springProperty scope="context" name="lokiUrl" source="loki.url"/>
|
||||
<springProperty scope="context" name="systemName" source="loki.systemName"/>
|
||||
<property name="LOKI_URL" value="${lokiUrl}"/>
|
||||
<property name="SYSTEM_NAME" value="${systemName}"/>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!--引入默认的一些设置-->
|
||||
<!--<include resource="log/XrToMes.xml"/>
|
||||
@@ -26,7 +22,7 @@ https://juejin.cn/post/6844903775631572999
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>${log.pattern}</pattern>
|
||||
<charset>${log.charset}</charset>
|
||||
<!-- <charset>${log.charset}</charset>-->
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
@@ -47,6 +43,7 @@ https://juejin.cn/post/6844903775631572999
|
||||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
||||
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
||||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
|
||||
<charset>${log.charset}</charset>
|
||||
</encoder>
|
||||
|
||||
</appender>
|
||||
@@ -58,32 +55,17 @@ https://juejin.cn/post/6844903775631572999
|
||||
<appender-ref ref="FILE"/>
|
||||
</appender>
|
||||
|
||||
<!--添加loki-->
|
||||
<appender name="lokiAppender" class="com.github.loki4j.logback.Loki4jAppender">
|
||||
<batchTimeoutMs>1000</batchTimeoutMs>
|
||||
<http class="com.github.loki4j.logback.ApacheHttpSender">
|
||||
<url>${LOKI_URL}/push</url>
|
||||
</http>
|
||||
<format>
|
||||
<label>
|
||||
<pattern>system=${SYSTEM_NAME},level=%level,logType=%X{log_file_type:-logType}</pattern>
|
||||
</label>
|
||||
<message>
|
||||
<pattern>${log.pattern}</pattern>
|
||||
</message>
|
||||
<sortByTime>true</sortByTime>
|
||||
</format>
|
||||
</appender>
|
||||
|
||||
<!--开发环境:打印控制台-->
|
||||
<springProfile name="dev">
|
||||
<root level="debug">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="lokiAppender" />
|
||||
</root>
|
||||
<logger name="org.springframework" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.redisson" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.apache" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
@@ -124,55 +106,53 @@ https://juejin.cn/post/6844903775631572999
|
||||
<springProfile name="prod">
|
||||
<root level="debug">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
</root>
|
||||
<logger name="org.springframework" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
|
||||
</logger>
|
||||
<logger name="org.apache" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
</logger>
|
||||
<logger name="org.hibernate" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
|
||||
</logger>
|
||||
<logger name="io.netty" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
|
||||
</logger>
|
||||
<logger name="jdbc" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
|
||||
</logger>
|
||||
<logger name="io.lettuce" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
|
||||
</logger>
|
||||
<logger name="com.fasterxml" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
|
||||
</logger>
|
||||
<logger name="org.quartz" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
|
||||
</logger>
|
||||
<logger name="com.google" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
|
||||
</logger>
|
||||
<logger name="springfox" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
|
||||
</logger>
|
||||
<logger name="log4jdbc" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
|
||||
</logger>
|
||||
<logger name="nl.basjes" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="lokiAppender"/>
|
||||
|
||||
</logger>
|
||||
</springProfile>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user