1
huangxiaoqiang
2025-11-10 8f7e6826d51a25c7b368c210dbb321d423d24a85
1
已添加9个文件
已修改43个文件
1206 ■■■■■ 文件已修改
项目代码/PDA/pages.json 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/PDA/pages/index/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/PDA/pages/task/ControlConveyorLine.vue 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/Print/Print/.vs/Print/v17/DocumentLayout.backup.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/Print/Print/.vs/Print/v17/DocumentLayout.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/extension/system/Sys_Log.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/Index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/Login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/system/Sys_Log.vue 126 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json 144 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json 161 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Elevator/CommonElevator.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceInfoService.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceInfoController.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/CommonAGVJob.cs 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/InboundOrder/PrintPalletCode.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock_Hty.jsx 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/extend/Remark.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_WareAreaInfo.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_Task.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/WMS/WMSTaskDTO.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_WareAreaInfo.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderService.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderService.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/PDA/pages.json
@@ -55,6 +55,12 @@
                "enablePullDownRefresh": false
            }
        },{
            "path": "pages/task/ControlConveyorLine",
            "style": {
                "navigationBarTitleText": "输送线控制",
                "enablePullDownRefresh": false
            }
        },{
            "path": "pages/Production/ProductionOutboundOrder",
            "style": {
                "navigationBarTitleText": "生产领料单",
ÏîÄ¿´úÂë/PDA/pages/index/index.vue
@@ -118,7 +118,7 @@
            AndroidCheckUpdate: function() {
                var _this = this;
                uni.request({
                    url: 'http://192.168.30.250:5000/api/PDA/GetPDAVersion?version=' + this.version,
                    url: 'http://10.31.3.252:5000/api/PDA/GetPDAVersion?version=' + this.version,
                    method: 'GET',
                    data: {},
                    success: res => {
@@ -131,7 +131,7 @@
                                icon: "none"
                            });
                            var dtask = plus.downloader.createDownload(
                                "http://192.168.30.250:5000/api/PDA/DownLoadApp", {},
                                "http://10.31.3.252:5000/api/PDA/DownLoadApp", {},
                                function(d, status) {
                                    // ä¸‹è½½å®Œæˆ 
                                    if (status == 200) {
ÏîÄ¿´úÂë/PDA/pages/task/ControlConveyorLine.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,127 @@
<template>
    <view>
        <button type="primary" @click="cancelTask(9990)">向左</button>
        <view style="margin-top: 50px;"></view>
        <button type="primary" @click="cancelTask(9999)">向右</button>
        <u-toast ref="uToast" />
    </view>
</template>
<script>
    export default {
        data() {
            return {}
        },
        onLoad(res) {},
        methods: {
            cancelTask: function(num) {
                uni.request({
                    url: 'http://10.31.3.252:9291/api/DeviceInfo/ControlConveyorLine?num=' + num,
                    method: 'POST',
                    data: {},
                    success: res => {
                        if (res.status) {
                            this.$refs.uToast.show({
                                title: res.message,
                                type: "success"
                            });
                        }
                    },
                    fail: () => {
                        this.$refs.uToast.show({
                            title: "取消失败" + res.message,
                            type: "error"
                        });
                    }
                });
            },
        }
    }
</script>
<style lang="scss">
    @import '@/common/uni-ui.scss';
    page {
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
        background-color: #efeff4;
        min-height: 100%;
        height: auto;
    }
    .tips {
        color: #67c23a;
        font-size: 14px;
        line-height: 40px;
        text-align: center;
        background-color: #f0f9eb;
        height: 0;
        opacity: 0;
        transform: translateY(-100%);
        transition: all 0.3s;
    }
    .tips-ani {
        transform: translateY(0);
        height: 40px;
        opacity: 1;
    }
    .content {
        width: 100%;
        display: flex;
    }
    .list-picture {
        width: 100%;
        height: 145px;
    }
    .thumb-image {
        width: 100%;
        height: 100%;
    }
    .ellipsis {
        display: flex;
        overflow: hidden;
    }
    .uni-ellipsis-1 {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    .uni-ellipsis-2 {
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }
    .customcss {
        width: 100%;
        height: 140rpx;
        text-align: center;
        position: fixed;
        /*1、【relative】相对定位;2、【absolute】绝对定位;3、【fixed】固定定位;4、【static】默认值;5、【sticky】粘性定位。*/
        left: 0px;
        /*定位:离页面左边0px的位置*/
        bottom: 0px;
        /*定位:离页面底部0px的位置*/
        padding-top: 20rpx;
    }
    .footer {
        // padding-top: 20%;
        padding-bottom: 72px;
        background-color: #f1f3f4;
    }
</style>
ÏîÄ¿´úÂë/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm
Binary files differ
ÏîÄ¿´úÂë/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal
Binary files differ
ÏîÄ¿´úÂë/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm
Binary files differ
ÏîÄ¿´úÂë/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal
Binary files differ
ÏîÄ¿´úÂë/Print/Print/.vs/Print/v17/DocumentLayout.backup.json
@@ -28,7 +28,7 @@
              "RelativeDocumentMoniker": "Print\\Controllers\\PrintController.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Controllers\\PrintController.cs",
              "RelativeToolTip": "Print\\Controllers\\PrintController.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAABIAAAAAAAAAA==",
              "ViewState": "AgIAAGMAAAAAAAAAAAAAAGAAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-10-27T13:23:53.618Z",
              "EditorCaption": ""
ÏîÄ¿´úÂë/Print/Print/.vs/Print/v17/DocumentLayout.json
@@ -28,7 +28,7 @@
              "RelativeDocumentMoniker": "Print\\Controllers\\PrintController.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Controllers\\PrintController.cs",
              "RelativeToolTip": "Print\\Controllers\\PrintController.cs",
              "ViewState": "AgIAAGMAAAAAAAAAAAAAAGAAAAAIAAAAAAAAAA==",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAGAAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-10-27T13:23:53.618Z",
              "EditorCaption": ""
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/extension/system/Sys_Log.js
@@ -19,7 +19,7 @@
      this.setFiexdSearchForm(true);
    },
    onInited() {
      this.height = this.height - 170;
      this.height = this.height - 10;
    }
  }
};
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/Index.vue
@@ -14,7 +14,7 @@
    </div>
    <div class="vol-container" :style="{ left: menuWidth - 1 + 'px' }">
      <div class="vol-header">
        <div class="project-name">WCS</div>
        <div class="project-name">明和WCS</div>
        <div class="header-text">
          <!-- <div class="h-link">
            <a
@@ -523,7 +523,7 @@
        const { startSignalr } = useSignalr()
        startSignalr()
        //当前刷新是不是首页
        if (router.currentRoute.value.path != navigation[0].path) {
          //查找系统菜单
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/Login.vue
@@ -1,6 +1,6 @@
<template>
  <div class="login-container">
    <div class="project-name">WIDESEA_WMS</div>
    <div class="project-name">明和智能装备有限公司</div>
    <div class="login-form">
      <div class="form-user" @keypress="loginPress">
        <div class="login-text">
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/system/Sys_Log.vue
@@ -5,66 +5,74 @@
 *业务请在@/extension/system/Sys_Log.js此处编写
 -->
<template>
    <view-grid ref="grid"
               :columns="columns"
               :detail="detail"
               :editFormFields="editFormFields"
               :editFormOptions="editFormOptions"
               :searchFormFields="searchFormFields"
               :searchFormOptions="searchFormOptions"
               :table="table"
               :extend="extend">
    <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
        :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
        :table="table" :extend="extend">
    </view-grid>
</template>
<script>
    import extend from "@/extension/system/Sys_Log.js";
    import { ref, defineComponent } from "vue";
    export default defineComponent({
        setup() {
            const table = ref({
                key: 'Id',
                footer: "Foots",
                cnName: '系统日志',
                name: 'Sys_Log',
                url: "/Sys_Log/",
                sortName: "Id"
            });
            const editFormFields = ref({});
            const editFormOptions = ref([]);
            const searchFormFields = ref({"BeginDate":"","Url":"","LogType":[],"Success":[],"UserIP":"","ServiceIP":"","Role_Id":""});
            const searchFormOptions = ref([[{"title":"请求地址","field":"Url","type":"text"},{"title":"用户IP","field":"UserIP","type":"text"},{"title":"服务器IP","field":"ServiceIP","type":"text"}],[{"title":"开始时间","field":"BeginDate","type":"datetime"},{"dataKey":"restatus","data":[],"title":"响应状态","field":"Success","type":"selectList"},{"dataKey":"roles","data":[],"title":"角色ID","field":"Role_Id","type":"select"}],[{"dataKey":"log","data":[],"title":"日志类型","field":"LogType","colSize":12,"type":"checkbox"}]]);
            const columns = ref([{field:'Id',title:'Id',type:'int',width:90,hidden:true,readonly:true,require:true,align:'left'},
                       {field:'BeginDate',title:'开始时间',type:'datetime',width:140,align:'left',sortable:true},
                       {field:'UserName',title:'用户名称',type:'string',width:90,align:'left'},
                       {field:'Url',title:'请求地址',type:'string',width:110,align:'left'},
                       {field:'LogType',title:'日志类型',type:'string',bind:{ key:'log',data:[]},width:80,align:'left'},
                       {field:'Success',title:'响应状态',type:'int',bind:{ key:'restatus',data:[]},width:80,align:'left'},
                       {field:'ElapsedTime',title:'时长',type:'int',width:60,align:'left'},
                       {field:'RequestParameter',title:'请求参数',type:'string',width:70,align:'left'},
                       {field:'ResponseParameter',title:'响应参数',type:'string',width:70,align:'left'},
                       {field:'ExceptionInfo',title:'异常信息',type:'string',width:70,align:'left'},
                       {field:'UserIP',title:'用户IP',type:'string',width:90,align:'left'},
                       {field:'ServiceIP',title:'服务器IP',type:'string',width:90,hidden:true,align:'left'},
                       {field:'BrowserType',title:'浏览器类型',type:'string',width:90,align:'left'},
                       {field:'User_Id',title:'用户ID',type:'int',width:90,hidden:true,align:'left'},
                       {field:'Role_Id',title:'角色ID',type:'int',bind:{ key:'roles',data:[]},width:90,hidden:true,align:'left'},
                       {field:'EndDate',title:'结束时间',type:'datetime',width:150,hidden:true,align:'left',sortable:true}]);
            const detail = ref({
                cnName: "#detailCnName",
                columns: [],
                sortName: "",
                key: ""
            });
            return {
                table,
                extend,
                editFormFields,
                editFormOptions,
                searchFormFields,
                searchFormOptions,
                columns,
                detail,
            };
        },
    });
import extend from "@/extension/system/Sys_Log.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
    setup() {
        const table = ref({
            key: 'Id',
            footer: "Foots",
            cnName: '系统日志',
            name: 'Sys_Log',
            url: "/Sys_Log/",
            sortName: "Id"
        });
        const editFormFields = ref({});
        const editFormOptions = ref([]);
        const searchFormFields = ref({ "BeginDate": "", "Url": "", "LogType": [], "Success": [], "UserIP": "", "ServiceIP": "", "Role_Id": "" });
        const searchFormOptions = ref([
            [
                { "title": "请求地址", "field": "Url", "type": "text" },
                { "title": "用户IP", "field": "UserIP", "type": "text" },
                { "title": "服务器IP", "field": "ServiceIP", "type": "text" }
            ],
            [
                { "title": "开始时间", "field": "BeginDate", "type": "datetime" },
                { "dataKey": "restatus", "data": [], "title": "响应状态", "field": "Success", "type": "selectList" },
                { "dataKey": "roles", "data": [], "title": "角色ID", "field": "Role_Id", "type": "select" }
            ],
            [
                // { "dataKey": "log", "data": [], "title": "日志类型", "field": "LogType", "colSize": 12, "type": "checkbox" }
            ]
        ]);
        const columns = ref([{ field: 'Id', title: 'Id', type: 'int', width: 90, hidden: true, readonly: true, require: true, align: 'left' },
        { field: 'beginDate', title: '开始时间', type: 'datetime', width: 110, align: 'left', sortable: true },
        { field: 'userName', title: '用户名称', type: 'string', width: 50, align: 'left' },
        { field: 'url', title: '请求地址', type: 'string', width: 180, align: 'left' },
        { field: 'logType', title: '日志类型', type: 'string', bind: { key: 'log', data: [] }, width: 80, align: 'left', hidden: true },
        { field: 'success', title: '响应状态', type: 'int', bind: { key: 'restatus', data: [] }, width: 80, align: 'left', hidden: true },
        { field: 'elapsedTime', title: '时长', type: 'int', width: 40, align: 'left' },
        { field: 'requestParam', title: '请求参数', type: 'string', width: 120, align: 'left' },
        { field: 'responseParam', title: '响应参数', type: 'string', width: 120, align: 'left' },
        { field: 'exceptionInfo', title: '异常信息', type: 'string', width: 70, align: 'left', hidden: true },
        { field: 'userIP', title: '用户IP', type: 'string', width: 90, align: 'left' },
        { field: 'serviceIP', title: '服务器IP', type: 'string', width: 90, hidden: true, align: 'left' },
        { field: 'browserType', title: '浏览器类型', type: 'string', width: 90, align: 'left', hidden: true },
        { field: 'user_Id', title: '用户ID', type: 'int', width: 90, hidden: true, align: 'left' },
        { field: 'role_Id', title: '角色ID', type: 'int', bind: { key: 'roles', data: [] }, width: 90, hidden: true, align: 'left' },
        { field: 'endDate', title: '结束时间', type: 'datetime', width: 150, hidden: true, align: 'left', sortable: true }]);
        const detail = ref({
            cnName: "#detailCnName",
            columns: [],
            sortName: "",
            key: ""
        });
        return {
            table,
            extend,
            editFormFields,
            editFormOptions,
            searchFormFields,
            searchFormOptions,
            columns,
            detail,
        };
    },
});
</script>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/vue.config.js
@@ -31,7 +31,7 @@
    config.plugins.delete('prefetch');
    //自下定义title
    config.plugin('html').tap((args) => {
      args[0].title = 'WCS';
      args[0].title = '明和WCS';
      return args;
    });
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json
@@ -3,32 +3,52 @@
  "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\elevator\\commonelevator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\elevator\\commonelevator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\agv\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\elevatorjob\\commonelevatorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\elevatorjob\\commonelevatorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\agv\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\elevatorjob\\commonelevatorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\elevatorjob\\commonelevatorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
@@ -47,19 +67,45 @@
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "IDeviceInfoService.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
              "ViewState": "AgIAABEAAAAAAAAAAAAswCUAAAA4AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-10T00:47:45.963Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "DeviceInfoService.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "ViewState": "AgIAADkAAAAAAAAAAAAzwE4AAAAQAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-10T00:41:59.871Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "TaskService.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAEwAAABBAAAAAAAAAA==",
              "ViewState": "AgIAAMABAAAAAAAAAAAjwLMBAAAiAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-09-25T03:21:17.498Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "DocumentIndex": 12,
              "Title": "appsettings.json",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
@@ -71,19 +117,20 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "DocumentIndex": 6,
              "Title": "CommonStackerCraneJob.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAF0AAAA6AAAAAAAAAA==",
              "ViewState": "AgIAAPMAAAAAAAAAAAAQwAUBAABvAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-10-08T02:55:34.719Z"
              "WhenOpened": "2025-10-08T02:55:34.719Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "DocumentIndex": 5,
              "Title": "CommonConveyorLineJob.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
@@ -91,11 +138,51 @@
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ViewState": "AgIAAFQAAAAAAAAAAADwv2gAAAAeAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-10-09T03:25:18.917Z"
              "WhenOpened": "2025-10-09T03:25:18.917Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "DocumentIndex": 3,
              "Title": "CommonAGVJob.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "ViewState": "AgIAANYAAAAAAAAAAAAjwOsAAAAzAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-10-09T05:11:29.775Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "CommonElevator.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Elevator\\CommonElevator.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Elevator\\CommonElevator.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Elevator\\CommonElevator.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Elevator\\CommonElevator.cs",
              "ViewState": "AgIAAMUAAAAAAAAAAAAhwNUAAAAMAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-10T01:43:51.17Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "CommonConveyorLine.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAACQAAAAYAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-10T01:43:55.501Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "TaskController.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
@@ -107,19 +194,20 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "CommonAGVJob.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "ViewState": "AgIAADwAAAAAAAAAAAAIwEoAAABOAAAAAAAAAA==",
              "DocumentIndex": 8,
              "Title": "DeviceInfoController.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
              "ViewState": "AgIAAAgAAAAAAAAAAAAswB0AAAAaAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-10-09T05:11:29.775Z"
              "WhenOpened": "2025-11-10T00:47:53.872Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "DocumentIndex": 11,
              "Title": "CommonElevatorJob.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ElevatorJob\\CommonElevatorJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ElevatorJob\\CommonElevatorJob.cs",
@@ -131,7 +219,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "DocumentIndex": 10,
              "Title": "AGVSignal.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs",
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
@@ -7,24 +7,48 @@
      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_dto\\taskinfo\\wmstaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{C2D3D138-9109-481B-8BEB-A27597890B2C}|WIDESEAWCS_DTO\\WIDESEAWCS_DTO.csproj|solutionrelative:wideseawcs_dto\\taskinfo\\wmstaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\ideviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\elevator\\commonelevator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\elevator\\commonelevator.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\agv\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\conveyorline\\commonconveyorline.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\commonconveyorlinejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\stackercranejob\\commonstackercranejob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\quartzjob\\deviceinfocontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\agv\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\agvsignal.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\elevatorjob\\commonelevatorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -42,8 +66,47 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 0,
          "SelectedChildIndex": 3,
          "Children": [
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "WMSTaskDTO.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs*",
              "RelativeToolTip": "WIDESEAWCS_DTO\\TaskInfo\\WMSTaskDTO.cs*",
              "ViewState": "AgIAAC4AAAAAAAAAAAAgwD8AAAAbAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-10T05:29:17.821Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "IDeviceInfoService.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\IDeviceInfoService.cs",
              "ViewState": "AgIAABEAAAAAAAAAAAAswCUAAAA4AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-10T00:47:45.963Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "DeviceInfoService.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "ViewState": "AgIAADkAAAAAAAAAAAAzwE4AAAAQAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-10T00:41:59.871Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
@@ -52,14 +115,14 @@
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAEwAAABBAAAAAAAAAA==",
              "ViewState": "AgIAAPUAAAAAAAAAAADwvwwBAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-09-25T03:21:17.498Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "DocumentIndex": 13,
              "Title": "appsettings.json",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json",
@@ -71,19 +134,20 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "DocumentIndex": 7,
              "Title": "CommonStackerCraneJob.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAF0AAAA6AAAAAAAAAA==",
              "ViewState": "AgIAAPMAAAAAAAAAAAAQwAUBAABvAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-10-08T02:55:34.719Z"
              "WhenOpened": "2025-10-08T02:55:34.719Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "DocumentIndex": 6,
              "Title": "CommonConveyorLineJob.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
@@ -91,11 +155,51 @@
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ViewState": "AgIAAFQAAAAAAAAAAADwv2gAAAAeAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-10-09T03:25:18.917Z"
              "WhenOpened": "2025-10-09T03:25:18.917Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "DocumentIndex": 4,
              "Title": "CommonAGVJob.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "ViewState": "AgIAANYAAAAAAAAAAAAjwOsAAAAzAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-10-09T05:11:29.775Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "CommonElevator.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Elevator\\CommonElevator.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Elevator\\CommonElevator.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Elevator\\CommonElevator.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Elevator\\CommonElevator.cs",
              "ViewState": "AgIAAMUAAAAAAAAAAAAhwNUAAAAMAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-10T01:43:51.17Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "CommonConveyorLine.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\ConveyorLine\\CommonConveyorLine.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAACQAAAAYAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-10T01:43:55.501Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "TaskController.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
@@ -103,25 +207,24 @@
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ViewState": "AgIAACQAAAAAAAAAAADgvzQAAAAhAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-10-10T06:49:30.021Z",
              "EditorCaption": ""
              "WhenOpened": "2025-10-10T06:49:30.021Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "CommonAGVJob.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "ViewState": "AgIAAK8AAAAAAAAAAAAUwMEAAABjAAAAAAAAAA==",
              "DocumentIndex": 9,
              "Title": "DeviceInfoController.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\QuartzJob\\DeviceInfoController.cs",
              "ViewState": "AgIAAAgAAAAAAAAAAAAswB0AAAAaAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-10-09T05:11:29.775Z",
              "WhenOpened": "2025-11-10T00:47:53.872Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "DocumentIndex": 12,
              "Title": "CommonElevatorJob.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ElevatorJob\\CommonElevatorJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ElevatorJob\\CommonElevatorJob.cs",
@@ -133,7 +236,7 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "DocumentIndex": 11,
              "Title": "AGVSignal.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\AGVSignal.cs",
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs
@@ -61,5 +61,6 @@
        public string Remark { get; set; }
        public string Floor { get; set; }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Elevator/CommonElevator.cs
@@ -1,6 +1,7 @@
using HslCommunication;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -14,6 +15,7 @@
    /// <summary>
    /// å…¶ä»–设备实现对象
    /// </summary>
    [Description("提升机")]
    public class CommonElevator : ICommonElevator
    {
        #region Private Member
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs
@@ -69,5 +69,24 @@
            List<Dt_DeviceInfo> deviceInfos = await Db.Queryable<Dt_DeviceInfo>().Where(x => x.DeviceStatus == ((int)DeviceStatusEnum.Enable).ToString()).Includes(x => x.ProtocolList).ToListAsync();
            return _mapper.Map<List<DeviceInfoDTO>>(deviceInfos);
        }
        public WebResponseContent ControlConveyorLine(int num)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                CommonConveyorLine? conveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "1001") as CommonConveyorLine;
                if (conveyorLine != null)
                {
                    conveyorLine.Communicator.WriteNoRead("DB100.0", num);
                    return content.OK("成功");
                }
                return content.Error("失败");
            }
            catch (Exception ex)
            {
                return content.Error(ex.Message);
            }
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceInfoService.cs
@@ -34,5 +34,7 @@
        /// </summary>
        /// <returns>返回设备信息以及对应协议信息的集合。</returns>
        Task<List<DeviceInfoDTO>> QueryDeviceProInfos();
        WebResponseContent ControlConveyorLine(int num);
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceInfoController.cs
@@ -26,5 +26,11 @@
        {
            return await Service.QueryDeviceProInfos();
        }
        [HttpPost,HttpGet, Route("ControlConveyorLine"), AllowAnonymous]
        public WebResponseContent ControlConveyorLine(int num)
        {
            return Service.ControlConveyorLine(num);
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -3,6 +3,7 @@
using LogLibrary.Log;
using Mapster;
using Newtonsoft.Json;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
using SqlSugar;
using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
@@ -123,28 +124,23 @@
                            task.NextAddress = station.stationChildCode;
                            task.Floor = "1F";
                            task.Floor = item.Floor;
                            task.AGVSign = "";
                        }
                        else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.AcrossFloorGroup)
                        {
                            var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == item.SourceAddress);
                            var next = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == item.Floor);
                            if (station != null)
                            {
                                var next = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == station.stationFloor);
                            task.TaskState = (int)TaskAcrossFloorStatusEnum.CarryNew;
                                task.TaskState = (int)TaskAcrossFloorStatusEnum.CarryNew;
                            task.CurrentAddress = item.SourceAddress;
                                task.CurrentAddress = item.SourceAddress;
                            task.NextAddress = next.stationChildCode;
                                task.NextAddress = next.stationChildCode;
                            task.Floor = item.Floor;
                                task.Floor = station.stationFloor;
                                task.AGVSign = "";
                            }
                            task.AGVSign = "";
                        }
                        else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
                        {
@@ -180,22 +176,17 @@
                        }
                        else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.AcrossFloorGroup)
                        {
                            var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == item.SourceAddress);
                            var next = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == item.Floor);
                            if (station != null)
                            {
                                var next = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == station.stationFloor);
                            task.TaskState = (int)TaskAcrossFloorStatusEnum.CarryNew;
                                task.TaskState = (int)TaskAcrossFloorStatusEnum.CarryNew;
                            task.CurrentAddress = item.SourceAddress;
                                task.CurrentAddress = item.SourceAddress;
                            task.NextAddress = next.stationChildCode;
                                task.NextAddress = next.stationChildCode;
                            task.Floor = item.Floor;
                                task.Floor = station.stationFloor;
                                task.AGVSign = "";
                            }
                            task.AGVSign = "";
                        }
                        else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
                        {
@@ -230,26 +221,20 @@
                        }
                        else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.AcrossFloorGroup)
                        {
                            var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == item.SourceAddress);
                            var next = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == item.Floor);
                            if (station != null)
                            {
                                var next = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == station.stationFloor);
                            task.TaskState = (int)TaskAcrossFloorStatusEnum.CarryNew;
                                task.TaskState = (int)TaskAcrossFloorStatusEnum.CarryNew;
                            task.CurrentAddress = item.SourceAddress;
                                task.CurrentAddress = item.SourceAddress;
                            task.NextAddress = next.stationChildCode;
                                task.NextAddress = next.stationChildCode;
                            task.Floor = item.Floor;
                                task.Floor = station.stationFloor;
                                task.AGVSign = "";
                            }
                            task.AGVSign = "";
                        }
                        else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup)
                        {
                            var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == item.SourceAddress);
                            task.TaskState = (int)TaskAGVCarryStatusEnum.CarryNew;
