0939aa5f3cc12a8856456a51cf2b661b6cd780c7..ec9c9add38591d7c7a2708ac43ed6b3fce1a4063
3 天以前 huangxiaoqiang
1
ec9c9a 对比 | 目录
3 天以前 huangxiaoqiang
忽略文件
ce8184 对比 | 目录
3 天以前 huangxiaoqiang
1
3296ae 对比 | 目录
3 天以前 huangxiaoqiang
忽略文件
2f9810 对比 | 目录
已添加13个文件
已修改31个文件
已删除1个文件
3050 ■■■■ 文件已修改
.gitignore 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/config/buttons.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/api/http.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/extension/basicinfo/Dt_WMSErrorMessage.js 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/extension/taskinfo/extend/taskExecuteDetail.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/router/viewGird.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/Home.vue 198 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/LineComponent.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/LineInfo.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/LineInfocopy.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/basicinfo/Dt_StationManager.vue 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/basicinfo/Dt_WMSErrorMessage.vue 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_hty.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.strings.v9.bin 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/Dt_WMSErrorMessageRepository.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/Dt_WMSErrorMessageService.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/OperateTypeEnum.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/IDt_WMSErrorMessageRepository.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IDt_WMSErrorMessageService.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskExecuteDetailService.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_WMSErrorMessage.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs 499 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/Dt_WMSErrorMessageController.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-06/Error_CommonStackerStationCraneJob_15-59-56.log 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-06/Info_堆垛机任务完成_15-58-38.log 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Release/net6.0/PublishOutputs.9e149ac049.txt 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs 501 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob/CommonRGVJob.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目资料/接口协议/~$智能立库系统与WCS接口(奥坦斯) -宽海(1).docx 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -3298,3 +3298,39 @@
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log_PLCReadWrite/六号堆垛机/Logs_20250731091357.txt
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log_PLCReadWrite/四号堆垛机/Logs_20250731091356.txt
/项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a411e224-a104-4735-89f2-a4ff7c7b4d61.vsidx
/项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3156356a-ca55-47cf-ae91-1fc5ea8829ac.vsidx
/项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/4b8912b7-7639-42b8-9381-a4cd08199e4f.vsidx
/项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/ca4663d6-4f92-4ce9-91f9-8fdd64928e0b.vsidx
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Release/net6.0/WIDESEAWCS_BasicInfoRepository.dll
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Release/net6.0/WIDESEAWCS_BasicInfoRepository.pdb
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Release/net6.0/WIDESEAWCS_Common.dll
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Release/net6.0/WIDESEAWCS_Common.pdb
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Release/net6.0/WIDESEAWCS_BasicInfoRepository.pdb
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Release/net6.0/WIDESEAWCS_DTO.dll
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Release/net6.0/WIDESEAWCS_DTO.pdb
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Release/net6.0/WIDESEAWCS_IBasicInfoRepository.dll
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Release/net6.0/WIDESEAWCS_IBasicInfoRepository.pdb
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Release/net6.0/WIDESEAWCS_Model.dll
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/bin/Release/net6.0/WIDESEAWCS_Model.pdb
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-01/Error_CommonStackerStationCraneJob_09-00-33.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-01/Info_一号RGV_09-55-51.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-01/Info_二号RGV_09-55-48.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-01/Info_库前输送线_09-00-23.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-01/Info_执行调度任务控制_09-56-26.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-01/Info_调度任务控制_09-55-48.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-04/Error_CommonStackerStationCraneJob_11-39-45.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-04/Info_RGV任务完成_10-58-41.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-04/Info_一号RGV_10-05-38.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-04/Info_二号RGV_11-16-54.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-04/Error_CommonStackerStationCraneJob_11-39-45.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-04/Info_堆垛机任务完成_10-58-40.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-04/Info_堆垛机任务完成_10-58-40.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-04/Info_库前输送线_09-39-06.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-04/Info_调度任务异常日志_10-04-40.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-04/Info_调度任务控制_10-05-35.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/20250801/生成任务_log20250801.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/20250804/生成任务_log20250804.log
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Debug/net6.0/WIDESEAW.FF010788.Up2Date
/项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Release/net6.0/WIDESEAW.7F373BC4.Up2Date
/项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/14e93cd9-79bd-4d29-96a9-7c2e0fbc50e1.vsidx
/项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/771632e1-0708-4bab-ab49-56ed07549035.vsidx
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/config/buttons.js
@@ -37,7 +37,7 @@
    icon: '',
    class: '',
    value: 'TaskCompleted',
    type: 'primary',
    type: '',
    onClick: function () {
    }
},
@@ -46,7 +46,7 @@
    icon: '',
    class: '',
    value: 'TaskCancel',
    type: 'danger',
    type: '',
    onClick: function () {
    }
},
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/api/http.js
@@ -13,14 +13,14 @@
let loadingStatus = false;
if (process.env.NODE_ENV == 'development') {
     axios.defaults.baseURL = 'http://127.0.0.1:9291/';
    // axios.defaults.baseURL = 'http://192.168.20.251:9291/';
    // axios.defaults.baseURL = 'http://192.168.32.240:9291/';
}
else if (process.env.NODE_ENV == 'debug') {
    axios.defaults.baseURL = 'http://127.0.0.1:8098/';
}
else if (process.env.NODE_ENV == 'production') {
    axios.defaults.baseURL = 'http://192.168.76.251:9291/';
    axios.defaults.baseURL = 'http://192.168.32.240:9291/';
}
if (!axios.defaults.baseURL.endsWith('/')) {
    axios.defaults.baseURL+="/";
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/extension/basicinfo/Dt_WMSErrorMessage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
let extension = {
    components: {
      //查询界面扩展组件
      gridHeader: '',
      gridBody: '',
      gridFooter: '',
      //新建、编辑弹出框扩展组件
      modelHeader: '',
      modelBody: '',
      modelFooter: ''
    },
    tableAction: '', //指定某张表的权限(这里填写表名,默认不用填写)
    buttons: { view: [], box: [], detail: [] }, //扩展的按钮
    methods: {
       //下面这些方法可以保留也可以删除
      onInit() {
      },
      onInited() {
        //框架初始化配置后
        //如果要配置明细表,在此方法操作
        //this.detailOptions.columns.forEach(column=>{ });
      },
      searchBefore(param) {
        //界面查询前,可以给param.wheres添加查询参数
        //返回false,则不会执行查询
        return true;
      },
      searchAfter(result) {
        //查询后,result返回的查询数据,可以在显示到表格前处理表格的值
        return true;
      },
      addBefore(formData) {
        //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值
        return true;
      },
      updateBefore(formData) {
        //编辑保存前formData为对象,包括明细表、删除行的Id
        return true;
      },
      rowClick({ row, column, event }) {
        //查询界面点击行事件
        //this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行;
      },
      modelOpenAfter(row) {
        //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据
        //(1)判断是编辑还是新建操作: this.currentAction=='Add';
        //(2)给弹出框设置默认值
        //(3)this.editFormFields.字段='xxx';
        //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值
        //看不懂就把输出看:console.log(this.editFormOptions)
      }
    }
  };
  export default extension;
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/extension/taskinfo/extend/taskExecuteDetail.vue
@@ -193,7 +193,7 @@
    next() {
      this.http
        .post(
          "/api/Task/UpdateTaskStatusToNext?taskNum=" + this.row.taskNum,
          "/api/Task/HandUpdateTaskStatusToNext?taskNum=" + this.row.taskNum,
          {},
          true
        )
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/extension/taskinfo/task.js
@@ -43,6 +43,53 @@
                }
            });
            var btnTaskComplete = this.buttons.find(x => x.value == "TaskCompleted");
            if (btnTaskComplete != null) {
                btnTaskComplete.onClick = () => {
                    let row = this.$refs.table.getSelected() //获取选中的行
                    if (row <= 0) {
                        //如果没有选中行
                        this.$Message.error('请选择一行数据')
                        return
                    }
                    let taskNum = row[0].taskNum
                    this.http.post(`/api/Task/TaskComplete?taskNum=${taskNum}`, {}, "正在完成任务")
                        .then((x) => {
                            if (x.status) {
                                this.$Message.success('成功.');
                                this.refresh();
                            } else {
                                return this.$error(x.message);
                                this.refresh();
                            }
                        });
                }
            }
            var btnTaskCancel = this.buttons.find(x => x.value == "TaskCancel");
            if (btnTaskCancel != null) {
                btnTaskCancel.onClick = () => {
                    let row = this.$refs.table.getSelected() //获取选中的行
                    if (row <= 0) {
                        //如果没有选中行
                        this.$Message.error('请选择一行数据')
                        return
                    }
                    let taskNum = row[0].taskNum
                    this.http.post(`/api/Task/HandTaskCancel?taskNum=${taskNum}`, {}, "正在取消任务")
                        .then((x) => {
                            if (x.status) {
                                this.$Message.success('成功.');
                                this.refresh();
                            } else {
                                return this.$error(x.message);
                                this.refresh();
                            }
                        });
                }
            }
        },
        onInited() {
            //框架初始化配置后
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/router/viewGird.js
@@ -72,6 +72,11 @@
    name: 'Dt_StationManager',
    component: () => import('@/views/basicinfo/Dt_StationManager.vue')
  },
  {
    path: '/Dt_WMSErrorMessage',
    name: 'Dt_WMSErrorMessage',
    component: () => import('@/views/basicinfo/Dt_WMSErrorMessage.vue')
  },
]
export default viewgird
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/Home.vue
@@ -264,14 +264,66 @@
                <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
                    <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
                        <el-form-item label="取货位:">
                            <el-input size="large" v-model="formRGV.SourceAddress" style="width: 800px" placeholder="取货位" />
                            <!-- <el-input size="large" v-model="formRGV.SourceAddress" style="width: 800px" placeholder="取货位" /> -->
                            <el-select size="large" v-model="formRGV.SourceAddress" placeholder="请选择取货位">
                                <el-option label="1037" value="1" />
                                <el-option label="1035" value="2" />
                                <el-option label="1033" value="3" />
                                <el-option label="1031" value="4" />
                                <el-option label="1023" value="5" />
                                <el-option label="1021" value="6" />
                                <el-option label="1019" value="8" />
                                <el-option label="1017" value="9" />
                                <el-option label="1011" value="11" />
                                <el-option label="1009" value="12" />
                                <el-option label="1007" value="13" />
                                <el-option label="1005" value="14" />
                                <el-option label="1030" value="15" />
                                <el-option label="1029" value="16" />
                                <el-option label="1028" value="17" />
                                <el-option label="1027" value="18" />
                                <el-option label="1016" value="19" />
                                <el-option label="1015" value="20" />
                                <el-option label="1014" value="21" />
                                <el-option label="1013" value="22" />
                                <el-option label="1040" value="23" />
                                <el-option label="1039" value="24" />
                                <el-option label="1004" value="25" />
                                <el-option label="1002" value="26" />
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
                    <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
                        <el-form-item label="放货位:">
                            <el-input size="large" v-model="formRGV.TargetAddress" style="width: 800px" placeholder="放货位" />
                            <!-- <el-input size="large" v-model="formRGV.TargetAddress" style="width: 800px" placeholder="放货位" /> -->
                            <el-select size="large" v-model="formRGV.TargetAddress" placeholder="请选择放货位">
                                <el-option label="1037" value="1" />
                                <el-option label="1035" value="2" />
                                <el-option label="1033" value="3" />
                                <el-option label="1031" value="4" />
                                <el-option label="1023" value="5" />
                                <el-option label="1021" value="6" />
                                <el-option label="1019" value="8" />
                                <el-option label="1017" value="9" />
                                <el-option label="1011" value="11" />
                                <el-option label="1009" value="12" />
                                <el-option label="1007" value="13" />
                                <el-option label="1005" value="14" />
                                <el-option label="1030" value="15" />
                                <el-option label="1029" value="16" />
                                <el-option label="1028" value="17" />
                                <el-option label="1027" value="18" />
                                <el-option label="1016" value="19" />
                                <el-option label="1015" value="20" />
                                <el-option label="1014" value="21" />
                                <el-option label="1013" value="22" />
                                <el-option label="1040" value="23" />
                                <el-option label="1039" value="24" />
                                <el-option label="1004" value="25" />
                                <el-option label="1002" value="26" />
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
@@ -384,14 +436,66 @@
                <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
                    <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
                        <el-form-item label="取货位:">
                            <el-input size="large" v-model="formRGV.SourceAddress" style="width: 800px" placeholder="取货位" />
                            <!-- <el-input size="large" v-model="formRGV.SourceAddress" style="width: 800px" placeholder="取货位" /> -->
                            <el-select size="large" v-model="formRGV.SourceAddress" placeholder="请选择取货位">
                                <el-option label="1037" value="1" />
                                <el-option label="1035" value="2" />
                                <el-option label="1033" value="3" />
                                <el-option label="1031" value="4" />
                                <el-option label="1023" value="5" />
                                <el-option label="1021" value="6" />
                                <el-option label="1019" value="8" />
                                <el-option label="1017" value="9" />
                                <el-option label="1011" value="11" />
                                <el-option label="1009" value="12" />
                                <el-option label="1007" value="13" />
                                <el-option label="1005" value="14" />
                                <el-option label="1030" value="15" />
                                <el-option label="1029" value="16" />
                                <el-option label="1028" value="17" />
                                <el-option label="1027" value="18" />
                                <el-option label="1016" value="19" />
                                <el-option label="1015" value="20" />
                                <el-option label="1014" value="21" />
                                <el-option label="1013" value="22" />
                                <el-option label="1040" value="23" />
                                <el-option label="1039" value="24" />
                                <el-option label="1004" value="25" />
                                <el-option label="1002" value="26" />
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
                    <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
                        <el-form-item label="放货位:">
                            <el-input size="large" v-model="formRGV.TargetAddress" style="width: 800px" placeholder="放货位" />
                            <!-- <el-input size="large" v-model="formRGV.TargetAddress" style="width: 800px" placeholder="放货位" /> -->
                            <el-select size="large" v-model="formRGV.TargetAddress" placeholder="请选择放货位">
                                <el-option label="1037" value="1" />
                                <el-option label="1035" value="2" />
                                <el-option label="1033" value="3" />
                                <el-option label="1031" value="4" />
                                <el-option label="1023" value="5" />
                                <el-option label="1021" value="6" />
                                <el-option label="1019" value="8" />
                                <el-option label="1017" value="9" />
                                <el-option label="1011" value="11" />
                                <el-option label="1009" value="12" />
                                <el-option label="1007" value="13" />
                                <el-option label="1005" value="14" />
                                <el-option label="1030" value="15" />
                                <el-option label="1029" value="16" />
                                <el-option label="1028" value="17" />
                                <el-option label="1027" value="18" />
                                <el-option label="1016" value="19" />
                                <el-option label="1015" value="20" />
                                <el-option label="1014" value="21" />
                                <el-option label="1013" value="22" />
                                <el-option label="1040" value="23" />
                                <el-option label="1039" value="24" />
                                <el-option label="1004" value="25" />
                                <el-option label="1002" value="26" />
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
@@ -504,14 +608,48 @@
                <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
                    <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
                        <el-form-item label="取货位:">
                            <el-input size="large" v-model="formRGV.SourceAddress" style="width: 800px" placeholder="取货位" />
                            <!-- <el-input size="large" v-model="formRGV.SourceAddress" style="width: 800px" placeholder="取货位" /> -->
                            <el-select size="large" v-model="formRGV.SourceAddress" placeholder="请选择取货位">
                                <el-option label="3031" value="1" />
                                <el-option label="3029" value="2" />
                                <el-option label="3027" value="3" />
                                <el-option label="3025" value="4" />
                                <el-option label="3023" value="5" />
                                <el-option label="3021" value="6" />
                                <el-option label="3019" value="7" />
                                <el-option label="3017" value="8" />
                                <el-option label="3015" value="9" />
                                <el-option label="3013" value="10" />
                                <el-option label="3011" value="11" />
                                <el-option label="3009" value="12" />
                                <el-option label="3008" value="13" />
                                <el-option label="3006" value="14" />
                                <el-option label="3004" value="15" />
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
                    <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
                        <el-form-item label="放货位:">
                            <el-input size="large" v-model="formRGV.TargetAddress" style="width: 800px" placeholder="放货位" />
                            <!-- <el-input size="large" v-model="formRGV.TargetAddress" style="width: 800px" placeholder="放货位" /> -->
                            <el-select size="large" v-model="formRGV.TargetAddress" placeholder="请选择放货位">
                                <el-option label="3031" value="1" />
                                <el-option label="3029" value="2" />
                                <el-option label="3027" value="3" />
                                <el-option label="3025" value="4" />
                                <el-option label="3023" value="5" />
                                <el-option label="3021" value="6" />
                                <el-option label="3019" value="7" />
                                <el-option label="3017" value="8" />
                                <el-option label="3015" value="9" />
                                <el-option label="3013" value="10" />
                                <el-option label="3011" value="11" />
                                <el-option label="3009" value="12" />
                                <el-option label="3008" value="13" />
                                <el-option label="3006" value="14" />
                                <el-option label="3004" value="15" />
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
@@ -604,14 +742,14 @@
                }, {
                    equipNo: "2002",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 8,
                    condition: false,
                },
                {
                    equipNo: "2001",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 8,
                    condition: false,
                },
@@ -619,14 +757,14 @@
                {
                    equipNo: "2004",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 20,
                    condition: false,
                },
                {
                    equipNo: "2003",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 20,
                    condition: false,
                },
@@ -663,28 +801,28 @@
                }, {
                    equipNo: "2006",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 8,
                    condition: false,
                },
                {
                    equipNo: "2005",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 8,
                    condition: false,
                },
                {
                    equipNo: "2008",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 20,
                    condition: false,
                },
                {
                    equipNo: "2007",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 20,
                    condition: false,
                },
@@ -721,28 +859,28 @@
                }, {
                    equipNo: "2010",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 8,
                    condition: false,
                },
                {
                    equipNo: "2009",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 8,
                    condition: false,
                },
                {
                    equipNo: "2012",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 20,
                    condition: false,
                },
                {
                    equipNo: "2011",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 20,
                    condition: false,
                },
