任务管理新增功能增加分配拆垛工位功能;调整分拣码垛页面,更改拆垛机器人属性
7个文件已修改
110 ■■■■ 已修改文件
Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceTaskOrderDto.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Web/src/api/wcs/wcsTask.ts 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Web/src/views/device/sortPallet/index.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Web/src/views/wcs/wcsTask/component/editDialog.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Web/src/views/wcs/wcsTask/index.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Admin.NET/WCS.Application/Service/WcsDevice/Dto/WcsDeviceTaskOrderDto.cs
@@ -21,4 +21,9 @@
    public int? Qty { get; set; }
    public string? LineNo { get; set; }
    public string? PZNo { get; set; }
    /// <summary>
    /// 设备类型
    /// </summary>
    public PLCTypeEnum Type { get; set; }
}
Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
@@ -476,10 +476,11 @@
    public async Task<List<WcsDeviceTaskOrderDto>> WcsPackStationPlcList([FromQuery] WcsDeviceBaseInput entry)
    {
        return await _wcsDeviceRep.Context.Queryable<WcsDevice>()
                .LeftJoin<WcsCheckTask>((device, task) => device.StationNum == task.Port)
                .Where((device, task) => device.PlcId == entry.PlcId)
                .OrderBy((device, task) => device.CreateTime)
                .Select((device, task) => new WcsDeviceTaskOrderDto()
                .InnerJoin<WcsPlc>((device, plc) => device.PlcId == plc.Id)
                .LeftJoin<WcsCheckTask>((device, plc, task) => device.StationNum == task.Port)
                .Where((device, plc, task) => device.PlcId == entry.PlcId)
                .OrderBy((device, plc, task) => device.CreateTime)
                .Select((device, plc, task) => new WcsDeviceTaskOrderDto()
                {
                    Id = device.Id,
                    Text = device.Text,
@@ -491,7 +492,9 @@
                    LineNo = task.LineNo,
                    Status = task.Status,
                    PZNo = task.PZNo,
                    Qty = task.Qty
                    Qty = task.Qty,
                    Type = plc.Type
                })
                .ToListAsync();
    }
Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs
@@ -1,5 +1,6 @@

using AngleSharp.Dom;
using COSXML.Network;
using Elastic.Clients.Elasticsearch.Tasks;
using Furion.DatabaseAccessor;
using Microsoft.AspNetCore.SignalR;
@@ -220,4 +221,31 @@
            throw Oops.Oh("任务状态异常");
        }
    }
    public async Task UploadTask(UpdateWcsTaskInput input)
    {
        var modTask = await _wcsTaskRep.GetByIdAsync(input.Id);
        if (modTask.Status != TaskStatusEnum.Complete)
        {
            throw Oops.Oh("任务状态异常");
        }
        if (modTask.Origin != "WMS")
        {
            throw Oops.Oh("该任务来源不是WMS");
        }
        // 反馈WMS
        //var requestMode = new TaskRequest()
        //{
        //    TaskNo = modTask.TaskNo,
        //    PalletNo = modTask.PalletNo,
        //    TaskType = (TaskTypeEnum)modTask.TaskType,//TaskTypeEnum.In,
        //    TaskStatus = TaskStatusEnum.Complete
        //};
        //HttpService httpService = new HttpService();
        //var modResponseTask = httpService.RequestTask(requestMode).Result;
        //if (modResponseTask.StatusCode == "0")
        //{
        //    modcTaskMonitor.InteractiveMsg = "任务完成,返回给WMS任务完成";
        //}
    }
}
Web/src/api/wcs/wcsTask.ts
@@ -6,6 +6,7 @@
  PageWcsTask = '/api/wcsTask/page',
  DetailWcsTask = '/api/wcsTask/detail',
  FinshWcsTask = '/api/wcsTask/Finsh',
  UploadWcsTask = '/api/wcsTask/UploadTask',
}
// 增加任务表
@@ -55,4 +56,12 @@
            url: Api.FinshWcsTask,
            method: 'post',
            data: params,
        });
// 上传任务
export const uploadWcsTask = (params?: any) =>
    request({
            url: Api.UploadWcsTask,
            method: 'post',
            data: params,
        });
Web/src/views/device/sortPallet/index.vue
@@ -24,7 +24,7 @@
                        </div>
                        <div class="otherValuefix" >
                            <el-form label-position="left" label-width="90px">
                                <el-form-item label="WMS明细单号">
                                <el-form-item label="WMS明细单号" v-if="deviceInfo.type==5">
                                    <el-input v-model="deviceInfo.orderNo" readonly></el-input>
                                </el-form-item>
                                <el-form-item label="任务号">
@@ -39,7 +39,7 @@
                                <el-form-item label="物料名称">
                                    <el-input v-model="deviceInfo.skuName" readonly></el-input>
                                </el-form-item>
                                <el-form-item label="分拣线编号">
                                <el-form-item label="分拣线编号" v-if="deviceInfo.type==5">
                                    <el-input v-model="deviceInfo.lineNo" readonly></el-input>
                                </el-form-item>
                                <el-form-item label="绑定状态">