@@ -257,7 +242,7 @@
                            task.NextAddress = task.TargetAddress;
                            task.Floor = station.stationFloor;
                            task.Floor = item.Floor;
                            task.AGVSign = "";
                        }
@@ -267,23 +252,19 @@
                    {
                        if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.AcrossFloorGroup)
                        {
                            var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == item.SourceAddress);
                            var next = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == item.Floor);
                            if (station != null)
                            {
                                var next = _stationManagerRepository.QueryFirst(x => x.stationType == 5 && x.stationFloor == station.stationFloor);
                            task.TaskState = (int)TaskAcrossFloorStatusEnum.CarryNew;
                                task.TaskState = (int)TaskAcrossFloorStatusEnum.CarryNew;
                            task.CurrentAddress = item.SourceAddress;
                                task.CurrentAddress = item.SourceAddress;
                            task.NextAddress = next.stationChildCode;
                                task.NextAddress = next.stationChildCode;
                            task.Floor = item.Floor;
                                task.Floor = station.stationFloor;
                                task.AGVSign = "";
                            }
                            task.AGVSign = "";
                        }
                    }
                    // å°†è½¬æ¢åŽçš„任务添加到任务列表中
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVSignal.cs
@@ -161,8 +161,6 @@
                    {
                        elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1);
                    }
                    //task.TaskState = (int)TaskAcrossFloorStatusEnum.EndAddressExecuting;
                    //_taskRepository.UpdateData(task);
                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
                }
                