@@ -779,28 +917,28 @@
                }, {
                    equipNo: "2014",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 8,
                    condition: false,
                },
                {
                    equipNo: "2013",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 8,
                    condition: false,
                },
                {
                    equipNo: "2016",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 20,
                    condition: false,
                },
                {
                    equipNo: "2015",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 20,
                    condition: false,
                },
@@ -837,28 +975,28 @@
                }, {
                    equipNo: "2018",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 8,
                    condition: false,
                },
                {
                    equipNo: "2017",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 8,
                    condition: false,
                },
                {
                    equipNo: "2020",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 20,
                    condition: false,
                },
                {
                    equipNo: "2019",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 20,
                    condition: false,
                },
@@ -895,28 +1033,28 @@
                }, {
                    equipNo: "2022",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 8,
                    condition: false,
                },
                {
                    equipNo: "2021",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 8,
                    condition: false,
                },
                {
                    equipNo: "2024",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 20,
                    condition: false,
                },
                {
                    equipNo: "2023",
                    imgType: "1",
                    positionX: 26,
                    positionX: 28,
                    positionY: 20,
                    condition: false,
                },
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/LineComponent.vue
@@ -21,7 +21,7 @@
    <div class="line"></div>
    <!-- <div class="dot" :style="{ right: dotPosition + 'px' }" ref="childDot" @click="mouseClick"></div> -->
    <div :class="update()"
      :style="{ transform: `translateX(${StackerCrane.CurrentColumn < 33 ? StackerCrane.CurrentColumn * 30 - 29 : 0}px)` }"
      :style="{ transform: `translateX(${StackerCrane.CurrentColumn < 33 ? StackerCrane.CurrentColumn * 30 - 59 : 0}px)` }"
      ref="childDot" @click="mouseClick"></div>
  </div>
  <div>
@@ -91,8 +91,18 @@
        </el-col>
      </el-row>
      <el-divider />
      <h4 style="margin-bottom: 50px;">手动操作</h4>
      <h4 style="margin-bottom: 20px;">手动操作</h4>
      <el-form ref="form" :model="form" label-width="90px">
        <el-row :gutter="24" type="flex" justify="start" align="top" tag="div">
          <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
            <el-form-item label="坐标:">
              <!-- <j-el-description type="primary" ellipsis></j-el-description> -->
              <span style="font-size: 20px;color: #fc0303;">一楼库前出库坐标:2-1-1、 å…¥åº“坐标:3-1-1</span>
              <span style="font-size: 20px;color: #fc0303;">一楼库后出库坐标:3-1-34、入库坐标:2-1-34</span>
              <span style="font-size: 20px;color: #fc0303;">二楼库前出库坐标:2-2-1、 å…¥åº“坐标:3-2-1</span>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
          <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
            <el-form-item label="任务命令"  prop="TargetAddress">
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/LineInfo.vue
@@ -48,7 +48,7 @@
            <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
                <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
                    <el-form-item label="下一目标地址:">
                        <el-input size="large" v-model="form.SourceAddress" placeholder="请输入起点行列层" />
                        <el-input size="large" v-model="form.TargetAddress" placeholder="请输入下一目标地址" />
                    </el-form-item>
                </el-col>
            </el-row>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/LineInfocopy.vue
@@ -48,7 +48,7 @@
            <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
                <el-col :span="16" :offset="0" :push="0" :pull="0" tag="div">
                    <el-form-item label="下一目标地址:">
                        <el-input size="large" v-model="form.SourceAddress" placeholder="请输入起点行列层" />
                        <el-input size="large" v-model="form.TargetAddress" placeholder="请输入下一目标地址" />
                    </el-form-item>
                </el-col>
            </el-row>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/basicinfo/Dt_StationManager.vue
