no message
							parent
							
								
									38a3d0577b
								
							
						
					
					
						commit
						cc5385c1fe
					
				| 
						 | 
				
			
			@ -9,7 +9,7 @@ import org.springframework.stereotype.Component;
 | 
			
		|||
 | 
			
		||||
@Generated(
 | 
			
		||||
    value = "org.mapstruct.ap.MappingProcessor",
 | 
			
		||||
    date = "2024-05-07T17:40:17+0800",
 | 
			
		||||
    date = "2024-05-09T15:58:44+0800",
 | 
			
		||||
    comments = "version: 1.4.2.Final, compiler: javac, environment: Java 1.8.0_202 (Oracle Corporation)"
 | 
			
		||||
)
 | 
			
		||||
@Component
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,7 @@ import org.springframework.stereotype.Component;
 | 
			
		|||
 | 
			
		||||
@Generated(
 | 
			
		||||
    value = "org.mapstruct.ap.MappingProcessor",
 | 
			
		||||
    date = "2024-05-07T17:40:17+0800",
 | 
			
		||||
    date = "2024-05-09T15:58:44+0800",
 | 
			
		||||
    comments = "version: 1.4.2.Final, compiler: javac, environment: Java 1.8.0_202 (Oracle Corporation)"
 | 
			
		||||
)
 | 
			
		||||