@@ -51,18 +51,28 @@
                                <el-form-item label="托盘号">
                                    <el-input readonly></el-input>
                                </el-form-item>
                                <el-form-item label="插码数量">
                                <el-form-item label="插码箱数" v-if="deviceInfo.type==5">
                                    <el-input readonly></el-input>
                                </el-form-item>
                                <el-form-item label="托盘上箱数量">
                                </el-form-item>
                                <el-form-item label="拆垛箱数" v-if="deviceInfo.type==6">
                                    <el-input readonly></el-input>
                                </el-form-item>
                                <el-form-item label="整跺箱数">
                                    <el-input readonly></el-input>
                                </el-form-item>
                                <el-form-item label="WMS下发数量">
                                <el-form-item label="完成箱数">
                                    <el-input readonly></el-input>
                                </el-form-item>
                                <!-- <el-form-item label="WMS下发数量">
                                    <el-input v-model="deviceInfo.qty" readonly></el-input>
                                </el-form-item> -->
                                <el-form-item label="状态">
                                    <el-input :value="deviceInfo.status ? '在线' : '离线'" readonly></el-input>
                                </el-form-item>
                            </el-form>
                        </div>
                        <div v-if="!deviceInfo.text.includes('拆垛')" class="otherButtonfix">
                        <!-- 设备类型为码垛机器人 -->
                        <div v-if="deviceInfo.type==5" class="otherButtonfix">
                            <el-form label-position="left">
                                <el-form-item>
                                    <el-button type="primary" @click="openBindDialog(deviceInfo.id)">绑定</el-button>
Web/src/views/wcs/wcsTask/component/editDialog.vue
@@ -95,6 +95,12 @@
                        </el-form-item>
                        
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="拆垛箱数" prop="qty">
                            <el-input-number v-model="ruleForm.qty" placeholder="请输入拆垛箱数" clearable />
                        </el-form-item>
                    </el-col>
                </el-row>
            </el-form>
            <template #footer>
Web/src/views/wcs/wcsTask/index.vue
@@ -84,7 +84,7 @@
            <el-table-column prop="startLocate" label="起始位置" show-overflow-tooltip="" />
            <el-table-column prop="endLocate" label="结束位置" show-overflow-tooltip="" />
            <el-table-column prop="palletNo" label="托盘号" show-overflow-tooltip="" />
            <el-table-column prop="completeQty" label="拆垛箱数" show-overflow-tooltip="" />
            <el-table-column prop="qty" label="拆垛箱数" show-overflow-tooltip="" />
            <el-table-column prop="palletQty" label="整跺箱数" show-overflow-tooltip="" />
            <el-table-column prop="lotNo" label="批次号" show-overflow-tooltip="" />
            <el-table-column prop="skuNo" label="物料编码" show-overflow-tooltip="" />
@@ -113,7 +113,7 @@
                <ModifyRecord :data="scope.row" />
              </template>
            </el-table-column> -->
            <el-table-column prop="操作" label="操作" width="130" align="center" fixed="right" show-overflow-tooltip=""
            <el-table-column prop="操作" label="操作" width="200" align="center" fixed="right" show-overflow-tooltip=""
              v-if="auth('wcsTask:complete') || auth('wcsTask:cancell')">
              <template #default="scope">
                <template v-if="scope.row.status <= 1">
@@ -121,6 +121,8 @@
                    v-auth="'wcsTask:complete'"> 完成 </el-button>
                  <el-button icon="ele-Close" size="small" text="" type="primary" @click="cancellTask(scope.row)"
                    v-auth="'wcsTask:cancell'"> 取消 </el-button>
                  <el-button icon="ele-Upload" size="small" text="" type="primary" @click="uploadTask(scope.row)"
                  v-auth="'wcsTask:cancell'"> 上传 </el-button>
                </template>
              </template>
            </el-table-column>
@@ -190,7 +192,7 @@
import printDialog from '/@/views/system/print/component/hiprint/preview.vue'
import editDialog from '/@/views/wcs/wcsTask/component/editDialog.vue'
import { pageWcsTask, finshWcsTask } from '/@/api/wcs/wcsTask';
import { pageWcsTask, finshWcsTask,uploadWcsTask } from '/@/api/wcs/wcsTask';
import { pageWcsMonitorTask } from '/@/api/wcs/wcsTaskMonitor';
import { signalR } from './signalR';
@@ -319,6 +321,23 @@
    .catch(() => { });
}
//上传任务
const uploadTask = async (row: any) => {
  ElMessageBox.confirm(`确定要上传任务吗?`, "提示", {
    confirmButtonText: "确定",
    cancelButtonText: "取消",
    type: "warning",
  })
    .then(async () => {
      var param = Object.assign(row);
      await uploadWcsTask(param);
      handleQuery();
      handleQuery2();
      ElMessage.success("上传任务成功");
    })
    .catch(() => { });
}
// 点击表格
const handleClick = (row, column, cell, event) => {
  if (column.property === '操作') {