huangxiaoqiang
2 天以前 46f0794372bb79dedfbb1d7f0a34081cf06204ce
增加堆垛机召回功能
已修改7个文件
74 ■■■■■ 文件已修改
项目代码/WCS/WIDESEAWCS_Client/src/views/LineComponent.vue 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceInfoService.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceInfoController.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Client/src/views/LineComponent.vue
@@ -133,25 +133,30 @@
      </el-form>
      <el-divider />
      <el-row :gutter="20" type="flex" justify="start" align="top" tag="div">
        <el-col :span="6" :offset="0" :push="0" :pull="0" tag="div">
        <el-col :span="5" :offset="0" :push="0" :pull="0" tag="div">
          <el-button type="primary" size="small" plain @click="start">
            <i class="el-icon-check">启动</i>
          </el-button>
        </el-col>
        <el-col :span="6" :offset="0" :push="0" :pull="0" tag="div">
        <el-col :span="5" :offset="0" :push="0" :pull="0" tag="div">
          <el-button type="warning" size="small" plain @click="reset">
            <i class="el-icon-check">复位</i>
          </el-button>
        </el-col>
        <el-col :span="6" :offset="0" :push="0" :pull="0" tag="div">
        <el-col :span="5" :offset="0" :push="0" :pull="0" tag="div">
          <el-button type="danger" size="small" plain @click="disconnected">
            <i class="el-icon-check">中断</i>
          </el-button>
        </el-col>
        <el-col :span="6" :offset="0" :push="0" :pull="0" tag="div">
        <el-col :span="5" :offset="0" :push="0" :pull="0" tag="div">
          <el-button type="danger" size="small" plain @click="emergencyStop">
            <i class="el-icon-check">急停</i>
          </el-button>
        </el-col>
        <el-col :span="4" :offset="0" :push="0" :pull="0" tag="div">
          <el-button type="danger" size="small" plain @click="StackerRecall">
            <i class="el-icon-check">召回</i>
          </el-button>
        </el-col>
      </el-row>
