From 927ce822017ff8459be84b742d519970ca614096 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期五, 24 十月 2025 17:18:56 +0800
Subject: [PATCH] 1
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OtherOutboundOrderController.cs | 53
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 205 +
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrder.cs | 65
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Inventory/InventoryStockSelect.vue | 26
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_InventoryOutboundOrder.cs | 65
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_InventoryOutboundOrderRepository.cs | 8
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_ProductionOutboundOrderDetailRepository.cs | 8
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_ProductionOutboundOrderDetailService.cs | 11
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Order/OutboundOrderGetDTO.cs | 2
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_InventoryOutboundOrderRepository.cs | 12
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db | 0
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/OtherOutboundOrder.js | 2
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs | 6
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InventoryOutboundOrderService.cs | 22
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Task/TaskController.cs | 4
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_用友生产领料单一览表_ST.cs | 29
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/AllocateOutboundOrder.js | 2
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateStockSelect.vue | 31
项目代码/PDA/pages.json | 47
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db | 0
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs | 155
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionStockSelect.vue | 26
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OtherOutboundOrderService.cs | 369 +++
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderService.cs | 339 ++
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderDetailService.cs | 62
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/IRepository.cs | 1
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InventoryOutboundOrderDetailService.cs | 62
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_AllocateOutboundOrderDetailRepository.cs | 12
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OtherOutboundOrderDetail.cs | 12
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm | 0
项目代码/WMS/WIDESEA_WMSClient/src/router/tables.js | 24
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderService.cs | 336 ++
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OtherOutboundOrderDetailRepository.cs | 12
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_AllocateOutboundOrderDetailService.cs | 11
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InventoryOutboundOrderDetailController.cs | 24
项目代码/PDA/pages/Production/ProductionOutboundOrder.vue | 24
项目代码/PDA/common/config.js | 14
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OtherOutboundOrderDetailService.cs | 62
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/AllocateOutboundOrderController.cs | 52
项目代码/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 | 12
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_ProductionOutboundOrderRepository.cs | 8
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_ProductionOutboundOrderService.cs | 22
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/ProductionOutboundOrderController.cs | 51
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionoutOrderDetail.vue | 387 +++
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OtherOutboundOrder.cs | 102
项目代码/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/AllocateOutboundOrder.vue | 201 +
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/GetStockSelectViewDto.cs | 15
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_ProductionOutboundOrderRepository.cs | 12
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs | 228 +
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json | 215 +
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/ProductionOutboundOrder.js | 2
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_InventoryOutboundOrderDetail.cs | 12
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OtherOutboundOrderRepository.cs | 12
项目代码/PDA/pages/Allocate/AllocateOutboundOrder.vue | 24
项目代码/PDA/pages/Allocate/AllocateOutorderboxing.vue | 178 +
项目代码/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/InventoryOutboundOrder.vue | 201 +
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_AllocateOutboundOrderDetailRepository.cs | 8
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OtherOutboundOrderDetailController.cs | 6
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OtherOutboundOrderDetailService.cs | 2
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_AllocateOutboundOrderRepository.cs | 8
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json | 2
项目代码/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/OtherOutboundOrder.vue | 201 +
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InventoryOutboundOrderController.cs | 52
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateoutOrderDetail.vue | 387 +++
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InventoryOutboundOrderService.cs | 368 +++
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm | 0
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json | 215 +
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_InventoryOutboundOrderDetailRepository.cs | 12
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Other/OtherStockSelect.vue | 31
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_InventoryOutboundOrderDetailRepository.cs | 8
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OtherOutboundOrderDetailRepository.cs | 8
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderDetailService.cs | 62
项目代码/PDA/pages/Inventory/InventoryOutorderboxing.vue | 178 +
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InventoryOutboundOrderDetailService.cs | 11
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrderDetail.cs | 12
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_ProductionOutboundOrderDetailRepository.cs | 12
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/ProductionOutboundOrderDetailController.cs | 24
项目代码/PDA/pages/Inventory/InventoryOutboundOrder.vue | 24
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrder.cs | 65
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/AllocateOutboundOrderDetailController.cs | 24
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Other/OtheroutOrderDetail.vue | 387 +++
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_AllocateOutboundOrderService.cs | 22
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/InventoryOutboundOrder.js | 2
项目代码/PDA/pages/OtherOrder/OtherOutboundOrder.vue | 24
项目代码/PDA/pages/Production/ProductionOutorderboxing.vue | 177 +
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/StockInfoController.cs | 4
项目代码/PDA/pages/OtherOrder/OtherOutorderboxing.vue | 178 +
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_用友电控柜调拨一览表_ST.cs | 30
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs | 5
项目代码/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/ProductionOutboundOrder.vue | 201 +
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OtherOutboundOrderRepository.cs | 8
/dev/null | 41
项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db | 0
项目代码/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 | 4
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_原材料调拨出库单_ST.cs | 27
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_AllocateOutboundOrderRepository.cs | 12
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_用友库存一览表_ST.cs | 4
项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Inventory/InventoryoutOrderDetail.vue | 387 +++
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OtherOutboundOrderService.cs | 22
102 files changed, 6,646 insertions(+), 486 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/common/config.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/common/config.js"
index 624735c..34895be 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/common/config.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/common/config.js"
@@ -125,5 +125,19 @@
value: "6",
text: "浜屾ゼAGVB5-G5缂撳瓨鍖�"
}
+ ],
+ OutArea: [
+ {
+ value: "2",
+ text: "涓�妤糀GV鍑哄簱缂撳瓨鍖�"
+ },
+ {
+ value: "3",
+ text: "涓�妤糀GV绔嬪簱缂撳瓨鍖�"
+ },
+ {
+ value: "4",
+ text: "涓�妤糀GV鍏ュ簱缂撳瓨鍖�"
+ },
]
}
\ No newline at end of file
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 4dfcca5..8efc258 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"
@@ -56,16 +56,55 @@
}
},
{
- "path": "pages/Order/OutboundOrder",
+ "path": "pages/OtherOrder/OtherOutboundOrder",
"style": {
- "navigationBarTitleText": "鍑哄簱鍗曟嵁",
+ "navigationBarTitleText": "鍏朵粬鍑哄簱鍗曟嵁",
"enablePullDownRefresh": false
}
},
{
- "path": "pages/Order/Outorderboxing",
+ "path": "pages/OtherOrder/OtherOutorderboxing",
"style": {
- "navigationBarTitleText": "鍏ュ簱鏄庣粏",
+ "navigationBarTitleText": "鍏朵粬鍑哄簱鍗曟嵁鏄庣粏",
+ "enablePullDownRefresh": false
+ }
+ },{
+ "path": "pages/Production/ProductionOutboundOrder",
+ "style": {
+ "navigationBarTitleText": "鐢熶骇棰嗘枡鍗�",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/Production/ProductionOutorderboxing",
+ "style": {
+ "navigationBarTitleText": "鐢熶骇棰嗘枡鍗曟槑缁�",
+ "enablePullDownRefresh": false
+ }
+ },{
+ "path": "pages/Inventory/InventoryOutboundOrder",
+ "style": {
+ "navigationBarTitleText": "鐩樼偣鍑哄簱鍗曟嵁",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/Inventory/InventoryOutorderboxing",
+ "style": {
+ "navigationBarTitleText": "鐩樼偣鍑哄簱鍗曟嵁鏄庣粏",
+ "enablePullDownRefresh": false
+ }
+ },{
+ "path": "pages/Allocate/AllocateOutboundOrder",
+ "style": {
+ "navigationBarTitleText": "璋冩嫧鍑哄簱鍗曟嵁",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/Allocate/AllocateOutorderboxing",
+ "style": {
+ "navigationBarTitleText": "璋冩嫧鍑哄簱鍗曟嵁鏄庣粏",
"enablePullDownRefresh": false
}
},
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Order/OutboundOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Allocate/AllocateOutboundOrder.vue"
similarity index 84%
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Order/OutboundOrder.vue"
copy to "\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Allocate/AllocateOutboundOrder.vue"
index ef5e6b9..8ad3340 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Order/OutboundOrder.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Allocate/AllocateOutboundOrder.vue"
@@ -6,7 +6,7 @@
</view>
</u-sticky>
<uni-list :border="true">
- <uni-list-item direction="column" clickable @click="groupClick(item.id)" link :to="page+item.orderNo"
+ <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">
@@ -26,16 +26,8 @@
<view class="value">{{item.upperOrderNo}}</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.orderQuantity}}</view>
- </view>
- <view class="flex-row">
- <view class="label">宸插嚭搴撴暟閲�:</view>
- <view class="value">{{item.overOutQuantity}}</view>
+ <view class="label">鍒涘缓鏃堕棿:</view>
+ <view class="value">{{item.createDate}}</view>
</view>
</uni-group>
</template>
@@ -52,8 +44,9 @@
export default {
data() {
return {
- page: "/pages/Order/Outorderboxing?orderNo=",
+ page: "/pages/Allocate/AllocateOutorderboxing?orderNo=",
loadVisible: false,
+ istrue:false,
searchValue: "",
status: "more",
allReceivingOrders: [],
@@ -75,16 +68,15 @@
search(res) {
this.getData();
},
- groupClick(Id) {
- window.location="/pages/Order/Outorderboxing?Id="+Id;
- // console.log(Id);
+ groupClick(Id,orderNo) {
+ window.location="/pages/Allocate/AllocateOutorderboxing?Id="+Id+"&orderNo="+orderNo;
},
getData() {
var postData = {
orderNo: this.searchValue,
pageNo: this.pageNo
}
- this.$u.post('/api/OutboundOrder/GetOutboundOrder', postData).then((res) => {
+ this.$u.post('/api/AllocateOutboundOrder/GetAllocateOutboundOrder', postData).then((res) => {
if (res.status) {
if (this.searchValue == '') {
this.allReceivingOrders = this.allReceivingOrders.concat(res.data);
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"
new file mode 100644
index 0000000..2daffbe
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Allocate/AllocateOutorderboxing.vue"
@@ -0,0 +1,178 @@
+<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/AllocateOutboundOrder/GetAllocateOutboundOrderDetail', 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/AllocateOutboundOrder/GenerateAllocateOutboundTask', 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/Order/OutboundOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inventory/InventoryOutboundOrder.vue"
similarity index 84%
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Order/OutboundOrder.vue"
copy to "\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inventory/InventoryOutboundOrder.vue"
index ef5e6b9..dc3acf6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Order/OutboundOrder.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inventory/InventoryOutboundOrder.vue"
@@ -6,7 +6,7 @@
</view>
</u-sticky>
<uni-list :border="true">
- <uni-list-item direction="column" clickable @click="groupClick(item.id)" link :to="page+item.orderNo"
+ <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">
@@ -26,16 +26,8 @@
<view class="value">{{item.upperOrderNo}}</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.orderQuantity}}</view>
- </view>
- <view class="flex-row">
- <view class="label">宸插嚭搴撴暟閲�:</view>
- <view class="value">{{item.overOutQuantity}}</view>
+ <view class="label">鍒涘缓鏃堕棿:</view>
+ <view class="value">{{item.createDate}}</view>
</view>
</uni-group>
</template>
@@ -52,8 +44,9 @@
export default {
data() {
return {
- page: "/pages/Order/Outorderboxing?orderNo=",
+ page: "/pages/Inventory/InventoryOutorderboxing?orderNo=",
loadVisible: false,
+ istrue:false,
searchValue: "",
status: "more",
allReceivingOrders: [],
@@ -75,16 +68,15 @@
search(res) {
this.getData();
},
- groupClick(Id) {
- window.location="/pages/Order/Outorderboxing?Id="+Id;
- // console.log(Id);
+ 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/OutboundOrder/GetOutboundOrder', postData).then((res) => {
+ this.$u.post('/api/InventoryOutboundOrder/GetInventoryOutboundOrder', postData).then((res) => {
if (res.status) {
if (this.searchValue == '') {
this.allReceivingOrders = this.allReceivingOrders.concat(res.data);
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"
new file mode 100644
index 0000000..25c8828
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Inventory/InventoryOutorderboxing.vue"
@@ -0,0 +1,178 @@
+<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/Order/Outorderboxing.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Order/Outorderboxing.vue"
deleted file mode 100644
index 789eb49..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Order/Outorderboxing.vue"
+++ /dev/null
@@ -1,177 +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">
- <div style="padding: 30px;">
- <view class="flex-row">
- <view class="label">鍗曞彿:</view>
- <view class="value">{{orderDetail.orderNo}}</view>
- </view>
- <view class="flex-row">
- <view class="label">涓婃父鍗曞彿:</view>
- <view class="value">{{orderDetail.upperOrderNo}}</view>
- </view>
- <view class="flex-row">
- <view class="label">鐗╂枡缂栫爜:</view>
- <view class="value">{{orderDetail.materielCode}}</view>
- </view>
- <view class="flex-row">
- <view class="label">鍗曟嵁鏁伴噺:</view>
- <view class="value">{{orderDetail.orderQuantity}}</view>
- </view>
- <view class="flex-row">
- <view class="label">宸插嚭搴撴暟閲�:</view>
- <view class="value">{{orderDetail.overOutQuantity}}</view>
- </view>
-
- </div>
- <view style="padding: 5%;">
- <uni-forms label-width="120">
- <uni-forms-item label="缁� 鐐� 鍖� 鍩�">
- <uni-data-select :focus="!istrue" v-model="AreaId" :localdata="range"
- placeholder="璇疯緭閫夋嫨鍏ュ簱缁堢偣鍖哄煙"></uni-data-select>
- </uni-forms-item>
- </uni-forms>
- <button @click="OutBound" type="primary" size="default" style="margin-top: 2%;">鍑哄簱</button>
-
- </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:[],
- label: "",
- range: [],
- orderDetail: {
- // id: "",
- // orderNo: "",
- // upperOrderNo: "",
- // materielCode: "",
- // materielName: "",
- // orderQuantity: "",
- // overOutQuantity: "",
- },
- focus: false,
- key: [],
- materielCode: "",
- }
- },
- onShow() {},
- onLoad(res) {
- console.log(res);
- this.focus = false;
- this.addressFocus = false;
- this.Id = res.Id;
- this.range = config.AreaId;
- this.getData();
- },
- methods: {
- groupClick(materielCode, id) {
- // window.location="/pages/materielGroup/OutOrderDetail?materielCode="+materielCode+"&id="+id;
- // console.log(materielCode,id)
- },
- getData() {
- var postData = this.Id;
- this.$u.post('/api/OutboundOrder/GetOutboundOrderDetail?id=' + postData, "").then((res) => {
- if (res.status) {
- this.orderDetail = 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() {
- this.orderIds.push(this.Id);
- var postData = {
- AreaId:this.AreaId,
- orderIds:this.orderIds
- };
- this.$u.post('/api/StockInfo/GenerateOutboundTask', 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/Order/OutboundOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/OtherOrder/OtherOutboundOrder.vue"
similarity index 84%
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Order/OutboundOrder.vue"
copy to "\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/OtherOrder/OtherOutboundOrder.vue"
index ef5e6b9..4534f12 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Order/OutboundOrder.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/OtherOrder/OtherOutboundOrder.vue"
@@ -6,7 +6,7 @@
</view>
</u-sticky>
<uni-list :border="true">
- <uni-list-item direction="column" clickable @click="groupClick(item.id)" link :to="page+item.orderNo"
+ <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">
@@ -26,16 +26,8 @@
<view class="value">{{item.upperOrderNo}}</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.orderQuantity}}</view>
- </view>
- <view class="flex-row">
- <view class="label">宸插嚭搴撴暟閲�:</view>
- <view class="value">{{item.overOutQuantity}}</view>
+ <view class="label">鍒涘缓鏃堕棿:</view>
+ <view class="value">{{item.createDate}}</view>
</view>
</uni-group>
</template>
@@ -52,8 +44,9 @@
export default {
data() {
return {
- page: "/pages/Order/Outorderboxing?orderNo=",
+ page: "/pages/OtherOrder/OtherOutorderboxing?orderNo=",
loadVisible: false,
+ istrue:false,
searchValue: "",
status: "more",
allReceivingOrders: [],
@@ -75,16 +68,15 @@
search(res) {
this.getData();
},
- groupClick(Id) {
- window.location="/pages/Order/Outorderboxing?Id="+Id;
- // console.log(Id);
+ 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/OutboundOrder/GetOutboundOrder', postData).then((res) => {
+ this.$u.post('/api/OtherOutboundOrder/GetOtherOutboundOrder', postData).then((res) => {
if (res.status) {
if (this.searchValue == '') {
this.allReceivingOrders = this.allReceivingOrders.concat(res.data);
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"
new file mode 100644
index 0000000..027615b
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/OtherOrder/OtherOutorderboxing.vue"
@@ -0,0 +1,178 @@
+<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/Order/OutboundOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Production/ProductionOutboundOrder.vue"
similarity index 84%
rename from "\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Order/OutboundOrder.vue"
rename to "\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Production/ProductionOutboundOrder.vue"
index ef5e6b9..4cf0655 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Order/OutboundOrder.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Production/ProductionOutboundOrder.vue"
@@ -6,7 +6,7 @@
</view>
</u-sticky>
<uni-list :border="true">
- <uni-list-item direction="column" clickable @click="groupClick(item.id)" link :to="page+item.orderNo"
+ <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">
@@ -26,16 +26,8 @@
<view class="value">{{item.upperOrderNo}}</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.orderQuantity}}</view>
- </view>
- <view class="flex-row">
- <view class="label">宸插嚭搴撴暟閲�:</view>
- <view class="value">{{item.overOutQuantity}}</view>
+ <view class="label">鍒涘缓鏃堕棿:</view>
+ <view class="value">{{item.createDate}}</view>
</view>
</uni-group>
</template>
@@ -52,8 +44,9 @@
export default {
data() {
return {
- page: "/pages/Order/Outorderboxing?orderNo=",
+ page: "/pages/Production/ProductionOutorderboxing?orderNo=",
loadVisible: false,
+ istrue:false,
searchValue: "",
status: "more",
allReceivingOrders: [],
@@ -75,16 +68,15 @@
search(res) {
this.getData();
},
- groupClick(Id) {
- window.location="/pages/Order/Outorderboxing?Id="+Id;
- // console.log(Id);
+ groupClick(Id,orderNo) {
+ window.location="/pages/Production/ProductionOutorderboxing?Id="+Id+"&orderNo="+orderNo;
},
getData() {
var postData = {
orderNo: this.searchValue,
pageNo: this.pageNo
}
- this.$u.post('/api/OutboundOrder/GetOutboundOrder', postData).then((res) => {
+ this.$u.post('/api/ProductionOutboundOrder/GetProductOutboundOrder', postData).then((res) => {
if (res.status) {
if (this.searchValue == '') {
this.allReceivingOrders = this.allReceivingOrders.concat(res.data);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Production/ProductionOutorderboxing.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Production/ProductionOutorderboxing.vue"
new file mode 100644
index 0000000..2e01f45
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/PDA/pages/Production/ProductionOutorderboxing.vue"
@@ -0,0 +1,177 @@
+<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/ProductionOutboundOrder/GettProductOutboundOrderDetail', 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
+ };
+ this.$u.post('/api/ProductionOutboundOrder/GeneratetProductOutboundTask', 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/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db"
index 776bc67..d54850f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/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/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm"
deleted file mode 100644
index 2f692a6..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-shm"
+++ /dev/null
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal"
deleted file mode 100644
index 138f098..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/CodeChunks.db-wal"
+++ /dev/null
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db"
index 96b1197..14bf617 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/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/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm"
deleted file mode 100644
index 85d8cf8..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-shm"
+++ /dev/null
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal"
deleted file mode 100644
index 32d1007..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.1231.31060/SemanticSymbols.db-wal"
+++ /dev/null
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
index 51e9589..f1d4906 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/DocumentLayout.backup.json"
@@ -113,7 +113,7 @@
"RelativeDocumentMoniker": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
"ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
"RelativeToolTip": "WIDESEAWCS_Tasks\\AGV\\CommonAGVJob.cs",
- "ViewState": "AgIAABwAAAAAAAAAAAA9wIsAAAAAAAAAAAAAAA==",
+ "ViewState": "AgIAAB0AAAAAAAAAAAAlwDoAAAAUAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-10-09T05:11:29.775Z",
"EditorCaption": ""
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/StockSelect.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"
similarity index 90%
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/StockSelect.vue"
copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateStockSelect.vue"
index 48e50fe..2e83148 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/StockSelect.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"
@@ -23,17 +23,11 @@
</div>
<div style="margin-top:10px;width:400px">
<el-form ref="form" :model="form" label-width="90px">
- <el-form-item label="缁堢偣鍦板潃">
- <el-input type="text" v-model="this.form.TargetAddress"></el-input>
- </el-form-item>
<el-form-item label="鍑哄簱鍖哄煙" prop="areaId">
<el-select v-model="form.areaId" placeholder="璇烽�夋嫨鍑哄簱鍖哄煙">
- <el-option label="鍫嗗灈鏈哄尯鍩�" value="1" />
<el-option label="涓�妤糀GV鍑哄簱缂撳瓨鍖�" value="2" />
<el-option label="涓�妤糀GV绔嬪簱缂撳瓨鍖�" value="3" />
<el-option label="涓�妤糀GV鍏ュ簱缂撳瓨鍖�" value="4" />
- <el-option label="浜屾ゼB4-G4缂撳瓨鍖�" value="5" />
- <el-option label="浜屾ゼB5-G5缂撳瓨鍖�" value="6" />
</el-select>
</el-form-item>
</el-form>
@@ -70,7 +64,7 @@
return {
form: {
TargetAddress: "",
- areaId: "",
+ areaId: "2",
},
row: null,
showDetialBox: false,
@@ -135,16 +129,14 @@
}
this.ids.push(this.row.id);
var param = {
- // "orderId": this.row.id,
"orderIds":this.ids,
"stockViews": this.selection,
- "TargetAddress": this.form.TargetAddress,
"AreaId": this.form.areaId,
}
console.log(param);
this.http
.post(
- "api/StockInfo/GenerateOutboundTask",
+ "api/AllocateOutboundOrder/GenerateAllocateOutboundTask",
param,
"鏁版嵁澶勭悊涓�"
)
@@ -158,14 +150,19 @@
});
},
getData() {
+ var param = {
+ "materielCode":this.row.materielCode,
+ "materielName": this.row.materielName,
+ "demandClassification": this.row.demandClassification,
+ }
this.http
- .post(
- "api/StockInfo/GetStockSelectViews?materielCode=" +
- this.row.materielCode,
- null,
- "鏌ヨ涓�"
- )
- .then((x) => {
+ // .post(
+ // "api/StockInfo/GetStockSelectViews?materielCode=" +
+ // this.row.materielCode,
+ // null,
+ // "鏌ヨ涓�"
+ // )
+ .post("api/StockInfo/GetStockSelectViews",param,"鏌ヨ涓�").then((x) => {
this.tableData = x;
});
},
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"
new file mode 100644
index 0000000..c30b851
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Allocate/AllocateoutOrderDetail.vue"
@@ -0,0 +1,387 @@
+<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>
+ <stock-select ref="child" @parentCall="parentCall"></stock-select>
+ </div>
+</template>
+<script>
+import VolBox from "@/components/basic/VolBox.vue";
+import VolForm from "@/components/basic/VolForm.vue";
+import StockSelect from "./OtherStockSelect.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: "assignStock",
+ title: "鎸囧畾搴撳瓨",
+ type: "icon",
+ width: 90,
+ icon: "el-icon-s-grid",
+ },
+ // {
+ // prop: "viewDetail",
+ // title: "鍑哄簱璇︾粏",
+ // type: "icon",
+ // width: 90,
+ // icon: "el-icon-s-operation",
+ // },
+ {
+ 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/AllocateOutboundOrderDetail/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/AllocateOutboundOrder/GenerateAllocateOutboundTask", 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/extension/widesea_wms/Order/OutboundOrder.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/AllocateOutboundOrder.js"
similarity index 97%
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/OutboundOrder.js"
copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/AllocateOutboundOrder.js"
index bf6ec35..c4b3624 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/OutboundOrder.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/AllocateOutboundOrder.js"
@@ -1,6 +1,6 @@
//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
-import gridBody from './extend/StockSelect.vue'
+import gridBody from './Allocate/AllocateoutOrderDetail.vue'
let extension = {
components: {
//鏌ヨ鐣岄潰鎵╁睍缁勪欢
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/StockSelect.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Inventory/InventoryStockSelect.vue"
similarity index 90%
rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/StockSelect.vue"
rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Inventory/InventoryStockSelect.vue"
index 48e50fe..968e596 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/StockSelect.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Inventory/InventoryStockSelect.vue"
@@ -23,17 +23,11 @@
</div>
<div style="margin-top:10px;width:400px">
<el-form ref="form" :model="form" label-width="90px">
- <el-form-item label="缁堢偣鍦板潃">
- <el-input type="text" v-model="this.form.TargetAddress"></el-input>
- </el-form-item>
<el-form-item label="鍑哄簱鍖哄煙" prop="areaId">
<el-select v-model="form.areaId" placeholder="璇烽�夋嫨鍑哄簱鍖哄煙">
- <el-option label="鍫嗗灈鏈哄尯鍩�" value="1" />
<el-option label="涓�妤糀GV鍑哄簱缂撳瓨鍖�" value="2" />
<el-option label="涓�妤糀GV绔嬪簱缂撳瓨鍖�" value="3" />
<el-option label="涓�妤糀GV鍏ュ簱缂撳瓨鍖�" value="4" />
- <el-option label="浜屾ゼB4-G4缂撳瓨鍖�" value="5" />
- <el-option label="浜屾ゼB5-G5缂撳瓨鍖�" value="6" />
</el-select>
</el-form-item>
</el-form>
@@ -70,7 +64,7 @@
return {
form: {
TargetAddress: "",
- areaId: "",
+ areaId: "2",
},
row: null,
showDetialBox: false,
@@ -135,16 +129,13 @@
}
this.ids.push(this.row.id);
var param = {
- // "orderId": this.row.id,
"orderIds":this.ids,
"stockViews": this.selection,
- "TargetAddress": this.form.TargetAddress,
"AreaId": this.form.areaId,
}
- console.log(param);
this.http
.post(
- "api/StockInfo/GenerateOutboundTask",
+ "api/InventoryOutboundOrder/GenerateInventoryOutboundTask",
param,
"鏁版嵁澶勭悊涓�"
)
@@ -158,14 +149,13 @@
});
},
getData() {
+ var param = {
+ "materielCode":this.row.materielCode,
+ "materielName": this.row.materielName,
+ "demandClassification": this.row.demandClassification,
+ }
this.http
- .post(
- "api/StockInfo/GetStockSelectViews?materielCode=" +
- this.row.materielCode,
- null,
- "鏌ヨ涓�"
- )
- .then((x) => {
+ .post("api/StockInfo/GetStockSelectViews",param,"鏌ヨ涓�").then((x) => {
this.tableData = x;
});
},
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Inventory/InventoryoutOrderDetail.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Inventory/InventoryoutOrderDetail.vue"
new file mode 100644
index 0000000..cf141d5
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Inventory/InventoryoutOrderDetail.vue"
@@ -0,0 +1,387 @@
+<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>
+ <stock-select ref="child" @parentCall="parentCall"></stock-select>
+ </div>
+</template>
+<script>
+import VolBox from "@/components/basic/VolBox.vue";
+import VolForm from "@/components/basic/VolForm.vue";
+import StockSelect from "./InventoryStockSelect.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: "assignStock",
+ title: "鎸囧畾搴撳瓨",
+ type: "icon",
+ width: 90,
+ icon: "el-icon-s-grid",
+ },
+ // {
+ // prop: "viewDetail",
+ // title: "鍑哄簱璇︾粏",
+ // type: "icon",
+ // width: 90,
+ // icon: "el-icon-s-operation",
+ // },
+ {
+ 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/InventoryOutboundOrderDetail/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/InventoryOutboundOrder/GenerateInventoryOutboundTask", 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/extension/widesea_wms/Order/OutboundOrder.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/InventoryOutboundOrder.js"
similarity index 97%
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/OutboundOrder.js"
copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/InventoryOutboundOrder.js"
index bf6ec35..67161d1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/OutboundOrder.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/InventoryOutboundOrder.js"
@@ -1,6 +1,6 @@
//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
-import gridBody from './extend/StockSelect.vue'
+import gridBody from './Inventory/InventoryoutOrderDetail.vue'
let extension = {
components: {
//鏌ヨ鐣岄潰鎵╁睍缁勪欢
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/StockSelect.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Other/OtherStockSelect.vue"
similarity index 90%
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/StockSelect.vue"
copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Other/OtherStockSelect.vue"
index 48e50fe..c671a66 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/StockSelect.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Other/OtherStockSelect.vue"
@@ -23,17 +23,11 @@
</div>
<div style="margin-top:10px;width:400px">
<el-form ref="form" :model="form" label-width="90px">
- <el-form-item label="缁堢偣鍦板潃">
- <el-input type="text" v-model="this.form.TargetAddress"></el-input>
- </el-form-item>
<el-form-item label="鍑哄簱鍖哄煙" prop="areaId">
<el-select v-model="form.areaId" placeholder="璇烽�夋嫨鍑哄簱鍖哄煙">
- <el-option label="鍫嗗灈鏈哄尯鍩�" value="1" />
<el-option label="涓�妤糀GV鍑哄簱缂撳瓨鍖�" value="2" />
<el-option label="涓�妤糀GV绔嬪簱缂撳瓨鍖�" value="3" />
<el-option label="涓�妤糀GV鍏ュ簱缂撳瓨鍖�" value="4" />
- <el-option label="浜屾ゼB4-G4缂撳瓨鍖�" value="5" />
- <el-option label="浜屾ゼB5-G5缂撳瓨鍖�" value="6" />
</el-select>
</el-form-item>
</el-form>
@@ -70,7 +64,7 @@
return {
form: {
TargetAddress: "",
- areaId: "",
+ areaId: "2",
},
row: null,
showDetialBox: false,
@@ -135,16 +129,14 @@
}
this.ids.push(this.row.id);
var param = {
- // "orderId": this.row.id,
"orderIds":this.ids,
"stockViews": this.selection,
- "TargetAddress": this.form.TargetAddress,
"AreaId": this.form.areaId,
}
console.log(param);
this.http
.post(
- "api/StockInfo/GenerateOutboundTask",
+ "api/OtherOutboundOrder/GenerateOtherOutboundTask",
param,
"鏁版嵁澶勭悊涓�"
)
@@ -158,14 +150,19 @@
});
},
getData() {
+ var param = {
+ "materielCode":this.row.materielCode,
+ "materielName": this.row.materielName,
+ "demandClassification": this.row.demandClassification,
+ }
this.http
- .post(
- "api/StockInfo/GetStockSelectViews?materielCode=" +
- this.row.materielCode,
- null,
- "鏌ヨ涓�"
- )
- .then((x) => {
+ // .post(
+ // "api/StockInfo/GetStockSelectViews?materielCode=" +
+ // this.row.materielCode,
+ // null,
+ // "鏌ヨ涓�"
+ // )
+ .post("api/StockInfo/GetStockSelectViews",param,"鏌ヨ涓�").then((x) => {
this.tableData = x;
});
},
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Other/OtheroutOrderDetail.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Other/OtheroutOrderDetail.vue"
new file mode 100644
index 0000000..8010939
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Other/OtheroutOrderDetail.vue"
@@ -0,0 +1,387 @@
+<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>
+ <stock-select ref="child" @parentCall="parentCall"></stock-select>
+ </div>
+</template>
+<script>
+import VolBox from "@/components/basic/VolBox.vue";
+import VolForm from "@/components/basic/VolForm.vue";
+import StockSelect from "./OtherStockSelect.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: "assignStock",
+ title: "鎸囧畾搴撳瓨",
+ type: "icon",
+ width: 90,
+ icon: "el-icon-s-grid",
+ },
+ // {
+ // prop: "viewDetail",
+ // title: "鍑哄簱璇︾粏",
+ // type: "icon",
+ // width: 90,
+ // icon: "el-icon-s-operation",
+ // },
+ {
+ 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/OtherOutboundOrderDetail/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/OtherOutboundOrder/GenerateOtherOutboundTask", 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/extension/widesea_wms/Order/OutboundOrder.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/OtherOutboundOrder.js"
similarity index 97%
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/OutboundOrder.js"
copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/OtherOutboundOrder.js"
index bf6ec35..c2b1dd5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/OutboundOrder.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/OtherOutboundOrder.js"
@@ -1,6 +1,6 @@
//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
-import gridBody from './extend/StockSelect.vue'
+import gridBody from './Other/OtheroutOrderDetail.vue'
let extension = {
components: {
//鏌ヨ鐣岄潰鎵╁睍缁勪欢
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/StockSelect.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"
similarity index 90%
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/StockSelect.vue"
copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionStockSelect.vue"
index 48e50fe..4eb924b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/StockSelect.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"
@@ -23,17 +23,11 @@
</div>
<div style="margin-top:10px;width:400px">
<el-form ref="form" :model="form" label-width="90px">
- <el-form-item label="缁堢偣鍦板潃">
- <el-input type="text" v-model="this.form.TargetAddress"></el-input>
- </el-form-item>
<el-form-item label="鍑哄簱鍖哄煙" prop="areaId">
<el-select v-model="form.areaId" placeholder="璇烽�夋嫨鍑哄簱鍖哄煙">
- <el-option label="鍫嗗灈鏈哄尯鍩�" value="1" />
<el-option label="涓�妤糀GV鍑哄簱缂撳瓨鍖�" value="2" />
<el-option label="涓�妤糀GV绔嬪簱缂撳瓨鍖�" value="3" />
<el-option label="涓�妤糀GV鍏ュ簱缂撳瓨鍖�" value="4" />
- <el-option label="浜屾ゼB4-G4缂撳瓨鍖�" value="5" />
- <el-option label="浜屾ゼB5-G5缂撳瓨鍖�" value="6" />
</el-select>
</el-form-item>
</el-form>
@@ -70,7 +64,7 @@
return {
form: {
TargetAddress: "",
- areaId: "",
+ areaId: "2",
},
row: null,
showDetialBox: false,
@@ -135,16 +129,13 @@
}
this.ids.push(this.row.id);
var param = {
- // "orderId": this.row.id,
"orderIds":this.ids,
"stockViews": this.selection,
- "TargetAddress": this.form.TargetAddress,
"AreaId": this.form.areaId,
}
- console.log(param);
this.http
.post(
- "api/StockInfo/GenerateOutboundTask",
+ "api/ProductionOutboundOrder/GeneratetProductOutboundTask",
param,
"鏁版嵁澶勭悊涓�"
)
@@ -158,14 +149,13 @@
});
},
getData() {
+ var param = {
+ "materielCode":this.row.materielCode,
+ "materielName": this.row.materielName,
+ "demandClassification": this.row.demandClassification,
+ }
this.http
- .post(
- "api/StockInfo/GetStockSelectViews?materielCode=" +
- this.row.materielCode,
- null,
- "鏌ヨ涓�"
- )
- .then((x) => {
+ .post("api/StockInfo/GetStockSelectViews",param,"鏌ヨ涓�").then((x) => {
this.tableData = x;
});
},
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionoutOrderDetail.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionoutOrderDetail.vue"
new file mode 100644
index 0000000..2955ebd
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/Production/ProductionoutOrderDetail.vue"
@@ -0,0 +1,387 @@
+<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>
+ <stock-select ref="child" @parentCall="parentCall"></stock-select>
+ </div>
+</template>
+<script>
+import VolBox from "@/components/basic/VolBox.vue";
+import VolForm from "@/components/basic/VolForm.vue";
+import StockSelect from "./ProductionStockSelect.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: "assignStock",
+ title: "鎸囧畾搴撳瓨",
+ type: "icon",
+ width: 90,
+ icon: "el-icon-s-grid",
+ },
+ // {
+ // prop: "viewDetail",
+ // title: "鍑哄簱璇︾粏",
+ // type: "icon",
+ // width: 90,
+ // icon: "el-icon-s-operation",
+ // },
+ {
+ 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/extension/widesea_wms/Order/OutboundOrder.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/ProductionOutboundOrder.js"
similarity index 97%
rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/OutboundOrder.js"
rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/ProductionOutboundOrder.js"
index bf6ec35..7fa28f3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/OutboundOrder.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/ProductionOutboundOrder.js"
@@ -1,6 +1,6 @@
//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
-import gridBody from './extend/StockSelect.vue'
+import gridBody from './Production/ProductionoutOrderDetail.vue'
let extension = {
components: {
//鏌ヨ鐣岄潰鎵╁睍缁勪欢
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/HandOutbound.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/HandOutbound.vue"
deleted file mode 100644
index d6f43cd..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/Order/extend/HandOutbound.vue"
+++ /dev/null
@@ -1,84 +0,0 @@
-<template>
- <vol-box v-model="show" title="鐩存帴鍑哄簱" :width="800" :height="600">
- <template #content>
- <el-form ref="form" :model="form" label-width="90px">
- <el-form-item label="鍑哄簱绔欏彴" prop="areaId">
- <el-select v-model="form.areaId" placeholder="璇烽�夋嫨鍑哄簱鍖哄煙">
- <el-option label="鍫嗗灈鏈哄尯鍩�" value="1" />
- <el-option label="涓�妤糀GV鍑哄簱缂撳瓨鍖�" value="2" />
- <el-option label="涓�妤糀GV绔嬪簱缂撳瓨鍖�" value="3" />
- <el-option label="涓�妤糀GV鍏ュ簱缂撳瓨鍖�" value="4" />
- <el-option label="浜屾ゼB4-G4缂撳瓨鍖�" value="5" />
- <el-option label="浜屾ゼB5-G5缂撳瓨鍖�" value="6" />
- </el-select>
- </el-form-item>
- </el-form>
- </template>
- <template #footer>
- <div>
- <el-button type="danger" size="small" plain @click="submit">
- <i class="el-icon-check">鍑哄簱</i>
- </el-button>
- <el-button size="small" type="primary" plain @click="() => {
- this.show = false;
- }
- ">
- <i class="el-icon-close">鍏抽棴</i>
- </el-button>
- </div>
- </template>
- </vol-box>
-</template>
-
-<script>
-import VolBox from "@/components/basic/VolBox.vue";
-export default {
- components: {
- "vol-box": VolBox,
- },
- data() {
- return {
- form:{
- TargetAddress:"",
- locationID:"",
- SCNo:"",
- palletCode:""
- },
- show: false,
- };
- },
- methods: {
- open(locationID,palletCode) {
- this.show = true;
- this.form.locationID=locationID;
- this.form.palletCode=palletCode;
- },
- submit() {
- this.$emit("parentCall", ($vue) => {
- if (
- !this.form.TargetAddress ||
- !this.form.locationID ||
- !this.form.SCNo ||
- this.form.TargetAddress==""||
- this.form.locationID==""||
- this.form.SCNo==""
- ) {
- this.$message.error("鍙傛暟閿欒");
- return;
- }
- this.http.post("api/Dt_LocationInfo/HandOutbound", this.form, "").then((x) => {
- if (!x.status) {
- this.$message.error(x.message);
- } else {
- this.$Message.success("鏂板缓鍑哄簱浠诲姟");
- // $vue.success("鎴愬姛.");
- this.show = false;
- $vue.refresh();
- }
- });
- });
- },
- },
-
-};
-</script>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/router/tables.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/router/tables.js"
index b38473e..94717ee 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/router/tables.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/router/tables.js"
@@ -101,9 +101,27 @@
meta: {
}
},{
- path: '/OutboundOrder',
- name: 'OutboundOrder',
- component: () => import('@/views/widesea_wms/Order/OutboundOrder.vue'),
+ path: '/OtherOutboundOrder',
+ name: 'OtherOutboundOrder',
+ component: () => import('@/views/widesea_wms/Order/OtherOutboundOrder.vue'),
+ meta: {
+ }
+ },{
+ path: '/AllocateOutboundOrder',
+ name: 'AllocateOutboundOrder',
+ component: () => import('@/views/widesea_wms/Order/AllocateOutboundOrder.vue'),
+ meta: {
+ }
+ },{
+ path: '/InventoryOutboundOrder',
+ name: 'InventoryOutboundOrder',
+ component: () => import('@/views/widesea_wms/Order/InventoryOutboundOrder.vue'),
+ meta: {
+ }
+ },{
+ path: '/ProductionOutboundOrder',
+ name: 'ProductionOutboundOrder',
+ component: () => import('@/views/widesea_wms/Order/ProductionOutboundOrder.vue'),
meta: {
}
}
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"
new file mode 100644
index 0000000..800279d
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/AllocateOutboundOrder.vue"
@@ -0,0 +1,201 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wms/stock/Dt_BillGroupStock.js姝ゅ缂栧啓
+ -->
+
+<template>
+ <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
+ :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
+ :table="table" :extend="extend">
+ </view-grid>
+</template>
+<script>
+import extend from "@/extension/widesea_wms/Order/OtherOutboundOrder.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+ setup() {
+ const table = ref({
+ key: 'id',
+ footer: "Foots",
+ cnName: '璋冩嫧鍑哄簱鍗曟嵁淇℃伅',
+ name: '',
+ url: "/AllocateOutboundOrder/",
+ sortName: "createDate"
+ });
+ const editFormFields = ref({
+ orderNo:"",
+ upperOrderNo:"",
+ orderType:"",
+ orderStatus:"",
+ createType:"",
+ });
+ const editFormOptions = ref([
+ ]);
+ const searchFormFields = ref({});
+ const searchFormOptions = ref([
+ [
+ { "title": "涓婃父鍗曞彿", "field": "upperOrderNo", "type": "text" },
+ { "title": "璁㈠崟缂栧彿", "field": "orderNo", "type": "text" },
+ { "title": "鍗曟嵁绫诲瀷", "field": "orderType", type: "select", dataKey: "OrderTypeEmun", data: [] },
+
+ ],
+ [
+ { "title": "鍗曟嵁鐘舵��", "field": "orderStatus", type: "select", dataKey: "OrderStateEmun", data: [] },
+ { "title": "鍒涘缓绫诲瀷", "field": "createType", type: "select", dataKey: "OrderCreateTypeEmun", data: [] },
+ ],
+ ]);
+ const columns = ref(
+ [
+ { field: 'id', title: '鍗曟嵁id', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
+ { field: 'orderNo', title: '鍗曟嵁缂栧彿', type: 'string', width: 150, align: 'left', },
+ { field: 'upperOrderNo', title: '涓婃父鍗曟嵁缂栧彿', type: 'string', width: 150, align: 'left', },
+ { field: 'orderType', title: '鍗曟嵁绫诲瀷', type: 'int', width: 120, align: 'left', bind: { key: "OrderTypeEmun", data: [] } },
+ { field: 'orderStatus', title: '鍗曟嵁鐘舵��', type: 'int', width: 90, align: 'left', bind: { key: "OrderStateEmun", data: [] } },
+ { field: 'createType', title: '鍒涘缓绫诲瀷', type: 'int', width: 120, align: 'left', bind: { key: "OrderCreateTypeEmun", data: [] } },
+ { field: 'remark', title: '澶囨敞', type: 'string', width: 60, align: 'left', hidden: true},
+ { field: 'creater', title: '鍒涘缓浜�', type: 'string', sort: true, width: 110, align: 'left', hidden: true },
+ { field: 'createDate', title: '鍒涘缓鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', },
+ { field: 'modifier', title: '鏈�鍚庝慨鏀逛汉', type: 'string', sort: true, width: 100, align: 'left' },
+ ]
+ );
+ // const detail = ref({
+ // cnName: "#detailCnName",
+ // table: "#detailTable",
+ // columns: [],
+ // sortName: "",
+ // key: ""
+ // });
+ const detail = ref({
+ cnName: "璋冩嫧鍑哄簱鍗曟嵁鏄庣粏淇℃伅",
+ table: "StockInfoDetails",
+ columns: [
+ {
+ field: "id",
+ title: "Id",
+ type: "int",
+ width: 90,
+ hidden: true,
+ readonly: true,
+ require: true,
+ align: "left",
+ },
+ {
+ field: "orderId",
+ title: "鍑哄簱鍗曟嵁涓婚敭",
+ type: "string",
+ width: 90,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "materielCode",
+ title: "鐗╂枡缂栧彿",
+ type: "string",
+ width: 150,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "materielName",
+ title: "鐗╂枡鍚嶇О",
+ type: "string",
+ width: 150,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "demandClassification",
+ title: "闇�姹傚垎绫�",
+ type: "decimal",
+ width: 180,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "orderQuantity",
+ title: "鍗曟嵁鏁伴噺",
+ type: "string",
+ width: 120,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "overOutQuantity",
+ title: "宸插嚭搴撴暟閲�",
+ type: "int",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "lockQuantity",
+ title: "閿佸畾鏁伴噺",
+ type: "int",
+ width: 90,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "orderDetailStatus",
+ title: "鍗曟嵁鏄庣粏鐘舵��",
+ type: "string",
+ width: 120,
+ align: "left",
+ bind: { key: "OrderStateEmun", data: [] },
+ },
+ {
+ field: "creater",
+ title: "鍒涘缓浜�",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "createDate",
+ title: "鍒涘缓鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ },
+ {
+ field: "modifier",
+ title: "淇敼浜�",
+ type: "string",
+ width: 100,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "modifyDate",
+ title: "淇敼鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "remark",
+ title: "澶囨敞",
+ type: "string",
+ width: 100,
+ align: "left",
+ hidden: true,
+ },
+ ],
+ sortName: "id",
+ key: "id",
+ });
+ return {
+ table,
+ extend,
+ editFormFields,
+ editFormOptions,
+ searchFormFields,
+ searchFormOptions,
+ columns,
+ detail,
+ };
+ },
+});
+</script>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/InventoryOutboundOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/InventoryOutboundOrder.vue"
new file mode 100644
index 0000000..8c5c331
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/InventoryOutboundOrder.vue"
@@ -0,0 +1,201 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wms/stock/Dt_BillGroupStock.js姝ゅ缂栧啓
+ -->
+
+<template>
+ <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
+ :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
+ :table="table" :extend="extend">
+ </view-grid>
+</template>
+<script>
+import extend from "@/extension/widesea_wms/Order/InventoryOutboundOrder.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+ setup() {
+ const table = ref({
+ key: 'id',
+ footer: "Foots",
+ cnName: '鐩樼偣鍑哄簱鍗曟嵁淇℃伅',
+ name: '',
+ url: "/InventoryOutboundOrder/",
+ sortName: "createDate"
+ });
+ const editFormFields = ref({
+ orderNo:"",
+ upperOrderNo:"",
+ orderType:"",
+ orderStatus:"",
+ createType:"",
+ });
+ const editFormOptions = ref([
+ ]);
+ const searchFormFields = ref({});
+ const searchFormOptions = ref([
+ [
+ { "title": "涓婃父鍗曞彿", "field": "upperOrderNo", "type": "text" },
+ { "title": "璁㈠崟缂栧彿", "field": "orderNo", "type": "text" },
+ { "title": "鍗曟嵁绫诲瀷", "field": "orderType", type: "select", dataKey: "OrderTypeEmun", data: [] },
+
+ ],
+ [
+ { "title": "鍗曟嵁鐘舵��", "field": "orderStatus", type: "select", dataKey: "OrderStateEmun", data: [] },
+ { "title": "鍒涘缓绫诲瀷", "field": "createType", type: "select", dataKey: "OrderCreateTypeEmun", data: [] },
+ ],
+ ]);
+ const columns = ref(
+ [
+ { field: 'id', title: '鍗曟嵁id', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
+ { field: 'orderNo', title: '鍗曟嵁缂栧彿', type: 'string', width: 150, align: 'left', },
+ { field: 'upperOrderNo', title: '涓婃父鍗曟嵁缂栧彿', type: 'string', width: 150, align: 'left', },
+ { field: 'orderType', title: '鍗曟嵁绫诲瀷', type: 'int', width: 120, align: 'left', bind: { key: "OrderTypeEmun", data: [] } },
+ { field: 'orderStatus', title: '鍗曟嵁鐘舵��', type: 'int', width: 90, align: 'left', bind: { key: "OrderStateEmun", data: [] } },
+ { field: 'createType', title: '鍒涘缓绫诲瀷', type: 'int', width: 120, align: 'left', bind: { key: "OrderCreateTypeEmun", data: [] } },
+ { field: 'remark', title: '澶囨敞', type: 'string', width: 60, align: 'left', hidden: true},
+ { field: 'creater', title: '鍒涘缓浜�', type: 'string', sort: true, width: 110, align: 'left', hidden: true },
+ { field: 'createDate', title: '鍒涘缓鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', },
+ { field: 'modifier', title: '鏈�鍚庝慨鏀逛汉', type: 'string', sort: true, width: 100, align: 'left' },
+ ]
+ );
+ // const detail = ref({
+ // cnName: "#detailCnName",
+ // table: "#detailTable",
+ // columns: [],
+ // sortName: "",
+ // key: ""
+ // });
+ const detail = ref({
+ cnName: "鐩樼偣鍑哄簱鍗曟嵁鏄庣粏淇℃伅",
+ table: "StockInfoDetails",
+ columns: [
+ {
+ field: "id",
+ title: "Id",
+ type: "int",
+ width: 90,
+ hidden: true,
+ readonly: true,
+ require: true,
+ align: "left",
+ },
+ {
+ field: "orderId",
+ title: "鍑哄簱鍗曟嵁涓婚敭",
+ type: "string",
+ width: 90,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "materielCode",
+ title: "鐗╂枡缂栧彿",
+ type: "string",
+ width: 150,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "materielName",
+ title: "鐗╂枡鍚嶇О",
+ type: "string",
+ width: 150,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "demandClassification",
+ title: "闇�姹傚垎绫�",
+ type: "decimal",
+ width: 180,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "orderQuantity",
+ title: "鍗曟嵁鏁伴噺",
+ type: "string",
+ width: 120,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "overOutQuantity",
+ title: "宸插嚭搴撴暟閲�",
+ type: "int",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "lockQuantity",
+ title: "閿佸畾鏁伴噺",
+ type: "int",
+ width: 90,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "orderDetailStatus",
+ title: "鍗曟嵁鏄庣粏鐘舵��",
+ type: "string",
+ width: 120,
+ align: "left",
+ bind: { key: "OrderStateEmun", data: [] },
+ },
+ {
+ field: "creater",
+ title: "鍒涘缓浜�",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "createDate",
+ title: "鍒涘缓鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ },
+ {
+ field: "modifier",
+ title: "淇敼浜�",
+ type: "string",
+ width: 100,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "modifyDate",
+ title: "淇敼鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "remark",
+ title: "澶囨敞",
+ type: "string",
+ width: 100,
+ align: "left",
+ hidden: true,
+ },
+ ],
+ sortName: "id",
+ key: "id",
+ });
+ return {
+ table,
+ extend,
+ editFormFields,
+ editFormOptions,
+ searchFormFields,
+ searchFormOptions,
+ columns,
+ detail,
+ };
+ },
+});
+</script>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/OtherOutboundOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/OtherOutboundOrder.vue"
new file mode 100644
index 0000000..84441ff
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/OtherOutboundOrder.vue"
@@ -0,0 +1,201 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wms/stock/Dt_BillGroupStock.js姝ゅ缂栧啓
+ -->
+
+<template>
+ <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
+ :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
+ :table="table" :extend="extend">
+ </view-grid>
+</template>
+<script>
+import extend from "@/extension/widesea_wms/Order/OtherOutboundOrder.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+ setup() {
+ const table = ref({
+ key: 'id',
+ footer: "Foots",
+ cnName: '鍏朵粬鍑哄簱鍗曟嵁淇℃伅',
+ name: '',
+ url: "/OtherOutboundOrder/",
+ sortName: "createDate"
+ });
+ const editFormFields = ref({
+ orderNo:"",
+ upperOrderNo:"",
+ orderType:"",
+ orderStatus:"",
+ createType:"",
+ });
+ const editFormOptions = ref([
+ ]);
+ const searchFormFields = ref({});
+ const searchFormOptions = ref([
+ [
+ { "title": "涓婃父鍗曞彿", "field": "upperOrderNo", "type": "text" },
+ { "title": "璁㈠崟缂栧彿", "field": "orderNo", "type": "text" },
+ { "title": "鍗曟嵁绫诲瀷", "field": "orderType", type: "select", dataKey: "OrderTypeEmun", data: [] },
+
+ ],
+ [
+ { "title": "鍗曟嵁鐘舵��", "field": "orderStatus", type: "select", dataKey: "OrderStateEmun", data: [] },
+ { "title": "鍒涘缓绫诲瀷", "field": "createType", type: "select", dataKey: "OrderCreateTypeEmun", data: [] },
+ ],
+ ]);
+ const columns = ref(
+ [
+ { field: 'id', title: '鍗曟嵁id', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
+ { field: 'orderNo', title: '鍗曟嵁缂栧彿', type: 'string', width: 150, align: 'left', },
+ { field: 'upperOrderNo', title: '涓婃父鍗曟嵁缂栧彿', type: 'string', width: 150, align: 'left', },
+ { field: 'orderType', title: '鍗曟嵁绫诲瀷', type: 'int', width: 120, align: 'left', bind: { key: "OrderTypeEmun", data: [] } },
+ { field: 'orderStatus', title: '鍗曟嵁鐘舵��', type: 'int', width: 90, align: 'left', bind: { key: "OrderStateEmun", data: [] } },
+ { field: 'createType', title: '鍒涘缓绫诲瀷', type: 'int', width: 120, align: 'left', bind: { key: "OrderCreateTypeEmun", data: [] } },
+ { field: 'remark', title: '澶囨敞', type: 'string', width: 60, align: 'left', hidden: true},
+ { field: 'creater', title: '鍒涘缓浜�', type: 'string', sort: true, width: 110, align: 'left', hidden: true },
+ { field: 'createDate', title: '鍒涘缓鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', },
+ { field: 'modifier', title: '鏈�鍚庝慨鏀逛汉', type: 'string', sort: true, width: 100, align: 'left' },
+ ]
+ );
+ // const detail = ref({
+ // cnName: "#detailCnName",
+ // table: "#detailTable",
+ // columns: [],
+ // sortName: "",
+ // key: ""
+ // });
+ const detail = ref({
+ cnName: "鍑哄簱鍗曟嵁鏄庣粏淇℃伅",
+ table: "StockInfoDetails",
+ columns: [
+ {
+ field: "id",
+ title: "Id",
+ type: "int",
+ width: 90,
+ hidden: true,
+ readonly: true,
+ require: true,
+ align: "left",
+ },
+ {
+ field: "orderId",
+ title: "鍑哄簱鍗曟嵁涓婚敭",
+ type: "string",
+ width: 90,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "materielCode",
+ title: "鐗╂枡缂栧彿",
+ type: "string",
+ width: 150,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "materielName",
+ title: "鐗╂枡鍚嶇О",
+ type: "string",
+ width: 150,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "demandClassification",
+ title: "闇�姹傚垎绫�",
+ type: "decimal",
+ width: 180,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "orderQuantity",
+ title: "鍗曟嵁鏁伴噺",
+ type: "string",
+ width: 120,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "overOutQuantity",
+ title: "宸插嚭搴撴暟閲�",
+ type: "int",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "lockQuantity",
+ title: "閿佸畾鏁伴噺",
+ type: "int",
+ width: 90,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "orderDetailStatus",
+ title: "鍗曟嵁鏄庣粏鐘舵��",
+ type: "string",
+ width: 120,
+ align: "left",
+ bind: { key: "OrderStateEmun", data: [] },
+ },
+ {
+ field: "creater",
+ title: "鍒涘缓浜�",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "createDate",
+ title: "鍒涘缓鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ },
+ {
+ field: "modifier",
+ title: "淇敼浜�",
+ type: "string",
+ width: 100,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "modifyDate",
+ title: "淇敼鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "remark",
+ title: "澶囨敞",
+ type: "string",
+ width: 100,
+ align: "left",
+ hidden: true,
+ },
+ ],
+ sortName: "id",
+ key: "id",
+ });
+ return {
+ table,
+ extend,
+ editFormFields,
+ editFormOptions,
+ searchFormFields,
+ searchFormOptions,
+ columns,
+ detail,
+ };
+ },
+});
+</script>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/OutboundOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/OutboundOrder.vue"
deleted file mode 100644
index 44d40de..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/OutboundOrder.vue"
+++ /dev/null
@@ -1,217 +0,0 @@
-<!--
-*Author锛歫xx
- *Contact锛�283591387@qq.com
- *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
- *涓氬姟璇峰湪@/extension/widesea_wms/stock/Dt_BillGroupStock.js姝ゅ缂栧啓
- -->
-
-<template>
- <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
- :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
- :table="table" :extend="extend">
- </view-grid>
-</template>
-<script>
-import extend from "@/extension/widesea_wms/Order/OutboundOrder.js";
-import { ref, defineComponent } from "vue";
-export default defineComponent({
- setup() {
- const table = ref({
- key: 'id',
- footer: "Foots",
- cnName: '鍑哄簱鍗曟嵁淇℃伅',
- name: '',
- url: "/OutboundOrder/",
- sortName: "createDate"
- });
- const editFormFields = ref({
- // orderNo: "",
- orderType: "",
- materielCode: "",
- materielName: "",
- demandClassification: "",
- orderQuantity: "",
- });
- const editFormOptions = ref([
- [
- // { "title": "璁㈠崟缂栧彿", "field": "orderNo", "type": "text" },
- { "title": "鐗╂枡缂栫爜", "field": "materielCode", type: "text", },
- { "title": "鐗╂枡鍚嶇О", "field": "materielName", type: "text", dataKey: "OrderTypeEmun", data: [] },
- ],
- [
- { "title": "闇�姹傚垎绫�", "field": "demandClassification", "type": "text" },
- { "title": "鍗曟嵁鍑哄簱鎬婚噺", "field": "orderQuantity", type: "text" },
- { "title": "鍗曟嵁绫诲瀷", "field": "orderType", type: "select", dataKey: "OrderTypeEmun", data: [] },
- ]
- ]);
- const searchFormFields = ref({});
- const searchFormOptions = ref([
- [
- { "title": "涓婃父鍗曞彿", "field": "upperOrderNo", "type": "text" },
- { "title": "璁㈠崟缂栧彿", "field": "orderNo", "type": "text" },
- { "title": "鍗曟嵁绫诲瀷", "field": "orderType", type: "select", dataKey: "OrderTypeEmun", data: [] },
-
- ],
- [
- { "title": "鍗曟嵁鐘舵��", "field": "orderStatus", type: "select", dataKey: "OrderStateEmun", data: [] },
- { "title": "鍒涘缓绫诲瀷", "field": "createType", type: "select", dataKey: "OrderCreateTypeEmun", data: [] },
- ],
- ]);
- const columns = ref(
- [
- { field: 'id', title: '鍗曟嵁id', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
- { field: 'orderNo', title: '鍗曟嵁缂栧彿', type: 'string', width: 150, align: 'left', },
- { field: 'upperOrderNo', title: '涓婃父鍗曟嵁缂栧彿', type: 'string', width: 150, align: 'left', },
- { field: 'materielCode', title: '鐗╂枡缂栫爜', type: 'string', width: 100, align: 'left', },
- { field: 'materielName', title: '鐗╂枡鍚嶇О', type: 'string', width: 100, align: 'left', },
- { field: 'demandClassification', title: '闇�姹傚垎绫�', type: 'string', width: 100, align: 'left', },
- { field: 'orderQuantity', title: '鍗曟嵁鍑哄簱鎬婚噺', type: 'string', width: 100, align: 'left', },
- { field: 'overOutQuantity', title: '宸插嚭搴撴暟閲�', type: 'string', width: 100, align: 'left', },
- { field: 'orderType', title: '鍗曟嵁绫诲瀷', type: 'int', width: 120, align: 'left', bind: { key: "OrderTypeEmun", data: [] } },
- { field: 'orderStatus', title: '鍗曟嵁鐘舵��', type: 'int', width: 90, align: 'left', bind: { key: "OrderStateEmun", data: [] } },
- { field: 'createType', title: '鍒涘缓绫诲瀷', type: 'int', width: 120, align: 'left', bind: { key: "OrderCreateTypeEmun", data: [] } },
- { field: 'remark', title: '澶囨敞', type: 'string', width: 60, align: 'left', hidden: true},
- { field: 'creater', title: '鍒涘缓浜�', type: 'string', sort: true, width: 110, align: 'left', hidden: true },
- { field: 'createDate', title: '鍒涘缓鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', },
- { field: 'modifier', title: '鏈�鍚庝慨鏀逛汉', type: 'string', sort: true, width: 100, align: 'left' },
- ]
- );
- const detail = ref({
- cnName: "#detailCnName",
- table: "#detailTable",
- columns: [],
- sortName: "",
- key: ""
- });
- // const detail = ref({
- // cnName: "鍑哄簱鍗曟嵁鏄庣粏淇℃伅",
- // table: "StockInfoDetails",
- // columns: [
- // {
- // field: "id",
- // title: "Id",
- // type: "int",
- // width: 90,
- // hidden: true,
- // readonly: true,
- // require: true,
- // align: "left",
- // },
- // {
- // field: "orderId",
- // title: "鍑哄簱鍗曟嵁涓婚敭",
- // type: "string",
- // width: 90,
- // align: "left",
- // hidden: true,
- // },
- // {
- // field: "materielCode",
- // title: "鐗╂枡缂栧彿",
- // type: "string",
- // width: 150,
- // align: "left",
- // edit: { type: "string" },
- // },
- // {
- // field: "materielName",
- // title: "鐗╂枡鍚嶇О",
- // type: "string",
- // width: 150,
- // align: "left",
- // edit: { type: "string" },
- // },
- // {
- // field: "demandClassification",
- // title: "闇�姹傚垎绫�",
- // type: "decimal",
- // width: 180,
- // align: "left",
- // edit: { type: "string" },
- // },
- // {
- // field: "orderQuantity",
- // title: "鍗曟嵁鏁伴噺",
- // type: "string",
- // width: 120,
- // align: "left",
- // edit: { type: "string" },
- // },
- // {
- // field: "overOutQuantity",
- // title: "宸插嚭搴撴暟閲�",
- // type: "int",
- // width: 90,
- // align: "left",
- // },
- // {
- // field: "lockQuantity",
- // title: "閿佸畾鏁伴噺",
- // type: "int",
- // width: 90,
- // align: "left",
- // hidden: true,
- // },
- // {
- // field: "orderDetailStatus",
- // title: "鍗曟嵁鏄庣粏鐘舵��",
- // type: "string",
- // width: 120,
- // align: "left",
- // bind: { key: "OrderStateEmun", data: [] },
- // },
- // {
- // field: "creater",
- // title: "鍒涘缓浜�",
- // type: "string",
- // width: 90,
- // align: "left",
- // },
- // {
- // field: "createDate",
- // title: "鍒涘缓鏃堕棿",
- // type: "datetime",
- // width: 160,
- // align: "left",
- // },
- // {
- // field: "modifier",
- // title: "淇敼浜�",
- // type: "string",
- // width: 100,
- // align: "left",
- // hidden: true,
- // },
- // {
- // field: "modifyDate",
- // title: "淇敼鏃堕棿",
- // type: "datetime",
- // width: 160,
- // align: "left",
- // hidden: true,
- // },
- // {
- // field: "remark",
- // title: "澶囨敞",
- // type: "string",
- // width: 100,
- // align: "left",
- // hidden: true,
- // },
- // ],
- // sortName: "id",
- // key: "id",
- // });
- return {
- table,
- extend,
- editFormFields,
- editFormOptions,
- searchFormFields,
- searchFormOptions,
- columns,
- detail,
- };
- },
-});
-</script>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/ProductionOutboundOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/ProductionOutboundOrder.vue"
new file mode 100644
index 0000000..a533f4e
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/widesea_wms/Order/ProductionOutboundOrder.vue"
@@ -0,0 +1,201 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wms/stock/Dt_BillGroupStock.js姝ゅ缂栧啓
+ -->
+
+<template>
+ <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
+ :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
+ :table="table" :extend="extend">
+ </view-grid>
+</template>
+<script>
+import extend from "@/extension/widesea_wms/Order/ProductionOutboundOrder.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+ setup() {
+ const table = ref({
+ key: 'id',
+ footer: "Foots",
+ cnName: '鐢熶骇棰嗘枡鍗曟嵁淇℃伅',
+ name: '',
+ url: "/ProductionOutboundOrder/",
+ sortName: "createDate"
+ });
+ const editFormFields = ref({
+ orderNo:"",
+ upperOrderNo:"",
+ orderType:"",
+ orderStatus:"",
+ createType:"",
+ });
+ const editFormOptions = ref([
+ ]);
+ const searchFormFields = ref({});
+ const searchFormOptions = ref([
+ [
+ { "title": "涓婃父鍗曞彿", "field": "upperOrderNo", "type": "text" },
+ { "title": "璁㈠崟缂栧彿", "field": "orderNo", "type": "text" },
+ { "title": "鍗曟嵁绫诲瀷", "field": "orderType", type: "select", dataKey: "OrderTypeEmun", data: [] },
+
+ ],
+ [
+ { "title": "鍗曟嵁鐘舵��", "field": "orderStatus", type: "select", dataKey: "OrderStateEmun", data: [] },
+ { "title": "鍒涘缓绫诲瀷", "field": "createType", type: "select", dataKey: "OrderCreateTypeEmun", data: [] },
+ ],
+ ]);
+ const columns = ref(
+ [
+ { field: 'id', title: '鍗曟嵁id', type: 'int', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
+ { field: 'orderNo', title: '鍗曟嵁缂栧彿', type: 'string', width: 150, align: 'left', },
+ { field: 'upperOrderNo', title: '涓婃父鍗曟嵁缂栧彿', type: 'string', width: 150, align: 'left', },
+ { field: 'orderType', title: '鍗曟嵁绫诲瀷', type: 'int', width: 120, align: 'left', bind: { key: "OrderTypeEmun", data: [] } },
+ { field: 'orderStatus', title: '鍗曟嵁鐘舵��', type: 'int', width: 90, align: 'left', bind: { key: "OrderStateEmun", data: [] } },
+ { field: 'createType', title: '鍒涘缓绫诲瀷', type: 'int', width: 120, align: 'left', bind: { key: "OrderCreateTypeEmun", data: [] } },
+ { field: 'remark', title: '澶囨敞', type: 'string', width: 60, align: 'left', hidden: true},
+ { field: 'creater', title: '鍒涘缓浜�', type: 'string', sort: true, width: 110, align: 'left', hidden: true },
+ { field: 'createDate', title: '鍒涘缓鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', },
+ { field: 'modifier', title: '鏈�鍚庝慨鏀逛汉', type: 'string', sort: true, width: 100, align: 'left' },
+ ]
+ );
+ // const detail = ref({
+ // cnName: "#detailCnName",
+ // table: "#detailTable",
+ // columns: [],
+ // sortName: "",
+ // key: ""
+ // });
+ const detail = ref({
+ cnName: "鐢熶骇棰嗘枡鍗曟嵁鏄庣粏淇℃伅",
+ table: "StockInfoDetails",
+ columns: [
+ {
+ field: "id",
+ title: "Id",
+ type: "int",
+ width: 90,
+ hidden: true,
+ readonly: true,
+ require: true,
+ align: "left",
+ },
+ {
+ field: "orderId",
+ title: "鍑哄簱鍗曟嵁涓婚敭",
+ type: "string",
+ width: 90,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "materielCode",
+ title: "鐗╂枡缂栧彿",
+ type: "string",
+ width: 150,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "materielName",
+ title: "鐗╂枡鍚嶇О",
+ type: "string",
+ width: 150,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "demandClassification",
+ title: "闇�姹傚垎绫�",
+ type: "decimal",
+ width: 180,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "orderQuantity",
+ title: "鍗曟嵁鏁伴噺",
+ type: "string",
+ width: 120,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "overOutQuantity",
+ title: "宸插嚭搴撴暟閲�",
+ type: "int",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "lockQuantity",
+ title: "閿佸畾鏁伴噺",
+ type: "int",
+ width: 90,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "orderDetailStatus",
+ title: "鍗曟嵁鏄庣粏鐘舵��",
+ type: "string",
+ width: 120,
+ align: "left",
+ bind: { key: "OrderStateEmun", data: [] },
+ },
+ {
+ field: "creater",
+ title: "鍒涘缓浜�",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "createDate",
+ title: "鍒涘缓鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ },
+ {
+ field: "modifier",
+ title: "淇敼浜�",
+ type: "string",
+ width: 100,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "modifyDate",
+ title: "淇敼鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ hidden: true,
+ },
+ {
+ field: "remark",
+ title: "澶囨敞",
+ type: "string",
+ width: 100,
+ align: "left",
+ hidden: true,
+ },
+ ],
+ sortName: "id",
+ key: "id",
+ });
+ return {
+ table,
+ extend,
+ editFormFields,
+ editFormOptions,
+ searchFormFields,
+ searchFormOptions,
+ columns,
+ detail,
+ };
+ },
+});
+</script>
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 0349df2..acdba4a 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 44200ef..201824e 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 573f901..ee79a80 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 ade0a02..5234a83 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 997e0f8..3277f24 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 2b0bd43..ff58d32 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 d08d46c..4d0d54c 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,36 +3,48 @@
"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:{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:{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:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\stock\\generateouttaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\stock\\generateouttaskdto.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:{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:{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:{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:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\enums\\manageenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\enums\\manageenum.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\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
- "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+ "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}"
}
],
"DocumentGroupContainers": [
@@ -42,110 +54,149 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 4,
+ "SelectedChildIndex": 5,
"Children": [
{
"$type": "Document",
- "DocumentIndex": 1,
- "Title": "GenerateOutTaskDto.cs",
- "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Stock\\GenerateOutTaskDto.cs",
- "RelativeDocumentMoniker": "WIDESEA_DTO\\Stock\\GenerateOutTaskDto.cs",
- "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Stock\\GenerateOutTaskDto.cs",
- "RelativeToolTip": "WIDESEA_DTO\\Stock\\GenerateOutTaskDto.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAhAAAAAAAAAA==",
+ "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==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-10-23T08:11:21.152Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 3,
- "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": "AgIAAIYAAAAAAAAAAAAjwJgAAABDAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-10-23T07:38:19.601Z",
+ "WhenOpened": "2025-10-24T08:47:34.235Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
- "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": "AgIAAJgAAAAAAAAAAAAAALkAAAAJAAAAAAAAAA==",
+ "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-23T06:34:09.686Z",
+ "WhenOpened": "2025-10-24T08:47:15.317Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
- "Title": "ManageEnum.cs",
- "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\ManageEnum.cs",
- "RelativeDocumentMoniker": "WIDESEA_Core\\Enums\\ManageEnum.cs",
- "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\ManageEnum.cs",
- "RelativeToolTip": "WIDESEA_Core\\Enums\\ManageEnum.cs",
- "ViewState": "AgIAAF8CAAAAAAAAAAApwHkCAAAjAAAAAAAAAA==",
+ "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-22T07:40:38.084Z",
+ "WhenOpened": "2025-10-24T08:34:10.267Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 0,
- "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": "AgIAAIEAAAAAAAAAAAAIwKcAAABcAAAAAAAAAA==",
+ "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==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-10-22T05:33:37.383Z",
+ "WhenOpened": "2025-10-24T08:33:31.849Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
- "Title": "appsettings.json",
- "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
- "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json",
- "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
- "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json",
- "ViewState": "AgIAAAAAAAAAAAAAAADwvxEAAAD0AAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
- "WhenOpened": "2025-10-21T08:37:20.946Z",
+ "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": 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": "AgIAAEAAAAAAAAAAAAAMwFUAAAAiAAAAAAAAAA==",
+ "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-21T01:04:19.904Z",
+ "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",
+ "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==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-10-24T08:47:40.565Z",
+ "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==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-10-24T07:48:16.97Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 8,
+ "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==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-10-24T07:47:38.514Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 10,
"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": "AgIAAPwCAAAAAAAAAAAtwHQEAABBAAAAAAAAAA==",
+ "ViewState": "AgIAAH8DAAAAAAAAAAAAAEoEAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-09-25T03:08:03.698Z",
+ "WhenOpened": "2025-10-24T07:04:34.588Z",
"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 752de0e..8473a40 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,36 +3,48 @@
"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:{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:{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:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_dto\\stock\\generateouttaskdto.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{929DF936-042C-4EEC-8722-A831FC2F0AEA}|WIDESEA_DTO\\WIDESEA_DTO.csproj|solutionrelative:widesea_dto\\stock\\generateouttaskdto.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:{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:{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:{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:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\get\\duiduojiliku\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\enums\\manageenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\enums\\manageenum.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\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
- "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+ "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}"
}
],
"DocumentGroupContainers": [
@@ -42,110 +54,149 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 4,
+ "SelectedChildIndex": 5,
"Children": [
{
"$type": "Document",
- "DocumentIndex": 1,
- "Title": "GenerateOutTaskDto.cs",
- "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Stock\\GenerateOutTaskDto.cs",
- "RelativeDocumentMoniker": "WIDESEA_DTO\\Stock\\GenerateOutTaskDto.cs",
- "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_DTO\\Stock\\GenerateOutTaskDto.cs",
- "RelativeToolTip": "WIDESEA_DTO\\Stock\\GenerateOutTaskDto.cs",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAhAAAAAAAAAA==",
+ "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==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-10-23T08:11:21.152Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 3,
- "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": "AgIAAIYAAAAAAAAAAAAjwJgAAABDAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-10-23T07:38:19.601Z",
+ "WhenOpened": "2025-10-24T08:47:34.235Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
- "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": "AgIAAJgAAAAAAAAAAAAAALkAAAAJAAAAAAAAAA==",
+ "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-23T06:34:09.686Z",
+ "WhenOpened": "2025-10-24T08:47:15.317Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
- "Title": "ManageEnum.cs",
- "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\ManageEnum.cs",
- "RelativeDocumentMoniker": "WIDESEA_Core\\Enums\\ManageEnum.cs",
- "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\ManageEnum.cs",
- "RelativeToolTip": "WIDESEA_Core\\Enums\\ManageEnum.cs",
- "ViewState": "AgIAAF8CAAAAAAAAAAApwHkCAAAjAAAAAAAAAA==",
+ "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-22T07:40:38.084Z",
+ "WhenOpened": "2025-10-24T08:34:10.267Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 0,
- "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": "AgIAAIEAAAAAAAAAAAAIwKkAAAA+AAAAAAAAAA==",
+ "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==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-10-22T05:33:37.383Z",
+ "WhenOpened": "2025-10-24T08:33:31.849Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
- "Title": "appsettings.json",
- "DocumentMoniker": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
- "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json",
- "ToolTip": "E:\\GET\\DuiDuoJiLiKu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
- "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json",
- "ViewState": "AgIAAAAAAAAAAAAAAADwvxEAAAD0AAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
- "WhenOpened": "2025-10-21T08:37:20.946Z",
+ "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": 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": "AgIAAEAAAAAAAAAAAAAMwFUAAAAiAAAAAAAAAA==",
+ "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-21T01:04:19.904Z",
+ "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",
+ "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==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-10-24T08:47:40.565Z",
+ "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==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-10-24T07:48:16.97Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 8,
+ "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==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-10-24T07:47:38.514Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 10,
"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": "AgIAAPwCAAAAAAAAAAAtwHQEAABBAAAAAAAAAA==",
+ "ViewState": "AgIAAH8DAAAAAAAAAAAAAEoEAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-09-25T03:08:03.698Z",
+ "WhenOpened": "2025-10-24T07:04:34.588Z",
"EditorCaption": ""
}
]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/IRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/IRepository.cs"
index 1c85df2..8c6e4e6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/IRepository.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/IRepository.cs"
@@ -60,6 +60,7 @@
/// <param name="Entity"></param>
/// <returns></returns>
Task<bool> AddDataNavAsync(TEntity Entity);
+ Task<bool> AddDataNavAsync(List<TEntity> Entity);
/// <summary>
/// 娣诲姞澶氭潯鏁版嵁
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs"
index 536bfea..5ea5cb1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseRepository/RepositoryBase.cs"
@@ -625,6 +625,11 @@
return await _db.InsertNav(Entity).IncludesAllFirstLayer().ExecuteCommandAsync();
}
+ public async Task<bool> AddDataNavAsync(List<TEntity> Entity)
+ {
+ return await _db.InsertNav(Entity).IncludesAllFirstLayer().ExecuteCommandAsync();
+ }
+
public Task<int> AddDataAsync(List<TEntity> listEntity)
{
IInsertable<TEntity> insert = _db.Insertable(listEntity);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Order/OutboundOrderGetDTO.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Order/OutboundOrderGetDTO.cs"
index eed6f4a..128f655 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Order/OutboundOrderGetDTO.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Order/OutboundOrderGetDTO.cs"
@@ -10,6 +10,8 @@
{
public string OrderNo { get; set; }
public int pageNo { get; set; }
+ public int id { get; set; }
+ public string searchValue { get; set; }
}
}
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"
new file mode 100644
index 0000000..d9c0b9e
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/GetStockSelectViewDto.cs"
@@ -0,0 +1,15 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_DTO.Stock
+{
+ public class GetStockSelectViewDto
+ {
+ public string materielCode { get; set; }
+ public string materielName { get; set; }
+ public string demandClassification { get; set; }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_AllocateOutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_AllocateOutboundOrderDetailRepository.cs"
new file mode 100644
index 0000000..6af7974
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_AllocateOutboundOrderDetailRepository.cs"
@@ -0,0 +1,8 @@
+锘縰sing WIDESEA_Core.BaseRepository;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_IOrderRepository;
+
+public interface IDt_AllocateOutboundOrderDetailRepository : IRepository<Dt_AllocateOutboundOrderDetail>
+{
+}
\ 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_AllocateOutboundOrderRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_AllocateOutboundOrderRepository.cs"
new file mode 100644
index 0000000..650ae47
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_AllocateOutboundOrderRepository.cs"
@@ -0,0 +1,8 @@
+锘縰sing WIDESEA_Core.BaseRepository;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_IOrderRepository;
+
+public interface IDt_AllocateOutboundOrderRepository : IRepository<Dt_AllocateOutboundOrder>
+{
+}
\ 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_InventoryOutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_InventoryOutboundOrderDetailRepository.cs"
new file mode 100644
index 0000000..ac4c22a
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_InventoryOutboundOrderDetailRepository.cs"
@@ -0,0 +1,8 @@
+锘縰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"
new file mode 100644
index 0000000..a0bd69f
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_InventoryOutboundOrderRepository.cs"
@@ -0,0 +1,8 @@
+锘縰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_OtherOutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OtherOutboundOrderDetailRepository.cs"
new file mode 100644
index 0000000..f88d344
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OtherOutboundOrderDetailRepository.cs"
@@ -0,0 +1,8 @@
+锘縰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"
new file mode 100644
index 0000000..5c70716
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OtherOutboundOrderRepository.cs"
@@ -0,0 +1,8 @@
+锘縰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_IOrderRepository/IDt_OutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OutboundOrderDetailRepository.cs"
deleted file mode 100644
index 333505d..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OutboundOrderDetailRepository.cs"
+++ /dev/null
@@ -1,8 +0,0 @@
-锘縰sing WIDESEA_Core.BaseRepository;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_IOrderRepository;
-
-public interface IDt_OutboundOrderDetailRepository : IRepository<Dt_OutboundOrderDetail>
-{
-}
\ 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_OutboundOrderRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OutboundOrderRepository.cs"
deleted file mode 100644
index dd4b2fd..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_OutboundOrderRepository.cs"
+++ /dev/null
@@ -1,8 +0,0 @@
-锘縰sing WIDESEA_Core.BaseRepository;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_IOrderRepository;
-
-public interface IDt_OutboundOrderRepository : IRepository<Dt_OutboundOrder>
-{
-}
\ 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_ProductionOutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_ProductionOutboundOrderDetailRepository.cs"
new file mode 100644
index 0000000..3590e52
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_ProductionOutboundOrderDetailRepository.cs"
@@ -0,0 +1,8 @@
+锘縰sing WIDESEA_Core.BaseRepository;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_IOrderRepository;
+
+public interface IDt_ProductionOutboundOrderDetailRepository : IRepository<Dt_ProductionOutboundOrderDetail>
+{
+}
\ 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_ProductionOutboundOrderRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_ProductionOutboundOrderRepository.cs"
new file mode 100644
index 0000000..d0f3536
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderRepository/IDt_ProductionOutboundOrderRepository.cs"
@@ -0,0 +1,8 @@
+锘縰sing WIDESEA_Core.BaseRepository;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_IOrderRepository;
+
+public interface IDt_ProductionOutboundOrderRepository : IRepository<Dt_ProductionOutboundOrder>
+{
+}
\ 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_AllocateOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_AllocateOutboundOrderDetailService.cs"
new file mode 100644
index 0000000..a24aeca
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_AllocateOutboundOrderDetailService.cs"
@@ -0,0 +1,11 @@
+锘縰sing WIDESEA_Core.BaseServices;
+using WIDESEA_DTO;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_IOrderServices;
+
+public interface IDt_AllocateOutboundOrderDetailService : IService<Dt_AllocateOutboundOrderDetail>
+{
+
+
+}
\ 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_AllocateOutboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_AllocateOutboundOrderService.cs"
new file mode 100644
index 0000000..5c8b962
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_AllocateOutboundOrderService.cs"
@@ -0,0 +1,22 @@
+锘縰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_AllocateOutboundOrderService : IService<Dt_AllocateOutboundOrder>
+{
+ WebResponseContent GetAllocateOutboundOrder(OutboundOrderGetDTO outboundOrderGetDTO);
+
+ WebResponseContent GetAllocateOutboundOrderDetail(OutboundOrderGetDTO outboundOrderGetDTO);
+
+ /// <summary>
+ /// 鏍规嵁璇锋眰鍑哄簱浠诲姟
+ /// </summary>
+ /// <param name="requestOut"></param>
+ /// <returns></returns>
+ Task<WebResponseContent> GenerateAllocateOutboundTask(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_InventoryOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InventoryOutboundOrderDetailService.cs"
new file mode 100644
index 0000000..14d148e
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InventoryOutboundOrderDetailService.cs"
@@ -0,0 +1,11 @@
+锘縰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"
new file mode 100644
index 0000000..b3ae3b7
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_InventoryOutboundOrderService.cs"
@@ -0,0 +1,22 @@
+锘縰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_OutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OtherOutboundOrderDetailService.cs"
similarity index 60%
rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OutboundOrderDetailService.cs"
rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OtherOutboundOrderDetailService.cs"
index 2739d75..58e6342 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OutboundOrderDetailService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OtherOutboundOrderDetailService.cs"
@@ -4,7 +4,7 @@
namespace WIDESEA_IOrderServices;
-public interface IDt_OutboundOrderDetailService : IService<Dt_OutboundOrderDetail>
+public interface IDt_OtherOutboundOrderDetailService : IService<Dt_OtherOutboundOrderDetail>
{
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"
new file mode 100644
index 0000000..968a395
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OtherOutboundOrderService.cs"
@@ -0,0 +1,22 @@
+锘縰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_IOrderServices/IDt_OutboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OutboundOrderService.cs"
deleted file mode 100644
index d4bb720..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_OutboundOrderService.cs"
+++ /dev/null
@@ -1,14 +0,0 @@
-锘縰sing WIDESEA_Core;
-using WIDESEA_Core.BaseServices;
-using WIDESEA_DTO;
-using WIDESEA_DTO.Order;
-using WIDESEA_Model.Models.Order;
-
-namespace WIDESEA_IOrderServices;
-
-public interface IDt_OutboundOrderService : IService<Dt_OutboundOrder>
-{
- WebResponseContent GetOutboundOrder(OutboundOrderGetDTO outboundOrderGetDTO);
-
- WebResponseContent GetOutboundOrder(int id);
-}
\ 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_ProductionOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_ProductionOutboundOrderDetailService.cs"
new file mode 100644
index 0000000..da8137c
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_ProductionOutboundOrderDetailService.cs"
@@ -0,0 +1,11 @@
+锘縰sing WIDESEA_Core.BaseServices;
+using WIDESEA_DTO;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_IOrderServices;
+
+public interface IDt_ProductionOutboundOrderDetailService : IService<Dt_ProductionOutboundOrderDetail>
+{
+
+
+}
\ 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_ProductionOutboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_ProductionOutboundOrderService.cs"
new file mode 100644
index 0000000..53860c7
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOrderServices/IDt_ProductionOutboundOrderService.cs"
@@ -0,0 +1,22 @@
+锘縰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_ProductionOutboundOrderService : IService<Dt_ProductionOutboundOrder>
+{
+ WebResponseContent GetProductOutboundOrder(OutboundOrderGetDTO outboundOrderGetDTO);
+
+ WebResponseContent GettProductOutboundOrderDetail(OutboundOrderGetDTO outboundOrderGetDTO);
+
+ /// <summary>
+ /// 鏍规嵁璇锋眰鍑哄簱浠诲姟
+ /// </summary>
+ /// <param name="requestOut"></param>
+ /// <returns></returns>
+ Task<WebResponseContent> GeneratetProductOutboundTask(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/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 196fc94..978c813 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"
@@ -10,7 +10,9 @@
/// </summary>
/// <param name="materielCode"></param>
/// <returns></returns>
- List<StockSelectViewDTO> GetStockSelectViews(string materielCode);
+ List<StockSelectViewDTO> GetStockSelectViews(GetStockSelectViewDto viewDto);
+
+ List<DtLocationInfo> GetStockLocations(List<DtLocationInfo>? locations);
/// <summary>
/// 缁勭洏
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 56ea6ea..3ff679a 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"
@@ -121,7 +121,7 @@
/// <param name="TargetAddress"></param>
/// <returns></returns>
- Dt_Task RequestAcrossFloorTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, string palletCode);
+ Dt_Task RequestAcrossFloorTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, RequestTaskDto taskDto);
/// <summary>
@@ -129,7 +129,7 @@
/// </summary>
/// <param name="taskDto"></param>
/// <returns></returns>
- Dt_Task RequestAGVCarryTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, string palletCode);
+ Dt_Task RequestAGVCarryTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, RequestTaskDto taskDto);
@@ -148,7 +148,7 @@
Task<WebResponseContent> AGVIsNeedRelocationAsync(RequestTaskDto taskDto);
- Task<WebResponseContent> SendERPTaskCompletion(string palletCode);
+ Task<WebResponseContent> ERPAllocate(string palletCode);
Task<WebResponseContent> SendWCSTask(List<WMSTaskDTO> taskDTO);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\345\216\237\346\235\220\346\226\231\350\260\203\346\213\250\345\207\272\345\272\223\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_\345\216\237\346\235\220\346\226\231\350\260\203\346\213\250\345\207\272\345\272\223\345\215\225_ST.cs"
new file mode 100644
index 0000000..56684eb
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/ERP/WMS_\345\216\237\346\235\220\346\226\231\350\260\203\346\213\250\345\207\272\345\272\223\345\215\225_ST.cs"
@@ -0,0 +1,27 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Model.Models.ERP
+{
+ public class WMS_鍘熸潗鏂欒皟鎷ㄥ嚭搴撳崟_ST
+ {
+ 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 string 鍗曚綅 { get; set; }
+ public string 鐢ㄥ弸鏉愯川 { get; set; }
+ public string 鎵ц鏍囧噯鍙� { get; set; }
+ public string 鍝佺墝 { get; set; }
+ public decimal 鍙鏁伴噺 { get; set; }
+ public decimal 宸插嚭搴撴暟 { get; set; }
+ public decimal 棰嗘枡闇�姹� { get; set; }
+ public string PBOM鍗曞彿 { 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\345\272\223\345\255\230\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\272\223\345\255\230\344\270\200\350\247\210\350\241\250_ST.cs"
index 7d9718a..cca24c7 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\272\223\345\255\230\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\272\223\345\255\230\344\270\200\350\247\210\350\241\250_ST.cs"
@@ -30,8 +30,6 @@
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"
new file mode 100644
index 0000000..79d1be1
--- /dev/null
+++ "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"
@@ -0,0 +1,29 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Model.Models.ERP
+{
+ public class WMS_鐢ㄥ弸鐢熶骇棰嗘枡鍗曚竴瑙堣〃_ST
+ {
+ 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 string 瀛愪欢瑙勬牸 { get; set; }
+ public string 瀛愪欢鍗曢噸 { get; set; }
+ public string 瀛愪欢鍗曚綅 { get; set; }
+ public string 鐢ㄥ弸鏉愯川 { get; set; }
+ public string 鎵ц鏍囧噯鍙� { get; set; }
+ public string 鍝佺墝 { get; set; }
+ public decimal 瀛愪欢瀹為檯鐢ㄩ噺 { get; set; }
+ public decimal 瀛愪欢鍙戞斁鏁伴噺 { get; set; }
+ public decimal 瀛愪欢鏈彂鏁伴噺 { 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"
new file mode 100644
index 0000000..901c599
--- /dev/null
+++ "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"
@@ -0,0 +1,30 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Model.Models.ERP
+{
+ public class WMS_鐢ㄥ弸鐢垫帶鏌滆皟鎷ㄤ竴瑙堣〃_ST
+ {
+ 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 string 瀛愪欢瑙勬牸 { get; set; }
+ public string 瀛愪欢鍗曢噸 { get; set; }
+ public string 瀛愪欢鍗曚綅 { get; set; }
+ public string 鐢ㄥ弸鏉愯川 { get; set; }
+ public string 鎵ц鏍囧噯鍙� { get; set; }
+ public string 鍝佺墝 { get; set; }
+ public decimal 瀛愪欢瀹為檯鐢ㄩ噺 { get; set; }
+ public decimal 瀛愪欢鍙戞斁鏁伴噺 { 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/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"
new file mode 100644
index 0000000..6928021
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrder.cs"
@@ -0,0 +1,65 @@
+锘縰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_AllocateOutboundOrder")]
+ public class Dt_AllocateOutboundOrder : 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_AllocateOutboundOrderDetail")]
+ [Navigate(NavigateType.OneToMany, nameof(Dt_AllocateOutboundOrderDetail.OrderId))]
+ 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_OutboundOrderDetail.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrderDetail.cs"
similarity index 86%
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OutboundOrderDetail.cs"
copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrderDetail.cs"
index e9df104..95580fc 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OutboundOrderDetail.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_AllocateOutboundOrderDetail.cs"
@@ -9,10 +9,10 @@
namespace WIDESEA_Model.Models.Order
{
/// <summary>
- /// 鍑哄簱鍗曟嵁鏄庣粏琛�
+ /// 璋冩嫧鍑哄簱鍗曟嵁鏄庣粏琛�
///</summary>
- [SugarTable("Dt_OutboundOrderDetail")]
- public class Dt_OutboundOrderDetail : BaseEntity
+ [SugarTable("Dt_AllocateOutboundOrderDetail")]
+ public class Dt_AllocateOutboundOrderDetail : BaseEntity
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
public int Id { get; set; }
@@ -50,10 +50,10 @@
/// <summary>
- /// 閿佸畾鏁伴噺
+ /// 鏈嚭搴撴暟閲�
/// </summary>
- [SugarColumn(ColumnName = "LockQuantity")]
- public decimal LockQuantity { get; set; }
+ [SugarColumn(ColumnName = "NotOutQuantity")]
+ public decimal NotOutQuantity { 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"
new file mode 100644
index 0000000..bd6855c
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_InventoryOutboundOrder.cs"
@@ -0,0 +1,65 @@
+锘縰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_OutboundOrderDetail.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_InventoryOutboundOrderDetail.cs"
similarity index 86%
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OutboundOrderDetail.cs"
copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_InventoryOutboundOrderDetail.cs"
index e9df104..d9b6508 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OutboundOrderDetail.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_InventoryOutboundOrderDetail.cs"
@@ -9,10 +9,10 @@
namespace WIDESEA_Model.Models.Order
{
/// <summary>
- /// 鍑哄簱鍗曟嵁鏄庣粏琛�
+ /// 鐩樼偣鍑哄簱鍗曟嵁鏄庣粏琛�
///</summary>
- [SugarTable("Dt_OutboundOrderDetail")]
- public class Dt_OutboundOrderDetail : BaseEntity
+ [SugarTable("Dt_InventoryOutboundOrderDetail")]
+ public class Dt_InventoryOutboundOrderDetail : BaseEntity
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
public int Id { get; set; }
@@ -50,10 +50,10 @@
/// <summary>
- /// 閿佸畾鏁伴噺
+ /// 鏈嚭搴撴暟閲�
/// </summary>
- [SugarColumn(ColumnName = "LockQuantity")]
- public decimal LockQuantity { get; set; }
+ [SugarColumn(ColumnName = "NotOutQuantity")]
+ public decimal NotOutQuantity { 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_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"
new file mode 100644
index 0000000..57e2a31
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OtherOutboundOrder.cs"
@@ -0,0 +1,102 @@
+锘縰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_OutboundOrderDetail.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OtherOutboundOrderDetail.cs"
similarity index 87%
rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OutboundOrderDetail.cs"
rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OtherOutboundOrderDetail.cs"
index e9df104..f8185b8 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OutboundOrderDetail.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OtherOutboundOrderDetail.cs"
@@ -9,10 +9,10 @@
namespace WIDESEA_Model.Models.Order
{
/// <summary>
- /// 鍑哄簱鍗曟嵁鏄庣粏琛�
+ /// 鍏朵粬鍑哄簱鍗曟嵁鏄庣粏琛�
///</summary>
- [SugarTable("Dt_OutboundOrderDetail")]
- public class Dt_OutboundOrderDetail : BaseEntity
+ [SugarTable("Dt_OtherOutboundOrderDetail")]
+ public class Dt_OtherOutboundOrderDetail : BaseEntity
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
public int Id { get; set; }
@@ -50,10 +50,10 @@
/// <summary>
- /// 閿佸畾鏁伴噺
+ /// 鏈嚭搴撴暟閲�
/// </summary>
- [SugarColumn(ColumnName = "LockQuantity")]
- public decimal LockQuantity { get; set; }
+ [SugarColumn(ColumnName = "NotOutQuantity")]
+ public decimal NotOutQuantity { 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_OutboundOrder.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OutboundOrder.cs"
deleted file mode 100644
index 0f6580e..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OutboundOrder.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_OutboundOrder")]
- public class Dt_OutboundOrder : 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 = "OutorderDetails")]
- [Navigate(NavigateType.OneToMany, nameof(Dt_OutboundOrderDetail.OrderId))]
- public List<Dt_OutboundOrderDetail>? OutorderDetails { 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"
new file mode 100644
index 0000000..44d88e3
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrder.cs"
@@ -0,0 +1,65 @@
+锘縰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_ProductionOutboundOrder")]
+ public class Dt_ProductionOutboundOrder : 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_ProductionOutboundOrderDetail")]
+ [Navigate(NavigateType.OneToMany, nameof(Dt_ProductionOutboundOrderDetail.OrderId))]
+ 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_OutboundOrderDetail.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrderDetail.cs"
similarity index 86%
copy from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OutboundOrderDetail.cs"
copy to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrderDetail.cs"
index e9df104..87d105b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_OutboundOrderDetail.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Order/Dt_ProductionOutboundOrderDetail.cs"
@@ -9,10 +9,10 @@
namespace WIDESEA_Model.Models.Order
{
/// <summary>
- /// 鍑哄簱鍗曟嵁鏄庣粏琛�
+ /// 鐢熶骇棰嗘枡鍑哄簱鍗曟嵁鏄庣粏琛�
///</summary>
- [SugarTable("Dt_OutboundOrderDetail")]
- public class Dt_OutboundOrderDetail : BaseEntity
+ [SugarTable("Dt_ProductionOutboundOrderDetail")]
+ public class Dt_ProductionOutboundOrderDetail : BaseEntity
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
public int Id { get; set; }
@@ -50,10 +50,10 @@
/// <summary>
- /// 閿佸畾鏁伴噺
+ /// 鏈嚭搴撴暟閲�
/// </summary>
- [SugarColumn(ColumnName = "LockQuantity")]
- public decimal LockQuantity { get; set; }
+ [SugarColumn(ColumnName = "NotOutQuantity")]
+ public decimal NotOutQuantity { get; set; }
/// <summary>
/// 宸插嚭搴撴暟閲�
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_AllocateOutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_AllocateOutboundOrderDetailRepository.cs"
new file mode 100644
index 0000000..fcdd4a1
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_AllocateOutboundOrderDetailRepository.cs"
@@ -0,0 +1,12 @@
+锘縰sing WIDESEA_Core.BaseRepository;
+using WIDESEA_IOrderRepository;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_OrderRepository;
+
+public class Dt_AllocateOutboundOrderDetailRepository : RepositoryBase<Dt_AllocateOutboundOrderDetail>, IDt_AllocateOutboundOrderDetailRepository
+{
+ public Dt_AllocateOutboundOrderDetailRepository(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_AllocateOutboundOrderRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_AllocateOutboundOrderRepository.cs"
new file mode 100644
index 0000000..84181f9
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_AllocateOutboundOrderRepository.cs"
@@ -0,0 +1,12 @@
+锘縰sing WIDESEA_Core.BaseRepository;
+using WIDESEA_IOrderRepository;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_OrderRepository;
+
+public class Dt_AllocateOutboundOrderRepository : RepositoryBase<Dt_AllocateOutboundOrder>, IDt_AllocateOutboundOrderRepository
+{
+ public Dt_AllocateOutboundOrderRepository(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_InventoryOutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_InventoryOutboundOrderDetailRepository.cs"
new file mode 100644
index 0000000..58311e9
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_InventoryOutboundOrderDetailRepository.cs"
@@ -0,0 +1,12 @@
+锘縰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"
new file mode 100644
index 0000000..ddaff17
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_InventoryOutboundOrderRepository.cs"
@@ -0,0 +1,12 @@
+锘縰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_OtherOutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OtherOutboundOrderDetailRepository.cs"
new file mode 100644
index 0000000..2c99987
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OtherOutboundOrderDetailRepository.cs"
@@ -0,0 +1,12 @@
+锘縰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"
new file mode 100644
index 0000000..601182c
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OtherOutboundOrderRepository.cs"
@@ -0,0 +1,12 @@
+锘縰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_OrderRepository/Dt_OutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OutboundOrderDetailRepository.cs"
deleted file mode 100644
index 7898016..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OutboundOrderDetailRepository.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_OutboundOrderDetailRepository : RepositoryBase<Dt_OutboundOrderDetail>, IDt_OutboundOrderDetailRepository
-{
- public Dt_OutboundOrderDetailRepository(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_OutboundOrderRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OutboundOrderRepository.cs"
deleted file mode 100644
index 77f7f96..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_OutboundOrderRepository.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_OutboundOrderRepository : RepositoryBase<Dt_OutboundOrder>, IDt_OutboundOrderRepository
-{
- public Dt_OutboundOrderRepository(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_ProductionOutboundOrderDetailRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_ProductionOutboundOrderDetailRepository.cs"
new file mode 100644
index 0000000..dea18aa
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_ProductionOutboundOrderDetailRepository.cs"
@@ -0,0 +1,12 @@
+锘縰sing WIDESEA_Core.BaseRepository;
+using WIDESEA_IOrderRepository;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_OrderRepository;
+
+public class Dt_ProductionOutboundOrderDetailRepository : RepositoryBase<Dt_ProductionOutboundOrderDetail>, IDt_ProductionOutboundOrderDetailRepository
+{
+ public Dt_ProductionOutboundOrderDetailRepository(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_ProductionOutboundOrderRepository.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_ProductionOutboundOrderRepository.cs"
new file mode 100644
index 0000000..b3acc92
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderRepository/Dt_ProductionOutboundOrderRepository.cs"
@@ -0,0 +1,12 @@
+锘縰sing WIDESEA_Core.BaseRepository;
+using WIDESEA_IOrderRepository;
+using WIDESEA_Model.Models.Order;
+
+namespace WIDESEA_OrderRepository;
+
+public class Dt_ProductionOutboundOrderRepository : RepositoryBase<Dt_ProductionOutboundOrder>, IDt_ProductionOutboundOrderRepository
+{
+ public Dt_ProductionOutboundOrderRepository(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_AllocateOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderDetailService.cs"
new file mode 100644
index 0000000..c00107d
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderDetailService.cs"
@@ -0,0 +1,62 @@
+锘縰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_AllocateOutboundOrderDetailService : ServiceBase<Dt_AllocateOutboundOrderDetail, IDt_AllocateOutboundOrderDetailRepository>, IDt_AllocateOutboundOrderDetailService
+ {
+ private readonly IUnitOfWorkManage _unitOfWorkManage;
+
+ public Dt_AllocateOutboundOrderDetailService(IDt_AllocateOutboundOrderDetailRepository BaseDal,
+ IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
+ {
+ _unitOfWorkManage = unitOfWorkManage;
+
+ }
+ public override PageGridData<Dt_AllocateOutboundOrderDetail> 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_AllocateOutboundOrderDetail>()
+ .WhereIF(!wheres.IsNullOrEmpty(), wheres)
+ .OrderBy(orderByModels)
+ .ToPageList(options.Page, options.Rows, ref totalCount);
+ var x=new PageGridData<Dt_AllocateOutboundOrderDetail>(totalCount, data);
+ return new PageGridData<Dt_AllocateOutboundOrderDetail>(totalCount, data);
+ }
+ }
+}
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"
new file mode 100644
index 0000000..233b91e
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_AllocateOutboundOrderService.cs"
@@ -0,0 +1,339 @@
+锘縰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;
+using WIDESEA_StorageTaskRepository;
+using WIDESEA_StorageTaskServices;
+
+namespace WIDESEA_OrderServices
+{
+ public class Dt_AllocateOutboundOrderService : ServiceBase<Dt_AllocateOutboundOrder, IDt_AllocateOutboundOrderRepository>, IDt_AllocateOutboundOrderService
+ {
+ private readonly IUnitOfWorkManage _unitOfWorkManage;
+ private readonly IDt_AllocateOutboundOrderDetailRepository _allocateoutboundOrderDetailRepository;
+ 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_AllocateOutboundOrderService(IDt_AllocateOutboundOrderRepository BaseDal,
+ IUnitOfWorkManage unitOfWorkManage,
+ IDt_AllocateOutboundOrderDetailRepository allocateoutboundOrderDetailRepository,
+ IStockInfoDetailRepository stockInfoDetailRepository,
+ IStockInfoRepository stockInfoRepository,
+ IStockInfoService stockInfoService,
+ IDt_TaskService taskService,
+ ILocationInfoRepository locationRepository,
+ IDt_TaskRepository taskRepository,
+ ILocationStatusChangeRecordRepository locationStatusChangeRecordRepository) : base(BaseDal)
+ {
+ _unitOfWorkManage = unitOfWorkManage;
+ _allocateoutboundOrderDetailRepository = allocateoutboundOrderDetailRepository;
+ _stockInfoDetailRepository = stockInfoDetailRepository;
+ _stockInfoRepository = stockInfoRepository;
+ _stockInfoService = stockInfoService;
+ _taskService = taskService;
+ _locationRepository = locationRepository;
+ _taskRepository = taskRepository;
+ _locationStatusChangeRecordRepository = locationStatusChangeRecordRepository;
+ }
+
+ public WebResponseContent GetAllocateOutboundOrder(OutboundOrderGetDTO outboundOrderGetDTO)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Expression<Func<Dt_AllocateOutboundOrder, 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_AllocateOutboundOrder>().Where(expressionOrder).OrderByDescending(x => x.CreateDate).Skip((outboundOrderGetDTO.pageNo - 1) * 10).Take(10).Select(x => new Dt_AllocateOutboundOrder
+ {
+ 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_AllocateOutboundOrder>().Where(expressionOrder).OrderByDescending(x => x.CreateDate).Skip(0 * 10).Take(10).Select(x => new Dt_AllocateOutboundOrder
+ {
+ 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 GetAllocateOutboundOrderDetail(OutboundOrderGetDTO outboundOrderGetDTO)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ var otheroutboundOrder = BaseDal.QueryFirst(x => x.Id == outboundOrderGetDTO.id);
+
+ Expression<Func<Dt_AllocateOutboundOrderDetail, bool>> expression = x => x.OrderId == otheroutboundOrder.Id;
+ if (!string.IsNullOrEmpty(outboundOrderGetDTO.searchValue))
+ {
+ expression = x => x.OrderId == otheroutboundOrder.Id && x.MaterielCode.Contains(outboundOrderGetDTO.searchValue);
+ }
+
+ var outboundOrderdetail = _allocateoutboundOrderDetailRepository.Db.Queryable<Dt_AllocateOutboundOrderDetail>().Where(expression).Where(x => x.OrderQuantity > x.OverOutQuantity).Select(x => new Dt_AllocateOutboundOrderDetail { MaterielCode = x.MaterielCode, MaterielName = x.MaterielName, OrderQuantity = x.OrderQuantity, OverOutQuantity = x.OverOutQuantity, Id = x.Id }).ToList();
+ content = WebResponseContent.Instance.OK(data: outboundOrderdetail);
+ }
+ catch (Exception ex)
+ {
+ content = WebResponseContent.Instance.Error($"鏌ヨ鍑哄簱鍗曟嵁閿欒,閿欒淇℃伅:{ex.Message}");
+ }
+ return content;
+ }
+
+ #region 鏍规嵁鍗曟嵁鏄庣粏鐢熸垚鍑哄簱浠诲姟
+
+ public async Task<WebResponseContent> GenerateAllocateOutboundTask(GenerateOutTaskDto requestOut)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ foreach (var orderId in requestOut.orderIds)
+ {
+ List<RequestTaskDto> taskDtos = new List<RequestTaskDto>();
+ Dt_AllocateOutboundOrderDetail allocateoutboundOrderdetail = _allocateoutboundOrderDetailRepository.QueryFirst(x => x.Id == orderId);
+ Dt_AllocateOutboundOrder outboundOrder = BaseDal.QueryFirst(x => x.Id == allocateoutboundOrderdetail.OrderId);
+
+ (bool, string) checkResult = CheckSelectStockDeital(allocateoutboundOrderdetail, requestOut.stockViews, requestOut);
+ if (!checkResult.Item1) throw new Exception(checkResult.Item2);
+
+ else
+ {
+ var result = AssignStockOutbound(allocateoutboundOrderdetail, 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 = allocateoutboundOrderdetail.MaterielCode,
+ Position = item.LocationCode,
+ PalletCode = item.PalletCode,
+ AreaId = Convert.ToInt32(requestOut.AreaId),
+ };
+ taskDtos.Add(task);
+ item.StockInfoDetails.Where(x => x.MaterielCode == allocateoutboundOrderdetail.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);
+ _allocateoutboundOrderDetailRepository.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_AllocateOutboundOrderDetail) AssignStockOutbound(Dt_AllocateOutboundOrderDetail allocateoutboundOrderdetail, List<StockSelectViewDTO> stockSelectViews)
+ {
+ decimal originalNeedQuantity = allocateoutboundOrderdetail.OrderQuantity - allocateoutboundOrderdetail.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(allocateoutboundOrderdetail.MaterielCode);
+ }
+
+ List<DtStockInfo> outStockNews = new List<DtStockInfo>();
+
+ foreach (var item in outStocks)
+ {
+ var stockDetail = item.StockInfoDetails
+ .Where(d => d.MaterielCode == allocateoutboundOrderdetail.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);
+ }
+ }
+
+ }
+ allocateoutboundOrderdetail.OverOutQuantity = allocateoutboundOrderdetail.OrderQuantity - needQuantity;
+
+ if (allocateoutboundOrderdetail.OverOutQuantity != 0)
+ {
+ allocateoutboundOrderdetail.OrderDetailStatus = (int)OrderStateEmun.寮�濮�;
+ }
+ return (outStockNews, allocateoutboundOrderdetail);
+ }
+
+ private (bool, string) CheckSelectStockDeital(Dt_AllocateOutboundOrderDetail allocateoutboundOrderdetail, List<StockSelectViewDTO> stockSelectViews, GenerateOutTaskDto requestOut)
+ {
+ if (allocateoutboundOrderdetail == null)
+ {
+ return (false, "鏈壘鍒板嚭搴撳崟淇℃伅");
+ }
+ if (allocateoutboundOrderdetail.OrderDetailStatus == (int)OrderStateEmun.宸插畬鎴�)
+ {
+ return (false, "璇ユ槑缁嗕笉鍙搷浣�");
+ }
+ if (stockSelectViews != null && stockSelectViews.Sum(x => x.UseableQuantity) > allocateoutboundOrderdetail.OrderQuantity - allocateoutboundOrderdetail.OverOutQuantity)
+ {
+ return (false, "閫夋嫨鏁伴噺瓒呭嚭鍗曟嵁鏁伴噺");
+ }
+ if (allocateoutboundOrderdetail.OrderQuantity <= allocateoutboundOrderdetail.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 鏍规嵁鍗曟嵁鏄庣粏鐢熸垚鍑哄簱浠诲姟
+ }
+}
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"
new file mode 100644
index 0000000..2895893
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InventoryOutboundOrderDetailService.cs"
@@ -0,0 +1,62 @@
+锘縰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"
new file mode 100644
index 0000000..bb9f4e2
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_InventoryOutboundOrderService.cs"
@@ -0,0 +1,368 @@
+锘縰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_OtherOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OtherOutboundOrderDetailService.cs"
new file mode 100644
index 0000000..b04a472
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OtherOutboundOrderDetailService.cs"
@@ -0,0 +1,62 @@
+锘縰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"
new file mode 100644
index 0000000..52fca6c
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OtherOutboundOrderService.cs"
@@ -0,0 +1,369 @@
+锘縰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_OutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OutboundOrderDetailService.cs"
deleted file mode 100644
index f587c64..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OutboundOrderDetailService.cs"
+++ /dev/null
@@ -1,23 +0,0 @@
-锘縰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_OutboundOrderDetailService : ServiceBase<Dt_OutboundOrderDetail, IDt_OutboundOrderDetailRepository>, IDt_OutboundOrderDetailService
- {
- private readonly IUnitOfWorkManage _unitOfWorkManage;
-
- public Dt_OutboundOrderDetailService(IDt_OutboundOrderDetailRepository 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_OutboundOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OutboundOrderService.cs"
deleted file mode 100644
index 7825738..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_OutboundOrderService.cs"
+++ /dev/null
@@ -1,140 +0,0 @@
-锘縰sing MailKit.Search;
-using Masuit.Tools;
-using System.Linq.Expressions;
-using WIDESEA_Core;
-using WIDESEA_Core.BaseRepository;
-using WIDESEA_Core.BaseServices;
-using WIDESEA_Core.Enums;
-using WIDESEA_Core.Helper;
-using WIDESEA_DTO.Order;
-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_OutboundOrderService : ServiceBase<Dt_OutboundOrder, IDt_OutboundOrderRepository>, IDt_OutboundOrderService
- {
- private readonly IUnitOfWorkManage _unitOfWorkManage;
-
- public Dt_OutboundOrderService(IDt_OutboundOrderRepository BaseDal,
- IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
- {
- _unitOfWorkManage = unitOfWorkManage;
-
- }
-
- public override WebResponseContent AddData(SaveModel saveModel)
- {
- if (Convert.ToInt32(saveModel.MainData["orderType"])== (int)OrderTypeEmun.鍘熸潗鏂欓鏂欏崟 || Convert.ToInt32(saveModel.MainData["orderType"]) == (int)OrderTypeEmun.鐢熶骇棰嗘枡鍗�)
- {
- return WebResponseContent.Instance.Error("鐢熶骇棰嗘枡鍗曞拰鍘熸潗鏂欓鏂欏崟鍙兘閫氳繃ERP鎺ㄩ�佺敓鎴�");
- }
- saveModel.MainData.Add("orderNo", GetOrderPintCode("OrderNoOut"));
- saveModel.MainData.Add("upperOrderNo", saveModel.MainData["orderNo"]);
- return base.AddData(saveModel);
- }
-
-
- public WebResponseContent GetOutboundOrder(OutboundOrderGetDTO outboundOrderGetDTO)
- {
- WebResponseContent content = new WebResponseContent();
- try
- {
- Expression<Func<Dt_OutboundOrder, 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_OutboundOrder>().Where(expressionOrder).OrderByDescending(x => x.CreateDate).Skip((outboundOrderGetDTO.pageNo - 1) * 10).Take(10).Select(x => new Dt_OutboundOrder
- {
- OrderNo = x.OrderNo,
- Id = x.Id,
- MaterielCode = x.MaterielCode,
- UpperOrderNo = x.UpperOrderNo,
- OrderQuantity = x.OrderQuantity,
- OverOutQuantity = x.OverOutQuantity,
- CreateDate = x.CreateDate,
- Creater = x.Creater
- }).ToList();
-
- content = WebResponseContent.Instance.OK(data: outboundOrder);
- }
- else
- {
- var outboundOrder = BaseDal.Db.Queryable<Dt_OutboundOrder>().Where(expressionOrder).OrderByDescending(x => x.CreateDate).Skip((0) * 10).Take(10).Select(x => new Dt_OutboundOrder
- {
- OrderNo = x.OrderNo,
- Id = x.Id,
- MaterielCode = x.MaterielCode,
- UpperOrderNo = x.UpperOrderNo,
- OrderQuantity = x.OrderQuantity,
- OverOutQuantity = x.OverOutQuantity,
- CreateDate = x.CreateDate,
- Creater = x.Creater
- }).ToList();
-
- content = WebResponseContent.Instance.OK(data: outboundOrder);
- //content = WebResponseContent.Instance.OK(data: null, message: "宸插埌鏈�鍚庝竴椤�");
- }
- }
- catch (Exception ex)
- {
- content = WebResponseContent.Instance.Error($"鏌ヨ鍑哄簱鍗曟嵁閿欒,閿欒淇℃伅:{ex.Message}");
- }
- return content;
- }
-
- public WebResponseContent GetOutboundOrder(int id)
- {
- WebResponseContent content = new WebResponseContent();
- try
- {
- var outboundOrderDetail = BaseDal.Db.Queryable<Dt_OutboundOrder>().Where(x => x.Id == id).Take(10).Select(x => new Dt_OutboundOrder { Id = x.Id, MaterielCode = x.MaterielCode, MaterielName = x.MaterielName, OrderQuantity = x.OrderQuantity, OverOutQuantity = x.OverOutQuantity, OrderNo = x.OrderNo, UpperOrderNo = x.UpperOrderNo }).ToList().FirstOrDefault();
-
- content = WebResponseContent.Instance.OK(data: outboundOrderDetail);
- }
- catch (Exception ex)
- {
- content = WebResponseContent.Instance.Error($"鏌ヨ鍑哄簱鍗曟嵁閿欒,閿欒淇℃伅:{ex.Message}");
- }
- return content;
- }
-
- 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_ProductionOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderDetailService.cs"
new file mode 100644
index 0000000..39b719c
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderDetailService.cs"
@@ -0,0 +1,62 @@
+锘縰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_ProductionOutboundOrderDetailService : ServiceBase<Dt_ProductionOutboundOrderDetail, IDt_ProductionOutboundOrderDetailRepository>, IDt_ProductionOutboundOrderDetailService
+ {
+ private readonly IUnitOfWorkManage _unitOfWorkManage;
+
+ public Dt_ProductionOutboundOrderDetailService(IDt_ProductionOutboundOrderDetailRepository BaseDal,
+ IUnitOfWorkManage unitOfWorkManage) : base(BaseDal)
+ {
+ _unitOfWorkManage = unitOfWorkManage;
+
+ }
+ public override PageGridData<Dt_ProductionOutboundOrderDetail> 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_ProductionOutboundOrderDetail>()
+ .WhereIF(!wheres.IsNullOrEmpty(), wheres)
+ .OrderBy(orderByModels)
+ .ToPageList(options.Page, options.Rows, ref totalCount);
+ var x=new PageGridData<Dt_ProductionOutboundOrderDetail>(totalCount, data);
+ return new PageGridData<Dt_ProductionOutboundOrderDetail>(totalCount, data);
+ }
+ }
+}
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"
new file mode 100644
index 0000000..0b07035
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OrderServices/Dt_ProductionOutboundOrderService.cs"
@@ -0,0 +1,336 @@
+锘縰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;
+
+namespace WIDESEA_OrderServices
+{
+ public class Dt_ProductionOutboundOrderService : ServiceBase<Dt_ProductionOutboundOrder, IDt_ProductionOutboundOrderRepository>, IDt_ProductionOutboundOrderService
+ {
+ private readonly IUnitOfWorkManage _unitOfWorkManage;
+ private readonly IDt_ProductionOutboundOrderDetailRepository _productionoutboundOrderDetailRepository;
+ 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_ProductionOutboundOrderService(IDt_ProductionOutboundOrderRepository BaseDal,
+ IUnitOfWorkManage unitOfWorkManage,
+ IDt_ProductionOutboundOrderDetailRepository productionoutboundOrderDetailRepository,
+ IStockInfoDetailRepository stockInfoDetailRepository,
+ IStockInfoRepository stockInfoRepository,
+ IStockInfoService stockInfoService,
+ IDt_TaskService taskService,
+ ILocationInfoRepository locationRepository,
+ IDt_TaskRepository taskRepository,
+ ILocationStatusChangeRecordRepository locationStatusChangeRecordRepository) : base(BaseDal)
+ {
+ _unitOfWorkManage = unitOfWorkManage;
+ _productionoutboundOrderDetailRepository = productionoutboundOrderDetailRepository;
+ _stockInfoDetailRepository = stockInfoDetailRepository;
+ _stockInfoRepository = stockInfoRepository;
+ _stockInfoService = stockInfoService;
+ _taskService = taskService;
+ _locationRepository = locationRepository;
+ _taskRepository = taskRepository;
+ _locationStatusChangeRecordRepository = locationStatusChangeRecordRepository;
+ }
+
+ public WebResponseContent GetProductOutboundOrder(OutboundOrderGetDTO outboundOrderGetDTO)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Expression<Func<Dt_ProductionOutboundOrder, 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_ProductionOutboundOrder>().Where(expressionOrder).OrderByDescending(x => x.CreateDate).Skip((outboundOrderGetDTO.pageNo - 1) * 10).Take(10).Select(x => new Dt_ProductionOutboundOrder
+ {
+ 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_ProductionOutboundOrder>().Where(expressionOrder).OrderByDescending(x => x.CreateDate).Skip(0 * 10).Take(10).Select(x => new Dt_ProductionOutboundOrder
+ {
+ 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 GettProductOutboundOrderDetail(OutboundOrderGetDTO outboundOrderGetDTO)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ var otheroutboundOrder = BaseDal.QueryFirst(x => x.Id == outboundOrderGetDTO.id);
+
+ Expression<Func<Dt_ProductionOutboundOrderDetail, bool>> expression = x => x.OrderId == otheroutboundOrder.Id;
+ if (!string.IsNullOrEmpty(outboundOrderGetDTO.searchValue))
+ {
+ expression = x => x.OrderId == otheroutboundOrder.Id && x.MaterielCode.Contains(outboundOrderGetDTO.searchValue);
+ }
+
+ var outboundOrderdetail = _productionoutboundOrderDetailRepository.Db.Queryable<Dt_ProductionOutboundOrderDetail>().Where(expression).Where(x => x.OrderQuantity > x.OverOutQuantity).Select(x => new Dt_ProductionOutboundOrderDetail { MaterielCode = x.MaterielCode, MaterielName = x.MaterielName, OrderQuantity = x.OrderQuantity, OverOutQuantity = x.OverOutQuantity, Id = x.Id }).ToList();
+ content = WebResponseContent.Instance.OK(data: outboundOrderdetail);
+ }
+ catch (Exception ex)
+ {
+ content = WebResponseContent.Instance.Error($"鏌ヨ鍑哄簱鍗曟嵁閿欒,閿欒淇℃伅:{ex.Message}");
+ }
+ return content;
+ }
+
+ #region 鏍规嵁鍗曟嵁鏄庣粏鐢熸垚鍑哄簱浠诲姟
+
+ public async Task<WebResponseContent> GeneratetProductOutboundTask(GenerateOutTaskDto requestOut)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ foreach (var orderId in requestOut.orderIds)
+ {
+ List<RequestTaskDto> taskDtos = new List<RequestTaskDto>();
+ Dt_ProductionOutboundOrderDetail outboundOrderdetail = _productionoutboundOrderDetailRepository.QueryFirst(x => x.Id == orderId);
+ Dt_ProductionOutboundOrder 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);
+ _productionoutboundOrderDetailRepository.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_ProductionOutboundOrderDetail) AssignStockOutbound(Dt_ProductionOutboundOrderDetail 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_ProductionOutboundOrderDetail 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 鏍规嵁鍗曟嵁鏄庣粏鐢熸垚鍑哄簱浠诲姟
+ }
+}
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 cfcbc44..d10d516 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"
@@ -31,8 +31,8 @@
private readonly ILocationStatusChangeRecordRepository _locationStatusChangeRecordRepository;
private readonly IDt_InboundOrderRepository _inboundOrderRepository;
private readonly IUnitOfWorkManage _unitOfWorkManage;
- private readonly IDt_OutboundOrderRepository _outorderRepository;
- private readonly IDt_OutboundOrderDetailRepository _outorderdetailRepository;
+ private readonly IDt_OtherOutboundOrderRepository _OtheroutorderRepository;
+ private readonly IDt_OtherOutboundOrderDetailRepository _OtheroutorderdetailRepository;
private readonly IStockInfoDetailRepository _stockInfoDetailRepository;
private readonly IDt_TaskService _taskService;
private readonly ILocationInfoRepository _locationRepository;
@@ -42,8 +42,8 @@
ILocationStatusChangeRecordRepository locationStatusChangeRecordRepository,
IDt_InboundOrderRepository inboundOrderRepository,
IUnitOfWorkManage unitOfWorkManage,
- IDt_OutboundOrderRepository outorderRepository,
- IDt_OutboundOrderDetailRepository outorderdetailRepository,
+ IDt_OtherOutboundOrderRepository OtheroutorderRepository,
+ IDt_OtherOutboundOrderDetailRepository OtheroutorderdetailRepository,
IStockInfoDetailRepository stockInfoDetailRepository,
IDt_TaskService taskService,
ILocationInfoRepository locationRepository,
@@ -52,8 +52,8 @@
_locationStatusChangeRecordRepository = locationStatusChangeRecordRepository;
_inboundOrderRepository = inboundOrderRepository;
_unitOfWorkManage = unitOfWorkManage;
- _outorderRepository = outorderRepository;
- _outorderdetailRepository = outorderdetailRepository;
+ _OtheroutorderRepository = OtheroutorderRepository;
+ _OtheroutorderdetailRepository = OtheroutorderdetailRepository;
_stockInfoDetailRepository = stockInfoDetailRepository;
_taskService = taskService;
_locationRepository = locationRepository;
@@ -134,24 +134,33 @@
#region 搴撳瓨瑙嗗浘
- public List<StockSelectViewDTO> GetStockSelectViews(string materielCode)
+ public List<StockSelectViewDTO> GetStockSelectViews(GetStockSelectViewDto viewDto)
{
- var stock = BaseDal.Db.Queryable<DtStockInfo>()
+ 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 && d.Quantity > d.OutboundQuantity)).ToList().OrderBy(x => x.CreateDate);
+ .Where(x => x.StockInfoDetails.Any(d => d.MaterielCode == viewDto.materielCode && d.Quantity > 0 && d.Quantity > d.OutboundQuantity)).ToList().OrderBy(x => x.CreateDate);
- var result = stock.Select(s => new StockSelectViewDTO
+ 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.Select(s => new StockSelectViewDTO
{
MaterielCode = s.StockInfoDetails
- .FirstOrDefault(d => d.MaterielCode == materielCode)?.MaterielCode ?? string.Empty,
+ .FirstOrDefault(d => d.MaterielCode == viewDto.materielCode)?.MaterielCode ?? string.Empty,
MaterielName = s.StockInfoDetails
- .FirstOrDefault(d => d.MaterielCode == materielCode)?.MaterielName ?? string.Empty,
+ .FirstOrDefault(d => d.MaterielCode == viewDto.materielCode)?.MaterielName ?? string.Empty,
UseableQuantity = s.StockInfoDetails
- .Where(d => d.MaterielCode == materielCode && d.Quantity > 0 && d.Quantity > d.OutboundQuantity)
+ .Where(d => d.MaterielCode == viewDto.materielCode && d.Quantity > 0 && d.Quantity > d.OutboundQuantity)
.Sum(d => (decimal?)d.Quantity - d.OutboundQuantity) ?? 0, // 澶勭悊绌哄�兼儏鍐�
PalletCode = s.PalletCode ?? string.Empty,
@@ -159,6 +168,58 @@
}).ToList();
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
@@ -173,14 +234,15 @@
foreach (var orderId in requestOut.orderIds)
{
List<RequestTaskDto> taskDtos = new List<RequestTaskDto>();
- Dt_OutboundOrder outboundOrder = _outorderRepository.QueryFirst(x => x.Id == orderId);
+ Dt_OtherOutboundOrderDetail outboundOrderdetail = _OtheroutorderdetailRepository.QueryFirst(x => x.Id == orderId);
+ Dt_OtherOutboundOrder outboundOrder = _OtheroutorderRepository.QueryFirst(x => x.Id == outboundOrderdetail.OrderId);
- (bool, string) checkResult = CheckSelectStockDeital(outboundOrder, requestOut.stockViews, requestOut);
+ (bool, string) checkResult = CheckSelectStockDeital(outboundOrderdetail, requestOut.stockViews, requestOut);
if (!checkResult.Item1) throw new Exception(checkResult.Item2);
else
{
- var result = AssignStockOutbound(outboundOrder, requestOut.stockViews);
+ var result = AssignStockOutbound(outboundOrderdetail, requestOut.stockViews);
if (result.Item1.Count <= 0)
{
@@ -193,13 +255,13 @@
{
TaskType = outboundOrder.OrderType,
OrderNo = outboundOrder.OrderNo,
- MaterielCode = outboundOrder.MaterielCode,
+ MaterielCode = outboundOrderdetail.MaterielCode,
Position = item.LocationCode,
PalletCode = item.PalletCode,
AreaId = Convert.ToInt32(requestOut.AreaId),
};
taskDtos.Add(task);
- item.StockInfoDetails.Where(x => x.MaterielCode == outboundOrder.MaterielCode).FirstOrDefault().Status = (int)StockStateEmun.鍑哄簱閿佸畾;
+ item.StockInfoDetails.Where(x => x.MaterielCode == outboundOrderdetail.MaterielCode).FirstOrDefault().Status = (int)StockStateEmun.鍑哄簱閿佸畾;
item.StockStatus = (int)StockStateEmun.鍑哄簱閿佸畾;
});
List<Dt_Task> taskNews = new List<Dt_Task>();
@@ -228,7 +290,7 @@
BaseDal.UpdateDataNav(result.Item1);
await _locationStatusChangeRecordRepository.AddDataAsync(locationStatusChangeRecords);
await _locationRepository.UpdateDataAsync(locations);
- _outorderRepository.UpdateData(result.Item2);
+ _OtheroutorderdetailRepository.UpdateData(result.Item2);
});
content = await _taskService.SendWCSTask(taskDTOs);
}
@@ -258,9 +320,9 @@
Remark = task.Remark
};
}
- public (List<DtStockInfo>, Dt_OutboundOrder) AssignStockOutbound(Dt_OutboundOrder outboundOrder, List<StockSelectViewDTO> stockSelectViews)
+ public (List<DtStockInfo>, Dt_OtherOutboundOrderDetail) AssignStockOutbound(Dt_OtherOutboundOrderDetail outboundOrderdetail, List<StockSelectViewDTO> stockSelectViews)
{
- decimal originalNeedQuantity = outboundOrder.OrderQuantity - outboundOrder.OverOutQuantity;
+ decimal originalNeedQuantity = outboundOrderdetail.OrderQuantity - outboundOrderdetail.OverOutQuantity;
decimal needQuantity = originalNeedQuantity;
@@ -271,7 +333,7 @@
}
else
{
- outStocks = GetStockInfos(outboundOrder.MaterielCode);
+ outStocks = GetStockInfos(outboundOrderdetail.MaterielCode);
}
List<DtStockInfo> outStockNews=new List<DtStockInfo>();
@@ -279,7 +341,7 @@
foreach (var item in outStocks)
{
var stockDetail = item.StockInfoDetails
- .Where(d => d.MaterielCode == outboundOrder.MaterielCode && d.Quantity > 0);
+ .Where(d => d.MaterielCode == outboundOrderdetail.MaterielCode && d.Quantity > 0);
if (needQuantity <= 0)
{
continue;
@@ -309,54 +371,55 @@
outStockNews.Add(item);
}
}
-
- }
- outboundOrder.OverOutQuantity = outboundOrder.OrderQuantity - needQuantity;
- outboundOrder.OrderStatus = (int)OrderStateEmun.寮�濮�;
- return (outStockNews, outboundOrder);
+ }
+ outboundOrderdetail.OverOutQuantity = outboundOrderdetail.OrderQuantity - needQuantity;
+
+ if (outboundOrderdetail.OverOutQuantity != 0)
+ {
+ outboundOrderdetail.OrderDetailStatus = (int)OrderStateEmun.寮�濮�;
+ }
+ return (outStockNews, outboundOrderdetail);
}
- private (bool, string) CheckSelectStockDeital(Dt_OutboundOrder outboundOrder, List<StockSelectViewDTO> stockSelectViews, GenerateOutTaskDto requestOut)
+ private (bool, string) CheckSelectStockDeital(Dt_OtherOutboundOrderDetail outboundOrderdetail, List<StockSelectViewDTO> stockSelectViews, GenerateOutTaskDto requestOut)
{
- if (outboundOrder == null)
+ if (outboundOrderdetail == null)
{
return (false, "鏈壘鍒板嚭搴撳崟淇℃伅");
}
- if (outboundOrder.OrderStatus == (int)OrderStateEmun.宸插畬鎴�)
+ if (outboundOrderdetail.OrderDetailStatus == (int)OrderStateEmun.宸插畬鎴�)
{
return (false, "璇ユ槑缁嗕笉鍙搷浣�");
}
- if (stockSelectViews != null && stockSelectViews.Sum(x => x.UseableQuantity) > outboundOrder.OrderQuantity - outboundOrder.OverOutQuantity)
+ if (stockSelectViews != null && stockSelectViews.Sum(x => x.UseableQuantity) > outboundOrderdetail.OrderQuantity - outboundOrderdetail.OverOutQuantity)
{
return (false, "閫夋嫨鏁伴噺瓒呭嚭鍗曟嵁鏁伴噺");
}
- if (outboundOrder.OrderQuantity <= outboundOrder.OverOutQuantity)
+ if (outboundOrderdetail.OrderQuantity <= outboundOrderdetail.OverOutQuantity)
{
return (false, "鍗曟嵁鏁伴噺宸插嚭搴撳畬鎴�");
- }
- if (stockSelectViews != null && stockSelectViews.Count > 1 && requestOut.AreaId == null)
- {
- return (false, "鍑哄簱搴撳瓨澶т簬涓�鏉′笉鑳藉嚭搴撹嚦鎸囧畾搴撲綅!");
- }
- if ( requestOut.TargetAddress == null && requestOut.AreaId == null)
- {
- return (false, "璇烽�夋嫨鍑哄簱鍦板潃");
- }
- if (outboundOrder.OrderStatus == (int)OrderStateEmun.宸插畬鎴�)
- {
- return (false, "璇ュ嚭搴撳崟宸插畬鎴愶紝鏃犳硶鐢熸垚鍑哄簱浠诲姟");
}
return (true, "鎴愬姛");
}
public List<DtStockInfo> GetStockInfos(string materielCode)
{
- return BaseDal.Db.Queryable<DtStockInfo>()
+ 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 鏍规嵁鍗曟嵁鏄庣粏鐢熸垚鍑哄簱浠诲姟
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 78c4035..6240332 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"
@@ -30,11 +30,14 @@
private readonly ISys_ConfigService _configService;
private readonly ILocationInfoRepository _locationRepository;
private readonly IDt_InboundOrderRepository _inboundOrderRepository;
- private readonly IDt_OutboundOrderRepository _outboundorderRepository;
+ private readonly IDt_OtherOutboundOrderRepository _otheroutboundorderRepository;
+ private readonly IDt_ProductionOutboundOrderRepository _productionoutboundorderRepository;
+ private readonly IDt_InventoryOutboundOrderRepository _inventoryoutboundorderRepository;
+ private readonly IDt_AllocateOutboundOrderRepository _allocateoutboundorderRepository;
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_OutboundOrderRepository outboundorderRepository)
+ 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)
{
_logger = logger;
_locationRepository = locationRepository;
@@ -44,12 +47,15 @@
_stationManagerRepository = stationManagerRepository;
_configService = configService;
_inboundOrderRepository = inboundOrderRepository;
- _outboundorderRepository = outboundorderRepository;
+ _otheroutboundorderRepository = otheroutboundorderRepository;
+ _allocateoutboundorderRepository = allocateoutboundorderRepository;
+ _inventoryoutboundorderRepository = inventoryOutboundOrderRepository;
+ _productionoutboundorderRepository = productionOutboundOrderRepository;
}
public Task StartAsync(CancellationToken cancellationToken)
{
- _timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromMinutes(1));
+ _timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromMinutes(5));
return Task.CompletedTask;
}
@@ -124,40 +130,204 @@
}
#endregion
- var OutBoundOrder = _outboundorderRepository.QueryData(x => true);
- List<Dt_OutboundOrder> outboundOrderAdd = new List<Dt_OutboundOrder>();
- List<Dt_OutboundOrder> outboundOrderUpdate = new List<Dt_OutboundOrder>();
#region ERP鐢熶骇棰嗘枡鍗曞悓姝�
- List<WMS_鐢ㄥ弸宸ョ▼鍙戣揣鍗曚竴瑙堣〃_ST> ERPMaterialRequisition = SqlSugarHelper.DBERP.Queryable<WMS_鐢ㄥ弸宸ョ▼鍙戣揣鍗曚竴瑙堣〃_ST>().Where(x => true).ToList();
- foreach (var item in ERPMaterialRequisition)
+
+ 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 = OutBoundOrder.Where(x => x.MaterielCode == item.瀛愪欢鏂欏彿 && x.UpperOrderNo == item.鍗曞彿).FirstOrDefault();
- if(x == null)
+ var x = productionOutOrder.Where(x => x.UpperOrderNo == item.鍗曞彿).FirstOrDefault();
+ if (x == null)
{
- Dt_OutboundOrder outOrder = new Dt_OutboundOrder()
+ if(productionoutboundOrderAdd.Where(x => x.UpperOrderNo == item.鍗曞彿).FirstOrDefault()==null)
{
- OrderNo = GetOrderPintCode("OrderNoOut"),
- UpperOrderNo = item.鍗曞彿,
- MaterielCode = item.瀛愪欢鏂欏彿,
- MaterielName = item.瀛愪欢鍝佸悕,
- DemandClassification = item.闇�姹傚悕绉�,
- OrderQuantity = item.瀛愪欢瀹為檯鐢ㄩ噺,
- OverOutQuantity = item.瀛愪欢鍙戞斁鏁伴噺,
- NotOutQuantity = item.瀛愪欢鏈彂鏁伴噺,
- OrderStatus =(int)OrderStateEmun.鏈紑濮�,
- OrderType =(int)OrderTypeEmun.鐢熶骇棰嗘枡鍗�,
- CreateType =(int)OrderCreateTypeEmun.ERP鎺ㄩ��,
- };
- outboundOrderAdd.Add(outOrder);
+ 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.瀛愪欢鍝佸悕,
+ 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);
}
}
-
- #endregion
- if (outboundOrderAdd.Count > 0)
+ if (EngineeringoutboundOrderUpdate.Count > 0)
{
- _outboundorderRepository.AddData(outboundOrderAdd);
+ _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.鍗曞彿,
+ 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.瀛愪欢鍙戞斁鏁伴噺,
+ }
+ }
+ };
+ productionoutboundOrderAdd.Add(outOrder);
+ }
+ else
+ {
+ var existingOrder = productionoutboundOrderAdd.Where(x => x.UpperOrderNo == item.鍗曞彿).FirstOrDefault();
+ existingOrder.Details.Add(new Dt_ProductionOutboundOrderDetail()
+ {
+ MaterielCode = item.瀛愪欢鏂欏彿,
+ MaterielName = item.瀛愪欢鍝佸悕,
+ DemandClassification = 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.瀛愪欢鍙戞斁鏁伴噺,
+ // });
+ // }
+ // }
+ //}
+ }
+
+
+ if (productionoutboundOrderAdd.Count > 0)
+ {
+ foreach (var order in productionoutboundOrderAdd)
+ {
+ _productionoutboundorderRepository.AddDataNavAsync(order);
+ }
+ }
+ if (productionoutboundOrderUpdate.Count > 0)
+ {
+ _productionoutboundorderRepository.UpdateDataNav(productionoutboundOrderUpdate);
+ }
+ #endregion
+
}
catch (Exception ex)
{
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 9b5afe4..b6f7c0b 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"
@@ -52,8 +52,8 @@
private readonly IDt_AreaInfoRepository _areaInfoRepository; //鍖哄煙
private readonly IDt_StationManagerRepository _stationManagerRepository;
private readonly ISys_ConfigService _configService;
- private readonly IDt_OutboundOrderRepository _outorderRepository;
- private readonly IDt_OutboundOrderDetailRepository _outorderdetailRepository;
+ private readonly IDt_OtherOutboundOrderRepository _OtheroutorderRepository;
+ private readonly IDt_OtherOutboundOrderDetailRepository _OtheroutorderdetailRepository;
public Dt_TaskService(IDt_TaskRepository BaseDal,
IUnitOfWorkManage unitOfWorkManage,
@@ -68,8 +68,8 @@
IStockInfoDetailRepository stockInfoDetailRepository,
IDt_StationManagerRepository stationManagerRepository,
ISys_ConfigService configService,
- IDt_OutboundOrderRepository outorderRepository,
- IDt_OutboundOrderDetailRepository outorderdetailRepository) : base(BaseDal)
+ IDt_OtherOutboundOrderRepository OtheroutorderRepository,
+ IDt_OtherOutboundOrderDetailRepository OtheroutorderdetailRepository) : base(BaseDal)
{
_unitOfWorkManage = unitOfWorkManage;
_stockInfoRepository = stockInfoRepository;
@@ -83,8 +83,8 @@
_stockInfoDetailRepository = stockInfoDetailRepository;
_stationManagerRepository = stationManagerRepository;
_configService = configService;
- _outorderRepository = outorderRepository;
- _outorderdetailRepository = outorderdetailRepository;
+ _OtheroutorderRepository = OtheroutorderRepository;
+ _OtheroutorderdetailRepository = OtheroutorderdetailRepository;
}
#region 澶栭儴鎺ュ彛鏂规硶
@@ -519,11 +519,11 @@
Dt_Task taskNew = new Dt_Task();
if (StartAddress.Floor != location.Floor)
{
- taskNew = RequestAcrossFloorTask(StartAddress, location, (int)TaskInboundTypeEnum.Inbound, taskDto.PalletCode);
+ taskNew = RequestAcrossFloorTask(StartAddress, location, (int)TaskInboundTypeEnum.Inbound, taskDto);
}
else
{
- taskNew = RequestAGVCarryTask(StartAddress, location, (int)TaskInboundTypeEnum.Inbound, taskDto.PalletCode);
+ taskNew = RequestAGVCarryTask(StartAddress, location, (int)TaskInboundTypeEnum.Inbound, taskDto);
}
return taskNew;
@@ -731,9 +731,9 @@
Roadway = "SC1",
TargetAddress = location.LocationCode,
Dispatchertime = DateTime.Now,
- MaterialNo = "",
+ MaterialNo = taskDto.MaterielCode,
NextAddress = station.stationChildCode,
- OrderNo = null,
+ OrderNo = taskDto.OrderNo,
PalletCode = taskDto.PalletCode,
SourceAddress = taskDto.Position,
CurrentAddress = taskDto.Position,
@@ -756,11 +756,11 @@
Dt_Task taskNew = new Dt_Task();
if (StartAddress.Floor != location.Floor)
{
- taskNew = RequestAcrossFloorTask(StartAddress, location, taskDto.TaskType, taskDto.PalletCode);
+ taskNew = RequestAcrossFloorTask(StartAddress, location, taskDto.TaskType, taskDto);
}
else
{
- taskNew = RequestAGVCarryTask(StartAddress, location, taskDto.TaskType, taskDto.PalletCode);
+ taskNew = RequestAGVCarryTask(StartAddress, location, taskDto.TaskType, taskDto);
}
return taskNew;
@@ -834,7 +834,7 @@
#endregion
#region 璇锋眰璺ㄦゼ灞備换鍔�
- public Dt_Task RequestAcrossFloorTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, string palletCode)
+ public Dt_Task RequestAcrossFloorTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, RequestTaskDto taskDto)
{
WebResponseContent content = new WebResponseContent();
@@ -845,10 +845,10 @@
Roadway = "AGV",
TargetAddress = EndAddress.LocationCode,
Dispatchertime = DateTime.Now,
- MaterialNo = "",
+ MaterialNo = taskDto.MaterielCode,
NextAddress = next.stationChildCode,
- OrderNo = null,
- PalletCode = palletCode,
+ OrderNo = taskDto.OrderNo,
+ PalletCode = taskDto.PalletCode,
SourceAddress = StartAddress.LocationCode,
CurrentAddress = StartAddress.LocationCode,
TaskState = (int)TaskAcrossFloorStatusEnum.CarryNew,
@@ -865,7 +865,7 @@
#endregion
#region 璇锋眰AGV鎼繍浠诲姟
- public Dt_Task RequestAGVCarryTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, string palletCode)
+ public Dt_Task RequestAGVCarryTask(DtLocationInfo StartAddress, DtLocationInfo EndAddress, int TaskType, RequestTaskDto taskDto)
{
WebResponseContent content = new WebResponseContent();
@@ -875,10 +875,10 @@
Roadway = "AGV",
TargetAddress = EndAddress.LocationCode,
Dispatchertime = DateTime.Now,
- MaterialNo = "",
+ MaterialNo = taskDto.MaterielCode,
NextAddress = EndAddress.LocationCode,
- OrderNo = null,
- PalletCode = palletCode,
+ OrderNo = taskDto.OrderNo,
+ PalletCode = taskDto.PalletCode,
SourceAddress = StartAddress.LocationCode,
CurrentAddress = StartAddress.LocationCode,
TaskState = (int)TaskAGVCarryStatusEnum.CarryNew,
@@ -1159,7 +1159,54 @@
return wcsBasez + address;
}
- public async Task<WebResponseContent> SendERPTaskCompletion(string palletCode)
+ /// <summary>
+ /// 鐢熶骇棰嗘枡
+ /// </summary>
+ /// <param name="palletCode"></param>
+ /// <returns></returns>
+ public async Task<WebResponseContent> ERPProduction(string palletCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ DtStockInfo stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == palletCode);
+ Dt_Task task = await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode);
+ MaterialRequisition allocate = new MaterialRequisition
+ {
+ context = new Context
+ {
+ CultureName = "zh-CN",
+ EntCode = "001",
+ OrgCode = "102",
+ UserCode = "MH0551"
+ },
+ documentTypeCode = "TransIn002",
+ businessDate = DateTime.Now.ToString("yyyy-MM-dd"),
+ isApproved = true,
+
+ issueList = new List<issueList>()
+ {
+ new issueList
+ {
+ PickListID = task.OrderNo,
+ WhCode = "204",
+ IssueQty = task.OrderNo,
+ }
+ }
+ };
+ return content.OK(data: allocate);
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+ /// <summary>
+ /// 璋冩嫧
+ /// </summary>
+ /// <param name="palletCode"></param>
+ /// <returns></returns>
+ public async Task<WebResponseContent> ERPAllocate(string palletCode)
{
WebResponseContent content = new WebResponseContent();
try
@@ -1193,7 +1240,123 @@
return content.Error(ex.Message);
}
}
+ /// <summary>
+ /// 鏉傚彂
+ /// </summary>
+ /// <param name="palletCode"></param>
+ /// <returns></returns>
+ public async Task<WebResponseContent> ERPMixedSend(string palletCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ DtStockInfo stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == palletCode);
+ Allocate allocate = new Allocate
+ {
+ context = new Context
+ {
+ CultureName = "zh-CN",
+ EntCode = "001",
+ OrgCode = "102",
+ UserCode = "MH0551"
+ },
+ documentTypeCode = "TransIn002",
+ businessDate = DateTime.Now.ToString("yyyy-MM-dd"),
+ isApproved = true,
+ transferInList = stock.StockInfoDetails.Select(item => new transferInList
+ {
+ ItemCode = item.MaterielCode,
+ TransInWHCode = item.Warehouse,
+ TransInQty = item.Quantity,
+ TransOutWHCode = "001",
+ }).ToList()
+ };
+ return content.OK(data: allocate);
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+ /// <summary>
+ /// 鏉傛敹
+ /// </summary>
+ /// <param name="palletCode"></param>
+ /// <returns></returns>
+ public async Task<WebResponseContent> ERPMixedReceive(string palletCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ DtStockInfo stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == palletCode);
+ Allocate allocate = new Allocate
+ {
+ context = new Context
+ {
+ CultureName = "zh-CN",
+ EntCode = "001",
+ OrgCode = "102",
+ UserCode = "MH0551"
+ },
+ documentTypeCode = "TransIn002",
+ businessDate = DateTime.Now.ToString("yyyy-MM-dd"),
+ isApproved = true,
+
+ transferInList = stock.StockInfoDetails.Select(item => new transferInList
+ {
+ ItemCode = item.MaterielCode,
+ TransInWHCode = item.Warehouse,
+ TransInQty = item.Quantity,
+ TransOutWHCode = "001",
+ }).ToList()
+ };
+ return content.OK(data: allocate);
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
+ /// <summary>
+ /// 閫�鏂�
+ /// </summary>
+ /// <param name="palletCode"></param>
+ /// <returns></returns>
+ public async Task<WebResponseContent> ERPreturnMaterialList(string palletCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ DtStockInfo stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == palletCode);
+ Allocate allocate = new Allocate
+ {
+ context = new Context
+ {
+ CultureName = "zh-CN",
+ EntCode = "001",
+ OrgCode = "102",
+ UserCode = "MH0551"
+ },
+ documentTypeCode = "TransIn002",
+ businessDate = DateTime.Now.ToString("yyyy-MM-dd"),
+ isApproved = true,
+
+ transferInList = stock.StockInfoDetails.Select(item => new transferInList
+ {
+ ItemCode = item.MaterielCode,
+ TransInWHCode = item.Warehouse,
+ TransInQty = item.Quantity,
+ TransOutWHCode = "001",
+ }).ToList()
+ };
+ return content.OK(data: allocate);
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ }
#endregion
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 c35f50a..bb09319 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"
@@ -18,9 +18,9 @@
/// <param name="materielCode"></param>
/// <returns></returns>
[HttpPost, HttpGet, Route("GetStockSelectViews"), AllowAnonymous]
- public List<StockSelectViewDTO> GetStockSelectViews(string materielCode)
+ public List<StockSelectViewDTO> GetStockSelectViews([FromBody]GetStockSelectViewDto viewDto)
{
- return Service.GetStockSelectViews(materielCode);
+ return Service.GetStockSelectViews(viewDto);
}
/// <summary>
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"
new file mode 100644
index 0000000..6deb3d1
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/AllocateOutboundOrderController.cs"
@@ -0,0 +1,52 @@
+锘縰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/AllocateOutboundOrder")]
+ [ApiController]
+ public class AllocateOutboundOrderController : ApiBaseController<IDt_AllocateOutboundOrderService, Dt_AllocateOutboundOrder>
+ {
+ private readonly IHttpContextAccessor _httpContextAccessor;
+ public AllocateOutboundOrderController(IDt_AllocateOutboundOrderService service, IHttpContextAccessor httpContextAccessor) : base(service)
+ {
+ _httpContextAccessor = httpContextAccessor;
+ }
+
+ /// <summary>
+ /// 鑾峰彇鍑哄簱鍗曟嵁淇℃伅
+ /// </summary>
+ /// <param name="outboundOrderGetDTO"></param>
+ /// <returns></returns>
+ [HttpPost, AllowAnonymous, Route("GetAllocateOutboundOrder")]
+ public WebResponseContent GetAllocateOutboundOrder([FromBody] OutboundOrderGetDTO outboundOrderGetDTO)
+ {
+ return Service.GetAllocateOutboundOrder(outboundOrderGetDTO);
+ }
+
+ [HttpPost, HttpGet, AllowAnonymous, Route("GetAllocateOutboundOrderDetail")]
+ public WebResponseContent GetAllocateOutboundOrderDetail([FromBody] OutboundOrderGetDTO outboundOrderGetDTO)
+ {
+ return Service.GetAllocateOutboundOrderDetail(outboundOrderGetDTO);
+ }
+ /// <summary>
+ /// 鏍规嵁璇锋眰鍑哄簱浠诲姟
+ /// </summary>
+ /// <param name="requestOut"></param>
+ /// <returns></returns>
+ [HttpPost, HttpGet, Route("GenerateAllocateOutboundTask"), AllowAnonymous]
+ public Task<WebResponseContent> GenerateAllocateOutboundTask(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/AllocateOutboundOrderDetailController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/AllocateOutboundOrderDetailController.cs"
new file mode 100644
index 0000000..ed7f49e
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/AllocateOutboundOrderDetailController.cs"
@@ -0,0 +1,24 @@
+锘縰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/AllocateOutboundOrderDetail")]
+ [ApiController]
+ public class AllocateOutboundOrderDetailController : ApiBaseController<IDt_AllocateOutboundOrderDetailService, Dt_AllocateOutboundOrderDetail>
+ {
+ private readonly IHttpContextAccessor _httpContextAccessor;
+ public AllocateOutboundOrderDetailController(IDt_AllocateOutboundOrderDetailService 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/InventoryOutboundOrderController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InventoryOutboundOrderController.cs"
new file mode 100644
index 0000000..b866586
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InventoryOutboundOrderController.cs"
@@ -0,0 +1,52 @@
+锘縰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"
new file mode 100644
index 0000000..2be5ce0
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/InventoryOutboundOrderDetailController.cs"
@@ -0,0 +1,24 @@
+锘縰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"
new file mode 100644
index 0000000..fcea740
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OtherOutboundOrderController.cs"
@@ -0,0 +1,53 @@
+锘縰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/OutboundOrderDetailController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OtherOutboundOrderDetailController.cs"
similarity index 61%
rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OutboundOrderDetailController.cs"
rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OtherOutboundOrderDetailController.cs"
index 521b9a1..ea18d4f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OutboundOrderDetailController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OtherOutboundOrderDetailController.cs"
@@ -10,12 +10,12 @@
namespace WIDESEA_WMSServer.Controllers
{
- [Route("api/OutboundOrderDetail")]
+ [Route("api/OtherOutboundOrderDetail")]
[ApiController]
- public class OutboundOrderDetailController : ApiBaseController<IDt_OutboundOrderDetailService, Dt_OutboundOrderDetail>
+ public class OtherOutboundOrderDetailController : ApiBaseController<IDt_OtherOutboundOrderDetailService, Dt_OtherOutboundOrderDetail>
{
private readonly IHttpContextAccessor _httpContextAccessor;
- public OutboundOrderDetailController(IDt_OutboundOrderDetailService service, IHttpContextAccessor httpContextAccessor) : base(service)
+ 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/OutboundOrderController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OutboundOrderController.cs"
deleted file mode 100644
index 56d298f..0000000
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/OutboundOrderController.cs"
+++ /dev/null
@@ -1,41 +0,0 @@
-锘縰sing Microsoft.AspNetCore.Mvc;
-using WIDESEA_BusinessServices;
-using WIDESEA_Core.BaseController;
-using WIDESEA_DTO.Order;
-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/OutboundOrder")]
- [ApiController]
- public class OutboundOrderController : ApiBaseController<IDt_OutboundOrderService, Dt_OutboundOrder>
- {
- private readonly IHttpContextAccessor _httpContextAccessor;
- public OutboundOrderController(IDt_OutboundOrderService service, IHttpContextAccessor httpContextAccessor) : base(service)
- {
- _httpContextAccessor = httpContextAccessor;
- }
-
- /// <summary>
- /// 鑾峰彇鍑哄簱鍗曟嵁淇℃伅
- /// </summary>
- /// <param name="outboundOrderGetDTO"></param>
- /// <returns></returns>
- [HttpPost, AllowAnonymous, Route("GetOutboundOrder")]
- public WebResponseContent GetOutboundOrder([FromBody]OutboundOrderGetDTO outboundOrderGetDTO)
- {
- return Service.GetOutboundOrder(outboundOrderGetDTO);
- }
-
- [HttpPost, AllowAnonymous, Route("GetOutboundOrderDetail")]
- public WebResponseContent GetOutboundOrder(int id)
- {
- return Service.GetOutboundOrder(id);
- }
- }
-}
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"
new file mode 100644
index 0000000..99e461e
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/ProductionOutboundOrderController.cs"
@@ -0,0 +1,51 @@
+锘縰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/ProductionOutboundOrder")]
+ [ApiController]
+ public class ProductionOutboundOrderController : ApiBaseController<IDt_ProductionOutboundOrderService, Dt_ProductionOutboundOrder>
+ {
+ private readonly IHttpContextAccessor _httpContextAccessor;
+ public ProductionOutboundOrderController(IDt_ProductionOutboundOrderService service, IHttpContextAccessor httpContextAccessor) : base(service)
+ {
+ _httpContextAccessor = httpContextAccessor;
+ }
+ /// <summary>
+ /// 鑾峰彇鍑哄簱鍗曟嵁淇℃伅
+ /// </summary>
+ /// <param name="outboundOrderGetDTO"></param>
+ /// <returns></returns>
+ [HttpPost, AllowAnonymous, Route("GetProductOutboundOrder")]
+ public WebResponseContent GetProductOutboundOrder([FromBody] OutboundOrderGetDTO outboundOrderGetDTO)
+ {
+ return Service.GetProductOutboundOrder(outboundOrderGetDTO);
+ }
+
+ [HttpPost, HttpGet, AllowAnonymous, Route("GettProductOutboundOrderDetail")]
+ public WebResponseContent GettProductOutboundOrderDetail([FromBody] OutboundOrderGetDTO outboundOrderGetDTO)
+ {
+ return Service.GettProductOutboundOrderDetail(outboundOrderGetDTO);
+ }
+ /// <summary>
+ /// 鏍规嵁璇锋眰鍑哄簱浠诲姟
+ /// </summary>
+ /// <param name="requestOut"></param>
+ /// <returns></returns>
+ [HttpPost, HttpGet, Route("GeneratetProductOutboundTask"), AllowAnonymous]
+ public Task<WebResponseContent> GeneratetProductOutboundTask(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/Order/ProductionOutboundOrderDetailController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/ProductionOutboundOrderDetailController.cs"
new file mode 100644
index 0000000..a93b87e
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Order/ProductionOutboundOrderDetailController.cs"
@@ -0,0 +1,24 @@
+锘縰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/ProductionOutboundOrderDetail")]
+ [ApiController]
+ public class ProductionOutboundOrderDetailController : ApiBaseController<IDt_ProductionOutboundOrderDetailService, Dt_ProductionOutboundOrderDetail>
+ {
+ private readonly IHttpContextAccessor _httpContextAccessor;
+ public ProductionOutboundOrderDetailController(IDt_ProductionOutboundOrderDetailService 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/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 41cf112..6970330 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"
@@ -152,8 +152,8 @@
[HttpPost, AllowAnonymous, Route("SendERPTaskCompletion")]
[TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })]
- public Task<WebResponseContent> SendERPTaskCompletion(string palletCode)
+ public Task<WebResponseContent> ERPAllocate(string palletCode)
{
- return Service.SendERPTaskCompletion(palletCode);
+ return Service.ERPAllocate(palletCode);
}
}
\ No newline at end of file
--
Gitblit v1.9.3