From 523d8cf68615134c7780f74933e70a14edb60f01 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期五, 05 九月 2025 17:00:39 +0800
Subject: [PATCH] wcs联调功能优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java | 6
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java | 25 ++++-
rsf-admin/src/page/orders/wave/WaveList.jsx | 2
rsf-open-api/src/main/resources/application-dev.yml | 8 +-
rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java | 2
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java | 34 ++-----
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java | 44 +++++-----
rsf-open-api/src/main/resources/application.yml | 2
rsf-open-api/src/main/resources/application-prod.yml | 20 ++++
rsf-admin/src/page/task/TaskList.jsx | 53 +++++++++++++
rsf-server/src/main/resources/application-prod.yml | 28 ++++++
rsf-server/src/main/resources/application.yml | 2
rsf-admin/src/i18n/zh.js | 1
rsf-server/src/main/java/com/vincent/rsf/server/system/constant/GlobalConfigCode.java | 2
rsf-admin/src/config/setting.js | 4
15 files changed, 164 insertions(+), 69 deletions(-)
diff --git a/rsf-admin/src/config/setting.js b/rsf-admin/src/config/setting.js
index 41127a8..60520aa 100644
--- a/rsf-admin/src/config/setting.js
+++ b/rsf-admin/src/config/setting.js
@@ -45,4 +45,6 @@
export const DEFAULT_TYPE = 15; //榛樿鏁堢巼浼樺寲 15锛氭晥鐜囦紭鍖� 16锛氬厛杩涘厛鍑�
-export const DEFAULT_WAVE_AUTO_EXCE = 'WaveAutoExce'; //
\ No newline at end of file
+export const DEFAULT_WAVE_AUTO_EXCE = 'WaveAutoExce'; //
+
+export const AUTO_RUN_CHECK_ORDERS = 'AUTO_RUN_CHECK_ORDERS'; //
\ No newline at end of file
diff --git a/rsf-admin/src/i18n/zh.js b/rsf-admin/src/i18n/zh.js
index 7de7d5e..980968e 100644
--- a/rsf-admin/src/i18n/zh.js
+++ b/rsf-admin/src/i18n/zh.js
@@ -1331,6 +1331,7 @@
batch: '鎵归噺鎿嶄綔',
confirm: '纭',
start: '鑷姩涓嬪彂',
+ autoStartLocs: '鑷姩璺戝簱',
stopPub: '缁堟涓嬪彂',
pause: '鏆傚仠',
pick: '鎷f枡',
diff --git a/rsf-admin/src/page/orders/wave/WaveList.jsx b/rsf-admin/src/page/orders/wave/WaveList.jsx
index a37fce6..081348c 100644
--- a/rsf-admin/src/page/orders/wave/WaveList.jsx
+++ b/rsf-admin/src/page/orders/wave/WaveList.jsx
@@ -152,7 +152,7 @@
rowClick={(id, resource, record) => false}
expand={<WavePannel />}
expandSingle={true}
- omit={['id', 'createTime', 'createBy', 'createBy$', 'memo']}
+ omit={['id', 'createTime', 'createBy', 'createBy$']}
>
<NumberField source="id" />
<TextField source="code" label="table.field.wave.code" />
diff --git a/rsf-admin/src/page/task/TaskList.jsx b/rsf-admin/src/page/task/TaskList.jsx
index 4fa167a..55d5af7 100644
--- a/rsf-admin/src/page/task/TaskList.jsx
+++ b/rsf-admin/src/page/task/TaskList.jsx
@@ -37,7 +37,10 @@
import TaskPanel from "./TaskPanel";
import MyField from "../components/MyField";
import ConfirmButton from "../components/ConfirmButton";
-import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
+import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, AUTO_RUN_CHECK_ORDERS } from '@/config/setting';
+import PlayArrowOutlinedIcon from '@mui/icons-material/PlayArrowOutlined';
+import PauseIcon from '@mui/icons-material/Pause';
+import PauseCircleOutlineIcon from '@mui/icons-material/PauseCircleOutline';
import * as Common from '@/utils/common';
import ColorizeOutlinedIcon from '@mui/icons-material/ColorizeOutlined';
import GradingOutlinedIcon from '@mui/icons-material/GradingOutlined';
@@ -67,7 +70,19 @@
const translate = useTranslate();
const refresh = useRefresh();
const [drawerVal, setDrawerVal] = useState(false);
+ const [autoExce, setAutoExce] = useState(false);
const dict = JSON.parse(localStorage.getItem('sys_dicts'))?.filter(dict => (dict.dictTypeCode == 'sys_warehouse_type')) || [];
+
+ useEffect(() => {
+ getConfig()
+ }, [])
+
+ const getConfig = async () => {
+ const { data: { code, data, msg } } = await request.get('/config/flag/' + AUTO_RUN_CHECK_ORDERS);
+ if (code === 200) {
+ setAutoExce(JSON.parse(data?.val))
+ }
+ }
// useEffect(() => {
// const interval = setInterval(() => {
@@ -127,6 +142,8 @@
sort={{ field: "sort", order: "desc" }}
actions={(
<TopToolbar>
+ <BulkAutoStartButton autoExce={autoExce} setAutoExce={setAutoExce}/>
+ <BulkAutoPauseButton autoExce={autoExce} setAutoExce={setAutoExce} />
<FilterButton />
<SelectColumnsButton preferenceKey='task' />
</TopToolbar>
@@ -205,6 +222,40 @@
return (record?.taskStatus == 199 && record?.taskType == 107 ? <ConfirmButton label={"toolbar.check"} startIcon={<GradingOutlinedIcon />} onConfirm={checkClick} /> : <></>)
}
+/**鑷姩涓嬪彂浠诲姟**/
+const BulkAutoStartButton = ({ autoExce, setAutoExce }) => {
+ const notify = useNotify();
+ const startClick = async () => {
+ setAutoExce(true)
+ const { data: { code, data, msg } } = await request.post('/config/byFlag', { val: true, flag: 'AUTO_RUN_CHECK_ORDERS' });
+ if (code === 200) {
+ notify(msg);
+ } else {
+ notify(msg);
+ }
+ }
+ return (
+ !autoExce ? <Button label="toolbar.autoStartLocs" onClick={startClick} startIcon={<PlayArrowOutlinedIcon />} /> : <></>
+ )
+}
+
+const BulkAutoPauseButton = ({ autoExce, setAutoExce }) => {
+ const notify = useNotify();
+ const pauseClick = async () => {
+ const { data: { code, data, msg } } = await request.post('/config/byFlag', { val: false, flag: 'AUTO_RUN_CHECK_ORDERS' });
+ if (code === 200) {
+ notify(msg);
+ setAutoExce(false)
+ } else {
+ notify(msg);
+ }
+ }
+ return (
+ autoExce ? <Button label="toolbar.pause" onClick={pauseClick} startIcon={<PauseIcon />} /> : <></>
+ )
+}
+
+
/**
* 鎷f枡鍑哄簱
* @returns
diff --git a/rsf-open-api/src/main/resources/application-dev.yml b/rsf-open-api/src/main/resources/application-dev.yml
index ef16461..b79a379 100644
--- a/rsf-open-api/src/main/resources/application-dev.yml
+++ b/rsf-open-api/src/main/resources/application-dev.yml
@@ -14,10 +14,10 @@
# url: jdbc:mysql://47.76.147.249:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
# username: rsf
username: root
- url: jdbc:mysql://127.0.0.1:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
- password: 34821015
-# url: jdbc:mysql://10.10.10.200:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
-# password: xltys1995
+# url: jdbc:mysql://127.0.0.1:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+# password: 34821015
+ url: jdbc:mysql://10.10.10.200:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+ password: xltys1995
type: com.alibaba.druid.pool.DruidDataSource
druid:
initial-size: 5
diff --git a/rsf-open-api/src/main/resources/application-prod.yml b/rsf-open-api/src/main/resources/application-prod.yml
index 1c91565..decbc2c 100644
--- a/rsf-open-api/src/main/resources/application-prod.yml
+++ b/rsf-open-api/src/main/resources/application-prod.yml
@@ -1,5 +1,5 @@
server:
- port: 8080
+ port: 8081
servlet:
context-path: /@pom.artifactId@
@@ -10,9 +10,9 @@
static-path-pattern: /**
datasource:
driver-class-name: com.mysql.jdbc.Driver
- url: jdbc:mysql://192.168.4.24:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://10.10.10.200:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
- password: 34821015
+ password: xltys1995
type: com.alibaba.druid.pool.DruidDataSource
druid:
initial-size: 5
@@ -66,3 +66,17 @@
stock:
flagAvailable: true
+
+ #骞冲彴鎺ュ彛淇℃伅閰嶇疆(濡傦細ERP, QMS, WCS绛�)
+ platform:
+ #RCS閾炬帴
+ rcs:
+ #閾炬帴
+ host: http://10.10.10.200
+ #绔彛
+ port: 8088
+ wms:
+ #閾炬帴
+ host: http://10.10.10.200
+ #绔彛
+ port: 8085
diff --git a/rsf-open-api/src/main/resources/application.yml b/rsf-open-api/src/main/resources/application.yml
index dbcd3cd..89b98e4 100644
--- a/rsf-open-api/src/main/resources/application.yml
+++ b/rsf-open-api/src/main/resources/application.yml
@@ -1,6 +1,6 @@
spring:
profiles:
- active: dev
+ active: prod
mybatis-plus:
mapper-locations: classpath:mapper/*/*.xml
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
index 3005f19..fc391e0 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -471,13 +471,25 @@
}
/**鏂欑鎼繍涓紝 淇敼绔欑偣鐘舵��*/
- if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_OBIT.event)) {
+// if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_OBIT.event)) {
+// if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
+// || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
+// || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
+// || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_IN.type)
+// || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type)
+// || task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
+//
+// }
+// /**鍙栫瀹屾垚锛� 淇敼浠诲姟鐘舵��*/
+// } else
+ if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_END.event)) {
if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
|| task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
|| task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
|| task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_IN.type)
|| task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type)
|| task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
+
if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, task.getOrgSite()));
if (Objects.isNull(station)) {
@@ -490,11 +502,20 @@
}
}
}
+
+ if (!taskService.update(new LambdaUpdateWrapper<Task>()
+ .lt(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id)
+ .eq(Task::getTaskCode, task.getTaskCode())
+ .set(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id))) {
+ throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
} else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type)
|| task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)
|| task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type)
|| task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)
|| task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_OUT.type)) {
+
+
/**淇敼鍑哄簱绔欑偣鐘舵��*/
BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
.eq(BasStation::getStationName, task.getTargSite()));
@@ -507,26 +528,7 @@
throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�");
}
}
- }
- /**鍙栫瀹屾垚锛� 淇敼浠诲姟鐘舵��*/
- } else if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_END.event)) {
- if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
- || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
- || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
- || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_IN.type)
- || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type)
- || task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
- if (!taskService.update(new LambdaUpdateWrapper<Task>()
- .lt(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id)
- .eq(Task::getTaskCode, task.getTaskCode())
- .set(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id))) {
- throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
- }
- } else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type)
- || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)
- || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type)
- || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)
- || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_OUT.type)) {
+
if (!taskService.update(new LambdaUpdateWrapper<Task>().eq(Task::getTaskCode, task.getTaskCode())
.lt(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id)
.set(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id))) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java
index 40fb2c4..6e6344e 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java
@@ -13,7 +13,9 @@
import com.vincent.rsf.server.manager.enums.*;
import com.vincent.rsf.server.manager.service.*;
import com.vincent.rsf.server.manager.service.impl.BasStationServiceImpl;
+import com.vincent.rsf.server.system.constant.GlobalConfigCode;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
+import com.vincent.rsf.server.system.entity.Config;
import com.vincent.rsf.server.system.service.ConfigService;
import com.vincent.rsf.server.system.utils.SerialRuleUtils;
import lombok.extern.slf4j.Slf4j;
@@ -104,13 +106,12 @@
@Scheduled(cron = "0/35 * * * * ?")
@Transactional(rollbackFor = Exception.class)
public void autoCheckComplete() {
-// Boolean autoRunArea = configService.getVal("AUTO_RUN_CHECK_ORDERS", Boolean.class);
-// if (!autoRunArea) {
-// return;
-// }
//鑾峰彇浠诲姟鍒楄〃涓紝涓虹洏鐐瑰嚭搴撶殑浠诲姟
List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
- .in(Task::getTaskType, Arrays.asList(TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_CHECK_IN.type)));
+ .in(Task::getTaskType, Arrays.asList(TaskType.TASK_TYPE_CHECK_OUT.type,
+ TaskType.TASK_TYPE_PICK_IN.type,
+ TaskType.TASK_TYPE_PICK_AGAIN_OUT.type,
+ TaskType.TASK_TYPE_CHECK_IN.type)));
if (!tasks.isEmpty()) {
tasks.forEach(task -> {
@@ -122,19 +123,13 @@
if (task.getTaskStatus().equals(TaskStsType.WAVE_SEED.id)) {
if (!stationService.update(new LambdaUpdateWrapper<BasStation>()
.eq(BasStation::getStationName, task.getTargSite())
- .set(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_F.type))) {
+ .set(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_R.type))) {
log.error("绔欑偣鐘舵�佷慨鏀瑰畬鎴愬け璐�,褰撳墠浠诲姟鐘舵�侊細", task.getTaskStatus());
-// throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+// throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�");
}
try {
- taskService.pickOrCheckTask(task.getId(), Constants.TASK_TYPE_OUT_CHECK);
+ taskService.pickOrCheckTask(task.getId(), task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type) ? Constants.TASK_TYPE_OUT_CHECK : "");
- if (!stationService.update(new LambdaUpdateWrapper<BasStation>()
- .eq(BasStation::getStationName, task.getTargSite())
- .set(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_R.type))) {
- log.error("绔欑偣鐘舵�佷慨鏀瑰畬鎴愬け璐�,褰撳墠浠诲姟鐘舵�侊細", task.getTaskStatus());
-// throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�");
- }
} catch (Exception e) {
log.error("error====>", e);
}
@@ -152,10 +147,9 @@
* @version 1.0
*/
@Scheduled(cron = "0/25 * * * * ?")
-// @Scheduled(cron = "0 0/05 * * * ? ")
public void genRun() {
- Boolean flagAuto = configService.getVal("AUTO_RUN_CHECK_ORDERS", Boolean.class);
- if (!flagAuto) {
+ Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.AUTO_RUN_CHECK_ORDERS));
+ if (!Boolean.parseBoolean(config.getVal())) {
return;
}
//鑾峰彇浠诲姟鍒楄〃涓紝涓虹洏鐐瑰嚭搴撶殑浠诲姟
@@ -232,12 +226,6 @@
continue;
}
try {
- //鐢熸垚鐩樼偣鍑哄簱浠诲姟锛岀珯鐐归绾�
- if (!stationService.update(new LambdaUpdateWrapper<BasStation>()
- .eq(BasStation::getStationName, deviceSite.getSite())
- .set(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_S.type))) {
- throw new CoolException("绔欑偣鐘舵�佹洿鏂板け璐ワ紒锛�");
- }
locItemService.generateTask(TaskResouceType.TASK_RESOUCE_CHECK_TYPE.val, locToTaskParams, getLoginUserId());
} catch (Exception e) {
throw new CoolException(e.getMessage());
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
index d18a1c3..97bd9d9 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -234,22 +234,26 @@
// }
}
+ /**
+ * 闈炲厜鐢电珯鐐逛换鍔′笅鍙�
+ */
@Scheduled(cron = "0/5 * * * * ? ")
@Transactional(rollbackFor = Exception.class)
public void pubTaskToWcs() {
Long loginUserId = SystemAuthUtils.getLoginUserId();
List<Integer> list = Arrays.asList(TaskType.TASK_TYPE_IN.type, TaskType.TASK_TYPE_OUT.type, TaskType.TASK_TYPE_LOC_MOVE.type, TaskType.TASK_TYPE_EMPITY_IN.type
- , TaskType.TASK_TYPE_CHECK_IN.type, TaskType.TASK_TYPE_MERGE_IN.type, TaskType.TASK_TYPE_EMPITY_OUT.type,
+ , TaskType.TASK_TYPE_CHECK_IN.type, TaskType.TASK_TYPE_MERGE_IN.type, TaskType.TASK_TYPE_EMPITY_OUT.type, TaskType.TASK_TYPE_PICK_IN.type,
TaskType.TASK_TYPE_PICK_AGAIN_OUT.type, TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_MERGE_OUT.type);
List<Integer> integers = Arrays.asList(TaskStsType.GENERATE_IN.id, TaskStsType.GENERATE_OUT.id);
List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
.in(Task::getTaskType, list)
- .in(Task::getTaskStatus, integers)
+ .in(Task::getTaskStatus, integers).last("limit 1")
.orderByDesc(Task::getSort));
for (Task task : tasks) {
/**绉诲簱涓嶅仛绔欑偣鎿嶄綔*/
if (!task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
- BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName,
+ BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+ .eq(BasStation::getStationName,
task.getTaskStatus().equals(TaskStsType.GENERATE_IN.id) ? task.getOrgSite() : task.getTargSite()));
if (station.getType().equals(StationTypeEnum.STATION_TYPE_MUTI.type)) {
continue;
@@ -366,16 +370,25 @@
}
/**鍒ゆ柇鏄惁鍏夌數绔欑偣锛岄潪鍏夊簵绔欑偣闇�绠℃帶绔欑偣鐘舵��*/
if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) {
- if (task.getTaskType() <= TaskType.TASK_TYPE_CHECK_IN.type && task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
+ if (task.getTaskType() <= TaskType.TASK_TYPE_CHECK_IN.type && !task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
if (!station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_F.type)) {
- throw new CoolException("褰撳墠绔欑偣涓嶆槸F.鍦ㄥ簱鐘舵�侊紒锛�");
+ throw new CoolException("褰撳墠绔欑偣涓嶆槸F.鍦ㄥ簱鐘舵�佺姸鎬侊紒锛�");
+ }
+ station.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
+ if (!basStationService.updateById(station)) {
+ throw new CoolException("绔欑偣鐘舵�佹洿鏂板け璐ワ紒锛�");
}
} else if (task.getTaskType() >= TaskType.TASK_TYPE_OUT.type) {
if (!station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
- throw new CoolException("鐩爣绔欑偣涓嶆槸O.绌洪棽鐘舵�侊紒锛�");
+ throw new CoolException("鐩爣绔欑偣涓嶅O.绌洪棽鐘舵�侊紝鏃犳硶棰勭害鍑哄簱銆�");
+ }
+ station.setUseStatus(LocStsType.LOC_STS_TYPE_S.type);
+ if (!basStationService.updateById(station)) {
+ throw new CoolException("绔欑偣鐘舵�佹洿鏂板け璐ワ紒锛�");
}
}
}
+
/**绉诲簱鍙傛暟*/
if (task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
itemParam.setOriLoc(task.getOrgLoc()).setDestLoc(task.getTargLoc());
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
index 91e0d70..2e83811 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -137,7 +137,7 @@
//鎷f枡鍑哄簱 -- 鐩樼偣鍑哄簱
DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
.eq(DeviceSite::getSite, siteNo)
- .eq(DeviceSite::getChannel, loc.getChannel())
+ .eq(!Objects.isNull(loc.getChannel()),DeviceSite::getChannel, loc.getChannel())
.eq(DeviceSite::getType, TaskType.TASK_TYPE_PICK_AGAIN_OUT.type));
if (Objects.isNull(deviceSite)) {
throw new CoolException("绔欑偣涓嶆敮鎸佹嫞鏂欏嚭搴擄紒锛�");
@@ -146,7 +146,7 @@
} else {
//鍏ㄦ澘鍑哄簱
DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
- .eq(DeviceSite::getChannel, loc.getChannel())
+ .eq(!Objects.isNull(loc.getChannel()), DeviceSite::getChannel, loc.getChannel())
.eq(DeviceSite::getSite, siteNo).eq(DeviceSite::getType, TaskType.TASK_TYPE_OUT.type));
if (Objects.isNull(deviceSite)) {
throw new CoolException("绔欑偣涓嶆敮鎸佸叏鏉垮嚭搴擄紒锛�");
@@ -294,7 +294,7 @@
//鐩爣搴撲綅涓虹┖锛岃嚜鍔ㄨ幏鍙栨柊搴撲綅
DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
.eq(DeviceSite::getType, TaskType.TASK_TYPE_LOC_MOVE.type)
- .eq(DeviceSite::getChannel, orgLoc.getChannel()), false);
+ .eq(!Objects.isNull(orgLoc.getChannel()), DeviceSite::getChannel, orgLoc.getChannel()), false);
if (Objects.isNull(deviceSite)) {
throw new CoolException("绔欑偣淇℃伅涓嶅瓨鍦紒锛�");
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
index aca7d0c..b2962f7 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/utils/LocManageUtil.java
@@ -157,7 +157,7 @@
orderOutItemDto.setLocItem(locItem);
List<DeviceSite> deviceSites = deviceSiteService.list(new LambdaQueryWrapper<DeviceSite>()
- .eq(DeviceSite::getChannel, loc.getChannel())
+ .eq(!Objects.isNull(loc.getChannel()), DeviceSite::getChannel, loc.getChannel())
.eq(DeviceSite::getType, issued.doubleValue() >= locItem.getAnfme() && itemList.size() == 1 ? TaskType.TASK_TYPE_OUT.type : TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)
);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/GlobalConfigCode.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/GlobalConfigCode.java
index 6cbcecc..6ec5761 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/GlobalConfigCode.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/GlobalConfigCode.java
@@ -19,4 +19,6 @@
/**娉㈡鑷姩涓嬪彂浠诲姟*/
public final static String WAVE_AUTO_EXCE_TASK = "WaveAutoExce";
+ public final static String AUTO_RUN_CHECK_ORDERS = "AUTO_RUN_CHECK_ORDERS";
+
}
diff --git a/rsf-server/src/main/resources/application-prod.yml b/rsf-server/src/main/resources/application-prod.yml
index 1c91565..4dfcad8 100644
--- a/rsf-server/src/main/resources/application-prod.yml
+++ b/rsf-server/src/main/resources/application-prod.yml
@@ -1,5 +1,5 @@
server:
- port: 8080
+ port: 8085
servlet:
context-path: /@pom.artifactId@
@@ -10,9 +10,9 @@
static-path-pattern: /**
datasource:
driver-class-name: com.mysql.jdbc.Driver
- url: jdbc:mysql://192.168.4.24:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://10.10.10.200:3306/rsf?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
- password: 34821015
+ password: xltys1995
type: com.alibaba.druid.pool.DruidDataSource
druid:
initial-size: 5
@@ -66,3 +66,25 @@
stock:
flagAvailable: true
+
+
+
+ #骞冲彴鎺ュ彛淇℃伅閰嶇疆(濡傦細ERP, QMS, WCS绛�)
+ platform:
+ #浼佷笟ERP骞冲彴
+ erp:
+ #localhost
+ host: http://10.10.10.200
+ #绔彛鍙�
+ port: 8085
+ #鎺ュ搧閾炬帴鍓嶇紑
+ pre-path: rsf-server
+ #鎺ュ彛鏄庣粏
+ api:
+ #璐ㄦ涓婃姤鎺ュ彛
+ notify-inspect: /report/inspect
+ rcs:
+ #閾炬帴
+ host: http://10.10.10.200
+ #绔彛
+ port: 8081
diff --git a/rsf-server/src/main/resources/application.yml b/rsf-server/src/main/resources/application.yml
index 0c99aef..9188a6c 100644
--- a/rsf-server/src/main/resources/application.yml
+++ b/rsf-server/src/main/resources/application.yml
@@ -1,6 +1,6 @@
spring:
profiles:
- active: dev
+ active: prod
config:
system-name: @pom.artifactId@
--
Gitblit v1.9.1