@@ -170,8 +168,6 @@
                if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup)
                {
                    commonConveyorLine.SetValue(ConveyorLineDBName.PickUpFinish, 1, "LK001");
                    //task.TaskState = (int)TaskOutStatusEnum.AGV_OutExecuting;
                    //_taskRepository.UpdateData(task);
                    _taskService.UpdateTaskStatusToNext(task.TaskNum);
                    content.OK();
                }
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/CommonAGVJob.cs
@@ -46,6 +46,7 @@
                foreach (var item in RelocationTask)
                {
                    AGVSendTask(item);
                    _taskService.UpdateTaskStatusToNext(item.TaskNum);
                }
            }
@@ -61,32 +62,32 @@
                    {
                        if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.Model) == 1)
                        {
                            Relocation(AcrossFloorTask);
                            if (AcrossFloorTask.Floor == "1F")
                            if (Relocation(AcrossFloorTask))
                            {
                                elevator.SetValue(ElevatorDBName.FlagBit, Convert.ToInt16(1));
                                elevator.SetValue(ElevatorDBName.StartFloor, Convert.ToInt16(1));
                                elevator.SetValue(ElevatorDBName.EdnFloor, Convert.ToInt16(2));
                                Thread.Sleep(1000);
                                elevator.SetValue(ElevatorDBName.StartCommand, Convert.ToInt16(1));
                                if (AcrossFloorTask.Floor == "1F")
                                {
                                    elevator.SetValue(ElevatorDBName.TaskNum, Convert.ToInt16(AcrossFloorTask.TaskNum));
                                    elevator.SetValue(ElevatorDBName.FlagBit, Convert.ToInt16(1));
                                    elevator.SetValue(ElevatorDBName.StartFloor, Convert.ToInt16(1));
                                    elevator.SetValue(ElevatorDBName.EdnFloor, Convert.ToInt16(2));
                                    Thread.Sleep(1000);
                                    elevator.SetValue(ElevatorDBName.StartCommand, Convert.ToInt16(1));
                                _taskService.SendAgvTask("AAA", AcrossFloorTask.TaskNum);
                                //AcrossFloorTask.TaskState = (int)TaskAcrossFloorStatusEnum.FirstCarry;
                                //_taskRepository.UpdateData(AcrossFloorTask);
                                _taskService.UpdateTaskStatusToNext(AcrossFloorTask.TaskNum);
                            }
                            else
                            {
                                elevator.SetValue(ElevatorDBName.FlagBit, Convert.ToInt16(1));
                                elevator.SetValue(ElevatorDBName.StartFloor, Convert.ToInt16(2));
                                elevator.SetValue(ElevatorDBName.EdnFloor, Convert.ToInt16(1));
                                Thread.Sleep(1000);
                                elevator.SetValue(ElevatorDBName.StartCommand, Convert.ToInt16(1));
                                    _taskService.SendAgvTask("AAA", AcrossFloorTask.TaskNum);
                                    _taskService.UpdateTaskStatusToNext(AcrossFloorTask.TaskNum);
                                }
                                else
                                {
                                    elevator.SetValue(ElevatorDBName.TaskNum, Convert.ToInt16(AcrossFloorTask.TaskNum));
                                    elevator.SetValue(ElevatorDBName.FlagBit, Convert.ToInt16(1));
                                    elevator.SetValue(ElevatorDBName.StartFloor, Convert.ToInt16(2));
                                    elevator.SetValue(ElevatorDBName.EdnFloor, Convert.ToInt16(1));
                                    Thread.Sleep(1000);
                                    elevator.SetValue(ElevatorDBName.StartCommand, Convert.ToInt16(1));
                                _taskService.SendAgvTask("DDD", AcrossFloorTask.TaskNum);
                                //AcrossFloorTask.TaskState = (int)TaskAcrossFloorStatusEnum.FirstCarry;
                                //_taskRepository.UpdateData(AcrossFloorTask);
                                _taskService.UpdateTaskStatusToNext(AcrossFloorTask.TaskNum);
                                    _taskService.SendAgvTask("DDD", AcrossFloorTask.TaskNum);
                                    _taskService.UpdateTaskStatusToNext(AcrossFloorTask.TaskNum);
                                }
                            }
                        }
                    }
