Browse Source

去除mongodb

master
汪菘 3 years ago
parent
commit
65eed03dbc
  1. 5
      nladmin-system/pom.xml
  2. 1
      nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_coating/ItemProtocol.java
  3. 3
      nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding/HaiLiangFeedingDeviceDriver.java
  4. 42
      nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding_trunk/HaiLiangFeedingTrunkDeviceDriver.java
  5. 13
      nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_strapping/HaiLiangStrappingDeviceDriver.java
  6. 2
      nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_mixing_mill/LnshMixingMillDeviceDriver.java
  7. 9
      nladmin-system/src/main/java/org/nl/acs/log/rest/LogsController.java
  8. 5
      nladmin-system/src/main/java/org/nl/acs/log/service/LogServer.java
  9. 15
      nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java
  10. 12
      nladmin-system/src/main/java/org/nl/acs/order/rest/CustomerbaseController.java
  11. 13
      nladmin-system/src/main/java/org/nl/acs/order/rest/MaterialbaseController.java
  12. 7
      nladmin-system/src/main/java/org/nl/acs/order/service/CustomerbaseService.java
  13. 7
      nladmin-system/src/main/java/org/nl/acs/order/service/MaterialbaseService.java
  14. 21
      nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderService.java
  15. 5
      nladmin-system/src/main/java/org/nl/acs/order/service/dto/CustomerbaseDto.java
  16. 1
      nladmin-system/src/main/java/org/nl/acs/order/service/dto/MaterialbaseDto.java
  17. 9
      nladmin-system/src/main/java/org/nl/acs/order/service/dto/ProduceshiftorderDto.java
  18. 1
      nladmin-system/src/main/java/org/nl/acs/order/service/dto/ProduceshiftorderdetailDto.java
  19. 30
      nladmin-system/src/main/java/org/nl/acs/order/service/impl/CustomerbaseServiceImpl.java
  20. 31
      nladmin-system/src/main/java/org/nl/acs/order/service/impl/MaterialbaseServiceImpl.java
  21. 273
      nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java
  22. BIN
      nladmin-system/src/main/java/org/nl/acs/order/service/wql/order.xls
  23. 33
      nladmin-system/src/main/java/org/nl/modules/log/LogMarkerTypeEnum.java
  24. 9
      nladmin-system/src/main/java/org/nl/modules/log/LogMarkerUtil.java
  25. 55
      nladmin-system/src/main/java/org/nl/modules/log/MongoDBAppender.java
  26. 109
      nladmin-system/src/main/java/org/nl/modules/log/MongoDBAppenderBase.java
  27. 47
      nladmin-system/src/main/java/org/nl/modules/log/rest/RootLogController.java
  28. 29
      nladmin-system/src/main/java/org/nl/modules/log/service/RootLogService.java
  29. 76
      nladmin-system/src/main/java/org/nl/modules/log/service/impl/RootLogServiceImpl.java
  30. 25
      nladmin-system/src/main/java/org/nl/modules/quartz/task/AutoCreateInst.java
  31. 3
      nladmin-system/src/main/java/org/nl/modules/quartz/task/queryAOrderDterail.java
  32. 10
      nladmin-system/src/main/resources/config/application-dev.yml
  33. 10
      nladmin-system/src/main/resources/config/application-prod.yml
  34. 10
      nladmin-system/src/main/resources/config/application-test.yml
  35. 33
      nladmin-system/src/main/resources/log/AcsToErp.xml
  36. 31
      nladmin-system/src/main/resources/log/AcsToWms.xml
  37. 16
      nladmin-system/src/main/resources/log/AgvFeedbackServiceImpl.xml
  38. 18
      nladmin-system/src/main/resources/log/AgvLeaveServlet.xml
  39. 32
      nladmin-system/src/main/resources/log/AgvServiceImpl.xml
  40. 32
      nladmin-system/src/main/resources/log/AgvackServlet.xml
  41. 33
      nladmin-system/src/main/resources/log/AutoCreateInst.xml
  42. 31
      nladmin-system/src/main/resources/log/NDCSocketConnectionAutoRun.xml
  43. 33
      nladmin-system/src/main/resources/log/QueryAgvTaskStatus.xml
  44. 35
      nladmin-system/src/main/resources/log/QueryXZAgvTaskStatus.xml
  45. 32
      nladmin-system/src/main/resources/log/ScannerBarcode.xml
  46. 35
      nladmin-system/src/main/resources/log/WmsToAcs.xml
  47. 14
      nladmin-system/src/main/resources/logback-spring.xml

5
nladmin-system/pom.xml

@ -26,11 +26,6 @@
<version>6.6</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.4.2</version>
</dependency>
<!--
<dependency>
<groupId>ch.qos.logback</groupId>

1
nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_coating/ItemProtocol.java

@ -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;

3
nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding/HaiLiangFeedingDeviceDriver.java

