xiaojiao
3 天以前 2c69e642303e9f9c3b2e37194c4c6cdf7e1b3001
4-29
已添加8个文件
已修改20个文件
1682 ■■■■ 文件已修改
项目代码/PDA/pages/Inbound/Inbound.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSClient/src/extension/basicinfo/stationmanager.js 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSClient/src/router/viewGird.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSClient/src/views/basicinfo/materialInfo.vue 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSClient/src/views/basicinfo/stationmanager.vue 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.backup.json 402 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.json 404 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoRepository/Dt_MaterialInfo_HtyRepository.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoService/Dt_MaterialInfoService.cs 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoService/Dt_MaterialInfo_HtyService.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoService/Dt_StationManagerService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_Common/StationEnum/StationEnum.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs 97 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoRepository/IDt_MaterialInfo_HtyRepository.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoService/IDt_MaterialInfoService.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoService/IDt_MaterialInfo_HtyService.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManager.cs 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/BasicInfo/Dt_MaterialInfoController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_Server/Filter/CustomProfile.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_Server/Log/AGV任务下发/2026-04-28/任务下发接口260428.txt 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_Server/Log/AGV任务下发/2026-04-29/任务下发接口260429.txt 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_TaskInfoService/TaskService.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_Tasks/AGV/CommonAGVJob.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/TaskAcquisition_Back1_Job.cs 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/TaskAcquisition_Back2_Job.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/TaskAcquisition_Front_Job.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/PDA/pages/Inbound/Inbound.vue
@@ -75,7 +75,7 @@
                        <uni-easyinput type="text" placeholder="请输入备料点位" ref='midInput' :focus="focus2" v-model="Position"/>
                    </uni-forms-item>
                </uni-forms>
                <button @click="GroupPlate" type="primary" size="default" style="margin-top: 2%;">组盘</button>
                <button @click="GroupPlate" type="primary" size="default" style="margin-top: 2%;">组盘绑定</button>
            </view>
        </view>
        <view v-show="current === 1">
@@ -86,7 +86,7 @@
                            placeholder="请输入托盘编码" ref='midInput' />
                    </uni-forms-item>
                </uni-forms>
                <button @click="SolvePlate" type="primary" size="default" style="margin-top: 2%;">解盘</button>
                <button @click="SolvePlate" type="primary" size="default" style="margin-top: 2%;">解绑</button>
            </view>
        </view>
        <u-toast ref="luToast" />