@@ -16,7 +16,7 @@
export default defineComponent({
    setup() {
        const table = ref({
            key: 'areaID',
            key: 'stationID',
            footer: "Foots",
            cnName: '站台信息',
            name: 'basicinfo/Dt_StationManager',
@@ -24,10 +24,27 @@
            sortName: "AreaCode"
        });
        const editFormFields = ref({
            stationStatus:"",
            stationType:"",
            stationPLC:"",
            roadway:"",
            stationChildCode:"",
            stationArea:"",
            remark:"",
            stationRemark:"",
            stationNextChildCode:"",
            stationLocation:"",
            stationFloor:"",
            rGVName:"",
            levelPointFist:"",
            levelPointSecond:""
        });
        const editFormOptions = ref([
        [
                { "title": "状态", "field": "stationStatus",type: "select",dataKey: "deviceStatus",data: [],},
            ],
        ]);
        const searchFormFields = ref({});
        const searchFormOptions = ref([
@@ -36,29 +53,18 @@
                { "title": "所属PLC", "field": "stationPLC", type: "text" },
                { "title": "巷道号", "field": "roadway", type: "text" },
               
            ],
            [
                { "title": "设备区域", "field": "stationArea", type: "text" },
                { "title": "MOM设备编号", "field": "stationEquipMOM", type: "text" },
                { "title": "NG子设备编号", "field": "stationNGChildCode", type: "text" },
            ],
            [
                { "title": "NG子设备坐标", "field": "remark", type: "text" },
                { "title": "线体编号", "field": "stationChildCode", type: "text" },
                { "title": "产线", "field": "productLine", type: "text" },
            ]
        ]);
        const columns = ref([{ field: 'stationID', title: '主键', type: 'int', sort: true, hidden: true, width: 110, readonly: true, require: true, align: 'left' },
        { field: 'stationType', title: '站台类型', type: 'int', sort: true, width: 110, require: true, align: 'left', sort: true },
        { field: 'stationPLC', title: '所属PLC', type: 'string', sort: true, width: 110, align: 'left' },
        { field: 'roadway', title: '巷道号', type: 'string', sort: true, width: 110, align: 'left' },
        { field: 'roadway', title: '巷道号', type: 'string', sort: true, width: 110, align: 'left' },
        { field: 'stationLocation', title: '堆垛机出入库坐标', type: 'string', sort: true, width: 110, align: 'left' },
        { field: 'stationChildCode', title: '线体编号', type: 'string', sort: true, width: 110, align: 'left' },
        { field: 'stationArea', title: '设备区域', type: 'int', sort: true, width: 100,  align: 'left' },
        { field: 'remark', title: '备注', type: 'string', sort: true, width: 110,  align: 'left' },
        { field: 'stationRemark', title: '备注', type: 'int', sort: true, width: 110, align: 'left',  },
        { field: 'stationStatus', title: '状态', type: 'int', sort: true, width: 110, align: 'left',  },
        { field: 'stationNextChildCode', title: '下一站台', type: 'string', sort: true, width: 110,  align: 'left' },
        { field: 'stationRemark', title: '工位', type: 'int', sort: true, width: 110, align: 'left',  },
        { field: 'stationStatus', title: '状态', type: 'int', sort: true, width: 110, align: 'left', bind: { key: "deviceStatus", data: [] }, },
        { 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: 'modifier', title: '修改人', type: 'string', sort: true, width: 100,  align: 'left' },
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/basicinfo/Dt_WMSErrorMessage.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
<!--
*Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/widesea_wms/basicinfo/Dt_AreaInfo.js此处编写
 -->
<template>
    <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/basicinfo/Dt_WMSErrorMessage.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
    setup() {
        const table = ref({
            key: 'id',
            footer: "Foots",
            cnName: 'WMS异常信息',
            name: 'basicinfo/Dt_WMSErrorMessage',
            url: "/Dt_WMSErrorMessage/",
            sortName: "createDate"
        });
        const editFormFields = ref({
        });
        const editFormOptions = ref([
        ]);
        const searchFormFields = ref({});
        const searchFormOptions = ref([
            [
                { "title": "托盘号", "field": "palletCode", type: "text" },
            ]
        ]);
        const columns = ref([{ field: 'id', title: '主键', type: 'int', sort: true, hidden: true, width: 110, readonly: true, require: true, align: 'left' },
        { field: 'taskNum', title: '任务号', type: 'int', sort: true, width: 110, require: true, align: 'left', sort: true },
        { field: 'palletCode', title: '托盘号', type: 'string', sort: true, width: 110, align: 'left' },
        { field: 'errorMessage', title: '异常信息', type: 'string', sort: true, width: 110, align: 'left' },
        { field: 'creater', title: '创建人', type: 'string', sort: true, width: 150, align: 'left', sort: true ,hidden:true},
        { field: 'createDate', title: '创建时间', type: 'datetime', sort: true, width: 150, align: 'left', sort: true },
        ]);
        const detail = ref({
            cnName: "#detailCnName",
            table: "#detailTable",
            columns: [],
            sortName: "",
            key: ""
        });
        return {
            table,
            extend,
            editFormFields,
            editFormOptions,
            searchFormFields,
            searchFormOptions,
            columns,
            detail,
        };
    },
});
</script>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/taskinfo/task_hty.vue
@@ -74,6 +74,7 @@
      { field: "grade", title: "优先级", type: "int", width: 80, align: "left", },
      { field: "rgvName", title: "RGV名称", type: "string", width: 100, align: "left", },
      { field: "dispatchertime", title: "任务下发时间", type: "datetime", width: 150, align: "left", },
      { field: "operateType", title: "操作类型", type: "string", width: 100, align: "left",bind: { key: "operateTypeEnum", data: [] } },
      { field: "wMSId", title: "WMS任务主键", type: "int", width: 120, align: "left", hidden: true, },
      { field: "creater", title: "创建人", type: "string", width: 90, align: "left", },
      { field: "createDate", title: "创建时间", type: "datetime", width: 150, align: "left", },
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.strings.v9.bin
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json
@@ -3,36 +3,44 @@
  "WorkspaceRootPath": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\aotansiwcs\\\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\\aotansiwcs\\\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\\aotansiwcs\\\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:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\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\\aotansiwcs\\\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\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\aotansiwcs\\\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:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\basicinfo\\dt_wmserrormessage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_wmserrormessage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\aotansiwcs\\\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:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\basicinfo\\dt_stationmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_stationmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
@@ -42,7 +50,7 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 4,
          "SelectedChildIndex": 3,
          "Children": [
            {
              "$type": "Bookmark",
@@ -54,26 +62,13 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "DeviceInfoService.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "ViewState": "AgIAAO4CAAAAAAAAAAA9wEAEAAAYAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-31T01:13:44.444Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "DocumentIndex": 5,
              "Title": "TaskService.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAABMCAAAAAAAAAAAhwCMCAAAdAAAAAAAAAA==",
              "ViewState": "AgIAAOgDAAAAAAAAAAAjwM0EAABpAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-31T01:00:10.426Z",
              "EditorCaption": ""
@@ -81,79 +76,117 @@
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "CommonRGV_FirstFloorJob.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "ViewState": "AgIAAKMBAAAAAAAAAAAxwLkBAAALAQAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-30T09:52:26.156Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "CommonConveyorLineJob.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ViewState": "AgIAAMIAAAAAAAAAAAAUwNUAAAAxAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-24T03:47:03.579Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "CommonStackerCraneJob.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "ViewState": "AgIAAL4AAAAAAAAAAAAAwMsAAAA+AAAAAAAAAA==",
              "ViewState": "AgIAAHAAAAAAAAAAAAAQwLIAAAAMAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-24T03:54:34.335Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "DocumentIndex": 2,
              "Title": "CommonConveyorLineJob.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ViewState": "AgIAAK4AAAAAAAAAAAAUwMEAAAAWAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-24T03:47:03.579Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "Title": "DeviceInfoService.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "ViewState": "AgIAAEgAAAAAAAAAAAAQwOIAAABaAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-31T01:13:44.444Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "RequestInbound.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
              "ViewState": "AgIAAEkAAAAAAAAAAAAAwFgAAAAOAAAAAAAAAA==",
              "ViewState": "AgIAAD0AAAAAAAAAAAAEwFMAAAAjAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-24T04:21:01.123Z",
              "WhenOpened": "2025-08-06T01:22:38.368Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "DocumentIndex": 3,
              "Title": "CommonRGV_FirstFloorJob.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "ViewState": "AgIAAJ8CAAAAAAAAAAAYwK8CAABEAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-30T09:52:26.156Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "Dt_WMSErrorMessage.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_WMSErrorMessage.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_WMSErrorMessage.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_WMSErrorMessage.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_WMSErrorMessage.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAAvAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-04T04:04:34.858Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "CommonRGVJob.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
              "ViewState": "AgIAAAQBAAAAAAAAAADwv/sAAAAgAAAAAAAAAA==",
              "ViewState": "AgIAAKkAAAAAAAAAAAAQwLsAAABlAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-28T04:13:17.74Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "ITaskService.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AgIAAHwAAAAAAAAAAIA7wJcAAABBAAAAAAAAAA==",
              "DocumentIndex": 9,
              "Title": "Dt_StationManager.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_StationManager.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_StationManager.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_StationManager.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_StationManager.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAAvAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-31T04:54:23.912Z",
              "WhenOpened": "2025-08-04T04:04:50.26Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "TaskController.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ViewState": "AgIAABsAAAAAAAAAAAAcwCoAAAA5AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-05T02:40:43.927Z",
              "EditorCaption": ""
            }
          ]
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.json
@@ -7,8 +7,8 @@
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob_firstfloor\\commonrgv_firstfloorjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\aotansiwcs\\\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\\aotansiwcs\\\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:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\service\\deviceinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@@ -19,20 +19,28 @@
      "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\\aotansiwcs\\\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\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\get\\aotansiwcs\\\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:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\basicinfo\\dt_wmserrormessage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_wmserrormessage.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\rgvjob\\commonrgvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\conveyorlinejob\\task\\requestinbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\get\\aotansiwcs\\\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:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|solutionrelative:wideseawcs_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\get\\aotansiwcs\\\u9879\u76EE\u4EE3\u7801\\wcs\\wideseawcs_server\\wideseawcs_model\\models\\basicinfo\\dt_stationmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\basicinfo\\dt_stationmanager.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
@@ -42,7 +50,7 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 4,
          "SelectedChildIndex": 7,
          "Children": [
            {
              "$type": "Bookmark",
@@ -54,54 +62,15 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "DeviceInfoService.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "ViewState": "AgIAAO4CAAAAAAAAAAA9wEAEAAAYAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-31T01:13:44.444Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "DocumentIndex": 5,
              "Title": "TaskService.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAABMCAAAAAAAAAAAhwCMCAAAdAAAAAAAAAA==",
              "ViewState": "AgIAAOgDAAAAAAAAAAAjwM0EAABpAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-31T01:00:10.426Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "CommonRGV_FirstFloorJob.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs*",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs*",
              "ViewState": "AgIAALkCAAAAAAAAAAAAANEAAAAgAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-30T09:52:26.156Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "CommonConveyorLineJob.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ViewState": "AgIAAMIAAAAAAAAAAAAUwNUAAAAxAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-24T03:47:03.579Z",
              "EditorCaption": ""
            },
            {
@@ -112,48 +81,112 @@
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\StackerCraneJob\\CommonStackerCraneJob.cs",
              "ViewState": "AgIAAL4AAAAAAAAAAAAAwMsAAAA+AAAAAAAAAA==",
              "ViewState": "AgIAAHkAAAAAAAAAAAAAAJ4AAAAtAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-24T03:54:34.335Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "DocumentIndex": 1,
              "Title": "CommonConveyorLineJob.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\CommonConveyorLineJob.cs",
              "ViewState": "AgIAAK4AAAAAAAAAAAAUwMEAAAAWAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-24T03:47:03.579Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "DeviceInfoService.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "RelativeToolTip": "WIDESEAWCS_QuartzJob\\Service\\DeviceInfoService.cs",
              "ViewState": "AgIAAD4AAAAAAAAAAAAIwAEDAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-31T01:13:44.444Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "RequestInbound.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\ConveyorLineJob\\Task\\RequestInbound.cs",
              "ViewState": "AgIAAEkAAAAAAAAAAAAAwFgAAAAOAAAAAAAAAA==",
              "ViewState": "AgIAAD0AAAAAAAAAAAAEwFMAAAAjAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-24T04:21:01.123Z",
              "WhenOpened": "2025-08-06T01:22:38.368Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "DocumentIndex": 0,
              "Title": "CommonRGV_FirstFloorJob.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob_FirstFloor\\CommonRGV_FirstFloorJob.cs",
              "ViewState": "AgIAAAEBAAAAAAAAAAAIwK8CAABEAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-30T09:52:26.156Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "Dt_WMSErrorMessage.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_WMSErrorMessage.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_WMSErrorMessage.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_WMSErrorMessage.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_WMSErrorMessage.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAAvAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-04T04:04:34.858Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "CommonRGVJob.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\RGVJob\\CommonRGVJob.cs",
              "ViewState": "AgIAAAQBAAAAAAAAAADwv/sAAAAgAAAAAAAAAA==",
              "ViewState": "AgIAAKkAAAAAAAAAAAAQwLsAAABlAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-28T04:13:17.74Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "ITaskService.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AgIAAHwAAAAAAAAAAIA7wJcAAABBAAAAAAAAAA==",
              "DocumentIndex": 9,
              "Title": "Dt_StationManager.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_StationManager.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_StationManager.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_StationManager.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\BasicInfo\\Dt_StationManager.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAAvAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-07-31T04:54:23.912Z",
              "WhenOpened": "2025-08-04T04:04:50.26Z"
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "TaskController.cs",
              "DocumentMoniker": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ToolTip": "E:\\GET\\AoTanSiWCS\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ViewState": "AgIAABsAAAAAAAAAAAAcwCoAAAA5AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2025-08-05T02:40:43.927Z",
              "EditorCaption": ""
            }
          ]
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/Dt_WMSErrorMessageRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
#region << ç‰ˆ æœ¬ æ³¨ é‡Š >>
/*----------------------------------------------------------------
 * å‘½åç©ºé—´ï¼šWIDESEAWCS_TaskInfoRepository
 * åˆ›å»ºè€…:胡童庆
 * åˆ›å»ºæ—¶é—´ï¼š2024/8/2 16:13:36
 * ç‰ˆæœ¬ï¼šV1.0.0
 * æè¿°ï¼š
 *
 * ----------------------------------------------------------------
 * ä¿®æ”¹äººï¼š
 * ä¿®æ”¹æ—¶é—´ï¼š
 * ç‰ˆæœ¬ï¼šV1.0.1
 * ä¿®æ”¹è¯´æ˜Žï¼š
 *
 *----------------------------------------------------------------*/
#endregion << ç‰ˆ æœ¬ æ³¨ é‡Š >>
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_Model.BasicInfo;
namespace WIDESEAWCS_BasicInfoRepository
{
    public class Dt_WMSErrorMessageRepository : RepositoryBase<Dt_WMSErrorMessage>, IDt_WMSErrorMessageRepository
    {
        public Dt_WMSErrorMessageRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
        {
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/Dt_WMSErrorMessageService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
#region << ç‰ˆ æœ¬ æ³¨ é‡Š >>
/*----------------------------------------------------------------
 * å‘½åç©ºé—´ï¼šWIDESEAWCS_TaskInfoService
 * åˆ›å»ºè€…:胡童庆
 * åˆ›å»ºæ—¶é—´ï¼š2024/8/2 16:13:36
 * ç‰ˆæœ¬ï¼šV1.0.0
 * æè¿°ï¼š
 *
 * ----------------------------------------------------------------
 * ä¿®æ”¹äººï¼š
 * ä¿®æ”¹æ—¶é—´ï¼š
 * ç‰ˆæœ¬ï¼šV1.0.1
 * ä¿®æ”¹è¯´æ˜Žï¼š
 *
 *----------------------------------------------------------------*/
#endregion << ç‰ˆ æœ¬ æ³¨ é‡Š >>
using AutoMapper;
using Microsoft.AspNetCore.Mvc.RazorPages;
using NetTaste;
using Newtonsoft.Json;
using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using SqlSugar;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Reflection.Metadata;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Enums;
using WIDESEAWCS_DTO.Enum;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_IBasicInfoService;
using WIDESEAWCS_Model.BasicInfo;
namespace WIDESEAWCS_BasicInfoService
{
    public class Dt_WMSErrorMessageService : ServiceBase<Dt_WMSErrorMessage, IDt_WMSErrorMessageRepository>, IDt_WMSErrorMessageService
    {
        public Dt_WMSErrorMessageService(IDt_WMSErrorMessageRepository BaseDal) : base(BaseDal)
        {
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/Enum/OperateTypeEnum.cs
@@ -10,6 +10,12 @@
    public enum OperateTypeEnum
    {
        /// <summary>
        /// æ•°æ®åº“操作
        /// </summary>
        [Description("数据库操作")]
        æ•°æ®åº“操作 = 0,
        /// <summary>
        /// äººå·¥åˆ é™¤
        /// </summary>
        [Description("人工删除")]
@@ -50,5 +56,17 @@
        /// </summary>
        [Description("WMS取消")]
        WMS取消 = 7,
        /// <summary>
        /// WCS人工取消
        /// </summary>
        [Description("WCS人工取消")]
        WCS人工取消 = 7,
        /// <summary>
        /// å¼‚常退回
        /// </summary>
        [Description("异常退回")]
        å¼‚常退回 = 8,
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/IDt_WMSErrorMessageRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
#region << ç‰ˆ æœ¬ æ³¨ é‡Š >>
/*----------------------------------------------------------------
 * å‘½åç©ºé—´ï¼šWIDESEAWCS_ITaskInfoRepository
 * åˆ›å»ºè€…:胡童庆
 * åˆ›å»ºæ—¶é—´ï¼š2024/8/2 16:13:36
 * ç‰ˆæœ¬ï¼šV1.0.0
 * æè¿°ï¼š
 *
 * ----------------------------------------------------------------
 * ä¿®æ”¹äººï¼š
 * ä¿®æ”¹æ—¶é—´ï¼š
 * ç‰ˆæœ¬ï¼šV1.0.1
 * ä¿®æ”¹è¯´æ˜Žï¼š
 *
 *----------------------------------------------------------------*/
#endregion << ç‰ˆ æœ¬ æ³¨ é‡Š >>
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Model.BasicInfo;
namespace WIDESEAWCS_IBasicInfoRepository
{
    public interface IDt_WMSErrorMessageRepository : IRepository<Dt_WMSErrorMessage>
    {
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IDt_WMSErrorMessageService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
#region << ç‰ˆ æœ¬ æ³¨ é‡Š >>
/*----------------------------------------------------------------
 * å‘½åç©ºé—´ï¼šWIDESEAWCS_ITaskInfoService
 * åˆ›å»ºè€…:胡童庆
 * åˆ›å»ºæ—¶é—´ï¼š2024/8/2 16:13:36
 * ç‰ˆæœ¬ï¼šV1.0.0
 * æè¿°ï¼š
 *
 * ----------------------------------------------------------------
 * ä¿®æ”¹äººï¼š
 * ä¿®æ”¹æ—¶é—´ï¼š
 * ç‰ˆæœ¬ï¼šV1.0.1
 * ä¿®æ”¹è¯´æ˜Žï¼š
 *
 *----------------------------------------------------------------*/
#endregion << ç‰ˆ æœ¬ æ³¨ é‡Š >>
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Model.BasicInfo;
namespace WIDESEAWCS_IBasicInfoService
{
    public interface IDt_WMSErrorMessageService : IService<Dt_WMSErrorMessage>
    {
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskExecuteDetailService.cs
@@ -29,6 +29,7 @@
    public interface ITaskExecuteDetailService : IService<Dt_TaskExecuteDetail>
    {
        void AddTaskExecuteDetail(int taskId, string description = "");
        void AddTaskExecuteDetailS(int taskNum, string description = "");
        WebResponseContent GetDetailInfo(int taskNum);
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -76,6 +76,20 @@
        WebResponseContent TaskCancel(WMSTaskDTO taskDTO);
        /// <summary>
        /// ä»»åŠ¡å–æ¶ˆ
        /// </summary>
        /// <param name="taskDTO"></param>
        /// <returns></returns>
        WebResponseContent TaskCancel(int taskNum);
        /// <summary>
        /// ä»»åŠ¡æ‰‹åŠ¨å®Œæˆ
        /// </summary>
        /// <param name="taskId"></param>
        /// <returns></returns>
        WebResponseContent TaskComplete(int taskNum);
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址查询输送线未执行的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
@@ -159,6 +173,11 @@
        /// <param name="message">异常信息</param>
        WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message);
        /// <summary>
        /// å°†ä»»åŠ¡çŠ¶æ€ä¿®æ”¹ä¸ºä¸‹ä¸€ä¸ªçŠ¶æ€
        /// </summary>
        /// <param name="taskNum">任务号</param>
        WebResponseContent HandUpdateTaskStatusToNext(int taskNum);
        /// <summary>
        /// å°†ä»»åŠ¡çŠ¶æ€ä¿®æ”¹ä¸ºä¸‹ä¸€ä¸ªçŠ¶æ€
@@ -200,8 +219,6 @@
        /// <param name="taskNum">任务号</param>
        /// <returns>返回处理结果</returns>
        WebResponseContent RollbackTaskStatusToLast(int taskNum);
        WebResponseContent TaskComplete();
        WebResponseContent RequestTask();
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_WMSErrorMessage.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
#region << ç‰ˆ æœ¬ æ³¨ é‡Š >>
/*----------------------------------------------------------------
 * å‘½åç©ºé—´ï¼šWIDESEAWCS_Model.Models.TaskInfo
 * åˆ›å»ºè€…:胡童庆
 * åˆ›å»ºæ—¶é—´ï¼š2024/8/2 16:13:36
 * ç‰ˆæœ¬ï¼šV1.0.0
 * æè¿°ï¼š
 *
 * ----------------------------------------------------------------
 * ä¿®æ”¹äººï¼š
 * ä¿®æ”¹æ—¶é—´ï¼š
 * ç‰ˆæœ¬ï¼šV1.0.1
 * ä¿®æ”¹è¯´æ˜Žï¼š
 *
 *----------------------------------------------------------------*/
#endregion << ç‰ˆ æœ¬ æ³¨ é‡Š >>
using Magicodes.ExporterAndImporter.Core;
using SqlSugar;
using WIDESEAWCS_Core.DB.Models;
namespace WIDESEAWCS_Model.BasicInfo
{
    [SugarTable(nameof(Dt_WMSErrorMessage), "WMS异常信息")]
    public class Dt_WMSErrorMessage: BaseEntity
    {
        /// <summary>
        /// ä¸»é”®
        /// </summary>
        [ImporterHeader(Name = "主键")]
        [ExporterHeader(DisplayName = "主键")]
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int ID { get; set; }
        /// <summary>
        /// ä»»åŠ¡å·
        /// </summary>
        [ImporterHeader(Name = "任务号")]
        [ExporterHeader(DisplayName = "任务号")]
        [SugarColumn(IsNullable = false, ColumnDescription = "任务号")]
        public int TaskNum { get; set; }
        /// <summary>
        /// æ‰˜ç›˜å·
        /// </summary>
        [ImporterHeader(Name = "托盘号")]
        [ExporterHeader(DisplayName = "托盘号")]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "托盘号")]
        public string PalletCode { get; set; }
        /// <summary>
        /// å¼‚常信息
        /// </summary>
        [ImporterHeader(Name = "异常信息")]
        [ExporterHeader(DisplayName = "异常信息")]
        [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "异常信息")]
        public string ErrorMessage { get; set; }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs
@@ -22,8 +22,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common.Log;
using WIDESEAWCS_BasicInfoRepository;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseRepository;
@@ -73,6 +75,7 @@
        public WebResponseContent StackerHandTask(HandTask stackerhand)
        {
            WriteLog.GetLog("堆垛机手动任务").Write(JsonConvert.SerializeObject(stackerhand), "堆垛机手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -90,8 +93,8 @@
                    if (sourceCodes.Length == 3)
                    {
                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                        stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                        stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
                        stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[2]);
                        stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[1]);
                    }
                    else
                    {
@@ -102,8 +105,8 @@
                    if (targetCodes.Length == 3)
                    {
                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                        stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                        stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                        stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[2]);
                        stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[1]);
                    }
                    else
                    {
@@ -117,8 +120,8 @@
                    if (sourceCodes.Length == 3)
                    {
                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                        stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                        stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
                        stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[2]);
                        stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[1]);
                    }
                    else
                    {
@@ -128,8 +131,8 @@
                    if (targetCodes.Length == 3)
                    {
                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                        stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                        stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                        stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[2]);
                        stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[1]);
                    }
                    else
                    {
@@ -143,8 +146,8 @@
                    if (sourceCodes.Length == 3)
                    {
                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                        stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                        stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
                        stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[2]);
                        stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[1]);
                    }
                    else
                    {
@@ -155,8 +158,8 @@
                    if (targetCodes.Length == 3)
                    {
                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                        stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                        stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                        stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[2]);
                        stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[1]);
                    }
                    else
                    {
@@ -170,8 +173,8 @@
                    if (sourceCodes.Length == 3)
                    {
                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                        stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                        stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
                        stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[2]);
                        stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[1]);
                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(0);
                        stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(0);
@@ -193,8 +196,8 @@
                        stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(0);
                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                        stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                        stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                        stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[2]);
                        stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[1]);
                    }
                    else
                    {
@@ -205,8 +208,10 @@
                {
                    return content.Error("未找到任务命令");
                }
                StackerSendCommand(stackerCraneTaskCommand, stackerhand.DeviceCode);
                return content;
                return content.OK("命令下发成功!");
            }
            catch (Exception ex)
            {
@@ -216,6 +221,7 @@
        public WebResponseContent StackerReset(string DeviceCode)
        {
            WriteLog.GetLog("堆垛机手动任务").Write($"【复位命令】{JsonConvert.SerializeObject(DeviceCode)}", "堆垛机手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -225,7 +231,7 @@
                {
                    CommonStackerCrane commonStackerCrane = (CommonStackerCrane)device;
                    commonStackerCrane.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(2));
                    commonStackerCrane.SetValue(StackerCraneDBName.WorkType, Convert.ToSByte(2));
                    return content.OK();
                }
                else
@@ -241,6 +247,7 @@
        public WebResponseContent StackerEmergencyStop(string DeviceCode)
        {
            WriteLog.GetLog("堆垛机手动任务").Write($"【急停命令】{JsonConvert.SerializeObject(DeviceCode)}", "堆垛机手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -250,7 +257,7 @@
                {
                    CommonStackerCrane commonStackerCrane = (CommonStackerCrane)device;
                    commonStackerCrane.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(2));
                    commonStackerCrane.SetValue(StackerCraneDBName.WorkType, Convert.ToSByte(2));
                    return content.OK();
                }
                else
@@ -282,7 +289,7 @@
                    commonStackerCrane.SetValue(StackerCraneDBName.StartColumn, command.StartColumn);
                    Thread.Sleep(100);
                    commonStackerCrane.SetValue(StackerCraneDBName.StartColumn, command.StartLayer);
                    commonStackerCrane.SetValue(StackerCraneDBName.StartLayer, command.StartLayer);
                    Thread.Sleep(100);
                    commonStackerCrane.SetValue(StackerCraneDBName.EndRow, command.EndRow);
@@ -292,11 +299,11 @@
                    Thread.Sleep(100);
                    commonStackerCrane.SetValue(StackerCraneDBName.EndLayer, command.EndLayer);
                    Thread.Sleep(100);
                    commonStackerCrane.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(command.WorkType));
                    commonStackerCrane.SetValue(StackerCraneDBName.WorkType, Convert.ToSByte(command.WorkType));
                }
                else
                {
                    throw new Exception("请在堆垛机联机模式、待机状态、无故障的情况下下发任务");
                    throw new Exception($"请在{commonStackerCrane.DeviceName}联机模式、待机状态、无故障的情况下下发任务");
                }
            }
            else
@@ -540,6 +547,7 @@
        public WebResponseContent ConveyorLineHandTask(HandTask ConveyorLinehand)
        {
            WriteLog.GetLog("输送线手动任务").Write(JsonConvert.SerializeObject(ConveyorLinehand), "输送线手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -554,6 +562,12 @@
                    if (device != null)
                    {
                        CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
                        short x = conveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.InteractiveSignal, stationManager.stationChildCode);
                        var structs = BitConverter.GetBytes(x).ToArray().ToBoolArray();
                        if (!structs[2])
                        {
                            return content.Error($"请在{stationManager.stationChildCode}输送线就绪情况下下发命令");
                        }
                        //入库
                        if (ConveyorLinehand.TaskType == "1")
                        {
@@ -590,6 +604,7 @@
        public WebResponseContent ConveyorLineReset(string DeviceChildCode)
        {
            WriteLog.GetLog("输送线手动任务").Write($"【复位命令】{JsonConvert.SerializeObject(DeviceChildCode)}", "输送线手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -614,6 +629,7 @@
        public WebResponseContent ConveyorLineEmergencyStop(string DeviceChildCode)
        {
            WriteLog.GetLog("输送线手动任务").Write($"【急停命令】{JsonConvert.SerializeObject(DeviceChildCode)}", "输送线手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -637,6 +653,7 @@
        }
        public WebResponseContent ConveyorLineReturn(string DeviceChildCode)
        {
            WriteLog.GetLog("输送线手动任务").Write($"【退回命令】{JsonConvert.SerializeObject(DeviceChildCode)}", "输送线手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -660,6 +677,7 @@
        }
        public WebResponseContent ConveyorLineCancel(string DeviceChildCode)
        {
            WriteLog.GetLog("输送线手动任务").Write($"【取消命令】{JsonConvert.SerializeObject(DeviceChildCode)}", "输送线手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -683,6 +701,7 @@
        }
        public WebResponseContent ConveyorLineInitialize(string DeviceChildCode)
        {
            WriteLog.GetLog("输送线手动任务").Write($"【初始化命令】{JsonConvert.SerializeObject(DeviceChildCode)}", "输送线手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -723,6 +742,7 @@
            13 => "预留4",
            14 => "预留5",
            15 => "预留6",
            _ => $"未知报警({Alarm})"
        };
        public enum ConveyorLineDBName
@@ -750,6 +770,7 @@
        #region  RGV手动命令
        public WebResponseContent RGVHandTask(HandTask RGVhand)
        {
            WriteLog.GetLog("RGV手动任务").Write(JsonConvert.SerializeObject(RGVhand), "RGV手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -763,227 +784,241 @@
                    if (RGVhand.DeviceCode == "RGV01" || RGVhand.DeviceCode == "RGV02")
                    {
                        CommonRGV_FirstFloor RGVcommand = (CommonRGV_FirstFloor)device;
                        if (RGVhand.TaskType == "1")
                        if (RGVcommand.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !RGVcommand.GetValue<RGVDBName, bool>(RGVDBName.Fault) && !RGVcommand.GetValue<RGVDBName, bool>(RGVDBName.Running))
                        {
                            if (RGVhand.SourceAddress != null)
                            if (RGVhand.TaskType == "1")
                            {
                                RGVTaskCommand command = new RGVTaskCommand()
                                if (RGVhand.SourceAddress != null)
                                {
                                    PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress),
                                    TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                };
                                SendCommandFirstFloor(RGVcommand, command);
                                return content.OK($"{device.DeviceName}取定位命令下发成功");
                            }
                            else
                            {
                                return content.Error($"{device.DeviceName}取定位命令取货位不能为空");
                            }
                                    RGVTaskCommand command = new RGVTaskCommand()
                                    {
                                        PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress),
                                        TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                    };
                                    SendCommandFirstFloor(RGVcommand, command);
                                    return content.OK($"{device.DeviceName}取定位命令下发成功");
                                }
                                else
                                {
                                    return content.Error($"{device.DeviceName}取定位命令取货位不能为空");
                                }
                        }
                        else if (RGVhand.TaskType == "2")
                        {
                            if (RGVhand.TargetAddress != null)
                            }
                            else if (RGVhand.TaskType == "2")
                            {
                                RGVTaskCommand command = new RGVTaskCommand()
                                if (RGVhand.TargetAddress != null)
                                {
                                    PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                    TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                };
                                SendCommandFirstFloor(RGVcommand, command);
                                return content.OK($"{device.DeviceName}放定位命令下发成功");
                                    RGVTaskCommand command = new RGVTaskCommand()
                                    {
                                        PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                        TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                    };
                                    SendCommandFirstFloor(RGVcommand, command);
                                    return content.OK($"{device.DeviceName}放定位命令下发成功");
                                }
                                else
                                {
                                    return content.Error($"{device.DeviceName}放定位命令放货位不能为空");
                                }
                            }
                            else if (RGVhand.TaskType == "3")
                            {
                                if (RGVhand.SourceAddress != null)
                                {
                                    RGVTaskCommand command = new RGVTaskCommand()
                                    {
                                        PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress),
                                        TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                    };
                                    SendCommandFirstFloor(RGVcommand, command);
                                    return content.OK($"{device.DeviceName}取货命令下发成功");
                                }
                                else
                                {
                                    return content.Error($"{device.DeviceName}取货命令取货位不能为空");
                                }
                            }
                            else if (RGVhand.TaskType == "4")
                            {
                                if (RGVhand.TargetAddress != null)
                                {
                                    RGVTaskCommand command = new RGVTaskCommand()
                                    {
                                        PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                        TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                    };
                                    SendCommandFirstFloor(RGVcommand, command);
                                    return content.OK($"{device.DeviceName}放货命令下发成功");
                                }
                                else
                                {
                                    return content.Error($"{device.DeviceName}放货命令放货位不能为空");
                                }
                            }
                            else if (RGVhand.TaskType == "5")
                            {
                                if (RGVhand.TargetAddress != null && RGVhand.TargetAddress != null)
                                {
                                    RGVTaskCommand command = new RGVTaskCommand()
                                    {
                                        PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress),
                                        PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                        TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                    };
                                    SendCommandFirstFloor(RGVcommand, command);
                                    return content.OK($"{device.DeviceName}取放货命令下发成功");
                                }
                                else
                                {
                                    return content.Error($"{device.DeviceName}取放货命令放货位和取货位不能为空");
                                }
                            }
                            else if (RGVhand.TaskType == "6")
                            {
                                if (RGVhand.TargetAddress != null)
                                {
                                    RGVTaskCommand command = new RGVTaskCommand()
                                    {
                                        PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                        TaskType = (byte)Convert.ToSByte(4),
                                    };
                                    SendCommandFirstFloor(RGVcommand, command);
                                    return content.OK($"{device.DeviceName}退命令下发成功");
                                }
                                else
                                {
                                    return content.Error($"{device.DeviceName}退回命令放货位不能为空");
                                }
                            }
                            else
                            {
                                return content.Error($"{device.DeviceName}放定位命令放货位不能为空");
                            }
                        }
                        else if (RGVhand.TaskType == "3")
                        {
                            if (RGVhand.SourceAddress != null)
                            {
                                RGVTaskCommand command = new RGVTaskCommand()
                                {
                                    PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress),
                                    TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                };
                                SendCommandFirstFloor(RGVcommand, command);
                                return content.OK($"{device.DeviceName}取货命令下发成功");
                            }
                            else
                            {
                                return content.Error($"{device.DeviceName}取货命令取货位不能为空");
                            }
                        }
                        else if (RGVhand.TaskType == "4")
                        {
                            if (RGVhand.TargetAddress != null)
                            {
                                RGVTaskCommand command = new RGVTaskCommand()
                                {
                                    PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                    TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                };
                                SendCommandFirstFloor(RGVcommand, command);
                                return content.OK($"{device.DeviceName}放货命令下发成功");
                            }
                            else
                            {
                                return content.Error($"{device.DeviceName}放货命令放货位不能为空");
                            }
                        }
                        else if (RGVhand.TaskType == "5")
                        {
                            if (RGVhand.TargetAddress != null && RGVhand.TargetAddress != null)
                            {
                                RGVTaskCommand command = new RGVTaskCommand()
                                {
                                    PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress),
                                    PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                    TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                };
                                SendCommandFirstFloor(RGVcommand, command);
                                return content.OK($"{device.DeviceName}取放货命令下发成功");
                            }
                            else
                            {
                                return content.Error($"{device.DeviceName}取放货命令放货位和取货位不能为空");
                            }
                        }
                        else if (RGVhand.TaskType == "6")
                        {
                            if (RGVhand.TargetAddress != null)
                            {
                                RGVTaskCommand command = new RGVTaskCommand()
                                {
                                    PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                    TaskType = (byte)Convert.ToSByte(4),
                                };
                                SendCommandFirstFloor(RGVcommand, command);
                                return content.OK($"{device.DeviceName}退命令下发成功");
                            }
                            else
                            {
                                return content.Error($"{device.DeviceName}退回命令放货位不能为空");
                                return content.Error($"{device.DeviceName}未知任务命令");
                            }
                        }
                        else
                        {
                            return content.Error($"{device.DeviceName}未知任务命令");
                            return content.Error($"请在联机模式、无故障、待机状态时再下发{RGVcommand.DeviceName}命令");
                        }
                    }
                    else
                    {
                        CommonRGV RGVcommand = (CommonRGV)device;
                        if (RGVhand.TaskType == "1")
                        if (RGVcommand.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !RGVcommand.GetValue<RGVDBName, bool>(RGVDBName.Fault) && !RGVcommand.GetValue<RGVDBName, bool>(RGVDBName.Running))
                        {
                            if (RGVhand.SourceAddress != null)
                            if (RGVhand.TaskType == "1")
                            {
                                RGVTaskCommand command = new RGVTaskCommand()
                                if (RGVhand.SourceAddress != null)
                                {
                                    PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress),
                                    TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                };
                                SendCommandSecondFloor(RGVcommand, command);
                                return content.OK($"{device.DeviceName}取定位命令下发成功");
                            }
                            else
                            {
                                return content.Error($"{device.DeviceName}取定位命令取货位不能为空");
                            }
                                    RGVTaskCommand command = new RGVTaskCommand()
                                    {
                                        PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress),
                                        TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                    };
                                    SendCommandSecondFloor(RGVcommand, command);
                                    return content.OK($"{device.DeviceName}取定位命令下发成功");
                                }
                                else
                                {
                                    return content.Error($"{device.DeviceName}取定位命令取货位不能为空");
                                }
                        }
                        else if (RGVhand.TaskType == "2")
                        {
                            if (RGVhand.TargetAddress != null)
                            }
                            else if (RGVhand.TaskType == "2")
                            {
                                RGVTaskCommand command = new RGVTaskCommand()
                                if (RGVhand.TargetAddress != null)
                                {
                                    PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                    TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                };
                                SendCommandSecondFloor(RGVcommand, command);
                                return content.OK($"{device.DeviceName}放定位命令下发成功");
                                    RGVTaskCommand command = new RGVTaskCommand()
                                    {
                                        PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                        TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                    };
                                    SendCommandSecondFloor(RGVcommand, command);
                                    return content.OK($"{device.DeviceName}放定位命令下发成功");
                                }
                                else
                                {
                                    return content.Error($"{device.DeviceName}放定位命令放货位不能为空");
                                }
                            }
                            else if (RGVhand.TaskType == "3")
                            {
                                if (RGVhand.SourceAddress != null)
                                {
                                    RGVTaskCommand command = new RGVTaskCommand()
                                    {
                                        PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress),
                                        TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                    };
                                    SendCommandSecondFloor(RGVcommand, command);
                                    return content.OK($"{device.DeviceName}取货命令下发成功");
                                }
                                else
                                {
                                    return content.Error($"{device.DeviceName}取货命令取货位不能为空");
                                }
                            }
                            else if (RGVhand.TaskType == "4")
                            {
                                if (RGVhand.TargetAddress != null)
                                {
                                    RGVTaskCommand command = new RGVTaskCommand()
                                    {
                                        PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                        TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                    };
                                    SendCommandSecondFloor(RGVcommand, command);
                                    return content.OK($"{device.DeviceName}放货命令下发成功");
                                }
                                else
                                {
                                    return content.Error($"{device.DeviceName}放货命令放货位不能为空");
                                }
                            }
                            else if (RGVhand.TaskType == "5")
                            {
                                if (RGVhand.TargetAddress != null && RGVhand.TargetAddress != null)
                                {
                                    RGVTaskCommand command = new RGVTaskCommand()
                                    {
                                        PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress),
                                        PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                        TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                    };
                                    SendCommandSecondFloor(RGVcommand, command);
                                    return content.OK($"{device.DeviceName}取放货命令下发成功");
                                }
                                else
                                {
                                    return content.Error("取放货命令放货位和取货位不能为空");
                                }
                            }
                            else if (RGVhand.TaskType == "6")
                            {
                                if (RGVhand.TargetAddress != null)
                                {
                                    RGVTaskCommand command = new RGVTaskCommand()
                                    {
                                        PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                        TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                    };
                                    SendCommandSecondFloor(RGVcommand, command);
                                    return content.OK($"{device.DeviceName}退回命令下发成功");
                                }
                                else
                                {
                                    return content.Error($"{device.DeviceName}退回命令放货位不能为空");
                                }
                            }
                            else
                            {
                                return content.Error($"{device.DeviceName}放定位命令放货位不能为空");
                            }
                        }
                        else if (RGVhand.TaskType == "3")
                        {
                            if (RGVhand.SourceAddress != null)
                            {
                                RGVTaskCommand command = new RGVTaskCommand()
                                {
                                    PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress),
                                    TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                };
                                SendCommandSecondFloor(RGVcommand, command);
                                return content.OK($"{device.DeviceName}取货命令下发成功");
                            }
                            else
                            {
                                return content.Error($"{device.DeviceName}取货命令取货位不能为空");
                            }
                        }
                        else if (RGVhand.TaskType == "4")
                        {
                            if (RGVhand.TargetAddress != null)
                            {
                                RGVTaskCommand command = new RGVTaskCommand()
                                {
                                    PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                    TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                };
                                SendCommandSecondFloor(RGVcommand, command);
                                return content.OK($"{device.DeviceName}放货命令下发成功");
                            }
                            else
                            {
                                return content.Error($"{device.DeviceName}放货命令放货位不能为空");
                            }
                        }
                        else if (RGVhand.TaskType == "5")
                        {
                            if (RGVhand.TargetAddress != null && RGVhand.TargetAddress != null)
                            {
                                RGVTaskCommand command = new RGVTaskCommand()
                                {
                                    PickupLocation = (byte)Convert.ToSByte(RGVhand.SourceAddress),
                                    PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                    TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                };
                                SendCommandSecondFloor(RGVcommand, command);
                                return content.OK($"{device.DeviceName}取放货命令下发成功");
                            }
                            else
                            {
                                return content.Error("取放货命令放货位和取货位不能为空");
                            }
                        }
                        else if (RGVhand.TaskType == "6")
                        {
                            if (RGVhand.TargetAddress != null)
                            {
                                RGVTaskCommand command = new RGVTaskCommand()
                                {
                                    PutcargoLocation = (byte)Convert.ToSByte(RGVhand.TargetAddress),
                                    TaskType = (byte)Convert.ToSByte(RGVhand.TaskType),
                                };
                                SendCommandSecondFloor(RGVcommand, command);
                                return content.OK($"{device.DeviceName}退回命令下发成功");
                            }
                            else
                            {
                                return content.Error($"{device.DeviceName}退回命令放货位不能为空");
                                return content.Error($"{device.DeviceName}未知任务命令");
                            }
                        }
                        else
                        {
                            return content.Error($"{device.DeviceName}未知任务命令");
                            return content.Error($"请在联机模式、无故障、待机状态时再下发{RGVcommand.DeviceName}命令");
                        }
                    }
                    }
                }
                return content.Error("未找到设备信息请联系IT");
            }
