From ad67399e14815baa028564c0edce3fec3c414914 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期四, 13 六月 2024 09:01:39 +0800
Subject: [PATCH] #
---
zy-asrs-flow/src/pages/task/task/index.jsx | 94 ++++
zy-asrs-flow/src/pages/task/taskLog/components/edit.jsx | 192 +++++++++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLedController.java | 3
zy-asrs-flow/src/pages/task/taskLog/index.jsx | 322 ++++++++++++++++-
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorStaController.java | 3
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java | 99 +++++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskLogController.java | 7
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/TaskLog.java | 300 +++++++++++++++-
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java | 3
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java | 7
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocController.java | 7
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/MotionLogController.java | 3
12 files changed, 950 insertions(+), 90 deletions(-)
diff --git a/zy-asrs-flow/src/pages/task/task/index.jsx b/zy-asrs-flow/src/pages/task/task/index.jsx
index 44c0a24..4c81bb6 100644
--- a/zy-asrs-flow/src/pages/task/task/index.jsx
+++ b/zy-asrs-flow/src/pages/task/task/index.jsx
@@ -75,6 +75,46 @@
}
};
+const handleComplete = async (rows, intl) => {
+ if (!rows) return true;
+ const hide = message.loading(intl.formatMessage({ id: 'page.completeing', defaultMessage: '姝e湪瀹屾垚' }));
+ try {
+ const resp = await Http.doPost('api/task/complete/' + rows.map((row) => row.id).join(','));
+ if (resp.code === 200) {
+ message.success(intl.formatMessage({ id: 'page.complete.success', defaultMessage: '瀹屾垚鎴愬姛' }));
+ return true;
+ } else {
+ message.error(resp.msg);
+ return false;
+ }
+ } catch (error) {
+ message.error(intl.formatMessage({ id: 'page.complete.fail', defaultMessage: '瀹屾垚澶辫触锛岃閲嶈瘯锛�' }));
+ return false;
+ } finally {
+ hide();
+ }
+};
+
+const handleCancel = async (rows, intl) => {
+ if (!rows) return true;
+ const hide = message.loading(intl.formatMessage({ id: 'page.canceling', defaultMessage: '姝e湪鍙栨秷' }));
+ try {
+ const resp = await Http.doPost('api/task/cancel/' + rows.map((row) => row.id).join(','));
+ if (resp.code === 200) {
+ message.success(intl.formatMessage({ id: 'page.cancel.success', defaultMessage: '鍙栨秷鎴愬姛' }));
+ return true;
+ } else {
+ message.error(resp.msg);
+ return false;
+ }
+ } catch (error) {
+ message.error(intl.formatMessage({ id: 'page.cancel.fail', defaultMessage: '鍙栨秷澶辫触锛岃閲嶈瘯锛�' }));
+ return false;
+ } finally {
+ hide();
+ }
+};
+
const handleExport = async (intl) => {
const hide = message.loading(intl.formatMessage({ id: 'page.exporting', defaultMessage: '姝e湪瀵煎嚭' }));
try {
@@ -471,7 +511,7 @@
{
title: '鎿嶄綔',
dataIndex: 'option',
- width: 140,
+ width: 240,
valueType: 'option',
render: (_, record) => [
<Button
@@ -484,16 +524,36 @@
>
<FormattedMessage id='page.edit' defaultMessage='缂栬緫' />
</Button>,
+ // <Button
+ // type="link"
+ // danger
+ // key="batchRemove"
+ // onClick={async () => {
+ // Modal.confirm({
+ // title: intl.formatMessage({ id: 'page.delete', defaultMessage: '鍒犻櫎' }),
+ // content: intl.formatMessage({ id: 'page.delete.confirm', defaultMessage: '纭畾鍒犻櫎璇ラ」鍚楋紵' }),
+ // onOk: async () => {
+ // const success = await handleRemove([record], intl);
+ // if (success) {
+ // if (actionRef.current) {
+ // actionRef.current.reload();
+ // }
+ // }
+ // },
+ // });
+ // }}
+ // >
+ // <FormattedMessage id='page.delete' defaultMessage='鍒犻櫎' />
+ // </Button>,
<Button
type="link"
- danger
- key="batchRemove"
+ key="complete"
onClick={async () => {
Modal.confirm({
- title: intl.formatMessage({ id: 'page.delete', defaultMessage: '鍒犻櫎' }),
- content: intl.formatMessage({ id: 'page.delete.confirm', defaultMessage: '纭畾鍒犻櫎璇ラ」鍚楋紵' }),
+ title: intl.formatMessage({ id: 'page.complete', defaultMessage: '瀹屾垚' }),
+ content: intl.formatMessage({ id: 'page.complete.confirm', defaultMessage: '纭畾瀹屾垚璇ラ」鍚楋紵' }),
onOk: async () => {
- const success = await handleRemove([record], intl);
+ const success = await handleComplete([record], intl);
if (success) {
if (actionRef.current) {
actionRef.current.reload();
@@ -503,8 +563,28 @@
});
}}
>
- <FormattedMessage id='page.delete' defaultMessage='鍒犻櫎' />
+ <FormattedMessage id='page.complete' defaultMessage='瀹屾垚' />
</Button>,
+ <Button
+ type="link"
+ key="cancel"
+ onClick={async () => {
+ Modal.confirm({
+ title: intl.formatMessage({ id: 'page.cancel', defaultMessage: '鍙栨秷' }),
+ content: intl.formatMessage({ id: 'page.cancel.confirm', defaultMessage: '纭畾鍙栨秷璇ラ」鍚楋紵' }),
+ onOk: async () => {
+ const success = await handleCancel([record], intl);
+ if (success) {
+ if (actionRef.current) {
+ actionRef.current.reload();
+ }
+ }
+ },
+ });
+ }}
+ >
+ <FormattedMessage id='page.cancel' defaultMessage='鍙栨秷' />
+ </Button>,
],
},
];
diff --git a/zy-asrs-flow/src/pages/task/taskLog/components/edit.jsx b/zy-asrs-flow/src/pages/task/taskLog/components/edit.jsx
index c311488..8bb59e1 100644
--- a/zy-asrs-flow/src/pages/task/taskLog/components/edit.jsx
+++ b/zy-asrs-flow/src/pages/task/taskLog/components/edit.jsx
@@ -68,30 +68,151 @@
label="缂栧彿"
colProps={{ md: 12, xl: 12 }}
/>
- <ProFormText
- name="name"
- label="鍚嶇О"
+ <ProFormSelect
+ name="busId"
+ label="鎬荤嚎"
colProps={{ md: 12, xl: 12 }}
+ fieldProps={{ precision: 0 }}
+ showSearch
+ debounceTime={300}
+ request={async ({ keyWords }) => {
+ const resp = await Http.doPostForm('api/bus/query', { condition: keyWords });
+ return resp.data;
+ }}
/>
</ProForm.Group>
<ProForm.Group>
- <ProFormText
- name="flag"
- label="鏍囪瘑"
- colProps={{ md: 12, xl: 12 }}
- />
<ProFormText
name="taskNo"
label="浠诲姟鍙�"
colProps={{ md: 12, xl: 12 }}
/>
+ <ProFormText
+ name="serialNum"
+ label="搴忓垪鍙�"
+ colProps={{ md: 12, xl: 12 }}
+ />
</ProForm.Group>
<ProForm.Group>
<ProFormText
- name="taskData"
- label="浠诲姟鏁版嵁"
+ name="title"
+ label="鏍囬"
colProps={{ md: 12, xl: 12 }}
/>
+ <ProFormSelect
+ name="taskSts"
+ label="浠诲姟鐘舵��"
+ colProps={{ md: 12, xl: 12 }}
+ fieldProps={{ precision: 0 }}
+ showSearch
+ debounceTime={300}
+ request={async ({ keyWords }) => {
+ const resp = await Http.doPostForm('api/taskSts/query', { condition: keyWords });
+ return resp.data;
+ }}
+ />
+ </ProForm.Group>
+ <ProForm.Group>
+ <ProFormSelect
+ name="taskCtg"
+ label="浠诲姟绫诲瀷"
+ colProps={{ md: 12, xl: 12 }}
+ fieldProps={{ precision: 0 }}
+ showSearch
+ debounceTime={300}
+ request={async ({ keyWords }) => {
+ const resp = await Http.doPostForm('api/taskCtg/query', { condition: keyWords });
+ return resp.data;
+ }}
+ />
+ <ProFormDigit
+ name="priority"
+ label="浼樺厛绾�"
+ colProps={{ md: 12, xl: 12 }}
+ fieldProps={{ precision: 0 }}
+ />
+ </ProForm.Group>
+ <ProForm.Group>
+ <ProFormText
+ name="originSite"
+ label="璧峰绔�"
+ colProps={{ md: 12, xl: 12 }}
+ />
+ <ProFormText
+ name="originLoc"
+ label="璧峰搴撲綅"
+ colProps={{ md: 12, xl: 12 }}
+ />
+ </ProForm.Group>
+ <ProForm.Group>
+ <ProFormText
+ name="destSite"
+ label="鐩爣绔�"
+ colProps={{ md: 12, xl: 12 }}
+ />
+ <ProFormText
+ name="destLoc"
+ label="鐩爣搴撲綅"
+ colProps={{ md: 12, xl: 12 }}
+ />
+ </ProForm.Group>
+ <ProForm.Group>
+ <ProFormSelect
+ name="emptyMk"
+ label="绌烘墭"
+ colProps={{ md: 12, xl: 12 }}
+ options={[
+ { label: '鏄�', value: 1 },
+ { label: '鍚�', value: 0 },
+ ]}
+ />
+ <ProFormText
+ name="zpallet"
+ label="鎵樼洏鐮�"
+ colProps={{ md: 12, xl: 12 }}
+ />
+ </ProForm.Group>
+ <ProForm.Group>
+ <ProFormText
+ name="phase"
+ label="鐜妭"
+ colProps={{ md: 12, xl: 12 }}
+ />
+ <ProFormDateTimePicker
+ name="ioTime"
+ label="浠诲姟鏃堕棿"
+ colProps={{ md: 12, xl: 12 }}
+ transform={(value) => moment(value).toISOString()}
+ />
+ </ProForm.Group>
+ <ProForm.Group>
+ <ProFormDateTimePicker
+ name="startTime"
+ label="寮�濮嬫椂闂�"
+ colProps={{ md: 12, xl: 12 }}
+ transform={(value) => moment(value).toISOString()}
+ />
+ <ProFormDateTimePicker
+ name="endTime"
+ label="缁撴潫鏃堕棿"
+ colProps={{ md: 12, xl: 12 }}
+ transform={(value) => moment(value).toISOString()}
+ />
+ </ProForm.Group>
+ <ProForm.Group>
+ <ProFormDateTimePicker
+ name="exceptionTime"
+ label="寮傚父鏃堕棿"
+ colProps={{ md: 12, xl: 12 }}
+ transform={(value) => moment(value).toISOString()}
+ />
+ <ProFormText
+ name="exceptionDesc"
+ label="寮傚父鎻忚堪"
+ colProps={{ md: 12, xl: 12 }}
+ />
+ </ProForm.Group>
+ <ProForm.Group>
<ProFormSelect
name="status"
label="鐘舵��"
@@ -101,14 +222,14 @@
{ label: '绂佺敤', value: 0 },
]}
/>
- </ProForm.Group>
- <ProForm.Group>
<ProFormDateTimePicker
name="createTime"
label="娣诲姞鏃堕棿"
colProps={{ md: 12, xl: 12 }}
transform={(value) => moment(value).toISOString()}
/>
+ </ProForm.Group>
+ <ProForm.Group>
<ProFormSelect
name="createBy"
label="娣诲姞浜哄憳"
@@ -121,14 +242,14 @@
return resp.data;
}}
/>
- </ProForm.Group>
- <ProForm.Group>
<ProFormDateTimePicker
name="updateTime"
label="淇敼鏃堕棿"
colProps={{ md: 12, xl: 12 }}
transform={(value) => moment(value).toISOString()}
/>
+ </ProForm.Group>
+ <ProForm.Group>
<ProFormSelect
name="updateBy"
label="淇敼浜哄憳"
@@ -141,14 +262,53 @@
return resp.data;
}}
/>
- </ProForm.Group>
- <ProForm.Group>
<ProFormText
name="memo"
label="澶囨敞"
colProps={{ md: 12, xl: 12 }}
/>
</ProForm.Group>
+ <ProForm.Group>
+ <ProFormDigit
+ name="shuttleNo"
+ label="鍥涘悜绌挎杞﹀彿"
+ colProps={{ md: 12, xl: 12 }}
+ fieldProps={{ precision: 0 }}
+ />
+ <ProFormDigit
+ name="liftNo"
+ label="鎻愬崌鏈哄彿"
+ colProps={{ md: 12, xl: 12 }}
+ fieldProps={{ precision: 0 }}
+ />
+ </ProForm.Group>
+ <ProForm.Group>
+ <ProFormDigit
+ name="crnNo"
+ label="鍫嗗灈鏈哄彿"
+ colProps={{ md: 12, xl: 12 }}
+ fieldProps={{ precision: 0 }}
+ />
+ <ProFormDigit
+ name="rgvNo"
+ label="RGV鍙�"
+ colProps={{ md: 12, xl: 12 }}
+ fieldProps={{ precision: 0 }}
+ />
+ </ProForm.Group>
+ <ProForm.Group>
+ <ProFormDigit
+ name="agvNo"
+ label="AGV鍙�"
+ colProps={{ md: 12, xl: 12 }}
+ fieldProps={{ precision: 0 }}
+ />
+ <ProFormText
+ name="recordLoc"
+ label="鏄惁璁板綍搴撲綅淇℃伅"
+ colProps={{ md: 12, xl: 12 }}
+ />
+ </ProForm.Group>
</ProForm>
</Modal>
diff --git a/zy-asrs-flow/src/pages/task/taskLog/index.jsx b/zy-asrs-flow/src/pages/task/taskLog/index.jsx
index 17db031..a8313af 100644
--- a/zy-asrs-flow/src/pages/task/taskLog/index.jsx
+++ b/zy-asrs-flow/src/pages/task/taskLog/index.jsx
@@ -129,27 +129,14 @@
/>,
},
{
- title: '鍚嶇О',
- dataIndex: 'name',
+ title: '鎬荤嚎',
+ dataIndex: 'busId$',
valueType: 'text',
hidden: false,
width: 140,
- copyable: true,
- filterDropdown: (props) => <TextFilter
- name='name'
- {...props}
- actionRef={actionRef}
- setSearchParam={setSearchParam}
- />,
- },
- {
- title: '鏍囪瘑',
- dataIndex: 'flag',
- valueType: 'text',
- hidden: false,
- width: 140,
- filterDropdown: (props) => <TextFilter
- name='flag'
+ filterDropdown: (props) => <LinkFilter
+ name='busId'
+ major='bus'
{...props}
actionRef={actionRef}
setSearchParam={setSearchParam}
@@ -161,6 +148,7 @@
valueType: 'text',
hidden: false,
width: 140,
+ copyable: true,
filterDropdown: (props) => <TextFilter
name='taskNo'
{...props}
@@ -169,13 +157,227 @@
/>,
},
{
- title: '浠诲姟鏁版嵁',
- dataIndex: 'taskData',
+ title: '搴忓垪鍙�',
+ dataIndex: 'serialNum',
valueType: 'text',
hidden: false,
width: 140,
filterDropdown: (props) => <TextFilter
- name='taskData'
+ name='serialNum'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '鏍囬',
+ dataIndex: 'title',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='title'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '浠诲姟鐘舵��',
+ dataIndex: 'taskSts$',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <LinkFilter
+ name='taskSts'
+ major='taskSts'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '浠诲姟绫诲瀷',
+ dataIndex: 'taskCtg$',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <LinkFilter
+ name='taskCtg'
+ major='taskCtg'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '浼樺厛绾�',
+ dataIndex: 'priority',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='priority'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '璧峰绔�',
+ dataIndex: 'originSite',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='originSite'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '璧峰搴撲綅',
+ dataIndex: 'originLoc',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='originLoc'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '鐩爣绔�',
+ dataIndex: 'destSite',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='destSite'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '鐩爣搴撲綅',
+ dataIndex: 'destLoc',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='destLoc'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '绌烘墭',
+ dataIndex: 'emptyMk$',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <SelectFilter
+ name='emptyMk'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ data={[
+ { label: '鏄�', value: 1 },
+ { label: '鍚�', value: 0 },
+ ]}
+ />,
+ },
+ {
+ title: '鎵樼洏鐮�',
+ dataIndex: 'zpallet',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='zpallet'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '鐜妭',
+ dataIndex: 'phase',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='phase'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '浠诲姟鏃堕棿',
+ dataIndex: 'ioTime$',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <DatetimeRangeFilter
+ name='ioTime'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '寮�濮嬫椂闂�',
+ dataIndex: 'startTime$',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <DatetimeRangeFilter
+ name='startTime'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '缁撴潫鏃堕棿',
+ dataIndex: 'endTime$',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <DatetimeRangeFilter
+ name='endTime'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '寮傚父鏃堕棿',
+ dataIndex: 'exceptionTime$',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <DatetimeRangeFilter
+ name='exceptionTime'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '寮傚父鎻忚堪',
+ dataIndex: 'exceptionDesc',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='exceptionDesc'
{...props}
actionRef={actionRef}
setSearchParam={setSearchParam}
@@ -265,6 +467,84 @@
setSearchParam={setSearchParam}
/>,
},
+ {
+ title: '鍥涘悜绌挎杞﹀彿',
+ dataIndex: 'shuttleNo',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='shuttleNo'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '鎻愬崌鏈哄彿',
+ dataIndex: 'liftNo',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='liftNo'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '鍫嗗灈鏈哄彿',
+ dataIndex: 'crnNo',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='crnNo'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: 'RGV鍙�',
+ dataIndex: 'rgvNo',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='rgvNo'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: 'AGV鍙�',
+ dataIndex: 'agvNo',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='agvNo'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
+ {
+ title: '鏄惁璁板綍搴撲綅淇℃伅',
+ dataIndex: 'recordLoc',
+ valueType: 'text',
+ hidden: false,
+ width: 140,
+ filterDropdown: (props) => <TextFilter
+ name='recordLoc'
+ {...props}
+ actionRef={actionRef}
+ setSearchParam={setSearchParam}
+ />,
+ },
{
title: '鎿嶄綔',
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java
index 4ae9ba0..5647309 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
import com.zy.asrs.wcs.common.domain.PageParam;
import com.zy.asrs.wcs.core.entity.BasConveyor;
import com.zy.asrs.wcs.core.service.BasConveyorService;
+import com.zy.asrs.wcs.system.controller.BaseController;
import com.zy.asrs.wcs.utils.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorStaController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorStaController.java
index 18c2af1..68bfd92 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorStaController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasConveyorStaController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
import com.zy.asrs.wcs.common.domain.PageParam;
import com.zy.asrs.wcs.core.entity.BasConveyorSta;
import com.zy.asrs.wcs.core.service.BasConveyorStaService;
+import com.zy.asrs.wcs.system.controller.BaseController;
import com.zy.asrs.wcs.utils.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLedController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLedController.java
index 4b64823..e2dd2a3 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLedController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLedController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
import com.zy.asrs.wcs.common.domain.PageParam;
import com.zy.asrs.wcs.core.entity.BasLed;
import com.zy.asrs.wcs.core.service.BasLedService;
+import com.zy.asrs.wcs.system.controller.BaseController;
import com.zy.asrs.wcs.utils.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocController.java
index 8971b49..30ee6b4 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocController.java
@@ -1,6 +1,7 @@
package com.zy.asrs.wcs.core.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
@@ -34,7 +35,11 @@
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<Loc, BaseParam> pageParam = new PageParam<>(baseParam, Loc.class);
- return R.ok().add(locService.page(pageParam, pageParam.buildWrapper(true)));
+ QueryWrapper<Loc> wrapper = new QueryWrapper<>();
+ if (!Cools.isEmpty(baseParam.getCondition())) {
+ wrapper.like("loc_no", baseParam.getCondition());
+ }
+ return R.ok().add(locService.page(pageParam, wrapper));
}
@PreAuthorize("hasAuthority('core:loc:list')")
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/MotionLogController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/MotionLogController.java
index 73f248a..e461e13 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/MotionLogController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/MotionLogController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
import com.zy.asrs.wcs.common.domain.PageParam;
import com.zy.asrs.wcs.core.entity.MotionLog;
import com.zy.asrs.wcs.core.service.MotionLogService;
+import com.zy.asrs.wcs.system.controller.BaseController;
import com.zy.asrs.wcs.utils.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java
index 930d6cb..bc93451 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java
@@ -8,19 +8,24 @@
import com.zy.asrs.wcs.common.domain.BaseParam;
import com.zy.asrs.wcs.common.domain.KeyValVo;
import com.zy.asrs.wcs.common.domain.PageParam;
+import com.zy.asrs.wcs.core.entity.Motion;
+import com.zy.asrs.wcs.core.entity.MotionLog;
import com.zy.asrs.wcs.core.entity.Task;
+import com.zy.asrs.wcs.core.entity.TaskLog;
+import com.zy.asrs.wcs.core.model.enums.TaskStsType;
+import com.zy.asrs.wcs.core.service.MotionLogService;
+import com.zy.asrs.wcs.core.service.MotionService;
+import com.zy.asrs.wcs.core.service.TaskLogService;
import com.zy.asrs.wcs.core.service.TaskService;
import com.zy.asrs.wcs.system.controller.BaseController;
import com.zy.asrs.wcs.utils.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
@RestController
@RequestMapping("/api")
@@ -28,6 +33,12 @@
@Autowired
private TaskService taskService;
+ @Autowired
+ private TaskLogService taskLogService;
+ @Autowired
+ private MotionService motionService;
+ @Autowired
+ private MotionLogService motionLogService;
@PreAuthorize("hasAuthority('core:task:list')")
@PostMapping("/task/page")
@@ -99,4 +110,84 @@
ExcelUtil.build(ExcelUtil.create(taskService.list(), Task.class), response);
}
+ @PreAuthorize("hasAuthority('core:task:complete')")
+ @OperationLog("鎵嬪姩瀹屾垚浠诲姟")
+ @PostMapping("/task/complete/{id}")
+ @Transactional
+ public synchronized R complete(@PathVariable Long id) {
+ Task task = taskService.getById(id);
+ if (task == null) {
+ return R.error("浠诲姟涓嶅瓨鍦�");
+ }
+ switch (TaskStsType.query(task.getTaskSts())) {
+ case NEW_INBOUND:
+ case ANALYZE_INBOUND:
+ case EXECUTE_INBOUND:
+ task.setTaskSts(TaskStsType.COMPLETE_INBOUND.sts);
+ break;
+ case NEW_OUTBOUND:
+ case ANALYZE_OUTBOUND:
+ case EXECUTE_OUTBOUND:
+ task.setTaskSts(TaskStsType.COMPLETE_OUTBOUND.sts);
+ break;
+ case NEW_CHARGE:
+ case ANALYZE_CHARGE:
+ case EXECUTE_CHARGE:
+ task.setTaskSts(TaskStsType.CHARGE_WORKING.sts);
+ break;
+ case NEW_MOVE:
+ case ANALYZE_MOVE:
+ case EXECUTE_MOVE:
+ task.setTaskSts(TaskStsType.COMPLETE_MOVE.sts);
+ break;
+ case NEW_MANUAL:
+ case ANALYZE_MANUAL:
+ case EXECUTE_MANUAL:
+ task.setTaskSts(TaskStsType.COMPLETE_MANUAL.sts);
+ break;
+ default:
+ return R.error("褰撳墠鐘舵�佷笉鍙瀹屾垚");
+ }
+ task.setUpdateTime(new Date());
+ task.setUpdateBy(getLoginUserId());
+ if (!taskService.updateById(task)) {
+ return R.error("瀹屾垚澶辫触");
+ }
+ return R.ok("浠诲姟瀹屾垚");
+ }
+
+ @PreAuthorize("hasAuthority('core:task:cancel')")
+ @OperationLog("鎵嬪姩鍙栨秷浠诲姟")
+ @PostMapping("/task/cancel/{id}")
+ @Transactional
+ public synchronized R cancel(@PathVariable Long id) {
+ Task task = taskService.getById(id);
+ if (task == null) {
+ return R.error("浠诲姟涓嶅瓨鍦�");
+ }
+
+ //鍒涘缓鍘嗗彶妗�
+ TaskLog taskLog = new TaskLog();
+ taskLog.sync(task);
+ taskLog.setUpdateTime(new Date());
+ taskLog.setUpdateBy(getLoginUserId());
+ taskLog.setHostId(null);
+ taskLogService.save(taskLog);
+
+ List<Motion> motions = motionService.list(new LambdaQueryWrapper<Motion>().eq(Motion::getTaskNo, task.getTaskNo()).eq(Motion::getHostId, task.getHostId()));
+ for (Motion motion : motions) {
+ //鍒涘缓鍔ㄤ綔鍘嗗彶妗�
+ MotionLog motionLog = new MotionLog();
+ motionLog.sync(motion);
+ motionLog.setUpdateTime(new Date());
+ motionLogService.save(motionLog);
+ }
+
+ //鍒犻櫎婧愪换鍔�
+ taskService.removeById(task.getId());
+ //鍒犻櫎鍔ㄤ綔
+ motionService.remove(new LambdaQueryWrapper<Motion>().eq(Motion::getTaskNo, task.getTaskNo()).eq(Motion::getHostId, task.getHostId()));
+
+ return R.ok("鍙栨秷鎴愬姛");
+ }
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskLogController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskLogController.java
index fd1731c..47c82d8 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskLogController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskLogController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
import com.zy.asrs.wcs.common.domain.PageParam;
import com.zy.asrs.wcs.core.entity.TaskLog;
import com.zy.asrs.wcs.core.service.TaskLogService;
+import com.zy.asrs.wcs.system.controller.BaseController;
import com.zy.asrs.wcs.utils.ExcelUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -84,10 +85,10 @@
List<KeyValVo> vos = new ArrayList<>();
LambdaQueryWrapper<TaskLog> wrapper = new LambdaQueryWrapper<>();
if (!Cools.isEmpty(condition)) {
- wrapper.like(TaskLog::getName, condition);
+ wrapper.like(TaskLog::getTaskNo, condition);
}
taskLogService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
- item -> vos.add(new KeyValVo(item.getId(), item.getName()))
+ item -> vos.add(new KeyValVo(item.getId(), item.getTaskNo()))
);
return R.ok().add(vos);
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/TaskLog.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/TaskLog.java
index c62a259..cfce319 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/TaskLog.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/TaskLog.java
@@ -1,29 +1,27 @@
package com.zy.asrs.wcs.core.entity;
-import com.baomidou.mybatisplus.annotation.TableLogic;
import java.text.SimpleDateFormat;
import java.util.Date;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.common.utils.Synchro;
+import com.zy.asrs.wcs.core.service.BusService;
+import com.zy.asrs.wcs.core.service.TaskCtgService;
+import com.zy.asrs.wcs.core.service.TaskStsService;
import com.zy.asrs.wcs.system.entity.Host;
import com.zy.asrs.wcs.system.entity.User;
import org.springframework.format.annotation.DateTimeFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
+import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.SpringUtils;
import com.zy.asrs.wcs.system.service.UserService;
import com.zy.asrs.wcs.system.service.HostService;
-
import java.io.Serializable;
-import java.util.Date;
@Data
@TableName("wcs_task_log")
@@ -35,7 +33,7 @@
* ID
*/
@ApiModelProperty(value= "ID")
- @TableId(value = "id", type = IdType.AUTO)
+ @TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
@@ -45,16 +43,10 @@
private String uuid;
/**
- * 鍚嶇О
+ * 鎬荤嚎
*/
- @ApiModelProperty(value= "鍚嶇О")
- private String name;
-
- /**
- * 鏍囪瘑
- */
- @ApiModelProperty(value= "鏍囪瘑")
- private String flag;
+ @ApiModelProperty(value= "鎬荤嚎")
+ private Long busId;
/**
* 浠诲姟鍙�
@@ -63,10 +55,110 @@
private String taskNo;
/**
- * 浠诲姟鏁版嵁
+ * 搴忓垪鍙�
*/
- @ApiModelProperty(value= "浠诲姟鏁版嵁")
- private String taskData;
+ @ApiModelProperty(value= "搴忓垪鍙�")
+ private String serialNum;
+
+ /**
+ * 鏍囬
+ */
+ @ApiModelProperty(value= "鏍囬")
+ private String title;
+
+ /**
+ * 浠诲姟鐘舵��
+ */
+ @ApiModelProperty(value= "浠诲姟鐘舵��")
+ private Long taskSts;
+
+ /**
+ * 浠诲姟绫诲瀷
+ */
+ @ApiModelProperty(value= "浠诲姟绫诲瀷")
+ private Long taskCtg;
+
+ /**
+ * 浼樺厛绾�
+ */
+ @ApiModelProperty(value= "浼樺厛绾�")
+ private Integer priority;
+
+ /**
+ * 璧峰绔�
+ */
+ @ApiModelProperty(value= "璧峰绔�")
+ private String originSite;
+
+ /**
+ * 璧峰搴撲綅
+ */
+ @ApiModelProperty(value= "璧峰搴撲綅")
+ private String originLoc;
+
+ /**
+ * 鐩爣绔�
+ */
+ @ApiModelProperty(value= "鐩爣绔�")
+ private String destSite;
+
+ /**
+ * 鐩爣搴撲綅
+ */
+ @ApiModelProperty(value= "鐩爣搴撲綅")
+ private String destLoc;
+
+ /**
+ * 绌烘墭 1: 鏄� 0: 鍚�
+ */
+ @ApiModelProperty(value= "绌烘墭 1: 鏄� 0: 鍚� ")
+ private Integer emptyMk;
+
+ /**
+ * 鎵樼洏鐮�
+ */
+ @ApiModelProperty(value= "鎵樼洏鐮�")
+ private String zpallet;
+
+ /**
+ * 鐜妭
+ */
+ @ApiModelProperty(value= "鐜妭")
+ private String phase;
+
+ /**
+ * 浠诲姟鏃堕棿
+ */
+ @ApiModelProperty(value= "浠诲姟鏃堕棿")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date ioTime;
+
+ /**
+ * 寮�濮嬫椂闂�
+ */
+ @ApiModelProperty(value= "寮�濮嬫椂闂�")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date startTime;
+
+ /**
+ * 缁撴潫鏃堕棿
+ */
+ @ApiModelProperty(value= "缁撴潫鏃堕棿")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date endTime;
+
+ /**
+ * 寮傚父鏃堕棿
+ */
+ @ApiModelProperty(value= "寮傚父鏃堕棿")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date exceptionTime;
+
+ /**
+ * 寮傚父鎻忚堪
+ */
+ @ApiModelProperty(value= "寮傚父鎻忚堪")
+ private String exceptionDesc;
/**
* 鎵�灞炴満鏋�
@@ -119,14 +211,65 @@
@ApiModelProperty(value= "澶囨敞")
private String memo;
+ /**
+ * 鍥涘悜绌挎杞﹀彿
+ */
+ @ApiModelProperty(value= "鍥涘悜绌挎杞﹀彿")
+ private Integer shuttleNo;
+
+ /**
+ * 鎻愬崌鏈哄彿
+ */
+ @ApiModelProperty(value= "鎻愬崌鏈哄彿")
+ private Integer liftNo;
+
+ /**
+ * 鍫嗗灈鏈哄彿
+ */
+ @ApiModelProperty(value= "鍫嗗灈鏈哄彿")
+ private Integer crnNo;
+
+ /**
+ * RGV鍙�
+ */
+ @ApiModelProperty(value= "RGV鍙�")
+ private Integer rgvNo;
+
+ /**
+ * AGV鍙�
+ */
+ @ApiModelProperty(value= "AGV鍙�")
+ private Integer agvNo;
+
+ /**
+ * 鏄惁璁板綍搴撲綅淇℃伅
+ */
+ @ApiModelProperty(value= "鏄惁璁板綍搴撲綅淇℃伅")
+ private String recordLoc;
+
public TaskLog() {}
- public TaskLog(String uuid,String name,String flag,String taskNo,String taskData,Long hostId,Integer status,Integer deleted,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo) {
+ public TaskLog(String uuid,Long busId,String taskNo,String serialNum,String title,Long taskSts,Long taskCtg,Integer priority,String originSite,String originLoc,String destSite,String destLoc,Integer emptyMk,String zpallet,String phase,Date ioTime,Date startTime,Date endTime,Date exceptionTime,String exceptionDesc,Long hostId,Integer status,Integer deleted,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo,Integer shuttleNo,Integer liftNo,Integer crnNo,Integer rgvNo,Integer agvNo,String recordLoc) {
this.uuid = uuid;
- this.name = name;
- this.flag = flag;
+ this.busId = busId;
this.taskNo = taskNo;
- this.taskData = taskData;
+ this.serialNum = serialNum;
+ this.title = title;
+ this.taskSts = taskSts;
+ this.taskCtg = taskCtg;
+ this.priority = priority;
+ this.originSite = originSite;
+ this.originLoc = originLoc;
+ this.destSite = destSite;
+ this.destLoc = destLoc;
+ this.emptyMk = emptyMk;
+ this.zpallet = zpallet;
+ this.phase = phase;
+ this.ioTime = ioTime;
+ this.startTime = startTime;
+ this.endTime = endTime;
+ this.exceptionTime = exceptionTime;
+ this.exceptionDesc = exceptionDesc;
this.hostId = hostId;
this.status = status;
this.deleted = deleted;
@@ -135,14 +278,35 @@
this.updateTime = updateTime;
this.updateBy = updateBy;
this.memo = memo;
+ this.shuttleNo = shuttleNo;
+ this.liftNo = liftNo;
+ this.crnNo = crnNo;
+ this.rgvNo = rgvNo;
+ this.agvNo = agvNo;
+ this.recordLoc = recordLoc;
}
// TaskLog taskLog = new TaskLog(
// null, // 缂栧彿
-// null, // 鍚嶇О
-// null, // 鏍囪瘑
+// null, // 鎬荤嚎
// null, // 浠诲姟鍙�
-// null, // 浠诲姟鏁版嵁
+// null, // 搴忓垪鍙�
+// null, // 鏍囬
+// null, // 浠诲姟鐘舵��
+// null, // 浠诲姟绫诲瀷
+// null, // 浼樺厛绾�
+// null, // 璧峰绔�
+// null, // 璧峰搴撲綅
+// null, // 鐩爣绔�
+// null, // 鐩爣搴撲綅
+// null, // 绌烘墭
+// null, // 鎵樼洏鐮�
+// null, // 鐜妭
+// null, // 浠诲姟鏃堕棿
+// null, // 寮�濮嬫椂闂�
+// null, // 缁撴潫鏃堕棿
+// null, // 寮傚父鏃堕棿
+// null, // 寮傚父鎻忚堪
// null, // 鎵�灞炴満鏋�
// null, // 鐘舵��
// null, // 鏄惁鍒犻櫎
@@ -150,8 +314,83 @@
// null, // 娣诲姞浜哄憳
// null, // 淇敼鏃堕棿
// null, // 淇敼浜哄憳
-// null // 澶囨敞
+// null, // 澶囨敞
+// null, // 鍥涘悜绌挎杞﹀彿
+// null, // 鎻愬崌鏈哄彿
+// null, // 鍫嗗灈鏈哄彿
+// null, // RGV鍙�
+// null, // AGV鍙�
+// null // 鏄惁璁板綍搴撲綅淇℃伅
// );
+
+ public String getBusId$(){
+ BusService service = SpringUtils.getBean(BusService.class);
+ Bus bus = service.getById(this.busId);
+ if (!Cools.isEmpty(bus)){
+ return String.valueOf(bus.getUuid());
+ }
+ return null;
+ }
+
+ public String getTaskSts$(){
+ TaskStsService service = SpringUtils.getBean(TaskStsService.class);
+ TaskSts taskSts = service.getOne(new LambdaQueryWrapper<TaskSts>()
+ .eq(TaskSts::getUuid, String.valueOf(this.taskSts))
+ .eq(TaskSts::getHostId, this.hostId));
+ if (!Cools.isEmpty(taskSts)){
+ return String.valueOf(taskSts.getName());
+ }
+ return null;
+ }
+
+ public String getTaskCtg$(){
+ TaskCtgService service = SpringUtils.getBean(TaskCtgService.class);
+ TaskCtg taskCtg = service.getById(this.taskCtg);
+ if (!Cools.isEmpty(taskCtg)){
+ return String.valueOf(taskCtg.getName());
+ }
+ return null;
+ }
+
+ public String getEmptyMk$(){
+ if (null == this.emptyMk){ return null; }
+ switch (this.emptyMk){
+ case 1:
+ return "鏄�";
+ case 0:
+ return "鍚�";
+ default:
+ return String.valueOf(this.emptyMk);
+ }
+ }
+
+ public String getIoTime$(){
+ if (Cools.isEmpty(this.ioTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime);
+ }
+
+ public String getStartTime$(){
+ if (Cools.isEmpty(this.startTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.startTime);
+ }
+
+ public String getEndTime$(){
+ if (Cools.isEmpty(this.endTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.endTime);
+ }
+
+ public String getExceptionTime$(){
+ if (Cools.isEmpty(this.exceptionTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.exceptionTime);
+ }
public String getHostId$(){
HostService service = SpringUtils.getBean(HostService.class);
@@ -218,5 +457,8 @@
return null;
}
+ public void sync(Object source) {
+ Synchro.Copy(source, this);
+ }
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java
index 63f990f..19c3150 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java
@@ -87,12 +87,9 @@
@Transactional
public void saveTaskLog(Task task) {
//鍒涘缓鍘嗗彶妗�
- Date date = new Date();
TaskLog taskLog = new TaskLog();
- taskLog.setTaskNo(task.getTaskNo());
- taskLog.setTaskData(JSON.toJSONString(task));
- taskLog.setCreateTime(date);
- taskLog.setUpdateTime(date);
+ taskLog.sync(task);
+ taskLog.setUpdateTime(new Date());
taskLogService.save(taskLog);
List<Motion> motions = motionService.list(new LambdaQueryWrapper<Motion>().eq(Motion::getTaskNo, task.getTaskNo()).eq(Motion::getHostId, task.getHostId()));
--
Gitblit v1.9.1