From 387731cab892804912e68cb91e6fb804411c4756 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期一, 27 十月 2025 23:32:16 +0800
Subject: [PATCH] 优化与ERP出库单逻辑,增加打印程序

---
 项目代码/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db                                |    0 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InboundOrderController.cs                |    5 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs                           |  287 ++
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrder.cs                     |   30 
 项目代码/PDA/pages/task/Outbound.vue                                                                        |  237 +-
 项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStockDetail.js                   |   17 
 项目代码/Print/Print/Services/DLL/FastReport.Bars.dll                                                       |    0 
 项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateoutOrderDetail.vue          |   12 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfo_Hty.cs                          |    7 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OrderOutDetailsRepository.cs                      |   12 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db          |    0 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm      |    0 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo_Hty.cs                           |    7 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json                                |  239 +-
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs                          |    9 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoDetailService.cs                 |   40 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs                         |    8 
 项目代码/Print/Print/Services/PrintService.cs                                                               |   92 +
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_用友生产领料单一览表_ST.cs                                |    3 
 项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateStockSelect.vue             |    5 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfo.cs                              |    7 
 项目代码/PDA/pages.json                                                                                     |   27 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs                       |  442 ++--
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OrderOutDetailsService.cs                           |   23 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OrderOutDetailsRepository.cs                    |    8 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OrderOutDetailsService.cs                         |   11 
 项目代码/Print/Print/Print/Controllers/PrintController.cs                                                   |  111 +
 项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionStockSelect.vue         |    1 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderService.cs                     |    4 
 项目代码/Print/Print/.vs/Print/v17/DocumentLayout.backup.json                                               |  119 +
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OrderOutDetails.cs                             |   75 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InboundOrderService.cs                            |    7 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_采购入成品入库自动打印清单_ST.cs                             |    4 
 项目代码/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm                            |    0 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InboundOrderService.cs                              |   22 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrderDetail.cs                 |   11 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm |    0 
 项目代码/Print/Print/.vs/Print/config/applicationhost.config                                                | 1011 ++++++++++++
 项目代码/Print/Print/Print/frx/MaterMode.frx                                                                |   51 
 项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/extend/StockView.vue                         |  371 ++++
 项目代码/PDA/pages/task/Inbound.vue                                                                         |  104 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/GenerateOutTaskDto.cs                                      |    1 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderService.cs                   |    2 
 项目代码/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db                           |    0 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Boxing/IBoxingInfoService.cs                    |    3 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs                               |    6 
 项目代码/Print/Print/Print/appsettings.Development.json                                                     |    8 
 项目代码/Print/Print/Print/frx/InboundOrder.frx                                                             |   97 +
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrder.cs                       |   34 
 项目代码/Print/Print/Services/DLL/FastReport.dll                                                            |    0 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/AllocateOutboundOrderController.cs       |    2 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal |    0 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrderDetail.cs               |   11 
 项目代码/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm                       |    0 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/ProductionOutboundOrderController.cs     |    2 
 项目代码/Print/Print/Print/Print.csproj                                                                     |   19 
 项目代码/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/AllocateOutboundOrder.vue                        |    2 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/BoxingInfoController.cs                  |   21 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_用友工程发货单一览表_ST.cs                                |    3 
 项目代码/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal                            |    0 
 项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx                        |  157 +
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/GetStockSelectViewDto.cs                                   |    4 
 项目代码/Print/Print/Services/IPrintService.cs                                                              |   14 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs                            |  286 +-
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json                         |  239 +-
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/Basic.cs                                                     |   24 
 项目代码/Print/Print/.vs/Print/v17/DocumentLayout.json                                                      |  119 +
 项目代码/Print/Print/Print.sln                                                                              |   25 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/StockInfoController.cs                   |   15 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/GroupPlate.cs                                              |    8 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_用友电控柜调拨一览表_ST.cs                                |    2 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Boxing/BoxingInfoService.cs                     |  175 ++
 项目代码/Print/Print/Services/Services.csproj                                                               |   17 
 项目代码/Print/Print/Print/Program.cs                                                                       |   22 
 项目代码/Print/Print/Print/Properties/launchSettings.json                                                   |   31 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_采购及成品入库清单_ST.cs                                 |    4 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockSelectViewDTO.cs                                      |    3 
 /dev/null                                                                                               |   24 
 项目代码/PDA/pages/Allocate/AllocateOutorderboxing.vue                                                      |   70 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OrderOutDetails_Hty.cs                         |   75 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal      |    0 
 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db     |    0 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Stock/IStockInfoService.cs                      |   14 
 项目代码/Print/Print/Print/appsettings.json                                                                 |   10 
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfoDetail.cs                         |    6 
 项目代码/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal                       |    0 
 项目代码/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue                            |    9 
 87 files changed, 3,914 insertions(+), 1,069 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages.json"
index 8efc258..2ceb658 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages.json"
@@ -54,20 +54,6 @@
 				"navigationBarTitleText": "鍑哄簱",
 				"enablePullDownRefresh": false
 			}
-		},
-		{
-			"path": "pages/OtherOrder/OtherOutboundOrder",
-			"style": {
-				"navigationBarTitleText": "鍏朵粬鍑哄簱鍗曟嵁",
-				"enablePullDownRefresh": false
-			}
-		},
-		{
-			"path": "pages/OtherOrder/OtherOutorderboxing",
-			"style": {
-				"navigationBarTitleText": "鍏朵粬鍑哄簱鍗曟嵁鏄庣粏",
-				"enablePullDownRefresh": false
-			}
 		},{
 			"path": "pages/Production/ProductionOutboundOrder",
 			"style": {
@@ -79,19 +65,6 @@
 			"path": "pages/Production/ProductionOutorderboxing",
 			"style": {
 				"navigationBarTitleText": "鐢熶骇棰嗘枡鍗曟槑缁�",
-				"enablePullDownRefresh": false
-			}
-		},{
-			"path": "pages/Inventory/InventoryOutboundOrder",
-			"style": {
-				"navigationBarTitleText": "鐩樼偣鍑哄簱鍗曟嵁",
-				"enablePullDownRefresh": false
-			}
-		},
-		{
-			"path": "pages/Inventory/InventoryOutorderboxing",
-			"style": {
-				"navigationBarTitleText": "鐩樼偣鍑哄簱鍗曟嵁鏄庣粏",
 				"enablePullDownRefresh": false
 			}
 		},{
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Allocate/AllocateOutorderboxing.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Allocate/AllocateOutorderboxing.vue"
index 2daffbe..2b88b98 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Allocate/AllocateOutorderboxing.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Allocate/AllocateOutorderboxing.vue"
@@ -4,36 +4,40 @@
 		</uni-segmented-control> -->
 		<view class="content">
 			<!-- <view v-if="current === 0" class="headerstyle"> -->
-				<view class="itemstyle">
-					<u-sticky>
-						<view style="background-color: #ffffff;">
-							<uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
-						</view>
-					</u-sticky>
-					<uni-forms label-width="50">
-						<uni-forms-item label="鍑哄簱鍖哄煙"><uni-data-select v-model="value"
-								:localdata="range"></uni-data-select></uni-forms-item>
-					</uni-forms>
-					<uni-list :border="true">
-						<uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="item.dtlId">
-							<template v-slot:body>
-								<view class="uni-list-box">
-									<button type="primary" style="position: absolute;right: 1%;" size="mini"
-										@click="OutBound(item.id)">鍑哄簱</button>
-									<view class="uni-content">
-										<view style="font-size: 18px;">鍗曟嵁缂栧彿锛歿{orderNo}}</view>
-										<view style="font-size: 18px;">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
-										<view style="font-size: 18px;">鐗╂枡鍚嶇О锛歿{item.materielName}}</view>
-										<view style="font-size: 18px;">鍗曟嵁鏁伴噺锛歿{item.orderQuantity}}</view>
-										<!-- <view style="font-size: 18px;">宸插垎閰嶆暟閲忥細{{item.processQty}}</view> -->
-										<view style="font-size: 18px;">鍑哄簱鏁伴噺锛歿{item.overOutQuantity}}</view>
-									</view>
+			<view class="itemstyle">
+				<u-sticky>
+					<view style="background-color: #ffffff;">
+						<uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
+					</view>
+				</u-sticky>
+				<uni-forms label-width="50">
+					<uni-forms-item label="鍑哄簱鍖哄煙"><uni-data-select v-model="value"
+							:localdata="range"></uni-data-select></uni-forms-item>
+					<uni-forms-item label="璋冩嫧浠撳簱">
+						<uni-easyinput type="text" :focus="!istrue" v-model="Warehouse" placeholder="璇疯緭鍏ヨ皟鎷ㄤ粨搴�"
+							ref='midInput' />
+					</uni-forms-item>
+				</uni-forms>
+				<uni-list :border="true">
+					<uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="item.dtlId">
+						<template v-slot:body>
+							<view class="uni-list-box">
+								<button type="primary" style="position: absolute;right: 1%;" size="mini"
+									@click="OutBound(item.id)">鍑哄簱</button>
+								<view class="uni-content">
+									<view style="font-size: 18px;">鍗曟嵁缂栧彿锛歿{orderNo}}</view>
+									<view style="font-size: 18px;">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+									<view style="font-size: 18px;">鐗╂枡鍚嶇О锛歿{item.materielName}}</view>
+									<view style="font-size: 18px;">鍗曟嵁鏁伴噺锛歿{item.orderQuantity}}</view>
+									<!-- <view style="font-size: 18px;">宸插垎閰嶆暟閲忥細{{item.processQty}}</view> -->
+									<view style="font-size: 18px;">鍑哄簱鏁伴噺锛歿{item.overOutQuantity}}</view>
 								</view>
-							</template>
-						</uni-list-item>
-					</uni-list>
-				</view>
-				<u-toast ref="uToast" />
+							</view>
+						</template>
+					</uni-list-item>
+				</uni-list>
+			</view>
+			<u-toast ref="uToast" />
 			<!-- </view> -->
 		</view>
 	</view>
@@ -56,7 +60,8 @@
 				orderIds: [],
 				orderInfo: [],
 				searchValue: "",
-				value:"2",
+				value: "2",
+				Warehouse:"",
 				label: "",
 				range: [],
 				orderDetail: {},
@@ -108,11 +113,12 @@
 				}
 			},
 			OutBound(id) {
-				this.orderIds=[];
+				this.orderIds = [];
 				this.orderIds.push(id);
 				var postData = {
 					AreaId: this.value,
-					orderIds: this.orderIds
+					orderIds: this.orderIds,
+					Warehouse:this.Warehouse,
 				};
 				console.log(postData);
 				this.$u.post('/api/AllocateOutboundOrder/GenerateAllocateOutboundTask', postData).then(res => {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inventory/InventoryOutboundOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inventory/InventoryOutboundOrder.vue"
deleted file mode 100644
index dc3acf6..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inventory/InventoryOutboundOrder.vue"
+++ /dev/null
@@ -1,204 +0,0 @@
-<template>
-	<view>
-		<u-sticky>
-			<view style="background-color: #ffffff;">
-				<uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
-			</view>
-		</u-sticky>
-		<uni-list :border="true">
-			<uni-list-item direction="column" clickable @click="groupClick(item.id,item.upperOrderNo)" link :to="page+item.orderNo"
-				v-for="item in allReceivingOrders" :key="item.orderNo">
-				<template v-slot:body>
-					<!-- <uni-group margin-top="20">
-						<view> 鍗曞彿:{{item.orderNo}} </view>
-						<view> 涓婃父鍗曞彿:{{item.upperOrderNo}} </view>
-						<view> 鐗╂枡缂栫爜:{{item.materielCode}} </view>
-						<view> 鍗曟嵁鏁伴噺:{{item.orderQuantity}} </view>
-						<view> 宸插嚭搴撴暟閲�:{{item.overOutQuantity}} </view>
-					</uni-group> -->
-					<uni-group margin-top="20">
-						<view class="flex-row">
-							<view class="label">鍗曞彿:</view>
-							<view class="value">{{item.orderNo}}</view>
-						</view>
-						<view class="flex-row">
-							<view class="label">涓婃父鍗曞彿:</view>
-							<view class="value">{{item.upperOrderNo}}</view>
-						</view>
-						<view class="flex-row">
-							<view class="label">鍒涘缓鏃堕棿:</view>
-							<view class="value">{{item.createDate}}</view>
-						</view>
-					</uni-group>
-				</template>
-			</uni-list-item>
-
-		</uni-list>
-		<uni-load-more :status="status" v-if="loadVisible"></uni-load-more>
-
-		<u-back-top :scroll-top="scrollTop" top="400"></u-back-top>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				page: "/pages/Inventory/InventoryOutorderboxing?orderNo=",
-				loadVisible: false,
-				istrue:false,
-				searchValue: "",
-				status: "more",
-				allReceivingOrders: [],
-				pageNo: 1,
-				scrollTop: 0
-			}
-		},
-		onLoad(res) {
-			this.getData();
-		},
-		onReachBottom() {
-			this.pageNo += 1;
-			this.getData();
-		},
-		onPageScroll(e) {
-			this.scrollTop = e.scrollTop;
-		},
-		methods: {
-			search(res) {
-				this.getData();
-			},
-			groupClick(Id,orderNo) {
-				window.location="/pages/Inventory/InventoryOutorderboxing?Id="+Id+"&orderNo="+orderNo;
-			},
-			getData() {
-				var postData = {
-					orderNo: this.searchValue,
-					pageNo: this.pageNo
-				}
-				this.$u.post('/api/InventoryOutboundOrder/GetInventoryOutboundOrder', postData).then((res) => {
-					if (res.status) {
-						if (this.searchValue == '') {
-							this.allReceivingOrders = this.allReceivingOrders.concat(res.data);
-							if (this.allReceivingOrders.length > 3) {
-								this.loadVisible = true;
-							} else {
-								this.loadVisible = false;
-							}
-						} else {
-							this.allReceivingOrders = res.data;
-							if (this.allReceivingOrders.length > 3) {
-								this.loadVisible = true;
-							} else {
-								this.loadVisible = false;
-							}
-						}
-					}
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	@import '@/common/uni-ui.scss';
-
-	page {
-		display: flex;
-		flex-direction: column;
-		box-sizing: border-box;
-		background-color: #efeff4;
-		min-height: 100%;
-		height: auto;
-	}
-
-	.tips {
-		color: #67c23a;
-		font-size: 14px;
-		line-height: 40px;
-		text-align: center;
-		background-color: #f0f9eb;
-		height: 0;
-		opacity: 0;
-		transform: translateY(-100%);
-		transition: all 0.3s;
-	}
-
-	.tips-ani {
-		transform: translateY(0);
-		height: 40px;
-		opacity: 1;
-	}
-
-	.content {
-		width: 100%;
-		display: flex;
-	}
-
-	.list-picture {
-		width: 100%;
-		height: 145px;
-	}
-
-	.thumb-image {
-		width: 100%;
-		height: 100%;
-	}
-
-	.ellipsis {
-		display: flex;
-		overflow: hidden;
-	}
-
-	.uni-ellipsis-1 {
-		overflow: hidden;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-	}
-
-	.uni-ellipsis-2 {
-		overflow: hidden;
-		text-overflow: ellipsis;
-		display: -webkit-box;
-		-webkit-line-clamp: 2;
-		-webkit-box-orient: vertical;
-	}
-
-	.customcss {
-		display: flex;
-		position: fixed;
-		width: 100%;
-		top: 10px;
-		text-align: center;
-		z-index: 999;
-		left: 30px;
-		height: 20%;
-	}
-
-	.footer {
-		padding-top: 50%;
-	}
-
-	.flex-row {
-		display: flex;
-		justify-content: space-between;
-		/* 宸﹀彸瀵归綈 */
-		align-items: center;
-		/* 鍨傜洿灞呬腑 */
-		padding: 10rpx 0;
-	}
-
-	.label {
-		color: #666;
-		width: 200rpx;
-		/* 鍥哄畾鏍囩瀹藉害 */
-		text-align: left;
-	}
-
-	.value {
-		flex: 1;
-		text-align: right;
-		color: #333;
-		font-weight: bold;
-	}
-</style>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inventory/InventoryOutorderboxing.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inventory/InventoryOutorderboxing.vue"
deleted file mode 100644
index 25c8828..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inventory/InventoryOutorderboxing.vue"
+++ /dev/null
@@ -1,178 +0,0 @@
-<template>
-	<view>
-		<!-- <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem">
-		</uni-segmented-control> -->
-		<view class="content">
-			<!-- <view v-if="current === 0" class="headerstyle"> -->
-				<view class="itemstyle">
-					<u-sticky>
-						<view style="background-color: #ffffff;">
-							<uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
-						</view>
-					</u-sticky>
-					<uni-forms label-width="50">
-						<uni-forms-item label="鍑哄簱鍖哄煙"><uni-data-select v-model="value"
-								:localdata="range"></uni-data-select></uni-forms-item>
-					</uni-forms>
-					<uni-list :border="true">
-						<uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="item.dtlId">
-							<template v-slot:body>
-								<view class="uni-list-box">
-									<button type="primary" style="position: absolute;right: 1%;" size="mini"
-										@click="OutBound(item.id)">鍑哄簱</button>
-									<view class="uni-content">
-										<view style="font-size: 18px;">鍗曟嵁缂栧彿锛歿{orderNo}}</view>
-										<view style="font-size: 18px;">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
-										<view style="font-size: 18px;">鐗╂枡鍚嶇О锛歿{item.materielName}}</view>
-										<view style="font-size: 18px;">鍗曟嵁鏁伴噺锛歿{item.orderQuantity}}</view>
-										<!-- <view style="font-size: 18px;">宸插垎閰嶆暟閲忥細{{item.processQty}}</view> -->
-										<view style="font-size: 18px;">鍑哄簱鏁伴噺锛歿{item.overOutQuantity}}</view>
-									</view>
-								</view>
-							</template>
-						</uni-list-item>
-					</uni-list>
-				</view>
-				<u-toast ref="uToast" />
-			<!-- </view> -->
-		</view>
-	</view>
-	</view>
-</template>
-
-<script>
-	import {
-		config
-	} from '../../common/config';
-	const innerAudioContext = uni.createInnerAudioContext();
-	export default {
-		data() {
-			return {
-				items: ['鐩存帴鍑哄簱'],
-				current: 0,
-				orderNo: "",
-				Id: 0,
-				AreaId: "",
-				orderIds: [],
-				orderInfo: [],
-				searchValue: "",
-				value:"2",
-				label: "",
-				range: [],
-				orderDetail: {},
-				focus: false,
-				key: [],
-				materielCode: "",
-			}
-		},
-		onShow() {},
-		onLoad(res) {
-			this.focus = false;
-			this.addressFocus = false;
-			this.Id = res.Id;
-			this.orderNo = res.orderNo;
-			this.range = config.OutArea;
-			this.getData();
-		},
-		methods: {
-			groupClick(materielCode, id) {
-				// window.location="/pages/materielGroup/OutOrderDetail?materielCode="+materielCode+"&id="+id;
-				// console.log(materielCode,id)
-			},
-			search() {
-				this.getData();
-			},
-			getData() {
-				var id = this.Id
-				var postData = {
-					id: id,
-					searchValue: this.searchValue,
-				};
-				this.$u.post('/api/InventoryOutboundOrder/GetInventoryOutboundOrderDetail', postData).then((res) => {
-					if (res.status) {
-						this.orderInfo = res.data;
-						// if (this.orderDetail.length > 3) {
-						// 	this.loadVisible = true;
-						// }
-					}
-				})
-			},
-			onClickItem(e) {
-				this.focus = false;
-				this.addressFocus = false;
-				if (this.current !== e.currentIndex) {
-					this.current = e.currentIndex;
-					if (this.current == 2) {
-						this.getData();
-					}
-				}
-			},
-			OutBound(id) {
-				this.orderIds=[];
-				this.orderIds.push(id);
-				var postData = {
-					AreaId: this.value,
-					orderIds: this.orderIds
-				};
-				console.log(postData);
-				this.$u.post('/api/InventoryOutboundOrder/GenerateInventoryOutboundTask', postData).then(res => {
-					if (res.status) {
-						this.items = [];
-						uni.$showMsg(res.message);
-						setTimeout(() => {
-							this.addressFocus = false;
-						}, 200);
-					} else {
-						this.$refs.uToast.show({
-							title: res.message,
-							type: "error"
-						})
-					}
-				}).catch(err => {
-					this.$refs.uToast.show({
-						title: err.message,
-						type: "error"
-					})
-				})
-			},
-			click(e) {
-				if (this.key.find(x => x.id == e.id)) {
-					this.key.map((item, index) => {
-						if (item.id == e.id) {
-							this.key.splice(index, 1);
-						}
-					})
-				} else {
-					this.key.push(e.id);
-				}
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	@import '@/common/uni-ui.scss';
-
-	.flex-row {
-		display: flex;
-		justify-content: space-between;
-		/* 宸﹀彸瀵归綈 */
-		align-items: center;
-		/* 鍨傜洿灞呬腑 */
-		padding: 10rpx 0;
-	}
-
-	.label {
-		color: #666;
-		width: 200rpx;
-		/* 鍥哄畾鏍囩瀹藉害 */
-		text-align: left;
-	}
-
-	.value {
-		flex: 1;
-		text-align: right;
-		color: #333;
-		font-weight: bold;
-	}
-</style>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/OtherOrder/OtherOutboundOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/OtherOrder/OtherOutboundOrder.vue"
deleted file mode 100644
index 4534f12..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/OtherOrder/OtherOutboundOrder.vue"
+++ /dev/null
@@ -1,204 +0,0 @@
-<template>
-	<view>
-		<u-sticky>
-			<view style="background-color: #ffffff;">
-				<uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
-			</view>
-		</u-sticky>
-		<uni-list :border="true">
-			<uni-list-item direction="column" clickable @click="groupClick(item.id,item.upperOrderNo)" link :to="page+item.orderNo"
-				v-for="item in allReceivingOrders" :key="item.orderNo">
-				<template v-slot:body>
-					<!-- <uni-group margin-top="20">
-						<view> 鍗曞彿:{{item.orderNo}} </view>
-						<view> 涓婃父鍗曞彿:{{item.upperOrderNo}} </view>
-						<view> 鐗╂枡缂栫爜:{{item.materielCode}} </view>
-						<view> 鍗曟嵁鏁伴噺:{{item.orderQuantity}} </view>
-						<view> 宸插嚭搴撴暟閲�:{{item.overOutQuantity}} </view>
-					</uni-group> -->
-					<uni-group margin-top="20">
-						<view class="flex-row">
-							<view class="label">鍗曞彿:</view>
-							<view class="value">{{item.orderNo}}</view>
-						</view>
-						<view class="flex-row">
-							<view class="label">涓婃父鍗曞彿:</view>
-							<view class="value">{{item.upperOrderNo}}</view>
-						</view>
-						<view class="flex-row">
-							<view class="label">鍒涘缓鏃堕棿:</view>
-							<view class="value">{{item.createDate}}</view>
-						</view>
-					</uni-group>
-				</template>
-			</uni-list-item>
-
-		</uni-list>
-		<uni-load-more :status="status" v-if="loadVisible"></uni-load-more>
-
-		<u-back-top :scroll-top="scrollTop" top="400"></u-back-top>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				page: "/pages/OtherOrder/OtherOutorderboxing?orderNo=",
-				loadVisible: false,
-				istrue:false,
-				searchValue: "",
-				status: "more",
-				allReceivingOrders: [],
-				pageNo: 1,
-				scrollTop: 0
-			}
-		},
-		onLoad(res) {
-			this.getData();
-		},
-		onReachBottom() {
-			this.pageNo += 1;
-			this.getData();
-		},
-		onPageScroll(e) {
-			this.scrollTop = e.scrollTop;
-		},
-		methods: {
-			search(res) {
-				this.getData();
-			},
-			groupClick(Id,orderNo) {
-				window.location="/pages/OtherOrder/OtherOutorderboxing?Id="+Id+"&orderNo="+orderNo;
-			},
-			getData() {
-				var postData = {
-					orderNo: this.searchValue,
-					pageNo: this.pageNo
-				}
-				this.$u.post('/api/OtherOutboundOrder/GetOtherOutboundOrder', postData).then((res) => {
-					if (res.status) {
-						if (this.searchValue == '') {
-							this.allReceivingOrders = this.allReceivingOrders.concat(res.data);
-							if (this.allReceivingOrders.length > 3) {
-								this.loadVisible = true;
-							} else {
-								this.loadVisible = false;
-							}
-						} else {
-							this.allReceivingOrders = res.data;
-							if (this.allReceivingOrders.length > 3) {
-								this.loadVisible = true;
-							} else {
-								this.loadVisible = false;
-							}
-						}
-					}
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	@import '@/common/uni-ui.scss';
-
-	page {
-		display: flex;
-		flex-direction: column;
-		box-sizing: border-box;
-		background-color: #efeff4;
-		min-height: 100%;
-		height: auto;
-	}
-
-	.tips {
-		color: #67c23a;
-		font-size: 14px;
-		line-height: 40px;
-		text-align: center;
-		background-color: #f0f9eb;
-		height: 0;
-		opacity: 0;
-		transform: translateY(-100%);
-		transition: all 0.3s;
-	}
-
-	.tips-ani {
-		transform: translateY(0);
-		height: 40px;
-		opacity: 1;
-	}
-
-	.content {
-		width: 100%;
-		display: flex;
-	}
-
-	.list-picture {
-		width: 100%;
-		height: 145px;
-	}
-
-	.thumb-image {
-		width: 100%;
-		height: 100%;
-	}
-
-	.ellipsis {
-		display: flex;
-		overflow: hidden;
-	}
-
-	.uni-ellipsis-1 {
-		overflow: hidden;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-	}
-
-	.uni-ellipsis-2 {
-		overflow: hidden;
-		text-overflow: ellipsis;
-		display: -webkit-box;
-		-webkit-line-clamp: 2;
-		-webkit-box-orient: vertical;
-	}
-
-	.customcss {
-		display: flex;
-		position: fixed;
-		width: 100%;
-		top: 10px;
-		text-align: center;
-		z-index: 999;
-		left: 30px;
-		height: 20%;
-	}
-
-	.footer {
-		padding-top: 50%;
-	}
-
-	.flex-row {
-		display: flex;
-		justify-content: space-between;
-		/* 宸﹀彸瀵归綈 */
-		align-items: center;
-		/* 鍨傜洿灞呬腑 */
-		padding: 10rpx 0;
-	}
-
-	.label {
-		color: #666;
-		width: 200rpx;
-		/* 鍥哄畾鏍囩瀹藉害 */
-		text-align: left;
-	}
-
-	.value {
-		flex: 1;
-		text-align: right;
-		color: #333;
-		font-weight: bold;
-	}
-</style>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/OtherOrder/OtherOutorderboxing.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/OtherOrder/OtherOutorderboxing.vue"
deleted file mode 100644
index 027615b..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/OtherOrder/OtherOutorderboxing.vue"
+++ /dev/null
@@ -1,178 +0,0 @@
-<template>
-	<view>
-		<!-- <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem">
-		</uni-segmented-control> -->
-		<view class="content">
-			<!-- <view v-if="current === 0" class="headerstyle"> -->
-				<view class="itemstyle">
-					<u-sticky>
-						<view style="background-color: #ffffff;">
-							<uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
-						</view>
-					</u-sticky>
-					<uni-forms label-width="50">
-						<uni-forms-item label="鍑哄簱鍖哄煙"><uni-data-select v-model="value"
-								:localdata="range"></uni-data-select></uni-forms-item>
-					</uni-forms>
-					<uni-list :border="true">
-						<uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="item.dtlId">
-							<template v-slot:body>
-								<view class="uni-list-box">
-									<button type="primary" style="position: absolute;right: 1%;" size="mini"
-										@click="OutBound(item.id)">鍑哄簱</button>
-									<view class="uni-content">
-										<view style="font-size: 18px;">鍗曟嵁缂栧彿锛歿{orderNo}}</view>
-										<view style="font-size: 18px;">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
-										<view style="font-size: 18px;">鐗╂枡鍚嶇О锛歿{item.materielName}}</view>
-										<view style="font-size: 18px;">鍗曟嵁鏁伴噺锛歿{item.orderQuantity}}</view>
-										<!-- <view style="font-size: 18px;">宸插垎閰嶆暟閲忥細{{item.processQty}}</view> -->
-										<view style="font-size: 18px;">鍑哄簱鏁伴噺锛歿{item.overOutQuantity}}</view>
-									</view>
-								</view>
-							</template>
-						</uni-list-item>
-					</uni-list>
-				</view>
-				<u-toast ref="uToast" />
-			<!-- </view> -->
-		</view>
-	</view>
-	</view>
-</template>
-
-<script>
-	import {
-		config
-	} from '../../common/config';
-	const innerAudioContext = uni.createInnerAudioContext();
-	export default {
-		data() {
-			return {
-				items: ['鐩存帴鍑哄簱'],
-				current: 0,
-				orderNo: "",
-				Id: 0,
-				AreaId: "",
-				orderIds: [],
-				orderInfo: [],
-				searchValue: "",
-				value:"2",
-				label: "",
-				range: [],
-				orderDetail: {},
-				focus: false,
-				key: [],
-				materielCode: "",
-			}
-		},
-		onShow() {},
-		onLoad(res) {
-			this.focus = false;
-			this.addressFocus = false;
-			this.Id = res.Id;
-			this.orderNo = res.orderNo;
-			this.range = config.OutArea;
-			this.getData();
-		},
-		methods: {
-			groupClick(materielCode, id) {
-				// window.location="/pages/materielGroup/OutOrderDetail?materielCode="+materielCode+"&id="+id;
-				// console.log(materielCode,id)
-			},
-			search() {
-				this.getData();
-			},
-			getData() {
-				var id = this.Id
-				var postData = {
-					id: id,
-					searchValue: this.searchValue,
-				};
-				this.$u.post('/api/OtherOutboundOrder/GetOtherOutboundOrderDetail', postData).then((res) => {
-					if (res.status) {
-						this.orderInfo = res.data;
-						// if (this.orderDetail.length > 3) {
-						// 	this.loadVisible = true;
-						// }
-					}
-				})
-			},
-			onClickItem(e) {
-				this.focus = false;
-				this.addressFocus = false;
-				if (this.current !== e.currentIndex) {
-					this.current = e.currentIndex;
-					if (this.current == 2) {
-						this.getData();
-					}
-				}
-			},
-			OutBound(id) {
-				this.orderIds=[];
-				this.orderIds.push(id);
-				var postData = {
-					AreaId: this.value,
-					orderIds: this.orderIds
-				};
-				console.log(postData);
-				this.$u.post('/api/OtherOutboundOrder/GenerateOtherOutboundTask', postData).then(res => {
-					if (res.status) {
-						this.items = [];
-						uni.$showMsg(res.message);
-						setTimeout(() => {
-							this.addressFocus = false;
-						}, 200);
-					} else {
-						this.$refs.uToast.show({
-							title: res.message,
-							type: "error"
-						})
-					}
-				}).catch(err => {
-					this.$refs.uToast.show({
-						title: err.message,
-						type: "error"
-					})
-				})
-			},
-			click(e) {
-				if (this.key.find(x => x.id == e.id)) {
-					this.key.map((item, index) => {
-						if (item.id == e.id) {
-							this.key.splice(index, 1);
-						}
-					})
-				} else {
-					this.key.push(e.id);
-				}
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	@import '@/common/uni-ui.scss';
-
-	.flex-row {
-		display: flex;
-		justify-content: space-between;
-		/* 宸﹀彸瀵归綈 */
-		align-items: center;
-		/* 鍨傜洿灞呬腑 */
-		padding: 10rpx 0;
-	}
-
-	.label {
-		color: #666;
-		width: 200rpx;
-		/* 鍥哄畾鏍囩瀹藉害 */
-		text-align: left;
-	}
-
-	.value {
-		flex: 1;
-		text-align: right;
-		color: #333;
-		font-weight: bold;
-	}
-</style>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/task/Inbound.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/task/Inbound.vue"
index 67d40ce..6aaf79b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/task/Inbound.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/task/Inbound.vue"
@@ -37,16 +37,31 @@
 						<uni-easyinput type="text" placeholder="璇锋壂鎻忓绠辨爣绛�" ref='midInput' :focus="focus" v-model="materSn"
 							@input="snInput" />
 					</uni-forms-item>
-					<uni-list>
-						<!-- <uni-list-item direction="column" v-for="item in InBoundOrder" :key="item.matCode">
-							<template v-slot:body>
-								<view class="uni-list-box">
-									<view class="uni-content">
-										<view class="uni-title-sub uni-ellipsis-2">璁㈠崟鍞竴缂栫爜锛歿{item.orderNo}}</view>
-									</view>
+					<view v-if="group.length" class="scan-result">
+						<uni-card v-for="(item, index) in group" :key="item.orderNo">
+							<view class="info-grid">
+								<view class="info-row">
+									<text class="label">璁㈠崟缂栫爜锛�</text>
+									<text>{{ item.orderNo }}</text>
 								</view>
-							</template>
-						</uni-list-item> -->
+								<br>
+								<view class="info-row">
+									<text class="label">浠撳簱鍚嶇О锛�</text>
+									<text>{{ item.warehouseName }}</text>
+								</view><br>
+								<view class="info-row">
+									<text class="label">鐗╂枡缂栫爜锛�</text>
+									<text>{{ item.materialNo }}</text>
+								</view><br>
+								<uni-forms-item label="缁勭洏鏁伴噺">
+									<uni-easyinput v-model="item.quantity" type="number" />
+								</uni-forms-item>
+							</view>
+							<uni-icons type="trash" class="delete-icon" @click="removeScanItem(item.orderNo)" />
+						</uni-card>
+					</view>
+
+					<!-- <uni-list>
 						<uni-list-item direction="column" v-for="(item,index) in InBoundOrder" :key="item.sn">
 							<template v-slot:body>
 								<view class="uni-list-box">
@@ -56,10 +71,20 @@
 									<view class="uni-content">
 										<view class="uni-title-sub uni-ellipsis-2">璁㈠崟鍞竴缂栫爜锛歿{item.orderNo}}</view>
 									</view>
+									<view class="uni-content">
+										<view class="uni-title-sub uni-ellipsis-2">浠撳簱锛歿{item.warehouseName}}</view>
+									</view>
+									<view class="uni-content">
+										<view class="uni-title-sub uni-ellipsis-2">鐗╂枡缂栫爜锛歿{item.materialNo}}</view>
+									</view>
+									<uni-forms-item label="鏁伴噺">
+										<uni-easyinput type="text" :focus="barcodefocus" @input="quantity"
+											v-model="PalletCode2" placeholder="鏁伴噺" ref='midInput' />
+									</uni-forms-item>
 								</view>
 							</template>
 						</uni-list-item>
-					</uni-list>
+					</uni-list> -->
 				</uni-forms>
 				<button @click="GroupPlate" type="primary" size="default" style="margin-top: 2%;">缁勭洏</button>
 			</view>
@@ -92,15 +117,15 @@
 				istrue: false,
 				barcodefocus: false,
 				range: [],
+				group: [],
 				AreaId: 0,
+				quantity: "",
 				SourceAddress: "",
 				TargetAddress: "",
 				PalletCode1: "",
 				PalletCode2: "",
 				PalletCode3: "",
 				materSn: "",
-				InBoundOrder: [],
-				OrderNos: [],
 				items: ['鍏ュ簱', '缁勭洏', '瑙g洏'],
 				current: 0
 			}
@@ -132,7 +157,6 @@
 					"TargetAddress": this.TargetAddress,
 					"AreaId": this.AreaId,
 				}
-				console.log(param);
 				this.$u.post('/api/Task/RequestInboundTaskAsync', param).then(res => {
 					if (res.status) {
 						this.$refs.luToast.show({
@@ -162,17 +186,16 @@
 				}
 				var param = {
 					"PalletCode": this.PalletCode2,
-					"OrderNos": this.OrderNos
+					"groups": this.group
 				}
-				this.$u.post('/api/StockInfo/AddGroupPlateAsync', param).then(res => {
+				this.$u.post('/api/BoxingInfo/AddGroupPlateAsync', param).then(res => {
 					if (res.status) {
 						this.$refs.luToast.show({
 							title: res.message,
 							type: "success"
 						})
 						this.PalletCode2 = "";
-						this.InBoundOrder = [];
-						this.OrderNos = [];
+						this.group = [];
 						this.barcodefocus = false;
 					} else {
 						this.$refs.luToast.show({
@@ -182,8 +205,8 @@
 					}
 				})
 			},
-			
-			SolvePlate(){
+
+			SolvePlate() {
 				if (this.PalletCode3.length <= 0) {
 					this.$refs.luToast.show({
 						title: "璇疯緭鍏ユ墭鐩樻潯鐮�",
@@ -223,16 +246,26 @@
 					var matObj = {
 						orderNo: this.materSn,
 					}
-					var temp = this.InBoundOrder.find(x => x.orderNo == matObj.orderNo);
+					var temp = this.group.find(x => x.orderNo == matObj.orderNo);
 					if (!temp) {
-						this.InBoundOrder.push(matObj);
-						this.OrderNos.push(this.materSn);
-						setTimeout(this.updateFocus, 200);
-						setTimeout(() => {
-							this.voiceSpeech('../../static/success.mp3');
-						}, 100);
+						this.$u.post('/api/InboundOrder/GetInboundOrderInfo?orderNo=' + this.materSn, "").then(
+							res => {
+								if (res.status) {
+									this.group.push(res.data);
+									setTimeout(this.updateFocus, 200);
+									setTimeout(() => {
+										this.voiceSpeech('../../static/success.mp3');
+									}, 100);
+								} else {
+									this.$refs.luToast.show({
+										title: res.message,
+										type: "error"
+									})
+								}
+							})
+
 					} else {
-						this.$refs.uToast.show({
+						this.$refs.luToast.show({
 							title: "鎵爜閲嶅",
 							type: "error"
 						})
@@ -244,20 +277,9 @@
 
 				})
 			},
-			deleteList(res) {
-				this.InBoundOrder.map((item, index) => {
-					console.log(res, item);
-					if (item.orderNo == res) {
-						this.InBoundOrder.splice(index, 1);
-					}
-				})
-				this.OrderNos.map((item, index) => {
-					if (item == res) {
-						this.OrderNos.splice(index, 1);
-					}
-				})
-			},
-
+			removeScanItem(orderNo) {
+				this.group = this.group.filter(item => item.orderNo !== orderNo);
+			}
 		}
 	}
 </script>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/task/Outbound.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/task/Outbound.vue"
index 4f75041..2c70164 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/task/Outbound.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/task/Outbound.vue"
@@ -1,48 +1,47 @@
 <template>
 	<view>
-		<uni-segmented-control :current="current" :values="items" @clickItem="onClickItem">
-		</uni-segmented-control>
-		<view v-show="current === 0">
-			<view style="padding: 5%;">
-				<uni-forms label-width="120">
-					<uni-forms-item label="鎵樼洏缂栫爜">
-						<uni-easyinput type="text" :focus="!istrue" @input="carNoInputChange" v-model="PalletCode"
-							placeholder="璇疯緭鍏ユ墭鐩樼紪鐮�" ref='midInput' />
-					</uni-forms-item>
-					<uni-forms-item label="鎼繍璧风偣">
-						<uni-easyinput type="text" :focus="istrue" v-model="SourceAddress"
-							placeholder="璇疯緭鍏GV鎼繍璧风偣" ref='midInput' />
-					</uni-forms-item>
-					<uni-forms-item label="鎼繍缁堢偣">
-						<uni-easyinput type="text" :focus="!istrue" @input="carNoInputChange" v-model="TargetAddress"
-							placeholder="璇疯緭鍏GV鎼繍缁堢偣" ref='midInput' />
-					</uni-forms-item>
-				</uni-forms>
-				<button @click="InboundTask" type="primary" size="default" style="margin-top: 2%;">鎼繍</button>
-				<u-toast ref="InboundTaskluToast" />
+		<u-sticky>
+			<view style="background-color: #ffffff;">
+				<uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
 			</view>
-		</view>
-		<view v-show="current === 1">
-			<view style="padding: 5%;">
-				<uni-forms label-width="120">
-					<uni-forms-item label="鎵� 鐩� 缂� 鐮�">
-						<uni-easyinput type="text" :focus="barcodefocus" @input="inputChangebarcode" v-model="Barcode"
-							placeholder="璇疯緭鍏ユ墭鐩樼紪鐮�" ref='midInput' />
-					</uni-forms-item>
-					<uni-forms-item label="璺ㄦゼ灞傝捣鐐�">
-						<uni-easyinput type="text" :focus="barcodefocus" v-model="StartAddress"
-							placeholder="璇疯緭鍏ヨ法妤煎眰璧风偣" ref='midInput' />
-					</uni-forms-item>
-					<uni-forms-item label="璺ㄦゼ灞傜粓鐐�">
-						<uni-easyinput type="text" :focus="barcodefocus" v-model="EndAddress"
-							placeholder="璇疯緭鍏ヨ法妤煎眰缁堢偣" ref='midInput' />
-					</uni-forms-item>
-				</uni-forms>
-				<button @click="OutboundTask" type="primary" size="default" style="margin-top: 2%;">涓嬪彂浠诲姟</button>
-				<u-toast ref="OutboundTaskluToast" />
-			</view>
-		</view>
-	</view>
+		</u-sticky>
+		<uni-list :border="true">
+			<uni-list-item direction="column" clickable
+				v-for="item in allReceivingOrders" :key="item.orderNo">
+				<template v-slot:body>
+					<uni-group margin-top="20">
+						<view class="flex-row">
+							<view class="label">鎵樼洏鏉$爜:</view>
+							<view class="value">{{item.palletCode}}</view>
+						</view>
+						<view class="flex-row">
+							<view class="label">璐т綅缂栫爜:</view>
+							<view class="value">{{item.locationCode}}</view>
+						</view>
+						<view class="flex-row">
+							<view class="label">鐗╂枡缂栫爜:</view>
+							<view class="value">{{item.materielCode}}</view>
+						</view>
+						<view class="flex-row">
+							<view class="label">鐗╂枡鍚嶇О:</view>
+							<view class="value">{{item.materielName}}</view>
+						</view>
+						<view class="flex-row">
+							<view class="label">搴撳瓨鏁伴噺:</view>
+							<view class="value">{{item.quantity}}</view>
+						</view>
+						<view>
+							<button @click="Outbound(item.palletCode)" type="primary" size="default" style="margin-top: 2%;">鍑哄簱</button>
+						</view>
+					</uni-group>
+				</template>
+			</uni-list-item>
+
+		</uni-list>
+		<!-- <uni-load-more :status="status" v-if="loadVisible"></uni-load-more>
+
+		<u-back-top :scroll-top="scrollTop" top="400"></u-back-top> -->
+		<u-toast ref="luToast" />
 	</view>
 </template>
 
@@ -50,88 +49,72 @@
 	export default {
 		data() {
 			return {
+				page: "/pages/Production/ProductionOutorderboxing?orderNo=",
+				loadVisible: false,
 				istrue: false,
-				barcodefocus: false,
-				range: [],
-				EndAddress: "",
-				StartAddress: "",
-				Barcode: "",
-				TargetAddress:"",
-				PalletCode: "",
-				SourceAddress: "",
-				items: ['鎼繍', '璺ㄦゼ灞�'],
-				current: 0
+				searchValue: "",
+				status: "more",
+				allReceivingOrders: [],
+				pageNo: 1,
+				scrollTop: 0
 			}
 		},
+		onLoad(res) {
+			this.getData();
+		},
+		onReachBottom() {
+			this.pageNo += 1;
+			this.getData();
+		},
+		onPageScroll(e) {
+			this.scrollTop = e.scrollTop;
+		},
 		methods: {
-			onClickItem(e) {
-				if (this.current != e.currentIndex) {
-					this.current = e.currentIndex;
-				}
+			search(res) {
+				this.getData();
 			},
-			InboundTask() {
-				if (this.PalletCode.length <= 0 && this.Point.length) {
-					this.$refs.InboundTaskluToast.show({
-						title: "鎵樼洏缂栫爜璺熺粦瀹氳揣浣嶄笉鑳戒负绌�",
-						type: "error"
-					})
-					return;
+			getData() {
+				var postData = {
+					orderNo: this.searchValue,
+					pageNo: this.pageNo
 				}
-				var param = {
-					"PalletCode": this.PalletCode,
-					"Position": this.SourceAddress,
-					"TargetAddress":this.TargetAddress
-				}
-				console.log(param);
-				this.$u.post('/api/Task/RequestAGVCarryTaskAsync', param).then(res => {
+				this.$u.post('/api/StockInfo/GetStockView', postData).then((res) => {
 					if (res.status) {
-						this.$refs.InboundTaskluToast.show({
+						if (this.searchValue == '') {
+							this.allReceivingOrders = this.allReceivingOrders.concat(res.data);
+							if (this.allReceivingOrders.length > 3) {
+								this.loadVisible = true;
+							} else {
+								this.loadVisible = false;
+							}
+						} else {
+							this.allReceivingOrders = res.data;
+							if (this.allReceivingOrders.length > 3) {
+								this.loadVisible = true;
+							} else {
+								this.loadVisible = false;
+							}
+						}
+					}
+				})
+			},
+			
+			Outbound(palletCode) {
+				this.$u.post('/api/Task/OutBoundTaskAsync?palletCode='+palletCode, "").then((res) => {
+					if (res.status) {
+					this.$refs.luToast.show({
 							title: res.message,
 							type: "success"
 						})
-						this.PalletCode = "";
-						this.SourceAddress = "";
-						this.TargetAddress="";
-						this.istrue = false;
+						this.getData();
 					} else {
-						this.$refs.InboundTaskluToast.show({
+						this.$refs.luToast.show({
 							title: res.message,
 							type: "error"
 						})
 					}
 				})
-			},
-			OutboundTask() {
-				if (this.EndAddress.length <= 0 && this.Barcode.length) {
-					this.$refs.OutboundTaskluToast.show({
-						title: "璇疯緭鍏ヨ捣鐐圭珯鍙�",
-						type: "error"
-					})
-					return;
-				}
-				var param = {
-					"PalletCode": this.Barcode,
-					"Position": this.StartAddress,
-					"TargetAddress":this.EndAddress
-				}
-				this.$u.post('/api/Task/RequestAcrossFloorTaskAsync', param).then(res => {
-					if (res.status) {
-						this.$refs.OutboundTaskluToast.show({
-							title: res.message,
-							type: "success"
-						})
-						this.Barcode = "";
-						this.EndAddress = "";
-						this.StartAddress="";
-						this.barcodefocus = false;
-					} else {
-						this.$refs.OutboundTaskluToast.show({
-							title: res.message,
-							type: "error"
-						})
-					}
-				})
-			},
+			}
 		}
 	}
 </script>
@@ -199,4 +182,42 @@
 		-webkit-line-clamp: 2;
 		-webkit-box-orient: vertical;
 	}
+
+	.customcss {
+		display: flex;
+		position: fixed;
+		width: 100%;
+		top: 10px;
+		text-align: center;
+		z-index: 999;
+		left: 30px;
+		height: 20%;
+	}
+
+	.footer {
+		padding-top: 50%;
+	}
+
+	.flex-row {
+		display: flex;
+		justify-content: space-between;
+		/* 宸﹀彸瀵归綈 */
+		align-items: center;
+		/* 鍨傜洿灞呬腑 */
+		padding: 10rpx 0;
+	}
+
+	.label {
+		color: #666;
+		width: 200rpx;
+		/* 鍥哄畾鏍囩瀹藉害 */
+		text-align: left;
+	}
+
+	.value {
+		flex: 1;
+		text-align: right;
+		color: #333;
+		font-weight: bold;
+	}
 </style>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db"
new file mode 100644
index 0000000..4f71c13
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm"
new file mode 100644
index 0000000..f76fa36
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal"
new file mode 100644
index 0000000..d314225
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db"
new file mode 100644
index 0000000..d81fab1
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm"
new file mode 100644
index 0000000..14e92bd
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal"
new file mode 100644
index 0000000..2f5ea1d
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/config/applicationhost.config" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/config/applicationhost.config"
new file mode 100644
index 0000000..223dc4c
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/config/applicationhost.config"
@@ -0,0 +1,1011 @@
+锘�<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    IIS configuration sections.
+
+    For schema documentation, see
+    %IIS_BIN%\config\schema\IIS_schema.xml.
+    
+    Please make a backup of this file before making any changes to it.
+
+    NOTE: The following environment variables are available to be used
+          within this file and are understood by the IIS Express.
+
+          %IIS_USER_HOME% - The IIS Express home directory for the user
+          %IIS_SITES_HOME% - The default home directory for sites
+          %IIS_BIN% - The location of the IIS Express binaries
+          %SYSTEMDRIVE% - The drive letter of %IIS_BIN%
+
+-->
+
+<configuration>
+
+    <!--
+
+        The <configSections> section controls the registration of sections.
+        Section is the basic unit of deployment, locking, searching and
+        containment for configuration settings.
+        
+        Every section belongs to one section group.
+        A section group is a container of logically-related sections.
+        
+        Sections cannot be nested.
+        Section groups may be nested.
+        
+        <section
+            name=""  [Required, Collection Key] [XML name of the section]
+            allowDefinition="Everywhere" [MachineOnly|MachineToApplication|AppHostOnly|Everywhere] [Level where it can be set]
+            overrideModeDefault="Allow"  [Allow|Deny] [Default delegation mode]
+            allowLocation="true"  [true|false] [Allowed in location tags]
+        />
+        
+        The recommended way to unlock sections is by using a location tag:
+        <location path="Default Web Site" overrideMode="Allow">
+            <system.webServer>
+                <asp />
+            </system.webServer>
+        </location>
+
+    -->
+    <configSections>
+        <sectionGroup name="system.applicationHost">
+            <section name="applicationPools" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="serviceAutoStartProviders" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+        </sectionGroup>
+
+        <sectionGroup name="system.webServer">
+            <section name="asp" overrideModeDefault="Deny" />
+            <section name="caching" overrideModeDefault="Allow" />
+            <section name="cgi" overrideModeDefault="Deny" />
+            <section name="defaultDocument" overrideModeDefault="Allow" />
+            <section name="directoryBrowse" overrideModeDefault="Allow" />
+            <section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+            <section name="handlers" overrideModeDefault="Deny" />
+            <section name="httpCompression" overrideModeDefault="Allow" allowDefinition="Everywhere" />
+            <section name="httpErrors" overrideModeDefault="Allow" />
+            <section name="httpLogging" overrideModeDefault="Deny" />
+            <section name="httpProtocol" overrideModeDefault="Allow" />
+            <section name="httpRedirect" overrideModeDefault="Allow" />
+            <section name="httpTracing" overrideModeDefault="Deny" />
+            <section name="isapiFilters" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
+            <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
+            <section name="applicationInitialization" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
+            <section name="odbcLogging" overrideModeDefault="Deny" />
+            <sectionGroup name="security">
+                <section name="access" overrideModeDefault="Deny" />
+                <section name="applicationDependencies" overrideModeDefault="Deny" />
+                <sectionGroup name="authentication">
+                    <section name="anonymousAuthentication" overrideModeDefault="Deny" />
+                    <section name="basicAuthentication" overrideModeDefault="Deny" />
+                    <section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" />
+                    <section name="digestAuthentication" overrideModeDefault="Deny" />
+                    <section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" />
+                    <section name="windowsAuthentication" overrideModeDefault="Deny" />
+                </sectionGroup>
+                <section name="authorization" overrideModeDefault="Allow" />
+                <section name="ipSecurity" overrideModeDefault="Deny" />
+                <section name="dynamicIpSecurity" overrideModeDefault="Deny" />
+                <section name="isapiCgiRestriction" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
+                <section name="requestFiltering" overrideModeDefault="Allow" />
+            </sectionGroup>
+            <section name="serverRuntime" overrideModeDefault="Deny" />
+            <section name="serverSideInclude" overrideModeDefault="Deny" />
+            <section name="staticContent" overrideModeDefault="Allow" />
+            <sectionGroup name="tracing">
+                <section name="traceFailedRequests" overrideModeDefault="Allow" />
+                <section name="traceProviderDefinitions" overrideModeDefault="Deny" />
+            </sectionGroup>
+            <section name="urlCompression" overrideModeDefault="Allow" />
+            <section name="validation" overrideModeDefault="Allow" />
+            <sectionGroup name="webdav">
+                <section name="globalSettings" overrideModeDefault="Deny" />
+                <section name="authoring" overrideModeDefault="Deny" />
+                <section name="authoringRules" overrideModeDefault="Deny" />
+            </sectionGroup>
+            <sectionGroup name="rewrite">
+                <section name="allowedServerVariables" overrideModeDefault="Deny" />
+                <section name="rules" overrideModeDefault="Allow" />
+                <section name="outboundRules" overrideModeDefault="Allow" />
+                <section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />
+                <section name="providers" overrideModeDefault="Allow" />
+                <section name="rewriteMaps" overrideModeDefault="Allow" />
+            </sectionGroup>
+            <section name="webSocket" overrideModeDefault="Deny" />
+        </sectionGroup>
+    </configSections>
+
+    <configProtectedData>
+        <providers>
+            <add name="IISWASOnlyRsaProvider" type="" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />
+            <add name="AesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisConfigurationKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAA/HKxkz6alrlAPez0IUgujj/6k3WxCDriHp6jvpv3yEZmo7h6SMzGLxo4mTrIQVHSkB7tmElHKfUFTzE2BWF7nFWHY6Z6qmGBauFzwJMwESjril7Gjz69RBFH259HQ6aRDq9Xfx7U7H4HtdmnKNqGjgl/hwPQBGeIlWiDh+sYv3vKB0QU971tjX6H2B+9armlnC8UOuA6JYMDMI/VLLL16sng0fWAy5JYe0YVABVjiAWDW264RZW9Tr1Oax4qHZKg+SdjULxeOc2YmpX+d0yeITo1HkPF1hN1gHpIPIUDo05ilHUNfR3OkjVCIQK4cFKCq1s8NH+y+13MxUC4Fn1AlQ==" />
+            <add name="IISWASOnlyAesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAALmU8lTC+v2qtfQiiiquvvLpUQqKLEXs+jSKoWCM/uPhyB++k4dwug19mGidNK5FYiWK2KYE1yhjVJcbp12E98Q0R2nT7eBiCMY2JairxQ591rqABK7keGaIjwH7PwGzSpILl3RJ4YFvJ/7ZXEJxeDZIjW8ZxWVXx+/VyHs9U3WguLEkgMUX3jrxJi8LouxaIVPJAv/YQ1ZCWs8zImitxX/C/7o7yaIxznfsN5nGQzQfpUDPeby99aw2zPVTtZI2LaWIBON8guABvZ6JtJVDWmfdK6sodbnwdZkr6/Z2rfvamT1dC1SpQrGG7ulR/f9/GXvCaW10ZVKxekBF/CYlNMg==" />
+        </providers>
+    </configProtectedData>
+
+    <system.applicationHost>
+
+        <applicationPools>
+            <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
+            <add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
+            <add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
+            <add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
+            <add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" />
+            <applicationPoolDefaults managedRuntimeVersion="v4.0">
+                <processModel loadUserProfile="true" setProfileEnvironment="false" />
+            </applicationPoolDefaults>
+        </applicationPools>
+
+        <!--
+
+          The <listenerAdapters> section defines the protocols with which the
+          Windows Process Activation Service (WAS) binds.
+
+        -->
+        <listenerAdapters>
+            <add name="http" />
+        </listenerAdapters>
+
+        <sites>
+            <site name="WebSite1" id="1" serverAutoStart="true">
+                <application path="/">
+                    <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
+                </application>
+                <bindings>
+                    <binding protocol="http" bindingInformation=":8080:localhost" />
+                </bindings>
+            </site>
+            <siteDefaults>
+                <!-- To enable logging, please change the below attribute "enabled" to "true" -->
+                <logFile logFormat="W3C" directory="%AppData%\Microsoft\IISExpressLogs" enabled="false"/>
+                <traceFailedRequestsLogging directory="%AppData%\Microsoft" enabled="false" maxLogFileSizeKB="1024" />
+            </siteDefaults>
+            <applicationDefaults applicationPool="Clr4IntegratedAppPool" />
+            <virtualDirectoryDefaults allowSubDirConfig="true" />
+        </sites>
+
+        <webLimits />
+
+    </system.applicationHost>
+
+    <system.webServer>
+
+        <serverRuntime />
+
+        <asp scriptErrorSentToBrowser="true">
+            <cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" />
+            <limits />
+        </asp>
+
+        <caching enabled="true" enableKernelCache="true">
+        </caching>
+
+        <cgi />
+
+        <defaultDocument enabled="true">
+            <files>
+                <add value="Default.htm" />
+                <add value="Default.asp" />
+                <add value="index.htm" />
+                <add value="index.html" />
+                <add value="iisstart.htm" />
+                <add value="default.aspx" />
+            </files>
+        </defaultDocument>
+
+        <directoryBrowse enabled="false" />
+
+        <fastCgi />
+
+        <!--
+
+          The <globalModules> section defines all native-code modules.
+          To enable a module, specify it in the <modules> section.
+
+        -->
+        <globalModules>
+            <add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" />
+            <add name="UriCacheModule" image="%IIS_BIN%\cachuri.dll" />
+            <add name="TokenCacheModule" image="%IIS_BIN%\cachtokn.dll" />
+            <add name="DynamicCompressionModule" image="%IIS_BIN%\compdyn.dll" />
+            <add name="StaticCompressionModule" image="%IIS_BIN%\compstat.dll" />
+            <add name="DefaultDocumentModule" image="%IIS_BIN%\defdoc.dll" />
+            <add name="DirectoryListingModule" image="%IIS_BIN%\dirlist.dll" />
+            <add name="ProtocolSupportModule" image="%IIS_BIN%\protsup.dll" />
+            <add name="HttpRedirectionModule" image="%IIS_BIN%\redirect.dll" />
+            <add name="ServerSideIncludeModule" image="%IIS_BIN%\iis_ssi.dll" />
+            <add name="StaticFileModule" image="%IIS_BIN%\static.dll" />
+            <add name="AnonymousAuthenticationModule" image="%IIS_BIN%\authanon.dll" />
+            <add name="CertificateMappingAuthenticationModule" image="%IIS_BIN%\authcert.dll" />
+            <add name="UrlAuthorizationModule" image="%IIS_BIN%\urlauthz.dll" />
+            <add name="BasicAuthenticationModule" image="%IIS_BIN%\authbas.dll" />
+            <add name="WindowsAuthenticationModule" image="%IIS_BIN%\authsspi.dll" />
+            <add name="IISCertificateMappingAuthenticationModule" image="%IIS_BIN%\authmap.dll" />
+            <add name="IpRestrictionModule" image="%IIS_BIN%\iprestr.dll" />
+            <add name="DynamicIpRestrictionModule" image="%IIS_BIN%\diprestr.dll" />
+            <add name="RequestFilteringModule" image="%IIS_BIN%\modrqflt.dll" />
+            <add name="CustomLoggingModule" image="%IIS_BIN%\logcust.dll" />
+            <add name="CustomErrorModule" image="%IIS_BIN%\custerr.dll" />
+            <add name="FailedRequestsTracingModule" image="%IIS_BIN%\iisfreb.dll" />
+            <add name="RequestMonitorModule" image="%IIS_BIN%\iisreqs.dll" />
+            <add name="IsapiModule" image="%IIS_BIN%\isapi.dll" />
+            <add name="IsapiFilterModule" image="%IIS_BIN%\filter.dll" />
+            <add name="CgiModule" image="%IIS_BIN%\cgi.dll" />
+            <add name="FastCgiModule" image="%IIS_BIN%\iisfcgi.dll" />
+<!--            <add name="WebDAVModule" image="%IIS_BIN%\webdav.dll" /> -->
+            <add name="RewriteModule" image="%IIS_BIN%\rewrite.dll" />
+            <add name="ConfigurationValidationModule" image="%IIS_BIN%\validcfg.dll" />
+            <add name="WebSocketModule" image="%IIS_BIN%\iiswsock.dll" />
+            <add name="WebMatrixSupportModule" image="%IIS_BIN%\webmatrixsup.dll" />
+            <add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />
+            <add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness64" />
+            <add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
+            <add name="ManagedEngineV4.0_64bit" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
+            <add name="ApplicationInitializationModule" image="%IIS_BIN%\warmup.dll" />
+        </globalModules>
+
+        <httpCompression directory="%TEMP%">
+            <scheme name="gzip" dll="%IIS_BIN%\gzip.dll" />
+            <dynamicTypes>
+                <add mimeType="text/*" enabled="true" />
+                <add mimeType="message/*" enabled="true" />
+                <add mimeType="application/x-javascript" enabled="true" />
+                <add mimeType="application/javascript" enabled="true" />
+                <add mimeType="*/*" enabled="false" />
+            </dynamicTypes>
+            <staticTypes>
+                <add mimeType="text/*" enabled="true" />
+                <add mimeType="message/*" enabled="true" />
+                <add mimeType="application/javascript" enabled="true" />
+                <add mimeType="application/atom+xml" enabled="true" />
+                <add mimeType="application/xaml+xml" enabled="true" />
+                <add mimeType="image/svg+xml" enabled="true" />
+                <add mimeType="*/*" enabled="false" />
+            </staticTypes>
+        </httpCompression>
+
+        <httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
+            <error statusCode="401" prefixLanguageFilePath="%IIS_BIN%\custerr" path="401.htm" />
+            <error statusCode="403" prefixLanguageFilePath="%IIS_BIN%\custerr" path="403.htm" />
+            <error statusCode="404" prefixLanguageFilePath="%IIS_BIN%\custerr" path="404.htm" />
+            <error statusCode="405" prefixLanguageFilePath="%IIS_BIN%\custerr" path="405.htm" />
+            <error statusCode="406" prefixLanguageFilePath="%IIS_BIN%\custerr" path="406.htm" />
+            <error statusCode="412" prefixLanguageFilePath="%IIS_BIN%\custerr" path="412.htm" />
+            <error statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" />
+            <error statusCode="501" prefixLanguageFilePath="%IIS_BIN%\custerr" path="501.htm" />
+            <error statusCode="502" prefixLanguageFilePath="%IIS_BIN%\custerr" path="502.htm" />
+        </httpErrors>
+
+        <httpLogging dontLog="false" />
+
+        <httpProtocol>
+            <customHeaders>
+                <clear />
+                <add name="X-Powered-By" value="ASP.NET" />
+            </customHeaders>
+            <redirectHeaders>
+                <clear />
+            </redirectHeaders>
+        </httpProtocol>
+
+        <httpRedirect enabled="false" />
+
+        <httpTracing />
+
+        <isapiFilters>
+            <filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" />
+            <filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" />
+            <filter name="ASP.Net_2.0_for_v1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" />
+            <filter name="ASP.Net_4.0_32bit" path="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv4.0" />
+            <filter name="ASP.Net_4.0_64bit" path="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv4.0" />
+        </isapiFilters>
+
+        <odbcLogging />
+
+        <security>
+
+            <access sslFlags="None" />
+
+            <applicationDependencies>
+                <application name="Active Server Pages" groupId="ASP" />
+            </applicationDependencies>
+
+            <authentication>
+
+                <anonymousAuthentication enabled="true" userName="" />
+
+                <basicAuthentication enabled="false" />
+
+                <clientCertificateMappingAuthentication enabled="false" />
+
+                <digestAuthentication enabled="false" />
+
+                <iisClientCertificateMappingAuthentication enabled="false">
+                </iisClientCertificateMappingAuthentication>
+
+                <windowsAuthentication enabled="false">
+                    <providers>
+                        <add value="Negotiate" />
+                        <add value="NTLM" />
+                    </providers>
+                </windowsAuthentication>
+
+            </authentication>
+
+            <authorization>
+                <add accessType="Allow" users="*" />
+            </authorization>
+
+            <ipSecurity allowUnlisted="true" />
+
+            <isapiCgiRestriction notListedIsapisAllowed="true" notListedCgisAllowed="true">
+                <add path="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" />
+                <add path="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" />
+                <add path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" />
+                <add path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" />
+            </isapiCgiRestriction>
+
+            <requestFiltering>
+                <fileExtensions allowUnlisted="true" applyToWebDAV="true">
+                    <add fileExtension=".asa" allowed="false" />
+                    <add fileExtension=".asax" allowed="false" />
+                    <add fileExtension=".ascx" allowed="false" />
+                    <add fileExtension=".master" allowed="false" />
+                    <add fileExtension=".skin" allowed="false" />
+                    <add fileExtension=".browser" allowed="false" />
+                    <add fileExtension=".sitemap" allowed="false" />
+                    <add fileExtension=".config" allowed="false" />
+                    <add fileExtension=".cs" allowed="false" />
+                    <add fileExtension=".csproj" allowed="false" />
+                    <add fileExtension=".vb" allowed="false" />
+                    <add fileExtension=".vbproj" allowed="false" />
+                    <add fileExtension=".webinfo" allowed="false" />
+                    <add fileExtension=".licx" allowed="false" />
+                    <add fileExtension=".resx" allowed="false" />
+                    <add fileExtension=".resources" allowed="false" />
+                    <add fileExtension=".mdb" allowed="false" />
+                    <add fileExtension=".vjsproj" allowed="false" />
+                    <add fileExtension=".java" allowed="false" />
+                    <add fileExtension=".jsl" allowed="false" />
+                    <add fileExtension=".ldb" allowed="false" />
+                    <add fileExtension=".dsdgm" allowed="false" />
+                    <add fileExtension=".ssdgm" allowed="false" />
+                    <add fileExtension=".lsad" allowed="false" />
+                    <add fileExtension=".ssmap" allowed="false" />
+                    <add fileExtension=".cd" allowed="false" />
+                    <add fileExtension=".dsprototype" allowed="false" />
+                    <add fileExtension=".lsaprototype" allowed="false" />
+                    <add fileExtension=".sdm" allowed="false" />
+                    <add fileExtension=".sdmDocument" allowed="false" />
+                    <add fileExtension=".mdf" allowed="false" />
+                    <add fileExtension=".ldf" allowed="false" />
+                    <add fileExtension=".ad" allowed="false" />
+                    <add fileExtension=".dd" allowed="false" />
+                    <add fileExtension=".ldd" allowed="false" />
+                    <add fileExtension=".sd" allowed="false" />
+                    <add fileExtension=".adprototype" allowed="false" />
+                    <add fileExtension=".lddprototype" allowed="false" />
+                    <add fileExtension=".exclude" allowed="false" />
+                    <add fileExtension=".refresh" allowed="false" />
+                    <add fileExtension=".compiled" allowed="false" />
+                    <add fileExtension=".msgx" allowed="false" />
+                    <add fileExtension=".vsdisco" allowed="false" />
+                    <add fileExtension=".rules" allowed="false" />
+                </fileExtensions>
+                <verbs allowUnlisted="true" applyToWebDAV="true" />
+                <hiddenSegments applyToWebDAV="true">
+                    <add segment="web.config" />
+                    <add segment="bin" />
+                    <add segment="App_code" />
+                    <add segment="App_GlobalResources" />
+                    <add segment="App_LocalResources" />
+                    <add segment="App_WebReferences" />
+                    <add segment="App_Data" />
+                    <add segment="App_Browsers" />
+                </hiddenSegments>
+            </requestFiltering>
+
+        </security>
+
+        <serverSideInclude ssiExecDisable="false" />
+
+        <staticContent lockAttributes="isDocFooterFileName">
+            <mimeMap fileExtension=".323" mimeType="text/h323" />
+            <mimeMap fileExtension=".3g2" mimeType="video/3gpp2" />
+            <mimeMap fileExtension=".3gp2" mimeType="video/3gpp2" />
+            <mimeMap fileExtension=".3gp" mimeType="video/3gpp" />
+            <mimeMap fileExtension=".3gpp" mimeType="video/3gpp" />
+            <mimeMap fileExtension=".aac" mimeType="audio/aac" />
+            <mimeMap fileExtension=".aaf" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".aca" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".accdb" mimeType="application/msaccess" />
+            <mimeMap fileExtension=".accde" mimeType="application/msaccess" />
+            <mimeMap fileExtension=".accdt" mimeType="application/msaccess" />
+            <mimeMap fileExtension=".acx" mimeType="application/internet-property-stream" />
+            <mimeMap fileExtension=".adt" mimeType="audio/vnd.dlna.adts" />
+            <mimeMap fileExtension=".adts" mimeType="audio/vnd.dlna.adts" />
+            <mimeMap fileExtension=".afm" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".ai" mimeType="application/postscript" />
+            <mimeMap fileExtension=".aif" mimeType="audio/x-aiff" />
+            <mimeMap fileExtension=".aifc" mimeType="audio/aiff" />
+            <mimeMap fileExtension=".aiff" mimeType="audio/aiff" />
+            <mimeMap fileExtension=".appcache" mimeType="text/cache-manifest" />
+            <mimeMap fileExtension=".application" mimeType="application/x-ms-application" />
+            <mimeMap fileExtension=".art" mimeType="image/x-jg" />
+            <mimeMap fileExtension=".asd" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".asf" mimeType="video/x-ms-asf" />
+            <mimeMap fileExtension=".asi" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".asm" mimeType="text/plain" />
+            <mimeMap fileExtension=".asr" mimeType="video/x-ms-asf" />
+            <mimeMap fileExtension=".asx" mimeType="video/x-ms-asf" />
+            <mimeMap fileExtension=".atom" mimeType="application/atom+xml" />
+            <mimeMap fileExtension=".au" mimeType="audio/basic" />
+            <mimeMap fileExtension=".avi" mimeType="video/avi" />
+            <mimeMap fileExtension=".axs" mimeType="application/olescript" />
+            <mimeMap fileExtension=".bas" mimeType="text/plain" />
+            <mimeMap fileExtension=".bcpio" mimeType="application/x-bcpio" />
+            <mimeMap fileExtension=".bin" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".bmp" mimeType="image/bmp" />
+            <mimeMap fileExtension=".c" mimeType="text/plain" />
+            <mimeMap fileExtension=".cab" mimeType="application/vnd.ms-cab-compressed" />
+            <mimeMap fileExtension=".calx" mimeType="application/vnd.ms-office.calx" />
+            <mimeMap fileExtension=".cat" mimeType="application/vnd.ms-pki.seccat" />
+            <mimeMap fileExtension=".cdf" mimeType="application/x-cdf" />
+            <mimeMap fileExtension=".chm" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".class" mimeType="application/x-java-applet" />
+            <mimeMap fileExtension=".clp" mimeType="application/x-msclip" />
+            <mimeMap fileExtension=".cmx" mimeType="image/x-cmx" />
+            <mimeMap fileExtension=".cnf" mimeType="text/plain" />
+            <mimeMap fileExtension=".cod" mimeType="image/cis-cod" />
+            <mimeMap fileExtension=".cpio" mimeType="application/x-cpio" />
+            <mimeMap fileExtension=".cpp" mimeType="text/plain" />
+            <mimeMap fileExtension=".crd" mimeType="application/x-mscardfile" />
+            <mimeMap fileExtension=".crl" mimeType="application/pkix-crl" />
+            <mimeMap fileExtension=".crt" mimeType="application/x-x509-ca-cert" />
+            <mimeMap fileExtension=".csh" mimeType="application/x-csh" />
+            <mimeMap fileExtension=".css" mimeType="text/css" />
+            <mimeMap fileExtension=".csv" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".cur" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".dcr" mimeType="application/x-director" />
+            <mimeMap fileExtension=".deploy" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".der" mimeType="application/x-x509-ca-cert" />
+            <mimeMap fileExtension=".dib" mimeType="image/bmp" />
+            <mimeMap fileExtension=".dir" mimeType="application/x-director" />
+            <mimeMap fileExtension=".disco" mimeType="text/xml" />
+            <mimeMap fileExtension=".dll" mimeType="application/x-msdownload" />
+            <mimeMap fileExtension=".dll.config" mimeType="text/xml" />
+            <mimeMap fileExtension=".dlm" mimeType="text/dlm" />
+            <mimeMap fileExtension=".doc" mimeType="application/msword" />
+            <mimeMap fileExtension=".docm" mimeType="application/vnd.ms-word.document.macroEnabled.12" />
+            <mimeMap fileExtension=".docx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
+            <mimeMap fileExtension=".dot" mimeType="application/msword" />
+            <mimeMap fileExtension=".dotm" mimeType="application/vnd.ms-word.template.macroEnabled.12" />
+            <mimeMap fileExtension=".dotx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.template" />
+            <mimeMap fileExtension=".dsp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".dtd" mimeType="text/xml" />
+            <mimeMap fileExtension=".dvi" mimeType="application/x-dvi" />
+            <mimeMap fileExtension=".dvr-ms" mimeType="video/x-ms-dvr" />
+            <mimeMap fileExtension=".dwf" mimeType="drawing/x-dwf" />
+            <mimeMap fileExtension=".dwp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".dxr" mimeType="application/x-director" />
+            <mimeMap fileExtension=".eml" mimeType="message/rfc822" />
+            <mimeMap fileExtension=".emz" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
+            <mimeMap fileExtension=".eps" mimeType="application/postscript" />
+            <mimeMap fileExtension=".esd" mimeType="application/vnd.ms-cab-compressed" />
+            <mimeMap fileExtension=".etx" mimeType="text/x-setext" />
+            <mimeMap fileExtension=".evy" mimeType="application/envoy" />
+            <mimeMap fileExtension=".exe" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".exe.config" mimeType="text/xml" />
+            <mimeMap fileExtension=".fdf" mimeType="application/vnd.fdf" />
+            <mimeMap fileExtension=".fif" mimeType="application/fractals" />
+            <mimeMap fileExtension=".fla" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".flr" mimeType="x-world/x-vrml" />
+            <mimeMap fileExtension=".flv" mimeType="video/x-flv" />
+            <mimeMap fileExtension=".gif" mimeType="image/gif" />
+            <mimeMap fileExtension=".glb" mimeType="model/gltf-binary" />
+            <mimeMap fileExtension=".gtar" mimeType="application/x-gtar" />
+            <mimeMap fileExtension=".gz" mimeType="application/x-gzip" />
+            <mimeMap fileExtension=".h" mimeType="text/plain" />
+            <mimeMap fileExtension=".hdf" mimeType="application/x-hdf" />
+            <mimeMap fileExtension=".hdml" mimeType="text/x-hdml" />
+            <mimeMap fileExtension=".hhc" mimeType="application/x-oleobject" />
+            <mimeMap fileExtension=".hhk" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".hhp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".hlp" mimeType="application/winhlp" />
+            <mimeMap fileExtension=".hqx" mimeType="application/mac-binhex40" />
+            <mimeMap fileExtension=".hta" mimeType="application/hta" />
+            <mimeMap fileExtension=".htc" mimeType="text/x-component" />
+            <mimeMap fileExtension=".htm" mimeType="text/html" />
+            <mimeMap fileExtension=".html" mimeType="text/html" />
+            <mimeMap fileExtension=".htt" mimeType="text/webviewhtml" />
+            <mimeMap fileExtension=".hxt" mimeType="text/html" />
+            <mimeMap fileExtension=".ico" mimeType="image/x-icon" />
+            <mimeMap fileExtension=".ics" mimeType="text/calendar" />
+            <mimeMap fileExtension=".ief" mimeType="image/ief" />
+            <mimeMap fileExtension=".iii" mimeType="application/x-iphone" />
+            <mimeMap fileExtension=".inf" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".ins" mimeType="application/x-internet-signup" />
+            <mimeMap fileExtension=".isp" mimeType="application/x-internet-signup" />
+            <mimeMap fileExtension=".IVF" mimeType="video/x-ivf" />
+            <mimeMap fileExtension=".jar" mimeType="application/java-archive" />
+            <mimeMap fileExtension=".java" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".jck" mimeType="application/liquidmotion" />
+            <mimeMap fileExtension=".jcz" mimeType="application/liquidmotion" />
+            <mimeMap fileExtension=".jfif" mimeType="image/pjpeg" />
+            <mimeMap fileExtension=".jpb" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".jpe" mimeType="image/jpeg" />
+            <mimeMap fileExtension=".jpeg" mimeType="image/jpeg" />
+            <mimeMap fileExtension=".jpg" mimeType="image/jpeg" />
+            <mimeMap fileExtension=".js" mimeType="application/javascript" />
+            <mimeMap fileExtension=".json" mimeType="application/json" />
+            <mimeMap fileExtension=".jsonld" mimeType="application/ld+json" />
+            <mimeMap fileExtension=".jsx" mimeType="text/jscript" />
+            <mimeMap fileExtension=".latex" mimeType="application/x-latex" />
+            <mimeMap fileExtension=".less" mimeType="text/css" />
+            <mimeMap fileExtension=".lit" mimeType="application/x-ms-reader" />
+            <mimeMap fileExtension=".lpk" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".lsf" mimeType="video/x-la-asf" />
+            <mimeMap fileExtension=".lsx" mimeType="video/x-la-asf" />
+            <mimeMap fileExtension=".lzh" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".m13" mimeType="application/x-msmediaview" />
+            <mimeMap fileExtension=".m14" mimeType="application/x-msmediaview" />
+            <mimeMap fileExtension=".m1v" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".m2ts" mimeType="video/vnd.dlna.mpeg-tts" />
+            <mimeMap fileExtension=".m3u" mimeType="audio/x-mpegurl" />
+            <mimeMap fileExtension=".m4a" mimeType="audio/mp4" />
+            <mimeMap fileExtension=".m4v" mimeType="video/mp4" />
+            <mimeMap fileExtension=".man" mimeType="application/x-troff-man" />
+            <mimeMap fileExtension=".manifest" mimeType="application/x-ms-manifest" />
+            <mimeMap fileExtension=".map" mimeType="text/plain" />
+            <mimeMap fileExtension=".mdb" mimeType="application/x-msaccess" />
+            <mimeMap fileExtension=".mdp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".me" mimeType="application/x-troff-me" />
+            <mimeMap fileExtension=".mht" mimeType="message/rfc822" />
+            <mimeMap fileExtension=".mhtml" mimeType="message/rfc822" />
+            <mimeMap fileExtension=".mid" mimeType="audio/mid" />
+            <mimeMap fileExtension=".midi" mimeType="audio/mid" />
+            <mimeMap fileExtension=".mix" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".mmf" mimeType="application/x-smaf" />
+            <mimeMap fileExtension=".mno" mimeType="text/xml" />
+            <mimeMap fileExtension=".mny" mimeType="application/x-msmoney" />
+            <mimeMap fileExtension=".mov" mimeType="video/quicktime" />
+            <mimeMap fileExtension=".movie" mimeType="video/x-sgi-movie" />
+            <mimeMap fileExtension=".mp2" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".mp3" mimeType="audio/mpeg" />
+            <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
+            <mimeMap fileExtension=".mp4v" mimeType="video/mp4" />
+            <mimeMap fileExtension=".mpa" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".mpe" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".mpeg" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".mpg" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".mpp" mimeType="application/vnd.ms-project" />
+            <mimeMap fileExtension=".mpv2" mimeType="video/mpeg" />
+            <mimeMap fileExtension=".ms" mimeType="application/x-troff-ms" />
+            <mimeMap fileExtension=".msi" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".mso" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".mvb" mimeType="application/x-msmediaview" />
+            <mimeMap fileExtension=".mvc" mimeType="application/x-miva-compiled" />
+            <mimeMap fileExtension=".nc" mimeType="application/x-netcdf" />
+            <mimeMap fileExtension=".nsc" mimeType="video/x-ms-asf" />
+            <mimeMap fileExtension=".nws" mimeType="message/rfc822" />
+            <mimeMap fileExtension=".ocx" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".oda" mimeType="application/oda" />
+            <mimeMap fileExtension=".odc" mimeType="text/x-ms-odc" />
+            <mimeMap fileExtension=".ods" mimeType="application/oleobject" />
+            <mimeMap fileExtension=".oga" mimeType="audio/ogg" />
+            <mimeMap fileExtension=".ogg" mimeType="video/ogg" />
+            <mimeMap fileExtension=".ogv" mimeType="video/ogg" />
+            <mimeMap fileExtension=".one" mimeType="application/onenote" />
+            <mimeMap fileExtension=".onea" mimeType="application/onenote" />
+            <mimeMap fileExtension=".onetoc" mimeType="application/onenote" />
+            <mimeMap fileExtension=".onetoc2" mimeType="application/onenote" />
+            <mimeMap fileExtension=".onetmp" mimeType="application/onenote" />
+            <mimeMap fileExtension=".onepkg" mimeType="application/onenote" />
+            <mimeMap fileExtension=".osdx" mimeType="application/opensearchdescription+xml" />
+            <mimeMap fileExtension=".otf" mimeType="font/otf" />
+            <mimeMap fileExtension=".p10" mimeType="application/pkcs10" />
+            <mimeMap fileExtension=".p12" mimeType="application/x-pkcs12" />
+            <mimeMap fileExtension=".p7b" mimeType="application/x-pkcs7-certificates" />
+            <mimeMap fileExtension=".p7c" mimeType="application/pkcs7-mime" />
+            <mimeMap fileExtension=".p7m" mimeType="application/pkcs7-mime" />
+            <mimeMap fileExtension=".p7r" mimeType="application/x-pkcs7-certreqresp" />
+            <mimeMap fileExtension=".p7s" mimeType="application/pkcs7-signature" />
+            <mimeMap fileExtension=".pbm" mimeType="image/x-portable-bitmap" />
+            <mimeMap fileExtension=".pcx" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".pcz" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".pdf" mimeType="application/pdf" />
+            <mimeMap fileExtension=".pfb" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".pfm" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".pfx" mimeType="application/x-pkcs12" />
+            <mimeMap fileExtension=".pgm" mimeType="image/x-portable-graymap" />
+            <mimeMap fileExtension=".pko" mimeType="application/vnd.ms-pki.pko" />
+            <mimeMap fileExtension=".pma" mimeType="application/x-perfmon" />
+            <mimeMap fileExtension=".pmc" mimeType="application/x-perfmon" />
+            <mimeMap fileExtension=".pml" mimeType="application/x-perfmon" />
+            <mimeMap fileExtension=".pmr" mimeType="application/x-perfmon" />
+            <mimeMap fileExtension=".pmw" mimeType="application/x-perfmon" />
+            <mimeMap fileExtension=".png" mimeType="image/png" />
+            <mimeMap fileExtension=".pnm" mimeType="image/x-portable-anymap" />
+            <mimeMap fileExtension=".pnz" mimeType="image/png" />
+            <mimeMap fileExtension=".pot" mimeType="application/vnd.ms-powerpoint" />
+            <mimeMap fileExtension=".potm" mimeType="application/vnd.ms-powerpoint.template.macroEnabled.12" />
+            <mimeMap fileExtension=".potx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.template" />
+            <mimeMap fileExtension=".ppam" mimeType="application/vnd.ms-powerpoint.addin.macroEnabled.12" />
+            <mimeMap fileExtension=".ppm" mimeType="image/x-portable-pixmap" />
+            <mimeMap fileExtension=".pps" mimeType="application/vnd.ms-powerpoint" />
+            <mimeMap fileExtension=".ppsm" mimeType="application/vnd.ms-powerpoint.slideshow.macroEnabled.12" />
+            <mimeMap fileExtension=".ppsx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slideshow" />
+            <mimeMap fileExtension=".ppt" mimeType="application/vnd.ms-powerpoint" />
+            <mimeMap fileExtension=".pptm" mimeType="application/vnd.ms-powerpoint.presentation.macroEnabled.12" />
+            <mimeMap fileExtension=".pptx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" />
+            <mimeMap fileExtension=".prf" mimeType="application/pics-rules" />
+            <mimeMap fileExtension=".prm" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".prx" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".ps" mimeType="application/postscript" />
+            <mimeMap fileExtension=".psd" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".psm" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".psp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".pub" mimeType="application/x-mspublisher" />
+            <mimeMap fileExtension=".qt" mimeType="video/quicktime" />
+            <mimeMap fileExtension=".qtl" mimeType="application/x-quicktimeplayer" />
+            <mimeMap fileExtension=".qxd" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".ra" mimeType="audio/x-pn-realaudio" />
+            <mimeMap fileExtension=".ram" mimeType="audio/x-pn-realaudio" />
+            <mimeMap fileExtension=".rar" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".ras" mimeType="image/x-cmu-raster" />
+            <mimeMap fileExtension=".rf" mimeType="image/vnd.rn-realflash" />
+            <mimeMap fileExtension=".rgb" mimeType="image/x-rgb" />
+            <mimeMap fileExtension=".rm" mimeType="application/vnd.rn-realmedia" />
+            <mimeMap fileExtension=".rmi" mimeType="audio/mid" />
+            <mimeMap fileExtension=".roff" mimeType="application/x-troff" />
+            <mimeMap fileExtension=".rpm" mimeType="audio/x-pn-realaudio-plugin" />
+            <mimeMap fileExtension=".rtf" mimeType="application/rtf" />
+            <mimeMap fileExtension=".rtx" mimeType="text/richtext" />
+            <mimeMap fileExtension=".scd" mimeType="application/x-msschedule" />
+            <mimeMap fileExtension=".sct" mimeType="text/scriptlet" />
+            <mimeMap fileExtension=".sea" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".setpay" mimeType="application/set-payment-initiation" />
+            <mimeMap fileExtension=".setreg" mimeType="application/set-registration-initiation" />
+            <mimeMap fileExtension=".sgml" mimeType="text/sgml" />
+            <mimeMap fileExtension=".sh" mimeType="application/x-sh" />
+            <mimeMap fileExtension=".shar" mimeType="application/x-shar" />
+            <mimeMap fileExtension=".sit" mimeType="application/x-stuffit" />
+            <mimeMap fileExtension=".sldm" mimeType="application/vnd.ms-powerpoint.slide.macroEnabled.12" />
+            <mimeMap fileExtension=".sldx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slide" />
+            <mimeMap fileExtension=".smd" mimeType="audio/x-smd" />
+            <mimeMap fileExtension=".smi" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".smx" mimeType="audio/x-smd" />
+            <mimeMap fileExtension=".smz" mimeType="audio/x-smd" />
+            <mimeMap fileExtension=".snd" mimeType="audio/basic" />
+            <mimeMap fileExtension=".snp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".spc" mimeType="application/x-pkcs7-certificates" />
+            <mimeMap fileExtension=".spl" mimeType="application/futuresplash" />
+            <mimeMap fileExtension=".spx" mimeType="audio/ogg" />
+            <mimeMap fileExtension=".src" mimeType="application/x-wais-source" />
+            <mimeMap fileExtension=".ssm" mimeType="application/streamingmedia" />
+            <mimeMap fileExtension=".sst" mimeType="application/vnd.ms-pki.certstore" />
+            <mimeMap fileExtension=".stl" mimeType="application/vnd.ms-pki.stl" />
+            <mimeMap fileExtension=".sv4cpio" mimeType="application/x-sv4cpio" />
+            <mimeMap fileExtension=".sv4crc" mimeType="application/x-sv4crc" />
+            <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
+            <mimeMap fileExtension=".svgz" mimeType="image/svg+xml" />
+            <mimeMap fileExtension=".swf" mimeType="application/x-shockwave-flash" />
+            <mimeMap fileExtension=".t" mimeType="application/x-troff" />
+            <mimeMap fileExtension=".tar" mimeType="application/x-tar" />
+            <mimeMap fileExtension=".tcl" mimeType="application/x-tcl" />
+            <mimeMap fileExtension=".tex" mimeType="application/x-tex" />
+            <mimeMap fileExtension=".texi" mimeType="application/x-texinfo" />
+            <mimeMap fileExtension=".texinfo" mimeType="application/x-texinfo" />
+            <mimeMap fileExtension=".tgz" mimeType="application/x-compressed" />
+            <mimeMap fileExtension=".thmx" mimeType="application/vnd.ms-officetheme" />
+            <mimeMap fileExtension=".thn" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".tif" mimeType="image/tiff" />
+            <mimeMap fileExtension=".tiff" mimeType="image/tiff" />
+            <mimeMap fileExtension=".toc" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".tr" mimeType="application/x-troff" />
+            <mimeMap fileExtension=".trm" mimeType="application/x-msterminal" />
+            <mimeMap fileExtension=".ts" mimeType="video/vnd.dlna.mpeg-tts" />
+            <mimeMap fileExtension=".tsv" mimeType="text/tab-separated-values" />
+            <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".tts" mimeType="video/vnd.dlna.mpeg-tts" />
+            <mimeMap fileExtension=".txt" mimeType="text/plain" />
+            <mimeMap fileExtension=".u32" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".uls" mimeType="text/iuls" />
+            <mimeMap fileExtension=".ustar" mimeType="application/x-ustar" />
+            <mimeMap fileExtension=".vbs" mimeType="text/vbscript" />
+            <mimeMap fileExtension=".vcf" mimeType="text/x-vcard" />
+            <mimeMap fileExtension=".vcs" mimeType="text/plain" />
+            <mimeMap fileExtension=".vdx" mimeType="application/vnd.ms-visio.viewer" />
+            <mimeMap fileExtension=".vml" mimeType="text/xml" />
+            <mimeMap fileExtension=".vsd" mimeType="application/vnd.visio" />
+            <mimeMap fileExtension=".vss" mimeType="application/vnd.visio" />
+            <mimeMap fileExtension=".vst" mimeType="application/vnd.visio" />
+            <mimeMap fileExtension=".vsto" mimeType="application/x-ms-vsto" />
+            <mimeMap fileExtension=".vsw" mimeType="application/vnd.visio" />
+            <mimeMap fileExtension=".vsx" mimeType="application/vnd.visio" />
+            <mimeMap fileExtension=".vtx" mimeType="application/vnd.visio" />
+            <mimeMap fileExtension=".wasm" mimeType="application/wasm" />
+            <mimeMap fileExtension=".wav" mimeType="audio/wav" />
+            <mimeMap fileExtension=".wax" mimeType="audio/x-ms-wax" />
+            <mimeMap fileExtension=".wbmp" mimeType="image/vnd.wap.wbmp" />
+            <mimeMap fileExtension=".wcm" mimeType="application/vnd.ms-works" />
+            <mimeMap fileExtension=".wdb" mimeType="application/vnd.ms-works" />
+            <mimeMap fileExtension=".webm" mimeType="video/webm" />
+            <mimeMap fileExtension=".wks" mimeType="application/vnd.ms-works" />
+            <mimeMap fileExtension=".wm" mimeType="video/x-ms-wm" />
+            <mimeMap fileExtension=".wma" mimeType="audio/x-ms-wma" />
+            <mimeMap fileExtension=".wmd" mimeType="application/x-ms-wmd" />
+            <mimeMap fileExtension=".wmf" mimeType="application/x-msmetafile" />
+            <mimeMap fileExtension=".wml" mimeType="text/vnd.wap.wml" />
+            <mimeMap fileExtension=".wmlc" mimeType="application/vnd.wap.wmlc" />
+            <mimeMap fileExtension=".wmls" mimeType="text/vnd.wap.wmlscript" />
+            <mimeMap fileExtension=".wmlsc" mimeType="application/vnd.wap.wmlscriptc" />
+            <mimeMap fileExtension=".wmp" mimeType="video/x-ms-wmp" />
+            <mimeMap fileExtension=".wmv" mimeType="video/x-ms-wmv" />
+            <mimeMap fileExtension=".wmx" mimeType="video/x-ms-wmx" />
+            <mimeMap fileExtension=".wmz" mimeType="application/x-ms-wmz" />
+            <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
+            <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
+            <mimeMap fileExtension=".wps" mimeType="application/vnd.ms-works" />
+            <mimeMap fileExtension=".wri" mimeType="application/x-mswrite" />
+            <mimeMap fileExtension=".wrl" mimeType="x-world/x-vrml" />
+            <mimeMap fileExtension=".wrz" mimeType="x-world/x-vrml" />
+            <mimeMap fileExtension=".wsdl" mimeType="text/xml" />
+            <mimeMap fileExtension=".wtv" mimeType="video/x-ms-wtv" />
+            <mimeMap fileExtension=".wvx" mimeType="video/x-ms-wvx" />
+            <mimeMap fileExtension=".x" mimeType="application/directx" />
+            <mimeMap fileExtension=".xaf" mimeType="x-world/x-vrml" />
+            <mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" />
+            <mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" />
+            <mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" />
+            <mimeMap fileExtension=".xbm" mimeType="image/x-xbitmap" />
+            <mimeMap fileExtension=".xdr" mimeType="text/plain" />
+            <mimeMap fileExtension=".xht" mimeType="application/xhtml+xml" />
+            <mimeMap fileExtension=".xhtml" mimeType="application/xhtml+xml" />
+            <mimeMap fileExtension=".xla" mimeType="application/vnd.ms-excel" />
+            <mimeMap fileExtension=".xlam" mimeType="application/vnd.ms-excel.addin.macroEnabled.12" />
+            <mimeMap fileExtension=".xlc" mimeType="application/vnd.ms-excel" />
+            <mimeMap fileExtension=".xlm" mimeType="application/vnd.ms-excel" />
+            <mimeMap fileExtension=".xls" mimeType="application/vnd.ms-excel" />
+            <mimeMap fileExtension=".xlsb" mimeType="application/vnd.ms-excel.sheet.binary.macroEnabled.12" />
+            <mimeMap fileExtension=".xlsm" mimeType="application/vnd.ms-excel.sheet.macroEnabled.12" />
+            <mimeMap fileExtension=".xlsx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
+            <mimeMap fileExtension=".xlt" mimeType="application/vnd.ms-excel" />
+            <mimeMap fileExtension=".xltm" mimeType="application/vnd.ms-excel.template.macroEnabled.12" />
+            <mimeMap fileExtension=".xltx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.template" />
+            <mimeMap fileExtension=".xlw" mimeType="application/vnd.ms-excel" />
+            <mimeMap fileExtension=".xml" mimeType="text/xml" />
+            <mimeMap fileExtension=".xof" mimeType="x-world/x-vrml" />
+            <mimeMap fileExtension=".xpm" mimeType="image/x-xpixmap" />
+            <mimeMap fileExtension=".xps" mimeType="application/vnd.ms-xpsdocument" />
+            <mimeMap fileExtension=".xsd" mimeType="text/xml" />
+            <mimeMap fileExtension=".xsf" mimeType="text/xml" />
+            <mimeMap fileExtension=".xsl" mimeType="text/xml" />
+            <mimeMap fileExtension=".xslt" mimeType="text/xml" />
+            <mimeMap fileExtension=".xsn" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".xtp" mimeType="application/octet-stream" />
+            <mimeMap fileExtension=".xwd" mimeType="image/x-xwindowdump" />
+            <mimeMap fileExtension=".z" mimeType="application/x-compress" />
+            <mimeMap fileExtension=".zip" mimeType="application/x-zip-compressed" />
+        </staticContent>
+
+        <tracing>
+
+            <traceFailedRequests>
+                <add path="*">
+                    <traceAreas>
+                        <add provider="ASP" verbosity="Verbose" />
+                        <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
+                        <add provider="ISAPI Extension" verbosity="Verbose" />
+                        <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,Rewrite,WebSocket" verbosity="Verbose" />
+                    </traceAreas>
+                    <failureDefinitions statusCodes="200-999" />
+                </add>
+            </traceFailedRequests>
+
+             <traceProviderDefinitions>
+                <add name="WWW Server" guid="{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}">
+                    <areas>
+                        <clear />
+                        <add name="Authentication" value="2" />
+                        <add name="Security" value="4" />
+                        <add name="Filter" value="8" />
+                        <add name="StaticFile" value="16" />
+                        <add name="CGI" value="32" />
+                        <add name="Compression" value="64" />
+                        <add name="Cache" value="128" />
+                        <add name="RequestNotifications" value="256" />
+                        <add name="Module" value="512" />
+                        <add name="Rewrite" value="1024" />
+                        <add name="FastCGI" value="4096" />
+                        <add name="WebSocket" value="16384" />
+                    </areas>
+                </add>
+                <add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}">
+                    <areas>
+                        <clear />
+                    </areas>
+                </add>
+                <add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}">
+                    <areas>
+                        <clear />
+                    </areas>
+                </add>
+                <add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}">
+                    <areas>
+                        <add name="Infrastructure" value="1" />
+                        <add name="Module" value="2" />
+                        <add name="Page" value="4" />
+                        <add name="AppServices" value="8" />
+                    </areas>
+                </add>
+            </traceProviderDefinitions>
+
+        </tracing>
+
+        <urlCompression />
+
+        <validation />
+        <webdav>
+            <globalSettings>
+                <propertyStores>
+                    <add name="webdav_simple_prop" image="%IIS_BIN%\webdav_simple_prop.dll" image32="%IIS_BIN%\webdav_simple_prop.dll" />
+                </propertyStores>
+                <lockStores>
+                    <add name="webdav_simple_lock" image="%IIS_BIN%\webdav_simple_lock.dll" image32="%IIS_BIN%\webdav_simple_lock.dll" />
+                </lockStores>
+
+            </globalSettings>
+            <authoring>
+                <locks enabled="true" lockStore="webdav_simple_lock" />
+            </authoring>
+            <authoringRules />
+        </webdav>
+        <webSocket />
+        <applicationInitialization />
+
+    </system.webServer>
+    <location path="" overrideMode="Allow">
+        <system.webServer>
+            <modules>
+                <add name="IsapiFilterModule" lockItem="true" />
+                <add name="BasicAuthenticationModule" lockItem="true" />
+                <add name="IsapiModule" lockItem="true" />
+                <add name="HttpLoggingModule" lockItem="true" />
+                <add name="DynamicCompressionModule" lockItem="true" />
+                <add name="StaticCompressionModule" lockItem="true" />
+                <add name="DefaultDocumentModule" lockItem="true" />
+                <add name="DirectoryListingModule" lockItem="true" />
+                <add name="ProtocolSupportModule" lockItem="true" />
+                <add name="HttpRedirectionModule" lockItem="true" />
+                <add name="ServerSideIncludeModule" lockItem="true" />
+                <add name="StaticFileModule" lockItem="true" />
+                <add name="AnonymousAuthenticationModule" lockItem="true" />
+                <add name="CertificateMappingAuthenticationModule" lockItem="true" />
+                <add name="UrlAuthorizationModule" lockItem="true" />
+                <add name="WindowsAuthenticationModule" lockItem="true" />
+                <add name="IISCertificateMappingAuthenticationModule" lockItem="true" />
+                <add name="WebMatrixSupportModule" lockItem="true" />
+                <add name="IpRestrictionModule" lockItem="true" />
+                <add name="DynamicIpRestrictionModule" lockItem="true" />
+                <add name="RequestFilteringModule" lockItem="true" />
+                <add name="CustomLoggingModule" lockItem="true" />
+                <add name="CustomErrorModule" lockItem="true" />
+                <add name="FailedRequestsTracingModule" lockItem="true" />
+                <add name="CgiModule" lockItem="true" />
+                <add name="FastCgiModule" lockItem="true" />
+<!--                <add name="WebDAVModule" /> -->
+                <add name="RewriteModule" /> 
+                <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" preCondition="managedHandler" />
+                <add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="managedHandler" />
+                <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="managedHandler" />
+                <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />
+                <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" />
+                <add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" />
+                <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="managedHandler" />
+                <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" preCondition="managedHandler" />
+                <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" preCondition="managedHandler" />
+                <add name="Profile" type="System.Web.Profile.ProfileModule" preCondition="managedHandler" />
+                <add name="UrlMappingsModule" type="System.Web.UrlMappingsModule" preCondition="managedHandler" />
+                <add name="ApplicationInitializationModule" lockItem="true" />
+                <add name="WebSocketModule" lockItem="true" />
+                <add name="ServiceModel-4.0" type="System.ServiceModel.Activation.ServiceHttpModule,System.ServiceModel.Activation,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" />
+                <add name="ConfigurationValidationModule" lockItem="true" />
+                <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="managedHandler,runtimeVersionv4.0" />
+                <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" />
+            </modules>
+            <handlers accessPolicy="Read, Script">
+<!--                <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> -->
+                <add name="AXD-ISAPI-4.0_64bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="PageHandlerFactory-ISAPI-4.0_64bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="WebServiceHandlerFactory-ISAPI-4.0_64bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_64bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_64bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="svc-ISAPI-4.0_64bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
+                <add name="rules-ISAPI-4.0_64bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
+                <add name="xoml-ISAPI-4.0_64bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
+                <add name="xamlx-ISAPI-4.0_64bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
+                <add name="aspq-ISAPI-4.0_64bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="cshtm-ISAPI-4.0_64bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="cshtml-ISAPI-4.0_64bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="vbhtm-ISAPI-4.0_64bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="vbhtml-ISAPI-4.0_64bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="AXD-ISAPI-4.0_32bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="SimpleHandlerFactory-ISAPI-4.0_32bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="WebServiceHandlerFactory-ISAPI-4.0_32bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_32bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="svc-ISAPI-4.0_32bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
+                <add name="rules-ISAPI-4.0_32bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
+                <add name="xoml-ISAPI-4.0_32bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
+                <add name="xamlx-ISAPI-4.0_32bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
+                <add name="aspq-ISAPI-4.0_32bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="cshtm-ISAPI-4.0_32bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="cshtml-ISAPI-4.0_32bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="vbhtm-ISAPI-4.0_32bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="vbhtml-ISAPI-4.0_32bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="TraceHandler-Integrated-4.0" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="WebAdminHandler-Integrated-4.0" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="HttpRemotingHandlerFactory-rem-Integrated-4.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="HttpRemotingHandlerFactory-soap-Integrated-4.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="rules-Integrated-4.0" path="*.rules" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="xoml-Integrated-4.0" path="*.xoml" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="xamlx-Integrated-4.0" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="aspq-Integrated-4.0" path="*.aspq" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="cshtm-Integrated-4.0" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="cshtml-Integrated-4.0" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="vbhtm-Integrated-4.0" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="vbhtml-Integrated-4.0" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="ScriptHandlerFactoryAppServices-Integrated-4.0" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="ScriptResourceIntegrated-4.0" path="*ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" />
+                <add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" />
+                <add name="SecurityCertificate" path="*.cer" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" />
+                <add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
+                <add name="TraceHandler-Integrated" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="WebAdminHandler-Integrated" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory,System.Web.Services,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="HttpRemotingHandlerFactory-rem-Integrated" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="HttpRemotingHandlerFactory-soap-Integrated" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
+                <add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
+                <add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
+                <add name="SimpleHandlerFactory-ISAPI-2.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
+                <add name="WebServiceHandlerFactory-ISAPI-2.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
+                <add name="AXD-ISAPI-2.0-64" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
+                <add name="PageHandlerFactory-ISAPI-2.0-64" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
+                <add name="SimpleHandlerFactory-ISAPI-2.0-64" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
+                <add name="WebServiceHandlerFactory-ISAPI-2.0-64" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0-64" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
+                <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0-64" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />
+                <add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
+                <add name="SSINC-stm" path="*.stm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
+                <add name="SSINC-shtm" path="*.shtm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
+                <add name="SSINC-shtml" path="*.shtml" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />
+                <add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" />
+                <add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" />
+                <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
+                <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
+                <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />
+                <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
+            </handlers>
+        </system.webServer>
+    </location>
+</configuration>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/v17/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/v17/DocumentLayout.backup.json"
new file mode 100644
index 0000000..f6ec3cf
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/v17/DocumentLayout.backup.json"
@@ -0,0 +1,119 @@
+{
+  "Version": 1,
+  "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\",
+  "Documents": [
+    {
+      "AbsoluteMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\print\\print\\print\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|solutionrelative:print\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\print\\print\\print\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|solutionrelative:print\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\print\\print\\print\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|solutionrelative:print\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\print\\print\\print\\controllers\\printcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|solutionrelative:print\\controllers\\printcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\print\\print\\print\\print.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
+      "RelativeMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|solutionrelative:print\\print.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files\\dotnet\\sdk\\9.0.305\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.NET.Sdk.DefaultItems.Shared.targets||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
+    }
+  ],
+  "DocumentGroupContainers": [
+    {
+      "Orientation": 0,
+      "VerticalTabListWidth": 256,
+      "DocumentGroups": [
+        {
+          "DockedWidth": 200,
+          "SelectedChildIndex": 5,
+          "Children": [
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "launchSettings.json",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Properties\\launchSettings.json",
+              "RelativeDocumentMoniker": "Print\\Properties\\launchSettings.json",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Properties\\launchSettings.json",
+              "RelativeToolTip": "Print\\Properties\\launchSettings.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAdAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-10-27T15:18:55.248Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "appsettings.json",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\appsettings.json",
+              "RelativeDocumentMoniker": "Print\\appsettings.json",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\appsettings.json",
+              "RelativeToolTip": "Print\\appsettings.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAYAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-10-27T15:10:05.634Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "Print",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Print.csproj",
+              "RelativeDocumentMoniker": "Print\\Print.csproj",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Print.csproj",
+              "RelativeToolTip": "Print\\Print.csproj",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwMAAAAjAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
+              "WhenOpened": "2025-10-27T15:05:26.959Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 5,
+              "Title": "Microsoft.NET.Sdk.DefaultItems.Shared.targets",
+              "DocumentMoniker": "C:\\Program Files\\dotnet\\sdk\\9.0.305\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.NET.Sdk.DefaultItems.Shared.targets",
+              "ToolTip": "C:\\Program Files\\dotnet\\sdk\\9.0.305\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.NET.Sdk.DefaultItems.Shared.targets",
+              "ViewState": "AgIAANgAAAAAAAAAAAAAAPkAAAAEAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003801|",
+              "WhenOpened": "2025-10-27T14:59:32.084Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
+              "Title": "PrintController.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Controllers\\PrintController.cs",
+              "RelativeDocumentMoniker": "Print\\Controllers\\PrintController.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Controllers\\PrintController.cs",
+              "RelativeToolTip": "Print\\Controllers\\PrintController.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAAQAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-27T13:23:53.618Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "Program.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Program.cs",
+              "RelativeDocumentMoniker": "Print\\Program.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Program.cs*",
+              "RelativeToolTip": "Print\\Program.cs*",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABQAAAARAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-27T13:22:35.704Z",
+              "EditorCaption": ""
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/v17/DocumentLayout.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/v17/DocumentLayout.json"
new file mode 100644
index 0000000..61dc947
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/.vs/Print/v17/DocumentLayout.json"
@@ -0,0 +1,119 @@
+{
+  "Version": 1,
+  "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\",
+  "Documents": [
+    {
+      "AbsoluteMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\print\\print\\print\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|solutionrelative:print\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\print\\print\\print\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+      "RelativeMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|solutionrelative:print\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\print\\print\\print\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|solutionrelative:print\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\print\\print\\print\\controllers\\printcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|solutionrelative:print\\controllers\\printcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\print\\print\\print\\print.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|",
+      "RelativeMoniker": "D:0:0:{4445573A-3465-4A75-A024-D5D47B85A1BD}|Print\\Print.csproj|solutionrelative:print\\print.csproj||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Program Files\\dotnet\\sdk\\9.0.305\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.NET.Sdk.DefaultItems.Shared.targets||{FA3CD31E-987B-443A-9B81-186104E8DAC1}|"
+    }
+  ],
+  "DocumentGroupContainers": [
+    {
+      "Orientation": 0,
+      "VerticalTabListWidth": 256,
+      "DocumentGroups": [
+        {
+          "DockedWidth": 200,
+          "SelectedChildIndex": 0,
+          "Children": [
+            {
+              "$type": "Document",
+              "DocumentIndex": 0,
+              "Title": "launchSettings.json",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Properties\\launchSettings.json",
+              "RelativeDocumentMoniker": "Print\\Properties\\launchSettings.json",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Properties\\launchSettings.json",
+              "RelativeToolTip": "Print\\Properties\\launchSettings.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAuAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-10-27T15:18:55.248Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 1,
+              "Title": "appsettings.json",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\appsettings.json",
+              "RelativeDocumentMoniker": "Print\\appsettings.json",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\appsettings.json",
+              "RelativeToolTip": "Print\\appsettings.json",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAYAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+              "WhenOpened": "2025-10-27T15:10:05.634Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
+              "Title": "Print",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Print.csproj",
+              "RelativeDocumentMoniker": "Print\\Print.csproj",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Print.csproj",
+              "RelativeToolTip": "Print\\Print.csproj",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvwMAAAAjAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
+              "WhenOpened": "2025-10-27T15:05:26.959Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 5,
+              "Title": "Microsoft.NET.Sdk.DefaultItems.Shared.targets",
+              "DocumentMoniker": "C:\\Program Files\\dotnet\\sdk\\9.0.305\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.NET.Sdk.DefaultItems.Shared.targets",
+              "ToolTip": "C:\\Program Files\\dotnet\\sdk\\9.0.305\\Sdks\\Microsoft.NET.Sdk\\targets\\Microsoft.NET.Sdk.DefaultItems.Shared.targets",
+              "ViewState": "AgIAANgAAAAAAAAAAAAAAPkAAAAEAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003801|",
+              "WhenOpened": "2025-10-27T14:59:32.084Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 3,
+              "Title": "PrintController.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Controllers\\PrintController.cs",
+              "RelativeDocumentMoniker": "Print\\Controllers\\PrintController.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Controllers\\PrintController.cs",
+              "RelativeToolTip": "Print\\Controllers\\PrintController.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAABgAAAAQAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-27T13:23:53.618Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "Program.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Program.cs",
+              "RelativeDocumentMoniker": "Print\\Program.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\Print\\Print\\Print\\Program.cs",
+              "RelativeToolTip": "Print\\Program.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAA8AAAAXAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-27T13:22:35.704Z",
+              "EditorCaption": ""
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print.sln" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print.sln"
new file mode 100644
index 0000000..f43258e
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print.sln"
@@ -0,0 +1,25 @@
+锘�
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.14.36518.9 d17.14
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Print", "Print\Print.csproj", "{4445573A-3465-4A75-A024-D5D47B85A1BD}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{4445573A-3465-4A75-A024-D5D47B85A1BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4445573A-3465-4A75-A024-D5D47B85A1BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4445573A-3465-4A75-A024-D5D47B85A1BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4445573A-3465-4A75-A024-D5D47B85A1BD}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {697A1DD9-EEEB-4013-BE71-204D14855F47}
+	EndGlobalSection
+EndGlobal
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/Controllers/PrintController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/Controllers/PrintController.cs"
new file mode 100644
index 0000000..258b1eb
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/Controllers/PrintController.cs"
@@ -0,0 +1,111 @@
+锘縰sing FastReport;
+using FastReport.Barcode;
+using FastReport.Table;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+
+namespace Print.Controllers
+{
+    [ApiController]
+    [Route("[controller]")]
+    public class PrintController : Controller
+    {//{
+    //    private readonly IPrintService _print;
+    //    public PrintController(IPrintService print)
+    //    {
+    //        _print = print;
+    //    }
+        [HttpGet, HttpPost, Route("PrintInboundOrder"), AllowAnonymous]
+        public object PrintInboundOrder([FromBody] InboundOrder inbound)
+        {
+            try
+            {
+                string ReportPathmater = System.IO.Directory.GetCurrentDirectory();
+                string MFile = string.Empty;
+                MFile = ReportPathmater + "\\frx\\MaterMode.frx";
+                Report report = new Report();
+                report.Load(MFile);
+                report.PrintSettings.ShowDialog = false;
+                System.Drawing.Printing.PrinterSettings oitem = new System.Drawing.Printing.PrinterSettings();
+                BarcodeObject OrderNoObj = report.FindObject("OrderNo") as BarcodeObject;
+                if (OrderNoObj != null)
+                {
+                    OrderNoObj.Text = inbound.OrderNo;
+                }
+                TableCell UpperOrderNoObj = report.FindObject("UpperOrderNo") as TableCell;
+                if (UpperOrderNoObj != null)
+                {
+                    UpperOrderNoObj.Text = inbound.UpperOrderNo;
+                }
+                TableCell WarehouseNameObj = report.FindObject("WarehouseName") as TableCell;
+                if (WarehouseNameObj != null)
+                {
+                    WarehouseNameObj.Text = inbound.WarehouseName;
+                }
+                TableCell MaterialNoObj = report.FindObject("MaterialNo") as TableCell;
+                if (MaterialNoObj != null)
+                {
+                    MaterialNoObj.Text = inbound.MaterialNo;
+                }
+                TableCell MaterialNameObj = report.FindObject("MaterialName") as TableCell;
+                if (MaterialNameObj != null)
+                {
+                    MaterialNameObj.Text = inbound.MaterialName;
+                }
+                TableCell SpecsObj = report.FindObject("Specs") as TableCell;
+                if (SpecsObj != null)
+                {
+                    SpecsObj.Text = inbound.Specs;
+                }
+                TableCell UnitObj = report.FindObject("Unit") as TableCell;
+                if (UnitObj != null)
+                {
+                    UnitObj.Text = inbound.Unit;
+                }
+                TableCell QuantityObj = report.FindObject("Quantity") as TableCell;
+                if (QuantityObj != null)
+                {
+                    QuantityObj.Text = inbound.Quantity.ToString();
+                }
+                TableCell ProductDrawingNumberObj = report.FindObject("ProductDrawingNumber") as TableCell;
+                if (ProductDrawingNumberObj != null)
+                {
+                    ProductDrawingNumberObj.Text = inbound.ProductDrawingNumber;
+                }
+                TableCell DatetimeObj = report.FindObject("Datetime") as TableCell;
+                if (DatetimeObj != null)
+                {
+                    DatetimeObj.Text = inbound.Datetime;
+                }
+                TableCell WeightObj = report.FindObject("Weight") as TableCell;
+                if (WeightObj != null)
+                {
+                    WeightObj.Text = inbound.Weight.ToString();
+                }
+                report.Print();
+                report.Dispose();
+                return true;
+                return new { code = 200, status = false };
+            }
+            catch (Exception ex)
+            {
+                return ex.Message;
+            }
+        }
+        public class InboundOrder
+        {
+            public string OrderNo { get; set; }
+            public string UpperOrderNo { get; set; }
+            public string WarehouseName { get; set; }
+            public string MaterialNo { get; set; }
+            public string MaterialName { get; set; }
+            public string Specs { get; set; }
+            public string Unit { get; set; }
+            public decimal Quantity { get; set; }
+            public string ProductDrawingNumber { get; set; }
+            public string Datetime { get; set; }
+            public decimal Weight { get; set; }
+        }
+    }
+    
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/Print.csproj" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/Print.csproj"
new file mode 100644
index 0000000..3193781
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/Print.csproj"
@@ -0,0 +1,19 @@
+锘�<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0-windows</TargetFramework>
+    <Nullable>enable</Nullable>
+    <ImplicitUsings>enable</ImplicitUsings>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="FastReport.Net.Demo" Version="2026.1.2" />
+    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Folder Include="frx\" />
+  </ItemGroup>
+
+	
+</Project>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/Program.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/Program.cs"
new file mode 100644
index 0000000..abb13ad
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/Program.cs"
@@ -0,0 +1,22 @@
+using FastReport.DataVisualization.Charting;
+
+var builder = WebApplication.CreateBuilder(args);
+
+builder.Services.AddControllers();
+builder.Services.AddEndpointsApiExplorer();
+builder.Services.AddSwaggerGen();
+var app = builder.Build();
+
+
+app.UseSwagger().UseSwaggerUI(c =>
+{
+    c.SwaggerEndpoint("/swagger/v1/swagger.json", "API V1");
+    c.RoutePrefix = ""; 
+});
+app.UseHttpsRedirection();
+
+app.UseAuthorization();
+
+app.MapControllers();
+app.UseRouting();
+app.Run();
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/Properties/launchSettings.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/Properties/launchSettings.json"
new file mode 100644
index 0000000..339e638
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/Properties/launchSettings.json"
@@ -0,0 +1,31 @@
+锘縶
+  "$schema": "https://json.schemastore.org/launchsettings.json",
+  "iisSettings": {
+    "windowsAuthentication": false,
+    "anonymousAuthentication": true,
+    "iisExpress": {
+      "applicationUrl": "http://localhost:39740",
+      "sslPort": 0
+    }
+  },
+  "profiles": {
+    "Print": {
+      "commandName": "Project",
+      "dotnetRunMessages": true,
+      "launchBrowser": true,
+      //"launchUrl": "swagger",
+      "applicationUrl": "http://localhost:5230",
+      "environmentVariables": {
+        "ASPNETCORE_ENVIRONMENT": "Development"
+      }
+    },
+    "IIS Express": {
+      "commandName": "IISExpress",
+      "launchBrowser": true,
+      //"launchUrl": "swagger",
+      "environmentVariables": {
+        "ASPNETCORE_ENVIRONMENT": "Development"
+      }
+    }
+  }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/appsettings.Development.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/appsettings.Development.json"
new file mode 100644
index 0000000..0c208ae
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/appsettings.Development.json"
@@ -0,0 +1,8 @@
+{
+  "Logging": {
+    "LogLevel": {
+      "Default": "Information",
+      "Microsoft.AspNetCore": "Warning"
+    }
+  }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/appsettings.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/appsettings.json"
new file mode 100644
index 0000000..bb8ce9a
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/appsettings.json"
@@ -0,0 +1,10 @@
+{
+  "Logging": {
+    "LogLevel": {
+      "Default": "Information",
+      "Microsoft.AspNetCore": "Warning"
+    }
+  },
+  "AllowedHosts": "*",
+  "urls": "http://*:8098"
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/frx/InboundOrder.frx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/frx/InboundOrder.frx"
new file mode 100644
index 0000000..3823db2
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/frx/InboundOrder.frx"
@@ -0,0 +1,97 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Report ScriptLanguage="CSharp" ReportInfo.Created="10/27/2025 21:29:39" ReportInfo.Modified="10/27/2025 22:05:20" ReportInfo.CreatorVersion="2013.2.5.0">
+  <Dictionary/>
+  <ReportPage Name="Page1">
+    <ReportTitleBand Name="ReportTitle1" Width="718.2" Height="434.7">
+      <TableObject Name="Table1" Width="340.2" Height="368.55" Border.Lines="All">
+        <TableColumn Name="Column1" Width="60.48"/>
+        <TableColumn Name="Column2" Width="60.48"/>
+        <TableColumn Name="Column3" Width="60.48"/>
+        <TableColumn Name="Column4" Width="69.93"/>
+        <TableColumn Name="Column5" Width="88.83"/>
+        <TableRow Name="Row1" Height="60.48">
+          <TableCell Name="Cell1" Border.Lines="All" Font="瀹嬩綋, 9pt" ColSpan="2" RowSpan="3">
+            <BarcodeObject Name="OrderNo" Width="116" Height="134" Barcode="QR Code" Barcode.ErrorCorrection="L" Barcode.Encoding="UTF8" Barcode.QuietZone="true"/>
+          </TableCell>
+          <TableCell Name="Cell2" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell3" Border.Lines="All" Text="璁㈠崟:" VertAlign="Center" Font="寰蒋闆呴粦, 12pt" RowSpan="2"/>
+          <TableCell Name="UpperOrderNo" Border.Lines="All" Font="瀹嬩綋, 9pt" ColSpan="2" RowSpan="2"/>
+          <TableCell Name="Cell5" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row2" Height="32.13">
+          <TableCell Name="Cell6" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell7" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell8" Text="浠撳簱锛�" HorzAlign="Center" VertAlign="Center" Font="寰蒋闆呴粦, 12pt"/>
+          <TableCell Name="Cell9" Font="瀹嬩綋, 9pt" ColSpan="2"/>
+          <TableCell Name="Cell10" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row3" Height="41.58">
+          <TableCell Name="Cell11" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell12" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell13" Border.Lines="All" Text="浠撳簱锛�" VertAlign="Center" Font="寰蒋闆呴粦, 12pt"/>
+          <TableCell Name="WarehouseName" Border.Lines="All" Font="瀹嬩綋, 9pt" ColSpan="2"/>
+          <TableCell Name="Cell15" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row4" Height="32.13">
+          <TableCell Name="Cell16" Border.Lines="All" Text="鏂欏彿锛�" VertAlign="Center" Font="寰蒋闆呴粦, 12pt"/>
+          <TableCell Name="MaterialNo" Border.Lines="All" Font="瀹嬩綋, 9pt" ColSpan="4"/>
+          <TableCell Name="Cell18" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell19" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell20" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row5" Height="32.13">
+          <TableCell Name="Cell21" Border.Lines="All" Text="鍚嶇О锛�" VertAlign="Center" Font="寰蒋闆呴粦, 12pt"/>
+          <TableCell Name="MaterialName" Border.Lines="All" Font="瀹嬩綋, 9pt" ColSpan="4"/>
+          <TableCell Name="Cell23" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell24" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell25" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row6" Height="28.35">
+          <TableCell Name="Cell26" Border.Lines="All" Text="瑙勬牸锛�" VertAlign="Center" Font="寰蒋闆呴粦, 12pt"/>
+          <TableCell Name="Specs" Border.Lines="All" Font="瀹嬩綋, 9pt" ColSpan="4"/>
+          <TableCell Name="Cell28" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell29" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell30" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row7" Height="28.35">
+          <TableCell Name="Cell31" Border.Lines="All" Text="鍗曚綅锛�" VertAlign="Center" Font="寰蒋闆呴粦, 12pt"/>
+          <TableCell Name="Unit" Border.Lines="All" Font="瀹嬩綋, 9pt" ColSpan="4"/>
+          <TableCell Name="Cell33" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell34" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell35" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row8" Height="28.35">
+          <TableCell Name="Cell36" Border.Lines="All" Text="鏁伴噺锛�" VertAlign="Center" Font="寰蒋闆呴粦, 12pt"/>
+          <TableCell Name="Quantity" Border.Lines="All" Font="瀹嬩綋, 9pt" ColSpan="4"/>
+          <TableCell Name="Cell38" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell39" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell40" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row9" Height="28.35">
+          <TableCell Name="Cell41" Border.Lines="All" Text="鍥惧彿锛�" VertAlign="Center" Font="寰蒋闆呴粦, 12pt"/>
+          <TableCell Name="ProductDrawingNumber" Font="瀹嬩綋, 9pt" ColSpan="4"/>
+          <TableCell Name="Cell43" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell44" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell45" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row10" Height="28.35">
+          <TableCell Name="Cell46" Border.Lines="All" Text="鏃ユ湡" VertAlign="Center" Font="寰蒋闆呴粦, 12pt"/>
+          <TableCell Name="Datetime" Border.Lines="All" Font="瀹嬩綋, 9pt" ColSpan="4"/>
+          <TableCell Name="Cell48" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell49" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell50" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row11" Height="28.35">
+          <TableCell Name="Cell51" Text="閲嶉噺锛�" VertAlign="Center" Font="寰蒋闆呴粦, 12pt"/>
+          <TableCell Name="Weight" Border.Lines="All" Font="瀹嬩綋, 9pt" ColSpan="4"/>
+          <TableCell Name="Cell53" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell54" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell55" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+      </TableObject>
+    </ReportTitleBand>
+    <PageHeaderBand Name="PageHeader1" Top="438.7" Width="718.2" Height="28.35"/>
+    <DataBand Name="Data1" Top="471.05" Width="718.2" Height="75.6"/>
+    <PageFooterBand Name="PageFooter1" Top="550.65" Width="718.2" Height="274.05"/>
+  </ReportPage>
+</Report>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/frx/MaterMode.frx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/frx/MaterMode.frx"
new file mode 100644
index 0000000..2dd09c2
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Print/frx/MaterMode.frx"
@@ -0,0 +1,51 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Report ScriptLanguage="CSharp" ReportInfo.Created="09/04/2018 15:16:31" ReportInfo.Modified="03/31/2023 17:19:45" ReportInfo.CreatorVersion="2013.2.5.0" PrintSettings.Collate="false">
+  <Dictionary/>
+  <ReportPage Name="Page1" PaperWidth="80" PaperHeight="55" LeftMargin="0" TopMargin="0" RightMargin="1" BottomMargin="0" FirstPageSource="256" OtherPagesSource="256">
+    <DataBand Name="Data1" Width="298.62" Height="207.9">
+      <TableObject Name="Table1" Left="9.45" Top="28.35" Width="274.05" Height="170.1" Border.Lines="All">
+        <TableColumn Name="Column1" Width="78.75"/>
+        <TableColumn Name="Column2" Width="97.65"/>
+        <TableColumn Name="Column3" Width="97.65"/>
+        <TableRow Name="Row1" Height="24.3">
+          <TableCell Name="Cell1" Border.Lines="All" Text="璁㈠崟鍙�" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell2" Border.Lines="All" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt" ColSpan="2"/>
+          <TableCell Name="Cell3" HorzAlign="Center" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row2" Height="24.3">
+          <TableCell Name="Cell6" Border.Lines="All" Text="渚涘簲鍟嗗悕绉�" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell7" Border.Lines="All" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt" ColSpan="2"/>
+          <TableCell Name="Cell8" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row3" Height="24.3">
+          <TableCell Name="Cell11" Border.Lines="All" Text="鐗╂枡缂栧彿" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell12" Border.Lines="All" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt" ColSpan="2"/>
+          <TableCell Name="Cell13" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row4" Height="24.3">
+          <TableCell Name="Cell14" Border.Lines="All" Text="鍚嶇О/鍨嬪彿" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell15" Border.Lines="All" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt" ColSpan="2"/>
+          <TableCell Name="Cell16" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row5" Height="24.3">
+          <TableCell Name="Cell17" Border.Lines="All" Text="鐗╂枡鏁伴噺" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell18" Border.Lines="All" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell19" Font="瀹嬩綋, 9pt" RowSpan="3">
+            <BarcodeObject Name="Barcode1" Left="18.9" Top="9.45" Width="62.75" Height="62.75" AutoSize="false" Text="N|401.00000160-0|05.05.0017|20230325|2312|100|SZSOFAR202302170030.00104" ShowText="false" Barcode="QR Code" Barcode.ErrorCorrection="L" Barcode.Encoding="UTF8" Barcode.QuietZone="true"/>
+          </TableCell>
+        </TableRow>
+        <TableRow Name="Row6" Height="24.3">
+          <TableCell Name="Cell20" Border.Lines="All" Text="鐢熶骇鎵规" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell21" Border.Lines="All" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell22" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+        <TableRow Name="Row7" Height="24.3">
+          <TableCell Name="Cell23" Border.Lines="All" Text="渚涜揣鏃ユ湡" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell24" Border.Lines="All" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt"/>
+          <TableCell Name="Cell25" Font="瀹嬩綋, 9pt"/>
+        </TableRow>
+      </TableObject>
+      <TextObject Name="Text1" Left="160.65" Top="9.45" Width="94.5" Height="18.9" Text="鍐呯鏍囩-鎷�" HorzAlign="Center" VertAlign="Center" Font="瀹嬩綋, 9pt"/>
+    </DataBand>
+  </ReportPage>
+</Report>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/DLL/FastReport.Bars.dll" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/DLL/FastReport.Bars.dll"
new file mode 100644
index 0000000..3e9eb6c
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/DLL/FastReport.Bars.dll"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/DLL/FastReport.dll" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/DLL/FastReport.dll"
new file mode 100644
index 0000000..6665f27
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/DLL/FastReport.dll"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/IPrintService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/IPrintService.cs"
new file mode 100644
index 0000000..e0917c9
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/IPrintService.cs"
@@ -0,0 +1,14 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using static Services.PrintService;
+
+namespace Services
+{
+    public interface IPrintService
+    {
+        object print(InboundOrder inbound);
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/PrintService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/PrintService.cs"
new file mode 100644
index 0000000..f6f4296
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/PrintService.cs"
@@ -0,0 +1,92 @@
+锘縰sing FastReport;
+using FastReport.Barcode;
+using FastReport.Table;
+
+namespace Services
+{
+    public class PrintService:IPrintService
+    {
+        public object print(InboundOrder inbound)
+        {
+            string ReportPathmater = System.IO.Directory.GetCurrentDirectory();
+            string MFile = string.Empty;
+            MFile = ReportPathmater + "\\frx\\MaterMode.frx";
+            Report report = new Report();
+            report.Load(MFile);
+            report.PrintSettings.ShowDialog = false;
+            System.Drawing.Printing.PrinterSettings oitem = new System.Drawing.Printing.PrinterSettings();
+            BarcodeObject OrderNoObj = report.FindObject("OrderNo") as BarcodeObject;
+            if (OrderNoObj != null)
+            {
+                OrderNoObj.Text = inbound.OrderNo;
+            }
+            TableCell UpperOrderNoObj = report.FindObject("UpperOrderNo") as TableCell;
+            if (UpperOrderNoObj != null)
+            {
+                UpperOrderNoObj.Text = inbound.UpperOrderNo;
+            }
+            TableCell WarehouseNameObj = report.FindObject("WarehouseName") as TableCell;
+            if (WarehouseNameObj != null)
+            {
+                WarehouseNameObj.Text = inbound.WarehouseName;
+            }
+            TableCell MaterialNoObj = report.FindObject("MaterialNo") as TableCell;
+            if (MaterialNoObj != null)
+            {
+                MaterialNoObj.Text = inbound.MaterialNo;
+            }
+            TableCell MaterialNameObj = report.FindObject("MaterialName") as TableCell;
+            if (MaterialNameObj != null)
+            {
+                MaterialNameObj.Text = inbound.MaterialName;
+            }
+            TableCell SpecsObj = report.FindObject("Specs") as TableCell;
+            if (SpecsObj != null)
+            {
+                SpecsObj.Text = inbound.Specs;
+            }
+            TableCell UnitObj = report.FindObject("Unit") as TableCell;
+            if (UnitObj != null)
+            {
+                UnitObj.Text = inbound.Unit;
+            }
+            TableCell QuantityObj = report.FindObject("Quantity") as TableCell;
+            if (QuantityObj != null)
+            {
+                QuantityObj.Text = inbound.Quantity.ToString();
+            }
+            TableCell ProductDrawingNumberObj = report.FindObject("ProductDrawingNumber") as TableCell;
+            if (ProductDrawingNumberObj != null)
+            {
+                ProductDrawingNumberObj.Text = inbound.ProductDrawingNumber;
+            }
+            TableCell DatetimeObj = report.FindObject("Datetime") as TableCell;
+            if (DatetimeObj != null)
+            {
+                DatetimeObj.Text = inbound.Datetime;
+            }
+            TableCell WeightObj = report.FindObject("Weight") as TableCell;
+            if (WeightObj != null)
+            {
+                WeightObj.Text = inbound.Weight.ToString();
+            }
+            report.Print();
+            report.Dispose();
+            return true;
+        }
+        public class InboundOrder
+        {
+            public string OrderNo { get; set; }
+            public string UpperOrderNo { get; set; }
+            public string WarehouseName { get; set; }
+            public string MaterialNo { get; set; }
+            public string MaterialName { get; set; }
+            public string Specs { get; set; }
+            public string Unit { get; set; }
+            public decimal Quantity { get; set; }
+            public string ProductDrawingNumber { get; set; }
+            public string Datetime { get; set; }
+            public decimal Weight { get; set; }
+        }
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/Services.csproj" "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/Services.csproj"
new file mode 100644
index 0000000..818d18c
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/Print/Print/Services/Services.csproj"
@@ -0,0 +1,17 @@
+锘�<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>net6.0</TargetFramework>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Nullable>enable</Nullable>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="FastReport.Net.Demo" Version="2026.1.2" />
+  </ItemGroup>
+	<ItemGroup>
+		<Reference Include="FastReport.Bars">
+			<HintPath>..\DLL\FastReport.Bars.dll</HintPath>
+		</Reference>
+	</ItemGroup>
+</Project>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateStockSelect.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateStockSelect.vue"
index 2e83148..975db43 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateStockSelect.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateStockSelect.vue"
@@ -30,6 +30,9 @@
               <el-option label="涓�妤糀GV鍏ュ簱缂撳瓨鍖�" value="4" />
             </el-select>
           </el-form-item>
+          <el-form-item label="璋冩嫧鍑哄簱" prop="areaId">
+            <el-input style="width: 310px" v-model="form.Warehouse" placeholder="璇疯緭鍏ヨ皟鎷ㄤ粨搴�"></el-input>
+          </el-form-item>
         </el-form>
       </div>
       <div class="box-table" style="margin-top: 1%">
@@ -65,6 +68,7 @@
       form: {
         TargetAddress: "",
         areaId: "2",
+        Warehouse:""
       },
       row: null,
       showDetialBox: false,
@@ -132,6 +136,7 @@
         "orderIds":this.ids,
         "stockViews": this.selection,
         "AreaId": this.form.areaId,
+        "Warehouse":this.form.Warehouse,
       }
       console.log(param);
       this.http
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateoutOrderDetail.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateoutOrderDetail.vue"
index c30b851..8861a7b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateoutOrderDetail.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateoutOrderDetail.vue"
@@ -30,6 +30,9 @@
               <el-option label="涓�妤糀GV鍏ュ簱缂撳瓨鍖�" value="4" />
             </el-select>
           </el-form-item>
+          <el-form-item label="璋冩嫧鍑哄簱" prop="Warehouse">
+            <el-input style="width: 310px" v-model="Warehouse" placeholder="璇疯緭鍏ヨ皟鎷ㄤ粨搴�"></el-input>
+          </el-form-item>
         </el-form>
       </div>
       <div class="box-table" style="margin-top: 1%">
@@ -63,13 +66,14 @@
 <script>
 import VolBox from "@/components/basic/VolBox.vue";
 import VolForm from "@/components/basic/VolForm.vue";
-import StockSelect from "./OtherStockSelect.vue";
+import StockSelect from "./AllocateStockSelect.vue";
 export default {
   components: { VolBox, VolForm, StockSelect },
   data() {
     return {
       row: null,
       areaId: "2",
+      Warehouse:"",
       showDetialBox: false,
       flag: false,
       MaterialCode:"",
@@ -262,6 +266,7 @@
       var param = {
         "orderIds":keys,
         "AreaId": this.areaId,
+        "Warehouse":this.Warehouse,
       }
       this.http
         .post("api/AllocateOutboundOrder/GenerateAllocateOutboundTask", param, "鏁版嵁澶勭悊涓�")
@@ -282,10 +287,7 @@
     },
     getButtonEnable(propName, row) {
       if (propName == "assignStock") {
-        if (
-          row.orderDetailStatus !== 0 &&
-          row.orderDetailStatus !== 60 &&
-          row.orderDetailStatus !== 70
+        if (row.orderDetailStatus !== 0 &&row.orderDetailStatus !== 60 &&row.orderDetailStatus !== 70
         ) {
           return true;
         } else {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionStockSelect.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionStockSelect.vue"
index 4eb924b..518767d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionStockSelect.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionStockSelect.vue"
@@ -81,6 +81,7 @@
           title: "鐗╂枡鍚嶇О",
           type: "string",
           width: 150,
+          
         },
         {
           prop: "palletCode",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx"
index 7fb1009..26c485c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx"
@@ -26,52 +26,82 @@
   methods: {
     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
     onInit() {
-      // let OtherOutBoundbtn=this.buttons.find(x=>x.value=='OtherOutBound');
-      // if(OtherOutBoundbtn){
-      //   OtherOutBoundbtn.onClick=function(){
-      //     let row = this.$refs.table.getSelected() //鑾峰彇閫変腑鐨勮
-      //     if (row <= 0) {
-      //       //濡傛灉娌℃湁閫変腑琛�
-      //       this.$Message.error('璇烽�夋嫨涓�琛屾暟鎹�')
-      //       return;
-      //     }
-      //     let palletCode = row[0].palletCode
-      //     this.http.get(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}, "姝e湪瀹屾垚浠诲姟").then((res) => {
-      //       //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
-      //       if (res.status) {
-      //         this.$Message.success('浠诲姟瀹屾垚');
-      //         this.refresh();
-      //       } else {
-      //         this.$Message.error(res.message) //閿欒鎻愮ず
-      //         this.refresh();
-      //       }
-      //     })
-      //   }
-      // }
-        this.columns.push({
-          field: '鎿嶄綔',
-          title: '鎿嶄綔',
-          width: 90,
-          fixed: 'right',
-          align: 'center',
-          formatter: (row) => {
-              return (
-                  '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">鍏朵粬鍑哄簱</i>'
-              );
-          },
-          click: (row) => {
-            console.log(row);
-            this.http.post(`/api/Task/OtherOutBoundTaskAsync?palletCode=${row.palletCode}`, {}, "姝e湪鐢熸垚浠诲姟").then((res) => {
-                    //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
-                    if (res.status) {
-                      this.$Message.success(row[0].palletCode+"鍑哄簱鎴愬姛");
-                      this.refresh();
-                    } else {
-                      this.$Message.error(res.message) //閿欒鎻愮ず
-                      this.refresh();
-                    }
-                  })
+
+      this.detailOptions.buttons.unshift({
+        name: '鍏朵粬鍑哄簱', //鎸夐挳鍚嶇О
+        icon: '', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+        type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+        // onClick: function () {
+        //   // this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+        //   let row = this.$refs.table.getSelected() //鑾峰彇閫変腑鐨勮
+        //   if (row <= 0) {
+        //     //濡傛灉娌℃湁閫変腑琛�
+        //     this.$Message.error('璇烽�夋嫨涓�琛屾暟鎹�')
+        //     return
+        //   }
+        //   let taskNum = row[0].taskNum
+        //   this.http.get(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}, "姝e湪瀹屾垚浠诲姟").then((res) => {
+        //     //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
+        //     if (res.status) {
+        //       this.$Message.success('浠诲姟瀹屾垚')
+        //     } else {
+        //       this.$Message.error(res.message) //閿欒鎻愮ず
+        //     }
+        //   })
+        // }
+        onClick: () => {
+          let row = this.$refs.table.getSelected()
+          console.log(row);
+        }
+      });
+      this.detailOptions.buttons.unshift({
+        name: '鐩樼偣鍑哄簱', //鎸夐挳鍚嶇О
+        icon: '', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+        type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+        onClick: function (e) {
+          // this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+          console.log(e);
+          let row = this.$refs.table.getSelected() //鑾峰彇閫変腑鐨勮
+          if (row <= 0) {
+            //濡傛灉娌℃湁閫変腑琛�
+            this.$Message.error('璇烽�夋嫨涓�琛屾暟鎹�')
+            return
           }
+          let taskNum = row[0].taskNum
+          this.http.get(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}, "姝e湪瀹屾垚浠诲姟").then((res) => {
+            //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
+            if (res.status) {
+              this.$Message.success('浠诲姟瀹屾垚')
+            } else {
+              this.$Message.error(res.message) //閿欒鎻愮ず
+            }
+          })
+        }
+      });
+      this.columns.push({
+        field: '鎿嶄綔',
+        title: '鎿嶄綔',
+        width: 90,
+        fixed: 'right',
+        align: 'center',
+        formatter: (row) => {
+          return (
+            '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">鐩樼偣鍑哄簱</i>'
+          );
+        },
+        click: (row) => {
+          console.log(row);
+          this.http.post(`/api/Task/OutBoundTaskAsync?palletCode=${row.palletCode}`, {}, "姝e湪鐢熸垚浠诲姟").then((res) => {
+            //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
+            if (res.status) {
+              this.$Message.success(row[0].palletCode + "鍑哄簱鎴愬姛");
+              this.refresh();
+            } else {
+              this.$Message.error(res.message) //閿欒鎻愮ず
+              this.refresh();
+            }
+          })
+        }
       });
       // this.columns.push({
       //   title: "鎿嶄綔",
@@ -125,7 +155,7 @@
             '6': '浜屾ゼB5-G5缂撳瓨鍖�',
           };
           column.formatter = (row) => {
-            return  floorMap[row?.locationInfo?.areaId] || ''
+            return floorMap[row?.locationInfo?.areaId] || ''
           }
         }
         if (column.field == 'locationStatus') {
@@ -168,10 +198,41 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      // this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
-
+      const isAdd = this.currentAction == 'Add';//鍒ゆ柇鏄惁涓烘柊寤烘搷浣�
+      //闅愯棌鏄庣粏琛ㄦ寜閽�
+      this.detailOptions.buttons.forEach((btn) => {
+        if (btn.name == '娣诲姞琛�') {
+          btn.hidden = true;
+          //鎴栬�呰缃彧璇�
+          //btn.readonly=true;
+        }
+      });
+      const isDel = this.currentAction == 'Add';//鍒ゆ柇鏄惁涓烘柊寤烘搷浣�
+      //闅愯棌鏄庣粏琛ㄦ寜閽�
+      this.detailOptions.buttons.forEach((btn) => {
+        if (btn.name == '鍒犻櫎琛�') {
+          btn.hidden = true;
+          //鎴栬�呰缃彧璇�
+          //btn.readonly=true;
+        }
+      });
+      this.detailOptions.buttons.forEach((btn) => {
+        if (btn.name == '瀵煎叆') {
+          btn.hidden = true;
+          //鎴栬�呰缃彧璇�
+          //btn.readonly=true;
+        }
+      });
+      this.detailOptions.buttons.forEach((btn) => {
+        if (btn.name == '瀵煎嚭') {
+          btn.hidden = true;
+          //鎴栬�呰缃彧璇�
+          //btn.readonly=true;
+        }
+      });
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
       //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
       //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStockDetail.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStockDetail.js"
index 07d83af..450ee02 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStockDetail.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStockDetail.js"
@@ -23,25 +23,12 @@
   methods: {
      //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
     onInit() {  //妗嗘灦鍒濆鍖栭厤缃墠锛�
-        //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
-        //   this.buttons.unshift({  //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
-        //     name: '鎸夐挳', //鎸夐挳鍚嶇О
-        //     icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
-        //     type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
-        //     onClick: function () {
-        //       this.$Message.success('鐐瑰嚮浜嗘寜閽�');
-        //     }
-        //   });
+        
 
         //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
         this.boxOptions.labelWidth = 150;
 
-        // openModel1 = function (row) {
-        //   palletCode.value = row.palletCode;
-        //   searchFormFields.value.stockId = row.id;
-        //   model1.value = true;
-        //   this.$refs.gridHeader.openModel1();
-        // }
+       
     },
     onInited() {
       //妗嗘灦鍒濆鍖栭厤缃悗
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/extend/StockView.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/extend/StockView.vue"
new file mode 100644
index 0000000..fc339f1
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/extend/StockView.vue"
@@ -0,0 +1,371 @@
+<template>
+  <div>
+    <vol-box v-model="showDetialBox" :lazy="true" width="85%" :padding="15" title="鍗曟嵁鏄庣粏淇℃伅">
+      <div class="box-head">
+        <el-alert :closable="false" style="width: 100%">
+          <el-row>
+            <el-col :span="16">
+              <span>宸查�変腑 {{ selection.length }} 椤�</span>
+            </el-col>
+            <el-col :span="8">
+              <el-link type="primary" size="small" style="float: right; height: 20px; margin-right: 10px"
+                @click="outbound">鐩存帴鍑哄簱</el-link>
+              <el-link type="primary" size="small" style="float: right; height: 20px; margin-right: 10px"
+                @click="getData">鍒锋柊</el-link></el-col>
+          </el-row>
+        </el-alert>
+      </div>
+      <div class="search-form">
+        <label style="margin-left: 10px">鐗╂枡缂栧彿锛�</label>
+        <el-input style="width: 310px" v-model="MaterialCode"></el-input>
+        <el-button size="small" type="primary" @click="getData">鎼滅储</el-button>
+
+      </div>
+      <div style="margin-top:10px;width:400px">
+        <el-form ref="form" :model="form" label-width="90px">
+          <el-form-item label="鍑哄簱鍖哄煙" prop="areaId">
+            <el-select v-model="areaId" placeholder="璇烽�夋嫨鍑哄簱鍖哄煙">
+              <el-option label="涓�妤糀GV鍑哄簱缂撳瓨鍖�" value="2" />
+              <el-option label="涓�妤糀GV绔嬪簱缂撳瓨鍖�" value="3" />
+              <el-option label="涓�妤糀GV鍏ュ簱缂撳瓨鍖�" value="4" />
+            </el-select>
+          </el-form-item>
+        </el-form>
+      </div>
+      <div class="box-table" style="margin-top: 1%">
+        <el-table ref="singleTable" :data="tableData" style="width: 100%; height: 630px" highlight-current-row
+          @current-change="handleCurrentChange" height="500px" @row-click="handleRowClick"
+          @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55"> </el-table-column>
+          <el-table-column label="搴忓彿" type="index" fixed="left" width="55" align="center"></el-table-column>
+          <el-table-column v-for="(item, index) in tableColumns.filter((x) => !x.hidden)" :key="index" :prop="item.prop"
+            :label="item.title" :width="item.width" align="center">
+            <template #default="scoped">
+              <div v-if="item.type == 'icon'">
+                <el-tooltip class="item" effect="dark" :content="item.title" placement="bottom"><el-link type="primary"
+                    :disabled="getButtonEnable(item.prop, scoped.row)" @click="tableButtonClick(scoped.row, item)"><i
+                      :class="item.icon" style="font-size: 22px"></i></el-link></el-tooltip>
+              </div>
+
+              <div v-else-if="item.type == 'tag'">
+                <el-tag size="small">
+                  {{ getDictionary(scoped.row, item) }}
+                </el-tag>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+    </vol-box>
+  </div>
+</template>
+<script>
+import VolBox from "@/components/basic/VolBox.vue";
+import VolForm from "@/components/basic/VolForm.vue";
+export default {
+  components: { VolBox, VolForm, StockSelect },
+  data() {
+    return {
+      row: null,
+      areaId: "2",
+      showDetialBox: false,
+      flag: false,
+      MaterialCode:"",
+      currentRow: null,
+      selection: [],
+      tableData: [],
+      tableColumns: [
+        {
+          prop: "id",
+          title: "Id",
+          type: "int",
+          width: 90,
+          hidden: true,
+        },
+        {
+          prop: "orderId",
+          title: "鍑哄簱鍗曚富閿�",
+          type: "string",
+          width: 90,
+          hidden: true,
+        },
+        {
+          prop: "materielCode",
+          title: "鐗╂枡缂栧彿",
+          type: "string",
+          width: 150,
+        },
+        {
+          prop: "materielName",
+          title: "鐗╂枡鍚嶇О",
+          type: "string",
+          width: 150,
+        },
+        {
+          prop: "demandClassification",
+          title: "闇�姹傚垎绫�",
+          type: "string",
+          width: 150,
+        },
+        {
+          prop: "orderQuantity",
+          title: "鍗曟嵁鏁伴噺",
+          type: "string",
+          width: 90,
+        },
+        {
+          prop: "lockQuantity",
+          title: "閿佸畾鏁伴噺",
+          type: "int",
+          width: 90,
+          hidden: true,
+        },
+        {
+          prop: "overOutQuantity",
+          title: "宸插嚭鏁伴噺",
+          type: "string",
+          width: 90,
+        },
+        {
+          prop: "orderDetailStatus",
+          title: "璁㈠崟鏄庣粏鐘舵��",
+          type: "tag",
+          width: 120,
+          bindKey: "OrderStateEmun"
+        },
+        {
+          prop: "creater",
+          title: "鍒涘缓浜�",
+          type: "string",
+          width: 90,
+        },
+        {
+          prop: "createDate",
+          title: "鍒涘缓鏃堕棿",
+          type: "datetime",
+          width: 160,
+        },
+        {
+          prop: "modifier",
+          title: "淇敼浜�",
+          type: "string",
+          width: 100,
+        },
+        {
+          prop: "modifyDate",
+          title: "淇敼鏃堕棿",
+          type: "datetime",
+          width: 160,
+        },
+        {
+          prop: "remark",
+          title: "澶囨敞",
+          type: "string",
+        },
+      ],
+      paginations: {
+        sort: "id",
+        order: "desc",
+        Foots: "",
+        total: 0,
+        // 2020.08.29澧炲姞鑷畾涔夊垎椤垫潯澶у皬
+        sizes: [30, 60, 100, 120],
+        size: 30, // 榛樿鍒嗛〉澶у皬
+        Wheres: [],
+        page: 1,
+        rows: 30,
+      },
+      searchFormOptions: [
+        [
+          {
+            title: "鍗曟嵁缂栧彿",
+            field: "allocation_code",
+            type: "like",
+          },
+          {
+            title: "鍗曟嵁绫诲瀷",
+            field: "allocation_type",
+            type: "select",
+            dataKey: "OrderType",
+            data: [],
+          },
+          {
+            title: "鍗曟嵁鐘舵��",
+            field: "allocation_state",
+            type: "select",
+            dataKey: "OrderState",
+            data: [],
+          },
+        ],
+      ],
+      searchFormFields: {
+        allocation_code: "",
+        allocation_type: "",
+        allocation_state: "",
+      },
+      dictionaryList: null,
+    };
+  },
+  methods: {
+    open(row) {
+      this.row = row;
+      this.showDetialBox = true;
+      this.getDictionaryData();
+      this.getData();
+    },
+    getData() {
+      var wheres = [{ name: "orderId", value: this.row.id},{name: "materielCode",value:this.MaterialCode,DisplayType:"text"}];
+      console.log(JSON.stringify(wheres));
+      var param = {
+        page: this.paginations.page,
+        rows: this.paginations.rows,
+        sort: this.paginations.sort,
+        order: this.paginations.order,
+        wheres: JSON.stringify(wheres), // 鏌ヨ鏉′欢锛屾牸寮忎负[{ name: "瀛楁", value: "xx" }]
+      };
+      this.http
+        .post("api/ProductionOutboundOrderDetail/GetPageData", param, "鏌ヨ涓�")
+        .then((x) => {
+          this.tableData = x.rows;
+        });
+    },
+    tableButtonClick(row, column) {
+      if (column.prop == "assignStock") {
+        if (row.overOutQuantity > row.orderQuantity) {
+          this.$message.error("璇ュ崟鎹凡娌℃湁鏁伴噺鍙嚭搴�");
+          return;
+        }
+        this.$refs.child.open(row);
+      }
+    },
+    outbound() {
+      if (this.selection.length === 0) {
+        return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏");
+      }
+      var keys = this.selection.map((item) => item.id); // 鑾峰彇閫変腑琛岀殑id
+      var param = {
+        "orderIds":keys,
+        "AreaId": this.areaId,
+      }
+      this.http
+        .post("api/ProductionOutboundOrder/GeneratetProductOutboundTask", param, "鏁版嵁澶勭悊涓�")
+        .then((x) => {
+          if (!x.status) return this.$message.error(x.message);
+          this.$message.success("鎿嶄綔鎴愬姛");
+          this.showDetialBox = false;
+          this.$emit("parentCall", ($vue) => {
+            $vue.getData();
+          });
+        });
+    },
+    setCurrent(row) {
+      this.$refs.singleTable.setCurrentRow(row);
+    },
+    handleCurrentChange(val) {
+      this.currentRow = val;
+    },
+    getButtonEnable(propName, row) {
+      if (propName == "assignStock") {
+        if (
+          row.orderDetailStatus !== 0 &&
+          row.orderDetailStatus !== 60 &&
+          row.orderDetailStatus !== 70
+        ) {
+          return true;
+        } else {
+          return false;
+        }
+      }
+      return false;
+    },
+    parentCall(fun) {
+      if (typeof fun != "function") {
+        return console.log("鎵╁睍缁勪欢闇�瑕佷紶鍏ヤ竴涓洖璋冩柟娉曟墠鑳借幏鍙栫埗绾ue瀵硅薄");
+      }
+      fun(this);
+    },
+    handleRowClick(row) {
+      this.$refs.singleTable.toggleRowSelection(row);
+    },
+    handleSelectionChange(val) {
+      this.selection = val;
+    },
+    getDictionaryData() {
+      if (this.dictionaryList) {
+        return;
+      }
+      var param = [];
+      this.tableColumns.forEach((x) => {
+        if (x.type == "tag" && x.bindKey != "") {
+          param.push(x.bindKey);
+        }
+      });
+      this.http
+        .post("api/Sys_Dictionary/GetVueDictionary", param, "鏌ヨ涓�")
+        .then((x) => {
+          if (x.length > 0) {
+            this.dictionaryList = x;
+          }
+        });
+    },
+    getDictionary(row, column) {
+      if (this.dictionaryList) {
+        var item = this.dictionaryList.find((x) => x.dicNo == column.bindKey);
+        if (item) {
+          var dicItem = item.data.find((x) => x.key == row[column.prop]);
+          if (dicItem) {
+            return dicItem.value;
+          } else {
+            return row[column.prop];
+          }
+        } else {
+          return row[column.prop];
+        }
+      }
+    },
+  },
+};
+</script>
+<style scoped>
+.text-button {
+  border: 0px;
+}
+</style>
+
+<style>
+.text-button:hover {
+  background-color: #f0f9eb !important;
+}
+
+.el-table .warning-row {
+  background: oldlace;
+}
+
+.box-table .el-table tbody tr:hover>td {
+  background-color: #d8e0d4 !important;
+  /* color: #ffffff; */
+}
+
+.box-table .el-table tbody tr.current-row>td {
+  background-color: #f0f9eb !important;
+  /* color: #ffffff; */
+}
+
+.el-table .success-row {
+  background: #f0f9eb;
+}
+
+.box-table .el-table {
+  border: 1px solid #ebeef5;
+}
+
+.search-form {
+  display: flex;
+  padding: 10px;
+  line-height: 34px;
+
+  button {
+    margin-left: 10px;
+  }
+}
+</style>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/AllocateOutboundOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/AllocateOutboundOrder.vue"
index 800279d..19422b5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/AllocateOutboundOrder.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/AllocateOutboundOrder.vue"
@@ -12,7 +12,7 @@
     </view-grid>
 </template>
 <script>
-import extend from "@/extension/widesea_wms/Order/OtherOutboundOrder.js";
+import extend from "@/extension/widesea_wms/Order/AllocateOutboundOrder.js";
 import { ref, defineComponent } from "vue";
 export default defineComponent({
     setup() {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue"
index dab4e3c..3318e6e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue"
@@ -117,6 +117,15 @@
                     align: "left",
                 },
                 {
+                    field: "outboundQuantity",
+                    title: "鍑哄簱鏁伴噺",
+                    type: "int",
+                    width: 90,
+                    align: "left",
+                    edit: { type: "int" },
+                    required: true,
+                },
+                {
                     field: "unit",
                     title: "鍗曚綅",
                     type: "int",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db"
deleted file mode 100644
index 6e2c489..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/CodeChunks.db"
+++ /dev/null
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db"
deleted file mode 100644
index a68acb8..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.13.441.19478/SemanticSymbols.db"
+++ /dev/null
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db"
index acdba4a..fc62026 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm"
index 201824e..a01f40a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal"
index ee79a80..f170e06 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db"
index 5234a83..801943a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm"
index 3277f24..6b32195 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal"
index ff58d32..ae407b7 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json"
index 4d0d54c..ba4d524 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json"
@@ -3,48 +3,44 @@
   "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagetaskservices\\aspnetcoreschedule.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|solutionrelative:widesea_storagetaskservices\\aspnetcoreschedule.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagebasicservices\\stock\\stockinfodetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|solutionrelative:widesea_storagebasicservices\\stock\\stockinfodetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\baserepository\\repositorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\baserepository\\repositorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\order\\dt_productionoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\order\\dt_productionoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\order\\dt_otheroutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\order\\dt_otheroutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\order\\dt_inventoryoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\order\\dt_inventoryoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\order\\dt_allocateoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\order\\dt_allocateoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\baserepository\\irepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\baserepository\\irepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_productionoutboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|solutionrelative:widesea_orderservices\\dt_productionoutboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagebasicservices\\stock\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|solutionrelative:widesea_storagebasicservices\\stock\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
+      "AbsoluteMoniker": "D:0:0:{986CA639-B3B4-4D4F-B12B-3D8FBA48B2B1}|WIDESEA_IStorageTaskService\\WIDESEA_IStorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_istoragetaskservice\\task\\idt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{986CA639-B3B4-4D4F-B12B-3D8FBA48B2B1}|WIDESEA_IStorageTaskService\\WIDESEA_IStorageTaskServices.csproj|solutionrelative:widesea_istoragetaskservice\\task\\idt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_otheroutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|solutionrelative:widesea_orderservices\\dt_otheroutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|solutionrelative:widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\stock\\stockselectviewdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\stock\\stockselectviewdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{B8B1C352-0398-4A54-B202-D774D48367EB}|WIDESEA_IStorageBasicService\\WIDESEA_IStorageBasicServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_istoragebasicservice\\stock\\istockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{B8B1C352-0398-4A54-B202-D774D48367EB}|WIDESEA_IStorageBasicService\\WIDESEA_IStorageBasicServices.csproj|solutionrelative:widesea_istoragebasicservice\\stock\\istockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\stock\\getstockselectviewdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\stock\\getstockselectviewdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\order\\outboundordergetdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\order\\outboundordergetdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     }
   ],
   "DocumentGroupContainers": [
@@ -54,149 +50,136 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 5,
+          "SelectedChildIndex": 0,
           "Children": [
             {
               "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "Dt_InventoryOutboundOrder.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_InventoryOutboundOrder.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Order\\Dt_InventoryOutboundOrder.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_InventoryOutboundOrder.cs",
-              "RelativeToolTip": "WIDESEA_Model\\Models\\Order\\Dt_InventoryOutboundOrder.cs",
-              "ViewState": "AgIAAC0AAAAAAAAAAAAcwDwAAABCAAAAAAAAAA==",
+              "DocumentIndex": 0,
+              "Title": "StockInfoDetailService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoDetailService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_StorageBasicServices\\Stock\\StockInfoDetailService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoDetailService.cs",
+              "RelativeToolTip": "WIDESEA_StorageBasicServices\\Stock\\StockInfoDetailService.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAADwvyQAAAAVAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:47:34.235Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "Dt_AllocateOutboundOrder.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_AllocateOutboundOrder.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Order\\Dt_AllocateOutboundOrder.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_AllocateOutboundOrder.cs",
-              "RelativeToolTip": "WIDESEA_Model\\Models\\Order\\Dt_AllocateOutboundOrder.cs",
-              "ViewState": "AgIAACgAAAAAAAAAAAAYwDwAAABBAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:47:15.317Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 6,
-              "Title": "IRepository.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseRepository\\IRepository.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Core\\BaseRepository\\IRepository.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseRepository\\IRepository.cs",
-              "RelativeToolTip": "WIDESEA_Core\\BaseRepository\\IRepository.cs",
-              "ViewState": "AgIAADQAAAAAAAAAAAAWwD4AAAAfAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:34:10.267Z",
+              "WhenOpened": "2025-10-27T08:40:33.442Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 1,
-              "Title": "RepositoryBase.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseRepository\\RepositoryBase.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Core\\BaseRepository\\RepositoryBase.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseRepository\\RepositoryBase.cs",
-              "RelativeToolTip": "WIDESEA_Core\\BaseRepository\\RepositoryBase.cs",
-              "ViewState": "AgIAAEUDAAAAAAAAAAAMwIgDAAAAAAAAAAAAAA==",
+              "Title": "Dt_ProductionOutboundOrderDetailService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "RelativeToolTip": "WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "ViewState": "AgIAAAwAAAAAAAAAAADwvzsAAAAJAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:33:31.849Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 7,
-              "Title": "StockInfoService.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
-              "RelativeToolTip": "WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
-              "ViewState": "AgIAADoAAAAAAAAAAAAAwI4AAACyAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:02:50.452Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "AspNetCoreSchedule.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
-              "RelativeDocumentMoniker": "WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
-              "RelativeToolTip": "WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
-              "ViewState": "AgIAALQAAAAAAAAAAAAIwN0AAAAdAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T07:56:23.944Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "Dt_ProductionOutboundOrder.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_ProductionOutboundOrder.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Order\\Dt_ProductionOutboundOrder.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_ProductionOutboundOrder.cs",
-              "RelativeToolTip": "WIDESEA_Model\\Models\\Order\\Dt_ProductionOutboundOrder.cs",
-              "ViewState": "AgIAABkAAAAAAAAAAAAqwD0AAABRAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:47:48.082Z",
+              "WhenOpened": "2025-10-27T08:39:14.828Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 3,
-              "Title": "Dt_OtherOutboundOrder.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_OtherOutboundOrder.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Order\\Dt_OtherOutboundOrder.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_OtherOutboundOrder.cs",
-              "RelativeToolTip": "WIDESEA_Model\\Models\\Order\\Dt_OtherOutboundOrder.cs",
-              "ViewState": "AgIAAEcAAAAAAAAAAAAUwGEAAAA+AAAAAAAAAA==",
+              "Title": "IDt_TaskService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
+              "RelativeToolTip": "WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
+              "ViewState": "AgIAAIYAAAAAAAAAAAAhwKMAAAAbAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:47:40.565Z",
+              "WhenOpened": "2025-10-27T08:33:02.897Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "Title": "IStockInfoService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageBasicService\\Stock\\IStockInfoService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_IStorageBasicService\\Stock\\IStockInfoService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageBasicService\\Stock\\IStockInfoService.cs",
+              "RelativeToolTip": "WIDESEA_IStorageBasicService\\Stock\\IStockInfoService.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAAAAACAAAAAEAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-27T07:22:34.074Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
+              "Title": "StockSelectViewDTO.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Stock\\StockSelectViewDTO.cs",
+              "RelativeDocumentMoniker": "WIDESEA_DTO\\Stock\\StockSelectViewDTO.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Stock\\StockSelectViewDTO.cs",
+              "RelativeToolTip": "WIDESEA_DTO\\Stock\\StockSelectViewDTO.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAuwAoAAAAhAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-27T07:18:23.086Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 9,
-              "Title": "Dt_OtherOutboundOrderService.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_OtherOutboundOrderService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_OrderServices\\Dt_OtherOutboundOrderService.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_OtherOutboundOrderService.cs",
-              "RelativeToolTip": "WIDESEA_OrderServices\\Dt_OtherOutboundOrderService.cs",
-              "ViewState": "AgIAALYAAAAAAAAAAAAYwMEAAABAAAAAAAAAAA==",
+              "Title": "OutboundOrderGetDTO.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Order\\OutboundOrderGetDTO.cs",
+              "RelativeDocumentMoniker": "WIDESEA_DTO\\Order\\OutboundOrderGetDTO.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Order\\OutboundOrderGetDTO.cs",
+              "RelativeToolTip": "WIDESEA_DTO\\Order\\OutboundOrderGetDTO.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAIAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T07:48:16.97Z",
+              "WhenOpened": "2025-10-27T07:06:24.72Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 8,
+              "Title": "GetStockSelectViewDto.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Stock\\GetStockSelectViewDto.cs",
+              "RelativeDocumentMoniker": "WIDESEA_DTO\\Stock\\GetStockSelectViewDto.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Stock\\GetStockSelectViewDto.cs",
+              "RelativeToolTip": "WIDESEA_DTO\\Stock\\GetStockSelectViewDto.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAuwAoAAAAiAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-27T07:06:35.323Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "StockInfoService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
+              "RelativeToolTip": "WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
+              "ViewState": "AgIAALgAAAAAAAAAAAAvwH4BAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-27T07:05:30.599Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
               "Title": "TaskController.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
               "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
               "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
-              "ViewState": "AgIAAH4AAAAAAAAAAIAwwJwAAAAaAAAAAAAAAA==",
+              "ViewState": "AgIAAFEAAAAAAAAAAAAvwGEAAAAoAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T07:47:38.514Z",
+              "WhenOpened": "2025-10-27T03:18:50.535Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 10,
+              "DocumentIndex": 5,
               "Title": "Dt_TaskService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
               "RelativeDocumentMoniker": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
               "RelativeToolTip": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
-              "ViewState": "AgIAAH8DAAAAAAAAAAAAAEoEAAAAAAAAAAAAAA==",
+              "ViewState": "AgIAAEkIAAAAAAAAAAArwGMIAAA7AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T07:04:34.588Z",
+              "WhenOpened": "2025-10-27T02:19:21.099Z",
               "EditorCaption": ""
             }
           ]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json"
index 8473a40..1419ef0 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json"
@@ -3,48 +3,44 @@
   "WorkspaceRootPath": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\",
   "Documents": [
     {
-      "AbsoluteMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagetaskservices\\aspnetcoreschedule.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|solutionrelative:widesea_storagetaskservices\\aspnetcoreschedule.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagebasicservices\\stock\\stockinfodetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|solutionrelative:widesea_storagebasicservices\\stock\\stockinfodetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\baserepository\\repositorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\baserepository\\repositorybase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\order\\dt_productionoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\order\\dt_productionoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\order\\dt_otheroutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\order\\dt_otheroutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\order\\dt_inventoryoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\order\\dt_inventoryoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\order\\dt_allocateoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\order\\dt_allocateoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
-      "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\baserepository\\irepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\baserepository\\irepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+      "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_productionoutboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|solutionrelative:widesea_orderservices\\dt_productionoutboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
       "AbsoluteMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagebasicservices\\stock\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{4BDE58B2-5B2E-480B-932F-D63C2A7D557C}|WIDESEA_StorageBasicServices\\WIDESEA_StorageBasicServices.csproj|solutionrelative:widesea_storagebasicservices\\stock\\stockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
+      "AbsoluteMoniker": "D:0:0:{986CA639-B3B4-4D4F-B12B-3D8FBA48B2B1}|WIDESEA_IStorageTaskService\\WIDESEA_IStorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_istoragetaskservice\\task\\idt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{986CA639-B3B4-4D4F-B12B-3D8FBA48B2B1}|WIDESEA_IStorageTaskService\\WIDESEA_IStorageTaskServices.csproj|solutionrelative:widesea_istoragetaskservice\\task\\idt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
       "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\task\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     },
     {
-      "AbsoluteMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_orderservices\\dt_otheroutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
-      "RelativeMoniker": "D:0:0:{20D16B32-8186-420C-B3B7-58B183FC09CF}|WIDESEA_OrderServices\\WIDESEA_OrderServices.csproj|solutionrelative:widesea_orderservices\\dt_otheroutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
-    },
-    {
       "AbsoluteMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
       "RelativeMoniker": "D:0:0:{9912BD12-4CF7-4A91-8203-47C9C125004C}|WIDESEA_StorageTaskServices\\WIDESEA_StorageTaskServices.csproj|solutionrelative:widesea_storagetaskservices\\task\\dt_taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\stock\\stockselectviewdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\stock\\stockselectviewdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{B8B1C352-0398-4A54-B202-D774D48367EB}|WIDESEA_IStorageBasicService\\WIDESEA_IStorageBasicServices.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_istoragebasicservice\\stock\\istockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{B8B1C352-0398-4A54-B202-D774D48367EB}|WIDESEA_IStorageBasicService\\WIDESEA_IStorageBasicServices.csproj|solutionrelative:widesea_istoragebasicservice\\stock\\istockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\stock\\getstockselectviewdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\stock\\getstockselectviewdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+    },
+    {
+      "AbsoluteMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\order\\outboundordergetdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+      "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\order\\outboundordergetdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
     }
   ],
   "DocumentGroupContainers": [
@@ -54,149 +50,136 @@
       "DocumentGroups": [
         {
           "DockedWidth": 200,
-          "SelectedChildIndex": 5,
+          "SelectedChildIndex": 0,
           "Children": [
             {
               "$type": "Document",
-              "DocumentIndex": 4,
-              "Title": "Dt_InventoryOutboundOrder.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_InventoryOutboundOrder.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Order\\Dt_InventoryOutboundOrder.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_InventoryOutboundOrder.cs",
-              "RelativeToolTip": "WIDESEA_Model\\Models\\Order\\Dt_InventoryOutboundOrder.cs",
-              "ViewState": "AgIAAC0AAAAAAAAAAAAcwDwAAABCAAAAAAAAAA==",
+              "DocumentIndex": 0,
+              "Title": "StockInfoDetailService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoDetailService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_StorageBasicServices\\Stock\\StockInfoDetailService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoDetailService.cs",
+              "RelativeToolTip": "WIDESEA_StorageBasicServices\\Stock\\StockInfoDetailService.cs",
+              "ViewState": "AgIAAAUAAAAAAAAAAAAwwCQAAAAVAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:47:34.235Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 5,
-              "Title": "Dt_AllocateOutboundOrder.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_AllocateOutboundOrder.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Order\\Dt_AllocateOutboundOrder.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_AllocateOutboundOrder.cs",
-              "RelativeToolTip": "WIDESEA_Model\\Models\\Order\\Dt_AllocateOutboundOrder.cs",
-              "ViewState": "AgIAACgAAAAAAAAAAAAYwDwAAABBAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:47:15.317Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 6,
-              "Title": "IRepository.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseRepository\\IRepository.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Core\\BaseRepository\\IRepository.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseRepository\\IRepository.cs",
-              "RelativeToolTip": "WIDESEA_Core\\BaseRepository\\IRepository.cs",
-              "ViewState": "AgIAADQAAAAAAAAAAAAWwD4AAAAfAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:34:10.267Z",
+              "WhenOpened": "2025-10-27T08:40:33.442Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 1,
-              "Title": "RepositoryBase.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseRepository\\RepositoryBase.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Core\\BaseRepository\\RepositoryBase.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseRepository\\RepositoryBase.cs",
-              "RelativeToolTip": "WIDESEA_Core\\BaseRepository\\RepositoryBase.cs",
-              "ViewState": "AgIAAEUDAAAAAAAAAAAMwIgDAAAAAAAAAAAAAA==",
+              "Title": "Dt_ProductionOutboundOrderDetailService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "RelativeToolTip": "WIDESEA_OrderServices\\Dt_ProductionOutboundOrderDetailService.cs",
+              "ViewState": "AgIAAAwAAAAAAAAAAADwvzsAAAAJAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:33:31.849Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 7,
-              "Title": "StockInfoService.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
-              "RelativeToolTip": "WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
-              "ViewState": "AgIAADoAAAAAAAAAAAAAwI4AAACyAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:02:50.452Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 0,
-              "Title": "AspNetCoreSchedule.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
-              "RelativeDocumentMoniker": "WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
-              "RelativeToolTip": "WIDESEA_StorageTaskServices\\AspNetCoreSchedule.cs",
-              "ViewState": "AgIAAAgBAAAAAAAAAAAIwDkBAAAXAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T07:56:23.944Z",
-              "EditorCaption": ""
-            },
-            {
-              "$type": "Document",
-              "DocumentIndex": 2,
-              "Title": "Dt_ProductionOutboundOrder.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_ProductionOutboundOrder.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Order\\Dt_ProductionOutboundOrder.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_ProductionOutboundOrder.cs",
-              "RelativeToolTip": "WIDESEA_Model\\Models\\Order\\Dt_ProductionOutboundOrder.cs",
-              "ViewState": "AgIAABkAAAAAAAAAAAAqwD0AAABRAAAAAAAAAA==",
-              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:47:48.082Z",
+              "WhenOpened": "2025-10-27T08:39:14.828Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 3,
-              "Title": "Dt_OtherOutboundOrder.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_OtherOutboundOrder.cs",
-              "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Order\\Dt_OtherOutboundOrder.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Order\\Dt_OtherOutboundOrder.cs",
-              "RelativeToolTip": "WIDESEA_Model\\Models\\Order\\Dt_OtherOutboundOrder.cs",
-              "ViewState": "AgIAAEcAAAAAAAAAAAAUwGEAAAA+AAAAAAAAAA==",
+              "Title": "IDt_TaskService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
+              "RelativeToolTip": "WIDESEA_IStorageTaskService\\Task\\IDt_TaskService.cs",
+              "ViewState": "AgIAAIYAAAAAAAAAAAAhwKMAAAAbAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T08:47:40.565Z",
+              "WhenOpened": "2025-10-27T08:33:02.897Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 7,
+              "Title": "IStockInfoService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageBasicService\\Stock\\IStockInfoService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_IStorageBasicService\\Stock\\IStockInfoService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_IStorageBasicService\\Stock\\IStockInfoService.cs",
+              "RelativeToolTip": "WIDESEA_IStorageBasicService\\Stock\\IStockInfoService.cs",
+              "ViewState": "AgIAAAYAAAAAAAAAAAAAACAAAAAEAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-27T07:22:34.074Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 6,
+              "Title": "StockSelectViewDTO.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Stock\\StockSelectViewDTO.cs",
+              "RelativeDocumentMoniker": "WIDESEA_DTO\\Stock\\StockSelectViewDTO.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Stock\\StockSelectViewDTO.cs",
+              "RelativeToolTip": "WIDESEA_DTO\\Stock\\StockSelectViewDTO.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAuwAoAAAAhAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-27T07:18:23.086Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 9,
-              "Title": "Dt_OtherOutboundOrderService.cs",
-              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_OtherOutboundOrderService.cs",
-              "RelativeDocumentMoniker": "WIDESEA_OrderServices\\Dt_OtherOutboundOrderService.cs",
-              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_OrderServices\\Dt_OtherOutboundOrderService.cs",
-              "RelativeToolTip": "WIDESEA_OrderServices\\Dt_OtherOutboundOrderService.cs",
-              "ViewState": "AgIAALYAAAAAAAAAAAAYwMEAAABAAAAAAAAAAA==",
+              "Title": "OutboundOrderGetDTO.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Order\\OutboundOrderGetDTO.cs",
+              "RelativeDocumentMoniker": "WIDESEA_DTO\\Order\\OutboundOrderGetDTO.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Order\\OutboundOrderGetDTO.cs",
+              "RelativeToolTip": "WIDESEA_DTO\\Order\\OutboundOrderGetDTO.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAIAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T07:48:16.97Z",
+              "WhenOpened": "2025-10-27T07:06:24.72Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
               "DocumentIndex": 8,
+              "Title": "GetStockSelectViewDto.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Stock\\GetStockSelectViewDto.cs",
+              "RelativeDocumentMoniker": "WIDESEA_DTO\\Stock\\GetStockSelectViewDto.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Stock\\GetStockSelectViewDto.cs",
+              "RelativeToolTip": "WIDESEA_DTO\\Stock\\GetStockSelectViewDto.cs",
+              "ViewState": "AgIAAAAAAAAAAAAAAAAuwAoAAAAiAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-27T07:06:35.323Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 2,
+              "Title": "StockInfoService.cs",
+              "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
+              "RelativeDocumentMoniker": "WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
+              "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
+              "RelativeToolTip": "WIDESEA_StorageBasicServices\\Stock\\StockInfoService.cs",
+              "ViewState": "AgIAALgAAAAAAAAAAAAvwH4BAAAAAAAAAAAAAA==",
+              "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+              "WhenOpened": "2025-10-27T07:05:30.599Z",
+              "EditorCaption": ""
+            },
+            {
+              "$type": "Document",
+              "DocumentIndex": 4,
               "Title": "TaskController.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
               "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
               "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Task\\TaskController.cs",
-              "ViewState": "AgIAAH4AAAAAAAAAAIAwwJwAAAAaAAAAAAAAAA==",
+              "ViewState": "AgIAAFEAAAAAAAAAAAAvwGEAAAAoAAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T07:47:38.514Z",
+              "WhenOpened": "2025-10-27T03:18:50.535Z",
               "EditorCaption": ""
             },
             {
               "$type": "Document",
-              "DocumentIndex": 10,
+              "DocumentIndex": 5,
               "Title": "Dt_TaskService.cs",
               "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
               "RelativeDocumentMoniker": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
               "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
               "RelativeToolTip": "WIDESEA_StorageTaskServices\\Task\\Dt_TaskService.cs",
-              "ViewState": "AgIAAH8DAAAAAAAAAAAAAEoEAAAAAAAAAAAAAA==",
+              "ViewState": "AgIAAEkIAAAAAAAAAAArwGMIAAA7AAAAAAAAAA==",
               "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
-              "WhenOpened": "2025-10-24T07:04:34.588Z",
+              "WhenOpened": "2025-10-27T02:19:21.099Z",
               "EditorCaption": ""
             }
           ]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/GroupPlate.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/GroupPlate.cs"
index a8f150c..782b283 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/GroupPlate.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/GroupPlate.cs"
@@ -11,5 +11,13 @@
         public string palletCode { get; set; }
 
         public List<string> OrderNos { get; set; }
+
+        public List<GroupPlateInfo> groups { get; set; }
+    }
+    public class GroupPlateInfo
+    {
+        public string orderNo { get; set; }
+
+        public decimal quantity { get; set; }
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/Basic.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/Basic.cs"
index 6b72cfd..eaf318a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/Basic.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/Basic.cs"
@@ -118,7 +118,7 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public string Qty { get; set; }
+        public decimal Qty { get; set; }
 
         /// <summary>
         /// 鍙楃泭閮ㄩ棬缂栧彿
@@ -172,12 +172,12 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public string Qty { get; set; }
+        public decimal Qty { get; set; }
 
         /// <summary>
         /// 鎴愭湰鍗曚环
         /// </summary>
-        public string CostPrice { get; set; }
+        public decimal CostPrice { get; set; }
     }
 
     /// <summary>
@@ -268,24 +268,24 @@
     public class returnMaterialList
     {
         /// <summary>
-        /// 鏂欏搧缂栫爜
+        /// 澶囨枡鏄庣粏ID
         /// </summary>
-        public string ItemCode { get; set; }
+        public string PickListID { get; set; }
 
         /// <summary>
-        /// 璋冨叆瀛樺偍鍦扮偣缂栫爜
+        /// 璋冨瓨鍌ㄥ湴鐐圭紪鐮�
         /// </summary>
-        public string TransInWHCode { get; set; }
+        public string WhCode { get; set; }
 
         /// <summary>
-        /// 鏁伴噺
+        /// 閫�鏂欐暟閲�
         /// </summary>
-        public float TransInQty { get; set; }
+        public decimal RecedeQty { get; set; }
 
         /// <summary>
-        /// 璋冨嚭瀛樺偍鍦扮偣缂栫爜
+        /// 閫�鏂欏師鍥�
         /// </summary>
-        public string TransOutWHCode { get; set; }
+        public int RecedeReason { get; set; }
     }
 
     /// <summary>
@@ -308,7 +308,7 @@
         /// <summary>
         /// 璋冩嫧鏄庣粏
         /// </summary>
-        public List<returnMaterialList> issueList { get; set; }
+        public List<returnMaterialList> returnMaterialList { get; set; }
 
         /// <summary>
         /// 鏄惁瀹℃牳
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/GenerateOutTaskDto.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/GenerateOutTaskDto.cs"
index 64dd2dd..09517c5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/GenerateOutTaskDto.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/GenerateOutTaskDto.cs"
@@ -16,6 +16,7 @@
         public string TargetAddress { get; set; }
 
         public string AreaId { get; set; }
+        public string Warehouse { get; set; }
     }
 
     public class StockViewDTO
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/GetStockSelectViewDto.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/GetStockSelectViewDto.cs"
index d9c0b9e..4d27b2f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/GetStockSelectViewDto.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/GetStockSelectViewDto.cs"
@@ -9,7 +9,7 @@
     public class GetStockSelectViewDto
     {
         public string materielCode { get; set; }
-        public string materielName { get; set; }
-        public string demandClassification { get; set; }
+
+        public int pageNo { get; set; }
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockSelectViewDTO.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockSelectViewDTO.cs"
index d0a9a2c..25510e2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockSelectViewDTO.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockSelectViewDTO.cs"
@@ -8,6 +8,7 @@
 {
     public class StockSelectViewDTO
     {
+        public int Id { get; set; }
         public string MaterielCode { get; set; }
 
         public string MaterielName { get; set; }
@@ -17,5 +18,7 @@
         public string PalletCode { get; set; }
 
         public string LocationCode { get; set; }
+
+        public decimal Quantity { get; set; }   
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_InventoryOutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_InventoryOutboundOrderDetailRepository.cs"
deleted file mode 100644
index ac4c22a..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_InventoryOutboundOrderDetailRepository.cs"
+++ /dev/null
@@ -1,8 +0,0 @@
-锘縰sing WIDESEA_Core.BaseRepository;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_IOrderRepository;
-
-public interface IDt_InventoryOutboundOrderDetailRepository : IRepository<Dt_InventoryOutboundOrderDetail>
-{
-}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_InventoryOutboundOrderRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_InventoryOutboundOrderRepository.cs"
deleted file mode 100644
index a0bd69f..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_InventoryOutboundOrderRepository.cs"
+++ /dev/null
@@ -1,8 +0,0 @@
-锘縰sing WIDESEA_Core.BaseRepository;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_IOrderRepository;
-
-public interface IDt_InventoryOutboundOrderRepository : IRepository<Dt_InventoryOutboundOrder>
-{
-}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OrderOutDetailsRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OrderOutDetailsRepository.cs"
new file mode 100644
index 0000000..4326937
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OrderOutDetailsRepository.cs"
@@ -0,0 +1,8 @@
+锘縰sing WIDESEA_Core.BaseRepository;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_IOrderRepository;
+
+public interface IDt_OrderOutDetailsRepository : IRepository<Dt_OrderOutDetails>
+{
+}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OtherOutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OtherOutboundOrderDetailRepository.cs"
deleted file mode 100644
index f88d344..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OtherOutboundOrderDetailRepository.cs"
+++ /dev/null
@@ -1,8 +0,0 @@
-锘縰sing WIDESEA_Core.BaseRepository;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_IOrderRepository;
-
-public interface IDt_OtherOutboundOrderDetailRepository : IRepository<Dt_OtherOutboundOrderDetail>
-{
-}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OtherOutboundOrderRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OtherOutboundOrderRepository.cs"
deleted file mode 100644
index 5c70716..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OtherOutboundOrderRepository.cs"
+++ /dev/null
@@ -1,8 +0,0 @@
-锘縰sing WIDESEA_Core.BaseRepository;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_IOrderRepository;
-
-public interface IDt_OtherOutboundOrderRepository : IRepository<Dt_OtherOutboundOrder>
-{
-}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InboundOrderService.cs"
index 89afa9c..af43aa9 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InboundOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InboundOrderService.cs"
@@ -1,4 +1,5 @@
-锘縰sing WIDESEA_Core.BaseServices;
+锘縰sing WIDESEA_Core;
+using WIDESEA_Core.BaseServices;
 using WIDESEA_DTO;
 using WIDESEA_Model.Models.Order;
 
@@ -6,6 +7,6 @@
 
 public interface IDt_InboundOrderService : IService<Dt_InboundOrder>
 {
-    
-    
+
+    WebResponseContent GetInboundOrderInfo(string OrderNo);
 }
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InventoryOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InventoryOutboundOrderDetailService.cs"
deleted file mode 100644
index 14d148e..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InventoryOutboundOrderDetailService.cs"
+++ /dev/null
@@ -1,11 +0,0 @@
-锘縰sing WIDESEA_Core.BaseServices;
-using WIDESEA_DTO;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_IOrderServices;
-
-public interface IDt_InventoryOutboundOrderDetailService : IService<Dt_InventoryOutboundOrderDetail>
-{
-    
-    
-}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InventoryOutboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InventoryOutboundOrderService.cs"
deleted file mode 100644
index b3ae3b7..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InventoryOutboundOrderService.cs"
+++ /dev/null
@@ -1,22 +0,0 @@
-锘縰sing WIDESEA_Core;
-using WIDESEA_Core.BaseServices;
-using WIDESEA_DTO;
-using WIDESEA_DTO.Order;
-using WIDESEA_DTO.Stock;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_IOrderServices;
-
-public interface IDt_InventoryOutboundOrderService : IService<Dt_InventoryOutboundOrder>
-{
-    WebResponseContent GetInventoryOutboundOrder(OutboundOrderGetDTO outboundOrderGetDTO);
-
-    WebResponseContent GetInventoryOutboundOrderDetail(OutboundOrderGetDTO outboundOrderGetDTO);
-
-    /// <summary>
-    /// 鏍规嵁璇锋眰鍑哄簱浠诲姟
-    /// </summary>
-    /// <param name="requestOut"></param>
-    /// <returns></returns>
-    Task<WebResponseContent> GenerateInventoryOutboundTask(GenerateOutTaskDto requestOut);
-}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OrderOutDetailsService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OrderOutDetailsService.cs"
new file mode 100644
index 0000000..2102684
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OrderOutDetailsService.cs"
@@ -0,0 +1,11 @@
+锘縰sing WIDESEA_Core.BaseServices;
+using WIDESEA_DTO;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_IOrderServices;
+
+public interface IDt_OrderOutDetailsService : IService<Dt_OrderOutDetails>
+{
+    
+    
+}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OtherOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OtherOutboundOrderDetailService.cs"
deleted file mode 100644
index 58e6342..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OtherOutboundOrderDetailService.cs"
+++ /dev/null
@@ -1,11 +0,0 @@
-锘縰sing WIDESEA_Core.BaseServices;
-using WIDESEA_DTO;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_IOrderServices;
-
-public interface IDt_OtherOutboundOrderDetailService : IService<Dt_OtherOutboundOrderDetail>
-{
-    
-    
-}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OtherOutboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OtherOutboundOrderService.cs"
deleted file mode 100644
index 968a395..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OtherOutboundOrderService.cs"
+++ /dev/null
@@ -1,22 +0,0 @@
-锘縰sing WIDESEA_Core;
-using WIDESEA_Core.BaseServices;
-using WIDESEA_DTO;
-using WIDESEA_DTO.Order;
-using WIDESEA_DTO.Stock;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_IOrderServices;
-
-public interface IDt_OtherOutboundOrderService : IService<Dt_OtherOutboundOrder>
-{
-    WebResponseContent GetOtherOutboundOrder(OutboundOrderGetDTO outboundOrderGetDTO);
-
-    WebResponseContent GetOtherOutboundOrderDetail(OutboundOrderGetDTO outboundOrderGetDTO);
-
-    /// <summary>
-    /// 鏍规嵁璇锋眰鍑哄簱浠诲姟
-    /// </summary>
-    /// <param name="requestOut"></param>
-    /// <returns></returns>
-    Task<WebResponseContent> GenerateOtherOutboundTask(GenerateOutTaskDto requestOut);
-}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Boxing/IBoxingInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Boxing/IBoxingInfoService.cs"
index 7cf9f4b..c31d8c5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Boxing/IBoxingInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Boxing/IBoxingInfoService.cs"
@@ -5,4 +5,7 @@
 
 public interface IBoxingInfoService : IService<DtBoxingInfo>
 {
+    Task<WebResponseContent> AddGroupPlateAsync(GroupPlate groupPlate);
+
+    Task<WebResponseContent> DeleteGroupPlateAsync(GroupPlate groupPlate);
 }
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Stock/IStockInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Stock/IStockInfoService.cs"
index 978c813..0f2ab58 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Stock/IStockInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Stock/IStockInfoService.cs"
@@ -6,11 +6,12 @@
 public interface IStockInfoService : IService<DtStockInfo>
 {
     /// <summary>
-    /// 鏍规嵁鐗╂枡缂栫爜鑾峰彇搴撳瓨鍙敤閲忚鍥�
+    /// 搴撳瓨瑙嗗浘
     /// </summary>
-    /// <param name="materielCode"></param>
+    /// <param name="viewDto"></param>
     /// <returns></returns>
     List<StockSelectViewDTO> GetStockSelectViews(GetStockSelectViewDto viewDto);
+
 
     List<DtLocationInfo> GetStockLocations(List<DtLocationInfo>? locations);
 
@@ -28,10 +29,7 @@
     /// <returns></returns>
     Task<WebResponseContent> DeleteGroupPlateAsync(GroupPlate groupPlate);
 
-    /// <summary>
-    /// 鏍规嵁璇锋眰鍑哄簱浠诲姟
-    /// </summary>
-    /// <param name="requestOut"></param>
-    /// <returns></returns>
-    Task<WebResponseContent> GenerateOutboundTask(GenerateOutTaskDto requestOut);
+
+    WebResponseContent GetStockView(GetStockSelectViewDto viewDto);
+
 }
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs"
index 3ff679a..ebc390a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs"
@@ -96,7 +96,11 @@
     /// </summary>
     /// <param name="palletCode"></param>
     /// <returns></returns>
-    Task<WebResponseContent> OtherOutBoundTaskAsync(string palletCode);
+    Task<WebResponseContent> OutBoundTaskAsync(string palletCode);
+
+    (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) GetlcoationState(List<Dt_Task> tasks, int StatusChangeTypeEnum);
+
+    (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) GetlcoationState(Dt_Task task, int StatusChangeTypeEnum);
 
 
     /// <summary>
@@ -155,4 +159,7 @@
     (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) UpdateLocationStatus(DtLocationInfo location, LocationEnum locationStatus, int taskNum, int StatusChangeType);
 
     (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) UpdateLocationStatus(string locationCode, LocationEnum locationStatus, int taskNum, int StatusChangeType);
+
+
+    bool LocationIsOutBound(DtLocationInfo location);
 }
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfo.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfo.cs"
index 56f77b4..b6fc21c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfo.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfo.cs"
@@ -28,11 +28,10 @@
         public string LocationCode { get; set; }
 
         /// <summary>
-        /// 鏄惁婊$洏
+        /// 鏄惁鏁村嚭
         /// </summary>
-        [Required]
-        [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁婊$洏")]
-        public bool IsFull { get; set; } = true;
+        [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁鏁村嚭")]
+        public bool IsFullExit { get; set; } = true;
 
         /// <summary>
         /// 鐘舵��
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfo_Hty.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfo_Hty.cs"
index edc5b84..c0a30a7 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfo_Hty.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtBoxingInfo_Hty.cs"
@@ -29,11 +29,10 @@
         public string LocationCode { get; set; }
 
         /// <summary>
-        /// 鏄惁婊$洏
+        /// 鏄惁鏁村嚭
         /// </summary>
-        [Required]
-        [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁婊$洏")]
-        public bool IsFull { get; set; } = true;
+        [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁鏁村嚭")]
+        public bool IsFullExit { get; set; } = true;
 
         /// <summary>
         /// 鐘舵��
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs"
index 1396f41..4d1a0c8 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs"
@@ -33,10 +33,10 @@
         public string LocationCode { get; set; }
 
         /// <summary>
-        /// 鏄惁婊$洏
+        /// 鏄惁鏁村嚭
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁婊$洏")]
-        public bool IsFull { get; set; } = true;
+        [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁鏁村嚭")]
+        public bool IsFullExit { get; set; } = true;
 
         /// <summary>
         /// 鐘舵��
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfoDetail.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfoDetail.cs"
index d2cb05b..a061515 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfoDetail.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfoDetail.cs"
@@ -51,7 +51,7 @@
     public string Warehouse { get; set; }
 
     /// <summary>
-    /// 鍗曟嵁缂栧彿 / 閫氶亾
+    /// 鍗曟嵁缂栧彿
     /// </summary>
     [Required]
     [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鍗曟嵁缂栧彿")]
@@ -108,8 +108,8 @@
     public string Date { get; set; }
 
     /// <summary>
-    /// 澶囨敞
+    /// 璋冩嫧浠撳簱
     /// </summary>
-    [SugarColumn(IsNullable = true, ColumnDescription = "澶囨敞")]
+    [SugarColumn(IsNullable = true, ColumnDescription = "璋冩嫧浠撳簱")]
     public string Remark { get; set; }
 }
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo_Hty.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo_Hty.cs"
index 1527ec0..a51a63f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo_Hty.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo_Hty.cs"
@@ -29,11 +29,10 @@
         public string LocationCode { get; set; }
 
         /// <summary>
-        /// 鏄惁婊$洏
+        /// 鏄惁鏁村嚭
         /// </summary>
-        [Required]
-        [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁婊$洏")]
-        public bool IsFull { get; set; } = true;
+        [SugarColumn(IsNullable = true, ColumnDescription = "鏄惁鏁村嚭")]
+        public bool IsFullExit { get; set; } = true;
 
         /// <summary>
         /// 鐘舵��
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\347\224\250\345\217\213\345\267\245\347\250\213\345\217\221\350\264\247\345\215\225\344\270\200\350\247\210\350\241\250_ST.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\347\224\250\345\217\213\345\267\245\347\250\213\345\217\221\350\264\247\345\215\225\344\270\200\350\247\210\350\241\250_ST.cs"
index b12e8f8..97a764e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\347\224\250\345\217\213\345\267\245\347\250\213\345\217\221\350\264\247\345\215\225\344\270\200\350\247\210\350\241\250_ST.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\347\224\250\345\217\213\345\267\245\347\250\213\345\217\221\350\264\247\345\215\225\344\270\200\350\247\210\350\241\250_ST.cs"
@@ -15,7 +15,7 @@
         public string 瀛愪欢鏂欏彿 { get; set; }
         public string 瀛愪欢鍝佸悕 { get; set; }
         public string 瀛愪欢瑙勬牸 { get; set; }
-        public string 瀛愪欢鍗曢噸 { get; set; }
+        public decimal 瀛愪欢鍗曢噸 { get; set; }
         public string 瀛愪欢鍗曚綅 { get; set; }
         public string 鐢ㄥ弸鏉愯川 { get; set; }
         public string 鎵ц鏍囧噯鍙� { get; set; }
@@ -25,5 +25,6 @@
         public decimal 瀛愪欢鏈彂鏁伴噺 { get; set; }
         public string 鐘舵�� { get; set; }
         public string 璁㈠崟鏂欏彿 { get; set; }
+        public string 璁㈠崟瑙勬牸 { get; set; }
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\347\224\250\345\217\213\347\224\237\344\272\247\351\242\206\346\226\231\345\215\225\344\270\200\350\247\210\350\241\250_ST.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\347\224\250\345\217\213\347\224\237\344\272\247\351\242\206\346\226\231\345\215\225\344\270\200\350\247\210\350\241\250_ST.cs"
index 79d1be1..f1833c6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\347\224\250\345\217\213\347\224\237\344\272\247\351\242\206\346\226\231\345\215\225\344\270\200\350\247\210\350\241\250_ST.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\347\224\250\345\217\213\347\224\237\344\272\247\351\242\206\346\226\231\345\215\225\344\270\200\350\247\210\350\241\250_ST.cs"
@@ -15,7 +15,7 @@
         public string 瀛愪欢鏂欏彿 { get; set; }
         public string 瀛愪欢鍝佸悕 { get; set; }
         public string 瀛愪欢瑙勬牸 { get; set; }
-        public string 瀛愪欢鍗曢噸 { get; set; }
+        public decimal 瀛愪欢鍗曢噸 { get; set; }
         public string 瀛愪欢鍗曚綅 { get; set; }
         public string 鐢ㄥ弸鏉愯川 { get; set; }
         public string 鎵ц鏍囧噯鍙� { get; set; }
@@ -25,5 +25,6 @@
         public decimal 瀛愪欢鏈彂鏁伴噺 { get; set; }
         public string 鐘舵�� { get; set; }
         public string 璁㈠崟鏂欏彿 { get; set; }
+        //public string 璁㈠崟瑙勬牸 { get; set; }
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\347\224\250\345\217\213\347\224\265\346\216\247\346\237\234\350\260\203\346\213\250\344\270\200\350\247\210\350\241\250_ST.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\347\224\250\345\217\213\347\224\265\346\216\247\346\237\234\350\260\203\346\213\250\344\270\200\350\247\210\350\241\250_ST.cs"
index 901c599..28aacdf 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\347\224\250\345\217\213\347\224\265\346\216\247\346\237\234\350\260\203\346\213\250\344\270\200\350\247\210\350\241\250_ST.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\347\224\250\345\217\213\347\224\265\346\216\247\346\237\234\350\260\203\346\213\250\344\270\200\350\247\210\350\241\250_ST.cs"
@@ -15,7 +15,7 @@
         public string 瀛愪欢鏂欏彿 { get; set; }
         public string 瀛愪欢鍝佸悕 { get; set; }
         public string 瀛愪欢瑙勬牸 { get; set; }
-        public string 瀛愪欢鍗曢噸 { get; set; }
+        public decimal 瀛愪欢鍗曢噸 { get; set; }
         public string 瀛愪欢鍗曚綅 { get; set; }
         public string 鐢ㄥ弸鏉愯川 { get; set; }
         public string 鎵ц鏍囧噯鍙� { get; set; }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\351\207\207\350\264\255\345\205\245\346\210\220\345\223\201\345\205\245\345\272\223\350\207\252\345\212\250\346\211\223\345\215\260\346\270\205\345\215\225_ST.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\351\207\207\350\264\255\345\205\245\346\210\220\345\223\201\345\205\245\345\272\223\350\207\252\345\212\250\346\211\223\345\215\260\346\270\205\345\215\225_ST.cs"
index f1588ef..dd672fc 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\351\207\207\350\264\255\345\205\245\346\210\220\345\223\201\345\205\245\345\272\223\350\207\252\345\212\250\346\211\223\345\215\260\346\270\205\345\215\225_ST.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\351\207\207\350\264\255\345\205\245\346\210\220\345\223\201\345\205\245\345\272\223\350\207\252\345\212\250\346\211\223\345\215\260\346\270\205\345\215\225_ST.cs"
@@ -23,5 +23,9 @@
         public string 鐢ㄥ弸鏉愯川 { get; set; }
         public decimal 鍏ュ簱鏁伴噺 { get; set; }
         public string 鍗曟嵁鐘舵�� { get; set; }
+
+        public string 鎵ц鏍囧噯鍙� { get; set; }
+        public string 鍞竴ID { get; set; }
+        public string 鏂欏彿ID { get; set; }
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\351\207\207\350\264\255\345\217\212\346\210\220\345\223\201\345\205\245\345\272\223\346\270\205\345\215\225_ST.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\351\207\207\350\264\255\345\217\212\346\210\220\345\223\201\345\205\245\345\272\223\346\270\205\345\215\225_ST.cs"
index 5941262..3c0c4c9 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\351\207\207\350\264\255\345\217\212\346\210\220\345\223\201\345\205\245\345\272\223\346\270\205\345\215\225_ST.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\351\207\207\350\264\255\345\217\212\346\210\220\345\223\201\345\205\245\345\272\223\346\270\205\345\215\225_ST.cs"
@@ -11,6 +11,7 @@
         public string 鍗曞彿 { get; set; }
         public string 闇�姹傚垎绫� { get; set; }
         public string 鍗曟嵁绫诲瀷 { get; set; }
+        public string 鍏ュ簱浠撳簱缂栫爜 { get; set; }
         public string 鍏ュ簱浠撳簱鍚嶇О { get; set; }
         public string 鏃ユ湡 { get; set; }
         public int 琛屽彿 { get; set; }
@@ -23,5 +24,8 @@
         public string 鐢ㄥ弸鏉愯川 { get; set; }
         public decimal 鍏ュ簱鏁伴噺 { get; set; }
         public string 鍗曟嵁鐘舵�� { get; set; }
+        public string 鎵ц鏍囧噯鍙� { get; set; }
+        public string 鍞竴ID { get; set; }
+        public string 鏂欏彿ID { get; set; }
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrder.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrder.cs"
index 6928021..f5167c5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrder.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrder.cs"
@@ -28,7 +28,35 @@
         /// </summary>
         [SugarColumn(ColumnName = "UpperOrderNo", Length = 255)]
         public string UpperOrderNo { get; set; }
-        
+
+        /// <summary>
+        /// 闇�姹傚垎绫�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "OrderName", Length = 255)]
+        public string OrderName { get; set; }
+
+        /// <summary>
+        /// 闇�姹傚垎绫�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "DemandClassification", Length = 255)]
+        public string DemandClassification { get; set; }
+
+        /// <summary>
+        /// 璁㈠崟鏂欏彿
+        /// </summary>
+
+        [SugarColumn(ColumnName = "OrderPartNumber", Length = 255)]
+        public string OrderPartNumber { get; set; }
+
+        /// <summary>
+        /// 璁㈠崟瑙勬牸
+        /// </summary>
+
+        [SugarColumn(ColumnName = "OrderSpec", Length = 255)]
+        public string OrderSpec { get; set; }
+
         /// <summary>
         /// 鍗曟嵁绫诲瀷
         /// </summary>
@@ -56,10 +84,10 @@
         public string Remark { get; set; }
 
         /// <summary>
-        /// 璋冩嫧鍑哄簱璁㈠崟鏄庣粏
+        /// 鐢熶骇棰嗘枡鍑哄簱璁㈠崟鏄庣粏
         /// </summary>
         [SugarColumn(ColumnName = "Dt_AllocateOutboundOrderDetail")]
-        [Navigate(NavigateType.OneToMany, nameof(Dt_AllocateOutboundOrderDetail.OrderId))]
+        [Navigate(NavigateType.OneToMany, nameof(Dt_AllocateOutboundOrderDetail.OrderId),nameof(Id))]
         public List<Dt_AllocateOutboundOrderDetail>? Details { get; set; }
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrderDetail.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrderDetail.cs"
index 95580fc..578a0ec 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrderDetail.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrderDetail.cs"
@@ -36,11 +36,16 @@
         public string MaterielName { get; set; }
 
         /// <summary>
-        /// 闇�姹傚垎绫�
+        /// 瑙勬牸
         /// </summary>
+        [SugarColumn(ColumnName = "Specs", Length = 255)]
+        public string Specs { get; set; }
 
-        [SugarColumn(ColumnName = "DemandClassification", Length = 255)]
-        public string DemandClassification { get; set; }
+        /// <summary>
+        /// 鍗曢噸
+        /// </summary>
+        [SugarColumn(ColumnName = "Weight")]
+        public decimal Weight { get; set; }
 
         /// <summary>
         /// 鍑哄簱鏁伴噺
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_InventoryOutboundOrder.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_InventoryOutboundOrder.cs"
deleted file mode 100644
index bd6855c..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_InventoryOutboundOrder.cs"
+++ /dev/null
@@ -1,65 +0,0 @@
-锘縰sing SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEA_Core.DB.Models;
-
-namespace WIDESEA_Model.Models.Order
-{
-    /// <summary>
-    /// 鐩樼偣鍑哄簱鍗�
-    ///</summary>
-    [SugarTable("Dt_InventoryOutboundOrder")]
-    public class Dt_InventoryOutboundOrder : BaseEntity
-    {
-        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
-        public int Id { get; set; }
-
-        /// <summary>
-        /// 鍗曟嵁缂栧彿
-        /// </summary>
-        [SugarColumn(ColumnName = "OrderNo", Length = 255)]
-        public string OrderNo { get; set; }
-
-        /// <summary>
-        /// 涓婃父鍗曟嵁缂栧彿
-        /// </summary>
-        [SugarColumn(ColumnName = "UpperOrderNo", Length = 255)]
-        public string UpperOrderNo { get; set; }
-
-        /// <summary>
-        /// 鍗曟嵁绫诲瀷
-        /// </summary>
-
-        [SugarColumn(ColumnName = "OrderType")]
-        public int OrderType { get; set; }
-
-        /// <summary>
-        /// 鍗曟嵁鐘舵��
-        /// </summary>
-        [SugarColumn(ColumnName = "OrderStatus")]
-        public int OrderStatus { get; set; }
-
-
-        /// <summary>
-        /// 鍒涘缓鏂瑰紡
-        /// </summary>
-        [SugarColumn(ColumnName = "CreateType")]
-        public int CreateType { get; set; }
-
-        /// <summary>
-        /// 澶囨敞
-        /// </summary>
-        [SugarColumn(ColumnName = "Remark", Length = 255)]
-        public string Remark { get; set; }
-
-        /// <summary>
-        /// 鐩樼偣鍑哄簱璁㈠崟鏄庣粏
-        /// </summary>
-        [SugarColumn(ColumnName = "Dt_InventoryOutboundOrderDetail")]
-        [Navigate(NavigateType.OneToMany, nameof(Dt_InventoryOutboundOrderDetail.OrderId))]
-        public List<Dt_InventoryOutboundOrderDetail>? Details { get; set; }
-    }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_InventoryOutboundOrderDetail.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_InventoryOutboundOrderDetail.cs"
deleted file mode 100644
index d9b6508..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_InventoryOutboundOrderDetail.cs"
+++ /dev/null
@@ -1,76 +0,0 @@
-锘縰sing SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEA_Core.DB.Models;
-
-namespace WIDESEA_Model.Models.Order
-{
-    /// <summary>
-    /// 鐩樼偣鍑哄簱鍗曟嵁鏄庣粏琛�
-    ///</summary>
-    [SugarTable("Dt_InventoryOutboundOrderDetail")]
-    public class Dt_InventoryOutboundOrderDetail : BaseEntity
-    {
-        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
-        public int Id { get; set; }
-
-        /// <summary>
-        /// 鍑哄簱鍗曟嵁涓婚敭ID
-        /// </summary>
-        [SugarColumn(ColumnName = "OrderId", Length = 255)]
-        public int OrderId { get; set; }
-
-        /// <summary>
-        /// 鐗╂枡缂栫爜
-        /// </summary>
-        [SugarColumn(ColumnName = "MaterielCode", Length = 255)]
-        public string MaterielCode { get; set; }
-
-        /// <summary>
-        /// 鐗╂枡鍚嶇О
-        /// </summary>
-        [SugarColumn(ColumnName = "MaterielName", Length = 255)]
-        public string MaterielName { get; set; }
-
-        /// <summary>
-        /// 闇�姹傚垎绫�
-        /// </summary>
-
-        [SugarColumn(ColumnName = "DemandClassification", Length = 255)]
-        public string DemandClassification { get; set; }
-
-        /// <summary>
-        /// 鍑哄簱鏁伴噺
-        /// </summary>
-        [SugarColumn(ColumnName = "OrderQuantity")]
-        public decimal OrderQuantity { get; set; }
-
-
-        /// <summary>
-        /// 鏈嚭搴撴暟閲�
-        /// </summary>
-        [SugarColumn(ColumnName = "NotOutQuantity")]
-        public decimal NotOutQuantity { get; set; }
-
-        /// <summary>
-        /// 宸插嚭搴撴暟閲�
-        /// </summary>
-        [SugarColumn(ColumnName = "OverOutQuantity")]
-        public decimal OverOutQuantity { get; set; }
-
-        /// <summary>
-        /// 鍗曟嵁鏄庣粏鐘舵��
-        /// </summary>
-        [SugarColumn(ColumnName = "OrderDetailStatus")]
-        public int OrderDetailStatus { get; set; }
-
-        /// <summary>
-        /// 澶囨敞
-        /// </summary>
-        [SugarColumn(ColumnName = "Remark", Length = 255)]
-        public string Remark { get; set; }
-    }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OrderOutDetails.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OrderOutDetails.cs"
new file mode 100644
index 0000000..4612682
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OrderOutDetails.cs"
@@ -0,0 +1,75 @@
+锘縰sing SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.DB.Models;
+
+namespace WIDESEA_Model.Models.Order
+{
+    /// <summary>
+    /// 鍑哄簱鍗曟嵁璇︽儏
+    ///</summary>
+    [SugarTable("Dt_OrderOutDetails")]
+    public class Dt_OrderOutDetails : BaseEntity
+    {
+        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 鍗曟嵁缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "OrderNo", Length = 255)]
+        public string OrderNo { get; set; }
+
+        /// <summary>
+        /// 鎵樼洏缂栫爜
+        /// </summary>
+        [SugarColumn(ColumnName = "PalletCode", Length = 255)]
+        public string PalletCode { get; set; }
+
+        /// <summary>
+        /// 鍗曟嵁绫诲瀷
+        /// </summary>
+        [SugarColumn(ColumnName = "OrderType", Length = 255)]
+        public int OrderType { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡缂栫爜
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterielCode", Length = 255)]
+        public string MaterielCode { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterielName", Length = 255)]
+        public string MaterielName { get; set; }
+
+        /// <summary>
+        /// 鎵�鍦ㄤ粨搴�
+        /// </summary>
+        [SugarColumn(ColumnName = "Warehouse", Length = 255)]
+        public string Warehouse { get; set; }
+
+        /// <summary>
+        /// 璋冩嫧浠撳簱
+        /// </summary>
+        [SugarColumn(ColumnName = "AllocateWarehouse",Length =255)]
+        public string AllocateWarehouse { get; set; }
+
+        /// <summary>
+        /// 鍑哄簱鏁伴噺
+        /// </summary>
+        [SugarColumn(ColumnName = "OutboundQuantity")]
+        public decimal OutboundQuantity { get; set; }
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [SugarColumn(ColumnName = "Remark", Length = 255)]
+        public string Remark { get; set; }
+
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OrderOutDetails_Hty.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OrderOutDetails_Hty.cs"
new file mode 100644
index 0000000..32e57b2
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OrderOutDetails_Hty.cs"
@@ -0,0 +1,75 @@
+锘縰sing SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.DB.Models;
+
+namespace WIDESEA_Model.Models.Order
+{
+    /// <summary>
+    /// 鍑哄簱鍗曟嵁璇︽儏
+    ///</summary>
+    [SugarTable("Dt_OrderOutDetails_Hty")]
+    public class Dt_OrderOutDetails_Hty : BaseEntity
+    {
+        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 鍗曟嵁缂栧彿
+        /// </summary>
+        [SugarColumn(ColumnName = "OrderNo", Length = 255)]
+        public string OrderNo { get; set; }
+
+        /// <summary>
+        /// 鎵樼洏缂栫爜
+        /// </summary>
+        [SugarColumn(ColumnName = "PalletCode", Length = 255)]
+        public string PalletCode { get; set; }
+
+        /// <summary>
+        /// 鍗曟嵁绫诲瀷
+        /// </summary>
+        [SugarColumn(ColumnName = "OrderType", Length = 255)]
+        public int OrderType { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡缂栫爜
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterielCode", Length = 255)]
+        public string MaterielCode { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        [SugarColumn(ColumnName = "MaterielName", Length = 255)]
+        public string MaterielName { get; set; }
+
+        /// <summary>
+        /// 鎵�鍦ㄤ粨搴�
+        /// </summary>
+        [SugarColumn(ColumnName = "Warehouse", Length = 255)]
+        public string Warehouse { get; set; }
+
+        /// <summary>
+        /// 璋冩嫧浠撳簱
+        /// </summary>
+        [SugarColumn(ColumnName = "AllocateWarehouse",Length =255)]
+        public string AllocateWarehouse { get; set; }
+
+        /// <summary>
+        /// 鍑哄簱鏁伴噺
+        /// </summary>
+        [SugarColumn(ColumnName = "OutboundQuantity")]
+        public decimal OutboundQuantity { get; set; }
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [SugarColumn(ColumnName = "Remark", Length = 255)]
+        public string Remark { get; set; }
+
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OtherOutboundOrder.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OtherOutboundOrder.cs"
deleted file mode 100644
index 57e2a31..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OtherOutboundOrder.cs"
+++ /dev/null
@@ -1,102 +0,0 @@
-锘縰sing SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEA_Core.DB.Models;
-
-namespace WIDESEA_Model.Models.Order
-{
-    /// <summary>
-    /// 鍏朵粬鍑哄簱鍗�
-    ///</summary>
-    [SugarTable("Dt_OtherOutboundOrder")]
-    public class Dt_OtherOutboundOrder : BaseEntity
-    {
-        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
-        public int Id { get; set; }
-
-        /// <summary>
-        /// 鍗曟嵁缂栧彿
-        /// </summary>
-        [SugarColumn(ColumnName = "OrderNo", Length = 255)]
-        public string OrderNo { get; set; }
-
-        /// <summary>
-        /// 涓婃父鍗曟嵁缂栧彿
-        /// </summary>
-        [SugarColumn(ColumnName = "UpperOrderNo", Length = 255)]
-        public string UpperOrderNo { get; set; }
-
-        ///// <summary>
-        ///// 鐗╂枡缂栫爜
-        ///// </summary>
-        //[SugarColumn(ColumnName = "MaterielCode", Length = 255)]
-        //public string MaterielCode { get; set; }
-
-        ///// <summary>
-        ///// 鐗╂枡鍚嶇О
-        ///// </summary>
-        //[SugarColumn(ColumnName = "MaterielName", Length = 255)]
-        //public string MaterielName { get; set; }
-
-        ///// <summary>
-        ///// 闇�姹傚垎绫�
-        ///// </summary>
-
-        //[SugarColumn(ColumnName = "DemandClassification", Length = 255)]
-        //public string DemandClassification { get; set; }
-
-        ///// <summary>
-        ///// 鍑哄簱鏁伴噺
-        ///// </summary>
-        //[SugarColumn(ColumnName = "OrderQuantity")]
-        //public decimal OrderQuantity { get; set; }
-
-        ///// <summary>
-        ///// 宸插嚭搴撴暟閲�
-        ///// </summary>
-        //[SugarColumn(ColumnName = "OverOutQuantity")]
-        //public decimal OverOutQuantity { get; set; }
-
-        ///// <summary>
-        ///// 鏈嚭搴撴暟閲�
-        ///// </summary>
-        //[SugarColumn(ColumnName = "NotOutQuantity")]
-        //public decimal NotOutQuantity { get; set; }
-
-        /// <summary>
-        /// 鍗曟嵁绫诲瀷
-        /// </summary>
-
-        [SugarColumn(ColumnName = "OrderType")]
-        public int OrderType { get; set; }
-
-        /// <summary>
-        /// 鍗曟嵁鐘舵��
-        /// </summary>
-        [SugarColumn(ColumnName = "OrderStatus")]
-        public int OrderStatus { get; set; }
-
-
-        /// <summary>
-        /// 鍒涘缓鏂瑰紡
-        /// </summary>
-        [SugarColumn(ColumnName = "CreateType")]
-        public int CreateType { get; set; }
-
-        /// <summary>
-        /// 澶囨敞
-        /// </summary>
-        [SugarColumn(ColumnName = "Remark", Length = 255)]
-        public string Remark { get; set; }
-
-        /// <summary>
-        /// 鍏朵粬鍑哄簱璁㈠崟鏄庣粏
-        /// </summary>
-        [SugarColumn(ColumnName = "Dt_OtherOutboundOrderDetail")]
-        [Navigate(NavigateType.OneToMany, nameof(Dt_OtherOutboundOrderDetail.OrderId))]
-        public List<Dt_OtherOutboundOrderDetail>? Details { get; set; }
-    }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OtherOutboundOrderDetail.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OtherOutboundOrderDetail.cs"
deleted file mode 100644
index f8185b8..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OtherOutboundOrderDetail.cs"
+++ /dev/null
@@ -1,76 +0,0 @@
-锘縰sing SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEA_Core.DB.Models;
-
-namespace WIDESEA_Model.Models.Order
-{
-    /// <summary>
-    /// 鍏朵粬鍑哄簱鍗曟嵁鏄庣粏琛�
-    ///</summary>
-    [SugarTable("Dt_OtherOutboundOrderDetail")]
-    public class Dt_OtherOutboundOrderDetail : BaseEntity
-    {
-        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
-        public int Id { get; set; }
-
-        /// <summary>
-        /// 鍑哄簱鍗曟嵁涓婚敭ID
-        /// </summary>
-        [SugarColumn(ColumnName = "OrderId", Length = 255)]
-        public int OrderId { get; set; }
-
-        /// <summary>
-        /// 鐗╂枡缂栫爜
-        /// </summary>
-        [SugarColumn(ColumnName = "MaterielCode", Length = 255)]
-        public string MaterielCode { get; set; }
-
-        /// <summary>
-        /// 鐗╂枡鍚嶇О
-        /// </summary>
-        [SugarColumn(ColumnName = "MaterielName", Length = 255)]
-        public string MaterielName { get; set; }
-
-        /// <summary>
-        /// 闇�姹傚垎绫�
-        /// </summary>
-
-        [SugarColumn(ColumnName = "DemandClassification", Length = 255)]
-        public string DemandClassification { get; set; }
-
-        /// <summary>
-        /// 鍑哄簱鏁伴噺
-        /// </summary>
-        [SugarColumn(ColumnName = "OrderQuantity")]
-        public decimal OrderQuantity { get; set; }
-
-
-        /// <summary>
-        /// 鏈嚭搴撴暟閲�
-        /// </summary>
-        [SugarColumn(ColumnName = "NotOutQuantity")]
-        public decimal NotOutQuantity { get; set; }
-
-        /// <summary>
-        /// 宸插嚭搴撴暟閲�
-        /// </summary>
-        [SugarColumn(ColumnName = "OverOutQuantity")]
-        public decimal OverOutQuantity { get; set; }
-
-        /// <summary>
-        /// 鍗曟嵁鏄庣粏鐘舵��
-        /// </summary>
-        [SugarColumn(ColumnName = "OrderDetailStatus")]
-        public int OrderDetailStatus { get; set; }
-
-        /// <summary>
-        /// 澶囨敞
-        /// </summary>
-        [SugarColumn(ColumnName = "Remark", Length = 255)]
-        public string Remark { get; set; }
-    }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrder.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrder.cs"
index 44d88e3..45589f4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrder.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrder.cs"
@@ -30,6 +30,34 @@
         public string UpperOrderNo { get; set; }
 
         /// <summary>
+        /// 闇�姹傚垎绫�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "OrderName", Length = 255)]
+        public string OrderName { get; set; }
+
+        /// <summary>
+        /// 闇�姹傚垎绫�
+        /// </summary>
+
+        [SugarColumn(ColumnName = "DemandClassification", Length = 255)]
+        public string DemandClassification { get; set; }
+
+        /// <summary>
+        /// 璁㈠崟鏂欏彿
+        /// </summary>
+
+        [SugarColumn(ColumnName = "OrderPartNumber", Length = 255)]
+        public string OrderPartNumber { get; set; }
+
+        /// <summary>
+        /// 璁㈠崟瑙勬牸
+        /// </summary>
+
+        [SugarColumn(ColumnName = "OrderSpec", Length = 255)]
+        public string OrderSpec { get; set; }
+
+        /// <summary>
         /// 鍗曟嵁绫诲瀷
         /// </summary>
 
@@ -59,7 +87,7 @@
         /// 鐢熶骇棰嗘枡鍑哄簱璁㈠崟鏄庣粏
         /// </summary>
         [SugarColumn(ColumnName = "Dt_ProductionOutboundOrderDetail")]
-        [Navigate(NavigateType.OneToMany, nameof(Dt_ProductionOutboundOrderDetail.OrderId))]
+        [Navigate(NavigateType.OneToMany, nameof(Dt_ProductionOutboundOrderDetail.OrderId), nameof(Id))]
         public List<Dt_ProductionOutboundOrderDetail>? Details { get; set; }
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrderDetail.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrderDetail.cs"
index 87d105b..e785d02 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrderDetail.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrderDetail.cs"
@@ -36,11 +36,16 @@
         public string MaterielName { get; set; }
 
         /// <summary>
-        /// 闇�姹傚垎绫�
+        /// 瑙勬牸
         /// </summary>
+        [SugarColumn(ColumnName = "Specs", Length = 255)]
+        public string Specs { get; set; }
 
-        [SugarColumn(ColumnName = "DemandClassification", Length = 255)]
-        public string DemandClassification { get; set; }
+        /// <summary>
+        /// 鍗曢噸
+        /// </summary>
+        [SugarColumn(ColumnName = "Weight")]
+        public decimal Weight { get; set; }
 
         /// <summary>
         /// 鍑哄簱鏁伴噺
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_InventoryOutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_InventoryOutboundOrderDetailRepository.cs"
deleted file mode 100644
index 58311e9..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_InventoryOutboundOrderDetailRepository.cs"
+++ /dev/null
@@ -1,12 +0,0 @@
-锘縰sing WIDESEA_Core.BaseRepository;
-using WIDESEA_IOrderRepository;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_OrderRepository;
-
-public class Dt_InventoryOutboundOrderDetailRepository : RepositoryBase<Dt_InventoryOutboundOrderDetail>, IDt_InventoryOutboundOrderDetailRepository
-{
-    public Dt_InventoryOutboundOrderDetailRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
-    {
-    }
-}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_InventoryOutboundOrderRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_InventoryOutboundOrderRepository.cs"
deleted file mode 100644
index ddaff17..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_InventoryOutboundOrderRepository.cs"
+++ /dev/null
@@ -1,12 +0,0 @@
-锘縰sing WIDESEA_Core.BaseRepository;
-using WIDESEA_IOrderRepository;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_OrderRepository;
-
-public class Dt_InventoryOutboundOrderRepository : RepositoryBase<Dt_InventoryOutboundOrder>, IDt_InventoryOutboundOrderRepository
-{
-    public Dt_InventoryOutboundOrderRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
-    {
-    }
-}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OrderOutDetailsRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OrderOutDetailsRepository.cs"
new file mode 100644
index 0000000..65bf0b1
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OrderOutDetailsRepository.cs"
@@ -0,0 +1,12 @@
+锘縰sing WIDESEA_Core.BaseRepository;
+using WIDESEA_IOrderRepository;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_OrderRepository;
+
+public class Dt_OrderOutDetailsRepository : RepositoryBase<Dt_OrderOutDetails>, IDt_OrderOutDetailsRepository
+{
+    public Dt_OrderOutDetailsRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
+    {
+    }
+}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OtherOutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OtherOutboundOrderDetailRepository.cs"
deleted file mode 100644
index 2c99987..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OtherOutboundOrderDetailRepository.cs"
+++ /dev/null
@@ -1,12 +0,0 @@
-锘縰sing WIDESEA_Core.BaseRepository;
-using WIDESEA_IOrderRepository;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_OrderRepository;
-
-public class Dt_OtherOutboundOrderDetailRepository : RepositoryBase<Dt_OtherOutboundOrderDetail>, IDt_OtherOutboundOrderDetailRepository
-{
-    public Dt_OtherOutboundOrderDetailRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
-    {
-    }
-}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OtherOutboundOrderRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OtherOutboundOrderRepository.cs"
deleted file mode 100644
index 601182c..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OtherOutboundOrderRepository.cs"
+++ /dev/null
@@ -1,12 +0,0 @@
-锘縰sing WIDESEA_Core.BaseRepository;
-using WIDESEA_IOrderRepository;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_OrderRepository;
-
-public class Dt_OtherOutboundOrderRepository : RepositoryBase<Dt_OtherOutboundOrder>, IDt_OtherOutboundOrderRepository
-{
-    public Dt_OtherOutboundOrderRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage)
-    {
-    }
-}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderService.cs"
index 233b91e..26b43f4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderService.cs"
@@ -159,7 +159,7 @@
 
                         if (result.Item1.Count <= 0)
                         {
-                            return content.Error("鏈壘鍒板簱瀛樺垎閰嶏紝璇风‘璁ゆ槸鍚﹀瓨鍦ㄥ簱瀛樻垨鍗曟嵁鏁伴噺宸插嚭瀹�");
+                            return content.Error($"璁㈠崟{outboundOrder.UpperOrderNo}鐗╂枡缂栫爜{allocateoutboundOrderdetail.MaterielCode}鏈壘鍒板簱瀛樺垎閰嶏紝璇风‘璁ゆ槸鍚﹀瓨鍦ㄥ簱瀛樻垨鍗曟嵁鏁伴噺宸插嚭瀹�");
                         }
 
                         result.Item1.Distinct().ForEach(item =>
@@ -176,6 +176,8 @@
                             taskDtos.Add(task);
                             item.StockInfoDetails.Where(x => x.MaterielCode == allocateoutboundOrderdetail.MaterielCode).FirstOrDefault().Status = (int)StockStateEmun.鍑哄簱閿佸畾;
                             item.StockStatus = (int)StockStateEmun.鍑哄簱閿佸畾;
+                            item.Remark = requestOut.Warehouse;
+                            item.OrderNo = allocateoutboundOrderdetail.Id.ToString();
                         });
                         List<Dt_Task> taskNews = new List<Dt_Task>();
                         List<WMSTaskDTO> taskDTOs = new List<WMSTaskDTO>();
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InboundOrderService.cs"
index f2f9ff9..3bd9217 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InboundOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InboundOrderService.cs"
@@ -1,4 +1,5 @@
-锘縰sing WIDESEA_Core.BaseRepository;
+锘縰sing WIDESEA_Core;
+using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
 using WIDESEA_IOrderRepository;
 using WIDESEA_IOrderServices;
@@ -6,6 +7,7 @@
 using WIDESEA_IStorageTaskServices;
 using WIDESEA_Model.Models;
 using WIDESEA_Model.Models.Order;
+using WIDESEA_OrderRepository;
 
 namespace WIDESEA_OrderServices
 {
@@ -19,5 +21,23 @@
             _unitOfWorkManage = unitOfWorkManage;
 
         }
+
+        public WebResponseContent GetInboundOrderInfo(string OrderNo)
+        {
+            WebResponseContent content=new WebResponseContent();
+            try
+            {
+                var InboundOrder = BaseDal.QueryFirst(x => x.OrderNo == OrderNo);
+                if (InboundOrder == null)
+                {
+                    return content.Error($"鏈壘鍒拌鍗曞彿鏁版嵁璇蜂汉宸ョ‘璁�");
+                }
+                return content.OK(data: InboundOrder);
+            }
+            catch (Exception ex)
+            {
+                return content.Error(ex.Message);
+            }
+        }
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InventoryOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InventoryOutboundOrderDetailService.cs"
deleted file mode 100644
index 2895893..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InventoryOutboundOrderDetailService.cs"
+++ /dev/null
@@ -1,62 +0,0 @@
-锘縰sing SqlSugar;
-using System.Linq.Expressions;
-using WIDESEA_Core;
-using WIDESEA_Core.BaseRepository;
-using WIDESEA_Core.BaseServices;
-using WIDESEA_Core.Helper;
-using WIDESEA_IOrderRepository;
-using WIDESEA_IOrderServices;
-using WIDESEA_IStorageTaskRepository;
-using WIDESEA_IStorageTaskServices;
-using WIDESEA_Model.Models;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_OrderServices
-{
-    public class Dt_InventoryOutboundOrderDetailService : ServiceBase<Dt_InventoryOutboundOrderDetail, IDt_InventoryOutboundOrderDetailRepository>, IDt_InventoryOutboundOrderDetailService
-    {
-        private readonly IUnitOfWorkManage _unitOfWorkManage;
-
-        public Dt_InventoryOutboundOrderDetailService(IDt_InventoryOutboundOrderDetailRepository BaseDal,
-                                        IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
-        {
-            _unitOfWorkManage = unitOfWorkManage;
-
-        }
-        public override PageGridData<Dt_InventoryOutboundOrderDetail> GetPageData(PageDataOptions options)
-        {
-            string wheres = ValidatePageOptions(options);
-            //鑾峰彇鎺掑簭瀛楁
-            Dictionary<string, OrderByType> orderbyDic = GetPageDataSort(options, TProperties);
-            List<OrderByModel> orderByModels = new List<OrderByModel>();
-            foreach (var item in orderbyDic)
-            {
-                OrderByModel orderByModel = new()
-                {
-                    FieldName = item.Key,
-                    OrderByType = item.Value
-                };
-                orderByModels.Add(orderByModel);
-            }
-
-
-            int totalCount = 0;
-            List<SearchParameters> searchParametersList = new List<SearchParameters>();
-            if (!string.IsNullOrEmpty(options.Wheres))
-            {
-                try
-                {
-                    searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>();
-                    options.Filter = searchParametersList;
-                }
-                catch { }
-            }
-            var data = BaseDal.Db.Queryable<Dt_InventoryOutboundOrderDetail>()
-                .WhereIF(!wheres.IsNullOrEmpty(), wheres)
-                .OrderBy(orderByModels)
-                .ToPageList(options.Page, options.Rows, ref totalCount);
-            var x=new PageGridData<Dt_InventoryOutboundOrderDetail>(totalCount, data);
-            return new PageGridData<Dt_InventoryOutboundOrderDetail>(totalCount, data);
-        }
-    }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InventoryOutboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InventoryOutboundOrderService.cs"
deleted file mode 100644
index bb9f4e2..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InventoryOutboundOrderService.cs"
+++ /dev/null
@@ -1,368 +0,0 @@
-锘縰sing MailKit.Search;
-using Masuit.Tools;
-using System.Linq.Expressions;
-using WIDESEA_Common;
-using WIDESEA_Core;
-using WIDESEA_Core.BaseRepository;
-using WIDESEA_Core.BaseServices;
-using WIDESEA_Core.Enums;
-using WIDESEA_Core.Helper;
-using WIDESEA_DTO;
-using WIDESEA_DTO.Order;
-using WIDESEA_DTO.Stock;
-using WIDESEA_DTO.WMS;
-using WIDESEA_IOrderRepository;
-using WIDESEA_IOrderServices;
-using WIDESEA_IStorageBasicRepository;
-using WIDESEA_IStorageBasicService;
-using WIDESEA_IStorageTaskRepository;
-using WIDESEA_IStorageTaskServices;
-using WIDESEA_Model.Models;
-using WIDESEA_Model.Models.Order;
-using WIDESEA_OrderRepository;
-
-namespace WIDESEA_OrderServices
-{
-    public class Dt_InventoryOutboundOrderService : ServiceBase<Dt_InventoryOutboundOrder, IDt_InventoryOutboundOrderRepository>, IDt_InventoryOutboundOrderService
-    {
-        private readonly IUnitOfWorkManage _unitOfWorkManage;
-        private readonly IDt_InventoryOutboundOrderDetailRepository _inventoryoutboundOrderDetailRepository;
-        private readonly IStockInfoDetailRepository _stockInfoDetailRepository;
-        private readonly IStockInfoRepository _stockInfoRepository;
-        private readonly IStockInfoService _stockInfoService;
-        private readonly IDt_TaskService _taskService;
-        private readonly ILocationInfoRepository _locationRepository;
-        private readonly IDt_TaskRepository _taskRepository;
-        private readonly ILocationStatusChangeRecordRepository _locationStatusChangeRecordRepository;
-
-        public Dt_InventoryOutboundOrderService(IDt_InventoryOutboundOrderRepository BaseDal,
-                                        IUnitOfWorkManage unitOfWorkManage,
-                                        IDt_InventoryOutboundOrderDetailRepository inventoryoutboundOrderDetailRepository,
-                                        IStockInfoDetailRepository stockInfoDetailRepository,
-                                        IStockInfoRepository stockInfoRepository,
-                                        IStockInfoService stockInfoService,
-                                        IDt_TaskService taskService,
-                                        ILocationInfoRepository locationRepository,
-                                        IDt_TaskRepository taskRepository,
-                                        ILocationStatusChangeRecordRepository locationStatusChangeRecordRepository) : base(BaseDal)
-        {
-            _unitOfWorkManage = unitOfWorkManage;
-            _inventoryoutboundOrderDetailRepository = inventoryoutboundOrderDetailRepository;
-            _stockInfoDetailRepository = stockInfoDetailRepository;
-            _stockInfoRepository = stockInfoRepository;
-            _stockInfoService = stockInfoService;
-            _taskService = taskService;
-            _locationRepository = locationRepository;
-            _taskRepository = taskRepository;
-            _locationStatusChangeRecordRepository = locationStatusChangeRecordRepository;
-        }
-
-        public override WebResponseContent AddData(SaveModel saveModel)
-        {
-            saveModel.MainData.Add("orderNo", GetOrderPintCode("OrderNoOut"));
-            saveModel.MainData.Add("upperOrderNo", saveModel.MainData["orderNo"]);
-            saveModel.MainData.Add("orderType", (int)OrderTypeEmun.鐩樼偣鍑哄簱鍗�);
-            saveModel.MainData.Add("orderStatus", (int)OrderStateEmun.鏈紑濮�);
-            saveModel.MainData.Add("createType", (int)OrderCreateTypeEmun.鎵嬪姩鍒涘缓);
-            return base.AddData(saveModel);
-        }
-
-        public WebResponseContent GetInventoryOutboundOrder(OutboundOrderGetDTO outboundOrderGetDTO)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                Expression<Func<Dt_InventoryOutboundOrder, bool>> expressionOrder = x => true;
-                if (!string.IsNullOrEmpty(outboundOrderGetDTO.OrderNo))
-                {
-                    expressionOrder = x => x.UpperOrderNo.Contains(outboundOrderGetDTO.OrderNo);
-                }
-                int count = 0;
-                if (outboundOrderGetDTO.OrderNo == "")
-                {
-                    count = BaseDal.QueryData(x => x.OrderStatus != (int)OrderStateEmun.宸插畬鎴�).ToList().Count();
-                }
-                else
-                {
-                    count = BaseDal.QueryData(x => x.OrderStatus != (int)OrderStateEmun.宸插畬鎴� && x.UpperOrderNo == outboundOrderGetDTO.OrderNo).ToList().Count();
-                }
-
-                int maxPage = Convert.ToInt32(Math.Ceiling(count / 10.0));
-                if (outboundOrderGetDTO.pageNo <= maxPage)
-                {
-                    var outboundOrder = BaseDal.Db.Queryable<Dt_InventoryOutboundOrder>().Where(expressionOrder).OrderByDescending(x => x.CreateDate).Skip((outboundOrderGetDTO.pageNo - 1) * 10).Take(10).Select(x => new Dt_InventoryOutboundOrder
-                    {
-                        OrderNo = x.OrderNo,
-                        Id = x.Id,
-                        UpperOrderNo = x.UpperOrderNo,
-                        CreateDate = x.CreateDate,
-                        Creater = x.Creater
-                    }).ToList();
-
-                    content = WebResponseContent.Instance.OK(data: outboundOrder);
-                }
-                else
-                {
-                    var outboundOrder = BaseDal.Db.Queryable<Dt_InventoryOutboundOrder>().Where(expressionOrder).OrderByDescending(x => x.CreateDate).Skip(0 * 10).Take(10).Select(x => new Dt_InventoryOutboundOrder
-                    {
-                        OrderNo = x.OrderNo,
-                        Id = x.Id,
-                        UpperOrderNo = x.UpperOrderNo,
-                        CreateDate = x.CreateDate,
-                        Creater = x.Creater
-                    }).ToList();
-
-                    content = WebResponseContent.Instance.OK(data: outboundOrder);
-                }
-            }
-            catch (Exception ex)
-            {
-                content = WebResponseContent.Instance.Error($"鏌ヨ鍑哄簱鍗曟嵁閿欒,閿欒淇℃伅:{ex.Message}");
-            }
-            return content;
-        }
-
-        public WebResponseContent GetInventoryOutboundOrderDetail(OutboundOrderGetDTO outboundOrderGetDTO)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                var otheroutboundOrder = BaseDal.QueryFirst(x => x.Id == outboundOrderGetDTO.id);
-
-                Expression<Func<Dt_InventoryOutboundOrderDetail, bool>> expression = x => x.OrderId == otheroutboundOrder.Id;
-                if (!string.IsNullOrEmpty(outboundOrderGetDTO.searchValue))
-                {
-                    expression = x => x.OrderId == otheroutboundOrder.Id && x.MaterielCode.Contains(outboundOrderGetDTO.searchValue);
-                }
-
-                var otheroutboundOrderdetail = _inventoryoutboundOrderDetailRepository.Db.Queryable<Dt_InventoryOutboundOrderDetail>().Where(expression).Where(x => x.OrderQuantity > x.OverOutQuantity).Select(x => new Dt_InventoryOutboundOrderDetail { MaterielCode = x.MaterielCode, MaterielName = x.MaterielName, OrderQuantity = x.OrderQuantity, OverOutQuantity = x.OverOutQuantity, Id = x.Id }).ToList();
-                content = WebResponseContent.Instance.OK(data: otheroutboundOrderdetail);
-            }
-            catch (Exception ex)
-            {
-                content = WebResponseContent.Instance.Error($"鏌ヨ鍑哄簱鍗曟嵁閿欒,閿欒淇℃伅:{ex.Message}");
-            }
-            return content;
-        }
-
-        #region 鏍规嵁鍗曟嵁鏄庣粏鐢熸垚鍑哄簱浠诲姟
-
-        public async Task<WebResponseContent> GenerateInventoryOutboundTask(GenerateOutTaskDto requestOut)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                foreach (var orderId in requestOut.orderIds)
-                {
-                    List<RequestTaskDto> taskDtos = new List<RequestTaskDto>();
-                    Dt_InventoryOutboundOrderDetail outboundOrderdetail = _inventoryoutboundOrderDetailRepository.QueryFirst(x => x.Id == orderId);
-                    Dt_InventoryOutboundOrder outboundOrder = BaseDal.QueryFirst(x => x.Id == outboundOrderdetail.OrderId);
-
-                    (bool, string) checkResult = CheckSelectStockDeital(outboundOrderdetail, requestOut.stockViews, requestOut);
-                    if (!checkResult.Item1) throw new Exception(checkResult.Item2);
-
-                    else
-                    {
-                        var result = AssignStockOutbound(outboundOrderdetail, requestOut.stockViews);
-
-                        if (result.Item1.Count <= 0)
-                        {
-                            return content.Error("鏈壘鍒板簱瀛樺垎閰嶏紝璇风‘璁ゆ槸鍚﹀瓨鍦ㄥ簱瀛樻垨鍗曟嵁鏁伴噺宸插嚭瀹�");
-                        }
-
-                        result.Item1.Distinct().ForEach(item =>
-                        {
-                            RequestTaskDto task = new RequestTaskDto
-                            {
-                                TaskType = outboundOrder.OrderType,
-                                OrderNo = outboundOrder.OrderNo,
-                                MaterielCode = outboundOrderdetail.MaterielCode,
-                                Position = item.LocationCode,
-                                PalletCode = item.PalletCode,
-                                AreaId = Convert.ToInt32(requestOut.AreaId),
-                            };
-                            taskDtos.Add(task);
-                            item.StockInfoDetails.Where(x => x.MaterielCode == outboundOrderdetail.MaterielCode).FirstOrDefault().Status = (int)StockStateEmun.鍑哄簱閿佸畾;
-                            item.StockStatus = (int)StockStateEmun.鍑哄簱閿佸畾;
-                        });
-                        List<Dt_Task> taskNews = new List<Dt_Task>();
-                        List<WMSTaskDTO> taskDTOs = new List<WMSTaskDTO>();
-                        foreach (var item in taskDtos)
-                        {
-                            taskNews.Add(await _taskService.RequestOutboundTaskAsync(item));
-
-                        }
-                        List<DtLocationStatusChangeRecord> locationStatusChangeRecords = new List<DtLocationStatusChangeRecord>();
-                        List<DtLocationInfo> locations = new List<DtLocationInfo>();
-                        foreach (var item in taskNews)
-                        {
-                            taskDTOs.Add(CreateTaskDTO(item));
-                            var result1 = _taskService.UpdateLocationStatus(item.SourceAddress, LocationEnum.InStockDisable, item.TaskNum.Value, (int)StatusChangeTypeEnum.AutomaticOutbound);
-                            var result2 = _taskService.UpdateLocationStatus(item.TargetAddress, LocationEnum.Lock, item.TaskNum.Value, (int)StatusChangeTypeEnum.AutomaticOutbound);
-                            locationStatusChangeRecords.AddRange(result1.Item1);
-                            locationStatusChangeRecords.AddRange(result2.Item1);
-                            locations.AddRange(result1.Item2);
-                            locations.AddRange(result2.Item2);
-                        }
-
-                        await _unitOfWorkManage.UseTranAsync(async () =>
-                        {
-                            _taskRepository.AddData(taskNews);
-                            _stockInfoRepository.UpdateDataNav(result.Item1);
-                            await _locationStatusChangeRecordRepository.AddDataAsync(locationStatusChangeRecords);
-                            await _locationRepository.UpdateDataAsync(locations);
-                            _inventoryoutboundOrderDetailRepository.UpdateData(result.Item2);
-                        });
-                        content = await _taskService.SendWCSTask(taskDTOs);
-                    }
-                }
-                return content;
-            }
-            catch (Exception ex)
-            {
-                return content.Error(ex.Message);
-            }
-
-        }
-        private WMSTaskDTO CreateTaskDTO(Dt_Task task)
-        {
-            return new WMSTaskDTO
-            {
-                TaskNum = task.TaskNum.Value,
-                Grade = task.Grade.Value,
-                PalletCode = task.PalletCode,
-                RoadWay = task.Roadway,
-                SourceAddress = task.SourceAddress,
-                TargetAddress = task.TargetAddress,
-                TaskState = task.TaskState,
-                Id = 0,
-                TaskType = task.TaskType,
-                AGVTaskNum = task.AGVTaskNum,
-                Remark = task.Remark
-            };
-        }
-        public (List<DtStockInfo>, Dt_InventoryOutboundOrderDetail) AssignStockOutbound(Dt_InventoryOutboundOrderDetail inventoryOutboundOrderDetail, List<StockSelectViewDTO> stockSelectViews)
-        {
-            decimal originalNeedQuantity = inventoryOutboundOrderDetail.OrderQuantity - inventoryOutboundOrderDetail.OverOutQuantity;
-
-            decimal needQuantity = originalNeedQuantity;
-
-            List<DtStockInfo> outStocks = new List<DtStockInfo>();
-            if (stockSelectViews != null && stockSelectViews.Count > 0)
-            {
-                outStocks = BaseDal.Db.Queryable<DtStockInfo>().Where(x => stockSelectViews.Select(x => x.PalletCode).ToList().Contains(x.PalletCode)).Includes(x => x.StockInfoDetails).ToList();
-            }
-            else
-            {
-                outStocks = GetStockInfos(inventoryOutboundOrderDetail.MaterielCode);
-            }
-
-            List<DtStockInfo> outStockNews = new List<DtStockInfo>();
-
-            foreach (var item in outStocks)
-            {
-                var stockDetail = item.StockInfoDetails
-                .Where(d => d.MaterielCode == inventoryOutboundOrderDetail.MaterielCode && d.Quantity > 0);
-                if (needQuantity <= 0)
-                {
-                    continue;
-                }
-                foreach (var detail in stockDetail)
-                {
-                    if (detail != null)
-                    {
-                        if (needQuantity >= detail.Quantity)
-                        {
-                            if (detail.Quantity <= detail.OutboundQuantity)
-                            {
-                                continue;
-                            }
-                            needQuantity -= detail.Quantity;
-                            detail.OutboundQuantity = detail.Quantity;
-                        }
-                        else
-                        {
-                            if (detail.Quantity <= detail.OutboundQuantity)
-                            {
-                                continue;
-                            }
-                            detail.OutboundQuantity = needQuantity;
-                            needQuantity = 0;
-                        }
-                        outStockNews.Add(item);
-                    }
-                }
-
-            }
-            inventoryOutboundOrderDetail.OverOutQuantity = inventoryOutboundOrderDetail.OrderQuantity - needQuantity;
-
-            if (inventoryOutboundOrderDetail.OverOutQuantity != 0)
-            {
-                inventoryOutboundOrderDetail.OrderDetailStatus = (int)OrderStateEmun.寮�濮�;
-            }
-            return (outStockNews, inventoryOutboundOrderDetail);
-        }
-
-        private (bool, string) CheckSelectStockDeital(Dt_InventoryOutboundOrderDetail inventoryOutboundOrderDetail, List<StockSelectViewDTO> stockSelectViews, GenerateOutTaskDto requestOut)
-        {
-            if (inventoryOutboundOrderDetail == null)
-            {
-                return (false, "鏈壘鍒板嚭搴撳崟淇℃伅");
-            }
-            if (inventoryOutboundOrderDetail.OrderDetailStatus == (int)OrderStateEmun.宸插畬鎴�)
-            {
-                return (false, "璇ユ槑缁嗕笉鍙搷浣�");
-            }
-            if (stockSelectViews != null && stockSelectViews.Sum(x => x.UseableQuantity) > inventoryOutboundOrderDetail.OrderQuantity - inventoryOutboundOrderDetail.OverOutQuantity)
-            {
-                return (false, "閫夋嫨鏁伴噺瓒呭嚭鍗曟嵁鏁伴噺");
-            }
-            if (inventoryOutboundOrderDetail.OrderQuantity <= inventoryOutboundOrderDetail.OverOutQuantity)
-            {
-                return (false, "鍗曟嵁鏁伴噺宸插嚭搴撳畬鎴�");
-            }
-            return (true, "鎴愬姛");
-        }
-
-        public List<DtStockInfo> GetStockInfos(string materielCode)
-        {
-            var stocks = BaseDal.Db.Queryable<DtStockInfo>()
-            .Includes(x => x.StockInfoDetails)
-            .Includes(x => x.LocationInfo)
-            .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable)
-            .Where(x => x.StockInfoDetails.Any(d => d.MaterielCode == materielCode && d.Quantity > 0)).ToList().OrderBy(x => x.CreateDate).ToList();
-
-            if (stocks == null || stocks.Count() <= 0)
-            {
-                return stocks;
-            }
-
-            var locations = stocks.Select(s => s.LocationInfo).ToList();
-            List<DtLocationInfo> locationInfos = _stockInfoService.GetStockLocations(locations).Distinct().ToList();
-            stocks = stocks.Where(s => s.LocationInfo != null && locationInfos.Contains(s.LocationInfo)).ToList();
-            return stocks;
-        }
-        #endregion 鏍规嵁鍗曟嵁鏄庣粏鐢熸垚鍑哄簱浠诲姟
-
-
-        public string GetOrderPintCode(string printCode)
-        {
-            string PrintCode = "";
-            var PrintSetting = SqlSugarHelper.DbWMS.Queryable<Dt_PrintSetting>().Where(x => x.PrintCode == printCode).ToList().FirstOrDefault();
-
-            if (PrintSetting.Spare1 == DateTime.Now.ToString("yyyyMMdd"))
-            {
-                PrintCode = PrintSetting.Spare1 + PrintSetting.PrintNo.ToString().PadLeft(PrintSetting.Spare2, '0');
-                PrintSetting.PrintNo = PrintSetting.PrintNo + 1;
-            }
-            else
-            {
-                PrintSetting.Spare1 = DateTime.Now.ToString("yyyyMMdd");
-                PrintSetting.PrintNo = 2;
-                PrintCode = PrintSetting.Spare1 + 1.ToString().PadLeft(PrintSetting.Spare2, '0');
-            }
-            SqlSugarHelper.DbWMS.Updateable(PrintSetting).ExecuteCommand();
-            return PrintCode;
-        }
-    }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OrderOutDetailsService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OrderOutDetailsService.cs"
new file mode 100644
index 0000000..9229e34
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OrderOutDetailsService.cs"
@@ -0,0 +1,23 @@
+锘縰sing WIDESEA_Core.BaseRepository;
+using WIDESEA_Core.BaseServices;
+using WIDESEA_IOrderRepository;
+using WIDESEA_IOrderServices;
+using WIDESEA_IStorageTaskRepository;
+using WIDESEA_IStorageTaskServices;
+using WIDESEA_Model.Models;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_OrderServices
+{
+    public class Dt_OrderOutDetailsService : ServiceBase<Dt_OrderOutDetails, IDt_OrderOutDetailsRepository>, IDt_OrderOutDetailsService
+    {
+        private readonly IUnitOfWorkManage _unitOfWorkManage;
+
+        public Dt_OrderOutDetailsService(IDt_OrderOutDetailsRepository BaseDal,
+                                        IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
+        {
+            _unitOfWorkManage = unitOfWorkManage;
+
+        }
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OtherOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OtherOutboundOrderDetailService.cs"
deleted file mode 100644
index b04a472..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OtherOutboundOrderDetailService.cs"
+++ /dev/null
@@ -1,62 +0,0 @@
-锘縰sing SqlSugar;
-using System.Linq.Expressions;
-using WIDESEA_Core;
-using WIDESEA_Core.BaseRepository;
-using WIDESEA_Core.BaseServices;
-using WIDESEA_Core.Helper;
-using WIDESEA_IOrderRepository;
-using WIDESEA_IOrderServices;
-using WIDESEA_IStorageTaskRepository;
-using WIDESEA_IStorageTaskServices;
-using WIDESEA_Model.Models;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_OrderServices
-{
-    public class Dt_OtherOutboundOrderDetailService : ServiceBase<Dt_OtherOutboundOrderDetail, IDt_OtherOutboundOrderDetailRepository>, IDt_OtherOutboundOrderDetailService
-    {
-        private readonly IUnitOfWorkManage _unitOfWorkManage;
-
-        public Dt_OtherOutboundOrderDetailService(IDt_OtherOutboundOrderDetailRepository BaseDal,
-                                        IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
-        {
-            _unitOfWorkManage = unitOfWorkManage;
-
-        }
-        public override PageGridData<Dt_OtherOutboundOrderDetail> GetPageData(PageDataOptions options)
-        {
-            string wheres = ValidatePageOptions(options);
-            //鑾峰彇鎺掑簭瀛楁
-            Dictionary<string, OrderByType> orderbyDic = GetPageDataSort(options, TProperties);
-            List<OrderByModel> orderByModels = new List<OrderByModel>();
-            foreach (var item in orderbyDic)
-            {
-                OrderByModel orderByModel = new()
-                {
-                    FieldName = item.Key,
-                    OrderByType = item.Value
-                };
-                orderByModels.Add(orderByModel);
-            }
-
-
-            int totalCount = 0;
-            List<SearchParameters> searchParametersList = new List<SearchParameters>();
-            if (!string.IsNullOrEmpty(options.Wheres))
-            {
-                try
-                {
-                    searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>();
-                    options.Filter = searchParametersList;
-                }
-                catch { }
-            }
-            var data = BaseDal.Db.Queryable<Dt_OtherOutboundOrderDetail>()
-                .WhereIF(!wheres.IsNullOrEmpty(), wheres)
-                .OrderBy(orderByModels)
-                .ToPageList(options.Page, options.Rows, ref totalCount);
-            var x=new PageGridData<Dt_OtherOutboundOrderDetail>(totalCount, data);
-            return new PageGridData<Dt_OtherOutboundOrderDetail>(totalCount, data);
-        }
-    }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OtherOutboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OtherOutboundOrderService.cs"
deleted file mode 100644
index 52fca6c..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OtherOutboundOrderService.cs"
+++ /dev/null
@@ -1,369 +0,0 @@
-锘縰sing MailKit.Search;
-using Masuit.Tools;
-using System.Linq.Expressions;
-using WIDESEA_Common;
-using WIDESEA_Core;
-using WIDESEA_Core.BaseRepository;
-using WIDESEA_Core.BaseServices;
-using WIDESEA_Core.Enums;
-using WIDESEA_Core.Helper;
-using WIDESEA_DTO;
-using WIDESEA_DTO.Order;
-using WIDESEA_DTO.Stock;
-using WIDESEA_DTO.WMS;
-using WIDESEA_IOrderRepository;
-using WIDESEA_IOrderServices;
-using WIDESEA_IStorageBasicRepository;
-using WIDESEA_IStorageBasicService;
-using WIDESEA_IStorageTaskRepository;
-using WIDESEA_IStorageTaskServices;
-using WIDESEA_Model.Models;
-using WIDESEA_Model.Models.Order;
-using WIDESEA_StorageTaskRepository;
-using WIDESEA_StorageTaskServices;
-
-namespace WIDESEA_OrderServices
-{
-    public class Dt_OtherOutboundOrderService : ServiceBase<Dt_OtherOutboundOrder, IDt_OtherOutboundOrderRepository>, IDt_OtherOutboundOrderService
-    {
-        private readonly IUnitOfWorkManage _unitOfWorkManage;
-        private readonly IDt_OtherOutboundOrderDetailRepository _outboundOrderDetailRepository;
-        private readonly IStockInfoDetailRepository _stockInfoDetailRepository;
-        private readonly IStockInfoRepository _stockInfoRepository;
-        private readonly IStockInfoService _stockInfoService;
-        private readonly IDt_TaskService _taskService;
-        private readonly ILocationInfoRepository _locationRepository;
-        private readonly IDt_TaskRepository _taskRepository; 
-        private readonly ILocationStatusChangeRecordRepository _locationStatusChangeRecordRepository;
-
-        public Dt_OtherOutboundOrderService(IDt_OtherOutboundOrderRepository BaseDal,
-                                        IUnitOfWorkManage unitOfWorkManage,
-                                        IDt_OtherOutboundOrderDetailRepository outboundOrderDetailRepository,
-                                        IStockInfoDetailRepository stockInfoDetailRepository,
-                                        IStockInfoRepository stockInfoRepository,
-                                        IStockInfoService stockInfoService,
-                                        IDt_TaskService taskService,
-                                        ILocationInfoRepository locationRepository,
-                                        IDt_TaskRepository taskRepository,
-                                        ILocationStatusChangeRecordRepository locationStatusChangeRecordRepository) : base(BaseDal)
-        {
-            _unitOfWorkManage = unitOfWorkManage;
-            _outboundOrderDetailRepository = outboundOrderDetailRepository;
-            _stockInfoDetailRepository = stockInfoDetailRepository;
-            _stockInfoRepository = stockInfoRepository;
-            _stockInfoService = stockInfoService;
-            _taskService = taskService;
-            _locationRepository = locationRepository;
-            _taskRepository = taskRepository;
-            _locationStatusChangeRecordRepository = locationStatusChangeRecordRepository;
-        }
-
-        public override WebResponseContent AddData(SaveModel saveModel)
-        {
-            saveModel.MainData.Add("orderNo", GetOrderPintCode("OrderNoOut"));
-            saveModel.MainData.Add("upperOrderNo", saveModel.MainData["orderNo"]);
-            saveModel.MainData.Add("orderType", (int)OrderTypeEmun.鍏朵粬鍑哄簱鍗�);
-            saveModel.MainData.Add("orderStatus", (int)OrderStateEmun.鏈紑濮�);
-            saveModel.MainData.Add("createType", (int)OrderCreateTypeEmun.鎵嬪姩鍒涘缓);
-            return base.AddData(saveModel);
-        }
-
-
-        public WebResponseContent GetOtherOutboundOrder(OutboundOrderGetDTO outboundOrderGetDTO)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                Expression<Func<Dt_OtherOutboundOrder, bool>> expressionOrder = x => true;
-                if (!string.IsNullOrEmpty(outboundOrderGetDTO.OrderNo))
-                {
-                    expressionOrder = x => x.UpperOrderNo.Contains(outboundOrderGetDTO.OrderNo);
-                }
-                int count = 0;
-                if (outboundOrderGetDTO.OrderNo == "")
-                {
-                    count = BaseDal.QueryData(x => x.OrderStatus != (int)OrderStateEmun.宸插畬鎴�).ToList().Count();
-                }
-                else
-                {
-                    count = BaseDal.QueryData(x => x.OrderStatus != (int)OrderStateEmun.宸插畬鎴� && x.UpperOrderNo == outboundOrderGetDTO.OrderNo).ToList().Count();
-                }
-
-                int maxPage = Convert.ToInt32(Math.Ceiling(count / 10.0));
-                if (outboundOrderGetDTO.pageNo <= maxPage)
-                {
-                    var outboundOrder = BaseDal.Db.Queryable<Dt_OtherOutboundOrder>().Where(expressionOrder).OrderByDescending(x => x.CreateDate).Skip((outboundOrderGetDTO.pageNo - 1) * 10).Take(10).Select(x => new Dt_OtherOutboundOrder
-                    {
-                        OrderNo = x.OrderNo,
-                        Id = x.Id,
-                        UpperOrderNo = x.UpperOrderNo,
-                        CreateDate = x.CreateDate,
-                        Creater = x.Creater
-                    }).ToList();
-
-                    content = WebResponseContent.Instance.OK(data: outboundOrder);
-                }
-                else
-                {
-                    var outboundOrder = BaseDal.Db.Queryable<Dt_OtherOutboundOrder>().Where(expressionOrder).OrderByDescending(x => x.CreateDate).Skip(0 * 10).Take(10).Select(x => new Dt_OtherOutboundOrder
-                    {
-                        OrderNo = x.OrderNo,
-                        Id = x.Id,
-                        UpperOrderNo = x.UpperOrderNo,
-                        CreateDate = x.CreateDate,
-                        Creater = x.Creater
-                    }).ToList();
-
-                    content = WebResponseContent.Instance.OK(data: outboundOrder);
-                }
-            }
-            catch (Exception ex)
-            {
-                content = WebResponseContent.Instance.Error($"鏌ヨ鍑哄簱鍗曟嵁閿欒,閿欒淇℃伅:{ex.Message}");
-            }
-            return content;
-        }
-
-        public WebResponseContent GetOtherOutboundOrderDetail(OutboundOrderGetDTO outboundOrderGetDTO)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                var otheroutboundOrder = BaseDal.QueryFirst(x => x.Id == outboundOrderGetDTO.id);
-
-                Expression<Func<Dt_OtherOutboundOrderDetail, bool>> expression = x => x.OrderId == otheroutboundOrder.Id;
-                if (!string.IsNullOrEmpty(outboundOrderGetDTO.searchValue))
-                {
-                    expression = x => x.OrderId == otheroutboundOrder.Id && x.MaterielCode.Contains(outboundOrderGetDTO.searchValue);
-                }
-
-                var otheroutboundOrderdetail = _outboundOrderDetailRepository.Db.Queryable<Dt_OtherOutboundOrderDetail>().Where(expression).Where(x => x.OrderQuantity > x.OverOutQuantity).Select(x => new Dt_OtherOutboundOrderDetail { MaterielCode = x.MaterielCode, MaterielName = x.MaterielName, OrderQuantity = x.OrderQuantity, OverOutQuantity = x.OverOutQuantity, Id = x.Id }).ToList();
-                content = WebResponseContent.Instance.OK(data: otheroutboundOrderdetail);
-            }
-            catch (Exception ex)
-            {
-                content = WebResponseContent.Instance.Error($"鏌ヨ鍑哄簱鍗曟嵁閿欒,閿欒淇℃伅:{ex.Message}");
-            }
-            return content;
-        }
-
-        #region 鏍规嵁鍗曟嵁鏄庣粏鐢熸垚鍑哄簱浠诲姟
-
-        public async Task<WebResponseContent> GenerateOtherOutboundTask(GenerateOutTaskDto requestOut)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                foreach (var orderId in requestOut.orderIds)
-                {
-                    List<RequestTaskDto> taskDtos = new List<RequestTaskDto>();
-                    Dt_OtherOutboundOrderDetail outboundOrderdetail = _outboundOrderDetailRepository.QueryFirst(x => x.Id == orderId);
-                    Dt_OtherOutboundOrder outboundOrder = BaseDal.QueryFirst(x => x.Id == outboundOrderdetail.OrderId);
-
-                    (bool, string) checkResult = CheckSelectStockDeital(outboundOrderdetail, requestOut.stockViews, requestOut);
-                    if (!checkResult.Item1) throw new Exception(checkResult.Item2);
-
-                    else
-                    {
-                        var result = AssignStockOutbound(outboundOrderdetail, requestOut.stockViews);
-
-                        if (result.Item1.Count <= 0)
-                        {
-                            return content.Error("鏈壘鍒板簱瀛樺垎閰嶏紝璇风‘璁ゆ槸鍚﹀瓨鍦ㄥ簱瀛樻垨鍗曟嵁鏁伴噺宸插嚭瀹�");
-                        }
-
-                        result.Item1.Distinct().ForEach(item =>
-                        {
-                            RequestTaskDto task = new RequestTaskDto
-                            {
-                                TaskType = outboundOrder.OrderType,
-                                OrderNo = outboundOrder.OrderNo,
-                                MaterielCode = outboundOrderdetail.MaterielCode,
-                                Position = item.LocationCode,
-                                PalletCode = item.PalletCode,
-                                AreaId = Convert.ToInt32(requestOut.AreaId),
-                            };
-                            taskDtos.Add(task);
-                            item.StockInfoDetails.Where(x => x.MaterielCode == outboundOrderdetail.MaterielCode).FirstOrDefault().Status = (int)StockStateEmun.鍑哄簱閿佸畾;
-                            item.StockStatus = (int)StockStateEmun.鍑哄簱閿佸畾;
-                        });
-                        List<Dt_Task> taskNews = new List<Dt_Task>();
-                        List<WMSTaskDTO> taskDTOs = new List<WMSTaskDTO>();
-                        foreach (var item in taskDtos)
-                        {
-                            taskNews.Add(await _taskService.RequestOutboundTaskAsync(item));
-
-                        }
-                        List<DtLocationStatusChangeRecord> locationStatusChangeRecords = new List<DtLocationStatusChangeRecord>();
-                        List<DtLocationInfo> locations = new List<DtLocationInfo>();
-                        foreach (var item in taskNews)
-                        {
-                            taskDTOs.Add(CreateTaskDTO(item));
-                            var result1 = _taskService.UpdateLocationStatus(item.SourceAddress, LocationEnum.InStockDisable, item.TaskNum.Value, (int)StatusChangeTypeEnum.AutomaticOutbound);
-                            var result2 = _taskService.UpdateLocationStatus(item.TargetAddress, LocationEnum.Lock, item.TaskNum.Value, (int)StatusChangeTypeEnum.AutomaticOutbound);
-                            locationStatusChangeRecords.AddRange(result1.Item1);
-                            locationStatusChangeRecords.AddRange(result2.Item1);
-                            locations.AddRange(result1.Item2);
-                            locations.AddRange(result2.Item2);
-                        }
-
-                        await _unitOfWorkManage.UseTranAsync(async () =>
-                        {
-                            _taskRepository.AddData(taskNews);
-                            _stockInfoRepository.UpdateDataNav(result.Item1);
-                            await _locationStatusChangeRecordRepository.AddDataAsync(locationStatusChangeRecords);
-                            await _locationRepository.UpdateDataAsync(locations);
-                            _outboundOrderDetailRepository.UpdateData(result.Item2);
-                        });
-                        content = await _taskService.SendWCSTask(taskDTOs);
-                    }
-                }
-                return content;
-            }
-            catch (Exception ex)
-            {
-                return content.Error(ex.Message);
-            }
-
-        }
-        private WMSTaskDTO CreateTaskDTO(Dt_Task task)
-        {
-            return new WMSTaskDTO
-            {
-                TaskNum = task.TaskNum.Value,
-                Grade = task.Grade.Value,
-                PalletCode = task.PalletCode,
-                RoadWay = task.Roadway,
-                SourceAddress = task.SourceAddress,
-                TargetAddress = task.TargetAddress,
-                TaskState = task.TaskState,
-                Id = 0,
-                TaskType = task.TaskType,
-                AGVTaskNum = task.AGVTaskNum,
-                Remark = task.Remark
-            };
-        }
-        public (List<DtStockInfo>, Dt_OtherOutboundOrderDetail) AssignStockOutbound(Dt_OtherOutboundOrderDetail outboundOrderdetail, List<StockSelectViewDTO> stockSelectViews)
-        {
-            decimal originalNeedQuantity = outboundOrderdetail.OrderQuantity - outboundOrderdetail.OverOutQuantity;
-
-            decimal needQuantity = originalNeedQuantity;
-
-            List<DtStockInfo> outStocks = new List<DtStockInfo>();
-            if (stockSelectViews != null && stockSelectViews.Count > 0)
-            {
-                outStocks = BaseDal.Db.Queryable<DtStockInfo>().Where(x => stockSelectViews.Select(x => x.PalletCode).ToList().Contains(x.PalletCode)).Includes(x => x.StockInfoDetails).ToList();
-            }
-            else
-            {
-                outStocks = GetStockInfos(outboundOrderdetail.MaterielCode);
-            }
-
-            List<DtStockInfo> outStockNews = new List<DtStockInfo>();
-
-            foreach (var item in outStocks)
-            {
-                var stockDetail = item.StockInfoDetails
-                .Where(d => d.MaterielCode == outboundOrderdetail.MaterielCode && d.Quantity > 0);
-                if (needQuantity <= 0)
-                {
-                    continue;
-                }
-                foreach (var detail in stockDetail)
-                {
-                    if (detail != null)
-                    {
-                        if (needQuantity >= detail.Quantity)
-                        {
-                            if (detail.Quantity <= detail.OutboundQuantity)
-                            {
-                                continue;
-                            }
-                            needQuantity -= detail.Quantity;
-                            detail.OutboundQuantity = detail.Quantity;
-                        }
-                        else
-                        {
-                            if (detail.Quantity <= detail.OutboundQuantity)
-                            {
-                                continue;
-                            }
-                            detail.OutboundQuantity = needQuantity;
-                            needQuantity = 0;
-                        }
-                        outStockNews.Add(item);
-                    }
-                }
-
-            }
-            outboundOrderdetail.OverOutQuantity = outboundOrderdetail.OrderQuantity - needQuantity;
-
-            if (outboundOrderdetail.OverOutQuantity != 0)
-            {
-                outboundOrderdetail.OrderDetailStatus = (int)OrderStateEmun.寮�濮�;
-            }
-            return (outStockNews, outboundOrderdetail);
-        }
-
-        private (bool, string) CheckSelectStockDeital(Dt_OtherOutboundOrderDetail outboundOrderdetail, List<StockSelectViewDTO> stockSelectViews, GenerateOutTaskDto requestOut)
-        {
-            if (outboundOrderdetail == null)
-            {
-                return (false, "鏈壘鍒板嚭搴撳崟淇℃伅");
-            }
-            if (outboundOrderdetail.OrderDetailStatus == (int)OrderStateEmun.宸插畬鎴�)
-            {
-                return (false, "璇ユ槑缁嗕笉鍙搷浣�");
-            }
-            if (stockSelectViews != null && stockSelectViews.Sum(x => x.UseableQuantity) > outboundOrderdetail.OrderQuantity - outboundOrderdetail.OverOutQuantity)
-            {
-                return (false, "閫夋嫨鏁伴噺瓒呭嚭鍗曟嵁鏁伴噺");
-            }
-            if (outboundOrderdetail.OrderQuantity <= outboundOrderdetail.OverOutQuantity)
-            {
-                return (false, "鍗曟嵁鏁伴噺宸插嚭搴撳畬鎴�");
-            }
-            return (true, "鎴愬姛");
-        }
-
-        public List<DtStockInfo> GetStockInfos(string materielCode)
-        {
-            var stocks = BaseDal.Db.Queryable<DtStockInfo>()
-            .Includes(x => x.StockInfoDetails)
-            .Includes(x => x.LocationInfo)
-            .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable)
-            .Where(x => x.StockInfoDetails.Any(d => d.MaterielCode == materielCode && d.Quantity > 0)).ToList().OrderBy(x => x.CreateDate).ToList();
-
-            if (stocks == null || stocks.Count() <= 0)
-            {
-                return stocks;
-            }
-
-            var locations = stocks.Select(s => s.LocationInfo).ToList();
-            List<DtLocationInfo> locationInfos = _stockInfoService.GetStockLocations(locations).Distinct().ToList();
-            stocks = stocks.Where(s => s.LocationInfo != null && locationInfos.Contains(s.LocationInfo)).ToList();
-            return stocks;
-        }
-        #endregion 鏍规嵁鍗曟嵁鏄庣粏鐢熸垚鍑哄簱浠诲姟
-
-        public string GetOrderPintCode(string printCode)
-        {
-            string PrintCode = "";
-            var PrintSetting = SqlSugarHelper.DbWMS.Queryable<Dt_PrintSetting>().Where(x => x.PrintCode == printCode).ToList().FirstOrDefault();
-
-            if (PrintSetting.Spare1 == DateTime.Now.ToString("yyyyMMdd"))
-            {
-                PrintCode = PrintSetting.Spare1 + PrintSetting.PrintNo.ToString().PadLeft(PrintSetting.Spare2, '0');
-                PrintSetting.PrintNo = PrintSetting.PrintNo + 1;
-            }
-            else
-            {
-                PrintSetting.Spare1 = DateTime.Now.ToString("yyyyMMdd");
-                PrintSetting.PrintNo = 2;
-                PrintCode = PrintSetting.Spare1 + 1.ToString().PadLeft(PrintSetting.Spare2, '0');
-            }
-            SqlSugarHelper.DbWMS.Updateable(PrintSetting).ExecuteCommand();
-            return PrintCode;
-        }
-    }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderService.cs"
index 0b07035..6529c86 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderService.cs"
@@ -156,7 +156,7 @@
 
                         if (result.Item1.Count <= 0)
                         {
-                            return content.Error("鏈壘鍒板簱瀛樺垎閰嶏紝璇风‘璁ゆ槸鍚﹀瓨鍦ㄥ簱瀛樻垨鍗曟嵁鏁伴噺宸插嚭瀹�");
+                            return content.Error($"璁㈠崟{outboundOrder.UpperOrderNo}鐗╂枡缂栫爜{outboundOrderdetail.MaterielCode}鏈壘鍒板簱瀛樺垎閰嶏紝璇风‘璁ゆ槸鍚﹀瓨鍦ㄥ簱瀛樻垨鍗曟嵁鏁伴噺宸插嚭瀹�");
                         }
 
                         result.Item1.Distinct().ForEach(item =>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Boxing/BoxingInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Boxing/BoxingInfoService.cs"
index 61e8777..e119110 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Boxing/BoxingInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Boxing/BoxingInfoService.cs"
@@ -3,18 +3,24 @@
 using SqlSugar;
 using System.ComponentModel.DataAnnotations;
 using System.Linq.Expressions;
+using WIDESEA_Common;
 using WIDESEA_Core.BaseRepository;
 using WIDESEA_DTO.Basic;
 using WIDESEA_IOrderRepository;
+using WIDESEA_OrderRepository;
 
 namespace WIDESEA_StorageBasicService;
 
 public class BoxingInfoService : ServiceBase<DtBoxingInfo, IBoxingInfoRepository>, IBoxingInfoService
 {
     private readonly IUnitOfWorkManage _unitOfWorkManage;
-    public BoxingInfoService(IBoxingInfoRepository BaseDal,IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
+    private readonly ILocationStatusChangeRecordRepository _locationStatusChangeRecordRepository;
+    private readonly IDt_InboundOrderRepository _inboundOrderRepository;
+    public BoxingInfoService(IBoxingInfoRepository BaseDal,IUnitOfWorkManage unitOfWorkManage, ILocationStatusChangeRecordRepository locationStatusChangeRecordRepository, IDt_InboundOrderRepository inboundOrderRepository) : base(BaseDal)
     {
         _unitOfWorkManage = unitOfWorkManage;
+        _locationStatusChangeRecordRepository = locationStatusChangeRecordRepository;
+        _inboundOrderRepository = inboundOrderRepository;
     }
     public override PageGridData<DtBoxingInfo> GetPageData(PageDataOptions options)
     {
@@ -52,4 +58,171 @@
         new PageGridData<DtBoxingInfo>(totalCount, data);
         return new PageGridData<DtBoxingInfo>(totalCount, data);
     }
+
+    #region 缁勭洏
+    public async Task<WebResponseContent> AddGroupPlateAsync(GroupPlate groupPlate)
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            if (groupPlate == null || groupPlate.groups.IsNullOrEmpty() || groupPlate.palletCode.IsNullOrEmpty())
+            {
+                return content.Error("鍙傛暟閿欒");
+            }
+            var info = await BaseDal.QueryFirstAsync(x => x.PalletCode == groupPlate.palletCode);
+            if (!info.IsNullOrEmpty())
+            {
+                content.Error("璇ユ墭鐩樺凡瀛樺湪缁勭洏");
+            }
+            else
+            {
+                List<DtBoxingInfoDetail> details = new List<DtBoxingInfoDetail>();
+                foreach (var item in groupPlate.groups)
+                {
+                    var InboundOrder = _inboundOrderRepository.QueryFirst(x => x.OrderNo == item.orderNo);
+
+                    if (InboundOrder != null)
+                    {
+                        var x = details.Where(x => x.MaterielCode == InboundOrder.MaterialNo && x.Warehouse == InboundOrder.WarehouseName && x.DrawingNumber == InboundOrder.ProductDrawingNumber && x.DemandClassification == InboundOrder.DemandClassification).FirstOrDefault();
+                        if (x != null)
+                        {
+                            details.Remove(x);
+                            x.MaterielCode = InboundOrder.MaterialNo;
+                            x.MaterielName = InboundOrder.MaterialName;
+                            x.DemandClassification = InboundOrder.DemandClassification;
+                            x.Warehouse = InboundOrder.WarehouseName;
+                            x.OrderNo = InboundOrder.UpperOrderNo;
+                            x.Unit = InboundOrder.Unit;
+                            x.Specs = InboundOrder.Specs;
+                            x.Weight = InboundOrder.Weight;
+                            x.Quantity = x.Quantity + item.quantity;
+                            x.DrawingNumber = InboundOrder.ProductDrawingNumber;
+                            x.Date = InboundOrder.Datetime;
+                            details.Add(x);
+                        }
+                        else
+                        {
+                            DtBoxingInfoDetail detail = new DtBoxingInfoDetail()
+                            {
+                                MaterielCode = InboundOrder.MaterialNo,
+                                MaterielName = InboundOrder.MaterialName,
+                                DemandClassification = InboundOrder.DemandClassification,
+                                Warehouse = InboundOrder.WarehouseName,
+                                OrderNo = InboundOrder.UpperOrderNo,
+                                Unit = InboundOrder.Unit,
+                                Specs = InboundOrder.Specs,
+                                Weight = InboundOrder.Weight,
+                                Quantity = item.quantity,
+                                DrawingNumber = InboundOrder.ProductDrawingNumber,
+                                Date = InboundOrder.Datetime,
+                            };
+                            details.Add(detail);
+                        }
+                    }
+                    else
+                    {
+                        return content.Error("鏈壘鍒板叆搴撳崟鎹俊鎭�");
+                    }
+                }
+                DtBoxingInfo boxing = new DtBoxingInfo()
+                {
+                    PalletCode = groupPlate.palletCode,
+                    StockStatus = (int)StockStateEmun.缁勭洏鏆傚瓨,
+                    BoxingInfoDetails = details
+                };
+                await BaseDal.AddDataNavAsync(boxing);
+                content.OK("缁勭洏鎴愬姛");
+            }
+            return content;
+        }
+        catch (Exception ex)
+        {
+            return content.Error(ex.Message);
+        }
+    }
+    #endregion
+
+    #region 瑙g洏
+    public async Task<WebResponseContent> DeleteGroupPlateAsync(GroupPlate groupPlate)
+    {
+        WebResponseContent content = new WebResponseContent();
+        try
+        {
+            if (groupPlate == null || groupPlate.palletCode.IsNullOrEmpty())
+            {
+                return content.Error("鍙傛暟閿欒");
+            }
+            var stock = await BaseDal.QueryFirstNavAsync(x => x.PalletCode == groupPlate.palletCode && x.StockStatus == (int)StockStateEmun.缁勭洏鏆傚瓨);
+            if (!stock.IsNullOrEmpty())
+            {
+                stock.StockStatus = (int)StockStateEmun.缁勭洏鎾ら攢;
+                DtStockInfo_Hty stockhty = stock.Adapt<DtStockInfo_Hty>();
+                stockhty.ModifyDate = DateTime.Now;
+                await _unitOfWorkManage.UseTranAsync(async () =>
+                {
+                    await BaseDal.Db.DeleteNav<DtStockInfo>(x => x.Id == stock.Id)
+                                            .Include(x => x.StockInfoDetails)
+                                            .ExecuteCommandAsync();
+                    await AddStockHtyAsync(stockhty);
+                });
+                content.OK("瑙g洏鎴愬姛");
+            }
+            else
+            {
+                content.Error("鏈壘鍒扮粍鐩樻暟鎹�");
+            }
+            return content;
+        }
+        catch (Exception ex)
+        {
+            return content.Error(ex.Message);
+        }
+    }
+    private async Task AddStockHtyAsync(DtStockInfo_Hty stockhty)
+    {
+        var isStockAdd = await SqlSugarHelper.DbWMS.InsertNav(stockhty).IncludesAllFirstLayer().ExecuteCommandAsync();
+        if (!isStockAdd)
+        {
+            throw new Exception("搴撳瓨鍘嗗彶淇℃伅娣诲姞澶辫触");
+        }
+    }
+
+    /// <summary>
+    /// 鎵归噺鍒犻櫎
+    /// </summary>
+    /// <param name="keys"></param>
+    /// <returns></returns>
+    public override WebResponseContent DeleteData(object[] keys)
+    {
+        try
+        {
+            List<DtStockInfo_Hty> stockInfos = new List<DtStockInfo_Hty>();
+            List<DtLocationInfo> locationInfos = new List<DtLocationInfo>();
+
+            foreach (var item in keys)
+            {
+                var stock = BaseDal.QueryFirstNavAsync(x => x.Id == item.ObjToInt()).Result;
+                var stockHty = stock.Adapt<DtStockInfo_Hty>();
+                stockInfos.Add(stockHty);
+
+                var location = SqlSugarHelper.DbWMS.Queryable<DtLocationInfo>().FirstAsync(x => x.LocationCode == stock.LocationCode).Result;
+                var lastStatus = location.LocationStatus;
+                location.LocationStatus = (int)LocationEnum.Free;
+                locationInfos.Add(location);
+                _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(location, lastStatus, (int)StatusChangeTypeEnum.ManualOperation, 0);
+            }
+            //var hty = BaseDal.Db.InsertNav(stockInfos)
+            //    .Include(x => x.StockInfoDetails)
+            //    .ExecuteCommand();
+            var isStockAdd = SqlSugarHelper.DbWMS.InsertNav(stockInfos).IncludesAllFirstLayer().ExecuteCommandAsync();
+
+            var locationd = SqlSugarHelper.DbWMS.Updateable(locationInfos).ExecuteCommandHasChange();
+            return base.DeleteData(keys);
+        }
+        catch (Exception ex)
+        {
+            return WebResponseContent.Instance.Error(ex.Message);
+        }
+    }
+    #endregion
 }
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoDetailService.cs"
index 869a01d..c18b561 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoDetailService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoDetailService.cs"
@@ -1,8 +1,46 @@
-锘縩amespace WIDESEA_StorageBasicService;
+锘縰sing SqlSugar;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_StorageBasicService;
 
 public class StockInfoDetailService : ServiceBase<DtStockInfoDetail, IStockInfoDetailRepository>, IStockInfoDetailService
 {
     public StockInfoDetailService(IStockInfoDetailRepository BaseDal) : base(BaseDal)
     {
     }
+    public override PageGridData<DtStockInfoDetail> GetPageData(PageDataOptions options)
+    {
+        string wheres = ValidatePageOptions(options);
+        //鑾峰彇鎺掑簭瀛楁
+        Dictionary<string, OrderByType> orderbyDic = GetPageDataSort(options, TProperties);
+        List<OrderByModel> orderByModels = new List<OrderByModel>();
+        foreach (var item in orderbyDic)
+        {
+            OrderByModel orderByModel = new()
+            {
+                FieldName = item.Key,
+                OrderByType = item.Value
+            };
+            orderByModels.Add(orderByModel);
+        }
+
+
+        int totalCount = 0;
+        List<SearchParameters> searchParametersList = new List<SearchParameters>();
+        if (!string.IsNullOrEmpty(options.Wheres))
+        {
+            try
+            {
+                searchParametersList = options.Wheres.DeserializeObject<List<SearchParameters>>();
+                options.Filter = searchParametersList;
+            }
+            catch { }
+        }
+        var data = BaseDal.Db.Queryable<DtStockInfoDetail>()
+            .WhereIF(!wheres.IsNullOrEmpty(), wheres)
+            .OrderBy(orderByModels)
+            .ToPageList(options.Page, options.Rows, ref totalCount);
+        var x = new PageGridData<DtStockInfoDetail>(totalCount, data);
+        return new PageGridData<DtStockInfoDetail>(totalCount, data);
+    }
 }
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs"
index d10d516..5a9e697 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs"
@@ -16,6 +16,7 @@
 using WIDESEA_Core.Enums;
 using WIDESEA_DTO;
 using WIDESEA_DTO.Basic;
+using WIDESEA_DTO.Order;
 using WIDESEA_DTO.Stock;
 using WIDESEA_DTO.WMS;
 using WIDESEA_IOrderRepository;
@@ -31,33 +32,30 @@
     private readonly ILocationStatusChangeRecordRepository _locationStatusChangeRecordRepository; 
     private readonly IDt_InboundOrderRepository _inboundOrderRepository;
     private readonly IUnitOfWorkManage _unitOfWorkManage;
-    private readonly IDt_OtherOutboundOrderRepository _OtheroutorderRepository;
-    private readonly IDt_OtherOutboundOrderDetailRepository _OtheroutorderdetailRepository;
     private readonly IStockInfoDetailRepository _stockInfoDetailRepository;
     private readonly IDt_TaskService _taskService;
     private readonly ILocationInfoRepository _locationRepository;
     private readonly IDt_TaskRepository _taskRepository;
+    private readonly IDt_OrderOutDetailsRepository _outDetailsRepository;
 
     public StockInfoService(IStockInfoRepository BaseDal, 
                                 ILocationStatusChangeRecordRepository locationStatusChangeRecordRepository,
                                 IDt_InboundOrderRepository inboundOrderRepository,
                                 IUnitOfWorkManage unitOfWorkManage,
-                                IDt_OtherOutboundOrderRepository OtheroutorderRepository,
-                                IDt_OtherOutboundOrderDetailRepository OtheroutorderdetailRepository,
                                 IStockInfoDetailRepository stockInfoDetailRepository,
                                 IDt_TaskService taskService,
                                 ILocationInfoRepository locationRepository,
-                                IDt_TaskRepository taskRepository) : base(BaseDal)
+                                IDt_TaskRepository taskRepository,
+                                IDt_OrderOutDetailsRepository outDetailsRepository) : base(BaseDal)
     {
         _locationStatusChangeRecordRepository = locationStatusChangeRecordRepository;
         _inboundOrderRepository = inboundOrderRepository;
         _unitOfWorkManage = unitOfWorkManage;
-        _OtheroutorderRepository = OtheroutorderRepository;
-        _OtheroutorderdetailRepository = OtheroutorderdetailRepository;
         _stockInfoDetailRepository = stockInfoDetailRepository;
         _taskService = taskService;
         _locationRepository = locationRepository;
         _taskRepository = taskRepository;
+        _outDetailsRepository = outDetailsRepository;
     }
 
     /// <summary>
@@ -132,6 +130,57 @@
         return new PageGridData<DtStockInfo>(totalCount, data);
     }
 
+    public List<DtLocationInfo> GetStockLocations(List<DtLocationInfo>? locations)
+    {
+        List<DtLocationInfo> locationsNew = new List<DtLocationInfo>();
+        foreach (var item in locations)
+        {
+            if (item.AreaId == 1)
+            {
+                if (item.Depth == 2)
+                {
+                    var locationLateral = _locationRepository.QueryFirst(x => x.Row == 1 && x.Column == item.Column && x.Layer == item.Layer);
+
+                    if (locationLateral.LocationStatus == (int)LocationEnum.Lock && locationLateral.EnalbeStatus == 1)
+                    {
+                        locationsNew.Remove(item);
+                        continue;
+                    }
+                }
+                locationsNew.Add(item);
+            }
+            else if (item.AreaId == 2)
+            {
+                var locationLateral = _locationRepository.QueryData(x => x.Row == item.Row && x.Column > item.Column && x.Remark == item.Remark);
+
+                foreach (var Lateral in locationLateral)
+                {
+                    if (Lateral.LocationStatus == (int)LocationEnum.Lock && Lateral.EnalbeStatus == 1)
+                    {
+                        locationsNew.Remove(item);
+                        continue;
+                    }
+                    locationsNew.Add(item);
+                }
+            }
+
+            else if (item.AreaId == 5 || item.AreaId == 6)
+            {
+                var locationLateral = _locationRepository.QueryData(x => x.Row == item.Row && x.Column < item.Column && x.Remark == item.Remark);
+
+                foreach (var lateral in locationLateral)
+                {
+                    if (lateral.LocationStatus == (int)LocationEnum.Lock && lateral.EnalbeStatus == 1)
+                    {
+                        locationsNew.Remove(item);
+                        continue;
+                    }
+                    locationsNew.Add(item);
+                }
+            }
+        }
+        return locationsNew;
+    }
 
     #region 搴撳瓨瑙嗗浘
     public List<StockSelectViewDTO> GetStockSelectViews(GetStockSelectViewDto viewDto)
@@ -170,258 +219,175 @@
         return result;
     }
 
-    public List<DtLocationInfo> GetStockLocations(List<DtLocationInfo>? locations)
-    {
-        List<DtLocationInfo> locationsNew = new List<DtLocationInfo>();
-        foreach (var item in locations)
-        {
-            if (item.AreaId == 1)
-            {
-                if (item.Depth == 2)
-                {
-                    var locationLateral = _locationRepository.QueryFirst(x => x.Row == 1 && x.Column == item.Column && x.Layer == item.Layer);
-
-                    if (locationLateral.LocationStatus == (int)LocationEnum.Lock && locationLateral.EnalbeStatus == 1)
-                    {
-                        locationsNew.Remove(item);
-                        continue;
-                    }
-                    locationsNew.Add(item);
-                }
-            }
-            else if (item.AreaId == 2)
-            {
-                var locationLateral = _locationRepository.QueryData(x => x.Row == item.Row && x.Column > item.Column && x.Remark == item.Remark);
-
-                foreach (var Lateral in locationLateral)
-                {
-                    if (Lateral.LocationStatus == (int)LocationEnum.Lock && Lateral.EnalbeStatus == 1)
-                    {
-                        locationsNew.Remove(item);
-                        continue;
-                    }
-                    locationsNew.Add(item);
-                }
-            }
-
-            else if (item.AreaId == 5 || item.AreaId == 6)
-            {
-                var locationLateral = _locationRepository.QueryData(x => x.Row == item.Row && x.Column < item.Column && x.Remark == item.Remark);
-
-                foreach (var lateral in locationLateral)
-                {
-                    if (lateral.LocationStatus == (int)LocationEnum.Lock && lateral.EnalbeStatus == 1)
-                    {
-                        locationsNew.Remove(item);
-                        continue;
-                    }
-                    locationsNew.Add(item);
-                }
-            }
-        }
-        return locationsNew;
-    }
-
-    #endregion
-
-    #region 鏍规嵁鍗曟嵁鏄庣粏鐢熸垚鍑哄簱浠诲姟
-
-    public async Task<WebResponseContent> GenerateOutboundTask(GenerateOutTaskDto requestOut)
+    public WebResponseContent GetStockView(GetStockSelectViewDto viewDto)
     {
         WebResponseContent content = new WebResponseContent();
         try
         {
-            foreach (var orderId in requestOut.orderIds)
+            Expression<Func<DtStockInfoDetail, bool>> expressionOrder = x => true;
+            if (!string.IsNullOrEmpty(viewDto.materielCode))
             {
-                List<RequestTaskDto> taskDtos = new List<RequestTaskDto>();
-                Dt_OtherOutboundOrderDetail outboundOrderdetail = _OtheroutorderdetailRepository.QueryFirst(x => x.Id == orderId);
-                Dt_OtherOutboundOrder outboundOrder = _OtheroutorderRepository.QueryFirst(x => x.Id == outboundOrderdetail.OrderId);
-
-                (bool, string) checkResult = CheckSelectStockDeital(outboundOrderdetail, requestOut.stockViews, requestOut);
-                if (!checkResult.Item1) throw new Exception(checkResult.Item2);
-
-                else
-                {
-                    var result = AssignStockOutbound(outboundOrderdetail, requestOut.stockViews);
-
-                    if (result.Item1.Count <= 0)
-                    {
-                        return content.Error("鏈壘鍒板簱瀛樺垎閰嶏紝璇风‘璁ゆ槸鍚﹀瓨鍦ㄥ簱瀛樻垨鍗曟嵁鏁伴噺宸插嚭瀹�");
-                    }
-
-                    result.Item1.Distinct().ForEach(item =>
-                    {
-                        RequestTaskDto task = new RequestTaskDto
-                        {
-                            TaskType = outboundOrder.OrderType,
-                            OrderNo = outboundOrder.OrderNo,
-                            MaterielCode = outboundOrderdetail.MaterielCode,
-                            Position = item.LocationCode,
-                            PalletCode = item.PalletCode,
-                            AreaId = Convert.ToInt32(requestOut.AreaId),
-                        };
-                        taskDtos.Add(task);
-                        item.StockInfoDetails.Where(x => x.MaterielCode == outboundOrderdetail.MaterielCode).FirstOrDefault().Status = (int)StockStateEmun.鍑哄簱閿佸畾;
-                        item.StockStatus = (int)StockStateEmun.鍑哄簱閿佸畾;
-                    });
-                    List<Dt_Task> taskNews = new List<Dt_Task>();
-                    List<WMSTaskDTO> taskDTOs = new List<WMSTaskDTO>();
-                    foreach (var item in taskDtos)
-                    {
-                        taskNews.Add(await _taskService.RequestOutboundTaskAsync(item));
-
-                    }
-                    List<DtLocationStatusChangeRecord> locationStatusChangeRecords = new List<DtLocationStatusChangeRecord>();
-                    List<DtLocationInfo> locations = new List<DtLocationInfo>();
-                    foreach (var item in taskNews)
-                    {
-                        taskDTOs.Add(CreateTaskDTO(item));
-                        var result1 = _taskService.UpdateLocationStatus(item.SourceAddress, LocationEnum.InStockDisable, item.TaskNum.Value, (int)StatusChangeTypeEnum.AutomaticOutbound);
-                        var result2 = _taskService.UpdateLocationStatus(item.TargetAddress, LocationEnum.Lock, item.TaskNum.Value, (int)StatusChangeTypeEnum.AutomaticOutbound);
-                        locationStatusChangeRecords.AddRange(result1.Item1);
-                        locationStatusChangeRecords.AddRange(result2.Item1);
-                        locations.AddRange(result1.Item2);
-                        locations.AddRange(result2.Item2);
-                    }
-
-                    await _unitOfWorkManage.UseTranAsync(async () =>
-                    {
-                        _taskRepository.AddData(taskNews);
-                        BaseDal.UpdateDataNav(result.Item1);
-                        await _locationStatusChangeRecordRepository.AddDataAsync(locationStatusChangeRecords);
-                        await _locationRepository.UpdateDataAsync(locations);
-                        _OtheroutorderdetailRepository.UpdateData(result.Item2);
-                    });
-                    content = await _taskService.SendWCSTask(taskDTOs);
-                }
+                expressionOrder = x => x.MaterielCode.Contains(viewDto.materielCode);
             }
-            return content;
+            int count = 0;
+            count = BaseDal.Db.Queryable<DtStockInfo>()
+                                .Includes(x => x.StockInfoDetails)
+                                .Includes(x => x.LocationInfo)
+                                .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable)
+                                .WhereIF(!viewDto.materielCode.IsNullOrEmpty(), x => x.StockInfoDetails.Any(d => d.MaterielCode == viewDto.materielCode && d.Quantity > 0)).ToList().OrderBy(x => x.CreateDate).Count();
+
+
+            int maxPage = Convert.ToInt32(Math.Ceiling(count / 10.0));
+            if (viewDto.pageNo <= maxPage)
+            {
+                var stocks = BaseDal.Db.Queryable<DtStockInfo>()
+                                    .Includes(x => x.StockInfoDetails)
+                                    .Includes(x => x.LocationInfo)
+                                    .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock
+                                                && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable)
+                                    .WhereIF(!viewDto.materielCode.IsNullOrEmpty(),
+                                        x => x.StockInfoDetails.Any(d => d.MaterielCode == viewDto.materielCode && d.Quantity > 0))
+                                    .Select(x => new DtStockInfo
+                                    { 
+                                        Id = x.Id,
+                                        PalletCode = x.PalletCode,
+                                        LocationCode = x.LocationCode,
+                                        StockInfoDetails = x.StockInfoDetails
+                                            .OrderByDescending(d => d.CreateDate)
+                                            .Take(1)
+                                            .ToList(),
+                                        LocationInfo = x.LocationInfo
+                                    })
+                                    .OrderBy(x => x.CreateDate)
+                                    .ToList();
+
+                List<DtLocationInfo> locationInfos = new List<DtLocationInfo>();
+                List<DtStockInfo> stockNew = new List<DtStockInfo>();
+                if (stocks != null || stocks.Count() > 0)
+                {
+                    var locations = stocks.Select(s => s.LocationInfo).ToList();
+                    locationInfos = GetStockLocations(locations).Distinct().ToList();
+                    stockNew = stocks.Where(s => s.LocationInfo != null && locationInfos.Contains(s.LocationInfo)).ToList();
+                }
+
+                var result = stockNew.Skip((maxPage-1) * 10).Take(10).Select(s => new StockSelectViewDTO
+                {
+                    Id =s.Id,
+
+                    MaterielCode = s.StockInfoDetails
+                    .FirstOrDefault()?.MaterielCode ?? string.Empty,
+
+                    MaterielName = s.StockInfoDetails
+                    .FirstOrDefault()?.MaterielName ?? string.Empty,
+
+                    Quantity = s.StockInfoDetails
+                    .FirstOrDefault()?.Quantity ?? 0,  // 澶勭悊绌哄�兼儏鍐�
+
+                    PalletCode = s.PalletCode ?? string.Empty,
+
+                    LocationCode = s.LocationInfo?.LocationCode ?? string.Empty
+                }).ToList();
+
+                content = WebResponseContent.Instance.OK(data: result);
+            }
+            else
+            {
+                var stocks = BaseDal.Db.Queryable<DtStockInfo>()
+                                    .Includes(x => x.StockInfoDetails)
+                                    .Includes(x => x.LocationInfo)
+                                    .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock
+                                                && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable)
+                                    .WhereIF(!viewDto.materielCode.IsNullOrEmpty(),
+                                        x => x.StockInfoDetails.Any(d => d.MaterielCode == viewDto.materielCode && d.Quantity > 0))
+                                    .Select(x => new DtStockInfo
+                                    {
+                                        Id = x.Id,
+                                        PalletCode = x.PalletCode,
+                                        LocationCode = x.LocationCode,
+                                        StockInfoDetails = x.StockInfoDetails
+                                            .OrderByDescending(d => d.CreateDate)
+                                            .Take(1)
+                                            .ToList(),
+                                        LocationInfo = x.LocationInfo
+                                    })
+                                    .OrderBy(x => x.CreateDate)
+                                    .ToList();
+
+                List<DtLocationInfo> locationInfos = new List<DtLocationInfo>();
+                List<DtStockInfo> stockNew = new List<DtStockInfo>();
+                if (stocks != null || stocks.Count() > 0)
+                {
+                    var locations = stocks.Select(s => s.LocationInfo).ToList();
+                    locationInfos = GetStockLocations(locations).Distinct().ToList();
+                    stockNew = stocks.Where(s => s.LocationInfo != null && locationInfos.Contains(s.LocationInfo)).ToList();
+                }
+
+                var result = stockNew.Skip(0 * 10).Take(10).Select(s => new StockSelectViewDTO
+                {
+                    Id = s.Id,
+
+                    MaterielCode = s.StockInfoDetails
+                    .FirstOrDefault()?.MaterielCode ?? string.Empty,
+
+                    MaterielName = s.StockInfoDetails
+                    .FirstOrDefault()?.MaterielName ?? string.Empty,
+
+                    Quantity = s.StockInfoDetails
+                    .FirstOrDefault()?.Quantity ?? 0,  // 澶勭悊绌哄�兼儏鍐�
+
+                    PalletCode = s.PalletCode ?? string.Empty,
+
+                    LocationCode = s.LocationInfo?.LocationCode ?? string.Empty
+                }).ToList();
+
+                content = WebResponseContent.Instance.OK(data: result);
+            }
         }
         catch (Exception ex)
         {
-            return content.Error(ex.Message);
+            content = WebResponseContent.Instance.Error($"鏌ヨ鍑哄簱鍗曟嵁閿欒,閿欒淇℃伅:{ex.Message}");
         }
-               
+        return content;
     }
-    private WMSTaskDTO CreateTaskDTO(Dt_Task task)
+
+    #endregion
+
+    #region 鍏朵粬鍑哄簱瑙嗗浘
+    public List<StockSelectViewDTO> GetOtherOutBoundView(int id)
     {
-        return new WMSTaskDTO
-        {
-            TaskNum = task.TaskNum.Value,
-            Grade = task.Grade.Value,
-            PalletCode = task.PalletCode,
-            RoadWay = task.Roadway,
-            SourceAddress = task.SourceAddress,
-            TargetAddress = task.TargetAddress,
-            TaskState = task.TaskState,
-            Id = 0,
-            TaskType = task.TaskType,
-            AGVTaskNum = task.AGVTaskNum,
-            Remark = task.Remark
-        };
-    }
-    public (List<DtStockInfo>, Dt_OtherOutboundOrderDetail) AssignStockOutbound(Dt_OtherOutboundOrderDetail outboundOrderdetail, List<StockSelectViewDTO> stockSelectViews)
-    {
-        decimal originalNeedQuantity = outboundOrderdetail.OrderQuantity - outboundOrderdetail.OverOutQuantity;
+        DtStockInfo stock = BaseDal.Db.Queryable<DtStockInfo>()
+                   .Includes(x => x.StockInfoDetails)
+                   .Includes(x => x.LocationInfo)
+                   .Where(x => x.Id == id)
+                   .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable).First();
 
-        decimal needQuantity = originalNeedQuantity;
-
-        List<DtStockInfo> outStocks = new List<DtStockInfo>();
-        if (stockSelectViews != null && stockSelectViews.Count > 0)
+        List<DtLocationInfo> locationInfos = new List<DtLocationInfo>();
+        List<DtStockInfo> stockNew = new List<DtStockInfo>();
+        if (stock != null)
         {
-            outStocks = BaseDal.Db.Queryable<DtStockInfo>().Where(x => stockSelectViews.Select(x => x.PalletCode).ToList().Contains(x.PalletCode)).Includes(x => x.StockInfoDetails).ToList();
-        }
-        else
-        {
-            outStocks = GetStockInfos(outboundOrderdetail.MaterielCode);
-        }
-
-        List<DtStockInfo> outStockNews=new List<DtStockInfo>();
-
-        foreach (var item in outStocks)
-        {
-            var stockDetail = item.StockInfoDetails
-            .Where(d => d.MaterielCode == outboundOrderdetail.MaterielCode && d.Quantity > 0);
-            if (needQuantity <= 0)
+            if (_taskService.LocationIsOutBound(stock.LocationInfo))
             {
-                continue;
+                return null;
             }
-            foreach (var detail in stockDetail)
-            {
-                if (detail != null)
-                {
-                    if (needQuantity >= detail.Quantity)
-                    {
-                        if (detail.Quantity <= detail.OutboundQuantity)
-                        {
-                            continue;
-                        }
-                        needQuantity -= detail.Quantity;
-                        detail.OutboundQuantity = detail.Quantity;
-                    }
-                    else
-                    {
-                        if (detail.Quantity <= detail.OutboundQuantity)
-                        {
-                            continue;
-                        }
-                        detail.OutboundQuantity = needQuantity;
-                        needQuantity = 0;
-                    }
-                    outStockNews.Add(item);
-                }
-            }
-
         }
-        outboundOrderdetail.OverOutQuantity = outboundOrderdetail.OrderQuantity - needQuantity;
 
-        if (outboundOrderdetail.OverOutQuantity != 0)
+        var result = stock.StockInfoDetails.Select(s => new StockSelectViewDTO
         {
-            outboundOrderdetail.OrderDetailStatus = (int)OrderStateEmun.寮�濮�;
-        }
-        return (outStockNews, outboundOrderdetail);
+            MaterielCode = s.MaterielCode ?? string.Empty,
+
+            MaterielName = s.MaterielName ?? string.Empty,
+
+            Quantity = s.Quantity,  // 澶勭悊绌哄�兼儏鍐�
+
+            PalletCode = stock.PalletCode ?? string.Empty,
+
+            LocationCode = stock.LocationCode ?? string.Empty
+        }).ToList();
+
+        return result;
     }
 
-    private (bool, string) CheckSelectStockDeital(Dt_OtherOutboundOrderDetail outboundOrderdetail, List<StockSelectViewDTO> stockSelectViews, GenerateOutTaskDto requestOut)
-    {
-        if (outboundOrderdetail == null)
-        {
-            return (false, "鏈壘鍒板嚭搴撳崟淇℃伅");
-        }
-        if (outboundOrderdetail.OrderDetailStatus == (int)OrderStateEmun.宸插畬鎴�)
-        {
-            return (false, "璇ユ槑缁嗕笉鍙搷浣�");
-        }
-        if (stockSelectViews != null && stockSelectViews.Sum(x => x.UseableQuantity) > outboundOrderdetail.OrderQuantity - outboundOrderdetail.OverOutQuantity)
-        {
-            return (false, "閫夋嫨鏁伴噺瓒呭嚭鍗曟嵁鏁伴噺");
-        }
-        if (outboundOrderdetail.OrderQuantity <= outboundOrderdetail.OverOutQuantity)
-        {
-            return (false, "鍗曟嵁鏁伴噺宸插嚭搴撳畬鎴�");
-        }
-        return (true, "鎴愬姛");
-    }
-
-    public List<DtStockInfo> GetStockInfos(string materielCode)
-    {
-        var stocks = BaseDal.Db.Queryable<DtStockInfo>()
-        .Includes(x => x.StockInfoDetails)
-        .Includes(x => x.LocationInfo)
-        .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable)
-        .Where(x => x.StockInfoDetails.Any(d => d.MaterielCode == materielCode && d.Quantity > 0)).ToList().OrderBy(x => x.CreateDate).ToList();
-
-        if (stocks == null || stocks.Count() <= 0)
-        {
-            return stocks;
-        }
-
-        var locations = stocks.Select(s => s.LocationInfo).ToList();
-        List<DtLocationInfo> locationInfos = GetStockLocations(locations).Distinct().ToList();
-        stocks = stocks.Where(s => s.LocationInfo != null && locationInfos.Contains(s.LocationInfo)).ToList();
-        return stocks;
-    }
-    #endregion 鏍规嵁鍗曟嵁鏄庣粏鐢熸垚鍑哄簱浠诲姟
+    #endregion
 
     #region 缁勭洏
     public async Task<WebResponseContent> AddGroupPlateAsync(GroupPlate groupPlate)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs"
index 6240332..d2824f8 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs"
@@ -1,4 +1,5 @@
-锘縰sing MailKit.Search;
+锘縰sing AngleSharp.Dom;
+using MailKit.Search;
 using Masuit.Tools;
 using Microsoft.Extensions.Hosting;
 using Microsoft.Extensions.Logging;
@@ -30,14 +31,13 @@
         private readonly ISys_ConfigService _configService;
         private readonly ILocationInfoRepository _locationRepository;
         private readonly IDt_InboundOrderRepository _inboundOrderRepository;
-        private readonly IDt_OtherOutboundOrderRepository _otheroutboundorderRepository;
         private readonly IDt_ProductionOutboundOrderRepository _productionoutboundorderRepository;
-        private readonly IDt_InventoryOutboundOrderRepository _inventoryoutboundorderRepository;
         private readonly IDt_AllocateOutboundOrderRepository _allocateoutboundorderRepository;
+        private readonly IUnitOfWorkManage _unitOfWorkManage;
 
         private Timer _timer;
 
-        public MyBackgroundService(ILogger<MyBackgroundService> logger, ILocationInfoRepository locationRepository, IStockInfoRepository stockInfoRepository, IDt_AreaInfoRepository areaInfoRepository, IDt_TaskRepository taskRepository, IDt_StationManagerRepository stationManagerRepository, ISys_ConfigService configService,IDt_InboundOrderRepository inboundOrderRepository, IDt_OtherOutboundOrderRepository otheroutboundorderRepository, IDt_AllocateOutboundOrderRepository allocateoutboundorderRepository, IDt_InventoryOutboundOrderRepository inventoryOutboundOrderRepository,IDt_ProductionOutboundOrderRepository productionOutboundOrderRepository)
+        public MyBackgroundService(ILogger<MyBackgroundService> logger, ILocationInfoRepository locationRepository, IStockInfoRepository stockInfoRepository, IDt_AreaInfoRepository areaInfoRepository, IDt_TaskRepository taskRepository, IDt_StationManagerRepository stationManagerRepository, ISys_ConfigService configService,IDt_InboundOrderRepository inboundOrderRepository,IDt_AllocateOutboundOrderRepository allocateoutboundorderRepository,IDt_ProductionOutboundOrderRepository productionOutboundOrderRepository,IUnitOfWorkManage unitOfWorkManage)
         {
             _logger = logger;
             _locationRepository = locationRepository;
@@ -47,10 +47,9 @@
             _stationManagerRepository = stationManagerRepository;
             _configService = configService;
             _inboundOrderRepository = inboundOrderRepository;
-            _otheroutboundorderRepository = otheroutboundorderRepository;
             _allocateoutboundorderRepository = allocateoutboundorderRepository;
-            _inventoryoutboundorderRepository = inventoryOutboundOrderRepository;
             _productionoutboundorderRepository = productionOutboundOrderRepository;
+            _unitOfWorkManage = unitOfWorkManage;
         }
 
         public Task StartAsync(CancellationToken cancellationToken)
@@ -130,121 +129,28 @@
                 }
                 #endregion
 
-
                 #region ERP鐢熶骇棰嗘枡鍗曞悓姝�
 
                 var productionOutOrder = _productionoutboundorderRepository.Db.Queryable<Dt_ProductionOutboundOrder>().Includes(x => x.Details).ToList();
 
-                List<Dt_ProductionOutboundOrder> EngineeringoutboundOrderAdd = new List<Dt_ProductionOutboundOrder>();
-                List<Dt_ProductionOutboundOrder> EngineeringoutboundOrderUpdate = new List<Dt_ProductionOutboundOrder>();
                 List<Dt_ProductionOutboundOrder> productionoutboundOrderAdd = new List<Dt_ProductionOutboundOrder>();
-                List<Dt_ProductionOutboundOrder> productionoutboundOrderUpdate = new List<Dt_ProductionOutboundOrder>();
                 List<WMS_鐢ㄥ弸宸ョ▼鍙戣揣鍗曚竴瑙堣〃_ST> EngineeringERP = SqlSugarHelper.DBERP.Queryable<WMS_鐢ㄥ弸宸ョ▼鍙戣揣鍗曚竴瑙堣〃_ST>().Where(x => true).ToList();
                 List<WMS_鐢ㄥ弸鐢熶骇棰嗘枡鍗曚竴瑙堣〃_ST> productERP = SqlSugarHelper.DBERP.Queryable<WMS_鐢ㄥ弸鐢熶骇棰嗘枡鍗曚竴瑙堣〃_ST>().Where(x => true).ToList();
                 foreach (var item in EngineeringERP)
                 {
-                    var x = productionOutOrder.Where(x => x.UpperOrderNo == item.鍗曞彿).FirstOrDefault();
+                    var x = productionOutOrder.Where(x => x.UpperOrderNo == item.鍗曞彿 && x.DemandClassification == item.闇�姹傚悕绉� && x.OrderPartNumber == item.璁㈠崟鏂欏彿 && x.OrderSpec == item.璁㈠崟瑙勬牸).FirstOrDefault();
                     if (x == null)
                     {
-                        if(productionoutboundOrderAdd.Where(x => x.UpperOrderNo == item.鍗曞彿).FirstOrDefault()==null)
+                        if(productionoutboundOrderAdd.Where(x => x.UpperOrderNo == item.鍗曞彿 && x.DemandClassification == item.闇�姹傚悕绉� && x.OrderPartNumber == item.璁㈠崟鏂欏彿 && x.OrderSpec == item.璁㈠崟瑙勬牸).FirstOrDefault()==null)
                         {
                             Dt_ProductionOutboundOrder outOrder = new Dt_ProductionOutboundOrder()
                             {
                                 OrderNo = GetOrderPintCode("OrderNoOut"),
                                 UpperOrderNo = item.鍗曞彿,
-                                OrderStatus = (int)OrderStateEmun.鏈紑濮�,
-                                OrderType = (int)OrderTypeEmun.鐢熶骇棰嗘枡鍗�,
-                                CreateType = (int)OrderCreateTypeEmun.ERP鎺ㄩ��,
-                                Details = new List<Dt_ProductionOutboundOrderDetail>()
-                                {
-                                    new Dt_ProductionOutboundOrderDetail()
-                                    {
-                                        MaterielCode = item.瀛愪欢鏂欏彿,
-                                        MaterielName = item.瀛愪欢鍝佸悕,
-                                        DemandClassification = item.闇�姹傚悕绉�,
-                                        OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
-                                        NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
-                                        OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
-                                    }
-                                }
-                            };
-                            EngineeringoutboundOrderAdd.Add(outOrder);
-                        }
-                        else
-                        {
-                            var existingOrder = EngineeringoutboundOrderAdd.Where(x => x.UpperOrderNo == item.鍗曞彿).FirstOrDefault();
-                            existingOrder.Details.Add(new Dt_ProductionOutboundOrderDetail()
-                            {
-                                MaterielCode = item.瀛愪欢鏂欏彿,
-                                MaterielName = item.瀛愪欢鍝佸悕,
+                                OrderName = item.璁㈠崟鍝佸悕,
                                 DemandClassification = item.闇�姹傚悕绉�,
-                                OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
-                                NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
-                                OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
-                            });
-                        }
-                    }
-                    //else
-                    //{
-                    //    foreach (var detail in x.Details)
-                    //    {
-                    //        if (detail.MaterielCode != item.瀛愪欢鏂欏彿 && detail.MaterielName != item.瀛愪欢鍝佸悕)
-                    //        {
-                    //            if (EngineeringoutboundOrderUpdate.Where(o => o.UpperOrderNo == item.鍗曞彿).FirstOrDefault() == null)
-                    //            {
-                    //                x.Details = new List<Dt_ProductionOutboundOrderDetail>()
-                    //                        {
-                    //                            new Dt_ProductionOutboundOrderDetail()
-                    //                            {
-                    //                                MaterielCode = item.瀛愪欢鏂欏彿,
-                    //                                MaterielName = item.瀛愪欢鍝佸悕,
-                    //                                DemandClassification = item.闇�姹傚悕绉�,
-                    //                                OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
-                    //                                NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
-                    //                                OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
-                    //                            }
-                    //                        };
-                    //                EngineeringoutboundOrderUpdate.Add(x);
-                    //            }
-                    //            else
-                    //            {
-                    //                var existingOrder = EngineeringoutboundOrderUpdate.Where(o => o.UpperOrderNo == item.鍗曞彿).FirstOrDefault();
-                    //                existingOrder.Details.Add(new Dt_ProductionOutboundOrderDetail()
-                    //                {
-                    //                    MaterielCode = item.瀛愪欢鏂欏彿,
-                    //                    MaterielName = item.瀛愪欢鍝佸悕,
-                    //                    DemandClassification = item.闇�姹傚悕绉�,
-                    //                    OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
-                    //                    NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
-                    //                    OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
-                    //                });
-                    //            }
-                    //        }
-                    //    }
-                    //}
-                }
-                if (EngineeringoutboundOrderAdd.Count > 0)
-                {
-                    foreach (var order in EngineeringoutboundOrderAdd)
-                    {
-                        _productionoutboundorderRepository.AddDataNavAsync(order);
-                    }
-                }
-                if (EngineeringoutboundOrderUpdate.Count > 0)
-                {
-                    _productionoutboundorderRepository.UpdateDataNav(EngineeringoutboundOrderUpdate);
-                }
-                foreach (var item in productERP)
-                {
-                    var x = productionOutOrder.Where(x => x.UpperOrderNo == item.鍗曞彿).FirstOrDefault();
-                    if (x == null)
-                    {
-                        if (productionoutboundOrderAdd.Where(x => x.UpperOrderNo == item.鍗曞彿).FirstOrDefault() == null)
-                        {
-                            Dt_ProductionOutboundOrder outOrder = new Dt_ProductionOutboundOrder()
-                            {
-                                OrderNo = GetOrderPintCode("OrderNoOut"),
-                                UpperOrderNo = item.鍗曞彿,
+                                OrderPartNumber = item.璁㈠崟鏂欏彿,
+                                OrderSpec = item.璁㈠崟瑙勬牸,
                                 OrderStatus = (int)OrderStateEmun.鏈紑濮�,
                                 OrderType = (int)OrderTypeEmun.鐢熶骇棰嗘枡鍗�,
                                 CreateType = (int)OrderCreateTypeEmun.ERP鎺ㄩ��,
@@ -254,7 +160,8 @@
                                     {
                                         MaterielCode = item.瀛愪欢鏂欏彿,
                                         MaterielName = item.瀛愪欢鍝佸悕,
-                                        DemandClassification = item.闇�姹傚悕绉�,
+                                        Specs = item.瀛愪欢瑙勬牸,
+                                        Weight = item.瀛愪欢鍗曢噸,
                                         OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
                                         NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
                                         OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
@@ -270,67 +177,152 @@
                             {
                                 MaterielCode = item.瀛愪欢鏂欏彿,
                                 MaterielName = item.瀛愪欢鍝佸悕,
-                                DemandClassification = item.闇�姹傚悕绉�,
+                                Specs = item.瀛愪欢瑙勬牸,
+                                Weight = item.瀛愪欢鍗曢噸,
                                 OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
                                 NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
                                 OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
                             });
                         }
                     }
-                    //else
-                    //{
-                    //    foreach (var detail in x.Details)
-                    //    {
-                    //        if (productionoutboundOrderUpdate.Where(o => o.UpperOrderNo == item.鍗曞彿).FirstOrDefault() == null)
-                    //        {
-                    //            x.Details = new List<Dt_ProductionOutboundOrderDetail>()
-                    //                        {
-                    //                            new Dt_ProductionOutboundOrderDetail()
-                    //                            {
-                    //                                MaterielCode = item.瀛愪欢鏂欏彿,
-                    //                                MaterielName = item.瀛愪欢鍝佸悕,
-                    //                                DemandClassification = item.闇�姹傚悕绉�,
-                    //                                OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
-                    //                                NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
-                    //                                OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
-                    //                            }
-                    //                        };
-                    //            productionoutboundOrderUpdate.Add(x);
-                    //        }
-                    //        else
-                    //        {
-                    //            var existingOrder = productionoutboundOrderUpdate.Where(o => o.UpperOrderNo == item.鍗曞彿).FirstOrDefault();
-                    //            existingOrder.Details.Add(new Dt_ProductionOutboundOrderDetail()
-                    //            {
-                    //                MaterielCode = item.瀛愪欢鏂欏彿,
-                    //                MaterielName = item.瀛愪欢鍝佸悕,
-                    //                DemandClassification = item.闇�姹傚悕绉�,
-                    //                OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
-                    //                NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
-                    //                OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
-                    //            });
-                    //        }
-                    //    }
-                    //}
+                }
+                foreach (var item in productERP)
+                {
+                    var x = productionOutOrder.Where(x => x.UpperOrderNo == item.鍗曞彿 && x.DemandClassification == item.闇�姹傚悕绉� && x.OrderPartNumber == item.璁㈠崟鏂欏彿).FirstOrDefault();
+                    if (x == null)
+                    {
+                        if (productionoutboundOrderAdd.Where(x => x.UpperOrderNo == item.鍗曞彿 && x.DemandClassification == item.闇�姹傚悕绉� && x.OrderPartNumber == item.璁㈠崟鏂欏彿).FirstOrDefault() == null)
+                        {
+                            Dt_ProductionOutboundOrder outOrder = new Dt_ProductionOutboundOrder()
+                            {
+                                OrderNo = GetOrderPintCode("OrderNoOut"),
+                                UpperOrderNo = item.鍗曞彿,
+                                OrderName = item.璁㈠崟鍝佸悕,
+                                DemandClassification = item.闇�姹傚悕绉�,
+                                OrderPartNumber = item.璁㈠崟鏂欏彿,
+                                //OrderSpec = item.璁㈠崟瑙勬牸,
+                                OrderStatus = (int)OrderStateEmun.鏈紑濮�,
+                                OrderType = (int)OrderTypeEmun.鐢熶骇棰嗘枡鍗�,
+                                CreateType = (int)OrderCreateTypeEmun.ERP鎺ㄩ��,
+                                Details = new List<Dt_ProductionOutboundOrderDetail>()
+                                {
+                                    new Dt_ProductionOutboundOrderDetail()
+                                    {
+                                        MaterielCode = item.瀛愪欢鏂欏彿,
+                                        MaterielName = item.瀛愪欢鍝佸悕,
+                                        Specs = item.瀛愪欢瑙勬牸,
+                                        Weight = item.瀛愪欢鍗曢噸,
+                                        OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
+                                        NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
+                                        OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
+                                    }
+                                }
+                            };
+                            productionoutboundOrderAdd.Add(outOrder);
+                        }
+                        else
+                        {
+                            var existingOrder = productionoutboundOrderAdd.Where(x => x.UpperOrderNo == item.鍗曞彿 && x.DemandClassification == item.闇�姹傚悕绉� && x.OrderPartNumber == item.璁㈠崟鏂欏彿).FirstOrDefault();
+                            existingOrder.Details.Add(new Dt_ProductionOutboundOrderDetail()
+                            {
+                                MaterielCode = item.瀛愪欢鏂欏彿,
+                                MaterielName = item.瀛愪欢鍝佸悕,
+                                Specs = item.瀛愪欢瑙勬牸,
+                                Weight = item.瀛愪欢鍗曢噸,
+                                OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
+                                NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
+                                OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
+                            });
+                        }
+                    }
+                    
                 }
                 
+                #endregion
+
+                #region ERP璋冩嫧鍑哄簱鍗曞悓姝�
+
+                var allocateoutboundorder = _allocateoutboundorderRepository.Db.Queryable<Dt_AllocateOutboundOrder>().Includes(x => x.Details).ToList();
+
+                List<Dt_AllocateOutboundOrder> allocateoutboundorderAdd = new List<Dt_AllocateOutboundOrder>();
+                List<Dt_AllocateOutboundOrder> allocateoutboundorderUpdate = new List<Dt_AllocateOutboundOrder>();
+                List<WMS_鐢ㄥ弸鐢垫帶鏌滆皟鎷ㄤ竴瑙堣〃_ST> ERPallocateOrder = SqlSugarHelper.DBERP.Queryable<WMS_鐢ㄥ弸鐢垫帶鏌滆皟鎷ㄤ竴瑙堣〃_ST>().Where(x => true).ToList();
+                foreach (var item in ERPallocateOrder)
+                {
+                    var x = allocateoutboundorder.Where(x => x.UpperOrderNo == item.鍗曞彿 && x.DemandClassification == item.闇�姹傚悕绉� && x.OrderPartNumber == item.璁㈠崟鏂欏彿 && x.OrderSpec == item.璁㈠崟瑙勬牸).FirstOrDefault();
+                    if (x == null)
+                    {
+                        if (allocateoutboundorderAdd.Where(x => x.UpperOrderNo == item.鍗曞彿).FirstOrDefault() == null)
+                        {
+                            Dt_AllocateOutboundOrder outOrder = new Dt_AllocateOutboundOrder()
+                            {
+                                OrderNo = GetOrderPintCode("OrderNoOut"),
+                                UpperOrderNo = item.鍗曞彿,
+                                OrderName=item.璁㈠崟鍝佸悕,
+                                DemandClassification=item.闇�姹傚悕绉�,
+                                OrderPartNumber =item.璁㈠崟鏂欏彿,
+                                OrderSpec =item.璁㈠崟瑙勬牸,
+                                OrderStatus = (int)OrderStateEmun.鏈紑濮�,
+                                OrderType = (int)OrderTypeEmun.璋冩嫧鍑哄簱鍗�,
+                                CreateType = (int)OrderCreateTypeEmun.ERP鎺ㄩ��,
+                                Details = new List<Dt_AllocateOutboundOrderDetail>()
+                                {
+                                    new Dt_AllocateOutboundOrderDetail()
+                                    {
+                                        MaterielCode = item.瀛愪欢鏂欏彿,
+                                        MaterielName = item.瀛愪欢鍝佸悕,
+                                        Specs = item.瀛愪欢瑙勬牸,
+                                        Weight = item.瀛愪欢鍗曢噸,
+                                        OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
+                                        NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
+                                        OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
+                                    }
+                                }
+                            };
+                            allocateoutboundorderAdd.Add(outOrder);
+                        }
+                        else
+                        {
+                            var existingOrder = allocateoutboundorderAdd.Where(x => x.UpperOrderNo == item.鍗曞彿 && x.DemandClassification == item.闇�姹傚悕绉� && x.OrderPartNumber == item.璁㈠崟鏂欏彿 && x.OrderSpec == item.璁㈠崟瑙勬牸).FirstOrDefault();
+                            existingOrder.Details.Add(new Dt_AllocateOutboundOrderDetail()
+                            {
+                                MaterielCode = item.瀛愪欢鏂欏彿,
+                                MaterielName = item.瀛愪欢鍝佸悕,
+                                Specs = item.瀛愪欢瑙勬牸,
+                                Weight = item.瀛愪欢鍗曢噸,
+                                OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
+                                NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
+                                OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
+                            });
+                        }
+                    }
+                }
+                #endregion
+
+                #region 鏁版嵁澶勭悊
+                _unitOfWorkManage.BeginTran();
 
                 if (productionoutboundOrderAdd.Count > 0)
                 {
-                    foreach (var order in productionoutboundOrderAdd)
-                    {
-                        _productionoutboundorderRepository.AddDataNavAsync(order);
-                    } 
+                    //foreach (var order in productionoutboundOrderAdd)
+                    //{
+                    //    _productionoutboundorderRepository.AddDataNavAsync(order);
+                    //}
+                    SqlSugarHelper.DbWMS.InsertNav(productionoutboundOrderAdd).Include(x => x.Details).ExecuteCommandAsync();
                 }
-                if (productionoutboundOrderUpdate.Count > 0)
+                if (allocateoutboundorderAdd.Count > 0)
                 {
-                    _productionoutboundorderRepository.UpdateDataNav(productionoutboundOrderUpdate);
+                    SqlSugarHelper.DbWMS.InsertNav(allocateoutboundorderAdd).Include(x=>x.Details).ExecuteCommandAsync();
                 }
+                _unitOfWorkManage.CommitTran();
+                
+
                 #endregion
 
             }
             catch (Exception ex)
             {
+                _unitOfWorkManage.RollbackTran();
                 ConsoleHelper.WriteErrorLine($"閿欒淇℃伅锛�" + ex.Message);
             }
         }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs"
index b6f7c0b..1738269 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs"
@@ -31,6 +31,8 @@
 using WIDESEA_Model.Models;
 using WIDESEA_Model.Models.Basic;
 using WIDESEA_Model.Models.ERP;
+using WIDESEA_OrderRepository;
+using WIDESEA_StorageTaskRepository;
 using WIDESEAWCS_BasicInfoRepository;
 using WIDESEAWCS_QuartzJob.Models;
 using static System.Collections.Specialized.BitVector32;
@@ -52,8 +54,6 @@
     private readonly IDt_AreaInfoRepository _areaInfoRepository; //鍖哄煙
     private readonly IDt_StationManagerRepository _stationManagerRepository;
     private readonly ISys_ConfigService _configService;
-    private readonly IDt_OtherOutboundOrderRepository _OtheroutorderRepository;
-    private readonly IDt_OtherOutboundOrderDetailRepository _OtheroutorderdetailRepository;
 
     public Dt_TaskService(IDt_TaskRepository BaseDal,
                                 IUnitOfWorkManage unitOfWorkManage,
@@ -67,9 +67,7 @@
                                 IDt_AreaInfoRepository areaInfoRepository,
                                 IStockInfoDetailRepository stockInfoDetailRepository,
                                 IDt_StationManagerRepository stationManagerRepository,
-                                ISys_ConfigService configService,
-                                IDt_OtherOutboundOrderRepository OtheroutorderRepository,
-                                IDt_OtherOutboundOrderDetailRepository OtheroutorderdetailRepository) : base(BaseDal)
+                                ISys_ConfigService configService) : base(BaseDal)
     {
         _unitOfWorkManage = unitOfWorkManage;
         _stockInfoRepository = stockInfoRepository;
@@ -83,8 +81,6 @@
         _stockInfoDetailRepository = stockInfoDetailRepository;
         _stationManagerRepository = stationManagerRepository;
         _configService = configService;
-        _OtheroutorderRepository = OtheroutorderRepository;
-        _OtheroutorderdetailRepository = OtheroutorderdetailRepository;
     }
 
     #region 澶栭儴鎺ュ彛鏂规硶
@@ -104,20 +100,77 @@
             taskHty.FinishTime = DateTime.Now;
             taskHty.OperateType = App.User.UserName != null ? (int)OperateTypeEnum.浜哄伐瀹屾垚 : (int)OperateTypeEnum.鑷姩瀹屾垚;
             taskHty.Creater = App.User.UserName != null ? App.User.UserName : "System";
-
-            //DtStockInfo_Hty stockInfo_Hty = stock.Adapt<DtStockInfo_Hty>();
-            //stockInfo_Hty.ModifyDate = DateTime.Now; 
             stock.ModifyDate = DateTime.Now;
             stock.LocationCode = task.TargetAddress;
             var result1 = UpdateLocationStatus(locationStart, LocationEnum.Free, task.TaskNum.Value, (int)StatusChangeTypeEnum.AutomaticOutbound);
             var result2 = UpdateLocationStatus(locationEnd, LocationEnum.InStock, task.TaskNum.Value, (int)StatusChangeTypeEnum.AutomaticOutbound);
+
+            DtStockInfo_Hty stockInfo_Hty = null;
+            if (task.TaskType != (int)TaskOutboundTypeEnum.Outbound)
+            {
+                var stockDetailsToRemove = new List<DtStockInfoDetail>();
+
+                // 澶勭悊搴撳瓨鏄庣粏
+                if (stock.StockInfoDetails == null || !stock.StockInfoDetails.Any())
+                {
+                    // 褰撳簱瀛樻槑缁嗕负绌烘椂锛屽皢鏁翠釜搴撳瓨绉诲叆鍘嗗彶琛�
+                    stockInfo_Hty = CreateStockInfoHty(stock, null, true);
+                }
+                else
+                {
+                    foreach (var item in stock.StockInfoDetails.ToList())
+                    {
+                        if (item.OutboundQuantity <= 0 || item.OutboundQuantity > item.Quantity)
+                        {
+                            throw new Exception($"鍑哄簱鏁伴噺寮傚父锛岀墿鏂� {item.MaterielCode} 鐨勫嚭搴撴暟閲� {item.OutboundQuantity} 涓嶅悎娉�");
+                        }
+
+                        if (item.OutboundQuantity == item.Quantity)
+                        {
+                            // 瀹屽叏鍑哄簱锛岀Щ鍏ュ巻鍙茶〃
+                            if (stockInfo_Hty == null)
+                            {
+                                stockInfo_Hty = CreateStockInfoHty(stock, new List<DtStockInfoDetail> { item }, false);
+                            }
+                            else
+                            {
+                                stockInfo_Hty.StockInfoDetails.Add(CreateStockInfoDetailHty(item));
+                            }
+                            stockDetailsToRemove.Add(item);
+                        }
+                        else if (item.OutboundQuantity < item.Quantity && item.OutboundQuantity > 0)
+                        {
+                            // 閮ㄥ垎鍑哄簱锛屾洿鏂版暟閲�
+                            item.Quantity -= item.OutboundQuantity;
+                            item.OutboundQuantity = 0; // 閲嶇疆鍑哄簱鏁伴噺
+                        }
+                    }
+
+                    // 绉婚櫎宸插畬鍏ㄥ嚭搴撶殑鏄庣粏
+                    foreach (var item in stockDetailsToRemove)
+                    {
+                        stock.StockInfoDetails.Remove(item);
+                    }
+                }
+            }
             
             await _unitOfWorkManage.UseTranAsync(async () =>
             {
-                //await DeleteStockInfoAsync(stock.Id);
-                //await DeleteStockInfoDetailsAsync(stock.StockInfoDetails);
-                //await AddStockInfoHtyAsync(stockInfo_Hty);
-                _stockInfoRepository.UpdateData(stock);
+                // 濡傛灉搴撳瓨鏄庣粏鍏ㄩ儴鍑哄簱瀹屾瘯锛屽垹闄ゅ師搴撳瓨璁板綍
+                if (stock.StockInfoDetails == null || !stock.StockInfoDetails.Any())
+                {
+                    await _stockInfoRepository.DeleteDataAsync(stock);
+                }
+                else
+                {
+                    _stockInfoRepository.UpdateData(stock);
+                }
+                // 娣诲姞鍘嗗彶璁板綍
+                if (stockInfo_Hty != null)
+                {
+                    await AddStockInfoHtyAsync(stockInfo_Hty);
+                }
+
                 await _locationStatusChangeRecordRepository.AddDataAsync(result1.Item1);
                 await _locationStatusChangeRecordRepository.AddDataAsync(result2.Item1);
                 await _locationRepository.UpdateDataAsync(result1.Item2);
@@ -127,6 +180,7 @@
                 await AddTaskHtyAsync(taskHty);
             });
             content.OK("鍑哄簱瀹屾垚");
+
         }
         catch (Exception ex)
         {
@@ -135,7 +189,54 @@
         return content;
     }
 
-    
+    private DtStockInfo_Hty CreateStockInfoHty(DtStockInfo stock, List<DtStockInfoDetail> details, bool isFullExit)
+    {
+        var stockInfoHty = new DtStockInfo_Hty()
+        {
+            PalletCode = stock.PalletCode,
+            LocationCode = stock.LocationCode,
+            IsFullExit = isFullExit,
+            StockStatus = stock.StockStatus,
+            OrderNo = stock.OrderNo,
+            OrderType = stock.OrderType,
+            Remark = stock.Remark,
+            StockInfoDetails = new List<DtStockInfoDetail_Hty>()
+        };
+
+        if (details != null)
+        {
+            foreach (var detail in details)
+            {
+                stockInfoHty.StockInfoDetails.Add(CreateStockInfoDetailHty(detail));
+            }
+        }
+
+        return stockInfoHty;
+    }
+
+    /// <summary>
+    /// 鍒涘缓搴撳瓨鏄庣粏鍘嗗彶璁板綍
+    /// </summary>
+    private DtStockInfoDetail_Hty CreateStockInfoDetailHty(DtStockInfoDetail detail)
+    {
+        return new DtStockInfoDetail_Hty
+        {
+            MaterielCode = detail.MaterielCode,
+            MaterielName = detail.MaterielName,
+            DemandClassification = detail.DemandClassification,
+            Warehouse = detail.Warehouse,
+            OrderNo = detail.OrderNo,
+            Unit = detail.Unit,
+            Specs = detail.Specs,
+            Weight = detail.Weight,
+            Quantity = detail.Quantity,
+            OutboundQuantity = detail.OutboundQuantity,
+            Status = detail.Status,
+            DrawingNumber = detail.DrawingNumber,
+            Date = detail.Date,
+            Remark = detail.Remark
+        };
+    }
 
     #endregion 鍑哄簱浠诲姟瀹屾垚
 
@@ -195,34 +296,35 @@
         WebResponseContent content = new WebResponseContent();
         try
         {
-            var stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode && x.StockStatus == (int)StockStateEmun.缁勭洏鏆傚瓨);
+            var boxinfo = await _boxingInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode);
             var locationStart = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.SourceAddress);
             var locationEnd = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress);
 
-            if (stock == null)
+            if (boxinfo == null)
             {
                 return content.Error("鏈壘鍒扮粍鐩樻暟鎹�");
             }
-            stock.LocationCode = task.TargetAddress;
-            stock.StockStatus = (int)StockStateEmun.宸插叆搴�;
+
+            var stock = CreateStock(boxinfo, task);
 
             task.TaskState = (int)TaskInStatusEnum.InFinish;
             var taskHty = task.Adapt<Dt_Task_Hty>();
             taskHty.FinishTime = DateTime.Now;
             taskHty.OperateType = App.User.UserName != null ? (int)OperateTypeEnum.浜哄伐瀹屾垚 : (int)OperateTypeEnum.鑷姩瀹屾垚;
             taskHty.Creater = App.User.UserName != null ? App.User.UserName : "System";
-            var result1 = UpdateLocationStatus(locationStart, LocationEnum.Free, task.TaskNum.Value, (int)StatusChangeTypeEnum.AutomaticInbound);
-            var result2 = UpdateLocationStatus(locationEnd, LocationEnum.InStock, task.TaskNum.Value, (int)StatusChangeTypeEnum.AutomaticInbound);
+
+            var result1 = UpdateLocationStatus(task.SourceAddress, LocationEnum.InStockDisable, task.TaskNum.Value, (int)StatusChangeTypeEnum.AutomaticInbound);
+            var result2 = UpdateLocationStatus(task.TargetAddress, LocationEnum.Lock, task.TaskNum.Value, (int)StatusChangeTypeEnum.AutomaticInbound);
+
             await _unitOfWorkManage.UseTranAsync(async () =>
             {
-                await _stockInfoRepository.UpdateDataAsync(stock);
+                await _stockInfoRepository.AddDataNavAsync(stock);
                 await DeleteTaskAsync(task.TaskId);
                 await AddTaskHtyAsync(taskHty);
-                await _locationStatusChangeRecordRepository.AddDataAsync(result1.Item1);
                 await _locationStatusChangeRecordRepository.AddDataAsync(result2.Item1);
-                await _locationRepository.UpdateDataAsync(result1.Item2);
+                await _locationStatusChangeRecordRepository.AddDataAsync(result1.Item1);
                 await _locationRepository.UpdateDataAsync(result2.Item2);
-
+                await _locationRepository.UpdateDataAsync(result1.Item2);
             });
             content.OK("鍏ュ簱瀹屾垚");
         }
@@ -233,7 +335,21 @@
         return content;
     }
 
-
+    public DtStockInfo CreateStock(DtBoxingInfo boxingInfo,Dt_Task task)
+    {
+        var boxDetail = boxingInfo.BoxingInfoDetails.Adapt<List<DtStockInfoDetail>>();
+        boxDetail.ForEach(x => { x.Status = (int)StockStateEmun.宸插叆搴�; });
+        return new DtStockInfo()
+        {
+            PalletCode = task.PalletCode,
+            LocationCode = task.TargetAddress,
+            CreateDate = DateTime.Now,
+            Creater = "system",
+            IsFullExit = boxingInfo.IsFullExit,
+            StockInfoDetails = boxDetail,
+            StockStatus = (int)StockStateEmun.宸插叆搴�
+        };
+    }
     #endregion 鍏ュ簱浠诲姟瀹屾垚
 
     #region AGV鎼繍浠诲姟瀹屾垚
@@ -382,8 +498,9 @@
         WebResponseContent content = new WebResponseContent();
         try
         {
-            var stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == taskDto.PalletCode && x.StockStatus == (int)StockStateEmun.缁勭洏鏆傚瓨);
-            if (stock == null)
+            var boxingInfo = await _boxingInfoRepository.QueryFirstNavAsync(x => x.PalletCode == taskDto.PalletCode && x.StockStatus == (int)StockStateEmun.缁勭洏鏆傚瓨);
+
+            if (boxingInfo == null)
             {
                 return content.Error("鎵樼洏淇℃伅涓嶅瓨鍦紝璇风‘璁ゆ墭鐩樺凡缁勭洏鎴愬姛");
             }
@@ -471,7 +588,8 @@
                 await _locationRepository.UpdateDataAsync(result2.Item2);
                 BaseDal.AddData(taskNew);
             });
-            return content = await SendWCSTask(taskDTO);
+            //return content = await SendWCSTask(taskDTO);
+            return content.OK("鎴愬姛");
         }
         catch (Exception err)
         {
@@ -622,29 +740,80 @@
     #endregion
 
     #region 璇锋眰鍑哄簱
-    public async Task<WebResponseContent> OtherOutBoundTaskAsync(string palletCode)
+    public async Task<WebResponseContent> OutBoundTaskAsync(string palletCode)
     {
         WebResponseContent content = new WebResponseContent();
         try
         {
-            DtStockInfo stcok = await _stockInfoRepository.QueryFirstAsync(x => x.PalletCode == palletCode);
+            DtStockInfo stcok = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == palletCode);
             if (stcok == null)
             {
                 return content.Error("鎵樼洏淇℃伅涓嶅瓨鍦紝璇风‘璁ゆ墭鐩樺凡鍏ュ簱鎴愬姛");
             }
+
+            if (stcok.LocationInfo.LocationStatus != (int)LocationEnum.InStock)
+            {
+                return content.Error("璇风‘璁ゅ簱瀛樿揣浣嶇姸鎬佹槸鍚︿负鏈夎揣");
+            }
+            var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode);
+            if (task != null)
+            {
+                return content.Error("璇ユ墭鐩樺凡瀛樺湪浠诲姟");
+            }
+
             var location = await _locationRepository.QueryFirstAsync(x => x.LocationCode == stcok.LocationCode);
             if (location.AreaId == 2)
             {
                 return content.Error("璇ユ墭鐩樺簱瀛樺凡鍦ㄥ嚭搴撶紦瀛樺尯");
             }
 
-            Dt_Task taskNew= await RequestOutboundTaskAsync(new RequestTaskDto { PalletCode = palletCode, AreaId = 2, Position = stcok.LocationCode, TaskType = (int)TaskOutboundTypeEnum.OutOther });
-            return content.OK(data: taskNew);
+            Dt_Task taskNew = await RequestOutboundTaskAsync(new RequestTaskDto { PalletCode = palletCode, AreaId = 2, Position = stcok.LocationCode, TaskType = (int)TaskOutboundTypeEnum.Outbound });
+
+            var taskDto = CreateListTaskDTO(taskNew);
+            var result = GetlcoationState(taskNew, (int)StatusChangeTypeEnum.AutomaticOutbound);
+            await _unitOfWorkManage.UseTranAsync(async () =>
+            {
+                BaseDal.AddData(taskNew);
+                _stockInfoRepository.UpdateData(stcok);
+                await _locationStatusChangeRecordRepository.AddDataAsync(result.Item1);
+                await _locationRepository.UpdateDataAsync(result.Item2);
+            });
+            return content = await SendWCSTask(taskDto);
         }
         catch (Exception ex)
         {
             return content.Error(ex.Message);
         }
+    }
+
+    public (List<DtLocationStatusChangeRecord>,List<DtLocationInfo>) GetlcoationState(Dt_Task task,int StatusChangeTypeEnum)
+    {
+        List<DtLocationStatusChangeRecord> locationStatusChangeRecords = new List<DtLocationStatusChangeRecord>();
+        List<DtLocationInfo> locations = new List<DtLocationInfo>();
+        var result1 = UpdateLocationStatus(task.SourceAddress, LocationEnum.InStockDisable, task.TaskNum.Value, StatusChangeTypeEnum);
+        var result2 = UpdateLocationStatus(task.TargetAddress, LocationEnum.Lock, task.TaskNum.Value, StatusChangeTypeEnum);
+        locationStatusChangeRecords.AddRange(result1.Item1);
+        locationStatusChangeRecords.AddRange(result2.Item1);
+        locations.AddRange(result1.Item2);
+        locations.AddRange(result2.Item2);
+
+        return (locationStatusChangeRecords,locations);
+    }
+
+    public (List<DtLocationStatusChangeRecord>, List<DtLocationInfo>) GetlcoationState(List<Dt_Task> tasks, int StatusChangeTypeEnum)
+    {
+        List<DtLocationStatusChangeRecord> locationStatusChangeRecords = new List<DtLocationStatusChangeRecord>();
+        List<DtLocationInfo> locations = new List<DtLocationInfo>();
+        foreach (var item in tasks)
+        {
+            var result1 = UpdateLocationStatus(item.SourceAddress, LocationEnum.InStockDisable, item.TaskNum.Value, StatusChangeTypeEnum);
+            var result2 = UpdateLocationStatus(item.TargetAddress, LocationEnum.Lock, item.TaskNum.Value, StatusChangeTypeEnum);
+            locationStatusChangeRecords.AddRange(result1.Item1);
+            locationStatusChangeRecords.AddRange(result2.Item1);
+            locations.AddRange(result1.Item2);
+            locations.AddRange(result2.Item2);
+        }
+        return (locationStatusChangeRecords, locations);
     }
 
 
@@ -1188,8 +1357,11 @@
                 {
                     new issueList
                     {
+                        //澶囨枡ID
                         PickListID = task.OrderNo,
+                        //瀛樺偍鍦扮偣
                         WhCode = "204",
+                        //棰嗘枡鏁伴噺
                         IssueQty = task.OrderNo,
                     }
                 }
@@ -1225,12 +1397,16 @@
                 businessDate = DateTime.Now.ToString("yyyy-MM-dd"),
                 isApproved = true,
 
-                transferInList = stock.StockInfoDetails.Select(item => new transferInList
+                transferInList = stock.StockInfoDetails.Where(x => x.OutboundQuantity > 0).Select(item => new transferInList
                 {
+                    //鐗╂枡缂栫爜
                     ItemCode = item.MaterielCode,
-                    TransInWHCode = item.Warehouse,
-                    TransInQty = item.Quantity,
-                    TransOutWHCode = "001",
+                    //璋冨叆浠撳簱鍦板潃
+                    TransInWHCode = item.Remark==""? item.Warehouse: item.Remark,
+                    //璋冨叆鏁伴噺
+                    TransInQty = item.OutboundQuantity,
+                    // 璋冨嚭浠撳簱缂栫爜
+                    TransOutWHCode = "201",
                 }).ToList()
             };
             return content.OK(data: allocate);
@@ -1251,7 +1427,7 @@
         try
         {
             DtStockInfo stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == palletCode);
-            Allocate allocate = new Allocate
+            MixedSend send = new MixedSend
             {
                 context = new Context
                 {
@@ -1264,15 +1440,18 @@
                 businessDate = DateTime.Now.ToString("yyyy-MM-dd"),
                 isApproved = true,
 
-                transferInList = stock.StockInfoDetails.Select(item => new transferInList
+                miscShipList = stock.StockInfoDetails.Where(x => x.OutboundQuantity > 0).Select(item => new miscShipList
                 {
+                    //鐗╂枡缂栫爜
                     ItemCode = item.MaterielCode,
-                    TransInWHCode = item.Warehouse,
-                    TransInQty = item.Quantity,
-                    TransOutWHCode = "001",
+                    //瀛樺偍鍦扮偣缂栧彿
+                    WhCode = item.Warehouse,
+                    //鏉傚彂鏁伴噺
+                    Qty = item.OutboundQuantity,
+                    BenefitDeptCode = "0505",
                 }).ToList()
             };
-            return content.OK(data: allocate);
+            return content.OK(data: send);
         }
         catch (Exception ex)
         {
@@ -1290,7 +1469,7 @@
         try
         {
             DtStockInfo stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == palletCode);
-            Allocate allocate = new Allocate
+            MixedReceive allocate = new MixedReceive
             {
                 context = new Context
                 {
@@ -1303,12 +1482,12 @@
                 businessDate = DateTime.Now.ToString("yyyy-MM-dd"),
                 isApproved = true,
 
-                transferInList = stock.StockInfoDetails.Select(item => new transferInList
+                miscRcvList = stock.StockInfoDetails.Where(x => x.OutboundQuantity > 0).Select(item => new miscRcvList
                 {
                     ItemCode = item.MaterielCode,
-                    TransInWHCode = item.Warehouse,
-                    TransInQty = item.Quantity,
-                    TransOutWHCode = "001",
+                    WhCode = item.Warehouse,
+                    Qty = item.OutboundQuantity,
+                    CostPrice = 0,
                 }).ToList()
             };
             return content.OK(data: allocate);
@@ -1329,7 +1508,7 @@
         try
         {
             DtStockInfo stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == palletCode);
-            Allocate allocate = new Allocate
+            ReturnMaterials allocate = new ReturnMaterials
             {
                 context = new Context
                 {
@@ -1342,12 +1521,12 @@
                 businessDate = DateTime.Now.ToString("yyyy-MM-dd"),
                 isApproved = true,
 
-                transferInList = stock.StockInfoDetails.Select(item => new transferInList
+                returnMaterialList = stock.StockInfoDetails.Select(item => new returnMaterialList
                 {
-                    ItemCode = item.MaterielCode,
-                    TransInWHCode = item.Warehouse,
-                    TransInQty = item.Quantity,
-                    TransOutWHCode = "001",
+                    PickListID = item.MaterielCode,
+                    WhCode = item.Warehouse,
+                    RecedeQty = item.OutboundQuantity,
+                    RecedeReason = 1,
                 }).ToList()
             };
             return content.OK(data: allocate);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/BoxingInfoController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/BoxingInfoController.cs"
index ecb9508..303203c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/BoxingInfoController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/BoxingInfoController.cs"
@@ -9,4 +9,25 @@
     public BoxingInfoController(IBoxingInfoService service) : base(service)
     {
     }
+    /// <summary>
+    /// 缁勭洏
+    /// </summary>
+    /// <param name="groupPlate"></param>
+    /// <returns></returns>
+    [HttpPost, HttpGet, Route("AddGroupPlateAsync"), AllowAnonymous]
+    public Task<WebResponseContent> AddGroupPlateAsync([FromBody] GroupPlate groupPlate)
+    {
+        return Service.AddGroupPlateAsync(groupPlate);
+    }
+
+    /// <summary>
+    /// 瑙g洏
+    /// </summary>
+    /// <param name="groupPlate"></param>
+    /// <returns></returns>
+    [HttpPost, HttpGet, Route("DeleteGroupPlateAsync"), AllowAnonymous]
+    public async Task<WebResponseContent> DeleteGroupPlateAsync([FromBody] GroupPlate groupPlate)
+    {
+        return await Service.DeleteGroupPlateAsync(groupPlate);
+    }
 }
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/StockInfoController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/StockInfoController.cs"
index bb09319..fcd0c9c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/StockInfoController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/StockInfoController.cs"
@@ -12,13 +12,14 @@
     {
 
     }
+
     /// <summary>
     /// 鏍规嵁鐗╂枡缂栫爜鑾峰彇搴撳瓨鍙敤閲忚鍥�
     /// </summary>
     /// <param name="materielCode"></param>
     /// <returns></returns>
     [HttpPost, HttpGet, Route("GetStockSelectViews"), AllowAnonymous]
-    public List<StockSelectViewDTO> GetStockSelectViews([FromBody]GetStockSelectViewDto viewDto)
+    public List<StockSelectViewDTO> GetStockSelectViews([FromBody] GetStockSelectViewDto viewDto)
     {
         return Service.GetStockSelectViews(viewDto);
     }
@@ -45,10 +46,14 @@
         return await Service.DeleteGroupPlateAsync(groupPlate);
     }
 
-    [HttpPost, HttpGet, Route("GenerateOutboundTask"), AllowAnonymous]
-    public async Task<WebResponseContent> GenerateOutboundTask([FromBody] GenerateOutTaskDto requestOut)
+    /// <summary>
+    /// PDA鑾峰彇搴撳瓨瑙嗗浘
+    /// </summary>
+    /// <param name="groupPlate"></param>
+    /// <returns></returns>
+    [HttpPost, HttpGet, Route("GetStockView"), AllowAnonymous]
+    public WebResponseContent GetStockView([FromBody] GetStockSelectViewDto viewDto)
     {
-        return await Service.GenerateOutboundTask(requestOut);
+        return Service.GetStockView(viewDto);
     }
-
 }
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/AllocateOutboundOrderController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/AllocateOutboundOrderController.cs"
index 6deb3d1..6cfd7a6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/AllocateOutboundOrderController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/AllocateOutboundOrderController.cs"
@@ -44,7 +44,7 @@
         /// <param name="requestOut"></param>
         /// <returns></returns>
         [HttpPost, HttpGet, Route("GenerateAllocateOutboundTask"), AllowAnonymous]
-        public Task<WebResponseContent> GenerateAllocateOutboundTask(GenerateOutTaskDto requestOut)
+        public Task<WebResponseContent> GenerateAllocateOutboundTask([FromBody] GenerateOutTaskDto requestOut)
         {
             return Service.GenerateAllocateOutboundTask(requestOut);
         }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InboundOrderController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InboundOrderController.cs"
index 4ae9456..6abc61d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InboundOrderController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InboundOrderController.cs"
@@ -19,6 +19,11 @@
         {
             _httpContextAccessor = httpContextAccessor;
         }
+        [HttpGet,HttpPost,Route("GetInboundOrderInfo"),AllowAnonymous]
+        public WebResponseContent GetInboundOrderInfo(string orderNo)
+        {
+            return Service.GetInboundOrderInfo(orderNo);
+        }
 
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InventoryOutboundOrderController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InventoryOutboundOrderController.cs"
deleted file mode 100644
index b866586..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InventoryOutboundOrderController.cs"
+++ /dev/null
@@ -1,52 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Mvc;
-using WIDESEA_BusinessServices;
-using WIDESEA_Core.BaseController;
-using WIDESEA_DTO.Order;
-using WIDESEA_DTO.Stock;
-using WIDESEA_IBusinessServices;
-using WIDESEA_IOrderServices;
-using WIDESEA_Model.Models;
-using WIDESEA_Model.Models.Basic;
-using WIDESEA_Model.Models.Order;
-using WIDESEAWCS_BasicInfoService;
-
-namespace WIDESEA_WMSServer.Controllers
-{
-    [Route("api/InventoryOutboundOrder")]
-    [ApiController]
-    public class InventoryOutboundOrderController : ApiBaseController<IDt_InventoryOutboundOrderService, Dt_InventoryOutboundOrder>
-    {
-        private readonly IHttpContextAccessor _httpContextAccessor;
-        public InventoryOutboundOrderController(IDt_InventoryOutboundOrderService service, IHttpContextAccessor httpContextAccessor) : base(service)
-        {
-            _httpContextAccessor = httpContextAccessor;
-        }
-
-        /// <summary>
-        /// 鑾峰彇鍑哄簱鍗曟嵁淇℃伅
-        /// </summary>
-        /// <param name="outboundOrderGetDTO"></param>
-        /// <returns></returns>
-        [HttpPost, AllowAnonymous, Route("GetInventoryOutboundOrder")]
-        public WebResponseContent GetInventoryOutboundOrder([FromBody] OutboundOrderGetDTO outboundOrderGetDTO)
-        {
-            return Service.GetInventoryOutboundOrder(outboundOrderGetDTO);
-        }
-
-        [HttpPost, HttpGet, AllowAnonymous, Route("GetInventoryOutboundOrderDetail")]
-        public WebResponseContent GetInventoryOutboundOrderDetail([FromBody] OutboundOrderGetDTO outboundOrderGetDTO)
-        {
-            return Service.GetInventoryOutboundOrderDetail(outboundOrderGetDTO);
-        }
-        /// <summary>
-        /// 鏍规嵁璇锋眰鍑哄簱浠诲姟
-        /// </summary>
-        /// <param name="requestOut"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("GenerateInventoryOutboundTask"), AllowAnonymous]
-        public Task<WebResponseContent> GenerateInventoryOutboundTask(GenerateOutTaskDto requestOut)
-        {
-            return Service.GenerateInventoryOutboundTask(requestOut);
-        }
-    }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InventoryOutboundOrderDetailController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InventoryOutboundOrderDetailController.cs"
deleted file mode 100644
index 2be5ce0..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InventoryOutboundOrderDetailController.cs"
+++ /dev/null
@@ -1,24 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Mvc;
-using WIDESEA_BusinessServices;
-using WIDESEA_Core.BaseController;
-using WIDESEA_IBusinessServices;
-using WIDESEA_IOrderServices;
-using WIDESEA_Model.Models;
-using WIDESEA_Model.Models.Basic;
-using WIDESEA_Model.Models.Order;
-using WIDESEAWCS_BasicInfoService;
-
-namespace WIDESEA_WMSServer.Controllers
-{
-    [Route("api/InventoryOutboundOrderDetail")]
-    [ApiController]
-    public class InventoryOutboundOrderDetailController : ApiBaseController<IDt_InventoryOutboundOrderDetailService, Dt_InventoryOutboundOrderDetail>
-    {
-        private readonly IHttpContextAccessor _httpContextAccessor;
-        public InventoryOutboundOrderDetailController(IDt_InventoryOutboundOrderDetailService service, IHttpContextAccessor httpContextAccessor) : base(service)
-        {
-            _httpContextAccessor = httpContextAccessor;
-        }
-
-    }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OtherOutboundOrderController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OtherOutboundOrderController.cs"
deleted file mode 100644
index fcea740..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OtherOutboundOrderController.cs"
+++ /dev/null
@@ -1,53 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Mvc;
-using WIDESEA_BusinessServices;
-using WIDESEA_Core.BaseController;
-using WIDESEA_DTO.Order;
-using WIDESEA_DTO.Stock;
-using WIDESEA_IBusinessServices;
-using WIDESEA_IOrderServices;
-using WIDESEA_Model.Models;
-using WIDESEA_Model.Models.Basic;
-using WIDESEA_Model.Models.Order;
-using WIDESEAWCS_BasicInfoService;
-
-namespace WIDESEA_WMSServer.Controllers
-{
-    [Route("api/OtherOutboundOrder")]
-    [ApiController]
-    public class OtherOutboundOrderController : ApiBaseController<IDt_OtherOutboundOrderService, Dt_OtherOutboundOrder>
-    {
-        private readonly IHttpContextAccessor _httpContextAccessor;
-        public OtherOutboundOrderController(IDt_OtherOutboundOrderService service, IHttpContextAccessor httpContextAccessor) : base(service)
-        {
-            _httpContextAccessor = httpContextAccessor;
-        }
-
-        /// <summary>
-        /// 鑾峰彇鍑哄簱鍗曟嵁淇℃伅
-        /// </summary>
-        /// <param name="outboundOrderGetDTO"></param>
-        /// <returns></returns>
-        [HttpPost, AllowAnonymous, Route("GetOtherOutboundOrder")]
-        public WebResponseContent GetOtherOutboundOrder([FromBody]OutboundOrderGetDTO outboundOrderGetDTO)
-        {
-            return Service.GetOtherOutboundOrder(outboundOrderGetDTO);
-        }
-
-        [HttpPost,HttpGet, AllowAnonymous, Route("GetOtherOutboundOrderDetail")]
-        public WebResponseContent GetOtherOutboundOrderDetail([FromBody] OutboundOrderGetDTO outboundOrderGetDTO)
-        {
-            return Service.GetOtherOutboundOrderDetail(outboundOrderGetDTO);
-        }
-        /// <summary>
-        /// 鏍规嵁璇锋眰鍑哄簱浠诲姟
-        /// </summary>
-        /// <param name="requestOut"></param>
-        /// <returns></returns>
-        [HttpPost, HttpGet, Route("GenerateOtherOutboundTask"), AllowAnonymous]
-        public Task<WebResponseContent> GenerateOtherOutboundTask(GenerateOutTaskDto requestOut)
-        {
-            return Service.GenerateOtherOutboundTask(requestOut);
-        }
-
-    }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OtherOutboundOrderDetailController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OtherOutboundOrderDetailController.cs"
deleted file mode 100644
index ea18d4f..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OtherOutboundOrderDetailController.cs"
+++ /dev/null
@@ -1,24 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Mvc;
-using WIDESEA_BusinessServices;
-using WIDESEA_Core.BaseController;
-using WIDESEA_IBusinessServices;
-using WIDESEA_IOrderServices;
-using WIDESEA_Model.Models;
-using WIDESEA_Model.Models.Basic;
-using WIDESEA_Model.Models.Order;
-using WIDESEAWCS_BasicInfoService;
-
-namespace WIDESEA_WMSServer.Controllers
-{
-    [Route("api/OtherOutboundOrderDetail")]
-    [ApiController]
-    public class OtherOutboundOrderDetailController : ApiBaseController<IDt_OtherOutboundOrderDetailService, Dt_OtherOutboundOrderDetail>
-    {
-        private readonly IHttpContextAccessor _httpContextAccessor;
-        public OtherOutboundOrderDetailController(IDt_OtherOutboundOrderDetailService service, IHttpContextAccessor httpContextAccessor) : base(service)
-        {
-            _httpContextAccessor = httpContextAccessor;
-        }
-
-    }
-}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/ProductionOutboundOrderController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/ProductionOutboundOrderController.cs"
index 99e461e..e091e68 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/ProductionOutboundOrderController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/ProductionOutboundOrderController.cs"
@@ -43,7 +43,7 @@
         /// <param name="requestOut"></param>
         /// <returns></returns>
         [HttpPost, HttpGet, Route("GeneratetProductOutboundTask"), AllowAnonymous]
-        public Task<WebResponseContent> GeneratetProductOutboundTask(GenerateOutTaskDto requestOut)
+        public Task<WebResponseContent> GeneratetProductOutboundTask([FromBody] GenerateOutTaskDto requestOut)
         {
             return Service.GeneratetProductOutboundTask(requestOut);
         }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs"
index 6970330..97cca29 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs"
@@ -87,15 +87,15 @@
     }
 
     /// <summary>
-    /// 绌烘墭鐩樻弧鐩樺嚭搴撹姹�
+    /// 鍑哄簱鑷崇紦瀛樺尯
     /// </summary>
     /// <param name="request">璇锋眰鏁版嵁</param>
     /// <returns></returns>
-    [HttpPost, AllowAnonymous, Route("OtherOutBoundTaskAsync")]
+    [HttpPost, AllowAnonymous, Route("OutBoundTaskAsync")]
     [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 2 })]
-    public Task<WebResponseContent> OtherOutBoundTaskAsync(string palletCode)
+    public Task<WebResponseContent> OutBoundTaskAsync(string palletCode)
     {
-        return Service.OtherOutBoundTaskAsync(palletCode);
+        return Service.OutBoundTaskAsync(palletCode);
     }
 
     /// <summary>

--
Gitblit v1.9.3