@@ -271,7 +271,7 @@
                var param = {
                    "PalletCode": this.PalletCode3,
                }
                this.$u.post('/api/BoxingInfo/DeleteGroupPlateAsync', param).then(res => {
                this.$u.post('/api/PDA/DeleteGroupPlateAsync?PalletCode='+this.PalletCode3, '').then(res => {
                    if (res.status) {
                        this.$refs.luToast.show({
                            title: res.message,
ÏîÄ¿´úÂë/WIDESEA_WCSClient/src/extension/basicinfo/stationmanager.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,87 @@
import gridBody from './extend/materialInfos.vue';
let extension = {
  components: {
    //查询界面扩展组件
    gridHeader: "",
    gridBody: gridBody,
    gridFooter: "",
    //新建、编辑弹出框扩展组件
    modelHeader: "",
    modelBody: "",
    modelFooter: "",
  },
  tableAction: "", //指定某张表的权限(这里填写表名,默认不用填写)
  buttons: { view: [], box: [], detail: [] }, //扩展的按钮
  methods: {
    //下面这些方法可以保留也可以删除
    onInit() {
      // console.log(this.detailOptions.buttons);
      // console.log(this.$refs.detail)
      var detailImport = this.detailOptions.buttons.find(
        (item) => item.value == "import"
      );
      if (detailImport) {
        detailImport.onClick = function () {
          this.$refs.gridBody.open();
        };
      }
      // this.buttons.unshift({
      //   //也可以用push或者splice方法来修改buttons数组
      //   name: "开启服务", //按钮名称
      //   icon: "el-icon-document", //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档)
      //   type: "primary", //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button
      //   onClick: function () {
      //     this.$Message.success("开启服务");
      //   },
      // });
    },
    onInited() {
      //框架初始化配置后
      //如果要配置明细表,在此方法操作
      // this.detailOptions.columns.forEach(column=>{ });
      // console.log(this)
    },
    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)
    },
    updated() {
      //console.log(this.$refs)
      this.$nextTick(() => {
        if (this.$refs.upload_excel) {
          alert("点击了上传按钮");
          this.$refs.upload_excel.upload = function () {
            console.log("点击了上传按钮");
          };
        }
        // alert(1)
      });
    },
  },
};
export default extension;
ÏîÄ¿´úÂë/WIDESEA_WCSClient/src/router/viewGird.js
@@ -66,6 +66,10 @@
    path: '/materialInfo',
    name: 'Dt_MaterialInfo',
    component: () => import('@/views/basicinfo/materialInfo.vue')
  },{
    path: '/stationmanager',
    name: 'Dt_StationManager',
    component: () => import('@/views/basicinfo/stationmanager.vue')
  }
]
ÏîÄ¿´úÂë/WIDESEA_WCSClient/src/views/basicinfo/materialInfo.vue
@@ -50,10 +50,10 @@
        { title: "任务号", field: "taskNum", type: "int" },
        { title: "托盘编号", field: "palletCode", type: "text" },
        {
          title: "任务类型",
          field: "taskType",
          title: "是否绑定",
          field: "isBind",
          type: "selectList",
          dataKey: "taskType",
          dataKey: "isBind",
          data: [],
        },
        {
@@ -88,7 +88,7 @@
        align: "left",
      },
      {
        field: "ContainerCode",
        field: "containerCode",
        title: "容器编号",
        type: "string",
        width: 90,
@@ -96,37 +96,37 @@
      },
      
      {
        field: "Position",
        title: "容器当前位置",
        field: "position",
        title: "容器起点",
        type: "string",
        width: 160,
        align: "left",
      },
      {
        field: "EndPosition",
        title: "容器出场位置",
        field: "endPosition",
        title: "容器终点",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "IsNew",
        field: "isNew",
        title: "是否属于新增容器",
        type: "int",
        width: 120,
        align: "left",
        bind: { key: "taskType", data: [] },
        bind: { key: "isBind", data: [] },
      },
      {
        field: "IsBind",
        field: "isBind",
        title: "是否绑定",
        type: "int",
        width: 150,
        align: "left",
        bind: { key: "taskState", data: [] },
        bind: { key: "isBind", data: [] },
      },
      {
        field: "Carmodel",
        field: "carmodel",
        title: "车型",
        type: "string",
        width: 120,
ÏîÄ¿´úÂë/WIDESEA_WCSClient/src/views/basicinfo/stationmanager.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,170 @@
<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/stationmanager.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
  setup() {
    const table = ref({
      key: "stationID",
      footer: "Foots",
      cnName: "站台管理",
      name: "Dt_StationManager",
      url: "/Dt_StationManager/",
      sortName: "CreateDate",
    });
    const editFormFields = ref({
      stationLocation: "",
      stationArea: "",
      stationStatus: "",
      remark: "",
    });
    const editFormOptions = ref([
        [{ title: "站台位置", field: "stationLocation", type: "string" }],
        [{ title: "站台区域",
           field: "stationArea",
           type: "selectList",
           dataKey: "stationArea" ,
           data: [] }],
        [{
          title: "站台状态",
          field: "stationStatus",
          type: "selectList",
          dataKey: "stationStatus",
          data: [],
        }],
        [{ title: "备注", field: "remark", type: "textarea" }],
    ]);
    const searchFormFields = ref({
      taskNum: "",
      palletCode: "",
      roadway: "",
      sourceAddress: "",
      targetAddress: "",
      currentAddress: "",
      nextAddress: "",
      creater: "",
      createDate: "",
    });
    const searchFormOptions = ref([
      [{ title: "站台位置", field: "stationLocation", type: "string" }],
        [{ title: "站台区域",
           field: "stationArea",
           type: "selectList",
           dataKey: "stationArea" ,
           data: [] }],
        [{
          title: "站台状态",
          field: "stationStatus",
          type: "selectList",
          dataKey: "stationStatus",
          data: [],
        }],
        [{ title: "备注", field: "remark", type: "textarea" }],
    ]);
    const columns = ref([
      {
        field: "stationID",
        title: "id",
        type: "int",
        width: 90,
        hidden: true,
        readonly: true,
        require: true,
        align: "left",
      },
      {
        field: "stationLocation",
        title: "站台位置",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "stationArea",
        title: "站台区域",
        type: "select",
        width: 160,
        align: "left",
        bind: { key: "stationArea", data: [] }
      },
      {
        field: "stationStatus",
        title: "站台状态",
        type: "select",
        width: 90,
        align: "left",
        bind: { key: "stationStatus", data: [] }
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
        width: 120,
        align: "left",
      },
      {
        field: "createDate",
        title: "创建时间",
        type: "datetime",
        width: 150,
        align: "left",
      },
      {
        field: "modifyDate",
        title: "修改时间",
        type: "datetime",
        width: 160,
        align: "left",
      },
      {
        field: "creater",
        title: "创建人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "modifier",
        title: "修改人",
        type: "string",
        width: 90,
        align: "left",
      },
      {
        field: "remark",
        title: "备注",
        type: "string",
        width: 100,
        align: "left",
        hidden: true,
      },
    ]);
    const detail = ref({
      cnName: "",
      table: "",
      columns: [],
      sortName: "",
      key: "",
    });
    return {
      table,
      extend,
      editFormFields,
      editFormOptions,
      searchFormFields,
      searchFormOptions,
      columns,
      detail,
    };
  },
});
</script>
ÏîÄ¿´úÂë/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.backup.json
@@ -3,16 +3,104 @@
  "WorkspaceRootPath": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\taskacquisition\\taskacquisition_back1_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_back1_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
      "AbsoluteMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_basicinfoservice\\dt_materialinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|solutionrelative:wideseawcs_basicinfoservice\\dt_materialinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\controllers\\agv\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\agv\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\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:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\taskacquisition\\taskacquisition_back1_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_back1_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_taskinfoservice\\invokeagvservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\invokeagvservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\controllers\\pda\\pdacontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\pda\\pdacontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_common\\stationenum\\stationenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\stationenum\\stationenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\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:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_ibasicinfoservice\\idt_materialinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|solutionrelative:wideseawcs_ibasicinfoservice\\idt_materialinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\controllers\\basicinfo\\dt_stationmanagercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\basicinfo\\dt_stationmanagercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_ibasicinfoservice\\idt_stationmanagerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|solutionrelative:wideseawcs_ibasicinfoservice\\idt_stationmanagerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_basicinforepository\\dt_stationmanagerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\dt_stationmanagerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\taskacquisition\\taskacquisition_front_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_front_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\taskacquisition\\taskacquisition_back2_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_back2_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\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:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_basicinfoservice\\dt_materialinfo_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|solutionrelative:wideseawcs_basicinfoservice\\dt_materialinfo_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_ibasicinfoservice\\idt_materialinfo_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|solutionrelative:wideseawcs_ibasicinfoservice\\idt_materialinfo_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_basicinforepository\\dt_materialinfo_htyrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\dt_materialinfo_htyrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_basicinforepository\\dt_materialinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\dt_materialinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_ibasicinforepository\\idt_materialinfo_htyrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|solutionrelative:wideseawcs_ibasicinforepository\\idt_materialinfo_htyrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_ibasicinforepository\\idt_materialinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|solutionrelative:wideseawcs_ibasicinforepository\\idt_materialinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
@@ -22,7 +110,7 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 3,
          "SelectedChildIndex": 5,
          "Children": [
            {
              "$type": "Bookmark",
@@ -30,26 +118,52 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "Dt_Task.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ViewState": "AgIAADgAAAAAAAAAAAAgwF0AAAAjAAAAAAAAAA==",
              "DocumentIndex": 1,
              "Title": "AGVController.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
              "ViewState": "AgIAADEAAAAAAAAAAAAtwEcAAAAeAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T02:21:47.364Z",
              "WhenOpened": "2026-04-28T03:02:31.135Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "DocumentIndex": 2,
              "Title": "TaskService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAAMABAAAAAAAAAAAAANABAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T03:36:20.863Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "TaskStatusEnum.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
              "ViewState": "AgIAAH8AAAAAAAAAAAAtwJEAAAAWAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-29T07:33:38.773Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "CommonAGVJob.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "ViewState": "AgIAAFMAAAAAAAAAAAAQwGgAAAA6AAAAAAAAAA==",
              "ViewState": "AgIAACUAAAAAAAAAAAApwGkAAAA2AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T01:58:09.73Z",
              "EditorCaption": ""
@@ -57,15 +171,275 @@
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "Title": "Dt_MaterialInfoService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoService\\Dt_MaterialInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoService\\Dt_MaterialInfoService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoService\\Dt_MaterialInfoService.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoService\\Dt_MaterialInfoService.cs",
              "ViewState": "AgIAAEcAAAAAAAAAAAAtwGUAAAAxAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T05:45:10.35Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "TaskAcquisition_Back1_Job.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
              "ViewState": "AgIAAEIAAAAAAAAAAAAgwFQAAABbAAAAAAAAAA==",
              "ViewState": "AgIAAEsAAAAAAAAAAADgv1IAAABkAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-22T02:42:49.651Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "StationEnum.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Common\\StationEnum\\StationEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\StationEnum\\StationEnum.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Common\\StationEnum\\StationEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Common\\StationEnum\\StationEnum.cs",
              "ViewState": "AgIAAAMAAAAAAAAAAAAtwA8AAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-29T05:43:38.969Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "PDAController.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\PDA\\PDAController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\PDA\\PDAController.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\PDA\\PDAController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\PDA\\PDAController.cs",
              "ViewState": "AgIAACAAAAAAAAAAAAAswDAAAAA9AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T03:39:44.904Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "InvokeAGVService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
              "ViewState": "AgIAABcAAAAAAAAAAADgvyAAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:26:21.65Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "ITaskService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AgIAAFwAAAAAAAAAAAAhwGsAAAAbAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T03:38:38.751Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "IDt_MaterialInfoService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfoService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfoService.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfoService.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAADwvxMAAAAoAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:10:16.901Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "Title": "IDt_StationManagerService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoService\\IDt_StationManagerService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoService\\IDt_StationManagerService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoService\\IDt_StationManagerService.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoService\\IDt_StationManagerService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAswBUAAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-29T02:48:30.75Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "Dt_StationManagerController.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\BasicInfo\\Dt_StationManagerController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\BasicInfo\\Dt_StationManagerController.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\BasicInfo\\Dt_StationManagerController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\BasicInfo\\Dt_StationManagerController.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAA3AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-29T01:29:08.884Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "Title": "Sys_UserService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "ViewState": "AgIAAGMAAAAAAAAAAAAmwGMAAAArAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-29T05:30:40.866Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "Title": "Dt_Task.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ViewState": "AgIAABgAAAAAAAAAAAAAACQAAAAUAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T02:21:47.364Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "Title": "Dt_StationManagerRepository.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoRepository\\Dt_StationManagerRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\Dt_StationManagerRepository.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoRepository\\Dt_StationManagerRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\Dt_StationManagerRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABsAAAAFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-29T01:18:18.819Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "Title": "TaskAcquisition_Front_Job.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
              "ViewState": "AgIAABwAAAAAAAAAAAAgwC0AAAANAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:40:05.967Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "Title": "TaskAcquisition_Back2_Job.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
              "ViewState": "AgIAABwAAAAAAAAAAAAUwCoAAAAzAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T07:05:44.769Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 19,
              "Title": "Dt_MaterialInfo_HtyService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoService\\Dt_MaterialInfo_HtyService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoService\\Dt_MaterialInfo_HtyService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoService\\Dt_MaterialInfo_HtyService.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoService\\Dt_MaterialInfo_HtyService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvw0AAABtAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:09:42.373Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 20,
              "Title": "IDt_MaterialInfo_HtyService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfo_HtyService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfo_HtyService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfo_HtyService.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfo_HtyService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwwAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:09:28.32Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 22,
              "Title": "Dt_MaterialInfoRepository.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfoRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfoRepository.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfoRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfoRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvxEAAAAFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:07:48.915Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 21,
              "Title": "Dt_MaterialInfo_HtyRepository.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfo_HtyRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfo_HtyRepository.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfo_HtyRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfo_HtyRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwwAAAAFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:07:38.867Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 24,
              "Title": "IDt_MaterialInfoRepository.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfoRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfoRepository.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfoRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfoRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwoAAABOAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:07:05.131Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 23,
              "Title": "IDt_MaterialInfo_HtyRepository.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfo_HtyRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfo_HtyRepository.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfo_HtyRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfo_HtyRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAABVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:06:44.534Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 18,
              "Title": "TaskController.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ViewState": "AgIAACEAAAAAAAAAAAAewCYAAAAJAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T03:38:51.686Z",
              "EditorCaption": ""
            }
          ]
        }
ÏîÄ¿´úÂë/WIDESEA_WCSServer/.vs/WIDESEAWCS_Server/v18/DocumentLayout.json
@@ -3,6 +3,22 @@
  "WorkspaceRootPath": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\",
  "Documents": [
    {
      "AbsoluteMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_basicinfoservice\\dt_materialinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|solutionrelative:wideseawcs_basicinfoservice\\dt_materialinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\controllers\\agv\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\agv\\agvcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\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:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\taskenum\\taskstatusenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\agv\\commonagvjob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
@@ -11,8 +27,80 @@
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_back1_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_taskinfoservice\\invokeagvservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{83F18A31-5983-4587-A0B2-414BF70E50B5}|WIDESEAWCS_TaskInfoService\\WIDESEAWCS_TaskInfoService.csproj|solutionrelative:wideseawcs_taskinfoservice\\invokeagvservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\controllers\\pda\\pdacontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\pda\\pdacontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_common\\stationenum\\stationenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{9FBC654C-51DE-422D-9E1E-6A38268DE1E2}|WIDESEAWCS_Common\\WIDESEAWCS_Common.csproj|solutionrelative:wideseawcs_common\\stationenum\\stationenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7279A2AE-8D1F-4E66-A73A-01AF7927A336}|WIDESEAWCS_ITaskInfoService\\WIDESEAWCS_ITaskInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\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:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_ibasicinfoservice\\idt_materialinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|solutionrelative:wideseawcs_ibasicinfoservice\\idt_materialinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_server\\controllers\\basicinfo\\dt_stationmanagercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\controllers\\basicinfo\\dt_stationmanagercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_ibasicinfoservice\\idt_stationmanagerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|solutionrelative:wideseawcs_ibasicinfoservice\\idt_stationmanagerservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{A14242DD-DA06-4DC3-8598-1761AA7C76D1}|WIDESEAWCS_SystemServices\\WIDESEAWCS_SystemServices.csproj|solutionrelative:wideseawcs_systemservices\\sys_userservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{7F200FE8-CAF6-4131-BD25-8D438FE0ABAC}|WIDESEAWCS_Model\\WIDESEAWCS_Model.csproj|solutionrelative:wideseawcs_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_basicinforepository\\dt_stationmanagerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\dt_stationmanagerrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\taskacquisition\\taskacquisition_front_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_front_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_tasks\\taskacquisition\\taskacquisition_back2_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{294E4915-0241-4C8C-BA99-7588B945863A}|WIDESEAWCS_Tasks\\WIDESEAWCS_Tasks.csproj|solutionrelative:wideseawcs_tasks\\taskacquisition\\taskacquisition_back2_job.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\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:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_basicinfoservice\\dt_materialinfo_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{FFAB2C76-1C9E-4006-95C8-A0B2AA53139D}|WIDESEAWCS_BasicInfoService\\WIDESEAWCS_BasicInfoService.csproj|solutionrelative:wideseawcs_basicinfoservice\\dt_materialinfo_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_ibasicinfoservice\\idt_materialinfo_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{8C2CC25B-DE5D-433E-A550-63864C7A716D}|WIDESEAWCS_IBasicInfoService\\WIDESEAWCS_IBasicInfoService.csproj|solutionrelative:wideseawcs_ibasicinfoservice\\idt_materialinfo_htyservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_basicinforepository\\dt_materialinfo_htyrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\dt_materialinfo_htyrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_basicinforepository\\dt_materialinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{206FDF79-9BF3-433A-B7FF-627287BBD760}|WIDESEAWCS_BasicInfoRepository\\WIDESEAWCS_BasicInfoRepository.csproj|solutionrelative:wideseawcs_basicinforepository\\dt_materialinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_ibasicinforepository\\idt_materialinfo_htyrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|solutionrelative:wideseawcs_ibasicinforepository\\idt_materialinfo_htyrepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    },
    {
      "AbsoluteMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|e:\\bjagv\\beijingbeiqiagv\\\u9879\u76EE\u4EE3\u7801\\widesea_wcsserver\\wideseawcs_ibasicinforepository\\idt_materialinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
      "RelativeMoniker": "D:0:0:{266D07B7-3648-4F3D-818A-89EDA7D84C58}|WIDESEAWCS_IBasicInfoRepository\\WIDESEAWCS_IBasicInfoRepository.csproj|solutionrelative:wideseawcs_ibasicinforepository\\idt_materialinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
    }
  ],
  "DocumentGroupContainers": [
@@ -22,7 +110,7 @@
      "DocumentGroups": [
        {
          "DockedWidth": 200,
          "SelectedChildIndex": 2,
          "SelectedChildIndex": 5,
          "Children": [
            {
              "$type": "Bookmark",
@@ -30,42 +118,328 @@
            },
            {
              "$type": "Document",
              "DocumentIndex": 2,
              "Title": "Dt_Task.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ViewState": "AgIAADgAAAAAAAAAAAAgwF0AAAAjAAAAAAAAAA==",
              "DocumentIndex": 1,
              "Title": "AGVController.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\AGV\\AGVController.cs",
              "ViewState": "AgIAADEAAAAAAAAAAAAtwEcAAAAeAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T02:21:47.364Z",
              "WhenOpened": "2026-04-28T03:02:31.135Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 0,
              "DocumentIndex": 2,
              "Title": "TaskService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\TaskService.cs",
              "ViewState": "AgIAAMABAAAAAAAAAAAAANABAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T03:36:20.863Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 3,
              "Title": "TaskStatusEnum.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Common\\TaskEnum\\TaskStatusEnum.cs",
              "ViewState": "AgIAAH8AAAAAAAAAAAAtwJEAAAAWAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-29T07:33:38.773Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 4,
              "Title": "CommonAGVJob.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs*",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs*",
              "ViewState": "AgIAAFEAAAAAAAAAAAAgwGMAAABGAAAAAAAAAA==",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
              "ViewState": "AgIAACUAAAAAAAAAAAApwGkAAAA2AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T01:58:09.73Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 1,
              "DocumentIndex": 0,
              "Title": "Dt_MaterialInfoService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoService\\Dt_MaterialInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoService\\Dt_MaterialInfoService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoService\\Dt_MaterialInfoService.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoService\\Dt_MaterialInfoService.cs",
              "ViewState": "AgIAAEcAAAAAAAAAAAAtwGUAAAAxAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T05:45:10.35Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 5,
              "Title": "TaskAcquisition_Back1_Job.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back1_Job.cs",
              "ViewState": "AgIAAB0AAAAAAAAAAAAQwFQAAABbAAAAAAAAAA==",
              "ViewState": "AgIAAEsAAAAAAAAAAADgv1IAAABkAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-22T02:42:49.651Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 8,
              "Title": "StationEnum.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Common\\StationEnum\\StationEnum.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Common\\StationEnum\\StationEnum.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Common\\StationEnum\\StationEnum.cs",
              "RelativeToolTip": "WIDESEAWCS_Common\\StationEnum\\StationEnum.cs",
              "ViewState": "AgIAAAMAAAAAAAAAAAAtwA8AAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-29T05:43:38.969Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 7,
              "Title": "PDAController.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\PDA\\PDAController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\PDA\\PDAController.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\PDA\\PDAController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\PDA\\PDAController.cs",
              "ViewState": "AgIAACAAAAAAAAAAAAAswDAAAAA9AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T03:39:44.904Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 6,
              "Title": "InvokeAGVService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
              "RelativeToolTip": "WIDESEAWCS_TaskInfoService\\InvokeAGVService.cs",
              "ViewState": "AgIAABcAAAAAAAAAAADgvyAAAAAIAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:26:21.65Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 9,
              "Title": "ITaskService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "RelativeToolTip": "WIDESEAWCS_ITaskInfoService\\ITaskService.cs",
              "ViewState": "AgIAAFwAAAAAAAAAAAAhwGsAAAAbAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T03:38:38.751Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 10,
              "Title": "IDt_MaterialInfoService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfoService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfoService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfoService.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfoService.cs",
              "ViewState": "AgIAAAYAAAAAAAAAAADwvxMAAAAoAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:10:16.901Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 12,
              "Title": "IDt_StationManagerService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoService\\IDt_StationManagerService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoService\\IDt_StationManagerService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoService\\IDt_StationManagerService.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoService\\IDt_StationManagerService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAswBUAAAAVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-29T02:48:30.75Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 11,
              "Title": "Dt_StationManagerController.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\BasicInfo\\Dt_StationManagerController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\BasicInfo\\Dt_StationManagerController.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\BasicInfo\\Dt_StationManagerController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\BasicInfo\\Dt_StationManagerController.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA4AAAA3AAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-29T01:29:08.884Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 13,
              "Title": "Sys_UserService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "RelativeToolTip": "WIDESEAWCS_SystemServices\\Sys_UserService.cs",
              "ViewState": "AgIAAGMAAAAAAAAAAAAmwGMAAAArAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-29T05:30:40.866Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 14,
              "Title": "Dt_Task.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "RelativeToolTip": "WIDESEAWCS_Model\\Models\\TaskInfo\\Dt_Task.cs",
              "ViewState": "AgIAABgAAAAAAAAAAAAAACQAAAAUAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T02:21:47.364Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 15,
              "Title": "Dt_StationManagerRepository.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoRepository\\Dt_StationManagerRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\Dt_StationManagerRepository.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoRepository\\Dt_StationManagerRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\Dt_StationManagerRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAABsAAAAFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-29T01:18:18.819Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 16,
              "Title": "TaskAcquisition_Front_Job.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Front_Job.cs",
              "ViewState": "AgIAABwAAAAAAAAAAAAgwC0AAAANAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:40:05.967Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 17,
              "Title": "TaskAcquisition_Back2_Job.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
              "RelativeToolTip": "WIDESEAWCS_Tasks\\TaskAcquisition\\TaskAcquisition_Back2_Job.cs",
              "ViewState": "AgIAABwAAAAAAAAAAAAUwCoAAAAzAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T07:05:44.769Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 19,
              "Title": "Dt_MaterialInfo_HtyService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoService\\Dt_MaterialInfo_HtyService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoService\\Dt_MaterialInfo_HtyService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoService\\Dt_MaterialInfo_HtyService.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoService\\Dt_MaterialInfo_HtyService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvw0AAABtAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:09:42.373Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 20,
              "Title": "IDt_MaterialInfo_HtyService.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfo_HtyService.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfo_HtyService.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfo_HtyService.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoService\\IDt_MaterialInfo_HtyService.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwwAAAAAAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:09:28.32Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 22,
              "Title": "Dt_MaterialInfoRepository.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfoRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfoRepository.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfoRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfoRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvxEAAAAFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:07:48.915Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 21,
              "Title": "Dt_MaterialInfo_HtyRepository.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfo_HtyRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfo_HtyRepository.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfo_HtyRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_BasicInfoRepository\\Dt_MaterialInfo_HtyRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwwAAAAFAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:07:38.867Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 24,
              "Title": "IDt_MaterialInfoRepository.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfoRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfoRepository.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfoRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfoRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAADwvwoAAABOAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:07:05.131Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 23,
              "Title": "IDt_MaterialInfo_HtyRepository.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfo_HtyRepository.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfo_HtyRepository.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfo_HtyRepository.cs",
              "RelativeToolTip": "WIDESEAWCS_IBasicInfoRepository\\IDt_MaterialInfo_HtyRepository.cs",
              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAABVAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T06:06:44.534Z",
              "EditorCaption": ""
            },
            {
              "$type": "Document",
              "DocumentIndex": 18,
              "Title": "TaskController.cs",
              "DocumentMoniker": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeDocumentMoniker": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ToolTip": "E:\\BJAGV\\BeiJingBeiQiAGV\\\u9879\u76EE\u4EE3\u7801\\WIDESEA_WCSServer\\WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "RelativeToolTip": "WIDESEAWCS_Server\\Controllers\\Task\\TaskController.cs",
              "ViewState": "AgIAACEAAAAAAAAAAAAewCYAAAAJAAAAAAAAAA==",
              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
              "WhenOpened": "2026-04-28T03:38:51.686Z",
              "EditorCaption": ""
            }
          ]
        }
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoRepository/Dt_MaterialInfo_HtyRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_BasicInfoRepository
{
    public class Dt_MaterialInfo_HtyRepository : RepositoryBase<Dt_MaterialInfo_Hty>, IDt_MaterialInfo_HtyRepository
    {
        public Dt_MaterialInfo_HtyRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
        {
        }
    }
}
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoService/Dt_MaterialInfoService.cs
@@ -1,9 +1,12 @@
using Microsoft.AspNetCore.Mvc;
using AutoMapper;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection.Metadata;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Common.StationEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.BaseServices;
@@ -18,10 +21,16 @@
    {
        private readonly IDt_ContainerInfoRepository _ContainerInfoRepository;
        private readonly IUnitOfWorkManage _unitOfWorkManage;
        public Dt_MaterialInfoService(IDt_MaterialInfoRepository BaseDal, IDt_ContainerInfoRepository dt_ContainerInfoRepository, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
        private readonly IDt_MaterialInfo_HtyRepository _MaterialInfo_HtyRepository;
        private readonly IMapper _mapper;
        private readonly IDt_StationManagerRepository _stationManagerRepository;
        public Dt_MaterialInfoService(IDt_MaterialInfoRepository BaseDal, IDt_ContainerInfoRepository dt_ContainerInfoRepository, IUnitOfWorkManage unitOfWorkManage, IDt_MaterialInfo_HtyRepository materialInfo_HtyRepository,IMapper mapper, IDt_StationManagerRepository stationManagerRepository) : base(BaseDal)
        {
            _ContainerInfoRepository = dt_ContainerInfoRepository;
            _unitOfWorkManage = unitOfWorkManage;
            _MaterialInfo_HtyRepository = materialInfo_HtyRepository;
            _mapper = mapper;
            _stationManagerRepository = stationManagerRepository;
        }
        /// <summary>
        /// æ–°å¢žç»„盘信息
@@ -39,16 +48,19 @@
                Dt_MaterialInfo dt_MaterialInfo = await BaseDal.QueryFirstAsync(x => x.ContainerCode == containerbindingDTO.VehicleNumber);
                if (dt_MaterialInfo != null) return content.Error("当前容器已绑定 è¯·å‹¿é‡å¤æäº¤");
                dt_MaterialInfo = await BaseDal.QueryFirstAsync(x => x.MaterialName == containerbindingDTO.materSn);
                if (dt_MaterialInfo != null) return content.Error("当前零件号已存在 è¯·å‹¿é‡å¤æäº¤");
                Dt_StationManager dt_StationManager = _stationManagerRepository.QueryFirst(
                x => x.StationLocation == containerbindingDTO.Position
                && x.StationStatus == ((int)StationEnum.Enable).ToString());
                if (dt_StationManager == null) return content.Error("当前站台未配置 æˆ–已停用");
                dt_MaterialInfo = new Dt_MaterialInfo();
                dt_MaterialInfo.MaterialName = containerbindingDTO.materSn;
                dt_MaterialInfo.ContainerCode = containerbindingDTO.VehicleNumber;
                dt_MaterialInfo.Position = containerbindingDTO.Position;
                dt_MaterialInfo.Carmodel = containerbindingDTO.Carmodel;
                string s = App.User.UserName;
                await BaseDal.AddDataAsync(dt_MaterialInfo);
                dt_MaterialInfo.Region = dt_StationManager.StationArea;
                // 2. æ‰§è¡Œä¸€å®šä¼šæŠ¥é”™çš„代码:除以零
                //int a = 1;
                //int b = 0;
@@ -59,10 +71,12 @@
                    containerInfo = new Dt_ContainerInfo();
                    containerInfo.RequestId = Guid.NewGuid().ToString().Replace("-", "");
                    containerInfo.ContainerCode = containerbindingDTO.VehicleNumber;
                    dt_MaterialInfo.IsNew = true;
                    await _ContainerInfoRepository.AddDataAsync(containerInfo);
                }
                await BaseDal.AddDataAsync(dt_MaterialInfo);
                _unitOfWorkManage.CommitTran();
                return content.OK();
                return content.OK(message:"物料绑定成功");
            }
            catch (Exception ex)
            {
@@ -72,5 +86,20 @@
            }
        }
        public async Task<WebResponseContent> DeleteGroupPlateAsync(string PalletCode)
        {
            WebResponseContent content = new WebResponseContent();
            // å…ˆæŸ¥è¯¢ç›¸åº”的组盘绑定信息 å¦‚果没有数据则返回
            Dt_MaterialInfo dt_MaterialInfo = await BaseDal.QueryFirstAsync(x => x.ContainerCode == PalletCode);
            if (dt_MaterialInfo == null) return content.Error("查询不到相关数据 æˆ–者已经解绑!");
            // è¿™é‡Œé¢è¦å†™ç‰©æ–™ç»„盘信息的状态改变例如已解绑
            dt_MaterialInfo.IsBind = false;
            Dt_MaterialInfo_Hty dt_MaterialInfo_Hty = _mapper.Map<Dt_MaterialInfo_Hty>(dt_MaterialInfo);
            // åˆ é™¤å½“前组盘数据添加进入历史记录
            return content.OK(message: "物料解绑成功");
        }
    }
}
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoService/Dt_MaterialInfo_HtyService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_IBasicInfoService;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_BasicInfoService
{
    public class Dt_MaterialInfo_HtyService : ServiceBase<Dt_MaterialInfo_Hty, IDt_MaterialInfo_HtyRepository>, IDt_MaterialInfo_HtyService
    {
        private readonly IDt_ContainerInfoRepository _ContainerInfoRepository;
        private readonly IUnitOfWorkManage _unitOfWorkManage;
        public Dt_MaterialInfo_HtyService(IDt_MaterialInfo_HtyRepository BaseDal, IDt_ContainerInfoRepository dt_ContainerInfoRepository, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
        {
            _ContainerInfoRepository = dt_ContainerInfoRepository;
            _unitOfWorkManage = unitOfWorkManage;
        }
    }
}
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_BasicInfoService/Dt_StationManagerService.cs
@@ -53,7 +53,7 @@
        public List<Dt_StationManager> GetAllStationByDeviceCode(string DeviceCode)
        {
            return BaseDal.QueryData(x => x.stationDeviceCode == DeviceCode && x.stationStatus == "1").ToList();
            return BaseDal.QueryData(x => x.StationDeviceCode == DeviceCode && x.StationStatus == "1").ToList();
        }
    }
}
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_Common/StationEnum/StationEnum.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEAWCS_Common.StationEnum
{
    public enum StationEnum
    {
        /// <summary>
        /// åŽåº•板1线区域
        /// </summary>
        [Description("后底板1线区域")]
        Rearbaseplate1 = 1,
        /// <summary>
        /// åŽåº•板2线区域
        /// </summary>
        [Description("后底板2线区域")]
        Rearbaseplate2 = 2,
        /// <summary>
        /// å‰åº•板区域
        /// </summary>
        [Description("前底板区域")]
        Frontfloorpanel = 2,
        /// <summary>
        /// ç«™å°çŠ¶æ€ä¸ºï¼šå¯ç”¨
        /// </summary>
        [Description("启用")]
        Enable = 1,
        /// <summary>
        /// ç«™å°çŠ¶æ€ä¸ºï¼šåœç”¨
        /// </summary>
        [Description("停用")]
        Disable = 2,
        /// <summary>
        /// ç«™å°çŠ¶æ€ä¸ºï¼šæœ‰ä»»åŠ¡
        /// </summary>
        [Description("有任务")]
        Thereisatask = 3,
    }
}
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs
@@ -56,6 +56,25 @@
        /// </summary>
        [Description("AGV搬运任务异常")]
        AGV_CarryException = 499,
        // ä¸‹æ–¹çŠ¶æ€ä¸ºè‚–ä½¼æ‰€å†™
        /// <summary>
        /// é¡¶å‡å®Œæˆ
        /// </summary>
        [Description("顶升完成")]
        AGV_UP_CONTAINER = 500,
        /// <summary>
        /// æ”¾ä¸‹å®Œæˆ
        /// </summary>
        [Description("放下完成")]
        AGV_DOWN_CONTAINER = 501,
        /// <summary>
        /// ä»»åŠ¡å®Œæˆ
        /// </summary>
        [Description("任务完成")]
        AGV_COMPLETED = 502
    }
    /// <summary>