@@ -995,6 +1030,7 @@
        public WebResponseContent RGVReset(string DeviceCode)
        {
            WriteLog.GetLog("RGV手动任务").Write($"【复位命令】{JsonConvert.SerializeObject(DeviceCode)}", "RGV手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -1004,12 +1040,12 @@
                    if (DeviceCode == "RGV01" || DeviceCode == "RGV02")
                    {
                        CommonRGV_FirstFloor commonRGV = (CommonRGV_FirstFloor)device;
                        commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(9));
                        commonRGV.SetValue(RGVDBName.TaskType, Convert.ToSByte(9));
                    }
                    else
                    {
                        CommonRGV commonRGV = (CommonRGV)device;
                        commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(9));
                        commonRGV.SetValue(RGVDBName.TaskType, Convert.ToSByte(9));
                    }
                    return content.OK($"{device.DeviceName}复位成功");
                }
@@ -1023,6 +1059,7 @@
        public WebResponseContent RGVEmergencyStop(string DeviceCode)
        {
            WriteLog.GetLog("RGV手动任务").Write($"【急停命令】{JsonConvert.SerializeObject(DeviceCode)}", "RGV手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -1050,6 +1087,7 @@
        }
        public WebResponseContent RGVCancel(string DeviceCode)
        {
            WriteLog.GetLog("RGV手动任务").Write($"【取消任务命令】{JsonConvert.SerializeObject(DeviceCode)}", "RGV手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -1077,6 +1115,7 @@
        }
        public WebResponseContent RGVInitialize(string DeviceCode)
        {
            WriteLog.GetLog("RGV手动任务").Write($"【初始化命令】{JsonConvert.SerializeObject(DeviceCode)}", "RGV手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -1088,15 +1127,21 @@
                    {
                        CommonRGV_FirstFloor commonRGV = (CommonRGV_FirstFloor)device;
                        DeviceProDTO? devicePro = commonRGV.DeviceProDTOs.Where(x => x.DeviceChildCode == commonRGV.DeviceCode && x.DeviceProParamName == "TaskType").FirstOrDefault();
                        byte[] byt = Encoding.UTF8.GetBytes("08");
                        commonRGV.Communicator.Write(devicePro.DeviceProAddress, byt);
                        //byte[] byt = Encoding.UTF8.GetBytes("08");
                        byte valueToWrite = 8;
                        byte[] buffer = new byte[] { valueToWrite };
                        commonRGV.Communicator.Write(devicePro.DeviceProAddress, buffer);
                    }
                    else
                    {
                        CommonRGV commonRGV = (CommonRGV)device;
                        DeviceProDTO? devicePro = commonRGV.DeviceProDTOs.Where(x => x.DeviceChildCode == commonRGV.DeviceCode && x.DeviceProParamName == "TaskType").FirstOrDefault();
                        byte[] byt = Encoding.UTF8.GetBytes("8");
                        commonRGV.Communicator.Write(devicePro.DeviceProAddress, byt);
                        byte valueToWrite = 8;
                        byte[] buffer = new byte[] { valueToWrite };
                        commonRGV.Communicator.Write(devicePro.DeviceProAddress, buffer);
                    }
                    return content.OK($"{device.DeviceName}初始化成功");
                }
@@ -1110,6 +1155,7 @@
        public WebResponseContent RGVPause(string DeviceCode)
        {
            WriteLog.GetLog("RGV手动任务").Write($"【停止命令】{JsonConvert.SerializeObject(DeviceCode)}", "RGV手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
@@ -1194,6 +1240,25 @@
            #endregion <Public Menber>
        }
        public enum RGVDBName
        {
            SendTask,
            Automatic,
            WorkCompleted,
            Running,
            Fault,
            InStock,
            RGVTargetAddress,
            RGVTaskNum,
            PickupLocation,
            PutcargoLocation,
            TaskType,
            TaskNum,
            LevelPoint,
            CurrentTaskNum,
            RGVAlarm,
        }
        #endregion
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/Dt_WMSErrorMessageController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
using Microsoft.AspNetCore.Mvc;
using WIDESEAWCS_Core.BaseController;
using WIDESEAWCS_IBasicInfoService;
using WIDESEAWCS_Model.BasicInfo;
namespace WIDESEAWCS_Server.Controllers.BasicInfo
{
    [Route("api/Dt_WMSErrorMessage")]
    [ApiController]
    public class Dt_WMSErrorMessageController : ApiBaseController<IDt_WMSErrorMessageService, Dt_WMSErrorMessage>
    {
        private readonly IHttpContextAccessor _httpContextAccessor;
        public Dt_WMSErrorMessageController(IDt_WMSErrorMessageService service, IHttpContextAccessor httpContextAccessor) : base(service)
        {
            _httpContextAccessor = httpContextAccessor;
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/Task/TaskController.cs
@@ -39,6 +39,18 @@
            return Service.TaskCancel(taskDTOs);
        }
        [HttpPost,HttpGet, Route("HandTaskCancel"), AllowAnonymous]
        public WebResponseContent TaskCancel(int taskNum)
        {
            return Service.TaskCancel(taskNum);
        }
        [HttpPost,HttpGet, Route("TaskComplete"), AllowAnonymous]
        public WebResponseContent TaskComplete(int taskNum)
        {
            return Service.TaskComplete(taskNum);
        }
        [HttpPost, HttpGet, Route("UpdateTaskExceptionMessage")]
        public WebResponseContent UpdateTaskExceptionMessage(int taskNum, string message)
        {
@@ -51,6 +63,12 @@
            return Service.UpdateTaskStatusToNext(taskNum);
        }
        [HttpPost, HttpGet, Route("HandUpdateTaskStatusToNext")]
        public WebResponseContent HandUpdateTaskStatusToNext(int taskNum)
        {
            return Service.HandUpdateTaskStatusToNext(taskNum);
        }
        [HttpPost, HttpGet, Route("TaskStatusRecovery")]
        public WebResponseContent TaskStatusRecovery(int taskNum)
        {
@@ -61,17 +79,6 @@
        public WebResponseContent RollbackTaskStatusToLast(int taskNum)
        {
            return Service.RollbackTaskStatusToLast(taskNum);
        }
        [HttpPost, HttpGet, Route("TaskComplete"), AllowAnonymous]
        public WebResponseContent TaskComplete()
        {
            return Service.TaskComplete();
        }
        [HttpPost, HttpGet, Route("RequestTask"), AllowAnonymous]
        public WebResponseContent RequestTask()
        {
            return Service.RequestTask();
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- https://go.microsoft.com/fwlink/?LinkID=208121. -->
<Project>
  <PropertyGroup>
    <DeleteExistingFiles>false</DeleteExistingFiles>
    <ExcludeApp_Data>false</ExcludeApp_Data>
    <LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <PublishProvider>FileSystem</PublishProvider>
    <PublishUrl>bin\Release\net6.0\publish\</PublishUrl>
    <WebPublishMethod>FileSystem</WebPublishMethod>
    <_TargetId>Folder</_TargetId>
  </PropertyGroup>
</Project>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- https://go.microsoft.com/fwlink/?LinkID=208121. -->
<Project>
  <PropertyGroup>
    <_PublishTargetUrl>E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\bin\Release\net6.0\publish\</_PublishTargetUrl>
    <History>True|2025-08-06T08:05:13.6764446Z||;True|2025-08-06T15:48:26.9347397+08:00||;True|2025-08-06T15:24:30.4982821+08:00||;True|2025-08-06T15:23:27.4513567+08:00||;True|2025-08-06T14:57:04.0476264+08:00||;True|2025-08-06T14:43:06.1306795+08:00||;True|2025-08-06T14:30:32.8125962+08:00||;True|2025-08-06T14:22:42.8305756+08:00||;True|2025-08-06T14:08:24.3056726+08:00||;True|2025-08-06T12:49:07.0122619+08:00||;True|2025-08-06T09:53:47.1995016+08:00||;True|2025-08-06T09:23:43.4599118+08:00||;True|2025-08-06T09:17:41.5263742+08:00||;True|2025-08-01T13:15:58.0733845+08:00||;</History>
    <LastFailureDetails />
  </PropertyGroup>
</Project>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj.user
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <NameOfLastUsedPublishProfile>E:\GET\JiangXiJiuJiang\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\Properties\PublishProfiles\FolderProfile2.pubxml</NameOfLastUsedPublishProfile>
  </PropertyGroup>
</Project>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-06/Error_CommonStackerStationCraneJob_15-59-56.log
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,209 @@
【2025/8/6 15:59:56】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 15:59:57】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 15:59:58】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 15:59:59】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:00】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:01】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:02】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:03】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:04】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:05】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:06】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:07】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:08】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:09】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:10】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:11】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:12】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:00:13】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
【2025/8/6 16:02:23】
test
错误信息:Non-exhaustive switch expression failed to match its input.
Unmatched value was 5243396.
错误源:WIDESEAWCS_Tasks
错误堆栈:   at <PrivateImplementationDetails>.ThrowSwitchExpressionException(Object unmatchedValue)
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.<Execute>g__StackerCraneAlarm|8_5(UInt32 alarm) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 125
   at WIDESEAWCS_Tasks.CommonStackerCraneJob.Execute(IJobExecutionContext context) in E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\StackerCraneJob\CommonStackerCraneJob.cs:line 160
错误类型:System.Runtime.CompilerServices.SwitchExpressionException
错误方法:Void ThrowSwitchExpressionException(System.Object)
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/bin/Debug/net6.0/Log/2025-08-06/Info_¶Ñ¶â»úÈÎÎñÍê³É_15-58-38.log
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,180 @@
【2025/8/6 15:58:38】
四号堆垛机完成任务号0
【2025/8/6 15:58:39】
四号堆垛机完成任务号0
【2025/8/6 15:58:39】
四号堆垛机完成任务号0
【2025/8/6 15:58:39】
四号堆垛机完成任务号0
【2025/8/6 15:58:39】
四号堆垛机完成任务号0
【2025/8/6 15:58:40】
四号堆垛机完成任务号0
【2025/8/6 15:58:41】
四号堆垛机完成任务号0
【2025/8/6 15:58:42】
四号堆垛机完成任务号0
【2025/8/6 15:58:43】
四号堆垛机完成任务号0
【2025/8/6 15:58:44】
四号堆垛机完成任务号0
【2025/8/6 15:58:45】
四号堆垛机完成任务号0
【2025/8/6 15:58:46】
四号堆垛机完成任务号0
【2025/8/6 15:58:47】
四号堆垛机完成任务号0
【2025/8/6 15:58:48】
四号堆垛机完成任务号0
【2025/8/6 15:58:55】
四号堆垛机完成任务号0
【2025/8/6 15:59:36】
四号堆垛机完成任务号0
【2025/8/6 15:59:36】
四号堆垛机完成任务号0
【2025/8/6 15:59:36】
四号堆垛机完成任务号0
【2025/8/6 15:59:36】
四号堆垛机完成任务号0
【2025/8/6 15:59:37】
四号堆垛机完成任务号0
【2025/8/6 15:59:38】
四号堆垛机完成任务号0
【2025/8/6 15:59:39】
四号堆垛机完成任务号0
【2025/8/6 15:59:40】
四号堆垛机完成任务号0
【2025/8/6 15:59:41】
四号堆垛机完成任务号0
【2025/8/6 15:59:42】
四号堆垛机完成任务号0
【2025/8/6 15:59:43】
四号堆垛机完成任务号0
【2025/8/6 15:59:44】
四号堆垛机完成任务号0
【2025/8/6 15:59:45】
四号堆垛机完成任务号0
【2025/8/6 15:59:46】
四号堆垛机完成任务号0
【2025/8/6 15:59:47】
四号堆垛机完成任务号0
【2025/8/6 15:59:48】
四号堆垛机完成任务号0
【2025/8/6 15:59:49】
四号堆垛机完成任务号0
【2025/8/6 15:59:50】
四号堆垛机完成任务号0
【2025/8/6 15:59:51】
四号堆垛机完成任务号0
【2025/8/6 15:59:52】
四号堆垛机完成任务号0
【2025/8/6 15:59:53】
四号堆垛机完成任务号0
【2025/8/6 15:59:54】
四号堆垛机完成任务号0
【2025/8/6 15:59:55】
四号堆垛机完成任务号0
【2025/8/6 15:59:56】
四号堆垛机完成任务号0
【2025/8/6 15:59:57】
四号堆垛机完成任务号0
【2025/8/6 15:59:58】
四号堆垛机完成任务号0
【2025/8/6 15:59:59】
四号堆垛机完成任务号0
【2025/8/6 16:00:00】
四号堆垛机完成任务号0
【2025/8/6 16:00:01】
四号堆垛机完成任务号0
【2025/8/6 16:00:02】
四号堆垛机完成任务号0
【2025/8/6 16:00:03】
四号堆垛机完成任务号0
【2025/8/6 16:00:04】
四号堆垛机完成任务号0
【2025/8/6 16:00:05】
四号堆垛机完成任务号0
【2025/8/6 16:00:06】
四号堆垛机完成任务号0
【2025/8/6 16:00:07】
四号堆垛机完成任务号0
【2025/8/6 16:00:08】
四号堆垛机完成任务号0
【2025/8/6 16:00:09】
四号堆垛机完成任务号0
【2025/8/6 16:00:10】
四号堆垛机完成任务号0
【2025/8/6 16:00:11】
四号堆垛机完成任务号0
【2025/8/6 16:00:12】
四号堆垛机完成任务号0
【2025/8/6 16:00:13】
四号堆垛机完成任务号0
【2025/8/6 16:00:14】
四号堆垛机完成任务号0
【2025/8/6 16:02:06】
四号堆垛机完成任务号0
【2025/8/6 16:02:11】
四号堆垛机完成任务号0
【2025/8/6 16:02:24】
四号堆垛机完成任务号0
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Release/net6.0/PublishOutputs.9e149ac049.txt
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,286 @@
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\index.html
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DeviceInfo.tsv
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DeviceProtocol.tsv
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DeviceProtocolDetail.tsv
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_DispatchInfo.tsv
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_Router.tsv
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_Task.tsv
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\wwwroot\WIDESEAWCS_DB.DBSeed.Json\Dt_TaskExecuteDetail.tsv
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_Dictionary.tsv
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_DictionaryList.tsv
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_Menu.tsv
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_Role.tsv
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_RoleAuth.tsv
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\wwwroot\WIDESEAWCS_DB.DBSeed.Json\Sys_User.tsv
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Server.exe
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\appsettings.Development.json
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\appsettings.json
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Server.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Server.deps.json
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Server.runtimeconfig.json
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Server.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\AngleSharp.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\AngleSharp.Css.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Autofac.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Autofac.Extensions.DependencyInjection.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Autofac.Extras.DynamicProxy.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\AutoMapper.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Ben.Demystifier.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Castle.Core.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\DnsClient.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\DynamicExpresso.Core.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Furion.Extras.ObjectMapper.Mapster.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\HslCommunication.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Humanizer.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Magicodes.IE.Core.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Magicodes.IE.EPPlus.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Magicodes.IE.Excel.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Mapster.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Mapster.Core.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Mapster.DependencyInjection.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Masuit.Tools.Abstractions.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Masuit.Tools.Core.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.AspNetCore.Authentication.JwtBearer.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.AspNetCore.JsonPatch.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.AspNetCore.Mvc.NewtonsoftJson.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.AspNetCore.Razor.Language.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Bcl.AsyncInterfaces.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.CodeAnalysis.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.CodeAnalysis.CSharp.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.CodeAnalysis.CSharp.Workspaces.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.CodeAnalysis.Workspaces.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Data.SqlClient.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Data.Sqlite.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.EntityFrameworkCore.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.EntityFrameworkCore.Abstractions.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Extensions.Caching.Memory.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Extensions.Configuration.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Extensions.Configuration.Abstractions.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Extensions.Configuration.FileExtensions.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Extensions.Configuration.Json.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Extensions.DependencyInjection.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Extensions.DependencyInjection.Abstractions.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Extensions.DependencyModel.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Extensions.FileProviders.Abstractions.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Extensions.FileProviders.Physical.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Extensions.FileSystemGlobbing.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Extensions.Primitives.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Identity.Client.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.IdentityModel.Abstractions.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.IdentityModel.JsonWebTokens.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.IdentityModel.Logging.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.IdentityModel.Protocols.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.IdentityModel.Protocols.OpenIdConnect.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.IdentityModel.Tokens.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.IO.RecyclableMemoryStream.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.OpenApi.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Microsoft.Win32.SystemEvents.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\MiniProfiler.AspNetCore.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\MiniProfiler.AspNetCore.Mvc.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\MiniProfiler.Shared.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\MoYu.Pure.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\MoYu.Pure.Extras.DependencyModel.CodeAnalysis.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\MySqlConnector.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Newtonsoft.Json.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Newtonsoft.Json.Bson.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Npgsql.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\OfficeOpenXml.Core.ExcelPackage.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Oracle.ManagedDataAccess.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Oscar.Data.SqlClient.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Quartz.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Scrutor.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\SharpCompress.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\SixLabors.Fonts.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\SixLabors.ImageSharp.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\SixLabors.ImageSharp.Drawing.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\SkiaSharp.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\SQLitePCLRaw.batteries_v2.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\SQLitePCLRaw.core.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\SQLitePCLRaw.provider.e_sqlite3.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\SqlSugar.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\DmProvider.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Kdbndp.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Swashbuckle.AspNetCore.Filters.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Swashbuckle.AspNetCore.Filters.Abstractions.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Swashbuckle.AspNetCore.Newtonsoft.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Swashbuckle.AspNetCore.Swagger.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Swashbuckle.AspNetCore.SwaggerGen.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\Swashbuckle.AspNetCore.SwaggerUI.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.CodeDom.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Collections.Immutable.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Composition.AttributedModel.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Composition.Convention.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Composition.Hosting.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Composition.Runtime.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Composition.TypedParts.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Configuration.ConfigurationManager.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Diagnostics.DiagnosticSource.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Diagnostics.PerformanceCounter.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.DirectoryServices.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.DirectoryServices.Protocols.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Drawing.Common.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.IdentityModel.Tokens.Jwt.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.IO.Packaging.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.IO.Pipelines.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.IO.Ports.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Linq.Dynamic.Core.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Management.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Reflection.Metadata.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Runtime.Caching.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Security.Cryptography.Pkcs.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Security.Cryptography.ProtectedData.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Security.Permissions.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Text.Encoding.CodePages.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Text.Encodings.Web.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Text.Json.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Threading.Channels.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\System.Windows.Extensions.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\ZstdSharp.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\zh-Hans\Magicodes.IE.Core.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\cs\Microsoft.CodeAnalysis.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\de\Microsoft.CodeAnalysis.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\es\Microsoft.CodeAnalysis.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\fr\Microsoft.CodeAnalysis.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\it\Microsoft.CodeAnalysis.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\ja\Microsoft.CodeAnalysis.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\ko\Microsoft.CodeAnalysis.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\pl\Microsoft.CodeAnalysis.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\pt-BR\Microsoft.CodeAnalysis.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\ru\Microsoft.CodeAnalysis.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\tr\Microsoft.CodeAnalysis.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\zh-Hans\Microsoft.CodeAnalysis.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\zh-Hant\Microsoft.CodeAnalysis.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\cs\Microsoft.CodeAnalysis.CSharp.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\de\Microsoft.CodeAnalysis.CSharp.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\es\Microsoft.CodeAnalysis.CSharp.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\fr\Microsoft.CodeAnalysis.CSharp.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\it\Microsoft.CodeAnalysis.CSharp.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\ja\Microsoft.CodeAnalysis.CSharp.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\ko\Microsoft.CodeAnalysis.CSharp.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\pl\Microsoft.CodeAnalysis.CSharp.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\pt-BR\Microsoft.CodeAnalysis.CSharp.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\ru\Microsoft.CodeAnalysis.CSharp.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\tr\Microsoft.CodeAnalysis.CSharp.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\zh-Hans\Microsoft.CodeAnalysis.CSharp.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\zh-Hant\Microsoft.CodeAnalysis.CSharp.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\cs\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\de\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\es\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\fr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\it\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\ja\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\ko\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\pl\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\pt-BR\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\ru\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\tr\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\zh-Hans\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\zh-Hant\Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\cs\Microsoft.CodeAnalysis.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\de\Microsoft.CodeAnalysis.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\es\Microsoft.CodeAnalysis.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\fr\Microsoft.CodeAnalysis.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\it\Microsoft.CodeAnalysis.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\ja\Microsoft.CodeAnalysis.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\ko\Microsoft.CodeAnalysis.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\pl\Microsoft.CodeAnalysis.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\pt-BR\Microsoft.CodeAnalysis.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\ru\Microsoft.CodeAnalysis.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\tr\Microsoft.CodeAnalysis.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\zh-Hans\Microsoft.CodeAnalysis.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\zh-Hant\Microsoft.CodeAnalysis.Workspaces.resources.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\unix\lib\netcoreapp3.1\Microsoft.Data.SqlClient.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win\lib\netcoreapp3.1\Microsoft.Data.SqlClient.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win-arm\native\Microsoft.Data.SqlClient.SNI.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win-arm64\native\Microsoft.Data.SqlClient.SNI.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win-x64\native\Microsoft.Data.SqlClient.SNI.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win-x86\native\Microsoft.Data.SqlClient.SNI.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win\lib\net6.0\Microsoft.Win32.SystemEvents.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-arm\native\libSystem.IO.Ports.Native.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-arm64\native\libSystem.IO.Ports.Native.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-x64\native\libSystem.IO.Ports.Native.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\osx-arm64\native\libSystem.IO.Ports.Native.dylib
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\osx-x64\native\libSystem.IO.Ports.Native.dylib
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-arm\native\libSkiaSharp.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-arm64\native\libSkiaSharp.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-musl-x64\native\libSkiaSharp.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-x64\native\libSkiaSharp.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\osx\native\libSkiaSharp.dylib
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win-arm64\native\libSkiaSharp.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win-x64\native\libSkiaSharp.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win-x86\native\libSkiaSharp.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\browser-wasm\nativeassets\net6.0\e_sqlite3.a
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-arm\native\libe_sqlite3.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-arm64\native\libe_sqlite3.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-armel\native\libe_sqlite3.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-mips64\native\libe_sqlite3.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-musl-arm\native\libe_sqlite3.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-musl-arm64\native\libe_sqlite3.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-musl-x64\native\libe_sqlite3.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-ppc64le\native\libe_sqlite3.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-s390x\native\libe_sqlite3.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-x64\native\libe_sqlite3.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux-x86\native\libe_sqlite3.so
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\maccatalyst-arm64\native\libe_sqlite3.dylib
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\maccatalyst-x64\native\libe_sqlite3.dylib
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\osx-arm64\native\libe_sqlite3.dylib
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\osx-x64\native\libe_sqlite3.dylib
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win-arm\native\e_sqlite3.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win-arm64\native\e_sqlite3.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win-x64\native\e_sqlite3.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win-x86\native\e_sqlite3.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win\lib\net6.0\System.Diagnostics.PerformanceCounter.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win\lib\net6.0\System.DirectoryServices.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\linux\lib\net6.0\System.DirectoryServices.Protocols.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\osx\lib\net6.0\System.DirectoryServices.Protocols.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win\lib\net6.0\System.DirectoryServices.Protocols.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\unix\lib\net6.0\System.Drawing.Common.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win\lib\net6.0\System.Drawing.Common.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\unix\lib\net6.0\System.IO.Ports.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win\lib\net6.0\System.IO.Ports.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win\lib\net6.0\System.Management.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win\lib\netstandard2.0\System.Runtime.Caching.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win\lib\net6.0\System.Security.Cryptography.Pkcs.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win\lib\net6.0\System.Text.Encoding.CodePages.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\browser\lib\net6.0\System.Text.Encodings.Web.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\runtimes\win\lib\net6.0\System.Windows.Extensions.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_BasicInfoRepository.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_BasicInfoService.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Common.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Communicator.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Core.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_DTO.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_IBasicInfoRepository.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_IBasicInfoService.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_ISystemRepository.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_ISystemServices.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_ITaskInfoRepository.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_ITaskInfoService.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Model.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_QuartzJob.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_SignalR.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_SystemRepository.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_SystemServices.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_TaskInfoRepository.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCs_TaskInfoService.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Tasks.dll
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_QuartzJob.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_SignalR.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_SystemServices.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCs_TaskInfoService.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Tasks.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_BasicInfoRepository.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_BasicInfoService.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Common.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Communicator.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Core.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_DTO.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_IBasicInfoRepository.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_IBasicInfoService.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_ISystemRepository.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_ISystemServices.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_ITaskInfoRepository.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_ITaskInfoService.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_Model.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_SystemRepository.pdb
E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\obj\Release\net6.0\PubTmp\Out\WIDESEAWCS_TaskInfoRepository.pdb
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs
@@ -85,6 +85,51 @@
            }
        }
        public void AddTaskExecuteDetailS(int taskNum, string description = "")
        {
            try
            {
                bool isNormal = true;
                Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null) return;
                int NewtaskNum = task.TaskNum;
                int taskState = task.TaskState;
                if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result))
                {
                    if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish)
                        isNormal = false;
                }
                else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result))
                {
                    if ((int)(TaskInStatusEnum)result > (int)TaskInStatusEnum.InFinish)
                        isNormal = false;
                }
                else if (!int.TryParse(Enum.Parse<AGVTaskStatusEnum>(taskState.ToString()).ToString(), out result))
                {
                    if ((int)(AGVTaskStatusEnum)result > (int)AGVTaskStatusEnum.AGVFinish)
                        isNormal = false;
                }
                Dt_TaskExecuteDetail taskExecuteDetail = new()
                {
                    IsManual = App.User.UserId > 0,
                    IsNormal = isNormal,
                    TaskNum = NewtaskNum,
                    TaskId = task.TaskId,
                    TaskState = taskState,
                    Description = description,
                    CurrentAddress = task.CurrentAddress,
                    NextAddress = task.NextAddress,
                };
                BaseDal.AddData(taskExecuteDetail);
            }
            catch (Exception ex)
            {
            }
        }
        public void AddTaskExecuteDetail(List<int> taskNums, string description = "")
        {
            try
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -46,6 +46,7 @@
using WIDESEAWCS_QuartzJob.Repository;
using WIDESEAWCS_QuartzJob.Service;
using WIDESEAWCS_TaskInfoRepository;
using static WIDESEAWCS_QuartzJob.Service.DeviceInfoService;
namespace WIDESEAWCS_TaskInfoService
{
@@ -60,6 +61,7 @@
        private readonly IMapper _mapper;
        private readonly IDeviceInfoRepository _deviceInfoRepository;
        private readonly IDt_StationManagerRepository _stationManagerRepository;
        private readonly IDt_WMSErrorMessageRepository _errorMessageRepository;
        private Dictionary<string, OrderByType> _taskOrderBy = new()
@@ -76,7 +78,7 @@
        public List<int> TaskRelocationboundTypes => typeof(TaskRelocationTypeEnum).GetEnumIndexList();
        public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ITask_HtyService taskHtyService, ISys_ConfigService sys_ConfigService, IDt_StationManagerRepository stationManagerRepository, ITask_HtyRepository taskHtyRepository,
        IDeviceInfoRepository deviceInfoRepository) : base(BaseDal)
        IDeviceInfoRepository deviceInfoRepository, IDt_WMSErrorMessageRepository errorMessageRepository) : base(BaseDal)
        {
            _routerService = routerService;
            _taskExecuteDetailService = taskExecuteDetailService;
@@ -88,6 +90,7 @@
            _mapper = mapper;
            _sys_ConfigService = sys_ConfigService;
            _deviceInfoRepository = deviceInfoRepository;
            _errorMessageRepository = errorMessageRepository;
        }
        /// <summary>