@@ -102,6 +103,7 @@
            {
                Relocation(Carry);
                AGVSendTask(Carry);
                _taskService.UpdateTaskStatusToNext(Carry.TaskNum);
            }
            #endregion
@@ -113,31 +115,30 @@
                CommonConveyorLine? conveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "1001") as CommonConveyorLine;
                var OutTask = _taskRepository.QueryFirst(x => x.TaskState >= (int)TaskOutStatusEnum.OutNew && x.TaskState < (int)TaskOutStatusEnum.AGV_OutExecuting);
                var task = _taskRepository.QueryFirst(x => x.TaskState > (int)TaskInStatusEnum.InNew && x.TaskState < (int)TaskInStatusEnum.SC_InFinish);
                if (OutTask == null)
                if (OutTask == null && task == null)
                {
                    if (conveyorLine != null)
                    {
                        short InteractiveSignal = conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.InteractiveSignal, "LK001");
                        var structs = BitConverter.GetBytes(InteractiveSignal).Reverse().ToArray().ToBoolArray();
                        if ((task != null && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting && !structs[1]) || task == null)
                        bool IsWrite = false;
                        if (structs[0] && !structs[1])
                        {
                            bool IsWrite = false;
                            if (structs[0] && !structs[1])
                            IsWrite = conveyorLine.Communicator.WriteNoRead("DB100.0", Convert.ToInt32(0));
                            Thread.Sleep(1000);
                            IsWrite = conveyorLine.Communicator.WriteNoRead("DB100.0", Convert.ToInt32(9999));
                            if (!IsWrite)
                            {
                                IsWrite = conveyorLine.Communicator.WriteNoRead("DB100.0", Convert.ToInt32(0));
                                Thread.Sleep(1000);
                                IsWrite = conveyorLine.Communicator.WriteNoRead("DB100.0", Convert.ToInt32(9999));
                                if (!IsWrite)
                                {
                                    return Task.CompletedTask;
                                }
                                Relocation(InTask);
                                _taskService.SendAgvTask("LIFANG", InTask.TaskNum);
                                _taskService.UpdateTaskStatusToNext(InTask.TaskNum);
                                return Task.CompletedTask;
                            }
                            Relocation(InTask);
                            _taskService.SendAgvTask("LIFANG", InTask.TaskNum);
                            _taskService.UpdateTaskStatusToNext(InTask.TaskNum);
                        }
                    }
                }
            }