@ -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;
/**
* 海亮-上料线体

42
nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_feeding_trunk/HaiLiangFeedingTrunkDeviceDriver.java

@ -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;
}

13
nladmin-system/src/main/java/org/nl/acs/device_driver/hailiang/hailiang_strapping/HaiLiangStrappingDeviceDriver.java

@ -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;
/**
* 海亮-捆扎线体

2
nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_mixing_mill/LnshMixingMillDeviceDriver.java

@ -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;

9
nladmin-system/src/main/java/org/nl/acs/log/rest/LogsController.java

@ -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;

5
nladmin-system/src/main/java/org/nl/acs/log/service/LogServer.java

@ -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;
/**

15
nladmin-system/src/main/java/org/nl/acs/log/service/impl/LogServerImpl.java

@ -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

12
nladmin-system/src/main/java/org/nl/acs/order/rest/CustomerbaseController.java

@ -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

13
nladmin-system/src/main/java/org/nl/acs/order/rest/MaterialbaseController.java

@ -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

7
nladmin-system/src/main/java/org/nl/acs/order/service/CustomerbaseService.java

@ -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 服务接口

7
nladmin-system/src/main/java/org/nl/acs/order/service/MaterialbaseService.java

@ -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 服务接口

21
nladmin-system/src/main/java/org/nl/acs/order/service/ProduceshiftorderService.java

@ -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);
}

5
nladmin-system/src/main/java/org/nl/acs/order/service/dto/CustomerbaseDto.java

@ -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
nladmin-system/src/main/java/org/nl/acs/order/service/dto/MaterialbaseDto.java

@ -1,6 +1,7 @@
package org.nl.acs.order.service.dto;
import lombok.Data;
import java.io.Serializable;
/**

9
nladmin-system/src/main/java/org/nl/acs/order/service/dto/ProduceshiftorderDto.java

@ -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
nladmin-system/src/main/java/org/nl/acs/order/service/dto/ProduceshiftorderdetailDto.java

@ -1,6 +1,7 @@
package org.nl.acs.order.service.dto;
import lombok.Data;
import java.io.Serializable;
/**

30
nladmin-system/src/main/java/org/nl/acs/order/service/impl/CustomerbaseServiceImpl.java

@ -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.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.springframework.data.domain.Pageable;
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.io.IOException;
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.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 java.util.List;
import java.util.Map;
/**
* @description 服务实现

31
nladmin-system/src/main/java/org/nl/acs/order/service/impl/MaterialbaseServiceImpl.java

@ -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.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.springframework.data.domain.Pageable;
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.io.IOException;
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.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 java.util.List;
import java.util.Map;
/**
* @description 服务实现

273
nladmin-system/src/main/java/org/nl/acs/order/service/impl/ProduceshiftorderServiceImpl.java

@ -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(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 order_force_complete(String id) {
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(String id) {
@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);

BIN
nladmin-system/src/main/java/org/nl/acs/order/service/wql/order.xls

Binary file not shown.

33
nladmin-system/src/main/java/org/nl/modules/log/LogMarkerTypeEnum.java

@ -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);
}
}

9
nladmin-system/src/main/java/org/nl/modules/log/LogMarkerUtil.java

@ -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");
}

55
nladmin-system/src/main/java/org/nl/modules/log/MongoDBAppender.java

@ -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;
}
}

109
nladmin-system/src/main/java/org/nl/modules/log/MongoDBAppenderBase.java

@ -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();
}
}

47
nladmin-system/src/main/java/org/nl/modules/log/rest/RootLogController.java

@ -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);
}
}

29
nladmin-system/src/main/java/org/nl/modules/log/service/RootLogService.java

@ -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);
}

76
nladmin-system/src/main/java/org/nl/modules/log/service/impl/RootLogServiceImpl.java

@ -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");
}
}

25
nladmin-system/src/main/java/org/nl/modules/quartz/task/AutoCreateInst.java

@ -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;
/**
* 自动创建指令
*/

3
nladmin-system/src/main/java/org/nl/modules/quartz/task/queryAOrderDterail.java

@ -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;

10
nladmin-system/src/main/resources/config/application-dev.yml

@ -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}

10
nladmin-system/src/main/resources/config/application-prod.yml

@ -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}

10
nladmin-system/src/main/resources/config/application-test.yml

@ -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}

33
nladmin-system/src/main/resources/log/AcsToErp.xml

@ -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>

31
nladmin-system/src/main/resources/log/AcsToWms.xml

@ -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>

16
nladmin-system/src/main/resources/log/AgvFeedbackServiceImpl.xml

@ -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>

18
nladmin-system/src/main/resources/log/AgvLeaveServlet.xml

@ -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

@ -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

@ -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>

33
nladmin-system/src/main/resources/log/AutoCreateInst.xml

@ -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>

31
nladmin-system/src/main/resources/log/NDCSocketConnectionAutoRun.xml

@ -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>

33
nladmin-system/src/main/resources/log/QueryAgvTaskStatus.xml

@ -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>

35
nladmin-system/src/main/resources/log/QueryXZAgvTaskStatus.xml

@ -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

@ -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>

35
nladmin-system/src/main/resources/log/WmsToAcs.xml

@ -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>

14
nladmin-system/src/main/resources/logback-spring.xml

@ -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">

Loading…
Cancel
Save