@@ -100,7 +103,8 @@
            WebResponseContent content = new WebResponseContent();
            try
            {
                List<Dt_Task> tasks = new List<Dt_Task>();
                WriteLog.GetLog("接收WMS任务").Write(JsonConvert.SerializeObject(taskDTOs), "接收WMS任务");
                Dt_Task task =null;
                // åˆ¤æ–­ä»»åŠ¡ç±»åž‹æ˜¯å¦ä¸ºå‡ºåº“ä»»åŠ¡
                if (taskDTOs.TaskType == "2")
                {
@@ -111,7 +115,7 @@
                        {
                            return content.Error("未找到出库站台信息");
                        }
                        Dt_Task taskIn = new Dt_Task()
                        task = new Dt_Task()
                        {
                            TaskNum = BaseDal.GetTaskNo().Result,
                            Creater = "WMS",
@@ -128,12 +132,30 @@
                            Floor = stationManagerStart.stationFloor,
                            RGVName = ""
                        };
                        BaseDal.AddData(taskIn);
                        BaseDal.AddData(task);
                    }
                    else
                    {
                        string[] targetCodes = taskDTOs.BeginPoint.Split("-");
                        if(GetScCode(Convert.ToInt32(targetCodes[0]))=="SC01"&&(taskDTOs.EndPoint=="1030"|| taskDTOs.EndPoint == "1029"))
                        {
                            return content.Error($"一号堆垛机不能出库至该点位{taskDTOs.EndPoint}");
                        }
                        if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC06" && (taskDTOs.EndPoint == "1002" || taskDTOs.EndPoint == "1004"))
                        {
                            return content.Error($"六号堆垛机不能出库至该点位{taskDTOs.EndPoint}");
                        }
                        if (taskDTOs.EndPoint == "3004")
                        {
                            var newTask = BaseDal.QueryFirst(x => x.SourceAddress == "3001" && x.TaskType == (int)TaskInboundTypeEnum.Inbound && x.TaskState != (int)TaskInStatusEnum.HoistNew && x.TaskState != (int)TaskInStatusEnum.HoistInExecuting && x.TaskState > 225);
                            if (newTask != null)
                            {
                                return content.Error("已存在入库任务,出库任务不可下发");
                            }
                        }
                        Dt_StationManager stationManagerEnd = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTOs.EndPoint);
                        if (stationManagerEnd == null)
@@ -148,7 +170,7 @@
                        {
                            RGVName = stationManager.RGVName;
                        }
                        Dt_Task taskOut = new Dt_Task()
                        task = new Dt_Task()
                        {
                            TaskNum = BaseDal.GetTaskNo().Result,
                            Creater = "WMS",
@@ -167,7 +189,7 @@
                            TargetStation= stationManagerEnd.remark,
                            SourceStation= 0,
                        };
                        BaseDal.AddData(taskOut);
                        BaseDal.AddData(task);
                    }
                }
                // åˆ¤æ–­ä»»åŠ¡ç±»åž‹æ˜¯å¦ä¸ºå…¥åº“ä»»åŠ¡
