去除mongodb
This commit is contained in:
@@ -2,7 +2,6 @@ package org.nl.acs.device_driver.hailiang.hailiang_coating;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.device.device_driver.standard_inspect.ItemDto;
|
||||
import org.nl.acs.device_driver.hailiang.hailiang_strapping.HaiLiangStrappingDeviceDriver;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package org.nl.acs.device_driver.hailiang.hailiang_feeding;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -8,9 +7,7 @@ import org.nl.acs.device_driver.DeviceDriver;
|
||||
import org.nl.acs.device_driver.RouteableDeviceDriver;
|
||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
||||
import org.nl.acs.instruction.service.dto.Instruction;
|
||||
import org.nl.acs.opc.Device;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 海亮-上料线体
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.acs.device_driver.hailiang.hailiang_feeding_trunk;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -7,12 +8,14 @@ import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
||||
import org.nl.acs.device_driver.DeviceDriver;
|
||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
||||
import org.nl.acs.instruction.service.dto.Instruction;
|
||||
import org.nl.acs.opc.Device;
|
||||
import org.nl.acs.order.service.ProduceshiftorderService;
|
||||
import org.nl.acs.order.service.dto.ProduceshiftorderDto;
|
||||
import org.nl.exception.BadRequestException;
|
||||
import org.openscada.opc.lib.da.Server;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -24,6 +27,9 @@ import java.util.Map;
|
||||
public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver implements DeviceDriver, ExecutableDeviceDriver {
|
||||
protected ItemProtocol itemProtocol = new ItemProtocol(this);
|
||||
|
||||
@Autowired
|
||||
ProduceshiftorderService produceshiftorderService;
|
||||
|
||||
@Override
|
||||
public Device getDevice() {
|
||||
return this.device;
|
||||
@@ -95,6 +101,38 @@ public class HaiLiangFeedingTrunkDeviceDriver extends AbstractOpcDeviceDriver im
|
||||
}
|
||||
|
||||
public boolean apply_order() throws Exception {
|
||||
ProduceshiftorderDto dto = produceshiftorderService.apply_order();
|
||||
if(ObjectUtil.isEmpty(dto)){
|
||||
throw new BadRequestException("未找到可下发工单!");
|
||||
}
|
||||
String order = dto.getOrder_code();
|
||||
//是否刻字
|
||||
String is_lettering = dto.getIs_lettering();
|
||||
//是否套冒
|
||||
String is_risking = dto.getIs_risking();
|
||||
//捆扎
|
||||
String is_strapping = dto.getIs_strapping();
|
||||
//裹膜
|
||||
String is_coating = dto.getIs_coating();
|
||||
//贴标
|
||||
String is_labeling = dto.getIs_labeling();
|
||||
String outer_diameter = dto.getOuter_diameter();
|
||||
String wall_thickness = dto.getWall_thickness();
|
||||
String length = dto.getLength();
|
||||
String qty = dto.getQty();
|
||||
writing(ItemProtocol.item_to_order,order);
|
||||
writing(ItemProtocol.item_to_order_feeding_qty,qty);
|
||||
writing(ItemProtocol.item_to_outer_diameter,outer_diameter);
|
||||
writing(ItemProtocol.item_to_wall_thickness,wall_thickness);
|
||||
writing(ItemProtocol.item_to_length,length);
|
||||
writing(ItemProtocol.item_to_is_labeling,is_labeling);
|
||||
writing(ItemProtocol.item_to_is_risking,is_risking);
|
||||
writing(ItemProtocol.item_to_is_strapping,is_strapping);
|
||||
writing(ItemProtocol.item_to_is_coating,is_coating);
|
||||
writing(ItemProtocol.item_to_is_lettering,is_lettering);
|
||||
dto.setOrder_status("02");
|
||||
produceshiftorderService.update(dto);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,25 +1,12 @@
|
||||
package org.nl.acs.device_driver.hailiang.hailiang_strapping;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.device.device_driver.standard_inspect.ReadUtil;
|
||||
import org.nl.acs.device.service.DeviceService;
|
||||
import org.nl.acs.device_driver.DeviceDriver;
|
||||
import org.nl.acs.device_driver.driver.AbstractOpcDeviceDriver;
|
||||
import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
||||
import org.nl.acs.instruction.service.InstructionService;
|
||||
import org.nl.acs.opc.Device;
|
||||
import org.nl.acs.route.service.RouteLineService;
|
||||
import org.nl.acs.task.service.TaskService;
|
||||
import org.nl.utils.SpringContextHolder;
|
||||
import org.openscada.opc.lib.da.Server;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 海亮-捆扎线体
|
||||
|
||||
@@ -16,8 +16,6 @@ import org.nl.acs.device_driver.driver.ExecutableDeviceDriver;
|
||||
import org.nl.acs.instruction.service.InstructionService;
|
||||
import org.nl.acs.instruction.service.dto.Instruction;
|
||||
import org.nl.acs.opc.Device;
|
||||
import org.nl.acs.opc.DeviceAppService;
|
||||
import org.nl.acs.opc.DeviceAppServiceImpl;
|
||||
import org.nl.acs.opc.WcsConfig;
|
||||
import org.nl.acs.route.service.RouteLineService;
|
||||
import org.nl.acs.route.service.dto.RouteLineDto;
|
||||
|
||||
@@ -6,16 +6,15 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.log.service.LogServer;
|
||||
import org.nl.acs.log.service.dto.LogDto;
|
||||
import org.nl.annotation.Log;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
@@ -1,14 +1,9 @@
|
||||
|
||||
package org.nl.acs.log.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.acs.log.service.dto.LogDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,22 +3,13 @@ package org.nl.acs.log.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.log.service.LogServer;
|
||||
import org.nl.acs.log.service.dto.LogDto;
|
||||
import org.nl.exception.BadRequestException;
|
||||
import org.nl.utils.FileUtil;
|
||||
import org.nl.utils.SecurityUtils;
|
||||
import org.nl.wql.WQL;
|
||||
import org.nl.wql.core.bean.WQLObject;
|
||||
import org.nl.wql.core.engine.object.WO;
|
||||
import org.nl.wql.util.WqlUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
@@ -26,11 +17,9 @@ import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.data.mongodb.core.query.Query;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author loujf
|
||||
|
||||
@@ -2,20 +2,22 @@
|
||||
package org.nl.acs.order.rest;
|
||||
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.order.service.CustomerbaseService;
|
||||
import org.nl.acs.order.service.dto.CustomerbaseDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.nl.annotation.Log;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* @author wangs
|
||||
|
||||
@@ -2,21 +2,22 @@
|
||||
package org.nl.acs.order.rest;
|
||||
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.order.service.MaterialbaseService;
|
||||
import org.nl.acs.order.service.dto.MaterialbaseDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.nl.annotation.Log;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* @author wangs
|
||||
|
||||
@@ -3,10 +3,11 @@ package org.nl.acs.order.service;
|
||||
|
||||
import org.nl.acs.order.service.dto.CustomerbaseDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @description 服务接口
|
||||
|
||||
@@ -3,10 +3,11 @@ package org.nl.acs.order.service;
|
||||
|
||||
import org.nl.acs.order.service.dto.MaterialbaseDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import java.util.Map;
|
||||
import java.util.List;
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @description 服务接口
|
||||
|
||||
@@ -4,7 +4,6 @@ package org.nl.acs.order.service;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import org.nl.acs.order.service.dto.ProduceshiftorderDto;
|
||||
import org.nl.acs.order.service.dto.ProduceshiftorderdetailDto;
|
||||
import org.nl.acs.task.service.dto.TaskDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -47,7 +46,13 @@ public interface ProduceshiftorderService {
|
||||
List<ProduceshiftorderDto> queryAll(Map whereJson);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询所有数据不分页
|
||||
*
|
||||
* @param whereJson 条件参数
|
||||
* @return List<ProduceshiftorderDto>
|
||||
*/
|
||||
List<ProduceshiftorderDto> queryAll(String whereJson);
|
||||
|
||||
/**
|
||||
* 查询所有未完成工单
|
||||
@@ -179,4 +184,16 @@ public interface ProduceshiftorderService {
|
||||
|
||||
JSONArray getDtl(Map whereJson);
|
||||
|
||||
ProduceshiftorderDto findOrderByOrderCodeFromCache(String order_id);
|
||||
|
||||
ProduceshiftorderDto findOrderByOrderIdFromCache(String order_code);
|
||||
|
||||
List<ProduceshiftorderdetailDto> findOrderDetailByOrderIdFromCache(String order_id);
|
||||
|
||||
List<ProduceshiftorderdetailDto> findOrderDetailByOrderCodeFromCache(String order_code);
|
||||
|
||||
ProduceshiftorderDto apply_order();
|
||||
|
||||
List<ProduceshiftorderDto> findOrderByOrderStatusFromCache(String order_status);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package org.nl.acs.order.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @description /
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.nl.acs.order.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.nl.acs.order.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
@@ -21,6 +22,10 @@ public class ProduceshiftorderDto implements Serializable {
|
||||
private String is_unbundling;
|
||||
|
||||
/** 工单状态 */
|
||||
//00-就绪、01-已确认、02-已下发 03-执行中
|
||||
//04-下发工单明细暂停 05-工单明细暂停
|
||||
//06-下发强制完成 07-强制完成
|
||||
//08-自动完成
|
||||
private String order_status;
|
||||
|
||||
/** 下料数量 */
|
||||
@@ -85,4 +90,8 @@ public class ProduceshiftorderDto implements Serializable {
|
||||
|
||||
/** 是否删除 */
|
||||
private String is_deleted;
|
||||
|
||||
private String children;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.nl.acs.order.service.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,32 +2,30 @@
|
||||
package org.nl.acs.order.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.order.service.CustomerbaseService;
|
||||
import org.nl.acs.order.service.dto.CustomerbaseDto;
|
||||
import org.nl.exception.BadRequestException;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.io.IOException;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.utils.FileUtil;
|
||||
import org.nl.utils.SecurityUtils;
|
||||
import org.nl.wql.core.bean.ResultBean;
|
||||
import org.nl.wql.core.bean.WQLObject;
|
||||
import org.nl.wql.util.WqlUtil;
|
||||
import org.nl.utils.FileUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @description 服务实现
|
||||
|
||||
@@ -2,33 +2,30 @@
|
||||
package org.nl.acs.order.service.impl;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.order.service.MaterialbaseService;
|
||||
import org.nl.acs.order.service.dto.MaterialbaseDto;
|
||||
import org.nl.exception.BadRequestException;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.io.IOException;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.utils.FileUtil;
|
||||
import org.nl.utils.SecurityUtils;
|
||||
import org.nl.wql.core.bean.ResultBean;
|
||||
import org.nl.wql.core.bean.WQLObject;
|
||||
import org.nl.wql.util.WqlUtil;
|
||||
import org.nl.utils.FileUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @description 服务实现
|
||||
|
||||
@@ -12,10 +12,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.device_driver.hailiang.hailiang_feeding_trunk.HaiLiangFeedingTrunkDeviceDriver;
|
||||
import org.nl.acs.opc.Device;
|
||||
import org.nl.acs.opc.DeviceAppService;
|
||||
import org.nl.acs.opc.DeviceAppServiceImpl;
|
||||
import org.nl.acs.opc.DeviceType;
|
||||
import org.nl.acs.order.service.ProduceshiftorderService;
|
||||
import org.nl.acs.order.service.dto.ProduceshiftorderDto;
|
||||
import org.nl.acs.order.service.dto.ProduceshiftorderdetailDto;
|
||||
@@ -24,11 +21,11 @@ import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.start.auto.initial.ApplicationAutoInitial;
|
||||
import org.nl.utils.FileUtil;
|
||||
import org.nl.utils.SecurityUtils;
|
||||
import org.nl.utils.SpringContextHolder;
|
||||
import org.nl.wql.WQL;
|
||||
import org.nl.wql.core.bean.ResultBean;
|
||||
import org.nl.wql.core.bean.WQLObject;
|
||||
import org.nl.wql.util.WqlUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -54,7 +51,8 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
|
||||
private final MongoTemplate mongoTemplate;
|
||||
|
||||
DeviceAppService deviceAppService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
|
||||
@Autowired
|
||||
DeviceAppService deviceAppService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -83,6 +81,8 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
for (int j = 0; j < orderDteail_ja.size(); j++) {
|
||||
JSONObject orderDteail_jo = orderDteail_ja.getJSONObject(j);
|
||||
JSONObject new_jo = new JSONObject();
|
||||
new_jo.put("parent_order_id", orderDteail_jo.getString("order_id"));
|
||||
new_jo.put("parent_order_code", orderDteail_jo.getString("order_code"));
|
||||
new_jo.put("order_id", orderDteail_jo.getString("order_detail_id"));
|
||||
new_jo.put("order_code", orderDteail_jo.getString("order_detail_code"));
|
||||
new_jo.put("order_status", orderDteail_jo.getString("order_detail_status"));
|
||||
@@ -97,7 +97,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
new_jo.put("cust_name", orderDteail_jo.getString("cust_name"));
|
||||
new_jo.put("qty", orderDteail_jo.getString("order_detail_qty"));
|
||||
new_jo.put("type", "orderDteail");
|
||||
jo.put("is_flag", "0");
|
||||
new_jo.put("is_flag", "0");
|
||||
children.add(new_jo);
|
||||
}
|
||||
jo.put("children", children);
|
||||
@@ -117,6 +117,55 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProduceshiftorderDto> queryAll(String whereJson) {
|
||||
List<ProduceshiftorderDto> list = null;
|
||||
WQLObject wo = WQLObject.getWQLObject("acs_produceshiftorder");
|
||||
if(StrUtil.isEmpty(whereJson)){
|
||||
whereJson ="1=1";
|
||||
}
|
||||
ResultBean rb = wo.query(whereJson, "order_id desc");
|
||||
final JSONObject json = rb.pageResult();
|
||||
JSONArray newja = new JSONArray();
|
||||
JSONArray ja = json.getJSONArray("content");
|
||||
for (int i = 0; i < ja.size(); i++) {
|
||||
JSONObject jo = (JSONObject) ja.get(i);
|
||||
JSONArray orderDteail_ja = WQLObject.getWQLObject("acs_produceshiftorderdetail").query("is_deleted= '0' and order_id ='" + jo.getString("order_id") + "'").getResultJSONArray(0);
|
||||
if (orderDteail_ja.size() > 0) {
|
||||
JSONArray children = new JSONArray();
|
||||
for (int j = 0; j < orderDteail_ja.size(); j++) {
|
||||
JSONObject orderDteail_jo = orderDteail_ja.getJSONObject(j);
|
||||
JSONObject new_jo = new JSONObject();
|
||||
new_jo.put("parent_order_id", orderDteail_jo.getString("order_id"));
|
||||
new_jo.put("parent_order_code", orderDteail_jo.getString("order_code"));
|
||||
new_jo.put("order_id", orderDteail_jo.getString("order_detail_id"));
|
||||
new_jo.put("order_code", orderDteail_jo.getString("order_detail_code"));
|
||||
new_jo.put("order_status", orderDteail_jo.getString("order_detail_status"));
|
||||
new_jo.put("is_active", orderDteail_jo.getString("is_active"));
|
||||
new_jo.put("is_delete", orderDteail_jo.getString("is_delete"));
|
||||
new_jo.put("create_by", orderDteail_jo.getString("create_by"));
|
||||
new_jo.put("create_time", orderDteail_jo.getString("create_time"));
|
||||
new_jo.put("update_by", orderDteail_jo.getString("update_by"));
|
||||
new_jo.put("update_time", orderDteail_jo.getString("update_time"));
|
||||
new_jo.put("cust_id", orderDteail_jo.getString("cust_id"));
|
||||
new_jo.put("cust_code", orderDteail_jo.getString("cust_code"));
|
||||
new_jo.put("cust_name", orderDteail_jo.getString("cust_name"));
|
||||
new_jo.put("qty", orderDteail_jo.getString("order_detail_qty"));
|
||||
new_jo.put("type", "orderDteail");
|
||||
new_jo.put("is_flag", "0");
|
||||
children.add(new_jo);
|
||||
}
|
||||
jo.put("children", children);
|
||||
}
|
||||
jo.put("type", "order");
|
||||
//区分工单明细
|
||||
jo.put("is_flag", "1");
|
||||
newja.add(jo);
|
||||
ProduceshiftorderDto produceshiftorderDto = JSONObject.toJavaObject(jo, ProduceshiftorderDto.class);
|
||||
list.add(produceshiftorderDto);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProduceshiftorderDto> queryAllOrder(String whereJson) {
|
||||
@@ -251,6 +300,20 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
WQLObject wo = WQLObject.getWQLObject("acs_produceshiftorder");
|
||||
JSONObject json= (JSONObject) JSONObject.toJSON(dto);
|
||||
wo.update(json);
|
||||
|
||||
Iterator<ProduceshiftorderDto> iterator = order.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
ProduceshiftorderDto produceshiftorderDto = iterator.next();
|
||||
if (produceshiftorderDto.getOrder_id().equals(dto.getOrder_id())) {
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
if (StrUtil.equals(dto.getOrder_id(), "07") || StrUtil.equals(dto.getOrder_id(), "08")) {
|
||||
order.add(dto);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -290,17 +353,12 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
if(!ObjectUtil.isEmpty(checkone)){
|
||||
throw new BadRequestException("存在已确认的工单,请先暂停或完成!");
|
||||
}
|
||||
|
||||
|
||||
HaiLiangFeedingTrunkDeviceDriver haiLiangFeedingTrunkDeviceDriver;
|
||||
List<Device> deviceAll = deviceAppService.findDevice(DeviceType.conveyor);
|
||||
for(int i=0;i<deviceAll.size();i++){
|
||||
Device device = deviceAll.get(0);
|
||||
if (device.getDeviceDriver() instanceof HaiLiangFeedingTrunkDeviceDriver) {
|
||||
haiLiangFeedingTrunkDeviceDriver = (HaiLiangFeedingTrunkDeviceDriver) device.getDeviceDriver();
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getReady() != 1){
|
||||
throw new BadRequestException("设备未就绪,无法下发!");
|
||||
}
|
||||
List<HaiLiangFeedingTrunkDeviceDriver> deviceAll = deviceAppService.findDeviceDriver(HaiLiangFeedingTrunkDeviceDriver.class);
|
||||
if (deviceAll.get(0) instanceof HaiLiangFeedingTrunkDeviceDriver) {
|
||||
haiLiangFeedingTrunkDeviceDriver = (HaiLiangFeedingTrunkDeviceDriver) deviceAll.get(0);
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2 || haiLiangFeedingTrunkDeviceDriver.getReady() != 1){
|
||||
throw new BadRequestException("设备未就绪,无法下发!");
|
||||
}
|
||||
}
|
||||
entity.setOrder_status("01");
|
||||
@@ -310,27 +368,119 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
|
||||
@Override
|
||||
public void device_pause() {
|
||||
|
||||
HaiLiangFeedingTrunkDeviceDriver haiLiangFeedingTrunkDeviceDriver;
|
||||
List<HaiLiangFeedingTrunkDeviceDriver> deviceAll = deviceAppService.findDeviceDriver(HaiLiangFeedingTrunkDeviceDriver.class);
|
||||
if (deviceAll.get(0) instanceof HaiLiangFeedingTrunkDeviceDriver) {
|
||||
haiLiangFeedingTrunkDeviceDriver = (HaiLiangFeedingTrunkDeviceDriver) deviceAll.get(0);
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2){
|
||||
throw new BadRequestException("设备未联机,无法下发暂停!");
|
||||
}
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getPause() == 1 ){
|
||||
throw new BadRequestException("设备已处于暂停状态,无法下发暂停!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","1");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
|
||||
HaiLiangFeedingTrunkDeviceDriver haiLiangFeedingTrunkDeviceDriver;
|
||||
List<HaiLiangFeedingTrunkDeviceDriver> deviceAll = deviceAppService.findDeviceDriver(HaiLiangFeedingTrunkDeviceDriver.class);
|
||||
if (deviceAll.get(0) instanceof HaiLiangFeedingTrunkDeviceDriver) {
|
||||
haiLiangFeedingTrunkDeviceDriver = (HaiLiangFeedingTrunkDeviceDriver) deviceAll.get(0);
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2){
|
||||
throw new BadRequestException("设备未联机,无法下发暂停!");
|
||||
}
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getClear() == 1 ){
|
||||
throw new BadRequestException("设备已处于清料状态,无法下发清料!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_clear","1");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void order_pause(String id) {
|
||||
|
||||
public void order_pause(Map whereJson) {
|
||||
HaiLiangFeedingTrunkDeviceDriver haiLiangFeedingTrunkDeviceDriver;
|
||||
List<HaiLiangFeedingTrunkDeviceDriver> deviceAll = deviceAppService.findDeviceDriver(HaiLiangFeedingTrunkDeviceDriver.class);
|
||||
if (deviceAll.get(0) instanceof HaiLiangFeedingTrunkDeviceDriver) {
|
||||
haiLiangFeedingTrunkDeviceDriver = (HaiLiangFeedingTrunkDeviceDriver) deviceAll.get(0);
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2){
|
||||
throw new BadRequestException("设备未联机,无法下发暂停!");
|
||||
}
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getPause() == 0 ){
|
||||
throw new BadRequestException("设备已处于恢复状态,无法下发恢复!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","0");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void order_force_complete(String id) {
|
||||
|
||||
public void order_force_complete(Map whereJson) {
|
||||
HaiLiangFeedingTrunkDeviceDriver haiLiangFeedingTrunkDeviceDriver;
|
||||
List<HaiLiangFeedingTrunkDeviceDriver> deviceAll = deviceAppService.findDeviceDriver(HaiLiangFeedingTrunkDeviceDriver.class);
|
||||
if (deviceAll.get(0) instanceof HaiLiangFeedingTrunkDeviceDriver) {
|
||||
haiLiangFeedingTrunkDeviceDriver = (HaiLiangFeedingTrunkDeviceDriver) deviceAll.get(0);
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2){
|
||||
throw new BadRequestException("设备未联机,无法下发暂停!");
|
||||
}
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getOrder() == 0 ){
|
||||
throw new BadRequestException("设备已处于恢复状态,无法下发恢复!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","0");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void detail_force_complete(String id) {
|
||||
|
||||
@Override
|
||||
public void detail_pause(Map whereJson) {
|
||||
String is_flag = MapUtil.getStr(whereJson, "is_flag");
|
||||
//工单明细编号
|
||||
String order_detail_code = MapUtil.getStr(whereJson, "order_code");
|
||||
String order_detail_id = MapUtil.getStr(whereJson, "order_id");
|
||||
String order_id = MapUtil.getStr(whereJson, "parent_order_id");
|
||||
String order_code = MapUtil.getStr(whereJson, "parent_order_code");
|
||||
//is_flag=0为明细记录 is_flag=1为工单记录
|
||||
if(StrUtil.equals(is_flag,"1")){
|
||||
throw new BadRequestException("业务校验错误,该按钮为工单明细暂停!");
|
||||
}
|
||||
|
||||
ProduceshiftorderDto order = findOrderByOrderCodeFromCache(order_id);
|
||||
if(ObjectUtil.isEmpty(order)){
|
||||
throw new BadRequestException("未完成工单中未找到对应工单!");
|
||||
}
|
||||
if(!StrUtil.equals(order.getOrder_status(),"03")){
|
||||
throw new BadRequestException("当前工单未开始执行,无法暂停!");
|
||||
}
|
||||
|
||||
HaiLiangFeedingTrunkDeviceDriver haiLiangFeedingTrunkDeviceDriver;
|
||||
List<HaiLiangFeedingTrunkDeviceDriver> deviceAll = deviceAppService.findDeviceDriver(HaiLiangFeedingTrunkDeviceDriver.class);
|
||||
if (deviceAll.get(0) instanceof HaiLiangFeedingTrunkDeviceDriver) {
|
||||
haiLiangFeedingTrunkDeviceDriver = (HaiLiangFeedingTrunkDeviceDriver) deviceAll.get(0);
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2){
|
||||
throw new BadRequestException("设备未联机,无法下发暂停!");
|
||||
}
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getPause() == 1 ){
|
||||
throw new BadRequestException("设备已处于暂停状态,无法下发!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","0");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void detail_force_complete(Map whereJson) {
|
||||
HaiLiangFeedingTrunkDeviceDriver haiLiangFeedingTrunkDeviceDriver;
|
||||
List<HaiLiangFeedingTrunkDeviceDriver> deviceAll = deviceAppService.findDeviceDriver(HaiLiangFeedingTrunkDeviceDriver.class);
|
||||
if (deviceAll.get(0) instanceof HaiLiangFeedingTrunkDeviceDriver) {
|
||||
haiLiangFeedingTrunkDeviceDriver = (HaiLiangFeedingTrunkDeviceDriver) deviceAll.get(0);
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getMode() !=2){
|
||||
throw new BadRequestException("设备联机,无法下发暂停!");
|
||||
}
|
||||
if(haiLiangFeedingTrunkDeviceDriver.getPause() == 0 ){
|
||||
throw new BadRequestException("设备已处于恢复状态,无法下发恢复!");
|
||||
}
|
||||
haiLiangFeedingTrunkDeviceDriver.writing("item_to_pause","0");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -395,6 +545,81 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
return arr;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProduceshiftorderDto findOrderByOrderCodeFromCache(String order_id) {
|
||||
Iterator var3 = order.iterator();
|
||||
while (var3.hasNext()) {
|
||||
ProduceshiftorderDto oneorder = (ProduceshiftorderDto) var3.next();
|
||||
if (StrUtil.equals(oneorder.getOrder_id(), order_id)) {
|
||||
return oneorder;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProduceshiftorderDto findOrderByOrderIdFromCache(String order_code) {
|
||||
Iterator var3 = order.iterator();
|
||||
while (var3.hasNext()) {
|
||||
ProduceshiftorderDto oneorder = (ProduceshiftorderDto) var3.next();
|
||||
if (StrUtil.equals(oneorder.getOrder_code(), order_code)) {
|
||||
return oneorder;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProduceshiftorderdetailDto> findOrderDetailByOrderIdFromCache(String order_id) {
|
||||
List<ProduceshiftorderdetailDto> list = null;
|
||||
Iterator var3 = detail.iterator();
|
||||
while (var3.hasNext()) {
|
||||
ProduceshiftorderdetailDto oneorderDetail = (ProduceshiftorderdetailDto) var3.next();
|
||||
if (StrUtil.equals(oneorderDetail.getOrder_id(), order_id)) {
|
||||
list.add(oneorderDetail);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProduceshiftorderdetailDto> findOrderDetailByOrderCodeFromCache(String order_code) {
|
||||
List<ProduceshiftorderdetailDto> list = null;
|
||||
Iterator var3 = detail.iterator();
|
||||
while (var3.hasNext()) {
|
||||
ProduceshiftorderdetailDto oneorderDetail = (ProduceshiftorderdetailDto) var3.next();
|
||||
if (StrUtil.equals(oneorderDetail.getOrder_code(), order_code)) {
|
||||
list.add(oneorderDetail);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProduceshiftorderDto apply_order() {
|
||||
List<ProduceshiftorderDto> list = this.findOrderByOrderStatusFromCache("01");
|
||||
if(ObjectUtil.isEmpty(list)){
|
||||
throw new BadRequestException("未找到处于已下发状态的工单!");
|
||||
}
|
||||
if(list.size() !=1){
|
||||
throw new BadRequestException("已下发状态的工单数量不唯一,请校验!");
|
||||
}
|
||||
ProduceshiftorderDto dto = list.get(0);
|
||||
return dto;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProduceshiftorderDto> findOrderByOrderStatusFromCache(String order_status) {
|
||||
List<ProduceshiftorderDto> list = null;
|
||||
Iterator var3 = detail.iterator();
|
||||
while (var3.hasNext()) {
|
||||
ProduceshiftorderDto oneorder = (ProduceshiftorderDto) var3.next();
|
||||
if (StrUtil.equals(oneorder.getOrder_status(), order_status)) {
|
||||
list.add(oneorder);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@@ -413,6 +638,8 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
for (int j = 0; j < orderDteail_ja.size(); j++) {
|
||||
JSONObject orderDteail_jo = orderDteail_ja.getJSONObject(j);
|
||||
JSONObject new_jo = new JSONObject();
|
||||
new_jo.put("parent_order_id", orderDteail_jo.getString("order_id"));
|
||||
new_jo.put("parent_order_code", orderDteail_jo.getString("order_code"));
|
||||
new_jo.put("order_id", orderDteail_jo.getString("order_detail_id"));
|
||||
new_jo.put("order_code", orderDteail_jo.getString("order_detail_code"));
|
||||
new_jo.put("order_status", orderDteail_jo.getString("order_detail_status"));
|
||||
@@ -427,7 +654,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService, A
|
||||
new_jo.put("cust_name", orderDteail_jo.getString("cust_name"));
|
||||
new_jo.put("qty", orderDteail_jo.getString("order_detail_qty"));
|
||||
new_jo.put("type", "orderDteail");
|
||||
jo.put("is_flag", "0");
|
||||
new_jo.put("is_flag", "0");
|
||||
children.add(new_jo);
|
||||
}
|
||||
jo.put("children", children);
|
||||
|
||||
Binary file not shown.
@@ -1,33 +0,0 @@
|
||||
package org.nl.modules.log;
|
||||
|
||||
import org.slf4j.Marker;
|
||||
import org.slf4j.MarkerFactory;
|
||||
|
||||
public enum LogMarkerTypeEnum {
|
||||
DEFAULT("default", "默认日志"),
|
||||
REQUEST("request", "请求日志"),
|
||||
QUARTZ("quartz", "定时器日志"),
|
||||
DEVICE_EXECUTE("device_execute", "设备执行日志"),
|
||||
AGV_TASK_STATUS("agv_task_status", "agv任务状态日志"),
|
||||
AGV_FEEDBACK_SERVLET("agv_feedback_servlet", "反馈AGV请求"),
|
||||
AGV_LEAVE_SERVLET("agv_leave_servlet", "AGV请求离开"),
|
||||
ACS_TO_ERP("acs_to_erp", "ACS请求ERP"),
|
||||
ACS_TO_WMS("acs_to_wms", "ACS请求WMS"),
|
||||
AUTO_CREATE_INST("auto_create_inst", "自动创建指令"),
|
||||
NDC_SOCKET_CONNECTION_AUTORUN("ndc_socket_connection_autorun", "NDC自动连接"),
|
||||
XZ_AGV_TASK_STATUS("xz_agv_task_status", "仙知AGV指令状态"),
|
||||
WMS_TO_ACS("wms_to_acs", "WMS下发ACS");
|
||||
// 成员变量
|
||||
private String name;
|
||||
private String code;
|
||||
|
||||
// 构造方法
|
||||
private LogMarkerTypeEnum(String code, String name) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public static Marker getMarker(LogMarkerTypeEnum logType) {
|
||||
return MarkerFactory.getMarker(logType.code);
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
package org.nl.modules.log;
|
||||
|
||||
import org.slf4j.Marker;
|
||||
import org.slf4j.MarkerFactory;
|
||||
|
||||
public class LogMarkerUtil {
|
||||
private static final Marker MARKER = MarkerFactory.getMarker("test_marker");
|
||||
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
package org.nl.modules.log;
|
||||
|
||||
import ch.qos.logback.classic.spi.ILoggingEvent;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import org.bson.Document;
|
||||
import org.slf4j.Marker;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
/**
|
||||
* https://www.cnblogs.com/lzghyh/p/14913230.html
|
||||
* https://juejin.cn/post/6844903488896385037
|
||||
* https://cloud.tencent.com/developer/article/1384035
|
||||
* https://www.freesion.com/article/229560377/
|
||||
*/
|
||||
public class MongoDBAppender extends MongoDBAppenderBase<ILoggingEvent> {
|
||||
public MongoDBAppender() {
|
||||
super("loggingEvents");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Document toMongoDocument(ILoggingEvent eventObject) {
|
||||
|
||||
final Document doc = new Document();
|
||||
doc.append("_id",IdUtil.simpleUUID());
|
||||
|
||||
doc.append("date", DateUtil.now());
|
||||
doc.append("source", source);
|
||||
try {
|
||||
doc.append("ip", InetAddress.getLocalHost().getHostAddress());
|
||||
} catch (UnknownHostException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Marker marker = eventObject.getMarker();
|
||||
if (!ObjectUtil.isEmpty(marker)) {
|
||||
doc.append("marker", marker.getName());
|
||||
}else {
|
||||
doc.append("marker", "default");
|
||||
}
|
||||
|
||||
doc.append("level", eventObject.getLevel().toString());
|
||||
doc.append("logger", eventObject.getLoggerName());
|
||||
doc.append("thread", eventObject.getThreadName());
|
||||
doc.append("message", eventObject.getFormattedMessage());
|
||||
if (eventObject.getMDCPropertyMap() != null && !eventObject.getMDCPropertyMap().isEmpty())
|
||||
doc.append("mdc", eventObject.getMDCPropertyMap());
|
||||
// ...
|
||||
return doc;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,109 +0,0 @@
|
||||
package org.nl.modules.log;
|
||||
|
||||
import ch.qos.logback.classic.spi.ILoggingEvent;
|
||||
import ch.qos.logback.core.UnsynchronizedAppenderBase;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.mongodb.MongoClient;
|
||||
import com.mongodb.MongoClientOptions;
|
||||
import com.mongodb.MongoCredential;
|
||||
import com.mongodb.ServerAddress;
|
||||
import com.mongodb.client.MongoCollection;
|
||||
import com.mongodb.client.MongoDatabase;
|
||||
import lombok.Data;
|
||||
import org.bson.Document;
|
||||
import org.slf4j.Marker;
|
||||
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.Collections;
|
||||
|
||||
/**
|
||||
* MongoDBAppender适配类
|
||||
*/
|
||||
@Data
|
||||
public abstract class MongoDBAppenderBase<E> extends UnsynchronizedAppenderBase<E> {
|
||||
private MongoClient mongo;
|
||||
MongoDatabase db;
|
||||
private MongoCollection<Document> eventsCollection;
|
||||
|
||||
private String host = "192.168.81.251"; // 地址
|
||||
private int port = 27017; // 端口号
|
||||
private String dbName = "db"; // 库名
|
||||
private String collectionName; // 集合名
|
||||
private String username; // 用户名
|
||||
private String password; // 密码
|
||||
protected String source;
|
||||
|
||||
private int connectionsPerHost = 10; // 空闲线程池中最大链接数
|
||||
private int threadsAllowedToBlockForConnectionMultiplier = 5; //一个线程等待链接可用的最大等待毫秒数
|
||||
private int maxWaitTime = 1000 * 60 * 2; // 最长等待时间
|
||||
private int connectTimeout;
|
||||
private int socketTimeout;
|
||||
private int wtimeout;
|
||||
|
||||
MongoDBAppenderBase(String collectionName) {
|
||||
this.collectionName = collectionName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
try {
|
||||
connectToMongoDB();
|
||||
super.start();
|
||||
} catch (UnknownHostException e) {
|
||||
addError("Error connecting to MongoDB server: " + host + ":" + port,
|
||||
e);
|
||||
}
|
||||
}
|
||||
|
||||
private void connectToMongoDB() throws UnknownHostException {
|
||||
// 用户名 数据库 密码
|
||||
if (username != null && password != null) {
|
||||
|
||||
MongoCredential credential = MongoCredential.createCredential(
|
||||
username, dbName, password.toCharArray());
|
||||
ServerAddress serverAddress = new ServerAddress(host, port);
|
||||
mongo = new MongoClient(serverAddress, Collections.singletonList(credential), buildOptions());
|
||||
} else {
|
||||
mongo = new MongoClient(new ServerAddress(host, port), buildOptions());
|
||||
}
|
||||
|
||||
db = mongo.getDatabase(dbName);
|
||||
eventsCollection = db.getCollection(collectionName);
|
||||
|
||||
}
|
||||
|
||||
private MongoClientOptions buildOptions() {
|
||||
final MongoClientOptions.Builder options = new MongoClientOptions.Builder();
|
||||
options.connectionsPerHost(connectionsPerHost);
|
||||
options.threadsAllowedToBlockForConnectionMultiplier(threadsAllowedToBlockForConnectionMultiplier);
|
||||
options.maxWaitTime(maxWaitTime);
|
||||
options.connectTimeout(connectTimeout);
|
||||
options.socketTimeout(socketTimeout);
|
||||
options.maxWaitTime(wtimeout);
|
||||
return options.build();
|
||||
}
|
||||
|
||||
protected abstract Document toMongoDocument(E event);
|
||||
|
||||
@Override
|
||||
protected void append(E eventObject) {
|
||||
if (eventObject instanceof ILoggingEvent) {
|
||||
ILoggingEvent evt = (ILoggingEvent) eventObject;
|
||||
Marker marker = evt.getMarker();
|
||||
if (ObjectUtil.isEmpty(marker))
|
||||
marker = LogMarkerTypeEnum.getMarker(LogMarkerTypeEnum.DEFAULT);
|
||||
eventsCollection = db.getCollection(marker.getName());
|
||||
|
||||
}
|
||||
|
||||
eventsCollection.insertOne(toMongoDocument(eventObject));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
if (mongo != null)
|
||||
mongo.close();
|
||||
super.stop();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
|
||||
package org.nl.modules.log.rest;
|
||||
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.annotation.Log;
|
||||
import org.nl.modules.log.service.RootLogService;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author loujf
|
||||
* @date 2021-04-02
|
||||
**/
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@Api(tags = "系统日志")
|
||||
@RequestMapping("/api/rootLog")
|
||||
@Slf4j
|
||||
public class RootLogController {
|
||||
|
||||
private final RootLogService rootLogService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询日志")
|
||||
@ApiOperation("查询日志")
|
||||
//@PreAuthorize("@el.check('log:list')")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page) throws ParseException {
|
||||
return new ResponseEntity<>(rootLogService.queryAll(whereJson, page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping( "/error")
|
||||
@Log("查询异常详情")
|
||||
@ApiOperation("查询异常详情")
|
||||
public ResponseEntity<Object> findError(@RequestBody Map whereJson) {
|
||||
return new ResponseEntity<>(rootLogService.findError(whereJson), HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
package org.nl.modules.log.service;
|
||||
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 系统日志查询
|
||||
*/
|
||||
public interface RootLogService {
|
||||
/**
|
||||
* 查询数据分页
|
||||
*
|
||||
* @param whereJson 条件
|
||||
* @param page 分页参数
|
||||
* @return Map<String, Object>
|
||||
*/
|
||||
Object queryAll(Map whereJson, Pageable page) throws ParseException;
|
||||
|
||||
|
||||
/**
|
||||
* 查询异常详情
|
||||
*
|
||||
* @param whereJson
|
||||
* @return Log
|
||||
*/
|
||||
String findError(Map whereJson);
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
package org.nl.modules.log.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.log.service.LogServer;
|
||||
import org.nl.modules.log.service.RootLogService;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
import org.springframework.data.mongodb.core.query.Query;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author loujf
|
||||
* @description 服务实现
|
||||
* @date 2022-04-02
|
||||
**/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class RootLogServiceImpl implements RootLogService {
|
||||
|
||||
private final MongoTemplate mongoTemplate;
|
||||
|
||||
private final LogServer logServer;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryAll(Map whereJson, Pageable page){
|
||||
String log_type = (String) whereJson.get("log_type");
|
||||
String log_level = (String) whereJson.get("log_level");
|
||||
String begin_time = (String) whereJson.get("begin_time");
|
||||
String end_time = (String) whereJson.get("end_time");
|
||||
|
||||
Query query = new Query().with(Sort.by("date"));
|
||||
|
||||
if (StrUtil.isEmpty(log_type)) {
|
||||
log_type = "default";
|
||||
}
|
||||
if (StrUtil.isNotEmpty(log_level)){
|
||||
query.addCriteria(Criteria.where("level").is(log_level));
|
||||
}
|
||||
if (StrUtil.isNotEmpty(begin_time) && StrUtil.isNotEmpty(end_time)) {
|
||||
query.addCriteria(Criteria.where("date")
|
||||
.gte(begin_time)
|
||||
.lte(end_time));
|
||||
}
|
||||
|
||||
//根据条件得到的总条数
|
||||
long totalSize = mongoTemplate.count(query, Map.class, log_type);
|
||||
|
||||
//处理分页
|
||||
query.skip(page.getPageNumber()).limit(page.getPageSize());
|
||||
List<Map> list = mongoTemplate.find(query,Map.class, log_type);
|
||||
//封装前端分页查询结果
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("content", list);
|
||||
result.put("totalElements", totalSize);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String findError(Map map) {
|
||||
String id = (String) map.get("id");
|
||||
String marker = (String) map.get("marker");
|
||||
Query query = Query.query(Criteria.where("_id").is(id)).with(Sort.by("date"));
|
||||
JSONObject list = mongoTemplate.findOne(query,JSONObject.class,marker);
|
||||
|
||||
return list.getString("message");
|
||||
}
|
||||
}
|
||||
@@ -1,33 +1,8 @@
|
||||
package org.nl.modules.quartz.task;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.nl.acs.config.AcsConfig;
|
||||
import org.nl.acs.config.server.AcsConfigService;
|
||||
import org.nl.acs.device_driver.lamp_three_color.LampThreecolorDeviceDriver;
|
||||
import org.nl.acs.device_driver.standard_emptypallet_site.StandardEmptyPalletSiteDeviceDriver;
|
||||
import org.nl.acs.device_driver.standard_inspect_site.StandardInspectSiteDeviceDriver;
|
||||
import org.nl.acs.device_driver.standard_ordinary_site.StandardOrdinarySiteDeviceDriver;
|
||||
import org.nl.acs.instruction.service.InstructionService;
|
||||
import org.nl.acs.instruction.service.dto.Instruction;
|
||||
import org.nl.acs.opc.Device;
|
||||
import org.nl.acs.opc.DeviceAppService;
|
||||
import org.nl.acs.opc.DeviceAppServiceImpl;
|
||||
import org.nl.acs.route.service.RouteLineService;
|
||||
import org.nl.acs.route.service.dto.RouteLineDto;
|
||||
import org.nl.acs.task.enums.TaskTypeEnum;
|
||||
import org.nl.acs.task.service.TaskService;
|
||||
import org.nl.acs.task.service.dto.TaskDto;
|
||||
import org.nl.modules.log.LogMarkerTypeEnum;
|
||||
import org.nl.utils.SpringContextHolder;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 自动创建指令
|
||||
*/
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package org.nl.modules.quartz.task;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -24,8 +23,6 @@ import org.nl.modules.mnt.websocket.SocketMsg;
|
||||
import org.nl.modules.mnt.websocket.WebSocketServer;
|
||||
import org.nl.wql.core.bean.ResultBean;
|
||||
import org.nl.wql.core.bean.WQLObject;
|
||||
import org.nl.wql.util.WqlUtil;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@@ -55,11 +55,11 @@ spring:
|
||||
wall:
|
||||
config:
|
||||
multi-statement-alagvslow: true
|
||||
data:
|
||||
mongodb:
|
||||
host: 192.168.81.251
|
||||
port: 27017
|
||||
database: nlacs
|
||||
# data:
|
||||
# mongodb:
|
||||
# host: 192.168.81.251
|
||||
# port: 27017
|
||||
# database: nlacs
|
||||
redis:
|
||||
#数据库索引
|
||||
database: ${REDIS_DB:0}
|
||||
|
||||
@@ -53,11 +53,11 @@ spring:
|
||||
wall:
|
||||
config:
|
||||
multi-statement-allow: true
|
||||
data:
|
||||
mongodb:
|
||||
host: 127.0.0.1
|
||||
port: 27017
|
||||
database: logdb
|
||||
# data:
|
||||
# mongodb:
|
||||
# host: 127.0.0.1
|
||||
# port: 27017
|
||||
# database: logdb
|
||||
redis:
|
||||
#数据库索引
|
||||
database: ${REDIS_DB:0}
|
||||
|
||||
@@ -55,11 +55,11 @@ spring:
|
||||
wall:
|
||||
config:
|
||||
multi-statement-alagvslow: true
|
||||
data:
|
||||
mongodb:
|
||||
host: 47.97.157.227
|
||||
port: 27017
|
||||
database: nlacs
|
||||
# data:
|
||||
# mongodb:
|
||||
# host: 47.97.157.227
|
||||
# port: 27017
|
||||
# database: nlacs
|
||||
redis:
|
||||
#数据库索引
|
||||
database: ${REDIS_DB:0}
|
||||
|
||||
@@ -1,17 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<appender name="acs_to_erp" class="org.nl.modules.log.MongoDBAppender">
|
||||
<dbName>acs_log</dbName>
|
||||
<collectionName>acs_to_erp</collectionName>
|
||||
<source>${CONTEXT_NAME}</source>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>info</level>
|
||||
</filter>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!-- 按照每天生成日志文件 -->
|
||||
<appender name="FILE7" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<!--日志文件输出的文件名-->
|
||||
<FileNamePattern>${LOG_HOME}/ACS请求ERP/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||
<!--日志文件保留天数-->
|
||||
<maxHistory>15</maxHistory>
|
||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||
<maxFileSize>200MB</maxFileSize>
|
||||
<!--所有日志最多占多大容量-->
|
||||
<totalSizeCap>20GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
<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>
|
||||
</encoder>
|
||||
|
||||
</appender>
|
||||
|
||||
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
|
||||
<appender-ref ref="FILE3"/>
|
||||
</logger>-->
|
||||
|
||||
<!-- 打印sql -->
|
||||
<logger name="org.nl.acs.ext.erp.service.impl.AcsToErpServiceImpl" level="info" additivity="false">
|
||||
<appender-ref ref="acs_to_erp"/>
|
||||
<logger name=" org.nl.acs.ext.erp.service.impl.AcsToErpServiceImpl" level="info" additivity="false">
|
||||
<appender-ref ref="FILE7"/>
|
||||
</logger>
|
||||
</included>
|
||||
|
||||
@@ -1,17 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<appender name="acs_to_wms" class="org.nl.modules.log.MongoDBAppender">
|
||||
<dbName>acs_log</dbName>
|
||||
<collectionName>acs_to_wms</collectionName>
|
||||
<source>${CONTEXT_NAME}</source>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>info</level>
|
||||
</filter>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!-- 按照每天生成日志文件 -->
|
||||
<appender name="FILE8" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<!--日志文件输出的文件名-->
|
||||
<FileNamePattern>${LOG_HOME}/ACS请求WMS/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||
<!--日志文件保留天数-->
|
||||
<maxHistory>15</maxHistory>
|
||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||
<maxFileSize>200MB</maxFileSize>
|
||||
<!--所有日志最多占多大容量-->
|
||||
<totalSizeCap>20GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
<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>
|
||||
</encoder>
|
||||
|
||||
</appender>
|
||||
|
||||
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
|
||||
<appender-ref ref="FILE3"/>
|
||||
</logger>-->
|
||||
|
||||
<!-- 打印sql -->
|
||||
<logger name="org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl" level="info" additivity="false">
|
||||
<appender-ref ref="acs_to_wms"/>
|
||||
<appender-ref ref="FILE8"/>
|
||||
</logger>
|
||||
</included>
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<appender name="agv_feedback_servlet" class="org.nl.modules.log.MongoDBAppender">
|
||||
<dbName>acs_log</dbName>
|
||||
<collectionName>agv_feedback_servlet</collectionName>
|
||||
<source>${CONTEXT_NAME}</source>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>info</level>
|
||||
</filter>
|
||||
</appender>
|
||||
<!-- 打印sql -->
|
||||
<logger name="org.nl.acs.agv.server.impl.AgvServiceImpl" level="info" additivity="false">
|
||||
<appender-ref ref="agv_feedback_servlet"/>
|
||||
</logger>
|
||||
</included>
|
||||
@@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<appender name="agv_leave_servlet" class="org.nl.modules.log.MongoDBAppender">
|
||||
<dbName>acs_log</dbName>
|
||||
<collectionName>agv_leave_servlet</collectionName>
|
||||
<source>${CONTEXT_NAME}</source>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>info</level>
|
||||
</filter>
|
||||
</appender>
|
||||
|
||||
<!-- 打印sql -->
|
||||
<logger name="org.nl.acs.device_driver.electric_fence.ItemProtocol" level="info" additivity="false">
|
||||
<appender-ref ref="agv_leave_servlet"/>
|
||||
</logger>
|
||||
|
||||
</included>
|
||||
32
nladmin-system/src/main/resources/log/AgvServiceImpl.xml
Normal file
32
nladmin-system/src/main/resources/log/AgvServiceImpl.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!-- 按照每天生成日志文件 -->
|
||||
<appender name="FILE5" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<!--日志文件输出的文件名-->
|
||||
<FileNamePattern>${LOG_HOME}/反馈AGV请求/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||
<!--日志文件保留天数-->
|
||||
<maxHistory>15</maxHistory>
|
||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||
<maxFileSize>200MB</maxFileSize>
|
||||
<!--所有日志最多占多大容量-->
|
||||
<totalSizeCap>20GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
<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>
|
||||
</encoder>
|
||||
|
||||
</appender>
|
||||
|
||||
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
|
||||
<appender-ref ref="FILE3"/>
|
||||
</logger>-->
|
||||
|
||||
<!-- 打印sql -->
|
||||
<logger name="org.nl.acs.agv.server.impl.AgvServiceImpl" level="info" additivity="false">
|
||||
<appender-ref ref="FILE5"/>
|
||||
</logger>
|
||||
</included>
|
||||
32
nladmin-system/src/main/resources/log/AgvackServlet.xml
Normal file
32
nladmin-system/src/main/resources/log/AgvackServlet.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!-- 按照每天生成日志文件 -->
|
||||
<appender name="FILE6" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<!--日志文件输出的文件名-->
|
||||
<FileNamePattern>${LOG_HOME}/AGV请求离开/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||
<!--日志文件保留天数-->
|
||||
<maxHistory>15</maxHistory>
|
||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||
<maxFileSize>200MB</maxFileSize>
|
||||
<!--所有日志最多占多大容量-->
|
||||
<totalSizeCap>20GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
<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>
|
||||
</encoder>
|
||||
|
||||
</appender>
|
||||
|
||||
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
|
||||
<appender-ref ref="FILE3"/>
|
||||
</logger>-->
|
||||
|
||||
<!-- 打印sql -->
|
||||
<logger name="org.nl.acs.device_driver.magic_agv.AgvackServlet" level="info" additivity="false">
|
||||
<appender-ref ref="FILE6"/>
|
||||
</logger>
|
||||
</included>
|
||||
@@ -1,16 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<appender name="auto_create_inst" class="org.nl.modules.log.MongoDBAppender">
|
||||
<dbName>acs_log</dbName>
|
||||
<collectionName>auto_create_inst</collectionName>
|
||||
<source>${CONTEXT_NAME}</source>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>info</level>
|
||||
</filter>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!-- 按照每天生成日志文件 -->
|
||||
<appender name="FILE3" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<!--日志文件输出的文件名-->
|
||||
<FileNamePattern>${LOG_HOME}/自动创建指令/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||
<!--日志文件保留天数-->
|
||||
<maxHistory>15</maxHistory>
|
||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||
<maxFileSize>200MB</maxFileSize>
|
||||
<!--所有日志最多占多大容量-->
|
||||
<totalSizeCap>20GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
<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>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
|
||||
<appender-ref ref="FILE3"/>
|
||||
</logger>-->
|
||||
|
||||
<!-- 打印sql -->
|
||||
<logger name="org.nl.modules.quartz.task1.AutoCreateInst" level="info" additivity="false">
|
||||
<appender-ref ref="auto_create_inst"/>
|
||||
<logger name="org.nl.modules.quartz.task.AutoCreateInst" level="info" additivity="false">
|
||||
<appender-ref ref="FILE3"/>
|
||||
</logger>
|
||||
</included>
|
||||
|
||||
@@ -1,17 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<appender name="ndc_socket_connection_autorun" class="org.nl.modules.log.MongoDBAppender">
|
||||
<dbName>acs_log</dbName>
|
||||
<collectionName>ndc_socket_connection_autorun</collectionName>
|
||||
<source>${CONTEXT_NAME}</source>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>info</level>
|
||||
</filter>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!-- 按照每天生成日志文件 -->
|
||||
<appender name="FILE10" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<!--日志文件输出的文件名-->
|
||||
<FileNamePattern>${LOG_HOME}/NDC/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||
<!--日志文件保留天数-->
|
||||
<maxHistory>15</maxHistory>
|
||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||
<maxFileSize>200MB</maxFileSize>
|
||||
<!--所有日志最多占多大容量-->
|
||||
<totalSizeCap>20GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
<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>
|
||||
</encoder>
|
||||
|
||||
</appender>
|
||||
|
||||
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
|
||||
<appender-ref ref="FILE3"/>
|
||||
</logger>-->
|
||||
|
||||
<!-- 打印sql -->
|
||||
<logger name="org.nl.start.auto.run.NDCSocketConnectionAutoRun" level="info" additivity="false">
|
||||
<appender-ref ref="ndc_socket_connection_autorun"/>
|
||||
<appender-ref ref="FILE10"/>
|
||||
</logger>
|
||||
</included>
|
||||
|
||||
@@ -1,15 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<appender name="agv_task_status" class="org.nl.modules.log.MongoDBAppender">
|
||||
<dbName>acs_log</dbName>
|
||||
<collectionName>agv_task_status</collectionName>
|
||||
<source>${CONTEXT_NAME}</source>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>info</level>
|
||||
</filter>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!-- 按照每天生成日志文件 -->
|
||||
<appender name="FILE4" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<!--日志文件输出的文件名-->
|
||||
<FileNamePattern>${LOG_HOME}/查询AGV指令状态/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||
<!--日志文件保留天数-->
|
||||
<maxHistory>15</maxHistory>
|
||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||
<maxFileSize>200MB</maxFileSize>
|
||||
<!--所有日志最多占多大容量-->
|
||||
<totalSizeCap>20GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
<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>
|
||||
</encoder>
|
||||
|
||||
</appender>
|
||||
|
||||
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
|
||||
<appender-ref ref="FILE3"/>
|
||||
</logger>-->
|
||||
|
||||
<!-- 打印sql -->
|
||||
<logger name="org.nl.modules.quartz.task.QueryMagicAgvTaskStatus" level="info" additivity="false">
|
||||
<appender-ref ref="agv_task_status"/>
|
||||
<appender-ref ref="FILE4"/>
|
||||
</logger>
|
||||
</included>
|
||||
|
||||
@@ -1,15 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<appender name="xz_agv_task_status" class="org.nl.modules.log.MongoDBAppender">
|
||||
<dbName>acs_log</dbName>
|
||||
<collectionName>xz_agv_task_status</collectionName>
|
||||
<source>${CONTEXT_NAME}</source>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>info</level>
|
||||
</filter>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!-- 按照每天生成日志文件 -->
|
||||
<appender name="FILE10" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<!--日志文件输出的文件名-->
|
||||
<FileNamePattern>${LOG_HOME}/查询仙知AGV指令状态/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||
<!--日志文件保留天数-->
|
||||
<maxHistory>15</maxHistory>
|
||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||
<maxFileSize>200MB</maxFileSize>
|
||||
<!--所有日志最多占多大容量-->
|
||||
<totalSizeCap>20GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
<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>
|
||||
</encoder>
|
||||
|
||||
</appender>
|
||||
<logger name="org.nl.modules.quartz.task1.QueryXZAgvTaskStatus" level="info" additivity="false">
|
||||
<appender-ref ref="xz_agv_task_status"/>
|
||||
|
||||
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
|
||||
<appender-ref ref="FILE3"/>
|
||||
</logger>-->
|
||||
|
||||
<!-- 打印sql -->
|
||||
<logger name="org.nl.modules.quartz.task.QueryXZAgvTaskStatus" level="info" additivity="false">
|
||||
<appender-ref ref="FILE10"/>
|
||||
</logger>
|
||||
</included>
|
||||
|
||||
32
nladmin-system/src/main/resources/log/ScannerBarcode.xml
Normal file
32
nladmin-system/src/main/resources/log/ScannerBarcode.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!-- 按照每天生成日志文件 -->
|
||||
<appender name="FILE11" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<!--日志文件输出的文件名-->
|
||||
<FileNamePattern>${LOG_HOME}/扫码记录/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||
<!--日志文件保留天数-->
|
||||
<maxHistory>15</maxHistory>
|
||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||
<maxFileSize>200MB</maxFileSize>
|
||||
<!--所有日志最多占多大容量-->
|
||||
<totalSizeCap>20GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
<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>
|
||||
</encoder>
|
||||
|
||||
</appender>
|
||||
|
||||
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
|
||||
<appender-ref ref="FILE3"/>
|
||||
</logger>-->
|
||||
|
||||
<!-- 打印sql -->
|
||||
<logger name="org.nl.acs.device_driver.standard_scanner.StandardScannerDeviceDriver" level="info" additivity="false">
|
||||
<appender-ref ref="FILE11"/>
|
||||
</logger>
|
||||
</included>
|
||||
@@ -1,19 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<included>
|
||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||
<appender name="wms_to_acs" class="org.nl.modules.log.MongoDBAppender">
|
||||
<dbName>acs_log</dbName>
|
||||
<collectionName>wms_to_acs</collectionName>
|
||||
<source>${CONTEXT_NAME}</source>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>info</level>
|
||||
</filter>
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
<!-- 按照每天生成日志文件 -->
|
||||
<appender name="FILE9" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<!--日志文件输出的文件名-->
|
||||
<FileNamePattern>${LOG_HOME}/WMS下发ACS/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||
<!--日志文件保留天数-->
|
||||
<maxHistory>15</maxHistory>
|
||||
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||
<maxFileSize>200MB</maxFileSize>
|
||||
<!--所有日志最多占多大容量-->
|
||||
<totalSizeCap>20GB</totalSizeCap>
|
||||
</rollingPolicy>
|
||||
<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>
|
||||
</encoder>
|
||||
|
||||
</appender>
|
||||
|
||||
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
|
||||
<appender-ref ref="FILE3"/>
|
||||
</logger>-->
|
||||
|
||||
<!-- 打印sql -->
|
||||
<logger name="org.nl.acs.ext.wms.service.impl.WmsToAcsServiceImpl" level="info" additivity="false">
|
||||
<appender-ref ref="wms_to_acs"/>
|
||||
<appender-ref ref="FILE9"/>
|
||||
</logger>
|
||||
<!--<logger name="org.nl.acs.device_driver.electric_fence.ItemProtocol" level="info" additivity="false">
|
||||
<appender-ref ref="wms_to_acs"/>
|
||||
</logger>-->
|
||||
</included>
|
||||
|
||||
@@ -57,19 +57,6 @@ https://juejin.cn/post/6844903775631572999
|
||||
</encoder>-->
|
||||
</appender>
|
||||
|
||||
<appender name="MONGO" class="org.nl.modules.log.MongoDBAppender">
|
||||
<host>192.168.81.251</host>
|
||||
<port>27017</port>
|
||||
<!-- <username>admin</username>
|
||||
<password>123456</password>-->
|
||||
<dbName>acs_log</dbName>
|
||||
<collectionName>default</collectionName>
|
||||
<source>${CONTEXT_NAME}</source>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>info</level>
|
||||
</filter>
|
||||
</appender>
|
||||
|
||||
|
||||
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
|
||||
<property name="LOG_HOME" value="${logPath}"/>
|
||||
@@ -104,7 +91,6 @@ https://juejin.cn/post/6844903775631572999
|
||||
<springProfile name="dev">
|
||||
<root level="info">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="MONGO"/>
|
||||
</root>
|
||||
|
||||
<logger name="jdbc.audit" level="ERROR" additivity="false">
|
||||
|
||||
Reference in New Issue
Block a user