@@ -307,6 +312,20 @@
        .finally(() => {
          this.fullscreenLoading = false;
        });
    },
    StackerRecall() {
      this.fullscreenLoading = true;
      this.http.post("api/DeviceInfo/StackerRecall?DeviceCode=" + this.form.DeviceCode)
        .then((x) => {
          if (!x.status) {
            this.$message.error(x.message);
          } else {
            this.$Message.success("召回堆垛机");
          }
        })
        .finally(() => {
          this.fullscreenLoading = false;
        });
    }
  },
};
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.metadata.v9.bin
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/.vs/ProjectEvaluation/wideseawcs_server.projects.v9.bin
Binary files differ
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceInfoService.cs
@@ -317,6 +317,38 @@
            }
        }
        public WebResponseContent StackerRecall(string DeviceCode)
        {
            WriteLog.GetLog("堆垛机手动任务").Write($"【中断命令】{JsonConvert.SerializeObject(DeviceCode)}", "堆垛机手动任务");
            WebResponseContent content = new WebResponseContent();
            try
            {
                IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode);
                if (device != null)
                {
                    CommonStackerCrane commonStackerCrane = (CommonStackerCrane)device;
                    DeviceProDTO? devicePro = commonStackerCrane.DeviceProDTOs.Where(x => x.DeviceChildCode == commonStackerCrane.DeviceCode && x.DeviceProParamName == "WorkType").FirstOrDefault();
                    byte valueToWrite = 144;
                    byte[] buffer = new byte[] { valueToWrite };
                    commonStackerCrane.Communicator.Write(devicePro.DeviceProAddress, buffer);
                    return content.OK();
                }
                else
                {
                    return content.Error("未找到设备信息请联系IT");
                }
            }
            catch (Exception ex)
            {
                return content.Error(ex.Message);
            }
        }
        public void StackerSendCommand(StackerCraneTaskCommand? command,string DeviceCode)
        {
            IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == DeviceCode);
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceInfoService.cs
@@ -58,6 +58,13 @@
        WebResponseContent StackerDisconnected(string DeviceCode);
        /// <summary>
        /// å †åž›æœºå¬å›ž
        /// </summary>
        /// <param name="DeviceCode"></param>
        /// <returns></returns>
        WebResponseContent StackerRecall(string DeviceCode);
        /// <summary>
        /// å †åž›æœºå¤ä½
        /// </summary>
        /// <param name="DeviceCode"></param>
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceInfoController.cs
@@ -50,7 +50,11 @@
        {
            return Service.StackerDisconnected(DeviceCode);
        }
        [HttpPost, Route("StackerRecall"), AllowAnonymous]
        public WebResponseContent StackerRecall(string DeviceCode)
        {
            return Service.StackerRecall(DeviceCode);
        }
        [HttpPost, Route("GetConveyorLineInfo"), AllowAnonymous]
        public WebResponseContent GetConveyorLineInfo(string DeviceChildCode)
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Properties/PublishProfiles/FolderProfile2.pubxml.user
@@ -3,7 +3,7 @@
<Project>
  <PropertyGroup>
    <_PublishTargetUrl>E:\GET\AoTanSiWCS\项目代码\WCS\WIDESEAWCS_Server\WIDESEAWCS_Server\bin\Release\net6.0\publish\</_PublishTargetUrl>
    <History>True|2025-08-21T05:47:46.5877497Z||;True|2025-08-20T12:19:58.6819487+08:00||;True|2025-08-20T10:19:55.2486460+08:00||;True|2025-08-20T10:10:55.8587756+08:00||;True|2025-08-19T17:04:09.2993217+08:00||;True|2025-08-19T16:51:22.2908004+08:00||;True|2025-08-19T16:30:53.6567391+08:00||;True|2025-08-19T16:26:50.4254303+08:00||;True|2025-08-19T16:12:13.1559703+08:00||;True|2025-08-19T15:46:01.4343164+08:00||;True|2025-08-19T15:43:17.4326410+08:00||;True|2025-08-19T14:05:04.6649580+08:00||;True|2025-08-18T13:08:36.7873753+08:00||;True|2025-08-18T11:46:56.4805705+08:00||;True|2025-08-18T11:22:02.9054606+08:00||;True|2025-08-18T11:07:33.4630780+08:00||;True|2025-08-18T10:50:48.4350473+08:00||;True|2025-08-16T16:33:07.2265013+08:00||;True|2025-08-16T16:08:02.5366587+08:00||;True|2025-08-16T16:04:57.6117051+08:00||;True|2025-08-16T15:48:46.1045456+08:00||;True|2025-08-16T15:30:17.3989863+08:00||;True|2025-08-16T14:46:36.5094682+08:00||;True|2025-08-16T14:14:17.0500765+08:00||;True|2025-08-16T13:31:48.8727652+08:00||;True|2025-08-16T13:24:29.8307713+08:00||;True|2025-08-16T13:16:29.9622111+08:00||;True|2025-08-16T11:23:35.5640992+08:00||;True|2025-08-16T11:02:59.2985083+08:00||;True|2025-08-16T10:27:02.8633285+08:00||;True|2025-08-16T10:10:08.1477861+08:00||;True|2025-08-15T16:44:40.1716233+08:00||;True|2025-08-15T16:37:15.4095592+08:00||;True|2025-08-15T16:10:23.4132871+08:00||;True|2025-08-15T15:39:23.4095856+08:00||;True|2025-08-15T15:28:40.1757665+08:00||;True|2025-08-15T15:17:03.4120137+08:00||;True|2025-08-14T14:56:07.9836766+08:00||;True|2025-08-14T13:46:14.8376860+08:00||;True|2025-08-14T13:40:06.1474672+08:00||;True|2025-08-14T13:35:01.0314827+08:00||;True|2025-08-14T13:30:22.4451955+08:00||;True|2025-08-14T13:01:53.0152050+08:00||;True|2025-08-14T09:25:26.2041015+08:00||;True|2025-08-14T08:52:03.5944496+08:00||;True|2025-08-13T16:03:14.7435997+08:00||;True|2025-08-13T15:45:41.5991008+08:00||;True|2025-08-13T15:16:36.2021682+08:00||;True|2025-08-13T09:09:27.8499524+08:00||;True|2025-08-13T09:06:29.1371955+08:00||;True|2025-08-12T16:20:01.1810979+08:00||;True|2025-08-12T15:15:58.7445192+08:00||;True|2025-08-12T14:56:43.1314180+08:00||;True|2025-08-07T16:09:37.4325511+08:00||;True|2025-08-07T15:03:02.4443822+08:00||;True|2025-08-07T14:51:02.2746340+08:00||;True|2025-08-07T14:50:52.4634781+08:00||;True|2025-08-07T14:44:25.7952161+08:00||;True|2025-08-06T16:05:13.6764446+08:00||;True|2025-08-06T15:48:26.9347397+08:00||;True|2025-08-06T15:24:30.4982821+08:00||;True|2025-08-06T15:23:27.4513567+08:00||;True|2025-08-06T14:57:04.0476264+08:00||;True|2025-08-06T14:43:06.1306795+08:00||;True|2025-08-06T14:30:32.8125962+08:00||;True|2025-08-06T14:22:42.8305756+08:00||;True|2025-08-06T14:08:24.3056726+08:00||;True|2025-08-06T12:49:07.0122619+08:00||;True|2025-08-06T09:53:47.1995016+08:00||;True|2025-08-06T09:23:43.4599118+08:00||;True|2025-08-06T09:17:41.5263742+08:00||;True|2025-08-01T13:15:58.0733845+08:00||;</History>
    <History>True|2025-08-22T06:33:39.6834483Z||;True|2025-08-21T13:47:46.5877497+08:00||;True|2025-08-20T12:19:58.6819487+08:00||;True|2025-08-20T10:19:55.2486460+08:00||;True|2025-08-20T10:10:55.8587756+08:00||;True|2025-08-19T17:04:09.2993217+08:00||;True|2025-08-19T16:51:22.2908004+08:00||;True|2025-08-19T16:30:53.6567391+08:00||;True|2025-08-19T16:26:50.4254303+08:00||;True|2025-08-19T16:12:13.1559703+08:00||;True|2025-08-19T15:46:01.4343164+08:00||;True|2025-08-19T15:43:17.4326410+08:00||;True|2025-08-19T14:05:04.6649580+08:00||;True|2025-08-18T13:08:36.7873753+08:00||;True|2025-08-18T11:46:56.4805705+08:00||;True|2025-08-18T11:22:02.9054606+08:00||;True|2025-08-18T11:07:33.4630780+08:00||;True|2025-08-18T10:50:48.4350473+08:00||;True|2025-08-16T16:33:07.2265013+08:00||;True|2025-08-16T16:08:02.5366587+08:00||;True|2025-08-16T16:04:57.6117051+08:00||;True|2025-08-16T15:48:46.1045456+08:00||;True|2025-08-16T15:30:17.3989863+08:00||;True|2025-08-16T14:46:36.5094682+08:00||;True|2025-08-16T14:14:17.0500765+08:00||;True|2025-08-16T13:31:48.8727652+08:00||;True|2025-08-16T13:24:29.8307713+08:00||;True|2025-08-16T13:16:29.9622111+08:00||;True|2025-08-16T11:23:35.5640992+08:00||;True|2025-08-16T11:02:59.2985083+08:00||;True|2025-08-16T10:27:02.8633285+08:00||;True|2025-08-16T10:10:08.1477861+08:00||;True|2025-08-15T16:44:40.1716233+08:00||;True|2025-08-15T16:37:15.4095592+08:00||;True|2025-08-15T16:10:23.4132871+08:00||;True|2025-08-15T15:39:23.4095856+08:00||;True|2025-08-15T15:28:40.1757665+08:00||;True|2025-08-15T15:17:03.4120137+08:00||;True|2025-08-14T14:56:07.9836766+08:00||;True|2025-08-14T13:46:14.8376860+08:00||;True|2025-08-14T13:40:06.1474672+08:00||;True|2025-08-14T13:35:01.0314827+08:00||;True|2025-08-14T13:30:22.4451955+08:00||;True|2025-08-14T13:01:53.0152050+08:00||;True|2025-08-14T09:25:26.2041015+08:00||;True|2025-08-14T08:52:03.5944496+08:00||;True|2025-08-13T16:03:14.7435997+08:00||;True|2025-08-13T15:45:41.5991008+08:00||;True|2025-08-13T15:16:36.2021682+08:00||;True|2025-08-13T09:09:27.8499524+08:00||;True|2025-08-13T09:06:29.1371955+08:00||;True|2025-08-12T16:20:01.1810979+08:00||;True|2025-08-12T15:15:58.7445192+08:00||;True|2025-08-12T14:56:43.1314180+08:00||;True|2025-08-07T16:09:37.4325511+08:00||;True|2025-08-07T15:03:02.4443822+08:00||;True|2025-08-07T14:51:02.2746340+08:00||;True|2025-08-07T14:50:52.4634781+08:00||;True|2025-08-07T14:44:25.7952161+08:00||;True|2025-08-06T16:05:13.6764446+08:00||;True|2025-08-06T15:48:26.9347397+08:00||;True|2025-08-06T15:24:30.4982821+08:00||;True|2025-08-06T15:23:27.4513567+08:00||;True|2025-08-06T14:57:04.0476264+08:00||;True|2025-08-06T14:43:06.1306795+08:00||;True|2025-08-06T14:30:32.8125962+08:00||;True|2025-08-06T14:22:42.8305756+08:00||;True|2025-08-06T14:08:24.3056726+08:00||;True|2025-08-06T12:49:07.0122619+08:00||;True|2025-08-06T09:53:47.1995016+08:00||;True|2025-08-06T09:23:43.4599118+08:00||;True|2025-08-06T09:17:41.5263742+08:00||;True|2025-08-01T13:15:58.0733845+08:00||;</History>
    <LastFailureDetails />
  </PropertyGroup>
</Project>