@@ -181,7 +203,7 @@
                            return content.Error("未找到入库站台信息");
                        }
                        string[] targetCodes = taskDTOs.EndPoint.Split("-");
                        Dt_Task taskIn = new Dt_Task()
                        task = new Dt_Task()
                        {
                            TaskNum = BaseDal.GetTaskNo().Result,
                            Creater = "WMS",
@@ -198,7 +220,7 @@
                            Floor = stationManagerStart.stationFloor,
                            RGVName = "RGV03"
                        };
                        BaseDal.AddData(taskIn);
                        BaseDal.AddData(task);
                    } 
                    else if (Convert.ToInt32(taskDTOs.BeginPoint) > 1999 && Convert.ToInt32(taskDTOs.BeginPoint) < 3000)
                    {
@@ -207,7 +229,7 @@
                        {
                            return content.Error("未找到出库站台信息");
                        }
                        Dt_Task taskIn = new Dt_Task()
                        task = new Dt_Task()
                        {
                            TaskNum = BaseDal.GetTaskNo().Result,
                            Creater = "WMS",
@@ -224,11 +246,23 @@
                            Floor = stationManagerStart.stationFloor,
                            RGVName = ""
                        };
                        BaseDal.AddData(taskIn);
                        BaseDal.AddData(task);
                    }
                    else
                    {
                        var task = BaseDal.QueryFirst(x => x.PalletCode == taskDTOs.TPbarcode);
                        task = BaseDal.QueryFirst(x => x.PalletCode == taskDTOs.TPbarcode);
                        string[] targetCodes = taskDTOs.EndPoint.Split("-");
                        if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC01" && (taskDTOs.BeginPoint == "1030" || taskDTOs.EndPoint == "1029"))
                        {
                            return content.Error($"该点位{taskDTOs.EndPoint}不能入库一号堆垛机");
                        }
                        if (GetScCode(Convert.ToInt32(targetCodes[0])) == "SC06" && (taskDTOs.BeginPoint == "1002" || taskDTOs.BeginPoint == "1004"))
                        {
                            return content.Error($"该点位{taskDTOs.EndPoint}不能入库六号堆垛机");
                        }
                        if (task != null)
                        {
                            task.Creater = "WMS";
@@ -244,8 +278,6 @@
                            task.WMSTaskNum = taskDTOs.TaskId;
                            task.TargetAddress = taskDTOs.EndPoint;
                            string[] targetCodes = taskDTOs.EndPoint.Split("-");
                            task.Roadway = GetScCode(Convert.ToInt32(targetCodes[0]));
@@ -270,7 +302,7 @@
                else if (taskDTOs.TaskType == "3")
                {
                    string[] targetCodes = taskDTOs.BeginPoint.Split("-");
                    Dt_Task taskRelocation = new Dt_Task()
                    task = new Dt_Task()
                    {
                        TaskType = (int)TaskRelocationTypeEnum.Relocation,
@@ -289,17 +321,88 @@
                        Grade = 3,
                    };
                    BaseDal.AddData(taskRelocation);
                    BaseDal.AddData(task);
                }
                else if (taskDTOs.TaskType == "4")
                {
                    task = BaseDal.QueryFirst(x => x.PalletCode == taskDTOs.TPbarcode);
                    Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
                    if (stationManager == null)
                    {
                        return content.Error("未找到起点站台");
                    }
                    if (task != null)
                    {
                        task.ModifyDate = DateTime.Now;
                        task.Modifier = "System";
                        Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                        task_Hty.TaskId = 0;
                        task_Hty.OperateType = (int)OperateTypeEnum.异常退回;
                        BaseDal.DeleteData(task);
                        _taskHtyRepository.AddData(task_Hty);
                        Dt_WMSErrorMessage message = new Dt_WMSErrorMessage()
                        {
                            TaskNum = task.TaskNum,
                            PalletCode=taskDTOs.TPbarcode,
                            ErrorMessage=taskDTOs.EndPoint,
                            CreateDate=DateTime.Now,
                            Creater = "WMS"
                        };
                        _errorMessageRepository.AddData(message);
                        IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == task.RGVName);
                        if (device != null)
                        {
                            if (task.RGVName == "RGV01" || task.RGVName == "RGV02")
                            {
                                CommonRGV_FirstFloor commonRGV = (CommonRGV_FirstFloor)device;
                                commonRGV.SetValue(StackerCraneDBName.PutcargoLocation, Convert.ToSByte(stationManager.stationRemark));
                                commonRGV.SetValue(StackerCraneDBName.TaskNum, Convert.ToInt16(task.TaskNum));
                                commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(4));
                            }
                            else
                            {
                                CommonRGV commonRGV = (CommonRGV)device;
                                commonRGV.SetValue(StackerCraneDBName.PutcargoLocation, Convert.ToSByte(stationManager.stationRemark));
                                commonRGV.SetValue(StackerCraneDBName.TaskNum, Convert.ToInt16(task.TaskNum));
                                commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(4));
                            }
                        }
                    }
                    else
                    {
                        IDevice? deviceconveyorline = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC);
                        if (deviceconveyorline != null)
                        {
                            CommonConveyorLine conveyorLine = (CommonConveyorLine)deviceconveyorline;
                            conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode);
                            Dt_WMSErrorMessage message = new Dt_WMSErrorMessage()
                            {
                                PalletCode = taskDTOs.TPbarcode,
                                ErrorMessage = taskDTOs.EndPoint,
                                CreateDate = DateTime.Now,
                                Creater ="WMS"
                            };
                            _errorMessageRepository.AddData(message);
                        }
                    }
                    return content.OK();
                }
                else
                {
                    return content.Error($"任务类型错误,未找到该任务类型,任务号:【{taskDTOs.TaskId}】,任务类型:【{taskDTOs.TaskType}】");
                }
                _taskExecuteDetailService.AddTaskExecuteDetail(tasks.Select(x => x.TaskId).ToList(), "接收WMS任务");
                _taskExecuteDetailService.AddTaskExecuteDetailS(task.TaskNum, "接收WMS任务");
                content = WebResponseContent.Instance.OK("成功");
            }
            catch (Exception ex)
            {
                WriteLog.GetLog("接收WMS任务").Write(JsonConvert.SerializeObject(ex.Message), "接收WMS任务");
                content = WebResponseContent.Instance.Error($"生成任务失败,错误信息:{ex.Message}");
            }
            finally
@@ -640,6 +743,147 @@
        /// å°†ä»»åŠ¡çŠ¶æ€ä¿®æ”¹ä¸ºä¸‹ä¸€ä¸ªçŠ¶æ€
        /// </summary>
        /// <param name="taskNum">任务号</param>
        public WebResponseContent HandUpdateTaskStatusToNext(int taskNum)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null) return WebResponseContent.Instance.Error($"未找到该任务信息,任务号:【{taskNum}】");
                int oldState = task.TaskState;
                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                {
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
                    task.TaskState = nextStatus;
                    if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutFinish)
                    {
                        task.TaskState = (int)TaskOutStatusEnum.OutFinish;
                        task.ModifyDate = DateTime.Now;
                        task.Modifier = "System";
                        Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                        task_Hty.TaskId = 0;
                        task_Hty.OperateType = (int)OperateTypeEnum.人工完成;
                        BaseDal.DeleteData(task);
                        _taskHtyRepository.AddData(task_Hty);
                        var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
                        var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
                        var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
                        WMSTaskDTO taskDTO = new WMSTaskDTO()
                        {
                            TaskId = task.WMSTaskNum,
                            TPbarcode = task.PalletCode,
                            WhCode = "1001",
                            BeginPoint = task.SourceAddress,
                            EndPoint = task.TargetAddress,
                            Results = "1"
                        };
                        if (wmsBase == null || requestTask == null)
                        {
                            throw new InvalidOperationException("WMS IP æœªé…ç½®");
                        }
                        var wmsIpAddress = wmsBase + requestTask;
                        var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV出库完成");
                    }
                    if (task.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting)
                    {
                        Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway && x.stationChildCode == task.NextAddress);
                        Dt_StationManager stationManagerend = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.TargetAddress);
                        task.CurrentAddress = task.NextAddress;
                        task.NextAddress = task.TargetAddress;
                        task.SourceStation = stationManager.stationRemark;
                        task.TargetStation = stationManagerend.remark;
                    }
                    if (task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)
                    {
                        content = StackCraneTaskCompleted(task.TaskNum);
                        return content;
                    }
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                {
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
                    task.TaskState = nextStatus;
                    if (task.TaskState == (int)TaskInStatusEnum.Line_InFinish)
                    {
                        task.CurrentAddress = task.NextAddress;
                        task.NextAddress = task.TargetAddress;
                    }
                    else if (task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                    {
                        return content.Error("请等待WMS下发入库任务");
                    }
                    else if (task.TaskState == (int)TaskInStatusEnum.RGV_InExecutingFinish)
                    {
                        Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.NextAddress && x.stationFloor == task.Floor);
                        task.CurrentAddress = task.NextAddress;
                        task.NextAddress = stationManager.stationNextChildCode;
                        task.ModifyDate = DateTime.Now;
                        BaseDal.UpdateData(task);
                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV入库完成");
                    }
                    else if (task.TaskState == (int)TaskInStatusEnum.SC_InFinish)
                    {
                        if (App.User.UserId > 0)
                        {
                            content = StackCraneTaskCompleted(task.TaskNum);
                            return content;
                        }
                        task.ModifyDate = DateTime.Now;
                        task.Modifier = "System";
                        Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                        task_Hty.TaskId = 0;
                        task_Hty.OperateType = (int)OperateTypeEnum.人工完成;
                        BaseDal.DeleteData(task);
                        _taskHtyRepository.AddData(task_Hty);
                    }
                    else if (task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish || task.TaskState == (int)TaskInStatusEnum.RGV_InExecutingFinish)
                    {
                        RGVTaskCompleted(task.TaskNum);
                    }
                }
                else
                {
                    throw new Exception($"任务类型错误,未找到该任务类型,任务号:【{task.TaskNum}】,任务类型:【{task.TaskType}】");
                }
                if (task.TaskState <= 0)
                {
                    return content = WebResponseContent.Instance.Error($"该任务状态不可跳转到下一步,任务号:【{task.TaskNum}】,任务状态:【{task.TaskState}】");
                }
                task.ModifyDate = DateTime.Now;
                task.Modifier = "System";
                BaseDal.UpdateData(task);
                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, App.User.UserId > 0 ? $"人工手动将任务状态从【{oldState}】跳转到【{task.TaskState}】" : $"系统自动流程,任务状态从【{oldState}】转到【{task.TaskState}】");
                content = WebResponseContent.Instance.OK();
                return content;
            }
            catch (Exception ex)
            {
                content = WebResponseContent.Instance.Error(ex.Message);
            }
            return content;
        }
        /// <summary>
        /// å°†ä»»åŠ¡çŠ¶æ€ä¿®æ”¹ä¸ºä¸‹ä¸€ä¸ªçŠ¶æ€
        /// </summary>
        /// <param name="taskNum">任务号</param>
        public WebResponseContent UpdateTaskStatusToNext(int taskNum)
        {
            WebResponseContent content = new WebResponseContent();
@@ -675,14 +919,16 @@
                    if (task.TaskState == (int)TaskOutStatusEnum.RGV_OutFinish)
                    {
                        task.ModifyDate = DateTime.Now;
                        task.Modifier = "System";
                        //task.ModifyDate = DateTime.Now;
                        //task.Modifier = "System";
                        Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                        task_Hty.TaskId = 0;
                        //Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                        //task_Hty.TaskId = 0;
                        BaseDal.DeleteData(task);
                        _taskHtyRepository.AddData(task_Hty);
                        //BaseDal.DeleteData(task);
                        //_taskHtyRepository.AddData(task_Hty);
                        RGVTaskCompleted(task.TaskNum);
                    }
                    if (task.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting)
                    {
@@ -698,6 +944,10 @@
                    {
                        content = StackCraneTaskCompleted(task.TaskNum);
                        return content;
                    }
                    if (task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
                    {
                        task.Dispatchertime = DateTime.Now;
                    }
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
@@ -726,6 +976,10 @@
                        BaseDal.DeleteData(task);
                        _taskHtyRepository.AddData(task_Hty);
                    }
                    else if (task.TaskState == (int)TaskInStatusEnum.InFinish|| task.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                    {
                        RGVTaskCompleted(task.TaskNum);
                    }
                }
                else
@@ -785,9 +1039,7 @@
                    }
                    var wmsIpAddress = wmsBase + requestTask;
                    var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
                    WriteLog.GetLog("WMS接口返回信息").Write(JsonConvert.SerializeObject(result), "WMS接口返回信息");
                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV调度完成等待WMS任务");
                }