@Component
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -363,6 +363,7 @@ public class AgvTaskServiceImpl implements AgvTaskService {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
    public void agvTaskCallback(AgvTask agvTask, Task task, String status) {
 | 
			
		||||
 | 
			
		||||
        if (status.equals("COMPLETED")) {
 | 
			
		||||
| 
						 | 
				
			
			@ -404,6 +405,7 @@ public class AgvTaskServiceImpl implements AgvTaskService {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
    public void agvTaskCallback(AgvTask agvTask, String status, String containerCode) {
 | 
			
		||||
 | 
			
		||||
        if (status.equals("PICKER_RECEIVE")) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,7 +14,6 @@ import com.youchain.businessdata.inputJson.*;
 | 
			
		|||
import com.youchain.businessdata.service.*;
 | 
			
		||||
import com.youchain.modules.system.domain.Dept;
 | 
			
		||||
import com.youchain.modules.system.service.DeptService;
 | 
			
		||||
import com.youchain.modules.system.service.dto.DeptDto;
 | 
			
		||||
import com.youchain.utils.*;
 | 
			
		||||
import lombok.RequiredArgsConstructor;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
| 
						 | 
				
			
			@ -22,6 +21,7 @@ import org.springframework.stereotype.Service;
 | 
			
		|||
import org.springframework.transaction.annotation.Transactional;
 | 
			
		||||
 | 
			
		||||
import java.util.*;
 | 
			
		||||
import java.util.concurrent.CompletableFuture;
 | 
			
		||||
import java.util.stream.Collectors;
 | 
			
		||||
 | 
			
		||||
@Service
 | 
			
		||||
| 
						 | 
				
			
			@ -93,6 +93,7 @@ public class MlsServiceImpl implements MlsService {
 | 
			
		|||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
    public void getOrderInfo(String resultJson) {
 | 
			
		||||
        if (StringUtils.isEmpty(resultJson)) {
 | 
			
		||||
            throw new IllegalArgumentException("获取送货单接口失败!");
 | 
			
		||||
| 
						 | 
				
			
			@ -235,6 +236,7 @@ public class MlsServiceImpl implements MlsService {
 | 
			
		|||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
    public void getMoInfo(String resultJson) {
 | 
			
		||||
        if (StringUtils.isEmpty(resultJson)) {
 | 
			
		||||
            throw new IllegalArgumentException("MO票接口失败!");
 | 
			
		||||
| 
						 | 
				
			
			@ -389,6 +391,7 @@ public class MlsServiceImpl implements MlsService {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
    public void getIssueInfo(IssueInfo issueInfo) {
 | 
			
		||||
        String taskNumber = issueInfo.getTaskNumber();//任务号
 | 
			
		||||
        // 指定Set的类型
 | 
			
		||||
| 
						 | 
				
			
			@ -404,7 +407,7 @@ public class MlsServiceImpl implements MlsService {
 | 
			
		|||
 | 
			
		||||
        //目标点
 | 
			
		||||
        Point endPoint = redisObjectUtils.getObjectFromCache("ckjbk", () -> pointService.findByCode(null, null, null, "出库接驳口", null),
 | 
			
		||||
        "系统无此点位!");
 | 
			
		||||
                "系统无此点位!");
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        List<Inventory> inventoryToUpdate = new ArrayList<>();
 | 
			
		||||
| 
						 | 
				
			
			@ -460,27 +463,40 @@ public class MlsServiceImpl implements MlsService {
 | 
			
		|||
            taskToCreate.add(task);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //批量更新库存信息
 | 
			
		||||
        if (!inventoryToUpdate.isEmpty()) {
 | 
			
		||||
            batchCreateOrUpdate.batchUpdate(inventoryToUpdate);
 | 
			
		||||
        }
 | 
			
		||||
        CompletableFuture<Void> inventoryFuture = CompletableFuture.runAsync(() -> {
 | 
			
		||||
            //批量更新库存信息
 | 
			
		||||
            if (!inventoryToUpdate.isEmpty()) {
 | 
			
		||||
                batchCreateOrUpdate.batchUpdate(inventoryToUpdate);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        //批量生成出库明细
 | 
			
		||||
        if (!pickDetailToCreate.isEmpty()) {
 | 
			
		||||
            batchCreateOrUpdate.batchCreate(pickDetailToCreate);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //批量生成agv任务
 | 
			
		||||
        if (!agvTaskToCreate.isEmpty()) {
 | 
			
		||||
            batchCreateOrUpdate.batchCreate(agvTaskToCreate);
 | 
			
		||||
        }
 | 
			
		||||
        CompletableFuture<Void> pickDetailFuture = CompletableFuture.runAsync(() -> {
 | 
			
		||||
            //批量生成叫料明细
 | 
			
		||||
            if (!pickDetailToCreate.isEmpty()) {
 | 
			
		||||
                batchCreateOrUpdate.batchCreate(pickDetailToCreate);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        //批量生成task任务
 | 
			
		||||
        if (!taskToCreate.isEmpty()) {
 | 
			
		||||
            batchCreateOrUpdate.batchCreate(taskToCreate);
 | 
			
		||||
        }
 | 
			
		||||
        CompletableFuture<Void> agvTaskFuture = CompletableFuture.runAsync(() -> {
 | 
			
		||||
            //批量生成agv任务
 | 
			
		||||
            if (!agvTaskToCreate.isEmpty()) {
 | 
			
		||||
                batchCreateOrUpdate.batchCreate(agvTaskToCreate);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        CompletableFuture<Void> taskFuture = CompletableFuture.runAsync(() -> {
 | 
			
		||||
            //批量生成任务
 | 
			
		||||
            if (!taskToCreate.isEmpty()) {
 | 
			
		||||
                batchCreateOrUpdate.batchCreate(taskToCreate);
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
        inventoryFuture.join();
 | 
			
		||||
        pickDetailFuture.join();
 | 
			
		||||
        agvTaskFuture.join();
 | 
			
		||||
        taskFuture.join();
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -65,6 +65,7 @@ public class MoServiceImpl implements MoService {
 | 
			
		|||
    private final AsnDetailService asnDetailService;
 | 
			
		||||
    private final ItemKeyService itemKeyService;
 | 
			
		||||
    private final RedisObjectUtils redisObjectUtils;
 | 
			
		||||
    private final RedisUtils redisUtils;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Map<String, Object> queryAll(MoQueryCriteria criteria, Pageable pageable) {
 | 
			
		||||
| 
						 | 
				
			
			@ -168,7 +169,7 @@ public class MoServiceImpl implements MoService {
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
        // 验证容器是否存在
 | 
			
		||||
        Stock stock = redisObjectUtils.getObjectFromCache(stockCode, () -> stockService.findByCode(stockCode, null), stockCode + " 系统无此容器!");
 | 
			
		||||
        Stock stock = redisObjectUtils.getOrThrow(Optional.ofNullable(stockService.findByCode(stockCode, null)), stockCode + " 系统无此容器!");
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        // 验证容器状态
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -98,7 +98,7 @@ generator:
 | 
			
		|||
 | 
			
		||||
#是否开启 swagger-ui
 | 
			
		||||
swagger:
 | 
			
		||||
  enabled: false
 | 
			
		||||
  enabled: true
 | 
			
		||||
 | 
			
		||||
# IP 本地解析
 | 
			
		||||
ip:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,8 +13,10 @@ spring:
 | 
			
		|||
      min-idle: 15
 | 
			
		||||
      # 最大连接数
 | 
			
		||||
      max-active: 30
 | 
			
		||||
      # 超时时间(以秒数为单位)
 | 
			
		||||
      remove-abandoned-timeout: 180
 | 
			
		||||
      # 获取连接超时时间
 | 
			
		||||
      max-wait: 5000
 | 
			
		||||
      max-wait: 3000
 | 
			
		||||
      # 连接有效性检测时间
 | 
			
		||||
      time-between-eviction-runs-millis: 60000
 | 
			
		||||
      # 连接在池中最小生存的时间
 | 
			
		||||
| 
						 | 
				
			
			@ -33,13 +35,9 @@ spring:
 | 
			
		|||
      webStatFilter:
 | 
			
		||||
        enabled: true
 | 
			
		||||
      stat-view-servlet:
 | 
			
		||||
        allow:
 | 
			
		||||
        enabled: true
 | 
			
		||||
        # 控制台管理用户名和密码
 | 
			
		||||
        url-pattern: /druid/*
 | 
			
		||||
        reset-enable: false
 | 
			
		||||
        login-username: admin
 | 
			
		||||
        login-password: 123456
 | 
			
		||||
      filter:
 | 
			
		||||
        stat:
 | 
			
		||||
          enabled: true
 | 
			
		||||
| 
						 | 
				
			
			@ -71,7 +69,7 @@ login:
 | 
			
		|||
    height: 36
 | 
			
		||||
    # 内容长度
 | 
			
		||||
    length: 2
 | 
			
		||||
    # 字体名称,为空则使用默认字体,如遇到线上乱码,设置其他字体即可
 | 
			
		||||
    # 字体名称,为空则使用默认字体
 | 
			
		||||
    font-name:
 | 
			
		||||
    # 字体大小
 | 
			
		||||
    font-size: 25
 | 
			
		||||
| 
						 | 
				
			
			@ -83,36 +81,29 @@ jwt:
 | 
			
		|||
  token-start-with: Bearer
 | 
			
		||||
  # 必须使用最少88位的Base64对该令牌进行编码
 | 
			
		||||
  base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI=
 | 
			
		||||
  # 令牌过期时间 此处单位/毫秒 ,默认2小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html
 | 
			
		||||
  token-validity-in-seconds: 7200000
 | 
			
		||||
  # 令牌过期时间 此处单位/毫秒 ,默认4小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html
 | 
			
		||||
  token-validity-in-seconds: 14400000
 | 
			
		||||
  # 在线用户key
 | 
			
		||||
  online-key: online-token-
 | 
			
		||||
  # 验证码
 | 
			
		||||
  code-key: code-key-
 | 
			
		||||
  # token 续期检查时间范围(默认30分钟,单位默认毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期
 | 
			
		||||
  # token 续期检查时间范围(默认30分钟,单位毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期
 | 
			
		||||
  detect: 1800000
 | 
			
		||||
  # 续期时间范围,默认 1小时,这里单位毫秒
 | 
			
		||||
  # 续期时间范围,默认1小时,单位毫秒
 | 
			
		||||
  renew: 3600000
 | 
			
		||||
 | 
			
		||||
# IP 本地解析
 | 
			
		||||
ip:
 | 
			
		||||
  local-parsing: true
 | 
			
		||||
 | 
			
		||||
#是否允许生成代码,生产环境设置为false
 | 
			
		||||
generator:
 | 
			
		||||
  enabled: false
 | 
			
		||||
 | 
			
		||||
#如果生产环境要开启swagger,需要配置请求地址
 | 
			
		||||
#springfox:
 | 
			
		||||
#  documentation:
 | 
			
		||||
#    swagger:
 | 
			
		||||
#      v2:
 | 
			
		||||
#        host: # 接口域名或外网ip
 | 
			
		||||
 | 
			
		||||
#是否开启 swagger-ui
 | 
			
		||||
swagger:
 | 
			
		||||
  enabled: true
 | 
			
		||||
 | 
			
		||||
# IP 本地解析
 | 
			
		||||
ip:
 | 
			
		||||
  local-parsing: true
 | 
			
		||||
 | 
			
		||||
# 文件存储路径
 | 
			
		||||
file:
 | 
			
		||||
  mac:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,13 +41,13 @@ spring:
 | 
			
		|||
task:
 | 
			
		||||
  pool:
 | 
			
		||||
    # 核心线程池大小
 | 
			
		||||
    core-pool-size: 10
 | 
			
		||||
    core-pool-size: 20
 | 
			
		||||
    # 最大线程数
 | 
			
		||||
    max-pool-size: 30
 | 
			
		||||
    max-pool-size: 50
 | 
			
		||||
    # 活跃时间
 | 
			
		||||
    keep-alive-seconds: 60
 | 
			
		||||
    keep-alive-seconds: 30
 | 
			
		||||
    # 队列容量
 | 
			
		||||
    queue-capacity: 50
 | 
			
		||||
    queue-capacity: 100
 | 
			
		||||
netty:
 | 
			
		||||
  # boss线程数量
 | 
			
		||||
  boss: 4
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue