From de8a641769b80abca23a344b521bcdfe0dbca31f Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期四, 11 十二月 2025 09:00:35 +0800
Subject: [PATCH] 入库流程功能优化
---
src/main/webapp/views/basContainer/basContainer.html | 2
/dev/null | 18 ---
src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java | 112 ++++++++++++++++++++++
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java | 21 +++
src/main/java/com/zy/asrs/utils/Utils.java | 13 ++
src/main/java/com/zy/api/entity/CallAgvParams.java | 6 +
src/main/java/com/zy/asrs/service/impl/BasContainerServiceImpl.java | 3
src/main/java/com/zy/asrs/entity/OrderDetlPakin.java | 18 +++
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 50 +++++-----
src/main/java/com/zy/asrs/entity/BasContainer.java | 5
src/main/java/com/zy/asrs/enums/TaskIOType.java | 2
src/main/webapp/static/js/orderPakin/order.js | 3
12 files changed, 199 insertions(+), 54 deletions(-)
diff --git a/src/main/java/appVersion.sql b/src/main/java/appVersion.sql
deleted file mode 100644
index 870e5e6..0000000
--- a/src/main/java/appVersion.sql
+++ /dev/null
@@ -1,18 +0,0 @@
--- save appVersion record
--- mysql
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'appVersion/appVersion.html', 'appVersion绠$悊', null , '2', null , '1');
-
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'appVersion#view', '鏌ヨ', '', '3', '0', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'appVersion#btn-add', '鏂板', '', '3', '1', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'appVersion#btn-edit', '缂栬緫', '', '3', '2', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'appVersion#btn-delete', '鍒犻櫎', '', '3', '3', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'appVersion#btn-export', '瀵煎嚭', '', '3', '4', '1');
-
--- sqlserver
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'appVersion/appVersion.html', N'appVersion绠$悊', null, '2', null, '1');
-
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'appVersion#view', N'鏌ヨ', '', '3', '0', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'appVersion#btn-add', N'鏂板', '', '3', '1', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'appVersion#btn-edit', N'缂栬緫', '', '3', '2', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'appVersion#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'appVersion#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/java/basContainer.sql b/src/main/java/basContainer.sql
deleted file mode 100644
index e1cd330..0000000
--- a/src/main/java/basContainer.sql
+++ /dev/null
@@ -1,18 +0,0 @@
--- save basContainer record
--- mysql
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basContainer/basContainer.html', 'basContainer绠$悊', null , '2', null , '1');
-
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basContainer#view', '鏌ヨ', '', '3', '0', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basContainer#btn-add', '鏂板', '', '3', '1', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basContainer#btn-edit', '缂栬緫', '', '3', '2', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basContainer#btn-delete', '鍒犻櫎', '', '3', '3', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basContainer#btn-export', '瀵煎嚭', '', '3', '4', '1');
-
--- sqlserver
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basContainer/basContainer.html', N'basContainer绠$悊', null, '2', null, '1');
-
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basContainer#view', N'鏌ヨ', '90623', '3', '0', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basContainer#btn-add', N'鏂板', '90623', '3', '1', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basContainer#btn-edit', N'缂栬緫', '90623', '3', '2', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basContainer#btn-delete', N'鍒犻櫎', '90623', '3', '3', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basContainer#btn-export', N'瀵煎嚭', '90623', '3', '4', '1');
diff --git a/src/main/java/checkOrder.sql b/src/main/java/checkOrder.sql
deleted file mode 100644
index 2a75258..0000000
--- a/src/main/java/checkOrder.sql
+++ /dev/null
@@ -1,18 +0,0 @@
--- save checkOrder record
--- mysql
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'checkOrder/checkOrder.html', 'checkOrder绠$悊', null , '2', null , '1');
-
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'checkOrder#view', '鏌ヨ', '', '3', '0', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'checkOrder#btn-add', '鏂板', '', '3', '1', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'checkOrder#btn-edit', '缂栬緫', '', '3', '2', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'checkOrder#btn-delete', '鍒犻櫎', '', '3', '3', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'checkOrder#btn-export', '瀵煎嚭', '', '3', '4', '1');
-
--- sqlserver
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'checkOrder/checkOrder.html', N'checkOrder绠$悊', null, '2', null, '1');
-
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'checkOrder#view', N'鏌ヨ', '', '3', '0', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'checkOrder#btn-add', N'鏂板', '', '3', '1', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'checkOrder#btn-edit', N'缂栬緫', '', '3', '2', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'checkOrder#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'checkOrder#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/java/checkOrderDetl.sql b/src/main/java/checkOrderDetl.sql
deleted file mode 100644
index c7f5807..0000000
--- a/src/main/java/checkOrderDetl.sql
+++ /dev/null
@@ -1,18 +0,0 @@
--- save checkOrderDetl record
--- mysql
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'checkOrderDetl/checkOrderDetl.html', 'checkOrderDetl绠$悊', null , '2', null , '1');
-
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'checkOrderDetl#view', '鏌ヨ', '', '3', '0', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'checkOrderDetl#btn-add', '鏂板', '', '3', '1', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'checkOrderDetl#btn-edit', '缂栬緫', '', '3', '2', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'checkOrderDetl#btn-delete', '鍒犻櫎', '', '3', '3', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'checkOrderDetl#btn-export', '瀵煎嚭', '', '3', '4', '1');
-
--- sqlserver
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'checkOrderDetl/checkOrderDetl.html', N'checkOrderDetl绠$悊', null, '2', null, '1');
-
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'checkOrderDetl#view', N'鏌ヨ', '', '3', '0', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'checkOrderDetl#btn-add', N'鏂板', '', '3', '1', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'checkOrderDetl#btn-edit', N'缂栬緫', '', '3', '2', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'checkOrderDetl#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'checkOrderDetl#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/java/com/zy/api/entity/CallAgvParams.java b/src/main/java/com/zy/api/entity/CallAgvParams.java
index 24a4709..59b5fd1 100644
--- a/src/main/java/com/zy/api/entity/CallAgvParams.java
+++ b/src/main/java/com/zy/api/entity/CallAgvParams.java
@@ -26,4 +26,10 @@
@ApiModelProperty("鐩爣搴撲綅")
private String tarLoc;
+
+ @ApiModelProperty("鎼繍鐘舵��")
+ private String status;
+
+ @ApiModelProperty("浠诲姟鍙�")
+ private String wrkNo;
}
diff --git a/src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java b/src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java
index 92c0972..b66d76f 100644
--- a/src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/AgvScheduleServiceImpl.java
@@ -1,13 +1,45 @@
package com.zy.api.service.impl;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.R;
+import com.core.exception.CoolException;
import com.zy.api.entity.CallAgvParams;
import com.zy.api.enums.OrderType;
import com.zy.api.service.AgvScheduleService;
+import com.zy.asrs.entity.LocCache;
+import com.zy.asrs.entity.Task;
+import com.zy.asrs.entity.result.ForwardAGVTaskDTO;
+import com.zy.asrs.entity.result.HIKApiDTO;
+import com.zy.asrs.entity.result.HIKResultDTO;
+import com.zy.asrs.enums.LocStsType;
+import com.zy.asrs.enums.TaskIOType;
+import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.LocCacheService;
+import com.zy.asrs.service.TaskService;
+import com.zy.asrs.service.impl.LocCacheServiceImpl;
+import com.zy.common.constant.HIKApiConstant;
+import com.zy.common.utils.HttpHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.UUID;
+
+@Slf4j
@Service
public class AgvScheduleServiceImpl implements AgvScheduleService {
+
+ @Autowired
+ private ApiLogService apiLogService;
+ @Autowired
+ private TaskService taskService;
+ @Autowired
+ private LocCacheService locCacheService;
/**
* @author Ryan
@@ -29,7 +61,85 @@
@Override
public R callback(CallAgvParams params) {
- //TODO 1. 鎼繍瀹屾垚锛屼慨鏀�
+ //TODO 1. 鎼繍瀹屾垚锛屼慨鏀圭珯鐐瑰簱浣嶇姸鎬�
+ if (params.getType().equals(OrderType.ORDER_OUT.type)) {
+ //鍑哄簱鍗�
+ if (params.getStatus().equals("RUNING")) {
+ LocCache locCache = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", params.getOrgLoc()));
+ if (Objects.isNull(locCache)) {
+ throw new CoolException("搴撲綅淇℃伅涓嶅瓨鍦紒锛�");
+ }
+ if (!locCache.getLocSts().equals(LocStsType.LOC_STS_TYPE_O.type)) {
+ locCache.setLocSts(LocStsType.LOC_STS_TYPE_O.type);
+ }
+ } else if (params.getStatus().equals("FINISHED")) {
+ Task task = taskService.selectOne(new EntityWrapper<Task>().eq("wrk_no", params.getWrkNo()));
+ if (Objects.isNull(task)) {
+ throw new CoolException("浠诲姟淇℃伅涓嶅瓨鍦紒锛�");
+ }
+ if (!taskService.updateById(task)) {
+ throw new CoolException("浠诲姟鐘舵�佹洿鏂板け璐ワ紒锛�");
+ }
+ }
+ } else {
+ //鍏ュ簱鍗�
+
+ }
+
return null;
}
+
+
+ public HIKResultDTO sendAgvTask(HIKApiDTO haiKangApiDTO, String path) {
+ HIKResultDTO result = new HIKResultDTO();
+ ForwardAGVTaskDTO forwardAGVTaskParam = new ForwardAGVTaskDTO();
+ forwardAGVTaskParam.setReqCode(UUID.randomUUID().toString().replace("-", ""));
+ forwardAGVTaskParam.setClientCode("IWMS");
+ forwardAGVTaskParam.setTaskTyp(haiKangApiDTO.getTaskType());
+ forwardAGVTaskParam.setCtnrTyp(haiKangApiDTO.getCtnrType());
+ forwardAGVTaskParam.setPriority(haiKangApiDTO.getPriority());
+ List<ForwardAGVTaskDTO.PositionCodePaths> positionCodePathsList = new ArrayList<>();
+ positionCodePathsList.add(new ForwardAGVTaskDTO.PositionCodePaths(haiKangApiDTO.getOrg(), haiKangApiDTO.getOrgType()));
+ positionCodePathsList.add(new ForwardAGVTaskDTO.PositionCodePaths(haiKangApiDTO.getTar(), haiKangApiDTO.getTarType()));
+ forwardAGVTaskParam.setPositionCodePath(positionCodePathsList);
+ String body = JSON.toJSONString(forwardAGVTaskParam);
+ String response = "";
+ try {
+ response = new HttpHandler.Builder()
+ .setUri(HIKApiConstant.AGV_IP)
+ .setPath(path)
+ .setJson(body)
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(0)) {
+ result.setSuccess(true);
+ } else {
+ result.setMessage(jsonObject.getString("message"));
+ log.error("鍙戦�乤gv浠诲姟澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", HIKApiConstant.AGV_IP + path, body, response);
+ }
+// {"code":"1","data":"","interrupt":false,"message":"閲嶅鎻愪氦","msgErrCode":"0x3a80D012","reqCode":"fa92b49481a44627ae4d80c1400f28f6"}
+ } catch (Exception e) {
+ result.setMessage(e.getMessage());
+ log.error("鍙戦�乤gv浠诲姟寮傚父", e);
+ } finally {
+ try {
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ apiLogService.save(
+ "鍙戦�乤gv浠诲姟",
+ HIKApiConstant.AGV_IP + path,
+ null,
+ "127.0.0.1",
+ body,
+ response,
+ result.isSuccess()
+ );
+ } catch (Exception e) {
+ log.error("", e);
+ }
+ }
+ return result;
+ }
+
+
}
diff --git a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
index a3de122..6f0919f 100644
--- a/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -14,14 +14,19 @@
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.enums.CommonEnum;
import com.zy.asrs.enums.OrderSettle;
+import com.zy.asrs.service.MatService;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.OrderService;
+import com.zy.asrs.service.impl.MatServiceImpl;
+import com.zy.asrs.utils.Utils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.swing.text.DateFormatter;
+import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -33,6 +38,8 @@
private OrderService orderService;
@Autowired
private OrderDetlService orderDetlService;
+ @Autowired
+ private MatService matService;
/**
* 鎺ユ敹涓嬪彂璁㈠崟淇℃伅
@@ -134,7 +141,9 @@
newOrder.setSettle(OrderSettle.ORDER_SETTLE_HOLDING.type);
newOrder.setStatus(CommonEnum.COMMON_ENUM_Y.type);
// 璁㈠崟鏃堕棿
- newOrder.setOrderTime(DateUtils.convert(new Date(), "yyyy-MM-dd HH:mm:ss"));
+ if (Utils.isValidFormat(params.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
+ newOrder.setOrderTime(params.getUpdate_time());
+ }
// 鍏徃ID
newOrder.setCstmrName(params.getCompany_id());
newOrder.setCreateTime(new Date());
@@ -144,12 +153,18 @@
}
if (!Objects.isNull(params.getDetails()) && !params.getDetails().isEmpty()) {
params.getDetails().forEach(item -> {
+ Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", item.getPro_komcode()));
+ if (Objects.isNull(matnr)) {
+ throw new CoolException("鐗╂枡缂栫爜涓嶅瓨鍦紒锛�");
+ }
OrderDetl orderItem = new OrderDetl();
- BeanUtils.copyProperties(item, orderItem);
+ BeanUtils.copyProperties(matnr, orderItem);
orderItem.setOrderId(newOrder.getId());
orderItem.setOrderNo(newOrder.getOrderNo());
orderItem.setAnfme(Math.round(item.getInv_qty() * 10000) / 10000.0);
- orderItem.setMatnr(item.getPro_komcode());
+ orderItem.setMatnr(matnr.getMatnr());
+ orderItem.setMaktx(matnr.getMaktx());
+ orderItem.setBrand(matnr.getBrand());
orderItem.setBatch(1 + "");
orderItem.setStandby1(item.getPro_id());
//鍏宠仈涓婂姞娲惧伐鍗曞彿+闆朵欢浠g爜+渚涘簲鍟嗕唬鐮�
diff --git a/src/main/java/com/zy/asrs/entity/BasContainer.java b/src/main/java/com/zy/asrs/entity/BasContainer.java
index 71aa45d..e229c6c 100644
--- a/src/main/java/com/zy/asrs/entity/BasContainer.java
+++ b/src/main/java/com/zy/asrs/entity/BasContainer.java
@@ -60,7 +60,6 @@
this.barcode = barcode;
}
-
public String getType$() {
if (Cools.isEmpty(type)) {
return "鏂欑";
@@ -71,6 +70,8 @@
return ContainerType.CONTAINER_TYPE_SALVER.desc;
} else if (type.equals(ContainerType.CONTAINER_TYPE_CAGE.type)) {
return ContainerType.CONTAINER_TYPE_CAGE.desc;
+ } else if (type.equals(ContainerType.CONTAINER_TYPE_CAR.type)) {
+ return ContainerType.CONTAINER_TYPE_CAR.desc;
}
return null;
}
@@ -83,7 +84,7 @@
return CommonEnum.COMMON_ENUM_N.desc;
} else if (flagMix.equals(CommonEnum.COMMON_ENUM_Y.type)) {
return CommonEnum.COMMON_ENUM_Y.desc;
- }
+ }
return null;
}
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java b/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
index 935e58b..34cb220 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetlPakin.java
@@ -7,9 +7,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.SpringUtils;
-import com.zy.asrs.service.BasProcessProceduresService;
-import com.zy.asrs.service.BasQualityTestingService;
-import com.zy.asrs.service.OrderService;
+import com.zy.asrs.service.*;
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
@@ -418,6 +416,20 @@
}
}
+ public String getTag$() {
+ MatService service = SpringUtils.getBean(MatService.class);
+ Mat order = service.selectOne(new EntityWrapper<Mat>().eq("matnr", this.matnr));
+ if (Cools.isEmpty(order)){
+ return null;
+ }
+ TagService tagService = SpringUtils.getBean(TagService.class);
+ Tag tag = tagService.selectOne(new EntityWrapper<Tag>().eq("id", order.getTagId()));
+ if (!Objects.isNull(tag)){
+ return tag.getName();
+ }
+ return null;
+ }
+
public String getPakinPakoutStatus$(){
if (Objects.isNull(pakinPakoutStatus)) {return null;}
switch (this.pakinPakoutStatus){
diff --git a/src/main/java/com/zy/asrs/enums/TaskIOType.java b/src/main/java/com/zy/asrs/enums/TaskIOType.java
index 8b24ea5..23ae4cd 100644
--- a/src/main/java/com/zy/asrs/enums/TaskIOType.java
+++ b/src/main/java/com/zy/asrs/enums/TaskIOType.java
@@ -24,7 +24,7 @@
PICK_IN("53", "53.鎷f枡鍏ュ簱"),
- MERGE_IN("54", "53.骞舵澘鍏ュ簱"),
+ MERGE_IN("54", "54.骞舵澘鍏ュ簱"),
CHECK_IN("57", "57.鐩樼偣鍏ュ簱"),
diff --git a/src/main/java/com/zy/asrs/service/impl/BasContainerServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasContainerServiceImpl.java
index 3919e27..69248d8 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasContainerServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasContainerServiceImpl.java
@@ -54,6 +54,9 @@
} else if (container.getType().equals(ContainerType.CONTAINER_TYPE_SALVER.type)) {
prefix = "TP4";
basContainer.setMixMax(2);
+ } else if (container.getType().equals(ContainerType.CONTAINER_TYPE_CAR.type)) {
+ prefix = "TC5";
+ basContainer.setMixMax(1);
}
ruleCode = prefix + StringUtils.leftPad(i + "", length, "0");
basContainer.setType(container.getType())
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 0aac059..218e81a 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -589,9 +589,12 @@
throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
}
- if (param.getBarcode().length() != 8) {
- throw new CoolException("鏉$爜闀垮害涓嶆槸8浣�===>>" + param.getBarcode());
+ if (Objects.isNull(param.getBarcode())) {
+ throw new CoolException("鎵樼洏鐮佷笉鑳戒负绌猴紒锛�");
}
+// if (param.getBarcode().length() != 8) {
+// throw new CoolException("鏉$爜闀垮害涓嶆槸8浣�===>>" + param.getBarcode());
+// }
if (Objects.isNull(param.getType())) {
param.setType("0");
@@ -691,18 +694,19 @@
}
});
+ Set<String> matnrs = detlDtos.stream().map(DetlDto::getMatnr).collect(Collectors.toSet());
+ List<Mat> mats = matService.selectList(new EntityWrapper<Mat>().in("matnr", matnrs));
+ Set<Long> tagIds = mats.stream().map(Mat::getTagId).collect(Collectors.toSet());
+ if (tagIds.size() > 1) {
+ throw new CoolException("缁勬墭鐗╂枡绫诲瀷涓嶄竴鑷达紝鍙湁鐩稿悓鐨勭墿鏂欏垎绫绘墠鍙互缁勬墭锛侊紒");
+ }
+
BasContainer container = basContainerService.selectOne(new EntityWrapper<BasContainer>().eq("barcode", param.getBarcode()));
if (Objects.isNull(container)) {
throw new CoolException("鏁版嵁閿欒锛氬鍣ㄧ爜涓嶅瓨鍦紒锛�");
}
if (container.getMixMax() < detlDtos.size()) {
throw new CoolException("瓒呭嚭瀹瑰櫒鏈�澶ф贩瑁呮暟閲忥紝褰撳墠瀹瑰櫒鏈�澶ф暟閲忎负锛�" + container.getMixMax() + "!!");
- }
- Set<String> matnrs = detlDtos.stream().map(DetlDto::getMatnr).collect(Collectors.toSet());
- List<Mat> mats = matService.selectList(new EntityWrapper<Mat>().in("matnr", matnrs));
- Set<Long> tagIds = mats.stream().map(Mat::getTagId).collect(Collectors.toSet());
- if (tagIds.size() > 1) {
- throw new CoolException("缁勬墭鐗╂枡绫诲瀷涓嶄竴鑷达紝鍙湁鐩稿悓鐨勭墿鏂欏垎绫绘墠鍙互缁勬墭锛侊紒");
}
//杩樺彲浠ユ斁鍏ュ灏戠鐗╂枡
Integer suplus = container.getMixMax();
@@ -711,22 +715,21 @@
if (Cools.isEmpty(mat)) {
throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
}
- //鏈�澶氬彲鏀炬暟閲�
- Double singleMax = mat.getUpQty() * suplus;
- if (singleMax.compareTo(detlDto.getAnfme()) < 0) {
- throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + "鍗曟缁勬墭涓婇檺涓猴細" + mat.getUpQty() + ",褰撳墠鎬婚噺瓒呭嚭鎵樼洏瑁呰浇涓婇檺!!");
- }
- BigDecimal decimal = new BigDecimal(detlDto.getAnfme() / mat.getUpQty());
- //褰撳墠鐗╂枡闇�瑕佸崰鐢ㄦ枡绠辨牸鏁�
- Integer curr = decimal.setScale(0, RoundingMode.CEILING).intValue();
- suplus = suplus - curr;
- if (suplus < 0) {
- throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + ", 瓒呭嚭褰撳墠鎵樼洏瑁呰浇涓婇檺锛侊紒");
- }
+// //鏈�澶氬彲鏀炬暟閲�
+// Double singleMax = mat.getUpQty() * suplus;
+// if (singleMax.compareTo(detlDto.getAnfme()) < 0) {
+// throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + "鍗曟缁勬墭涓婇檺涓猴細" + mat.getUpQty() + ",褰撳墠鎬婚噺瓒呭嚭鎵樼洏瑁呰浇涓婇檺!!");
+// }
+// BigDecimal decimal = new BigDecimal(detlDto.getAnfme() / mat.getUpQty());
+// //褰撳墠鐗╂枡闇�瑕佸崰鐢ㄦ枡绠辨牸鏁�
+// Integer curr = decimal.setScale(0, RoundingMode.CEILING).intValue();
+// suplus = suplus - curr;
+// if (suplus < 0) {
+// throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + ", 瓒呭嚭褰撳墠鎵樼洏瑁呰浇涓婇檺锛侊紒");
+// }
WaitPakin waitPakin = new WaitPakin();
BeanUtils.copyProperties(mat, waitPakin);
-// waitPakin.sync(mat);
waitPakin.setOrderNo(detlDto.getOrderNo()); // 鍗曟嵁缂栧彿
waitPakin.setOrderId(detlDto.getOrderId());
waitPakin.setBatch(detlDto.getBatch()); // 搴忓垪鐮�
@@ -1223,16 +1226,13 @@
*/
@Override
public R callAgvMove(AgvCallParams params, Long userId) {
- if (Objects.isNull(params.getTarSite())) {
- throw new CoolException("鐩爣鍙傛暟涓嶈兘涓虹┖锛侊紒");
- }
if (Objects.isNull(params.getOrgSite())) {
throw new CoolException("婧愮珯鐐逛笉鑳戒负绌猴紒锛�");
}
LocCache locCache = locCacheService.selectOne(new EntityWrapper<LocCache>()
.eq("frozen", 0)
.eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type)
- .eq("loc_no", params.getTarSite())
+// .eq("loc_no", params.getTarSite())
.orderAsc(Arrays.asList("loc_no"))
.last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
if (Objects.isNull(locCache)) {
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 4ead5ce..5535a49 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -16,6 +16,8 @@
import java.text.DecimalFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -49,6 +51,17 @@
}
}
+ public static boolean isValidFormat(String dateStr, String format) {
+ SimpleDateFormat sdf = new SimpleDateFormat(format);
+ sdf.setLenient(false); // 涓ユ牸妯″紡锛屽繀椤诲畬鍏ㄥ尮閰嶆牸寮�
+ try {
+ sdf.parse(dateStr);
+ return true;
+ } catch (ParseException e) {
+ return false;
+ }
+ }
+
/**
* 鍒ゆ柇鏄惁涓烘繁搴撲綅
*/
diff --git a/src/main/java/stationRela.sql b/src/main/java/stationRela.sql
deleted file mode 100644
index 0f7521d..0000000
--- a/src/main/java/stationRela.sql
+++ /dev/null
@@ -1,18 +0,0 @@
--- save stationRela record
--- mysql
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'stationRela/stationRela.html', 'stationRela绠$悊', null , '2', null , '1');
-
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'stationRela#view', '鏌ヨ', '', '3', '0', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'stationRela#btn-add', '鏂板', '', '3', '1', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'stationRela#btn-edit', '缂栬緫', '', '3', '2', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'stationRela#btn-delete', '鍒犻櫎', '', '3', '3', '1');
-insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'stationRela#btn-export', '瀵煎嚭', '', '3', '4', '1');
-
--- sqlserver
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'stationRela/stationRela.html', N'stationRela绠$悊', null, '2', null, '1');
-
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'stationRela#view', N'鏌ヨ', '', '3', '0', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'stationRela#btn-add', N'鏂板', '', '3', '1', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'stationRela#btn-edit', N'缂栬緫', '', '3', '2', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'stationRela#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
-insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'stationRela#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/src/main/webapp/static/js/orderPakin/order.js b/src/main/webapp/static/js/orderPakin/order.js
index 60ab736..5c1215f 100644
--- a/src/main/webapp/static/js/orderPakin/order.js
+++ b/src/main/webapp/static/js/orderPakin/order.js
@@ -120,8 +120,9 @@
{ field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160 },
{ field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160 },
{ field: 'standby1', title: '渚涘簲鍟嗙紪鐮�', width: 160 },
- { field: 'batch', title: '鎵瑰彿' },
+ // { field: 'batch', title: '鎵瑰彿' },
{ field: 'anfme', title: '鏁伴噺' },
+ { field: 'tag$', title: '鐗╂枡绉嶇被' },
{ field: 'workQty', title: '浣滀笟鏁伴噺' },
{ field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold' },
{ field: 'specs', title: '瑙勬牸' }
diff --git a/src/main/webapp/views/basContainer/basContainer.html b/src/main/webapp/views/basContainer/basContainer.html
index 8756c3a..18289af 100644
--- a/src/main/webapp/views/basContainer/basContainer.html
+++ b/src/main/webapp/views/basContainer/basContainer.html
@@ -88,6 +88,7 @@
<option value="12">鏂欑</option>
<option value="13">绗兼</option>
<option value="14">鎵樼洏</option>
+ <option value="3">鍙拌溅</option>
</select>
</div>
</div>
@@ -135,6 +136,7 @@
<option value="12">鏂欑</option>
<option value="13">绗兼</option>
<option value="14">鎵樼洏</option>
+ <option value="3">鍙拌溅</option>
</select>
</div>
</div>
--
Gitblit v1.9.1