@@ -806,7 +1058,7 @@
                    task.TaskState = (int)TaskOutStatusEnum.RGV_OutdispatchFinish;
                    task.ModifyDate = DateTime.Now;
                    BaseDal.UpdateData(task);
                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV出库调度");
                }
                else if (task.TaskState == (int)TaskInStatusEnum.InRetuen)
                {
@@ -828,7 +1080,7 @@
                    Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                    task_Hty.TaskId = 0;
                    task_Hty.OperateType = (int)OperateTypeEnum.自动完成;
                    BaseDal.DeleteData(task);
                    _taskHtyRepository.AddData(task_Hty);
@@ -850,7 +1102,7 @@
                    }
                    var wmsIpAddress = wmsBase + requestTask;
                    var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
                    WriteLog.GetLog("WMS接口返回信息").Write(JsonConvert.SerializeObject(result), "WMS接口返回信息");
                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV出库完成");
                }
@@ -886,7 +1138,7 @@
                        Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                        task_Hty.TaskId = 0;
                        task_Hty.OperateType = (int)OperateTypeEnum.自动完成;
                        BaseDal.DeleteData(task);
                        _taskHtyRepository.AddData(task_Hty);
                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"堆垛机出库完成");
@@ -918,7 +1170,7 @@
                    Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                    task_Hty.TaskId = 0;
                    task_Hty.OperateType = (int)OperateTypeEnum.自动完成;
                    BaseDal.DeleteData(task);
                    _taskHtyRepository.AddData(task_Hty);
                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"堆垛机入库完成");
@@ -941,6 +1193,7 @@
                    }
                    var wmsIpAddress = wmsBase + requestTask;
                    var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
                    WriteLog.GetLog("WMS接口返回信息").Write(JsonConvert.SerializeObject(result), "WMS接口返回信息");
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
                {
@@ -951,7 +1204,7 @@
                    Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                    task_Hty.TaskId = 0;
                    task_Hty.OperateType = (int)OperateTypeEnum.自动完成;
                    BaseDal.DeleteData(task);
                    _taskHtyRepository.AddData(task_Hty);
                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"堆垛机移库完成");
@@ -974,6 +1227,7 @@
                    }
                    var wmsIpAddress = wmsBase + requestTask;
                    var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
                    WriteLog.GetLog("WMS接口返回信息").Write(JsonConvert.SerializeObject(result), "WMS接口返回信息");
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup)
                {
@@ -1011,6 +1265,130 @@
                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, "人工取消任务");
                }
                content = WebResponseContent.Instance.OK("取消任务成功");
            }
            catch (Exception ex)
            {
                content = WebResponseContent.Instance.Error(ex.Message);
            }
            return content;
        }
        public WebResponseContent TaskCancel(int taskNum)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                var task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null) return content.Error("未找到该任务信息");
                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                {
                    task.TaskState = (int)TaskOutStatusEnum.OutCancel;
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                {
                    task.TaskState = (int)TaskInStatusEnum.InCancel;
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
                {
                    task.TaskState = (int)TaskRelocationStatusEnum.RelocationCancel;
                }
                else
                {
                    return content.Error($"任务类型错误,未找到该任务类型,任务号:【{task.TaskNum}】,任务类型:【{task.TaskType}】");
                }
                task.ModifyDate = DateTime.Now;
                BaseDal.DeleteData(task);
                Dt_Task_Hty taskHty = _mapper.Map<Dt_Task_Hty>(task);
                taskHty.OperateType = (int)OperateTypeEnum.WCS人工取消;
                _taskHtyRepository.AddData(taskHty);
                #region ä¸ŠæŠ¥WMS执行结果
                var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
                var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
                var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
                WMSTaskDTO taskDTO = new WMSTaskDTO()
                {
                    TaskId = task.WMSTaskNum,
                    TPbarcode = task.PalletCode,
                    WhCode = "1001",
                    BeginPoint = task.SourceAddress,
                    EndPoint = task.TargetAddress,
                    Results = "3"
                };
                if (wmsBase == null || requestTask == null)
                {
                    throw new InvalidOperationException("WMS IP æœªé…ç½®");
                }
                var wmsIpAddress = wmsBase + requestTask;
                var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
                WriteLog.GetLog("WMS接口返回信息").Write(JsonConvert.SerializeObject(result), "WMS接口返回信息");
                #endregion
                content = WebResponseContent.Instance.OK("取消任务成功");
            }
            catch (Exception ex)
            {
                content = WebResponseContent.Instance.Error(ex.Message);
            }
            return content;
        }
        public WebResponseContent TaskComplete(int taskNum)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                var task=BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null) return content.Error("未找到该任务信息");
                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                {
                    task.TaskState = (int)TaskOutStatusEnum.OutHandFinish;
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                {
                    task.TaskState = (int)TaskInStatusEnum.InHandFinish;
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
                {
                    task.TaskState = (int)TaskRelocationStatusEnum.RelocationHandFinish;
                }
                else
                {
                    return content.Error($"任务类型错误,未找到该任务类型,任务号:【{task.TaskNum}】,任务类型:【{task.TaskType}】");
                }
                task.ModifyDate = DateTime.Now;
                BaseDal.DeleteData(task);
                Dt_Task_Hty taskHty = _mapper.Map<Dt_Task_Hty>(task);
                taskHty.OperateType = (int)OperateTypeEnum.人工完成;
                _taskHtyRepository.AddData(taskHty);
                #region ä¸ŠæŠ¥WMS完成
                var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
                var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
                var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
                WMSTaskDTO taskDTO = new WMSTaskDTO()
                {
                    TaskId = task.WMSTaskNum,
                    TPbarcode = task.PalletCode,
                    WhCode = "1001",
                    BeginPoint = task.SourceAddress,
                    EndPoint = task.TargetAddress,
                    Results = "2"
                };
                if (wmsBase == null || requestTask == null)
                {
                    throw new InvalidOperationException("WMS IP æœªé…ç½®");
                }
                var wmsIpAddress = wmsBase + requestTask;
                var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
                WriteLog.GetLog("WMS接口返回信息").Write(JsonConvert.SerializeObject(result), "WMS接口返回信息");
                #endregion
                content = WebResponseContent.Instance.OK("手动完成成功");
            }
            catch (Exception ex)
            {
@@ -1167,65 +1545,6 @@
                ((SqlSugarClient)BaseDal.Db).RollbackTran();
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        public WebResponseContent TaskComplete()
        {
            WebResponseContent content = new WebResponseContent();
            //var result = _stationManagerRepository.Db.Queryable<Dt_StationManager>()
            //    .Where(t => SqlFunc.Abs(t.LevelPointFist - taskNum) <= 1000)
            //    .ToList();
            var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
            var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
            var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue;
            WMSTaskDTO taskDTO = new WMSTaskDTO()
            {
                TaskId="1",
                TPbarcode = "123456",
                WhCode = "1001",
                BeginPoint = "1013",
                EndPoint="1-1-1",
                Results="1"
            };
            if (wmsBase == null || requestTask == null)
            {
                throw new InvalidOperationException("WMS IP æœªé…ç½®");
            }
            var wmsIpAddress = wmsBase + requestTask;
            var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
            return content.OK(data: result);
        }
        public WebResponseContent RequestTask()
        {
            WebResponseContent content = new WebResponseContent();
            //var result = _stationManagerRepository.Db.Queryable<Dt_StationManager>()
            //    .Where(t => SqlFunc.Abs(t.LevelPointFist - taskNum) <= 1000)
            //    .ToList();
            var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
            var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
            var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTask)?.ConfigValue;
            //var keys = new Dictionary<string, object>()
            //{
            //    {"TPbarcode", "123456"},
            //    {"WhCode", "1001"},
            //    {"BeginPoint", "1013"}
            //};
            WMSTaskDTO taskDTO = new WMSTaskDTO()
            {
                TPbarcode = "123456",
                WhCode = "1001",
                BeginPoint = "1013"
            };
            if (wmsBase == null || requestTask == null)
            {
                throw new InvalidOperationException("WMS IP æœªé…ç½®");
            }
            var wmsIpAddress = wmsBase + requestTask;
            var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
            return content.OK(data: result);
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
@@ -94,12 +94,19 @@
        {
            if (stationManager.stationChildCode == "3002")
            {
                var newTask = _taskRepository.QueryFirst(x => x.TargetAddress == "3004");
                if (newTask != null)
                {
                    return;
                }
                DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault();
                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress,10);
                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 10);
                string Barcode = Encoding.UTF8.GetString(x);
                if (Barcode == null)
                if (Barcode == null || Barcode==""|| Barcode.Trim().Contains("\0"))
                {
                    conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode);
                }
@@ -146,7 +153,7 @@
                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 10);
                string Barcode = Encoding.UTF8.GetString(x);
                if (Barcode == "")
                if (Barcode == null || Barcode == "" || Barcode.Trim().Contains("\0"))
                {
                    conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode);
                }
@@ -160,7 +167,7 @@
                    var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
                    var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
                    var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTask)?.ConfigValue;
                    WMSTaskDTO taskDTO = new WMSTaskDTO()
                    {
                        TPbarcode = Barcode,
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob/CommonRGVJob.cs
@@ -40,6 +40,7 @@
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Service;
using WIDESEAWCS_SignalR;
using WIDESEAWCS_TaskInfoRepository;
using WIDESEAWCS_Tasks.ConveyorLineJob;
using WIDESEAWCS_Tasks.RGVJob;
using WIDESEAWCS_Tasks.StackerCraneJob;
@@ -52,6 +53,7 @@
    {
        private readonly ITaskService _taskService;
        private readonly ITaskRepository _taskRepository;
        private readonly ITask_HtyRepository _task_HtyRepository;
        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
        private readonly IRouterService _routerService;
        private readonly IDt_StationManagerService _stationManagerService;
@@ -62,7 +64,7 @@
        private static List<string>? userTokenIds;
        private static List<int>? userIds;
        public CommonRGVJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IDt_StationManagerService stationManagerService, IMapper mapper, ICacheService cacheService, INoticeService noticeService, ITaskRepository taskRepository,IDt_StationManagerRepository stationManagerRepository)
        public CommonRGVJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IDt_StationManagerService stationManagerService, IMapper mapper, ICacheService cacheService, INoticeService noticeService, ITaskRepository taskRepository,IDt_StationManagerRepository stationManagerRepository, ITask_HtyRepository task_HtyRepository)
        {
            _taskService = taskService;
            _taskExecuteDetailService = taskExecuteDetailService;
@@ -73,6 +75,7 @@
            _noticeService = noticeService;
            _taskRepository = taskRepository;
            _stationManagerRepository = stationManagerRepository;
            _task_HtyRepository = task_HtyRepository;
        }
        public Task Execute(IJobExecutionContext context)
@@ -157,24 +160,10 @@
        {
            if (commonRGV != null)
            {
                WriteInfo("RGV任务完成", $"{commonRGV.DeviceName}完成任务号{TaskNum}");
                var task = _taskRepository.QueryFirst(x => x.TaskNum == TaskNum);
                if (task != null)
                {
                    if (task.TaskState == (int)TaskInStatusEnum.InRetuen)
                    {
                        Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
                        if (stationManager != null)
                        {
                            IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC);
                            if (device != null)
                            {
                                CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
                                conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode);
                                var content = _taskService.RGVTaskCompleted(TaskNum);
                            }
                        }
                    }
                    if (task.TaskState == (int)TaskInStatusEnum.RGV_Indispatch)
                    {
                        if (task.SourceAddress == "3002")
@@ -196,14 +185,20 @@
                                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 5);
                                string Barcode = Encoding.UTF8.GetString(x);
                                if (Barcode == null || Barcode == "")
                                if (Barcode == null || Barcode == "" || Barcode.Trim().Contains("\0"))
                                {
                                    //conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode);
                                    commonRGV.SetValue(StackerCraneDBName.PutcargoLocation, Convert.ToSByte(stationManager.stationRemark));
                                    commonRGV.SetValue(StackerCraneDBName.TaskNum, Convert.ToInt16(task.TaskNum));
                                    commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(4));
                                    task.TaskState = (int)TaskInStatusEnum.InRetuen;
                                    _taskRepository.UpdateData(task);
                                    task.ModifyDate = DateTime.Now;
                                    task.Modifier = "System";
                                    Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                                    task_Hty.TaskId = 0;
                                    _taskRepository.DeleteData(task);
                                    _task_HtyRepository.AddData(task_Hty);
                                    return;
                                }
                                var content = _taskService.RGVTaskCompleted(TaskNum, Barcode);
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RGVJob_FirstFloor/CommonRGV_FirstFloorJob.cs
@@ -44,10 +44,10 @@
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Service;
using WIDESEAWCS_SignalR;
using WIDESEAWCS_TaskInfoRepository;
using WIDESEAWCS_Tasks.ConveyorLineJob;
using WIDESEAWCS_Tasks.RGVJob;
using WIDESEAWCS_Tasks.StackerCraneJob;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database;
namespace WIDESEAWCS_Tasks
{
@@ -55,6 +55,7 @@
    public class CommonRGV_FirstFloorJob : JobBase, IJob
    {
        private readonly ITaskService _taskService;
        private readonly ITask_HtyRepository _task_HtyRepository;
        private readonly ITaskRepository _taskRepository;
        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
        private readonly IRouterService _routerService;
@@ -66,7 +67,7 @@
        private static List<string>? userTokenIds;
        private static List<int>? userIds;
        public CommonRGV_FirstFloorJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IDt_StationManagerService stationManagerService, IMapper mapper, WIDESEAWCS_Core.Caches.ICacheService cacheService, INoticeService noticeService, ITaskRepository taskRepository, IDt_StationManagerRepository stationManagerRepository)
        public CommonRGV_FirstFloorJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IDt_StationManagerService stationManagerService, IMapper mapper, WIDESEAWCS_Core.Caches.ICacheService cacheService, INoticeService noticeService, ITaskRepository taskRepository, IDt_StationManagerRepository stationManagerRepository, ITask_HtyRepository task_HtyRepository)
        {
            _taskService = taskService;
            _taskExecuteDetailService = taskExecuteDetailService;
@@ -77,6 +78,7 @@
            _noticeService = noticeService;
            _taskRepository = taskRepository;
            _stationManagerRepository = stationManagerRepository;
            _task_HtyRepository = task_HtyRepository;
        }
        public Task Execute(IJobExecutionContext context)
@@ -310,7 +312,7 @@
                    {
                        if (commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault))
                        {
                            var taskSecond = _taskRepository.QueryFirst(x => x.RGVName == "RGV02" && x.TaskNum == commonRGVSecond.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum));
                            var taskSecond = _taskRepository.QueryFirst(x => x.RGVName == "RGV02" && x.TaskNum == commonRGVSecond.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum) && ((x.TaskType == (int)TaskInboundTypeEnum.Inbound && x.TaskState < 230) || (x.TaskType == (int)TaskOutboundTypeEnum.Outbound)));
                            if (taskSecond != null)
                            {
                                if (taskSecond.TaskState == (int)TaskOutStatusEnum.RGV_Outdispatch || taskSecond.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_Indispatch || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_InAwaitWMS || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
@@ -320,6 +322,7 @@
                                        if (task.TargetStation- taskSecond.SourceStation > 1 && task.TargetStation - taskSecond.TargetStation > 1)
                                        {
                                            LogAndWarn("执行调度任务控制", $"【{commonRGV.DeviceCode}工作模式:【{commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVSecond.DeviceCode}】任务【{JsonConvert.SerializeObject(taskSecond)}】{commonRGVSecond.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task)}】】");
                                            Thread.Sleep(1000);
                                            return task;
                                        }
                                    }
@@ -331,6 +334,7 @@
                                        if (task.TargetStation - taskSecond.TargetStation > 1)
                                        {
                                            LogAndWarn("执行调度任务控制", $"【{commonRGV.DeviceCode}工作模式:【{commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVSecond.DeviceCode}】任务【{JsonConvert.SerializeObject(taskSecond)}】{commonRGVSecond.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task)}】】");
                                            Thread.Sleep(1000);
                                            return task;
                                        }
                                    }
@@ -350,6 +354,7 @@
                                    SendCommand(commonRGVSecond, command);
                                }
                                LogAndWarn("执行调度任务控制", $"【{commonRGV.DeviceCode}工作模式:【{commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVSecond.DeviceCode}】任务【{JsonConvert.SerializeObject(taskSecond)}】{commonRGVSecond.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task)}】】");
                                Thread.Sleep(1000);
                                return task;
                            }
                        }
@@ -364,7 +369,7 @@
                        
                        if (commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic) && !commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault))
                        {
                            var taskSecond = _taskRepository.QueryFirst(x => x.RGVName == "RGV01" && x.TaskNum == commonRGVFirst.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum));
                            var taskSecond = _taskRepository.QueryFirst(x => x.RGVName == "RGV01" && x.TaskNum == commonRGVFirst.GetValue<RGVDBName, short>(RGVDBName.RGVTaskNum)&&((x.TaskType==(int)TaskInboundTypeEnum.Inbound&&x.TaskState<230)||(x.TaskType == (int)TaskOutboundTypeEnum.Outbound)));
                            if (taskSecond != null)
                            {
@@ -375,6 +380,7 @@
                                        if (taskSecond.SourceStation - task.TargetStation > 1 && taskSecond.TargetStation - task.TargetStation > 1)
                                        {
                                            LogAndWarn("执行调度任务控制", $"【{commonRGV.DeviceCode}工作模式:【{commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVFirst.DeviceCode}】任务【{JsonConvert.SerializeObject(taskSecond)}】{commonRGVFirst.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task)}】】");
                                            Thread.Sleep(1000);
                                            return task;
                                        }
                                    }