@@ -152,25 +153,19 @@
            if (task.SourceAddress.Contains("XB001") || task.TargetAddress.Contains("XB001"))
            {
                _taskService.SendAgvTask("cattleCarry1", task.TaskNum);
                task.TaskState = (int)TaskAGVCarryStatusEnum.AGV_CarryExecuting;
                _taskRepository.UpdateData(task);
            }
            else if (task.Floor == "1F")
            {
                _taskService.SendAgvTask("forkAutoTemplate1", task.TaskNum);
                task.TaskState = (int)TaskAGVCarryStatusEnum.AGV_CarryExecuting;
                _taskRepository.UpdateData(task);
            }
            else
            {
                _taskService.SendAgvTask("cattleCarry1", task.TaskNum);
                task.TaskState = (int)TaskAGVCarryStatusEnum.AGV_CarryExecuting;
                _taskRepository.UpdateData(task);
            }
        }
        public void Relocation(Dt_Task? task)
        public bool Relocation(Dt_Task? task)
        {
            var taskDto = new RequestTaskDto()
            {
@@ -197,7 +192,7 @@
            {
                task.ExceptionMessage = content.Message;
                _taskRepository.UpdateData(task);
                return;
                return false;
            }
            // ååºåˆ—化任务数据
@@ -238,6 +233,7 @@
                    }
                }
            }
            return true;
        }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/InboundOrder/PrintPalletCode.vue
@@ -3,7 +3,7 @@
    <template #content>
      <el-form ref="form" :model="form" label-width="90px">
        <el-form-item label="打印个数">
          <el-input type="text" v-model="this.num" ></el-input>
          <el-input type="text" v-model="this.num"></el-input>
        </el-form-item>
      </el-form>
    </template>
@@ -29,7 +29,7 @@
  },
  data() {
    return {
      num: 0,
      num: 1,
      show: false,
    };
  },