@@ -68,42 +87,68 @@
    ///任务取消完成:CANCELED<br/>
    ///告警:WARNING<br/>
    /// </summary>
    //public enum AGVStatusEnum
    //{
    //    /// <summary>
    //    /// å¼€å§‹ç§»åЍ
    //    /// </summary>
    //    [Description("开始移动")]
    //    MOVE_BEGIN,
    //    /// <summary>
    //    /// æ–™ ç®± å– æ–™ å®Œ æˆ
    //    /// </summary>
    //    [Description("料 ç®± å– æ–™ å®Œ æˆ")]
    //    PICKER_RECEIVE,
    //    /// <summary>
    //    /// æ–™ ç®± ä¸‹ æ–™ å®Œ æˆ
    //    /// </summary>
    //    [Description("料 ç®± ä¸‹ æ–™ å®Œ æˆ")]
    //    PICKER_SEND,
    //    /// <summary>
    //    /// ä»»åŠ¡å®Œæˆ
    //    /// </summary>
    //    [Description("任务完成")]
    //    COMPLETED,
    //    /// <summary>
    //    /// ç­‰å¾…放行
    //    /// </summary>
    //    [Description("等待放行")]
    //    WAITFEEDBACK,
    //    /// <summary>
    //    /// ä»»åŠ¡å–æ¶ˆå®Œæˆ
    //    /// </summary>
    //    [Description("任务取消完成")]
    //    CANCELED,
    //    /// <summary>
    //    /// å‘Šè­¦
    //    /// </summary>
    //    [Description("告警")]
    //    WARNING,
    //}
    /// <summary>
    /// é¡¶ å‡ å®Œ æˆ ï¼šUP_CONTAINER
    /// æ”¾ ä¸‹ å®Œ æˆ ï¼šDOWN_CONTAINER
    /// ä»»åŠ¡å®Œæˆ ï¼š COMPLETED
    /// </summary>
    public enum AGVStatusEnum
    {
        /// <summary>
        /// å¼€å§‹ç§»åЍ
        /// é¡¶å‡å®Œæˆ
        /// </summary>
        [Description("开始移动")]
        MOVE_BEGIN,
        [Description("顶升完成")]
        UP_CONTAINER,
        /// <summary>
        /// æ–™ ç®± å– æ–™ å®Œ æˆ
        /// æ”¾ä¸‹å®Œæˆ
        /// </summary>
        [Description("料 ç®± å– æ–™ å®Œ æˆ")]
        PICKER_RECEIVE,
        /// <summary>
        /// æ–™ ç®± ä¸‹ æ–™ å®Œ æˆ
        /// </summary>
        [Description("料 ç®± ä¸‹ æ–™ å®Œ æˆ")]
        PICKER_SEND,
        [Description("放下完成")]
        DOWN_CONTAINER,
        /// <summary>
        /// ä»»åŠ¡å®Œæˆ
        /// </summary>
        [Description("任务完成")]
        COMPLETED,
        /// <summary>
        /// ç­‰å¾…放行
        /// </summary>
        [Description("等待放行")]
        WAITFEEDBACK,
        /// <summary>
        /// ä»»åŠ¡å–æ¶ˆå®Œæˆ
        /// </summary>
        [Description("任务取消完成")]
        CANCELED,
        /// <summary>
        /// å‘Šè­¦
        /// </summary>
        [Description("告警")]
        WARNING,
    }
}
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoRepository/IDt_MaterialInfo_HtyRepository.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_IBasicInfoRepository
{
    public interface IDt_MaterialInfo_HtyRepository : IRepository<Dt_MaterialInfo_Hty>
    {
    }
}
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoService/IDt_MaterialInfoService.cs
@@ -18,5 +18,12 @@
        /// </summary>
        /// <returns></returns>
        public Task<WebResponseContent> ContainerbindingAsync([FromBody] ContainerbindingDTO containerbindingDTO);
        /// <summary>
        /// è§£ç»‘组盘信息
        /// </summary>
        /// <param name="PalletCode"></param>
        /// <returns></returns>
        public Task<WebResponseContent> DeleteGroupPlateAsync(string PalletCode);
    }
}
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_IBasicInfoService/IDt_MaterialInfo_HtyService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_IBasicInfoService
{
    public interface IDt_MaterialInfo_HtyService : IService<Dt_MaterialInfo_Hty>
    {
    }
}
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_Model/Models/BasicInfo/Dt_StationManager.cs
@@ -30,47 +30,47 @@
        [ImporterHeader(Name = "主键")]
        [ExporterHeader(DisplayName = "主键")]
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
        public int stationID { get; set; }
        public int StationID { get; set; }
        /// <summary>
        /// ç«™å°ç±»åž‹
        /// </summary>
        [ImporterHeader(Name = "站台类型")]
        [ExporterHeader(DisplayName = "站台类型")]
        [SugarColumn(IsNullable = false, ColumnDescription = "站台类型")]
        public int stationType { get; set; }
        [SugarColumn(IsNullable = true, ColumnDescription = "站台类型")]
        public int StationType { get; set; }
        /// <summary>
        /// æ‰€å±žPLC
        /// </summary>
        [ImporterHeader(Name = "所属PLC")]
        [ExporterHeader(DisplayName = "所属PLC")]
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "所属PLC")]
        public string stationDeviceCode { get; set; }
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "所属PLC")]
        public string StationDeviceCode { get; set; }
        /// <summary>
        /// å··é“号
        /// </summary>
        [ImporterHeader(Name = "巷道号")]
        [ExporterHeader(DisplayName = "巷道号")]
        [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "巷道号")]
        [SugarColumn(IsNullable = true, Length = 10, ColumnDescription = "巷道号")]
        public string Roadway { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// æ”¾ç½®æ‰˜ç›˜ç  å¤‡æ³¨
        /// </summary>
        [ImporterHeader(Name = "备注")]
        [ExporterHeader(DisplayName = "备注")]
        [SugarColumn(IsNullable = false, ColumnDescription = "备注")]
        public string stationRemark { get; set; }
        [SugarColumn(IsNullable = true, ColumnDescription = "备注")]
        public string StationRemark { get; set; }
        /// <summary>
        /// çº¿ä½“编号(子设备编号)
        /// </summary>
        [ImporterHeader(Name = "线体编号(子设备编号)")]
        [ExporterHeader(DisplayName = "线体编号(子设备编号)")]
        [SugarColumn(IsNullable = false, ColumnDescription = "线体编号(子设备编号)")]
        public string stationChildCode { get; set; }
        [SugarColumn(IsNullable = true, ColumnDescription = "线体编号(子设备编号)")]
        public string StationChildCode { get; set; }
        /// <summary>
        /// è®¾å¤‡åŒºåŸŸ
@@ -78,7 +78,7 @@
        [ImporterHeader(Name = "设备区域")]
        [ExporterHeader(DisplayName = "设备区域")]
        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "设备区域")]
        public string stationArea { get; set; }
        public string StationArea { get; set; }
        /// <summary>
        /// åæ ‡åœ°å€
