From 83a982e1e889cb8f6ba03cab92b222d83434a398 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期五, 06 九月 2024 16:55:50 +0800
Subject: [PATCH] 新增箱码明细表;开发分拣码垛绑定任务功能
---
Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs | 2
Admin.NET/WCS.Application/Entity/WcsBoxInfo.cs | 125 +++++++++++++++++++++++++
Web/src/views/device/sortPallet/index.vue | 92 +++++++++++++++--
Admin.NET/WCS.Application/Entity/WcsCheckTask.cs | 32 +++--
4 files changed, 224 insertions(+), 27 deletions(-)
diff --git a/Admin.NET/WCS.Application/Entity/WcsBoxInfo.cs b/Admin.NET/WCS.Application/Entity/WcsBoxInfo.cs
new file mode 100644
index 0000000..39c0c30
--- /dev/null
+++ b/Admin.NET/WCS.Application/Entity/WcsBoxInfo.cs
@@ -0,0 +1,125 @@
+锘�// Admin.NET 椤圭洰鐨勭増鏉冦�佸晢鏍囥�佷笓鍒╁拰鍏朵粬鐩稿叧鏉冨埄鍧囧彈鐩稿簲娉曞緥娉曡鐨勪繚鎶ゃ�備娇鐢ㄦ湰椤圭洰搴旈伒瀹堢浉鍏虫硶寰嬫硶瑙勫拰璁稿彲璇佺殑瑕佹眰銆�
+//
+// 鏈」鐩富瑕侀伒寰� MIT 璁稿彲璇佸拰 Apache 璁稿彲璇侊紙鐗堟湰 2.0锛夎繘琛屽垎鍙戝拰浣跨敤銆傝鍙瘉浣嶄簬婧愪唬鐮佹爲鏍圭洰褰曚腑鐨� LICENSE-MIT 鍜� LICENSE-APACHE 鏂囦欢銆�
+//
+// 涓嶅緱鍒╃敤鏈」鐩粠浜嬪嵄瀹冲浗瀹跺畨鍏ㄣ�佹壈涔辩ぞ浼氱З搴忋�佷镜鐘粬浜哄悎娉曟潈鐩婄瓑娉曞緥娉曡绂佹鐨勬椿鍔紒浠讳綍鍩轰簬鏈」鐩簩娆″紑鍙戣�屼骇鐢熺殑涓�鍒囨硶寰嬬籂绾峰拰璐d换锛屾垜浠笉鎵挎媴浠讳綍璐d换锛�
+
+using Admin.NET.Core;
+namespace WCS.Application.Entity;
+
+/// <summary>
+/// 绠辩爜鏄庣粏琛�
+/// </summary>
+[SugarTable("WCSBoxInfo","绠辩爜鏄庣粏琛�")]
+[Tenant("1300000000001")]
+public class WcsBoxInfo : EntityBaseData
+{
+ /// <summary>
+ /// 鎵樼洏鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "PalletNo", ColumnDescription = "鎵樼洏鍙�", Length = 20)]
+ public string? PalletNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "SkuNo", ColumnDescription = "鐗╂枡缂栫爜", Length = 20)]
+ public string? SkuNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "SkuName", ColumnDescription = "鐗╂枡鍚嶇О", Length = 20)]
+ public string? SkuName { get; set; }
+
+ /// <summary>
+ /// 鎵规鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "LotNo", ColumnDescription = "鎵规鍙�", Length = 20)]
+ public string? LotNo { get; set; }
+
+ /// <summary>
+ /// 鎵规鎻忚堪
+ /// </summary>
+ [SugarColumn(ColumnName = "LotText", ColumnDescription = "鎵规鎻忚堪", Length = 50)]
+ public string? LotText { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗕唬鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "Custom", ColumnDescription = "渚涘簲鍟嗕唬鐮�", Length = 20)]
+ public string? Custom { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗗悕绉�
+ /// </summary>
+ [SugarColumn(ColumnName = "CustomName", ColumnDescription = "渚涘簲鍟嗗悕绉�", Length = 50)]
+ public string? CustomName { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "ProductionTime", ColumnDescription = "鐢熶骇鏃ユ湡")]
+ public DateTime? ProductionTime { get; set; }
+
+ /// <summary>
+ /// 杩囨湡鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "ExpirationTime", ColumnDescription = "杩囨湡鏃ユ湡")]
+ public DateTime? ExpirationTime { get; set; }
+
+ /// <summary>
+ /// 浜х嚎
+ /// </summary>
+ [SugarColumn(ColumnName = "LineNo", ColumnDescription = "浜х嚎", Length = 20)]
+ public string? LineNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡瑙勬牸
+ /// </summary>
+ [SugarColumn(ColumnName = "Standard", ColumnDescription = "鐗╂枡瑙勬牸", Length = 20)]
+ public string? Standard { get; set; }
+
+ /// <summary>
+ /// 鍖呰瑙勬牸
+ /// </summary>
+ [SugarColumn(ColumnName = "PackageStandard", ColumnDescription = "鍖呰瑙勬牸", Length = 20)]
+ public string? PackageStandard { get; set; }
+
+ /// <summary>
+ /// 鍖呰鍗曚綅
+ /// </summary>
+ [SugarColumn(ColumnName = "PackUnit", ColumnDescription = "鍖呰鍗曚綅", Length = 20)]
+ public string? PackUnit { get; set; }
+
+ /// <summary>
+ /// 瀛樺偍鏈熻嚦
+ /// </summary>
+ [SugarColumn(ColumnName = "StoreTime", ColumnDescription = "瀛樺偍鏈熻嚦")]
+ public DateTime? StoreTime { get; set; }
+
+ /// <summary>
+ /// 闆剁鏍囪
+ /// </summary>
+ [SugarColumn(ColumnName = "BitBoxMark", ColumnDescription = "闆剁鏍囪", Length = 3)]
+ public string? BitBoxMark { get; set; }
+
+ /// <summary>
+ /// 绠辩爜
+ /// </summary>
+ [SugarColumn(ColumnName = "BoxNo", ColumnDescription = "绠辩爜", Length = 30)]
+ public string? BoxNo { get; set; }
+
+ /// <summary>
+ /// 鐩掔爜
+ /// </summary>
+ [SugarColumn(ColumnName = "BoxNo2", ColumnDescription = "鐩掔爜", Length = 30)]
+ public string? BoxNo2 { get; set; }
+
+ /// <summary>
+ /// 鍖呰绾у埆
+ /// </summary>
+ [SugarColumn(ColumnName = "Level", ColumnDescription = "鍖呰绾у埆", Length = 3)]
+ public string? Level { get; set; }
+
+}
diff --git a/Admin.NET/WCS.Application/Entity/WcsCheckTask.cs b/Admin.NET/WCS.Application/Entity/WcsCheckTask.cs
index fff6418..9b0970e 100644
--- a/Admin.NET/WCS.Application/Entity/WcsCheckTask.cs
+++ b/Admin.NET/WCS.Application/Entity/WcsCheckTask.cs
@@ -39,10 +39,22 @@
public string? Port { get; set; }
/// <summary>
+ /// 鎵规鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "LotNo", ColumnDescription = "鎵规鍙�", Length = 50)]
+ public string? LotNo { get; set; }
+
+ /// <summary>
/// 鐗╂枡缂栫爜
/// </summary>
[SugarColumn(ColumnName = "SkuNo", ColumnDescription = "鐗╂枡缂栫爜", Length = 20)]
public string? SkuNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "SkuName", ColumnDescription = "鐗╂枡鍚嶇О", Length = 50)]
+ public string? SkuName { get; set; }
/// <summary>
/// 瑙勬牸
@@ -71,14 +83,14 @@
/// <summary>
/// 鎻掔爜鏁伴噺
/// </summary>
- [SugarColumn(ColumnName = "BoxInsert", ColumnDescription = "鎻掔爜鏁伴噺", Length = 20)]
- public string? BoxInsert { get; set; }
+ [SugarColumn(ColumnName = "BoxInsert", ColumnDescription = "鎻掔爜鏁伴噺")]
+ public int? BoxInsert { get; set; }
/// <summary>
/// 鎵樼洏涓婄鏁伴噺
/// </summary>
- [SugarColumn(ColumnName = "BoxCount", ColumnDescription = "鎵樼洏涓婄鏁伴噺", Length = 20)]
- public string? BoxCount { get; set; }
+ [SugarColumn(ColumnName = "BoxCount", ColumnDescription = "鎵樼洏涓婄鏁伴噺")]
+ public int? BoxCount { get; set; }
/// <summary>
/// 鎬荤鏁�/璁″垝绠辨暟/棰勪及绠辨暟
@@ -99,15 +111,9 @@
public DateTime? BindTime { get; set; }
/// <summary>
- /// 缁戝畾浜�
+ /// 缁戝畾鑰匢d
/// </summary>
- [SugarColumn(ColumnName = "BindUser", ColumnDescription = "缁戝畾浜�")]
- public int? BindUser { get; set; }
-
- /// <summary>
- /// 鍒涘缓浜�
- /// </summary>
- [SugarColumn(ColumnName = "CreateUser", ColumnDescription = "鍒涘缓浜�")]
- public int? CreateUser { get; set; }
+ [SugarColumn(ColumnName = "BindUserId", ColumnDescription = "缁戝畾鑰匢d")]
+ public long? BindUserId { get; set; }
}
diff --git a/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs b/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
index 258f4bf..dce21ac 100644
--- a/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
+++ b/Admin.NET/WCS.Application/Service/WcsDevice/WcsDeviceService.cs
@@ -286,7 +286,7 @@
{
return await _wcsDeviceRep.Context.Queryable<WcsPlc>()
.Where(w => w.Type == PLCTypeEnum.RobotPalletizer || w.Type == PLCTypeEnum.StackingRobot)
- .OrderBy(o => o.Type)
+ .OrderByDescending(o => o.Type)
.Select(u => new
{
id = u.Id,
diff --git a/Web/src/views/device/sortPallet/index.vue b/Web/src/views/device/sortPallet/index.vue
index 1084a8c..2a94f23 100644
--- a/Web/src/views/device/sortPallet/index.vue
+++ b/Web/src/views/device/sortPallet/index.vue
@@ -1,6 +1,6 @@
<template>
<el-container>
- <el-cloum>
+ <el-col>
<el-row :span="1">
<div class="card-page">
<el-button
@@ -47,13 +47,13 @@
<el-form-item label="鎶撶鍝佺">
<el-input></el-input>
</el-form-item>
- <el-form-item label="DB璁板綍绠辨暟">
- <el-input></el-input>
- </el-form-item>
<el-form-item label="鎵樼洏鍙�">
<el-input></el-input>
</el-form-item>
- <el-form-item label="鐮佸灈绠辨暟">
+ <el-form-item label="鎻掔爜鏁伴噺">
+ <el-input></el-input>
+ </el-form-item>
+ <el-form-item label="鎵樼洏涓婄鏁伴噺">
<el-input></el-input>
</el-form-item>
<el-form-item label="WMS涓嬪彂鏁伴噺">
@@ -64,7 +64,7 @@
<div class="otherButtonfix">
<el-form label-position="left">
<el-form-item>
- <el-button type="primary">缁戝畾</el-button>
+ <el-button type="primary" @click="openBindDialog()">缁戝畾</el-button>
<el-button>缁撴壒</el-button>
</el-form-item>
</el-form>
@@ -72,25 +72,59 @@
</el-card>
</div>
</el-row>
- </el-cloum>
- </el-container>
+ </el-col>
+
+ <!-- 缁戝畾浠诲姟寮规 -->
+ <el-dialog v-model="bindDialogVisible" title="閫夋嫨鏁版嵁">
+ <el-table
+ :data="bindData"
+ highlight-current-row
+ @row-click="handleRowClick"
+ >
+ <el-table-column type="selection" width="55"/>
+
+ <el-table-column prop="orderNo" label="WMS涓嬪彂鍗曞彿" show-overflow-tooltip="" />
+ <el-table-column prop="taskNo" label="浠诲姟鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="lotNo" label="鎵规鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="skuNo" label="鐗╂枡缂栫爜" show-overflow-tooltip="" />
+ <el-table-column prop="skuName" label="鐗╂枡鍚嶇О" show-overflow-tooltip="" />
+ <el-table-column prop="boxType" label="瑙勬牸" show-overflow-tooltip="" />
+ <el-table-column prop="qty" label="鎬荤鏁�/璁″垝绠辨暟/棰勪及绠辨暟" show-overflow-tooltip="" />
+ </el-table>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="bindDialogVisible = false">鍙栨秷</el-button>
+ <el-button type="primary" @click="confirmBinding">纭</el-button>
+ </div>
+ </el-dialog>
+ </el-container>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
import { GetWcsPackPlcList,GetWcsPackStationPlcList } from '/@/api/wcs/wcsDevice';
+import { pageWcsOderTask } from '/@/api/device/wcsOderTask';
+
//璁惧鏁版嵁
const deviceList=ref<any>([]);
//璁惧瀵瑰簲宸ヤ綅鏁版嵁
const devicePointData = ref<any>([]);
-
+//閫変腑璁惧ID
const selectedDeviceId=ref<any>();
-//鑾峰彇
+const bindDialogVisible = ref(false);
+const bindData = ref<any>([]);
+const selectedRow = ref<any>(null);
+const queryParams = ref<any>({});
+const tableParams = ref({
+ page: 1,
+ pageSize: 10,
+ total: 0,
+});
+
+//鑾峰彇璁惧瀵瑰簲鐨勫伐浣嶆暟鎹�
const fetchStationData = async (plcId: any) => {
const res2 = await GetWcsPackStationPlcList({ plcId });
devicePointData.value = res2.data.result;
- console.log('data:'+devicePointData.value);
};
// 鑾峰彇璁惧鏁版嵁
const fetchPLCDeviceData = async () => {
@@ -104,12 +138,39 @@
};
fetchPLCDeviceData();
-//鍒囨崲
+//鍒囨崲璁惧
function chooseDevice(id) {
selectedDeviceId.value = id;
-
fetchStationData(id);
}
+
+const handleQuery = async () => {
+ var res = await pageWcsOderTask(Object.assign(queryParams.value, tableParams.value));
+ bindData.value = res.data.result?.items ?? [];
+ tableParams.value.total = res.data.result?.total;
+ };
+//鎵撳紑缁戝畾寮规
+function openBindDialog() {
+ bindDialogVisible.value = true;
+ // Mock data for binding
+ handleQuery();
+}
+//鐐瑰嚮琛屾椂璁剧疆閫変腑琛�
+function handleRowClick(row) {
+ selectedRow.value = row;
+}
+
+//纭缁戝畾鎿嶄綔
+function confirmBinding() {
+ if (selectedRow.value) {
+ console.log('Selected Row:', selectedRow.value);
+ // Do binding logic here
+ bindDialogVisible.value = false;
+ } else {
+ console.error('No row selected');
+ }
+}
+
</script>
<style scoped>
@@ -172,5 +233,10 @@
.device-status-1{
background-color: red;
}
+ .dialog-footer {
+ display: flex;
+ justify-content: flex-end;
+ margin-top: 20px;
+ }
</style>
\ No newline at end of file
--
Gitblit v1.8.0