@@ -39,8 +39,8 @@
    },
    submit() {
      this.$emit("parentCall", ($vue) => {
        this.http.post("api/InboundOrder/PrintPalletCode?num="+this.num, "").then((x) => {
        this.http.post("api/InboundOrder/PrintPalletCode?num=" + this.num, "", "数据处理中...").then((x) => {
          if (!x.status) {
            this.$message.error(x.message);
          } else {
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx
@@ -50,7 +50,7 @@
      // });
      this.boxButtons.push({
        name: '其他出库', //按钮名称
        icon: 'el-icon-document', //按钮图标:组件示例->图标
        //icon: 'el-icon-document', //按钮图标:组件示例->图标
        //primary、success、warning、error、info、text、danger
        type: 'primary',
        plain: true,
@@ -81,7 +81,7 @@
      })
      this.boxButtons.push({
        name: '调拨出库', //按钮名称
        icon: 'el-icon-document', //按钮图标:组件示例->图标
        //icon: 'el-icon-document', //按钮图标:组件示例->图标
        //primary、success、warning、error、info、text、danger
        type: 'danger',
        plain: true,
@@ -110,61 +110,6 @@
          })
        }
      })
      // this.detailOptions.buttons.unshift({
      //   name: '调拨出库',
      //   icon: '',
      //   type: 'primary',
      //   onClick: function (e) {
      //     let row = this.$refs.table.getSelected() //获取选中的行
      //     if (row <= 0) {
      //       //如果没有选中行
      //       this.$Message.error('请选择一行数据')
      //       return
      //     }
      //     let taskNum = row[0].taskNum
      //     this.http.post(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}, "正在完成任务").then((res) => {
      //       //示例:调用后台接口
      //       if (res.status) {
      //         this.$Message.success(res.message)
      //       } else {
      //         this.$Message.error(res.message) //错误提示
      //       }
      //     })
      //   }
      // });
      // this.columns.push({
      //   field: '操作',
      //   title: '操作',
      //   width: 90,
      //   fixed: 'right',
      //   align: 'center',
      //   type:'jsx',
      //   formatter: (row) => {
      //     //return '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">盘点出库</i>'
      //     return [{
      //       name:"btn1",
      //       type:"primary"
      //     },{
      //       name:"btn1",
      //       type:"success"
      //     }]
      //   },
      //   click: (row,formatter) => {
      //     console.log(formatter);
      //     this.http
      //       .post(`/api/Task/OutBoundTaskAsync?palletCode=${row.palletCode}`, {}, '正在生成任务')
      //       .then((res) => {
      //         //示例:调用后台接口
      //         if (res.status) {
      //           this.$Message.success(row.palletCode + '出库成功')
      //           this.refresh()
      //         } else {
      //           this.$Message.error(res.message) //错误提示
      //           this.refresh()
      //         }
      //       })
      //   }
      // })
      this.columns.push({
        title: '操作',
        field: '操作',
@@ -203,32 +148,6 @@
          )
        }
      })
      // this.columns.push({
      //   title: "操作",
      //   field: "操作",
      //   width: 150,
      //   align: "left", // 'center',
      //   render: (h, { row, column, index }) => {
      //     return (
      //       <div>
      //         <el-button
      //           onClick={($e) => {
      //             // this.$refs.table.load();
      //             // console.log(this.$refs.table);
      //             this.$refs.gridHeader.open(row);
      //           }}
      //           type="primary"
      //           plain
      //           style="height:26px; padding: 10px !important;"
      //         >
      //           æ‰“印
      //         </el-button>
      //       </div>
      //     );
      //   },
      // });
      //示例:设置修改新建、编辑弹出框字段标签的长度
      this.boxOptions.labelWidth = 150
      this.buttons.forEach((btn) => {
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock_Hty.jsx
@@ -8,12 +8,11 @@
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
// import gridHeader from "./demo_Product/Dt_BillGroupStockDetail.vue";
import gridBody from "./extend/SupplementationData.vue"
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: '',
    gridBody: gridBody,
    gridBody: '',
    gridFooter: '',
    //新建、编辑弹出框扩展组件
    modelHeader: '',
@@ -26,52 +25,6 @@
    //下面这些方法可以保留也可以删除
    onInit() {
      //框架初始化配置前,
      let OutBoundBtn = this.buttons.find((x) => x.value == 'OutBound')
      if (OutBoundBtn) {
        OutBoundBtn.onClick = function () {
          // this.$Message.success('点击了按钮')
          let row = this.$refs.table.getSelected() //获取选中的行
          if (row <= 0) {
            //如果没有选中行
            this.$Message.error('请选择一行数据')
            return
          }
          let locationCode = row[0].locationCode
          let palletCode = row[0].palletCode
          this.http
            .get(
              `/api/Task/CreateAndSendOutboundTask?locationCode=${locationCode}&palletCode=${palletCode}`,
              {},
              '正在创建任务'
            )
            .then((res) => {
              //示例:调用后台接口
              if (res.status) {
                this.$Message.success('创建任务成功')
                console.log(res)
                this.refresh() //刷新表格
              } else {
                this.$Message.error(res.message) //错误提示
              }
            })
        }
      }
      var btnSupplementationData = this.buttons.find(x => x.value == "SupplementationData");
            if (btnSupplementationData != null) {
                btnSupplementationData.onClick = () => {
                    let rows = this.$refs.table.getSelected();
                        if (rows.length == 0) {
                            return this.$error("请选择数据!");
                        } else if (rows.length > 1) {
                            return this.$error("只能选择单条数据");
                        }
                        this.$refs.gridBody.open(rows[0].palletCode);
                        this.refresh();
                    }
                }
      //示例:在按钮的最前面添加一个按钮
      // this.buttons.unshift({
      //   //也可以用push或者splice方法来修改buttons数组
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/extend/Remark.vue
@@ -44,9 +44,7 @@
      this.$emit('parentCall', ($vue) => {
        console.log(this.form.remark, this.palletCode)
        if (
          !this.form.remark ||
          !this.palletCode ||
          this.form.remark == '' ||
          this.palletCode == ''
        ) {
          this.$message.error('参数错误')
@@ -57,9 +55,10 @@
            if (!x.status) {
              this.$message.error(x.message)
            } else {
              this.$Message.success(row.palletCode + '出库成功')
              console.log(x);
              this.show = false
              $vue.refresh()
              this.$Message.success(this.palletCode + '出库成功')
              $vue.refresh();
            }
          })
      })
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_WareAreaInfo.vue
@@ -21,7 +21,7 @@
            cnName: '库区信息',
            name: 'basicinfo/Dt_WareAreaInfo',
            url: "/Dt_WareAreaInfo/",
            sortName: "WareAreaID"
            sortName: "id"
        });
        const editFormFields = ref({
            "wareAreaName": "",
@@ -46,17 +46,11 @@
                { "title": "库区类型", "field": "wareAreaType", type: "text" },
            ]
        ]);
        const columns = ref([{ field: 'wareAreaID', title: '主键', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
        { field: 'areaID', title: '库区ID', type: 'int', width: 110, hidden: true, align: 'left', sort: true, hidden: true },
        const columns = ref([{ field: 'id', title: '主键', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
        { field: 'wareAreaCode', title: '库区编号', type: 'string', width: 110, require: true, align: 'left' },
        { field: 'wareAreaName', title: '库区名称', type: 'string', width: 110, align: 'left' },
        { field: 'wareAreaType', title: '库区类型', type: 'string', width: 110, align: 'left' },
        { field: 'status', title: '库区状态', type: 'int', width: 110, align: 'left', bind: { key: "status", data: [] } },
        { field: 'wareAreaDesc', title: '库区描述', type: 'string', width: 110, align: 'left' },
        { field: 'createID', title: '创建ID', type: 'int', sort: true, width: 100, hidden: true, align: 'left' },
        { field: 'creater', title: '创建人', type: 'string', sort: true, width: 110, align: 'left' },
        { field: 'createDate', title: '创建时间', type: 'datetime', sort: true, width: 150, align: 'left', sort: true },
        { field: 'modifyID', title: '修改人ID', type: 'int', sort: true, width: 100, hidden: true, align: 'left' },
        { field: 'modifier', title: '修改人', type: 'string', sort: true, width: 100, hidden: true, align: 'left' },
        { field: 'modifyDate', title: '修改时间', type: 'datetime', sort: true, width: 150, hidden: true, align: 'left', sort: true },
        { field: 'spare1', title: 'Spare1', type: 'string', sort: true, width: 110, hidden: true, align: 'left' },
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue
@@ -46,6 +46,7 @@
            ]
            , [
                { "title": "物料编码", "field": "materielCode", type: "text" },
                { "title": "物料名称", "field": "materielName", type: "text" },
            ]
        ]);
        const columns = ref(
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_Task.vue
@@ -60,19 +60,19 @@
        { field: 'taskType', title: '任务类型', type: 'int', width: 130, align: 'left', bind: { key: "taskType", data: [] } },
        { field: 'taskState', title: '任务状态', type: 'int', width: 130, align: 'left', bind: { key: "taskState", data: [] } },
        { field: 'sourceAddress', title: '起始位置', type: 'string', width: 110, align: 'left' },
        { field: 'targetAddress', title: '目标位置', type: 'string', width: 110, align: 'left' },
        { field: 'currentAddress', title: '当前位置', type: 'string', width: 110, align: 'left' },
        { field: 'nextAddress', title: '下一位置', type: 'string', width: 110, align: 'left' },
        { field: 'targetAddress', title: '目标位置', type: 'string', width: 110, align: 'left' },
        { field: 'grade', title: '优先级', type: 'int', width: 60, align: 'left' },
        { field: 'errorMessage', title: '异常信息', type: 'string', width: 110,  align: 'left',sort: true },
        { field: 'errorMessage', title: '异常信息', type: 'string', width: 110, align: 'left', sort: true },
        { field: 'dispatchertime', title: '任务下发时间', type: 'datetime', width: 150, align: 'left', sort: true },
        { field: 'remark', title: '备注', type: 'string', width: 110, align: 'left',hidden: true, },
        { field: 'remark', title: '备注', type: 'string', width: 110, align: 'left', hidden: true, },
        { field: 'createDate', title: '创建时间', type: 'datetime', sort: true, width: 150, align: 'left', sort: true },
        { field: 'modifyDate', title: '修改时间', type: 'datetime', sort: true, width: 150, align: 'left', sort: true },
        { field: 'creater', title: '创建人', type: 'string', sort: true, width: 110, align: 'left' },
        { field: 'modifier', title: '修改人', type: 'string', sort: true, width: 100, align: 'left' },
        { field: 'materialNo', title: '物料编号', type: 'string', width: 110, hidden: true, align: 'left' },
    ]);
        ]);
        const detail = ref({
            cnName: "#detailCnName",
            table: "#detailTable",
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal
Binary files differ
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json
@@ -3,10 +3,6 @@
  "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagebasicservices\\stock\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|solutionrelative:widesea_storagebasicservices\\stock\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|solutionrelative:widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
@@ -15,16 +11,8 @@
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\system\\sys_dictionarycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\enums\\manageenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\enums\\manageenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\enums\\enumhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\enums\\enumhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\basicmodel\\dt_inventoryrecord.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\basicmodel\\dt_inventoryrecord.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagebasicservices\\stock\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|solutionrelative:widesea_storagebasicservices\\stock\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
@@ -34,82 +22,43 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 0,
          "SelectedChildIndex": 2,
          "Children": [
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "DocumentIndex": 2,
              "Title": "StockInfoService.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs*",
              "RelativeToolTip": "WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs*",
              "ViewState": "AgIAAIsAAAAAAAAAAAAQwJwAAAAyAAAAAAAAAA==",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
              "RelativeToolTip": "WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
              "ViewState": "AgIAAGIAAAAAAAAAAADwv2QAAAA4AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-09T04:49:28.39Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "DocumentIndex": 1,
              "Title": "Sys_DictionaryController.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\System\\Sys_DictionaryController.cs",
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\System\\Sys_DictionaryController.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\System\\Sys_DictionaryController.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\System\\Sys_DictionaryController.cs",
              "ViewState": "AgIAACACAAAAAAAAAAAowEkCAAA+AAAAAAAAAA==",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAEkCAAA+AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-09T04:08:20.583Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "ManageEnum.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\ManageEnum.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\Enums\\ManageEnum.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\ManageEnum.cs",
              "RelativeToolTip": "WIDESEA_Core\\Enums\\ManageEnum.cs",
              "ViewState": "AgIAAL8CAAAAAAAAAAAAwMcCAAAfAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-09T04:05:40.426Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "EnumHelper.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\EnumHelper.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\Enums\\EnumHelper.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\EnumHelper.cs",
              "RelativeToolTip": "WIDESEA_Core\\Enums\\EnumHelper.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-09T04:05:37.373Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "Dt_InventoryRecord.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\BasicModel\\Dt_InventoryRecord.cs",
              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\BasicModel\\Dt_InventoryRecord.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\BasicModel\\Dt_InventoryRecord.cs",
              "RelativeToolTip": "WIDESEA_Model\\Models\\BasicModel\\Dt_InventoryRecord.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAC0AAAAZAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-09T03:57:58.116Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "DocumentIndex": 0,
              "Title": "Dt_TaskService.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
              "RelativeToolTip": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
              "ViewState": "AgIAAIECAAAAAAAAAAAhwFgDAABHAAAAAAAAAA==",
              "ViewState": "AgIAAGUFAAAAAAAAAAAjwGwFAAAUAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-09T03:32:47.726Z",
              "EditorCaption": ""
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json
@@ -3,28 +3,20 @@
  "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagebasicservices\\stock\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|solutionrelative:widesea_storagebasicservices\\stock\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|solutionrelative:widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\wms\\wmstaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\wms\\wmstaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\system\\sys_dictionarycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\system\\sys_dictionarycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\enums\\manageenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\enums\\manageenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\enums\\enumhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\enums\\enumhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\basicmodel\\dt_inventoryrecord.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\basicmodel\\dt_inventoryrecord.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagebasicservices\\stock\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|solutionrelative:widesea_storagebasicservices\\stock\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
@@ -34,17 +26,30 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 0,
          "SelectedChildIndex": 3,
          "Children": [
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "DocumentIndex": 1,
              "Title": "WMSTaskDTO.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\WMS\\WMSTaskDTO.cs",
              "RelativeDocumentMoniker": "WIDESEA_DTO\\WMS\\WMSTaskDTO.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\WMS\\WMSTaskDTO.cs",
              "RelativeToolTip": "WIDESEA_DTO\\WMS\\WMSTaskDTO.cs",
              "ViewState": "AgIAACwAAAAAAAAAAAAcwD8AAAAqAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-10T05:32:07.009Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "StockInfoService.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
              "RelativeToolTip": "WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
              "ViewState": "AgIAAEMAAAAAAAAAAAAewJYAAAALAAAAAAAAAA==",
              "ViewState": "AgIAAGIAAAAAAAAAAADwv2QAAAA4AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-09T04:49:28.39Z",
              "EditorCaption": ""
@@ -57,59 +62,20 @@
              "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\System\\Sys_DictionaryController.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\System\\Sys_DictionaryController.cs",
              "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\System\\Sys_DictionaryController.cs",
              "ViewState": "AgIAACACAAAAAAAAAAAowEkCAAA+AAAAAAAAAA==",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAEkCAAA+AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-09T04:08:20.583Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "ManageEnum.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\ManageEnum.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\Enums\\ManageEnum.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\ManageEnum.cs",
              "RelativeToolTip": "WIDESEA_Core\\Enums\\ManageEnum.cs",
              "ViewState": "AgIAAL8CAAAAAAAAAAAAwMcCAAAfAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-09T04:05:40.426Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "EnumHelper.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\EnumHelper.cs",
              "RelativeDocumentMoniker": "WIDESEA_Core\\Enums\\EnumHelper.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\EnumHelper.cs",
              "RelativeToolTip": "WIDESEA_Core\\Enums\\EnumHelper.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-09T04:05:37.373Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "Dt_InventoryRecord.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\BasicModel\\Dt_InventoryRecord.cs",
              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\BasicModel\\Dt_InventoryRecord.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\BasicModel\\Dt_InventoryRecord.cs",
              "RelativeToolTip": "WIDESEA_Model\\Models\\BasicModel\\Dt_InventoryRecord.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAC0AAAAZAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-09T03:57:58.116Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "DocumentIndex": 0,
              "Title": "Dt_TaskService.cs",
              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
              "RelativeToolTip": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
              "ViewState": "AgIAAMIBAAAAAAAAAAAUwA8DAABhAAAAAAAAAA==",
              "ViewState": "AgIAAPsDAAAAAAAAAAAhwCgEAAB1AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-11-09T03:32:47.726Z",
              "EditorCaption": ""
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_DTO/WMS/WMSTaskDTO.cs
@@ -61,5 +61,6 @@
        public string? Remark { get; set; }
        public string? Floor { get; set; }
    }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_WareAreaInfo.cs
@@ -37,4 +37,11 @@
    ///</summary>
    [SugarColumn(ColumnName = "WareAreaId")]
    public string? WareAreaId { get; set; }
    /// <summary>
    /// å¤‡  æ³¨:Status
    /// é»˜è®¤å€¼:
    ///</summary>
    [SugarColumn(ColumnName = "Status")]
    public int Status { get; set; }
}
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderService.cs
@@ -271,7 +271,8 @@
                Id = 0,
                TaskType = task.TaskType,
                AGVTaskNum = task.AGVTaskNum,
                Remark = task.Remark
                Remark = task.Remark,
                Floor = task.Floor,
            };
        }
        public (List<DtStockInfo>, Dt_AllocateOutboundOrderDetail) AssignStockOutbound(Dt_AllocateOutboundOrderDetail allocateoutboundOrderdetail, List<StockSelectViewDTO> stockSelectViews)
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderService.cs
@@ -255,7 +255,8 @@
                Id = 0,
                TaskType = task.TaskType,
                AGVTaskNum = task.AGVTaskNum,
                Remark = task.Remark
                Remark = task.Remark,
                Floor =task.Floor,
            };
        }
        public (List<DtStockInfo>, Dt_ProductionOutboundOrderDetail) AssignStockOutbound(Dt_ProductionOutboundOrderDetail outboundOrderdetail, List<StockSelectViewDTO> stockSelectViews)
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs
@@ -98,6 +98,7 @@
        Expression<Func<DtStockInfo, bool>> floor = null;
        Expression<Func<DtStockInfo, bool>> areaId = null;
        Expression<Func<DtStockInfo, bool>> materielCode = null;
        Expression<Func<DtStockInfo, bool>> materielName = null;
        foreach (var item in searchParametersList)
        {
            if (item.Name.Contains("locationStatus"))
@@ -116,6 +117,10 @@
            {
                materielCode = x => x.StockInfoDetails.Any(d => d.MaterielCode == item.Value);
            }
            else if (item.Name.Contains("materielName"))
            {
                materielName = x => x.StockInfoDetails.Any(d => d.MaterielName == item.Value);
            }
        }
        //.IncludesAllFirstLayer()
        var data = BaseDal.Db.Queryable<DtStockInfo>()