@@ -86,9 +86,15 @@
        [ImporterHeader(Name = "坐标地址")]
        [ExporterHeader(DisplayName = "坐标地址")]
        [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "坐标地址")]
        public string stationLocation { get; set; }
        public string StationLocation { get; set; }
        public string remark { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [ImporterHeader(Name = "备注")]
        [ExporterHeader(DisplayName = "备注")]
        [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "备注")]
        public string Remark { get; set; }
        /// <summary>
        /// è®¾å¤‡çŠ¶æ€
@@ -96,15 +102,7 @@
        [ImporterHeader(Name = "设备状态")]
        [ExporterHeader(DisplayName = "设备状态")]
        [SugarColumn(IsNullable = false, Length = 255, ColumnDescription = "设备状态")]
        public string stationStatus { get; set; }
        /// <summary>
        /// æ¥¼å±‚
        /// </summary>
        [ImporterHeader(Name = "楼层")]
        [ExporterHeader(DisplayName = "楼层")]
        [SugarColumn(IsNullable = false, Length = 255, ColumnDescription = "楼层")]
        public string stationFloor { get; set; }
        public string StationStatus { get; set; }
    }
}
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs
@@ -55,19 +55,20 @@
            try
            {
                var task = _taskRepository.QueryFirst(x => (agvUpdateDTO.ContainerCode ?? "") == x.PalletCode);
                switch (agvUpdateDTO.MissionStatus)
                {
                    case nameof(AGVStatusEnum.PICKER_RECEIVE):
                    case nameof(AGVStatusEnum.UP_CONTAINER):
                        if (task == null) throw new Exception($"未找到货架【{agvUpdateDTO.ContainerCode}】任务");
                        _taskService.UpdateTask(task, TaskAGVCarryStatusEnum.AGV_CarryTakeFinish);
                        _taskService.UpdateTask(task, TaskAGVCarryStatusEnum.AGV_UP_CONTAINER);
                        break;
                    case nameof(AGVStatusEnum.PICKER_SEND):
                    case nameof(AGVStatusEnum.DOWN_CONTAINER):
                        if (task == null) throw new Exception($"未找到货架【{agvUpdateDTO.ContainerCode}】任务");
                        _taskService.UpdateTask(task, TaskAGVCarryStatusEnum.AGV_CarryReleaseFinish);
                        _taskService.UpdateTask(task, TaskAGVCarryStatusEnum.AGV_DOWN_CONTAINER);
                        break;
                    case nameof(AGVStatusEnum.COMPLETED):
                        if (task == null) throw new Exception($"未找到货架【{agvUpdateDTO.ContainerCode}】任务");
                        _taskService.TaskCompleted(task.TaskNum);
                        _taskService.TaskCompleted(task.TaskId);
                        break;
                    default:
                        break;
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/BasicInfo/Dt_MaterialInfoController.cs
@@ -7,7 +7,7 @@
namespace WIDESEAWCS_Server.Controllers.BasicInfo
{
    [Route("api/Dt_MaterialInfo")]
    [Route("api/materialInfo")]
    [ApiController]
    public class Dt_MaterialInfoController : ApiBaseController<IDt_MaterialInfoService, Dt_MaterialInfo>
    {
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_Server/Controllers/PDA/PDAController.cs
@@ -38,12 +38,22 @@
            _ContainerInfoRepository = containerInfoRepository;
            _IDt_MaterialInfoService = iDt_MaterialInfoService;
        }
        /// <summary>
        /// æ–°å¢žç»„盘信息
        /// </summary>
        /// <param name="containerbindingDTO"></param>
        /// <returns></returns>
        [HttpPost, HttpGet, Route("ContainerbindingAsync"), AllowAnonymous]
        public async Task<WebResponseContent> ContainerbindingAsync([FromBody] ContainerbindingDTO  containerbindingDTO)
        {
           return await _IDt_MaterialInfoService.ContainerbindingAsync(containerbindingDTO);
        }
        [HttpPost, HttpGet, Route("DeleteGroupPlateAsync"), AllowAnonymous]
        public async Task<WebResponseContent> DeleteGroupPlateAsync(string PalletCode)
        {
            return await _IDt_MaterialInfoService.DeleteGroupPlateAsync(PalletCode);
        }
    }
}
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_Server/Filter/CustomProfile.cs
@@ -24,6 +24,7 @@
            //CreateMap<WMSTaskDTO, Dt_Task>().ForMember(a => a.WMSId, b => b.MapFrom(b => b.Id));
           
            CreateMap<Dt_Task, Dt_Task_Hty>();
            CreateMap<Dt_MaterialInfo, Dt_MaterialInfo_Hty>();
        }
    }
}
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_Server/Log/AGVÈÎÎñÏ·¢/2026-04-28/ÈÎÎñÏ·¢½Ó¿Ú260428.txt
@@ -18,3 +18,8 @@
"任务:[{\"TaskId\":2,\"TaskNum\":0,\"PalletCode\":\"8001\",\"Roadway\":\"1\",\"TaskType\":400,\"TaskState\":400,\"SourceAddress\":\"1001\",\"TargetAddress\":\"2001\",\"CurrentAddress\":\"1001\",\"NextAddress\":\"2001\",\"ExceptionMessage\":\"未找到任务号$2起始点1001位置信息\",\"Grade\":2,\"Dispatchertime\":null,\"Remark\":null,\"AGVSign\":null,\"Creater\":\"System\",\"CreateDate\":\"2026-04-28T09:54:50.8\",\"Modifier\":\"System\",\"ModifyDate\":\"2026-04-28T10:37:13.597\"}]"
-------------------------------
2026/4/28 14:26:38.913
添加任务
"任务:[{\"TaskId\":2,\"TaskNum\":0,\"PalletCode\":\"8001\",\"Roadway\":\"1\",\"TaskType\":400,\"TaskState\":400,\"SourceAddress\":\"1001\",\"TargetAddress\":\"2001\",\"CurrentAddress\":\"1001\",\"NextAddress\":\"2001\",\"ExceptionMessage\":\"未找到任务号$2起始点1001位置信息\",\"Grade\":2,\"Dispatchertime\":null,\"Remark\":null,\"AGVSign\":null,\"Creater\":\"System\",\"CreateDate\":\"2026-04-28T09:54:50.8\",\"Modifier\":\"System\",\"ModifyDate\":\"2026-04-28T10:37:13.597\"}]"
-------------------------------
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_Server/Log/AGVÈÎÎñÏ·¢/2026-04-29/ÈÎÎñÏ·¢½Ó¿Ú260429.txt
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
2026/4/29 16:09:17.24
添加任务
"任务:[{\"TaskId\":3,\"TaskNum\":0,\"PalletCode\":\"9001\",\"Roadway\":\"1\",\"TaskType\":400,\"TaskState\":400,\"SourceAddress\":\"1001\",\"TargetAddress\":\"2001\",\"CurrentAddress\":\"1001\",\"NextAddress\":\"2001\",\"ExceptionMessage\":null,\"Grade\":2,\"Dispatchertime\":null,\"Remark\":null,\"AGVSign\":null,\"Creater\":\"System\",\"CreateDate\":\"2026-04-29T16:09:16.07\",\"Modifier\":null,\"ModifyDate\":null}]"
-------------------------------
2026/4/29 16:15:20.868
添加任务
"任务:[{\"TaskId\":3,\"TaskNum\":0,\"PalletCode\":\"9001\",\"Roadway\":\"1\",\"TaskType\":400,\"TaskState\":400,\"SourceAddress\":\"1001\",\"TargetAddress\":\"2001\",\"CurrentAddress\":\"1001\",\"NextAddress\":\"2001\",\"ExceptionMessage\":null,\"Grade\":2,\"Dispatchertime\":null,\"Remark\":null,\"AGVSign\":null,\"Creater\":\"System\",\"CreateDate\":\"2026-04-29T16:09:16.07\",\"Modifier\":null,\"ModifyDate\":null}]"
-------------------------------
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -428,7 +428,7 @@
                catch { }
                stringBuilder.Append($",任务状态由{oldStatus}变更为{newStatus}");
                task.TaskState = taskStatus.ObjToInt();
                task.TaskState = (int)taskStatus;
            }
            BaseDal.UpdateData(task);
            _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, stringBuilder.ToString());