@@ -386,6 +392,7 @@
                                        if (taskSecond.TargetStation-task.TargetStation >1 )
                                        {
                                            LogAndWarn("执行调度任务控制", $"【{commonRGV.DeviceCode}工作模式:【{commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVFirst.DeviceCode}】任务【{JsonConvert.SerializeObject(taskSecond)}】{commonRGVFirst.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task)}】】");
                                            Thread.Sleep(1000);
                                            return task;
                                        }
                                    }
@@ -405,6 +412,7 @@
                                    SendCommand(commonRGVFirst, command);
                                }
                                LogAndWarn("执行调度任务控制", $"【{commonRGV.DeviceCode}工作模式:【{commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVFirst.DeviceCode}】任务【{JsonConvert.SerializeObject(taskSecond)}】{commonRGVFirst.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task)}】】");
                                Thread.Sleep(1000);
                                return task;
                            }
                        }
@@ -441,28 +449,35 @@
                            {
                                if (taskSecond.TaskState == (int)TaskOutStatusEnum.RGV_Outdispatch || taskSecond.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_Indispatch || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_InAwaitWMS || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                {
                                    //task = tasks.FirstOrDefault(x =>x.SourceStation- taskSecond.TargetStation > 1  && x.TargetStation - taskSecond.SourceStation > 1 && x.SourceStation - taskSecond.SourceStation > 1 && x.TargetStation - taskSecond.TargetStation> 1);
                                    task = tasks.FirstOrDefault(x =>(x.SourceStation- taskSecond.TargetStation > 1 && x.SourceStation - taskSecond.SourceStation > 1&&x.TaskType==(int)TaskInboundTypeEnum.Inbound) ||(x.SourceStation - taskSecond.TargetStation > 1 && x.TargetStation - taskSecond.SourceStation > 1 && x.SourceStation - taskSecond.SourceStation > 1 && x.TargetStation - taskSecond.TargetStation > 1&&x.TaskType== (int)TaskOutboundTypeEnum.Outbound));
                                    if (task == null)
                                    {
                                        task = tasks.FirstOrDefault(x => (x.SourceStation - taskSecond.TargetStation > 1 && x.SourceStation - taskSecond.SourceStation > 1 && x.TaskType == (int)TaskInboundTypeEnum.Inbound) || (x.SourceStation - taskSecond.TargetStation > 1 && x.TargetStation - taskSecond.SourceStation > 1 && x.SourceStation - taskSecond.SourceStation > 1 && x.TargetStation - taskSecond.TargetStation > 1 && x.TaskType == (int)TaskOutboundTypeEnum.Outbound));
                                    }
                                    LogAndWarn("执行调度任务控制", $"【{commonRGVSecond.DeviceCode}工作模式:【{commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVSecond.DeviceCode}】任务【{JsonConvert.SerializeObject(taskSecond)}】{commonRGVSecond.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task.TaskNum)}】】");
                                    LogAndWarn("执行调度任务控制", $"【{commonRGVSecond.DeviceCode}工作模式:【{commonRGV.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVSecond.DeviceCode}】任务【{JsonConvert.SerializeObject(taskSecond)}】{commonRGVSecond.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task)}】】");
                                    Thread.Sleep(1000);
                                    return task;
                                }
                                else if (taskSecond.TaskState == (int)TaskOutStatusEnum.RGV_OutExecuting || taskSecond.TaskState == (int)TaskInStatusEnum.RGV_InExecuting)
                                {
                                    task = tasks.FirstOrDefault(x => x.SourceStation - taskSecond.TargetStation> 1 &&x.TargetStation - taskSecond.TargetStation > 1);
                                    LogAndWarn("执行调度任务控制", $"【{commonRGV.DeviceCode}工作模式:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVSecond.DeviceCode}】任务【{JsonConvert.SerializeObject(taskSecond)}】{commonRGVSecond.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task)}】】");
                                    LogAndWarn("执行调度任务控制", $"【{commonRGV.DeviceCode}工作模式:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVSecond.DeviceCode}】任务【{JsonConvert.SerializeObject(taskSecond)}】{commonRGVSecond.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task.TaskNum)}】】");
                                    Thread.Sleep(1000);
                                    return task;
                                }
                                return null;
                            }
                            else
                            {
                                var taskNews = tasks.Where(x => (x.TaskType == (int)TaskInboundTypeEnum.Inbound && Convert.ToInt32(x.SourceAddress) < 1015) || (x.TaskType == (int)TaskOutboundTypeEnum.Outbound && (x.Roadway == "SC01" || x.Roadway == "SC02" || x.Roadway == "SC03"))).ToList();
                                if (taskNews.Count== 0)
                                {
                                    return null;
                                }
                                if (commonRGVSecond.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) > 35000)
                                {
                                    RGVTaskCommand command = new RGVTaskCommand()
@@ -475,13 +490,15 @@
                                }
                                if (tasks.FirstOrDefault(x => x.RGVName == "RGV01") != null)
                                {
                                    LogAndWarn("调度任务控制", $"【{commonRGVSecond.DeviceCode}工作模式:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV01"))}】】");
                                    return tasks.FirstOrDefault(x => x.RGVName == "RGV01");
                                    LogAndWarn("调度任务控制", $"【{commonRGVSecond.DeviceCode}工作模式:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV01").TaskNum)}】】");
                                    Thread.Sleep(1000);
                                    return taskNews.FirstOrDefault(x => x.RGVName == "RGV01");
                                }
                                else
                                {
                                    LogAndWarn("调度任务控制", $"【{commonRGVSecond.DeviceCode}工作模式:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV02"))}】】");
                                    return tasks.FirstOrDefault(x => x.RGVName != "RGV02");
                                    LogAndWarn("调度任务控制", $"【{commonRGVSecond.DeviceCode}工作模式:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV02").TaskNum)}】】");
                                    Thread.Sleep(1000);
                                    return taskNews.FirstOrDefault(x => x.RGVName != "RGV02");
                                }
                            }
                        }
@@ -489,12 +506,14 @@
                        {
                            if (tasks.FirstOrDefault(x => x.RGVName == "RGV01") != null)
                            {
                                LogAndWarn("调度任务控制", $"【{commonRGVSecond.DeviceCode}工作模式:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV01"))}】】");
                                LogAndWarn("调度任务控制", $"【{commonRGVSecond.DeviceCode}工作模式:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV01").TaskNum)}】】");
                                Thread.Sleep(1000);
                                return tasks.FirstOrDefault(x => x.RGVName == "RGV01");
                            }
                            else
                            {
                                LogAndWarn("调度任务控制", $"【{commonRGVSecond.DeviceCode}工作模式:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV02"))}】】");
                                LogAndWarn("调度任务控制", $"【{commonRGVSecond.DeviceCode}工作模式:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV02").TaskNum)}】】");
                                Thread.Sleep(1000);
                                return tasks.FirstOrDefault(x => x.RGVName != "RGV02");
                            }
                        }
@@ -503,12 +522,14 @@
                    {
                        if (tasks.FirstOrDefault(x => x.RGVName == "RGV01") != null)
                        {
                            LogAndWarn("调度任务控制", $"【{commonRGVSecond.DeviceCode}工作模式:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV01"))}】】");
                            LogAndWarn("调度任务控制", $"【未找到RGV02设备信息】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV01").TaskNum)}】】");
                            Thread.Sleep(1000);
                            return tasks.FirstOrDefault(x => x.RGVName == "RGV01");
                        }
                        else
                        {
                            LogAndWarn("调度任务控制", $"【{commonRGVSecond.DeviceCode}工作模式:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVSecond.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV02"))}】】");
                            LogAndWarn("调度任务控制", $"【未找到RGV02设备信息】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV02").TaskNum)}】】");
                            Thread.Sleep(1000);
                            return tasks.FirstOrDefault(x => x.RGVName != "RGV02");
                        }
                    }
@@ -525,11 +546,11 @@
                            {
                                if (taskFirst.TaskState == (int)TaskOutStatusEnum.RGV_Outdispatch || taskFirst.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish || taskFirst.TaskState == (int)TaskInStatusEnum.RGV_Indispatch || taskFirst.TaskState == (int)TaskInStatusEnum.RGV_InAwaitWMS || taskFirst.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish)
                                {
                                    //task = tasks.FirstOrDefault(x =>taskFirst.TargetStation - x.SourceStation > 1 && taskFirst.SourceStation - x.TargetStation > 1 && taskFirst.SourceStation - x.SourceStation > 1 && taskFirst.TargetStation - x.TargetStation > 1);
                                    task = tasks.FirstOrDefault(x => (x.SourceStation - taskFirst.TargetStation > 1 && x.SourceStation - taskFirst.SourceStation > 1 && x.TaskType == (int)TaskInboundTypeEnum.Inbound) || (x.SourceStation - taskFirst.TargetStation > 1 && x.TargetStation - taskFirst.SourceStation > 1 && x.SourceStation - taskFirst.SourceStation > 1 && x.TargetStation - taskFirst.TargetStation > 1 && x.TaskType == (int)TaskOutboundTypeEnum.Outbound));
                                    LogAndWarn("执行调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVFirst.DeviceCode}】任务【{JsonConvert.SerializeObject(taskFirst)}】{commonRGVFirst.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task)}】】");
                                    LogAndWarn("执行调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVFirst.DeviceCode}】任务【{JsonConvert.SerializeObject(taskFirst)}】{commonRGVFirst.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task.TaskNum)}】】");
                                    Thread.Sleep(1000);
                                    return task;
                                }
@@ -537,14 +558,19 @@
                                {
                                    task = tasks.FirstOrDefault(x => taskFirst.TargetStation - x.SourceStation > 1 && taskFirst.TargetStation - x.TargetStation > 1);
                                    LogAndWarn("执行调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVFirst.DeviceCode}】任务【{JsonConvert.SerializeObject(taskFirst)}】{commonRGVFirst.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task)}】】");
                                    LogAndWarn("执行调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】【{commonRGVFirst.DeviceCode}】任务【{JsonConvert.SerializeObject(taskFirst)}】{commonRGVFirst.DeviceCode}返回任务:【{JsonConvert.SerializeObject(task.TaskNum)}】】");
                                    Thread.Sleep(1000);
                                    return task;
                                }
                                return null;
                            }
                            else
                            {
                                var taskNews = tasks.Where(x => (x.TaskType == (int)TaskInboundTypeEnum.Inbound && Convert.ToInt32(x.SourceAddress) > 1015) || (x.TaskType == (int)TaskOutboundTypeEnum.Outbound && (x.Roadway == "SC04" || x.Roadway == "SC05" || x.Roadway == "SC06"))).ToList();
                                if (taskNews.Count == 0)
                                {
                                    return null;
                                }
                                if (commonRGVFirst.GetValue<RGVDBName, int>(RGVDBName.LevelPoint) < 420000)
                                {
                                    RGVTaskCommand command = new RGVTaskCommand()
@@ -557,14 +583,16 @@
                                }
                                if (tasks.FirstOrDefault(x => x.RGVName == "RGV02") != null)
                                {
                                    LogAndWarn("调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV02"))}】】");
                                    LogAndWarn("调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV02").TaskNum)}】】");
                                    Thread.Sleep(1000);
                                    return tasks.FirstOrDefault(x => x.RGVName == "RGV02");
                                }
                                else
                                {
                                    LogAndWarn("调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV01"))}】】");
                                    LogAndWarn("调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV01").TaskNum)}】】");
                                    Thread.Sleep(1000);
                                    return tasks.FirstOrDefault(x => x.RGVName != "RGV01");
                                }
                            }
@@ -573,14 +601,15 @@
                        {
                            if (tasks.FirstOrDefault(x => x.RGVName == "RGV02") != null)
                            {
                                LogAndWarn("调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV02"))}】】");
                                LogAndWarn("调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV02").TaskNum)}】】");
                                Thread.Sleep(1000);
                                return tasks.FirstOrDefault(x => x.RGVName == "RGV02");
                            }
                            else
                            {
                                LogAndWarn("调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV01"))}】】");
                                LogAndWarn("调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV01").TaskNum)}】】");
                                Thread.Sleep(1000);
                                return tasks.FirstOrDefault(x => x.RGVName != "RGV01");
                            }
                        }
@@ -589,14 +618,16 @@
                    {
                        if (tasks.FirstOrDefault(x => x.RGVName == "RGV02") != null)
                        {
                            LogAndWarn("调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV02"))}】】");
                            LogAndWarn("调度任务控制", $"【未找到RGV01设备信息】 è¿”回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName == "RGV02").TaskNum)}】】");
                            Thread.Sleep(1000);
                            return tasks.FirstOrDefault(x => x.RGVName == "RGV02");
                        }
                        else
                        {
                            LogAndWarn("调度任务控制", $"【{commonRGVFirst.DeviceCode}工作模式:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Automatic)}】作业状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Running)}】设备状态:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.Fault)}】是否有货:【{commonRGVFirst.GetValue<RGVDBName, bool>(RGVDBName.InStock)}】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV01"))}】】");
                            LogAndWarn("调度任务控制", $"【未找到RGV01设备信息】返回任务:【{JsonConvert.SerializeObject(tasks.FirstOrDefault(x => x.RGVName != "RGV01").TaskNum)}】】");
                            Thread.Sleep(1000);
                            return tasks.FirstOrDefault(x => x.RGVName != "RGV01");
                        }
                    }
@@ -618,24 +649,10 @@
        {
            if (commonRGV != null)
            {
                WriteInfo("RGV任务完成", $"{commonRGV.DeviceName}完成任务号{TaskNum}");
                var task = _taskRepository.QueryFirst(x => x.TaskNum == TaskNum);
                if (task != null)
                {
                    if (task.TaskState == (int)TaskInStatusEnum.InRetuen)
                    {
                        Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
                        if (stationManager != null)
                        {
                            IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManager.stationPLC);
                            if (device != null)
                            {
                                CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
                                commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(4));
                                var content = _taskService.RGVTaskCompleted(TaskNum);
                            }
                        }
                    }
                    if (task.TaskState == (int)TaskInStatusEnum.RGV_Indispatch)
                    {
                        Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
@@ -648,17 +665,24 @@
                                Thread.Sleep(100);
                                DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault();
                                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 7);
                                var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 10);
                                string Barcode = Encoding.UTF8.GetString(x);
                                if (Barcode == null || Barcode == "")
                                if (Barcode == null || Barcode == ""|| Barcode.Trim().Contains("\0"))
                                {
                                    conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode);
                                    commonRGV.SetValue(StackerCraneDBName.PutcargoLocation, Convert.ToSByte(stationManager.stationRemark));
                                    commonRGV.SetValue(StackerCraneDBName.TaskNum, Convert.ToInt16(task.TaskNum));
                                    task.TaskState = (int)TaskInStatusEnum.InRetuen;
                                    _taskRepository.UpdateData(task);
                                    commonRGV.SetValue(StackerCraneDBName.TaskType, Convert.ToSByte(4));
                                    task.ModifyDate = DateTime.Now;
                                    task.Modifier = "System";
                                    Dt_Task_Hty task_Hty = _mapper.Map<Dt_Task_Hty>(task);
                                    task_Hty.TaskId = 0;
                                    _taskRepository.DeleteData(task);
                                    _task_HtyRepository.AddData(task_Hty);
                                    return;
                                }
                                var content = _taskService.RGVTaskCompleted(TaskNum, Barcode);
@@ -719,8 +743,6 @@
            rgvTaskCommand.TaskNum = Convert.ToInt16(task.TaskNum);
            if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//判断是否是入库任务
            {
                //rgvTaskCommand.TaskType = (byte)Convert.ToSByte(16);
                //rgvTaskCommand.TaskType = (byte)Convert.ToSByte(64);   é€€å›ž
                if (task.TaskState == (int)TaskInStatusEnum.InNew)
                {
                    Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -156,6 +156,7 @@
                        29 => "放深货时浅货位有货",
                        30 => "",
                        31 => "",
                        _ => $"未知报警({alarm})"
                    };
                    object obj = new
                    {
@@ -216,6 +217,7 @@
        {
            if (commonStackerCrane != null)
            {
                WriteInfo("堆垛机任务完成", $"{commonStackerCrane.DeviceName}完成任务号{TaskNum}");
                var task = _taskRepository.QueryFirst(x => x.TaskNum == TaskNum);
                if (task != null)
                {
@@ -395,8 +397,8 @@
                    if (sourceCodes.Length == 3)
                    {
                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                        stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                        stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
                        stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[2]);
                        stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[1]);
                    }
                    else
                    {
@@ -409,8 +411,8 @@
                    if (targetCodes.Length == 3)
                    {
                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                        stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                        stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                        stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[2]);
                        stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[1]);
                    }
                    else
                    {
@@ -435,8 +437,8 @@
                    if (sourceCodes.Length == 3)
                    {
                        stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                        stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                        stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
                        stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[2]);
                        stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[1]);
                    }
                    else
                    {
@@ -448,8 +450,8 @@
                    if (targetCodes.Length == 3)
                    {
                        stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                        stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                        stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                        stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[2]);
                        stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[1]);
                    }
                    else
                    {
@@ -471,8 +473,8 @@
                if (sourceCodes.Length == 3)
                {
                    stackerCraneTaskCommand.StartRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(sourceCodes[0])));
                    stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[1]);
                    stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[2]);
                    stackerCraneTaskCommand.StartColumn = (byte)Convert.ToSByte(sourceCodes[2]);
                    stackerCraneTaskCommand.StartLayer = (byte)Convert.ToSByte(sourceCodes[1]);
                }
                else
                {
@@ -484,8 +486,8 @@
                if (targetCodes.Length == 3)
                {
                    stackerCraneTaskCommand.EndRow = (byte)Convert.ToSByte(GetRowCode(Convert.ToInt32(targetCodes[0])));
                    stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[1]);
                    stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[2]);
                    stackerCraneTaskCommand.EndColumn = (byte)Convert.ToSByte(targetCodes[2]);
                    stackerCraneTaskCommand.EndLayer = (byte)Convert.ToSByte(targetCodes[1]);
                }
                else
                {
ÏîÄ¿×ÊÁÏ/½Ó¿ÚЭÒé/~$ÖÇÄÜÁ¢¿âϵͳÓëWCS½Ó¿Ú(°Â̹˹) -¿íº£(1).docx
Binary files differ