@@ -126,6 +131,7 @@
            .WhereIF(floor != null, floor)
            .WhereIF(areaId != null, areaId)
            .WhereIF(materielCode != null, materielCode)
            .WhereIF(materielName != null, materielName)
            .OrderBy(orderByModels)
            .ToPageList(options.Page, options.Rows, ref totalCount);
        new PageGridData<DtStockInfo>(totalCount, data);
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -490,6 +490,12 @@
        WebResponseContent content = new WebResponseContent();
        try
        {
            var task = BaseDal.QueryFirst(x => x.PalletCode == taskDto.PalletCode);
            if (task != null)
            {
                return content.Error("该托盘已经存在任务,请勿重复下发");
            }
            var boxingInfo = await _boxingInfoRepository.QueryFirstNavAsync(x => x.PalletCode == taskDto.PalletCode && x.StockStatus == (int)StockStateEmun.组盘暂存);
            if (boxingInfo == null)
@@ -983,7 +989,7 @@
        }
        if (!LocationIsOutBound(StartAddress))
        {
            throw new Exception($"起点库位{StartAddress.LocationCode}出库路径被占用,请人工确认再下发任务");
            throw new Exception($"起点库位{StartAddress.LocationCode}出库路径被占用,请稍后重试");
        }
        DtLocationInfo location = null;
        if (taskDto.AreaId != 0)