@@ -454,13 +454,14 @@
                    WriteLog.Write_Log("任务完成", "任务完成接口", "任务号", $"任务:{taskNum}");
                    // å†æ¬¡æŸ¥è¯¢ä»»åŠ¡çŠ¶æ€ï¼Œé˜²æ­¢åœ¨é”ç­‰å¾…æœŸé—´ä»»åŠ¡çŠ¶æ€å·²æ”¹å˜
                    Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                    Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == taskNum);
                    if (task == null)
                    {
                        return content.Error($"任务{taskNum}不存在");
                    }
                    //任务完成逻辑
                    _unitOfWorkManage.BeginTran();
                    // æŠŠå½“前任务查出来 ç„¶åŽæ¯ä¸€ä¸ªå­—段赋值给历史任务 ç„¶åŽåˆ é™¤å½“前任务 æ·»åŠ ä¸€æ¡åŽ†å²ä»»åŠ¡ // ç„¶åŽæŠŠè¿™ä¸ªä»»åŠ¡çš„ç»ˆç‚¹çš„å¯¹åº”ç«™å°çš„çŠ¶æ€è®¾ç½®ä¸ºå¯ç”¨
                    _unitOfWorkManage.CommitTran();
                    content.OK("任务完成");
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_Tasks/AGV/CommonAGVJob.cs
@@ -47,6 +47,7 @@
        public Task Execute(IJobExecutionContext context)
        {
            var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => (x.TaskState == (int)TaskAGVCarryStatusEnum.AGV_CarryNew)).ToList().OrderBy(x => x.Grade).ThenBy(x => x.TaskNum).ToList();
            return Task.CompletedTask;
            #region ä»»åŠ¡ä¸‹å‘
            if (newTasks.Count > 0)
            {
@@ -62,9 +63,9 @@
                        string taskGroupId = Guid.NewGuid().ToString().Replace("-", "");
                        // èŽ·å–èµ·å§‹ç«™å°
                        Dt_StationManager stationManagerEnd = _stationManagerRepository.QueryFirst(x => x.stationLocation == task.SourceAddress);
                        Dt_StationManager stationManagerEnd = _stationManagerRepository.QueryFirst(x => x.StationLocation == task.SourceAddress);
                        // èŽ·å–ç›®çš„ç«™å°
                        Dt_StationManager finalmission = _stationManagerRepository.QueryFirst(x => x.stationLocation == task.TargetAddress);
                        Dt_StationManager finalmission = _stationManagerRepository.QueryFirst(x => x.StationLocation == task.TargetAddress);
                        if (stationManagerEnd == null) throw new Exception($"未找到任务号${task.TaskId}起始点{task.SourceAddress}位置信息");
                        if (finalmission == null) throw new Exception($"未找到任务号${task.TaskId}目标点{task.TargetAddress}位置信息");
@@ -72,17 +73,19 @@
                        agvTaskSend.RequestId = taskGroupId;
                        agvTaskSend.MissionCode = task.TaskId.ToString();
                        agvTaskSend.ViewBoardType = "W01";
                        agvTaskSend.ContainerCode = task.PalletCode;
                        //货架子搬运任务
                        MissionDataItem Startingmission = new MissionDataItem() // èµ·ç‚¹
                        {
                            Sequence = 1,
                            Position = stationManagerEnd.stationLocation,
                            Position = stationManagerEnd.StationLocation,
                        };
                        MissionDataItem Finalmission = new MissionDataItem() // ç»ˆç‚¹
                        {
                            Sequence = 2,
                            Position = finalmission.stationLocation,
                            Position = finalmission.StationLocation,
                            PutDown = true,
                        };
                        agvTaskSend.MissionData.Add(Startingmission);
                        agvTaskSend.MissionData.Add(Finalmission);
@@ -100,7 +103,7 @@
                            throw new Exception(content.Message);
                        task.Dispatchertime = DateTime.Now;
                        task.TaskState = (int)TaskAGVCarryStatusEnum.AGV_CarryExecuting;
                        _taskService.UpdateData(newTasks);
                        _taskService.UpdateData(task);
                        Thread.Sleep(500);
                    }
                    catch (Exception ex)
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/TaskAcquisition_Back1_Job.cs
@@ -8,8 +8,10 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Common.StationEnum;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Communicator;
using WIDESEAWCS_DTO.PDA;
using WIDESEAWCS_IBasicInfoRepository;
using WIDESEAWCS_IBasicInfoService;
using WIDESEAWCS_ISystemServices;
@@ -43,101 +45,136 @@
        }
        public Task Execute(IJobExecutionContext context)
        {
            string ip = "127.0.0.1";
            int port = 502;
            string Region = "后底板1";
            ModbusTcp modbusTcp = new ModbusTcp(ip, port, Region);
            Baseconversion baseconversion = new Baseconversion();
            modbusTcp.Connect();
            Dictionary<int, int> Signal = new Dictionary<int, int>() { [10] = 2, [30] = 3, [50] = 4, [70] = 5 };
            Dictionary<int, int> FeedingPoint = new Dictionary<int, int>() { [10] = 2001, [30] = 2002, [50] = 2003, [70] = 2004 }; // å«æ–™çš„点位 ç»ˆç‚¹ä½ç½®
            try
            bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
            if (flag && value != null)
            {
                for (int i = 10; i < 90; i += 20)
                OtherDevice device = (OtherDevice)value;
                if (!device.IsConnected)
                {
                    byte[] SignalNumber = modbusTcp.Read(Signal[i].ToString(), 1); // ä¿¡å· 1:叫料 2:拉出空框
                    return Task.CompletedTask;
                }
                //string ip = "127.0.0.1";
                //int port = 502;
                //string Region = "后底板1";
                //ModbusTcp modbusTcp = new ModbusTcp(ip, port, Region);
                //modbusTcp.Connect();
                Baseconversion baseconversion = new Baseconversion();
                Dictionary<int, int> Signal = new Dictionary<int, int>() { [10] = 2, [30] = 3, [50] = 4, [70] = 5 };
                Dictionary<int, int> FeedingPoint = new Dictionary<int, int>() { [10] = 2001, [30] = 2002, [50] = 2003, [70] = 2004 }; // å«æ–™çš„点位 ç»ˆç‚¹ä½ç½®
                    if (SignalNumber[1] == 1)
                try
                {
                    for (int i = 10; i < 90; i += 20)
                    {
                        byte[] PartNumber = modbusTcp.Read(i.ToString(), 20); // è¯»å–零件号
                        byte[] SignalNumber = device.Communicator.Read(Signal[i].ToString(), 1); // ä¿¡å· 1:叫料 2:拉出空框
                        if (PartNumber[1] == 0) continue;
                        string Ku1_Value = baseconversion.TenthTurn16(PartNumber);
                        if (Ku1_Value != "" && Ku1_Value != null)
                        Dt_StationManager dt_StationManager = _stationManagerRepository.QueryFirst(
                                    x => x.StationLocation == FeedingPoint[i].ToString()
                                    && x.StationStatus != ((int)StationEnum.Disable).ToString());
                        if (dt_StationManager == null)
                        {
                            // ç­‰åŠŸèƒ½æµ‹è¯•å®Œï¼Œè¿™é‡Œè¦åšæ—¥å¿—è®°å½•
                            Console.WriteLine(Ku1_Value);
                            // æ‰¾å¯¹åº”的零件号是否已经绑定(组盘)
                            Dt_MaterialInfo dt_MaterialInfo = _IDt_MaterialInfoRepository.QueryFirst(x => x.MaterialName == Ku1_Value);
                            if (dt_MaterialInfo != null && dt_MaterialInfo.IsBind && dt_MaterialInfo.EndPosition == null)
                            {
                                Dt_Task dt_Task = _taskRepository.QueryFirst(x => x.PalletCode == dt_MaterialInfo.ContainerCode);
                                if (dt_Task != null) continue; //证明有当前任务
                                dt_Task = new Dt_Task();
                                dt_Task.PalletCode = dt_MaterialInfo.ContainerCode;
                                dt_Task.SourceAddress = dt_MaterialInfo.Position; // å½“前位置
                                dt_Task.TargetAddress = FeedingPoint[i].ToString(); // ç»ˆç‚¹ä½ç½®
                                dt_Task.Grade = 2;
                                dt_Task.TaskState = TaskAGVCarryStatusEnum.AGV_CarryNew.ObjToInt();
                                dt_Task.TaskType = TaskAGVCarryTypeEnum.Carry.ObjToInt();
                                dt_Task.Roadway = (Signal[i] - 1).ToString(); // åº“1 å«æ–™é‚£å°±æ˜¯1巷道
                                dt_Task.CurrentAddress = dt_MaterialInfo.Position; // å½“前位置
                                dt_Task.NextAddress = FeedingPoint[i].ToString(); // ç»ˆç‚¹ä½ç½®
                                dt_MaterialInfo.EndPosition = FeedingPoint[i].ToString(); // ç»ˆç‚¹ä½ç½®
                                _taskRepository.AddData(dt_Task);
                                _IDt_MaterialInfoRepository.UpdateData(dt_MaterialInfo);
                            }
                            // å¦‚果没绑定则不生成任务 å¦‚果查找到对应的零件号绑定了 åˆ™ç”Ÿæˆä¸€æ¡ä»»åŠ¡æ•°æ®
                            // è¿™é‡Œåº”该要加日志 è®°å½•找不到站台的信息
                            Console.WriteLine($"{DateTime.Now} å½“前站台【{FeedingPoint[i].ToString()} æœªé…ç½®æˆ–已禁用】");
                            continue;
                        }
                        if (SignalNumber[1] == 1)
                        {
                            byte[] PartNumber = device.Communicator.Read(i.ToString(), 20); // è¯»å–零件号
                            string Ku1_Value = baseconversion.TenthTurn16(PartNumber);
                            if (Ku1_Value != "" && Ku1_Value != null)
                            {
                                // ç­‰åŠŸèƒ½æµ‹è¯•å®Œï¼Œè¿™é‡Œè¦åšæ—¥å¿—è®°å½•
                                Console.WriteLine(Ku1_Value);
                                // æ‰¾å¯¹åº”的零件号是否已经绑定(组盘) // è¿™é‡Œè¦æ”¹è¦åŠ åŒºåŸŸ åŠ æ˜¯å¦å·²ç”Ÿæˆä»»åŠ¡ è¿˜è¦æ ¹æ®æ—¶é—´æŽ’序 å…ˆç»‘定的先发过去
                                Dt_MaterialInfo? dt_MaterialInfo = _IDt_MaterialInfoRepository.QueryData(x => x.MaterialName == Ku1_Value
                                                                   && x.Region == ((int)StationEnum.Rearbaseplate1).ToString()
                                                                   && (x.EndPosition == null || x.EndPosition == "")).OrderBy(x => x.CreateDate).FirstOrDefault();
                                if (dt_MaterialInfo != null)
                                {
                                    Dt_Task dt_Task = _taskRepository.QueryFirst(x => x.PalletCode == dt_MaterialInfo.ContainerCode);
                                    if (dt_Task != null) continue; //证明有当前任务
                                    dt_Task = new Dt_Task();
                                    dt_Task.PalletCode = dt_MaterialInfo.ContainerCode;
                                    dt_Task.SourceAddress = dt_MaterialInfo.Position; // å½“前位置
                                    dt_Task.TargetAddress = FeedingPoint[i].ToString(); // ç»ˆç‚¹ä½ç½®
                                    dt_Task.Grade = 2;
                                    dt_Task.TaskState = TaskAGVCarryStatusEnum.AGV_CarryNew.ObjToInt();
                                    dt_Task.TaskType = TaskAGVCarryTypeEnum.Carry.ObjToInt();
                                    dt_Task.Roadway = (Signal[i] - 1).ToString(); // åº“1 å«æ–™é‚£å°±æ˜¯1巷道
                                    dt_Task.CurrentAddress = dt_MaterialInfo.Position; // å½“前位置
                                    dt_Task.NextAddress = FeedingPoint[i].ToString(); // ç»ˆç‚¹ä½ç½®
                                    dt_MaterialInfo.EndPosition = FeedingPoint[i].ToString(); // ç»ˆç‚¹ä½ç½®
                                    dt_StationManager.StationStatus = ((int)StationEnum.Thereisatask).ToString();
                                    dt_StationManager.StationRemark = dt_MaterialInfo.ContainerCode;
                                    _stationManagerRepository.UpdateData(dt_StationManager);
                                    _taskRepository.AddData(dt_Task);
                                    _IDt_MaterialInfoRepository.UpdateData(dt_MaterialInfo);
                                }
                                // å¦‚果没绑定则不生成任务 å¦‚果查找到对应的零件号绑定了 åˆ™ç”Ÿæˆä¸€æ¡ä»»åŠ¡æ•°æ®
                            }
                        }
                        if (SignalNumber[1] == 2) // è¡¨ç¤ºæ‹‰å‡ºç©ºæ¡†
                        {
                            Dt_Task dt_Task = _taskRepository.QueryFirst(x => x.SourceAddress == FeedingPoint[i].ToString() && x.TaskType == (int)TaskAGVCarryTypeEnum.CarryEmpty);
                            if (dt_Task != null) continue;
                            Dt_StationManager RecyclingpointStation = _stationManagerRepository.QueryFirst(x =>
                            x.StationStatus == ((int)StationEnum.Enable).ToString()
                            && x.StationArea == ((int)StationEnum.Rearbaseplate1).ToString()
                            && x.Remark == "回收点");
                            if (RecyclingpointStation == null)
                            {
                                // è®°å½•错误日志
                                continue;
                            }
                            dt_Task = new Dt_Task();
                            dt_Task.PalletCode = dt_StationManager.StationRemark;
                            dt_Task.SourceAddress = FeedingPoint[i].ToString();
                            dt_Task.TargetAddress = RecyclingpointStation.StationLocation;
                            dt_Task.Grade = 2;
                            dt_Task.TaskState = TaskAGVCarryStatusEnum.AGV_CarryNew.ObjToInt();
                            dt_Task.TaskType = TaskAGVCarryTypeEnum.CarryEmpty.ObjToInt();
                            dt_Task.Roadway = (Signal[i] - 1).ToString(); // åº“1 å«æ–™é‚£å°±æ˜¯1巷道
                            dt_Task.CurrentAddress = FeedingPoint[i].ToString(); // å½“前位置
                            dt_Task.NextAddress = RecyclingpointStation.StationLocation;// ç»ˆç‚¹ä½ç½®
                            RecyclingpointStation.StationStatus = ((int)StationEnum.Thereisatask).ToString();
                            _stationManagerRepository.UpdateData(RecyclingpointStation);
                            _taskRepository.AddData(dt_Task);
                        }
                    }
                }
                catch (Exception)
                {
                    if (SignalNumber[1] == 2) // è¡¨ç¤ºæ‹‰å‡ºç©ºæ¡†
                    {
                        Dictionary<int, int> Endpointposition = new Dictionary<int, int>() { [10] = 3001, [20] = 3002, [30] = 3003, [40] = 3004 }; // å«æ–™çš„点位 ç»ˆç‚¹ä½ç½®
                        Dt_Task dt_Task = _taskRepository.QueryFirst(x => x.SourceAddress == FeedingPoint[i].ToString() && x.TaskType == (int)TaskAGVCarryTypeEnum.CarryEmpty);
                        if (dt_Task != null) continue;
                        dt_Task = new Dt_Task();
                        dt_Task.PalletCode = "空框子";
                        dt_Task.SourceAddress = FeedingPoint[i].ToString();
                        dt_Task.TargetAddress = Endpointposition[i].ToString();
                        dt_Task.Grade = 2;
                        dt_Task.TaskState = TaskAGVCarryStatusEnum.AGV_CarryNew.ObjToInt();
                        dt_Task.TaskType = TaskAGVCarryTypeEnum.CarryEmpty.ObjToInt();
                        dt_Task.Roadway = (Signal[i] - 1).ToString(); // åº“1 å«æ–™é‚£å°±æ˜¯1巷道
                        dt_Task.CurrentAddress = FeedingPoint[i].ToString(); // å½“前位置
                        dt_Task.NextAddress = Endpointposition[i].ToString(); // ç»ˆç‚¹ä½ç½®
                        _taskRepository.AddData(dt_Task);
                    }
                    throw;
                }
            }
            catch (Exception)
            {
                throw;
            }
            // 16进制转成10进制
            // 2. 16进制 â†’ è½¬å›žåè¿›åˆ¶ï¼ˆä½ è¦çš„功能)
            ulong decimalResult = Convert.ToUInt64("123", 16);
            Console.WriteLine("16进制转回十进制:" + decimalResult);
            //ulong decimalResult = Convert.ToUInt64("123", 16);
            //Console.WriteLine("16进制转回十进制:" + decimalResult);
            // å†™å…¥
            bool flag = modbusTcp.Write("30", decimalResult.ToString());
            //// å†™å…¥
            //bool flag2 = modbusTcp.Write("30", decimalResult.ToString());
            modbusTcp.Disconnect();
            Console.WriteLine("进入了TaskAcquisition_Back1_Job");
            //modbusTcp.Disconnect();
            //Console.WriteLine("进入了TaskAcquisition_Back1_Job");
            return Task.CompletedTask;
        }
    }
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/TaskAcquisition_Back2_Job.cs
@@ -32,8 +32,6 @@
        }
        public Task Execute(IJobExecutionContext context)
        {
            /// ä¸»è¦è¯»å–对应的db块的偏移量获取上线点的要料信息从而生成任务至Task表
            Console.WriteLine("TaskAcquisition_Back2_Job正常进入....");
            bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
            if (flag && value != null)
            {
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_Tasks/TaskAcquisition/TaskAcquisition_Front_Job.cs
@@ -34,6 +34,16 @@
        {
            /// ä¸»è¦è¯»å–对应的db块的偏移量获取上线点的要料信息从而生成任务至Task表
            Console.WriteLine("TaskAcquisition_Front_Job正常进入....");
            bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
            if (flag && value != null)
            {
                OtherDevice device = (OtherDevice)value;
                if (!device.IsConnected)
                {
                    return Task.CompletedTask;
                }
                device.Communicator.Read("10", 20);
            }
            return Task.CompletedTask;
        }
    }