@@ -1255,6 +1261,10 @@
                //todo查询内侧库存信息
                var stock = await _stockInfoRepository.QueryFirstAsync(x => x.LocationCode == locationLateral.LocationCode);
                if (stock == null)
                {
                    return content.Error($"未找到浅位{locationLateral.LocationCode}库存信息");
                }
                Dt_Task taskNew = new Dt_Task
                {
                    Grade = 1,
@@ -1277,7 +1287,6 @@
                var taskDTO = CreateListTaskDTO(taskNew);
                var isResult = await AddTaskAsync(taskNew, locationLateral, TargetAddress);
                //UpdateLocationStatus(TargetAddress, LocationEnum.Lock);
                UpdateLocationStatus(TargetAddress, LocationEnum.Lock, taskNew.TaskNum.Value, (int)StatusChangeTypeEnum.AutomaticRelocation);
                if (!isResult)
                {
@@ -1350,28 +1359,43 @@
                        return content.Error("起点未定义或终点区域未找到空闲库位");
                    }
                    //todo查询移库库存信息
                    Dt_Task taskNew = new Dt_Task
                    var stock = _stockInfoRepository.QueryFirst(x => x.LocationCode == item.LocationCode);
                    if (stock == null)
                    {
                        Grade = item.Column,
                        Roadway = "AGV",
                        TargetAddress = Targetlocation.LocationCode,
                        Dispatchertime = DateTime.Now,
                        MaterialNo = "",
                        NextAddress = Targetlocation.LocationCode,
                        OrderNo = null,
                        PalletCode = _random.Next(0, 10000).ToString(),
                        SourceAddress = item.LocationCode,
                        CurrentAddress = item.LocationCode,
                        TaskState = (int)TaskAGVCarryStatusEnum.CarryNew,
                        TaskType = (int)TaskRelocationTypeEnum.Relocation,
                        TaskNum = BaseDal.GetTaskNo().Result,
                        CreateDate = DateTime.Now,
                        TaskId = 0,
                        AGVTaskNum = GenerateUniqueId(),
                        Floor = item.Floor,
                        Remark = item.AreaId.ToString(),
                    };
                        return content.Error($"未找到浅位{item.LocationCode}库存信息");
                    }
                    var Relocationtask = BaseDal.QueryFirst(x => x.PalletCode == stock.PalletCode && x.TaskType == (int)TaskRelocationTypeEnum.Relocation);
                    Dt_Task taskNew = new Dt_Task();
                    if (Relocationtask != null)
                    {
                        taskDTO.Add(CreateTaskDTO(Relocationtask));
                        //return content.OK(data:taskDTO);
                        continue;
                    }
                    else
                    {
                        taskNew = new Dt_Task
                        {
                            Grade = item.Column,
                            Roadway = "AGV",
                            TargetAddress = Targetlocation.LocationCode,
                            Dispatchertime = DateTime.Now,
                            MaterialNo = "",
                            NextAddress = Targetlocation.LocationCode,
                            OrderNo = null,
                            PalletCode = stock.PalletCode,
                            SourceAddress = item.LocationCode,
                            CurrentAddress = item.LocationCode,
                            TaskState = (int)TaskAGVCarryStatusEnum.CarryNew,
                            TaskType = (int)TaskRelocationTypeEnum.Relocation,
                            TaskNum = BaseDal.GetTaskNo().Result,
                            CreateDate = DateTime.Now,
                            TaskId = 0,
                            AGVTaskNum = GenerateUniqueId(),
                            Floor = item.Floor,
                            Remark = item.AreaId.ToString(),
                        };
                    }
                    taskDTO.Add(CreateTaskDTO(taskNew));
                    var isResult = await AddTaskAsync(taskNew, item, Targetlocation);
@@ -2079,6 +2103,7 @@
            TaskState = task.TaskState,
            Id = 0,
            TaskType = task.TaskType,
            Floor =task.Floor,
            AGVTaskNum = task.AGVTaskNum,
        } };
    }
@@ -2097,7 +2122,8 @@
            Id = 0,
            TaskType = task.TaskType,
            AGVTaskNum = task.AGVTaskNum,
            Remark= task.Remark
            Remark = task.Remark,
            Floor = task.Floor,
        };
    }
@@ -2281,7 +2307,7 @@
                TaskNum = task.TaskNum.Value,
                LocationId = StartAddress.Id,
                LocationCode = StartAddress.LocationCode,
                ChangeType = (int)StatusChangeTypeEnum.AutomaticInbound,
                ChangeType = (int)StatusChangeTypeEnum.AutomaticRelocation,
            },
            new LocationChangeRecordDto()
            {
@@ -2290,7 +2316,7 @@
                TaskNum = task.TaskNum.Value,
                LocationId = EndAddress.Id,
                LocationCode = EndAddress.LocationCode,
                ChangeType = (int)StatusChangeTypeEnum.AutomaticInbound,
                ChangeType = (int)StatusChangeTypeEnum.AutomaticRelocation,
            },
        };
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs
@@ -95,7 +95,7 @@
    }
});
//builder.Services.AddHostedService<MyBackgroundService>();
builder.Services.AddHostedService<MyBackgroundService>();
var app = builder.Build();